@magic-xpa/engine 4.1100.0-dev4110.207 → 4.1100.0-dev4110.208
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/src/ClientManager.mjs +6 -4
- package/esm2022/src/CurrentClientVersion.mjs +2 -2
- package/esm2022/src/gui/MgForm.mjs +45 -2
- package/esm2022/src/tasks/Task.mjs +4 -3
- package/fesm2022/magic-xpa-engine.mjs +51 -6
- package/fesm2022/magic-xpa-engine.mjs.map +1 -1
- package/package.json +4 -4
- package/src/ClientManager.d.ts +1 -0
- package/src/gui/MgForm.d.ts +3 -0
@@ -20431,6 +20431,48 @@ class MgForm extends MgFormBase {
|
|
20431
20431
|
getDvRowIdx(guiRowIdx) {
|
20432
20432
|
return guiRowIdx - this.GetDataview().RecordsBeforeCurrentView;
|
20433
20433
|
}
|
20434
|
+
async moveToFirstParkabelControl(callByDestSubForm) {
|
20435
|
+
let task = this.getTask();
|
20436
|
+
let parkableCtrl = null;
|
20437
|
+
parkableCtrl = await this.getValidParkableControl();
|
20438
|
+
ClientManager.handlingFirstParkableControl = true;
|
20439
|
+
if (!isNullOrUndefined(parkableCtrl))
|
20440
|
+
await parkableCtrl.invoke();
|
20441
|
+
else if (!callByDestSubForm)
|
20442
|
+
await AccessHelper.eventsManager.HandleNonParkableControls(task);
|
20443
|
+
ClientManager.handlingFirstParkableControl = false;
|
20444
|
+
}
|
20445
|
+
async getValidParkableControl() {
|
20446
|
+
let ctrlName = await this.getFirstParkableControlName();
|
20447
|
+
let ctrl = await this.GetCtrl(ctrlName);
|
20448
|
+
if (!isNullOrUndefined(ctrl)) {
|
20449
|
+
switch (ctrl.Type) {
|
20450
|
+
case MgControlType.CTRL_TYPE_BUTTON:
|
20451
|
+
case MgControlType.CTRL_TYPE_CHECKBOX:
|
20452
|
+
case MgControlType.CTRL_TYPE_RADIO:
|
20453
|
+
case MgControlType.CTRL_TYPE_COMBO:
|
20454
|
+
case MgControlType.CTRL_TYPE_LIST:
|
20455
|
+
case MgControlType.CTRL_TYPE_TEXT:
|
20456
|
+
if (!ctrl.isParkable(true))
|
20457
|
+
ctrl = null;
|
20458
|
+
break;
|
20459
|
+
default:
|
20460
|
+
ctrl = null;
|
20461
|
+
break;
|
20462
|
+
}
|
20463
|
+
}
|
20464
|
+
return ctrl;
|
20465
|
+
}
|
20466
|
+
async getFirstParkableControlName() {
|
20467
|
+
let ctrlName = '';
|
20468
|
+
if (this.checkIfExistProp(PropInterface.PROP_TYPE_PARK_FIRST_ON)) {
|
20469
|
+
if (this.getProp(PropInterface.PROP_TYPE_PARK_FIRST_ON).isExpression())
|
20470
|
+
ctrlName = await this.getProp(PropInterface.PROP_TYPE_PARK_FIRST_ON).getValue();
|
20471
|
+
else
|
20472
|
+
ctrlName = this.getProp(PropInterface.PROP_TYPE_PARK_FIRST_ON).getOrgValue();
|
20473
|
+
}
|
20474
|
+
return ctrlName;
|
20475
|
+
}
|
20434
20476
|
}
|
20435
20477
|
|
20436
20478
|
class RemoteTaskService extends TaskServiceBase {
|
@@ -24943,8 +24985,9 @@ class Task extends TaskBase {
|
|
24943
24985
|
let mgForm = task.getForm();
|
24944
24986
|
if (task.isCurrentStartProgLevel() && mgForm !== null && mgForm.MovedToFirstControl) {
|
24945
24987
|
mgForm.MovedToFirstControl = false;
|
24946
|
-
|
24947
|
-
|
24988
|
+
AccessHelper.eventsManager.pushNewExecStacks();
|
24989
|
+
await mgForm.moveToFirstParkabelControl(callByDestSubForm);
|
24990
|
+
AccessHelper.eventsManager.popNewExecStacks();
|
24948
24991
|
}
|
24949
24992
|
}
|
24950
24993
|
}
|
@@ -29589,12 +29632,13 @@ class CommandsTable {
|
|
29589
29632
|
}
|
29590
29633
|
}
|
29591
29634
|
|
29592
|
-
let CurrentClientVersion = '4.1100.0-dev4110.
|
29635
|
+
let CurrentClientVersion = '4.1100.0-dev4110.208';
|
29593
29636
|
|
29594
29637
|
class ClientManager {
|
29595
29638
|
static _instance = null;
|
29596
29639
|
_globalUniqueSessionId = null;
|
29597
29640
|
_buttonIsClicked = false;
|
29641
|
+
static handlingFirstParkableControl = false;
|
29598
29642
|
static _executionPropertiesFileName = null;
|
29599
29643
|
static assetsURL = "./assets";
|
29600
29644
|
static get Instance() {
|
@@ -29622,7 +29666,7 @@ class ClientManager {
|
|
29622
29666
|
}
|
29623
29667
|
break;
|
29624
29668
|
case "mousedown":
|
29625
|
-
if (control.isButton() || (control.ConnectedControl && guiEvent.fromButton)) {
|
29669
|
+
if (control.isButton() || control.isCheckBox() || (control.ConnectedControl && guiEvent.fromButton)) {
|
29626
29670
|
this._buttonIsClicked = true;
|
29627
29671
|
}
|
29628
29672
|
else if (!control.isSubform())
|
@@ -29643,7 +29687,8 @@ class ClientManager {
|
|
29643
29687
|
case "focus":
|
29644
29688
|
if (this._buttonIsClicked || (control.ConnectedControl && guiEvent.fromButton))
|
29645
29689
|
return;
|
29646
|
-
|
29690
|
+
if (!ClientManager.handlingFirstParkableControl)
|
29691
|
+
Events.OnFocus(control, lineIdx, true, false);
|
29647
29692
|
break;
|
29648
29693
|
case "dblclick":
|
29649
29694
|
Events.OnDblClick(control, lineIdx);
|
@@ -29826,7 +29871,7 @@ class ClientManager {
|
|
29826
29871
|
static Main(httpClient, args) {
|
29827
29872
|
let val;
|
29828
29873
|
args.forEach((value, key) => {
|
29829
|
-
val = new ExpVal(StorageAttribute.
|
29874
|
+
val = new ExpVal(StorageAttribute.UNICODE, false, value);
|
29830
29875
|
GlobalParams.Instance.setValue(key, new MirrorExpVal(val), true);
|
29831
29876
|
});
|
29832
29877
|
ClientManager.StartExecution(httpClient);
|