mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 14:38:01 +02:00
* Bulma components, fixes in stubs
This commit is contained in:
parent
ba8d995dab
commit
77c1d9b1f2
@ -1,2 +1,2 @@
|
||||
#!/bin/sh
|
||||
exec ../../../../tools/lazres ../pas2jsc_images.res tsqldbrestconnection.png thtmlelementactionlist.png tsqldbrestdataset.png tbootstrapmodal*.png tbootstraptoastwidget*.png ttemplateloader*.png tlocaljsondataset*.png tdbbootstraptablewidget*.png tdblooptemplatewidget*.png tdbselectwidget*.png
|
||||
exec ../../../../tools/lazres ../pas2jsc_images.res tsqldbrestconnection.png thtmlelementactionlist.png tsqldbrestdataset.png tbootstrapmodal*.png tbootstraptoastwidget*.png ttemplateloader*.png tlocaljsondataset*.png tdbbootstraptablewidget*.png tdblooptemplatewidget*.png tdbselectwidget*.png tbulma*.png
|
||||
|
BIN
components/pas2js/components/images/tbulmamodal.png
Normal file
BIN
components/pas2js/components/images/tbulmamodal.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 366 B |
BIN
components/pas2js/components/images/tbulmamodal_150.png
Normal file
BIN
components/pas2js/components/images/tbulmamodal_150.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 517 B |
BIN
components/pas2js/components/images/tbulmamodal_200.png
Normal file
BIN
components/pas2js/components/images/tbulmamodal_200.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 489 B |
BIN
components/pas2js/components/images/tbulmatoastwidget.png
Normal file
BIN
components/pas2js/components/images/tbulmatoastwidget.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 591 B |
BIN
components/pas2js/components/images/tbulmatoastwidget_150.png
Normal file
BIN
components/pas2js/components/images/tbulmatoastwidget_150.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 887 B |
BIN
components/pas2js/components/images/tbulmatoastwidget_200.png
Normal file
BIN
components/pas2js/components/images/tbulmatoastwidget_200.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
@ -112,6 +112,11 @@
|
||||
</Item>
|
||||
<Item>
|
||||
<Filename Value="stubs/stub.htmlwidgets.pp"/>
|
||||
<UnitName Value="stub.htmlwidgets"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<Filename Value="stubs/stub.bulmawidgets.pas"/>
|
||||
<UnitName Value="stub.bulmawidgets"/>
|
||||
</Item>
|
||||
</Files>
|
||||
<RequiredPkgs>
|
||||
|
@ -14,7 +14,7 @@ uses
|
||||
stub.web, stub.bootstrapwidgets, frmpas2jsedithtml, p2jselementactions,
|
||||
Stub.Data.HTMLActions, frmselecthtmlactions, stub.jsondataset,
|
||||
stub.bootstraptablewidget, stub.dbwebwidget, stub.dbhtmlwidgets,
|
||||
stub.htmlwidgets, LazarusPackageIntf;
|
||||
stub.htmlwidgets, stub.bulmawidgets, LazarusPackageIntf;
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -7,7 +7,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, ProjectIntf, PropEdits, ComponentEditors, fpjsondataset, dbpropedits,
|
||||
db, stub.htmlfragment, stub.htmlactions, stub.data.htmlactions, stub.restdataset,
|
||||
stub.webwidget, stub.bootstrapwidgets, stub.bootstraptablewidget,
|
||||
stub.webwidget, stub.bootstrapwidgets, stub.bootstraptablewidget, stub.bulmawidgets,
|
||||
stub.templateloader, stub.jsondataset, stub.dbwebwidget, stub.dbhtmlwidgets;
|
||||
|
||||
Type
|
||||
@ -237,6 +237,13 @@ Type
|
||||
Procedure RequiredUnits(Units: TStrings); override;
|
||||
end;
|
||||
|
||||
{ TBulmaWidgetRequirements }
|
||||
|
||||
TBulmaWidgetRequirements = Class(TComponentRequirements)
|
||||
public
|
||||
Procedure RequiredUnits(Units: TStrings); override;
|
||||
end;
|
||||
|
||||
{ TLogBridge }
|
||||
|
||||
TLogBridge = Class(TObject)
|
||||
@ -279,6 +286,8 @@ begin
|
||||
RegisterComponentRequirements(TDBHTMLButtonElementAction,TDBElementActionRequirements);
|
||||
RegisterComponentRequirements(TBootstrapModal,THTMLBootstrapWidgetRequirements);
|
||||
RegisterComponentRequirements(TBootstrapToastWidget,THTMLBootstrapWidgetRequirements);
|
||||
RegisterComponentRequirements(TBulmaModal,TBulmaWidgetRequirements);
|
||||
RegisterComponentRequirements(TBulmaToastWidget,TBulmaWidgetRequirements);
|
||||
RegisterComponentRequirements(TTemplateLoader,TRTLTemplateLoaderRequirements);
|
||||
RegisterComponentRequirements(TLocalJSONDataset,TJSONDatasetRequirements);
|
||||
RegisterComponentRequirements(TDBBootstrapTableWidget,TDBBootstrapTableWidgetRequirements);
|
||||
@ -321,6 +330,13 @@ begin
|
||||
RegisterPropertyEditor(TypeInfo(string),TBSTableColumn, 'FieldName', TBSColumnFieldProperty);
|
||||
RegisterPropertyEditor(TypeInfo(string),TBSTableColumn, 'WidthUnits', TWidthUnitsProperty);
|
||||
RegisterPropertyEditor(TypeInfo(string),TBSTableColumn, 'ButtonURLTarget', TTargetProperty);
|
||||
//
|
||||
RegisterPropertyEditor(TypeInfo(String),TBulmaModal,'ParentID',TElementIDPropertyEditor);
|
||||
RegisterPropertyEditor(TypeInfo(String),TBulmaModal,'ElementID',TElementIDPropertyEditor);
|
||||
RegisterPropertyEditor(TypeInfo(String),TBulmaModal,'Template',TTemplatePropertyEditor);
|
||||
RegisterPropertyEditor(TypeInfo(String),TBulmaToastWidget,'Header',TTemplatePropertyEditor);
|
||||
RegisterPropertyEditor(TypeInfo(String),TBulmaToastWidget,'Body',TTemplatePropertyEditor);
|
||||
|
||||
// Maybe make a THTMLFragmentString = type string
|
||||
// Same for ElementID/ParentID : TDOMIDString = type string
|
||||
RegisterPropertyEditor(TypeInfo(String),TCustomLoopTemplateWidget,'HeaderTemplate',THTMLFragmentPropertyEditor);
|
||||
@ -366,6 +382,7 @@ procedure register;
|
||||
|
||||
begin
|
||||
RegisterComponents('Pas2js',[THTMLElementActionList,TBootstrapModal,TBootstrapToastWidget,TTemplateLoader]);
|
||||
RegisterComponents('Pas2js Bulma',[TBulmaModal,TBulmaToastWidget]);
|
||||
RegisterComponents('Pas2js Data Access',[TSQLDBRestConnection,TSQLDBRestDataset,TLocalJSONDataset]);
|
||||
RegisterComponents('Pas2js Data Controls',[TDBBootstrapTableWidget,TDBLoopTemplateWidget,TDBSelectWidget]);
|
||||
RegisterClasses([TJSONDateField, TJSONTimeField, TJSONDateTimeField]);
|
||||
@ -378,6 +395,13 @@ begin
|
||||
RegisterRESTHandling;
|
||||
end;
|
||||
|
||||
{ TBulmaWidgetRequirements }
|
||||
|
||||
procedure TBulmaWidgetRequirements.RequiredUnits(Units: TStrings);
|
||||
begin
|
||||
Units.text:='bulmawidgets';
|
||||
end;
|
||||
|
||||
{ TSelectFieldProperty }
|
||||
|
||||
procedure TDBSelectFieldProperty.FillValues(const Values: TStringList);
|
||||
|
@ -545,7 +545,6 @@ function TDataTablesFieldMap.GetValueByName(S: String): JSValue;
|
||||
begin
|
||||
if S<>'' then;
|
||||
Result:='';
|
||||
//
|
||||
end;
|
||||
|
||||
end.
|
||||
|
490
components/pas2js/components/stubs/stub.bulmawidgets.pas
Normal file
490
components/pas2js/components/stubs/stub.bulmawidgets.pas
Normal file
@ -0,0 +1,490 @@
|
||||
unit stub.bulmawidgets;
|
||||
|
||||
{$mode objfpc}
|
||||
{$h+}
|
||||
{ $modeswitch externalclass}
|
||||
|
||||
Interface
|
||||
|
||||
uses
|
||||
Stub.web,
|
||||
SysUtils,
|
||||
Classes,
|
||||
stub.templateloader,
|
||||
stub.webwidget;
|
||||
|
||||
Const
|
||||
DefaultClose = 'DefaultCloseClicks';
|
||||
|
||||
Type
|
||||
|
||||
{ TBulmaModal }
|
||||
TOnModalHideEvent = Procedure (Sender : TObject; CloseEl : TJSHTMLElement; Values : TStrings) of object;
|
||||
|
||||
TModalItemKind = (mikValue,mikClose);
|
||||
|
||||
{ TModalReferenceItem }
|
||||
|
||||
TModalReferenceItem = Class(TReferenceItem)
|
||||
private
|
||||
FInitialValue: String;
|
||||
FKind: TModalItemKind;
|
||||
Protected
|
||||
Public
|
||||
Procedure Assign(Source : TPersistent); override;
|
||||
Published
|
||||
Property Kind : TModalItemKind Read FKind Write FKind;
|
||||
Property InitialValue : String Read FInitialValue Write FInitialValue;
|
||||
end;
|
||||
|
||||
{ TModalReferences }
|
||||
|
||||
TModalReferences = Class(TWebWidgetReferences)
|
||||
private
|
||||
function GetMR(aIndex : Integer): TModalReferenceItem;
|
||||
procedure SetMR(aIndex : Integer; AValue: TModalReferenceItem);
|
||||
Public
|
||||
Property ModalRefs[aIndex : Integer] : TModalReferenceItem Read GetMR Write SetMR; default;
|
||||
end;
|
||||
|
||||
TBulmaModal = Class(TCustomWebWidget)
|
||||
private
|
||||
FBackDrop: Boolean;
|
||||
FFocus: Boolean;
|
||||
FKeyBoard: Boolean;
|
||||
FOnHide: TOnModalHideEvent;
|
||||
FShowOnRender: Boolean;
|
||||
FTemplate: String;
|
||||
FTemplateLoader: TCustomTemplateLoader;
|
||||
FTemplateName: String;
|
||||
FRemoveOnHide: Boolean;
|
||||
FOKButtonName: String;
|
||||
FCancelButtonName: String;
|
||||
FCloseButtonName: String;
|
||||
FOnRender: TNotifyEvent;
|
||||
FOnShow: TNotifyEvent;
|
||||
function GetModalReferences: TModalReferences;
|
||||
procedure SetModalReferences(AValue: TModalReferences);
|
||||
procedure SetTemplateLoader(AValue: TCustomTemplateLoader);
|
||||
protected
|
||||
function CreateReferences: TWebWidgetReferences; override;
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
Public
|
||||
Constructor Create(aOwner : TComponent); override;
|
||||
Destructor Destroy; override;
|
||||
Published
|
||||
Property ParentID;
|
||||
Property ElementID;
|
||||
Property Styles;
|
||||
Property StyleRefresh;
|
||||
Property References : TModalReferences Read GetModalReferences Write SetModalReferences;
|
||||
Property ShowOnRender: Boolean Read FShowOnRender Write FShowOnrender default False;
|
||||
Property RemoveOnHide : Boolean Read FRemoveOnHide Write FRemoveOnHide default True;
|
||||
Property BackDrop : Boolean Read FBackDrop Write FBackDrop default false;
|
||||
Property KeyBoard : Boolean Read FKeyBoard Write FKeyBoard default false;
|
||||
Property Focus : Boolean Read FFocus Write FFocus default false;
|
||||
Property OKButtonName : String Read FOKButtonName write FOKButtonName;
|
||||
Property CancelButtonName : String Read FCancelButtonName Write FCancelButtonName;
|
||||
Property CloseButtonName : String Read FCloseButtonName Write FCloseButtonName;
|
||||
// Template gets precedence over templatename;
|
||||
Property Template : String Read FTemplate Write FTemplate;
|
||||
Property TemplateName : String Read FTemplateName Write FTemplateName;
|
||||
Property TemplateLoader : TCustomTemplateLoader Read FTemplateLoader Write SetTemplateLoader;
|
||||
Property OnHide : TOnModalHideEvent Read FOnHide Write FOnHide;
|
||||
Property OnRender : TNotifyEvent Read FOnRender Write FOnRender;
|
||||
Property OnShow : TNotifyEvent Read FOnShow Write FOnShow;
|
||||
end;
|
||||
|
||||
{ TSimpleToastWidget }
|
||||
TContextual = (cNone,
|
||||
cPrimary,cLink,cInfo,cSuccess,cWarning,cDanger,
|
||||
cWhite,cLight,cDark,cBlack,cText,cGhost);
|
||||
TToastPosition = (tpDefault,
|
||||
tpTopRight,tpTopLeft,tpTopCenter,
|
||||
tpBottomRight,tpBottomLeft,tpBottomCenter,
|
||||
tpCenter);
|
||||
|
||||
// Single toast message
|
||||
|
||||
TBaseBulmaToastWidget = Class(TCustomWebWidget)
|
||||
private
|
||||
FAnimate: Boolean;
|
||||
FAutoHide: Boolean;
|
||||
FBody: String;
|
||||
FBoolean: Boolean;
|
||||
FContextual: TContextual;
|
||||
FHeader: String;
|
||||
FHeaderImage: String;
|
||||
FHideDelay: Integer;
|
||||
FMinWidth: Integer;
|
||||
FSingle: Boolean;
|
||||
FPosition: TToastPosition;
|
||||
procedure SetAnimate(AValue: Boolean);
|
||||
procedure SetAutoHide(AValue: Boolean);
|
||||
procedure SetBody(AValue: String);
|
||||
procedure SetBoolean(AValue: Boolean);
|
||||
procedure SetContextual(AValue: TContextual);
|
||||
procedure SetHeader(AValue: String);
|
||||
procedure SetHeaderImage(AValue: String);
|
||||
procedure SetHideDelay(AValue: Integer);
|
||||
procedure SetMinWidth(AValue: Integer);
|
||||
Protected
|
||||
FElement : TJSHTMLElement;
|
||||
function BodyHTML: String; virtual;
|
||||
function HeaderHTML: String; virtual;
|
||||
Public
|
||||
Constructor Create(aOwner : TComponent); override;
|
||||
Procedure Refresh;
|
||||
procedure Hide;
|
||||
Protected
|
||||
Property Header : String Read FHeader Write SetHeader;
|
||||
Property Body : String Read FBody Write SetBody;
|
||||
Property HeaderImage : String Read FHeaderImage Write SetHeaderImage;
|
||||
Property CloseButton : Boolean Read FBoolean Write SetBoolean;
|
||||
Property Contextual : TContextual Read FContextual write SetContextual;
|
||||
Property HideDelay : Integer Read FHideDelay Write SetHideDelay default 2000;
|
||||
Property AutoHide : Boolean Read FAutoHide Write SetAutoHide default True;
|
||||
Property Animate : Boolean Read FAnimate Write SetAnimate default False;
|
||||
Property MinWidth : Integer Read FMinWidth Write SetMinWidth default 200;
|
||||
Property Single : Boolean Read FSingle Write FSingle;
|
||||
Property Position : TToastPosition Read FPosition Write FPosition default tpTopRight;
|
||||
end;
|
||||
|
||||
TBulmaToastWidget = class(TBaseBulmaToastWidget)
|
||||
Property ParentID;
|
||||
Property ElementID;
|
||||
Property Header;
|
||||
Property Body;
|
||||
Property HeaderImage;
|
||||
Property CloseButton;
|
||||
Property Contextual;
|
||||
Property HideDelay;
|
||||
Property AutoHide;
|
||||
Property Animate;
|
||||
Property MinWidth;
|
||||
Property Single;
|
||||
Property Position;
|
||||
end;
|
||||
|
||||
// Encapsulates the global tag where the toasts are shown.
|
||||
|
||||
{ TToastManager }
|
||||
|
||||
TToastManager = Class(TComponent)
|
||||
Private
|
||||
class var
|
||||
_instance : TToastManager;
|
||||
_ToastID : NativeInt;
|
||||
Private
|
||||
FAnimate: Boolean;
|
||||
FAutoHide: Boolean;
|
||||
FHideDelay: Integer;
|
||||
FMinheight: Integer;
|
||||
FMinWidth: Integer;
|
||||
FMultiToast: Boolean;
|
||||
FToastIcon: String;
|
||||
FParentID: String;
|
||||
FToastPosition: TToastPosition;
|
||||
procedure SetMinHeight(AValue: Integer);
|
||||
procedure SetMultiToast(AValue: Boolean);
|
||||
procedure SetParentID(const Value: String);
|
||||
class function CreateElement(aTag : String; aID: String = ''): TJSHTMLElement; static;
|
||||
Public
|
||||
Constructor Create(aOwner : TComponent); override;
|
||||
class function Instance : TToastManager;
|
||||
Class Function getToastID : String;
|
||||
Procedure clear;
|
||||
function ShowToast(const aHeader, aBody: String; aContext: TContextual=cNone; Closable: Boolean=True; aDelay : Integer = 0): TBaseBulmaToastWidget;
|
||||
Published
|
||||
Property ParentID : String Read FParentID Write SetParentID;
|
||||
Property MultiToast : Boolean Read FMultiToast Write SetMultiToast;
|
||||
Property MinHeight : Integer Read FMinheight Write SetMinHeight default 250;
|
||||
Property ToastHideDelay : Integer Read FHideDelay Write FHideDelay default 2000;
|
||||
Property ToastAutoHide : Boolean Read FAutoHide Write FAutoHide default True;
|
||||
Property ToastAnimate : Boolean Read FAnimate Write FAnimate default False;
|
||||
Property ToastMinWidth : Integer Read FMinWidth Write FMinWidth default 200;
|
||||
Property ToastIcon : String Read FToastIcon Write FToastIcon;
|
||||
Property ToastPosition : TToastPosition Read FToastPosition Write FToastPosition;
|
||||
end;
|
||||
|
||||
Const
|
||||
ContextualNames : Array[TContextual] of string
|
||||
= ('','primary','link','info','success','warning','danger',
|
||||
'white','light','dark','black','text','ghost');
|
||||
ToastPositionNames : Array[TToastPosition] of string =
|
||||
('top-right','top-right','top-left','top-center',
|
||||
'bottom-right','bottom-left','bottom-center',
|
||||
'center');
|
||||
|
||||
Function Toasts : TToastManager;
|
||||
|
||||
Implementation
|
||||
|
||||
{ TModalReferenceItem }
|
||||
|
||||
procedure TModalReferenceItem.Assign(Source: TPersistent);
|
||||
|
||||
Var
|
||||
MRI : TModalReferenceItem absolute Source;
|
||||
|
||||
begin
|
||||
if Source is TModalReferenceItem then
|
||||
begin
|
||||
Self.Kind:=MRI.Kind;
|
||||
Self.InitialValue:=MRI.InitialValue;
|
||||
end;
|
||||
inherited Assign(Source);
|
||||
end;
|
||||
|
||||
|
||||
{ TModalReferences }
|
||||
|
||||
function TModalReferences.GetMR(aIndex : Integer): TModalReferenceItem;
|
||||
begin
|
||||
Result:=TModalReferenceItem(Items[aIndex])
|
||||
end;
|
||||
|
||||
procedure TModalReferences.SetMR(aIndex : Integer; AValue: TModalReferenceItem);
|
||||
begin
|
||||
Items[aIndex]:=aValue;
|
||||
end;
|
||||
|
||||
|
||||
{ TBulmaModal }
|
||||
|
||||
|
||||
procedure TBulmaModal.SetModalReferences(AValue: TModalReferences);
|
||||
begin
|
||||
References.Assign(aValue);
|
||||
end;
|
||||
|
||||
procedure TBulmaModal.SetTemplateLoader(AValue: TCustomTemplateLoader);
|
||||
begin
|
||||
if FTemplateLoader=AValue then Exit;
|
||||
if assigned(FTemplateLoader) then
|
||||
FTemplateLoader.RemoveFreeNotification(Self);
|
||||
FTemplateLoader:=AValue;
|
||||
if assigned(FTemplateLoader) then
|
||||
FTemplateLoader.FreeNotification(Self);
|
||||
end;
|
||||
|
||||
|
||||
function TBulmaModal.CreateReferences: TWebWidgetReferences;
|
||||
begin
|
||||
Result:=TModalReferences.Create(Self,TModalReferenceItem);
|
||||
end;
|
||||
|
||||
procedure TBulmaModal.Notification(AComponent: TComponent; Operation: TOperation
|
||||
);
|
||||
begin
|
||||
inherited Notification(AComponent, Operation);
|
||||
if (Operation=opRemove) and (aComponent=TemplateLoader) then
|
||||
FTemplateLoader:=Nil;
|
||||
end;
|
||||
|
||||
|
||||
destructor TBulmaModal.Destroy;
|
||||
begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
|
||||
constructor TBulmaModal.Create(aOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
FRemoveOnHide:=True;
|
||||
end;
|
||||
|
||||
|
||||
function TBulmaModal.GetModalReferences: TModalReferences;
|
||||
begin
|
||||
Result:=TModalReferences(Inherited References);
|
||||
end;
|
||||
|
||||
|
||||
{ TBulmaToast }
|
||||
|
||||
function Toasts: TToastManager;
|
||||
begin
|
||||
Result:=TToastManager.Instance;
|
||||
end;
|
||||
|
||||
{ TToastManager }
|
||||
|
||||
class function TToastManager.Instance: TToastManager;
|
||||
begin
|
||||
if _instance=Nil then
|
||||
_instance:=TToastManager.Create(Nil);
|
||||
Result:=_instance;
|
||||
end;
|
||||
|
||||
|
||||
procedure TToastManager.SetMinHeight(AValue: Integer);
|
||||
begin
|
||||
if FMinheight=AValue then Exit;
|
||||
FMinheight:=AValue;
|
||||
end;
|
||||
|
||||
procedure TToastManager.SetMultiToast(AValue: Boolean);
|
||||
begin
|
||||
if FMultiToast=AValue then Exit;
|
||||
FMultiToast:=AValue;
|
||||
end;
|
||||
|
||||
procedure TToastManager.SetParentID(const Value: String);
|
||||
begin
|
||||
FParentID:=Value;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
class function TToastManager.getToastID: String;
|
||||
begin
|
||||
Inc(_ToastID);
|
||||
Result:='toast-'+intToStr(_ToastID);
|
||||
end;
|
||||
|
||||
Class Function TToastManager.CreateElement(aTag : String; aID : String = '') : TJSHTMLElement;
|
||||
|
||||
begin
|
||||
Result:=nil;
|
||||
if aTag='' then;
|
||||
if aID='' then;
|
||||
end;
|
||||
|
||||
|
||||
procedure TToastManager.clear;
|
||||
begin
|
||||
end;
|
||||
|
||||
constructor TToastManager.Create(aOwner: TComponent);
|
||||
begin
|
||||
inherited Create(aOwner);
|
||||
FMinHeight:=250;
|
||||
FMinWidth:=200;
|
||||
FMultiToast:=True;
|
||||
FHideDelay:=2000;
|
||||
FAutoHide:=True;
|
||||
FAnimate:=False;
|
||||
end;
|
||||
|
||||
function TToastManager.ShowToast(const aHeader, aBody: String; aContext : TContextual = cNone; Closable: Boolean = True; aDelay : Integer = 0): TBaseBulmaToastWidget;
|
||||
|
||||
|
||||
begin
|
||||
if aHeader=aBody then;
|
||||
if aContext<>cnone then;
|
||||
if closable then;
|
||||
if aDelay=0 then;
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
{ TBaseBulmaToastWidget }
|
||||
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetBody(AValue: String);
|
||||
begin
|
||||
if FBody=AValue then Exit;
|
||||
FBody:=AValue;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetAnimate(AValue: Boolean);
|
||||
begin
|
||||
if FAnimate=AValue then Exit;
|
||||
FAnimate:=AValue;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetAutoHide(AValue: Boolean);
|
||||
begin
|
||||
if FAutoHide=AValue then Exit;
|
||||
FAutoHide:=AValue;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetBoolean(AValue: Boolean);
|
||||
begin
|
||||
if FBoolean=AValue then Exit;
|
||||
FBoolean:=AValue;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetContextual(AValue: TContextual);
|
||||
begin
|
||||
if FContextual=AValue then Exit;
|
||||
FContextual:=AValue;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetHeader(AValue: String);
|
||||
begin
|
||||
if FHeader=AValue then Exit;
|
||||
FHeader:=AValue;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetHeaderImage(AValue: String);
|
||||
begin
|
||||
if FHeaderImage=AValue then Exit;
|
||||
FHeaderImage:=AValue;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetHideDelay(AValue: Integer);
|
||||
begin
|
||||
if FHideDelay=AValue then Exit;
|
||||
FHideDelay:=AValue;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.SetMinWidth(AValue: Integer);
|
||||
begin
|
||||
if FMinWidth=AValue then Exit;
|
||||
FMinWidth:=AValue;
|
||||
end;
|
||||
|
||||
|
||||
function TBaseBulmaToastWidget.HeaderHTML: String;
|
||||
|
||||
Var
|
||||
S : String;
|
||||
|
||||
begin
|
||||
Result:='';
|
||||
if (Header='') and (HeaderImage='') then
|
||||
exit;
|
||||
S:=ContextualNames[Contextual];
|
||||
if S<>'' then
|
||||
S:=' is-'+S;
|
||||
Result:='<p class="title is-6 is-small">';
|
||||
if HeaderImage<>'' then
|
||||
Result:=Result+'<img src="'+HeaderImage+'" class="icon is-small">';
|
||||
Result:=Result+Header;
|
||||
Result:=Result+'</p>'
|
||||
end;
|
||||
|
||||
|
||||
function TBaseBulmaToastWidget.BodyHTML: String;
|
||||
|
||||
begin
|
||||
Result:='<div class="message-body is-light">';
|
||||
Result:=Result+HeaderHTML;
|
||||
Result:=Result+'<p>'+Body+'</p>';
|
||||
Result:=Result+'</div>';
|
||||
end;
|
||||
|
||||
|
||||
constructor TBaseBulmaToastWidget.Create(aOwner: TComponent);
|
||||
begin
|
||||
inherited Create(aOwner);
|
||||
FMinWidth:=200;
|
||||
FAutoHide:=True;
|
||||
FHideDelay:=2000;
|
||||
FPosition:=tpTopRight;
|
||||
end;
|
||||
|
||||
procedure TBaseBulmaToastWidget.Hide;
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
|
||||
procedure TBaseBulmaToastWidget.Refresh;
|
||||
|
||||
Begin
|
||||
end;
|
||||
|
||||
end.
|
@ -20,7 +20,7 @@ unit stub.htmlwidgets;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, stub.webwidget, stub.js, stub.web;
|
||||
Classes, SysUtils, stub.webwidget, stub.web;
|
||||
|
||||
Type
|
||||
TTextMode = (tmText,tmHTML);
|
||||
|
@ -5,7 +5,7 @@ unit stub.jsondataset;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, db, fpjsondataset;
|
||||
Classes, SysUtils, fpjsondataset;
|
||||
|
||||
Type
|
||||
{ TCustomLocalJSONDataset }
|
||||
|
Loading…
Reference in New Issue
Block a user