htmlutilsdemo.lpr 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. program htmlutilsdemo;
  2. {$mode objfpc}
  3. {$linklib ./htmlutils.js utils}
  4. {$modeswitch externalclass}
  5. uses
  6. JS, Web;
  7. type
  8. THTMLUtils = class external name 'Object' (TJSObject)
  9. Public
  10. DefaultClearID : String;
  11. Procedure SetPageTitle(aTitle : String);
  12. Procedure ClearPage(aBelowID : String);
  13. end;
  14. Var
  15. BtnSetTitle,BtnClear : TJSHTMLButtonElement;
  16. edtTitle,edtBelowID,cbUseDefaultClearID : TJSHTMLInputElement;
  17. UtilsObj : THTMLUtils; external name 'utils.vars.Utils';
  18. function DoSetTitle(aEvent: TJSMouseEvent): boolean;
  19. begin
  20. Result:=False;
  21. UtilsObj.SetPageTitle(edtTitle.Value);
  22. end;
  23. function DoClear(aEvent: TJSMouseEvent): boolean;
  24. begin
  25. Result:=False;
  26. if cbUseDefaultClearID.Checked then
  27. begin
  28. UtilsObj.DefaultClearID:=edtBelowID.value;
  29. UtilsObj.ClearPage('');
  30. end
  31. else
  32. begin
  33. UtilsObj.DefaultClearID:='';
  34. UtilsObj.ClearPage(edtBelowID.value);
  35. end;
  36. end;
  37. Procedure BindElements;
  38. begin
  39. TJSElement(BtnSetTitle):=Document.getElementById('btnSetTitle');
  40. BtnSetTitle.OnClick:=@DoSetTitle;
  41. TJSElement(BtnClear):=Document.getElementById('btnClear');
  42. BtnClear.onclick:=@DoClear;
  43. TJSElement(edtTitle):=Document.getElementById('edtTitle');
  44. TJSElement(edtBelowID):=Document.getElementById('edtBelowID');
  45. TJSElement(cbUseDefaultClearID):=Document.getElementById('cbUseDefaultClearID');
  46. end;
  47. begin
  48. BindElements;
  49. end.