pas2js/demo/modules/simple/classusingvar/htmlutilsdemo.lpr
Michaël Van Canneyt 8af3432c76 * More module demos
2022-03-05 17:49:35 +01:00

60 lines
1.4 KiB
ObjectPascal

program htmlutilsdemo;
{$mode objfpc}
{$linklib ./htmlutils.js utils}
{$modeswitch externalclass}
uses
JS, Web;
type
THTMLUtils = class external name 'Object' (TJSObject)
Public
DefaultClearID : String;
Procedure SetPageTitle(aTitle : String);
Procedure ClearPage(aBelowID : String);
end;
Var
BtnSetTitle,BtnClear : TJSHTMLButtonElement;
edtTitle,edtBelowID,cbUseDefaultClearID : TJSHTMLInputElement;
UtilsObj : THTMLUtils; external name 'utils.vars.Utils';
function DoSetTitle(aEvent: TJSMouseEvent): boolean;
begin
Result:=False;
UtilsObj.SetPageTitle(edtTitle.Value);
end;
function DoClear(aEvent: TJSMouseEvent): boolean;
begin
Result:=False;
if cbUseDefaultClearID.Checked then
begin
UtilsObj.DefaultClearID:=edtBelowID.value;
UtilsObj.ClearPage('');
end
else
begin
UtilsObj.DefaultClearID:='';
UtilsObj.ClearPage(edtBelowID.value);
end;
end;
Procedure BindElements;
begin
TJSElement(BtnSetTitle):=Document.getElementById('btnSetTitle');
BtnSetTitle.OnClick:=@DoSetTitle;
TJSElement(BtnClear):=Document.getElementById('btnClear');
BtnClear.onclick:=@DoClear;
TJSElement(edtTitle):=Document.getElementById('edtTitle');
TJSElement(edtBelowID):=Document.getElementById('edtBelowID');
TJSElement(cbUseDefaultClearID):=Document.getElementById('cbUseDefaultClearID');
end;
begin
BindElements;
end.