mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-08-17 10:30:18 +02:00
* Change AfterApplyUpdates so it gets all resolveinfo from the batch
This commit is contained in:
parent
6adedb6ade
commit
00300a800d
@ -46,7 +46,7 @@ Type
|
||||
function DoEditRecord(aEvent: TJSMouseEvent): boolean;
|
||||
procedure DoGetURL(Sender: TComponent; aRequest: TDataRequest; Var aURL: String);
|
||||
procedure DoLoadFail(DataSet: TDataSet; ID: Integer; const ErrorMsg: String);
|
||||
procedure DSAfterApplyUpdates(DataSet: TDataSet);
|
||||
procedure DSAfterApplyUpdates(DataSet: TDataSet; Updates: TResolveInfoArray);
|
||||
procedure DSOpen(DataSet: TDataSet);
|
||||
procedure ResetButtons(Sender: TDataset);
|
||||
function SelectRecord(aEvent: TJSMouseEvent): boolean;
|
||||
@ -135,7 +135,7 @@ begin
|
||||
PanelContent.append(N);
|
||||
end;
|
||||
|
||||
procedure TForm.DSAfterApplyUpdates(DataSet: TDataSet);
|
||||
procedure TForm.DSAfterApplyUpdates(DataSet: TDataSet; Updates : TResolveInfoArray);
|
||||
begin
|
||||
Window.Alert('Updates applied on server!');
|
||||
EName.value:='';
|
||||
|
@ -1040,13 +1040,15 @@ type
|
||||
_private : JSValue; // for use by descendents of TDataset
|
||||
end;
|
||||
TResolveInfoArray = Array of TResolveInfo;
|
||||
TOnRecordResolveEvent = Procedure (Sender : TDataset; info : TResolveInfo);
|
||||
|
||||
TOnRecordResolveEvent = Procedure (Sender : TDataset; info : TResolveInfo) of object;
|
||||
TApplyUpdatesEvent = Procedure (Sender : TDataset; info : TResolveInfoArray) of object;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
|
||||
TDataSet = class(TComponent)
|
||||
Private
|
||||
FAfterApplyUpdates: TDatasetNotifyEvent;
|
||||
FAfterApplyUpdates: TApplyUpdatesEvent;
|
||||
FAfterLoad: TDatasetNotifyEvent;
|
||||
FBeforeApplyUpdates: TDatasetNotifyEvent;
|
||||
FBeforeLoad: TDatasetNotifyEvent;
|
||||
@ -1190,7 +1192,7 @@ type
|
||||
procedure DoBeforeLoad; virtual;
|
||||
procedure DoAfterLoad; virtual;
|
||||
procedure DoBeforeApplyUpdates; virtual;
|
||||
procedure DoAfterApplyUpdates;virtual;
|
||||
procedure DoAfterApplyUpdates(const ResolveInfo: TResolveInfoArray); virtual;
|
||||
function FieldByNumber(FieldNo: Longint): TField;
|
||||
function FindRecord(Restart{%H-}, GoForward{%H-}: Boolean): Boolean; virtual;
|
||||
function GetBookmarkStr: TBookmarkStr; virtual;
|
||||
@ -1384,7 +1386,7 @@ type
|
||||
property BeforeLoad : TDatasetNotifyEvent Read FBeforeLoad Write FBeforeLoad;
|
||||
Property AfterLoad : TDatasetNotifyEvent Read FAfterLoad Write FAfterLoad;
|
||||
Property BeforeApplyUpdates : TDatasetNotifyEvent Read FBeforeApplyUpdates Write FBeforeApplyUpdates;
|
||||
Property AfterApplyUpdates : TDatasetNotifyEvent Read FAfterApplyUpdates Write FAfterApplyUpdates;
|
||||
Property AfterApplyUpdates : TApplyUpdatesEvent Read FAfterApplyUpdates Write FAfterApplyUpdates;
|
||||
property AfterRefresh: TDataSetNotifyEvent read FAfterRefresh write FAfterRefresh;
|
||||
property OnCalcFields: TDataSetNotifyEvent read FOnCalcFields write FOnCalcFields;
|
||||
property OnDeleteError: TDataSetErrorEvent read FOnDeleteError write FOnDeleteError;
|
||||
@ -2731,11 +2733,11 @@ begin
|
||||
FBeforeApplyUpdates(Self);
|
||||
end;
|
||||
|
||||
procedure TDataSet.DoAfterApplyUpdates;
|
||||
procedure TDataSet.DoAfterApplyUpdates(Const ResolveInfo : TResolveInfoArray);
|
||||
|
||||
begin
|
||||
If Assigned(FAfterApplyUpdates) then
|
||||
FAfterApplyUpdates(Self);
|
||||
FAfterApplyUpdates(Self,ResolveInfo);
|
||||
end;
|
||||
|
||||
function TDataSet.FieldByNumber(FieldNo: Longint): TField;
|
||||
@ -2912,6 +2914,7 @@ Var
|
||||
BI,RI,Idx: integer;
|
||||
RUD : TRecordUpdateDescriptor;
|
||||
doRemove : Boolean;
|
||||
Resolved : TResolveInfoArray;
|
||||
|
||||
begin
|
||||
if Assigned(FBatchList) and (aBatch.Dataset=Self) then
|
||||
@ -2921,9 +2924,11 @@ begin
|
||||
if (BI=-1) then
|
||||
Exit;
|
||||
FBatchList.Delete(Bi);
|
||||
SetLength(Resolved, aBatch.List.Count);
|
||||
For RI:=0 to aBatch.List.Count-1 do
|
||||
begin
|
||||
RUD:=aBatch.List[RI];
|
||||
Resolved[RI]:=RecordUpdateDescriptorToResolveInfo(RUD);
|
||||
aBatch.List.Items[RI]:=Nil;
|
||||
Idx:=IndexInChangeList(RUD.Bookmark);
|
||||
if (Idx<>-1) then
|
||||
@ -2945,7 +2950,7 @@ begin
|
||||
end;
|
||||
if (FBatchList.Count=0) then
|
||||
FreeAndNil(FBatchList);
|
||||
DoAfterApplyUpdates;
|
||||
DoAfterApplyUpdates(Resolved);
|
||||
end;
|
||||
|
||||
procedure TDataSet.DoApplyUpdates;
|
||||
|
Loading…
Reference in New Issue
Block a user