@magic-xpa/engine 4.1000.0-dev000.0 → 4.1000.0-dev4100.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/ConstInterface.mjs +2 -1
- package/esm2020/src/CurrentClientVersion.mjs +2 -2
- package/esm2020/src/env/MirrorString.mjs +2 -3
- package/esm2020/src/exp/ExpressionDict.mjs +8 -8
- package/esm2020/src/exp/ExpressionEvaluator.mjs +2 -176
- package/esm2020/src/gui/MgForm.mjs +3 -6
- package/esm2020/src/remote/RemoteCommandsProcessor.mjs +14 -5
- package/esm2020/src/util/PrmMap.mjs +2 -2
- package/fesm2015/magic-xpa-engine.mjs +75 -268
- package/fesm2015/magic-xpa-engine.mjs.map +1 -1
- package/fesm2020/magic-xpa-engine.mjs +75 -241
- package/fesm2020/magic-xpa-engine.mjs.map +1 -1
- package/package.json +4 -4
- package/src/ConstInterface.d.ts +1 -0
- package/src/exp/ExpressionEvaluator.d.ts +0 -9
- package/src/util/PrmMap.d.ts +1 -1
|
@@ -475,6 +475,7 @@ ConstInterface.RC_TOKEN_DATA = "DATA=";
|
|
|
475
475
|
ConstInterface.WEBCLIENT_REINITIALIZE_REQUEST = "WCREINITIALIZEREQUEST=Y";
|
|
476
476
|
ConstInterface.MAIN_PROG_VIEW = "MainProgramsDataView";
|
|
477
477
|
ConstInterface.GLOBAL_PARAM_LIST = "GlobalParamList";
|
|
478
|
+
ConstInterface.ENV_VAR_LIST = "EnvVarList";
|
|
478
479
|
ConstInterface.LAST_EXCEPTION = "LastException";
|
|
479
480
|
ConstInterface.CTX_REMOVED_FROM_SRVR = "CtxRemovedFromSrvr";
|
|
480
481
|
ConstInterface.LAST_ROUTE_EVENT = "LastRouteEvent";
|
|
@@ -5123,10 +5124,12 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
|
|
|
5123
5124
|
async StoreSessionReInitializingDataOnLocalStorage() {
|
|
5124
5125
|
let mainPrgViewStringForServer = await this.BuildXMLForMainProgramDataView();
|
|
5125
5126
|
let globalParamsString = AccessHelper.globalParams.mirrorAllToXML();
|
|
5127
|
+
let changedEnvVarList = AccessHelper.envParamsTable.mirrorAllToXML();
|
|
5126
5128
|
let dataStorage = window.localStorage;
|
|
5127
5129
|
dataStorage.setItem(ConstInterface.IS_SESSION_REINITIALIZING, "true");
|
|
5128
5130
|
dataStorage.setItem(ConstInterface.MAIN_PROG_VIEW, mainPrgViewStringForServer.toString());
|
|
5129
5131
|
dataStorage.setItem(ConstInterface.GLOBAL_PARAM_LIST, globalParamsString);
|
|
5132
|
+
dataStorage.setItem(ConstInterface.ENV_VAR_LIST, changedEnvVarList);
|
|
5130
5133
|
dataStorage.setItem(ConstInterface.LAST_EXCEPTION, RemoteCommandsProcessor.lastExceptionMessage);
|
|
5131
5134
|
if (RuntimeContextBase.Instance.RemovedContextFromServer)
|
|
5132
5135
|
dataStorage.setItem(ConstInterface.CTX_REMOVED_FROM_SRVR, "1");
|
|
@@ -5353,6 +5356,7 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
|
|
|
5353
5356
|
let reqBuf;
|
|
5354
5357
|
let isInitialCall = sessionStage === CommandsProcessorBase_SessionStage.INITIAL;
|
|
5355
5358
|
let globalParamsString = null;
|
|
5359
|
+
let envVarsString = null;
|
|
5356
5360
|
if (this.DelayCommandExecution)
|
|
5357
5361
|
return;
|
|
5358
5362
|
if (Logger.Instance.LogLevel == Logger_LogLevels.RequestInfo && !isInitialCall)
|
|
@@ -5378,12 +5382,16 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
|
|
|
5378
5382
|
let buffer = new StringBuilder();
|
|
5379
5383
|
if (!RemoteCommandsProcessor.IsSessionReInitializing)
|
|
5380
5384
|
buffer.Append(reqBuf);
|
|
5381
|
-
if (RemoteCommandsProcessor.IsSessionReInitializing)
|
|
5385
|
+
if (RemoteCommandsProcessor.IsSessionReInitializing) {
|
|
5382
5386
|
globalParamsString = this.RestoreSessionReInitializingDataFromLocalStorage(ConstInterface.GLOBAL_PARAM_LIST);
|
|
5383
|
-
|
|
5387
|
+
envVarsString = this.RestoreSessionReInitializingDataFromLocalStorage(ConstInterface.ENV_VAR_LIST);
|
|
5388
|
+
}
|
|
5389
|
+
else {
|
|
5384
5390
|
globalParamsString = AccessHelper.globalParams.mirrorToXML();
|
|
5391
|
+
envVarsString = AccessHelper.envParamsTable.mirrorToXML();
|
|
5392
|
+
}
|
|
5385
5393
|
changes.Append(globalParamsString);
|
|
5386
|
-
changes.Append(
|
|
5394
|
+
changes.Append(envVarsString);
|
|
5387
5395
|
if (changes.Length > 0) {
|
|
5388
5396
|
changes.Insert(0, "<" + ConstInterface.MG_TAG_ENV_CHANGES + ">");
|
|
5389
5397
|
changes.Append("</" + ConstInterface.MG_TAG_ENV_CHANGES + ">");
|
|
@@ -5422,13 +5430,15 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
|
|
|
5422
5430
|
dataStorage.removeItem(ConstInterface.IS_SESSION_REINITIALIZING);
|
|
5423
5431
|
dataStorage.removeItem(ConstInterface.MAIN_PROG_VIEW);
|
|
5424
5432
|
dataStorage.removeItem(ConstInterface.GLOBAL_PARAM_LIST);
|
|
5433
|
+
dataStorage.removeItem(ConstInterface.ENV_VAR_LIST);
|
|
5425
5434
|
dataStorage.removeItem(ConstInterface.LAST_EXCEPTION);
|
|
5426
5435
|
}
|
|
5427
5436
|
}
|
|
5428
5437
|
FlowMonitorQueue.Instance.enable(false);
|
|
5429
5438
|
await this.ProcessResponse(respBuf, AccessHelper.mgDataTable.currMgdID, null, res);
|
|
5430
5439
|
if (RemoteCommandsProcessor.IsSessionReInitializing) {
|
|
5431
|
-
AccessHelper.globalParams.
|
|
5440
|
+
AccessHelper.globalParams.RestoreParams(globalParamsString);
|
|
5441
|
+
AccessHelper.envParamsTable.RestoreParams(envVarsString);
|
|
5432
5442
|
let dataStorage = window.localStorage;
|
|
5433
5443
|
let ctxRemoved = dataStorage.getItem(ConstInterface.CTX_REMOVED_FROM_SRVR);
|
|
5434
5444
|
if (ctxRemoved === "1") {
|
|
@@ -6722,7 +6732,7 @@ ExpressionDict.expDesc = [
|
|
|
6722
6732
|
null,
|
|
6723
6733
|
new ExpDesc('N', 0, 0, 0, "", false),
|
|
6724
6734
|
null,
|
|
6725
|
-
|
|
6735
|
+
null,
|
|
6726
6736
|
new ExpDesc('B', 0, 2, 2, "V ", false),
|
|
6727
6737
|
null,
|
|
6728
6738
|
null,
|
|
@@ -7171,12 +7181,12 @@ ExpressionDict.expDesc = [
|
|
|
7171
7181
|
null,
|
|
7172
7182
|
new ExpDesc('A', 0, 1, 1, "A", false),
|
|
7173
7183
|
new ExpDesc('N', 0, 2, 2, "AA", false),
|
|
7174
|
-
|
|
7175
|
-
|
|
7176
|
-
|
|
7177
|
-
|
|
7178
|
-
|
|
7179
|
-
|
|
7184
|
+
null,
|
|
7185
|
+
null,
|
|
7186
|
+
null,
|
|
7187
|
+
null,
|
|
7188
|
+
null,
|
|
7189
|
+
null,
|
|
7180
7190
|
new ExpDesc('N', 0, 1, 1, "N", false),
|
|
7181
7191
|
null,
|
|
7182
7192
|
null,
|
|
@@ -7263,48 +7273,6 @@ ExpressionDict.expDesc = [
|
|
|
7263
7273
|
new ExpDesc('U', 0, 0, 0, '', false),
|
|
7264
7274
|
];
|
|
7265
7275
|
|
|
7266
|
-
var DataViewCommandType;
|
|
7267
|
-
(function (DataViewCommandType) {
|
|
7268
|
-
DataViewCommandType[DataViewCommandType["Init"] = 0] = "Init";
|
|
7269
|
-
DataViewCommandType[DataViewCommandType["Clear"] = 1] = "Clear";
|
|
7270
|
-
DataViewCommandType[DataViewCommandType["Prepare"] = 2] = "Prepare";
|
|
7271
|
-
DataViewCommandType[DataViewCommandType["FirstChunk"] = 3] = "FirstChunk";
|
|
7272
|
-
DataViewCommandType[DataViewCommandType["RecomputeUnit"] = 4] = "RecomputeUnit";
|
|
7273
|
-
DataViewCommandType[DataViewCommandType["ExecuteLocalUpdates"] = 5] = "ExecuteLocalUpdates";
|
|
7274
|
-
DataViewCommandType[DataViewCommandType["InitDataControlViews"] = 6] = "InitDataControlViews";
|
|
7275
|
-
DataViewCommandType[DataViewCommandType["OpenTransaction"] = 7] = "OpenTransaction";
|
|
7276
|
-
DataViewCommandType[DataViewCommandType["CloseTransaction"] = 8] = "CloseTransaction";
|
|
7277
|
-
DataViewCommandType[DataViewCommandType["SetTransactionState"] = 9] = "SetTransactionState";
|
|
7278
|
-
DataViewCommandType[DataViewCommandType["AddUserRange"] = 10] = "AddUserRange";
|
|
7279
|
-
DataViewCommandType[DataViewCommandType["ResetUserRange"] = 11] = "ResetUserRange";
|
|
7280
|
-
DataViewCommandType[DataViewCommandType["DbDisconnect"] = 12] = "DbDisconnect";
|
|
7281
|
-
DataViewCommandType[DataViewCommandType["AddUserLocate"] = 13] = "AddUserLocate";
|
|
7282
|
-
DataViewCommandType[DataViewCommandType["ResetUserLocate"] = 14] = "ResetUserLocate";
|
|
7283
|
-
DataViewCommandType[DataViewCommandType["AddUserSort"] = 15] = "AddUserSort";
|
|
7284
|
-
DataViewCommandType[DataViewCommandType["ResetUserSort"] = 16] = "ResetUserSort";
|
|
7285
|
-
DataViewCommandType[DataViewCommandType["DataViewToDataSource"] = 17] = "DataViewToDataSource";
|
|
7286
|
-
DataViewCommandType[DataViewCommandType["DbDelete"] = 18] = "DbDelete";
|
|
7287
|
-
DataViewCommandType[DataViewCommandType["ControlItemsRefresh"] = 19] = "ControlItemsRefresh";
|
|
7288
|
-
DataViewCommandType[DataViewCommandType["SQLExecute"] = 20] = "SQLExecute";
|
|
7289
|
-
})(DataViewCommandType || (DataViewCommandType = {}));
|
|
7290
|
-
class DataviewCommand extends ClientOriginatedCommandTaskTag {
|
|
7291
|
-
constructor() {
|
|
7292
|
-
super();
|
|
7293
|
-
this.CommandType = 0;
|
|
7294
|
-
this.TaskTag = null;
|
|
7295
|
-
}
|
|
7296
|
-
get CommandTypeAttribute() {
|
|
7297
|
-
throw new NotImplementedException();
|
|
7298
|
-
}
|
|
7299
|
-
SerializeCommandData() {
|
|
7300
|
-
Debug.Assert(false, "Dataview commands need not be serialized");
|
|
7301
|
-
return null;
|
|
7302
|
-
}
|
|
7303
|
-
get ShouldSerialize() {
|
|
7304
|
-
return false;
|
|
7305
|
-
}
|
|
7306
|
-
}
|
|
7307
|
-
|
|
7308
7276
|
class EventHandlerPosition {
|
|
7309
7277
|
constructor() {
|
|
7310
7278
|
this._handlerIdx = 0;
|
|
@@ -7501,6 +7469,48 @@ EventHandlerPosition.PHASE_CONTROL_NON_SPECIFIC = 2;
|
|
|
7501
7469
|
EventHandlerPosition.PHASE_GLOBAL = 3;
|
|
7502
7470
|
EventHandlerPosition.PHASE_GLOBAL_SPECIFIC = 4;
|
|
7503
7471
|
|
|
7472
|
+
var DataViewCommandType;
|
|
7473
|
+
(function (DataViewCommandType) {
|
|
7474
|
+
DataViewCommandType[DataViewCommandType["Init"] = 0] = "Init";
|
|
7475
|
+
DataViewCommandType[DataViewCommandType["Clear"] = 1] = "Clear";
|
|
7476
|
+
DataViewCommandType[DataViewCommandType["Prepare"] = 2] = "Prepare";
|
|
7477
|
+
DataViewCommandType[DataViewCommandType["FirstChunk"] = 3] = "FirstChunk";
|
|
7478
|
+
DataViewCommandType[DataViewCommandType["RecomputeUnit"] = 4] = "RecomputeUnit";
|
|
7479
|
+
DataViewCommandType[DataViewCommandType["ExecuteLocalUpdates"] = 5] = "ExecuteLocalUpdates";
|
|
7480
|
+
DataViewCommandType[DataViewCommandType["InitDataControlViews"] = 6] = "InitDataControlViews";
|
|
7481
|
+
DataViewCommandType[DataViewCommandType["OpenTransaction"] = 7] = "OpenTransaction";
|
|
7482
|
+
DataViewCommandType[DataViewCommandType["CloseTransaction"] = 8] = "CloseTransaction";
|
|
7483
|
+
DataViewCommandType[DataViewCommandType["SetTransactionState"] = 9] = "SetTransactionState";
|
|
7484
|
+
DataViewCommandType[DataViewCommandType["AddUserRange"] = 10] = "AddUserRange";
|
|
7485
|
+
DataViewCommandType[DataViewCommandType["ResetUserRange"] = 11] = "ResetUserRange";
|
|
7486
|
+
DataViewCommandType[DataViewCommandType["DbDisconnect"] = 12] = "DbDisconnect";
|
|
7487
|
+
DataViewCommandType[DataViewCommandType["AddUserLocate"] = 13] = "AddUserLocate";
|
|
7488
|
+
DataViewCommandType[DataViewCommandType["ResetUserLocate"] = 14] = "ResetUserLocate";
|
|
7489
|
+
DataViewCommandType[DataViewCommandType["AddUserSort"] = 15] = "AddUserSort";
|
|
7490
|
+
DataViewCommandType[DataViewCommandType["ResetUserSort"] = 16] = "ResetUserSort";
|
|
7491
|
+
DataViewCommandType[DataViewCommandType["DataViewToDataSource"] = 17] = "DataViewToDataSource";
|
|
7492
|
+
DataViewCommandType[DataViewCommandType["DbDelete"] = 18] = "DbDelete";
|
|
7493
|
+
DataViewCommandType[DataViewCommandType["ControlItemsRefresh"] = 19] = "ControlItemsRefresh";
|
|
7494
|
+
DataViewCommandType[DataViewCommandType["SQLExecute"] = 20] = "SQLExecute";
|
|
7495
|
+
})(DataViewCommandType || (DataViewCommandType = {}));
|
|
7496
|
+
class DataviewCommand extends ClientOriginatedCommandTaskTag {
|
|
7497
|
+
constructor() {
|
|
7498
|
+
super();
|
|
7499
|
+
this.CommandType = 0;
|
|
7500
|
+
this.TaskTag = null;
|
|
7501
|
+
}
|
|
7502
|
+
get CommandTypeAttribute() {
|
|
7503
|
+
throw new NotImplementedException();
|
|
7504
|
+
}
|
|
7505
|
+
SerializeCommandData() {
|
|
7506
|
+
Debug.Assert(false, "Dataview commands need not be serialized");
|
|
7507
|
+
return null;
|
|
7508
|
+
}
|
|
7509
|
+
get ShouldSerialize() {
|
|
7510
|
+
return false;
|
|
7511
|
+
}
|
|
7512
|
+
}
|
|
7513
|
+
|
|
7504
7514
|
class AddUserRangeDataviewCommand extends DataviewCommand {
|
|
7505
7515
|
constructor() {
|
|
7506
7516
|
super();
|
|
@@ -8136,13 +8146,6 @@ class CommandFactory {
|
|
|
8136
8146
|
}
|
|
8137
8147
|
}
|
|
8138
8148
|
|
|
8139
|
-
class Sort {
|
|
8140
|
-
constructor() {
|
|
8141
|
-
this.fldIdx = 0;
|
|
8142
|
-
this.dir = false;
|
|
8143
|
-
}
|
|
8144
|
-
}
|
|
8145
|
-
|
|
8146
8149
|
var ParamParseResult;
|
|
8147
8150
|
(function (ParamParseResult) {
|
|
8148
8151
|
ParamParseResult[ParamParseResult["OK"] = 0] = "OK";
|
|
@@ -8248,7 +8251,7 @@ class MirrorPrmMap extends PrmMap {
|
|
|
8248
8251
|
while (this.mirrorFromXML(parser.getNextTag(), parser)) {
|
|
8249
8252
|
}
|
|
8250
8253
|
}
|
|
8251
|
-
|
|
8254
|
+
RestoreParams(xml) {
|
|
8252
8255
|
let parser = new XmlParser(xml);
|
|
8253
8256
|
while (this.mirrorFromXML(parser.getNextTag(), parser)) {
|
|
8254
8257
|
}
|
|
@@ -9690,8 +9693,7 @@ class MirrorString {
|
|
|
9690
9693
|
this._reserved = false;
|
|
9691
9694
|
}
|
|
9692
9695
|
mirrorToXML() {
|
|
9693
|
-
return ConstInterface.MG_ATTR_ENV_VALUE + "=\"" + XmlParser.escape(this._value) + "\"
|
|
9694
|
-
ConstInterface.MG_ATTR_ENV_WRITEINI + "=F";
|
|
9696
|
+
return ConstInterface.MG_ATTR_ENV_VALUE + "=\"" + XmlParser.escape(this._value) + "\"";
|
|
9695
9697
|
}
|
|
9696
9698
|
init(name, xmlParser) {
|
|
9697
9699
|
let valueStart, valueEnd, reserveStart, paramEnd;
|
|
@@ -11257,11 +11259,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
|
|
|
11257
11259
|
val1 = valStack.pop();
|
|
11258
11260
|
this.eval_op_eoy(resVal, val1);
|
|
11259
11261
|
break;
|
|
11260
|
-
case ExpressionInterface.EXP_OP_ROLLBACK:
|
|
11261
|
-
val2 = valStack.pop();
|
|
11262
|
-
val1 = valStack.pop();
|
|
11263
|
-
await this.eval_op_rollback(resVal);
|
|
11264
|
-
break;
|
|
11265
11262
|
case ExpressionInterface.EXP_OP_VARSET:
|
|
11266
11263
|
val2 = valStack.pop();
|
|
11267
11264
|
val1 = valStack.pop();
|
|
@@ -11626,41 +11623,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
|
|
|
11626
11623
|
val1 = valStack.pop();
|
|
11627
11624
|
this.eval_op_taskType(resVal, val1);
|
|
11628
11625
|
break;
|
|
11629
|
-
case ExpressionInterface.EXP_OP_RANGE_ADD:
|
|
11630
|
-
nArgs = valStack.pop();
|
|
11631
|
-
if (nArgs > 0) {
|
|
11632
|
-
Exp_params = new Array(nArgs);
|
|
11633
|
-
for (j = 0; j < nArgs; j++)
|
|
11634
|
-
Exp_params[nArgs - 1 - j] = valStack.pop();
|
|
11635
|
-
await this.eval_op_range_add(resVal, Exp_params);
|
|
11636
|
-
}
|
|
11637
|
-
break;
|
|
11638
|
-
case ExpressionInterface.EXP_OP_RANGE_RESET:
|
|
11639
|
-
val1 = valStack.pop();
|
|
11640
|
-
await this.eval_op_range_reset(resVal, val1);
|
|
11641
|
-
break;
|
|
11642
|
-
case ExpressionInterface.EXP_OP_LOCATE_ADD:
|
|
11643
|
-
nArgs = valStack.pop();
|
|
11644
|
-
if (nArgs > 0) {
|
|
11645
|
-
Exp_params = new Array(nArgs);
|
|
11646
|
-
for (j = 0; j < nArgs; j++)
|
|
11647
|
-
Exp_params[nArgs - 1 - j] = valStack.pop();
|
|
11648
|
-
await this.eval_op_locate_add(resVal, Exp_params);
|
|
11649
|
-
}
|
|
11650
|
-
break;
|
|
11651
|
-
case ExpressionInterface.EXP_OP_LOCATE_RESET:
|
|
11652
|
-
val1 = valStack.pop();
|
|
11653
|
-
await this.eval_op_locate_reset(resVal, val1);
|
|
11654
|
-
break;
|
|
11655
|
-
case ExpressionInterface.EXP_OP_SORT_ADD:
|
|
11656
|
-
val2 = valStack.pop();
|
|
11657
|
-
val1 = valStack.pop();
|
|
11658
|
-
await this.eval_op_sort_add(resVal, val1, val2);
|
|
11659
|
-
break;
|
|
11660
|
-
case ExpressionInterface.EXP_OP_SORT_RESET:
|
|
11661
|
-
val1 = valStack.pop();
|
|
11662
|
-
await this.eval_op_sort_reset(resVal, val1);
|
|
11663
|
-
break;
|
|
11664
11626
|
case ExpressionInterface.EXP_OP_TSK_INSTANCE:
|
|
11665
11627
|
val1 = valStack.pop();
|
|
11666
11628
|
this.eval_op_tsk_instance(resVal, val1);
|
|
@@ -13299,12 +13261,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
|
|
|
13299
13261
|
await fld.setValueAndStartRecompute(bufptr, val.IsNull, true, setRecordUpdated, false);
|
|
13300
13262
|
await fld.updateDisplay();
|
|
13301
13263
|
}
|
|
13302
|
-
async eval_op_rollback(resVal) {
|
|
13303
|
-
let task = this.ExpTask.GetContextTask() || this.ExpTask;
|
|
13304
|
-
await AccessHelper.eventsManager.handleInternalEventWithTask(task, InternalInterface.MG_ACT_ROLLBACK);
|
|
13305
|
-
resVal.Attr = StorageAttribute.BOOLEAN;
|
|
13306
|
-
resVal.BoolVal = true;
|
|
13307
|
-
}
|
|
13308
13264
|
eval_op_like(source, maskOrg, resVal) {
|
|
13309
13265
|
let i;
|
|
13310
13266
|
let j;
|
|
@@ -13861,54 +13817,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
|
|
|
13861
13817
|
resultStr.Replace('\\@', '@');
|
|
13862
13818
|
resVal.StrVal = resultStr.ToString();
|
|
13863
13819
|
}
|
|
13864
|
-
async eval_op_range_add(resVal, Exp_params) {
|
|
13865
|
-
resVal.Attr = StorageAttribute.BOOLEAN;
|
|
13866
|
-
resVal.BoolVal = await this.add_rt_ranges(Exp_params, false);
|
|
13867
|
-
}
|
|
13868
|
-
async eval_op_range_reset(resVal, parent) {
|
|
13869
|
-
resVal.Attr = StorageAttribute.BOOLEAN;
|
|
13870
|
-
let iParent = parent.MgNumVal.NUM_2_LONG();
|
|
13871
|
-
if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
|
|
13872
|
-
let task = super.GetContextTask(iParent);
|
|
13873
|
-
if (task !== null) {
|
|
13874
|
-
let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserRange);
|
|
13875
|
-
await task.DataviewManager.Execute(command);
|
|
13876
|
-
resVal.BoolVal = true;
|
|
13877
|
-
}
|
|
13878
|
-
}
|
|
13879
|
-
}
|
|
13880
|
-
async eval_op_locate_add(resVal, Exp_params) {
|
|
13881
|
-
resVal.Attr = StorageAttribute.BOOLEAN;
|
|
13882
|
-
resVal.BoolVal = await this.add_rt_ranges(Exp_params, true);
|
|
13883
|
-
}
|
|
13884
|
-
async eval_op_locate_reset(resVal, parent) {
|
|
13885
|
-
resVal.Attr = StorageAttribute.BOOLEAN;
|
|
13886
|
-
let iParent = parent.MgNumVal.NUM_2_LONG();
|
|
13887
|
-
if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
|
|
13888
|
-
let task = super.GetContextTask(iParent);
|
|
13889
|
-
if (task !== null) {
|
|
13890
|
-
let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserLocate);
|
|
13891
|
-
await task.DataviewManager.Execute(command);
|
|
13892
|
-
resVal.BoolVal = true;
|
|
13893
|
-
}
|
|
13894
|
-
}
|
|
13895
|
-
}
|
|
13896
|
-
async eval_op_sort_add(resVal, varnum, dir) {
|
|
13897
|
-
resVal.Attr = StorageAttribute.BOOLEAN;
|
|
13898
|
-
resVal.BoolVal = await this.add_sort(varnum, dir);
|
|
13899
|
-
}
|
|
13900
|
-
async eval_op_sort_reset(resVal, parent) {
|
|
13901
|
-
resVal.Attr = StorageAttribute.BOOLEAN;
|
|
13902
|
-
let iParent = parent.MgNumVal.NUM_2_LONG();
|
|
13903
|
-
if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
|
|
13904
|
-
let task = super.GetContextTask(iParent);
|
|
13905
|
-
if (task !== null) {
|
|
13906
|
-
let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserSort);
|
|
13907
|
-
await task.DataviewManager.Execute(command);
|
|
13908
|
-
resVal.BoolVal = true;
|
|
13909
|
-
}
|
|
13910
|
-
}
|
|
13911
|
-
}
|
|
13912
13820
|
eval_op_tsk_instance(resVal, Parent) {
|
|
13913
13821
|
let tag = 0;
|
|
13914
13822
|
let iParent = Parent.MgNumVal.NUM_2_LONG();
|
|
@@ -13922,84 +13830,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
|
|
|
13922
13830
|
resVal.MgNumVal = new NUM_TYPE();
|
|
13923
13831
|
resVal.MgNumVal.NUM_4_LONG(tag);
|
|
13924
13832
|
}
|
|
13925
|
-
async add_sort(varnum, dir) {
|
|
13926
|
-
if (varnum.MgNumVal === null)
|
|
13927
|
-
return false;
|
|
13928
|
-
let itm = varnum.MgNumVal.NUM_2_LONG();
|
|
13929
|
-
if (itm === 0)
|
|
13930
|
-
return false;
|
|
13931
|
-
let fld = this.GetFieldOfContextTask(itm);
|
|
13932
|
-
if (fld === null)
|
|
13933
|
-
return false;
|
|
13934
|
-
let task = fld.getTask();
|
|
13935
|
-
let vee_idx = fld.getId() + 1;
|
|
13936
|
-
let expr_64 = new Sort();
|
|
13937
|
-
expr_64.fldIdx = vee_idx;
|
|
13938
|
-
expr_64.dir = dir.BoolVal;
|
|
13939
|
-
let sort = expr_64;
|
|
13940
|
-
let command = CommandFactory.CreateAddUserSortDataviewCommand(task.getTaskTag(), sort);
|
|
13941
|
-
await task.DataviewManager.Execute(command);
|
|
13942
|
-
return true;
|
|
13943
|
-
}
|
|
13944
|
-
async add_rt_ranges(Exp_params, locate) {
|
|
13945
|
-
let varnum = Exp_params[0];
|
|
13946
|
-
let min = Exp_params[1];
|
|
13947
|
-
if (varnum.MgNumVal === null)
|
|
13948
|
-
return false;
|
|
13949
|
-
let itm = varnum.MgNumVal.NUM_2_LONG();
|
|
13950
|
-
if (itm === 0)
|
|
13951
|
-
return false;
|
|
13952
|
-
let fld = this.GetFieldOfContextTask(itm);
|
|
13953
|
-
if (fld === null)
|
|
13954
|
-
return false;
|
|
13955
|
-
let task = fld.getTask();
|
|
13956
|
-
let vee_idx = fld.getId() + 1;
|
|
13957
|
-
let expr_78 = new UserRange();
|
|
13958
|
-
expr_78.veeIdx = vee_idx;
|
|
13959
|
-
let rng = expr_78;
|
|
13960
|
-
if (min.IsNull)
|
|
13961
|
-
rng.nullMin = true;
|
|
13962
|
-
if (!rng.nullMin && (min.Attr === StorageAttribute.ALPHA || min.Attr === StorageAttribute.UNICODE) && min.StrVal.length === 0)
|
|
13963
|
-
rng.discardMin = true;
|
|
13964
|
-
else {
|
|
13965
|
-
if (!rng.nullMin) {
|
|
13966
|
-
if (!StorageAttributeCheck.isTheSameType(fld.getType(), min.Attr))
|
|
13967
|
-
return false;
|
|
13968
|
-
if (StorageAttributeCheck.StorageFldAlphaUnicodeOrBlob(fld.getType(), min.Attr))
|
|
13969
|
-
this.ConvertExpVal(min, fld.getType());
|
|
13970
|
-
rng.min = min.ToMgVal();
|
|
13971
|
-
}
|
|
13972
|
-
}
|
|
13973
|
-
if (Exp_params.length === 3) {
|
|
13974
|
-
let max = Exp_params[2];
|
|
13975
|
-
if (max.IsNull)
|
|
13976
|
-
rng.nullMax = true;
|
|
13977
|
-
if (!rng.nullMax && (max.Attr === StorageAttribute.ALPHA || max.Attr === StorageAttribute.UNICODE) && max.StrVal.length === 0)
|
|
13978
|
-
rng.discardMax = true;
|
|
13979
|
-
else {
|
|
13980
|
-
if (!rng.nullMax) {
|
|
13981
|
-
if (!StorageAttributeCheck.isTheSameType(fld.getType(), max.Attr))
|
|
13982
|
-
return false;
|
|
13983
|
-
if (StorageAttributeCheck.StorageFldAlphaUnicodeOrBlob(fld.getType(), max.Attr))
|
|
13984
|
-
this.ConvertExpVal(max, fld.getType());
|
|
13985
|
-
rng.max = max.ToMgVal();
|
|
13986
|
-
}
|
|
13987
|
-
}
|
|
13988
|
-
}
|
|
13989
|
-
else
|
|
13990
|
-
rng.discardMax = true;
|
|
13991
|
-
if (!rng.discardMin || !rng.discardMax) {
|
|
13992
|
-
if (locate) {
|
|
13993
|
-
let command = CommandFactory.CreateAddUserLocateDataviewCommand(task.getTaskTag(), rng);
|
|
13994
|
-
await task.DataviewManager.Execute(command);
|
|
13995
|
-
}
|
|
13996
|
-
else {
|
|
13997
|
-
let command2 = CommandFactory.CreateAddUserRangeDataviewCommand(task.getTaskTag(), rng);
|
|
13998
|
-
await task.DataviewManager.Execute(command2);
|
|
13999
|
-
}
|
|
14000
|
-
}
|
|
14001
|
-
return true;
|
|
14002
|
-
}
|
|
14003
13833
|
eval_op_getParam(resVal, name) {
|
|
14004
13834
|
Debug.Assert(!name.IsNull && name.StrVal !== null);
|
|
14005
13835
|
let expVal = GlobalParams.Instance.get(name.StrVal);
|
|
@@ -19182,6 +19012,13 @@ class DataviewManager extends DataviewManagerBase {
|
|
|
19182
19012
|
}
|
|
19183
19013
|
}
|
|
19184
19014
|
|
|
19015
|
+
class Sort {
|
|
19016
|
+
constructor() {
|
|
19017
|
+
this.fldIdx = 0;
|
|
19018
|
+
this.dir = false;
|
|
19019
|
+
}
|
|
19020
|
+
}
|
|
19021
|
+
|
|
19185
19022
|
class SortCollection {
|
|
19186
19023
|
constructor() {
|
|
19187
19024
|
this._sortTab = null;
|
|
@@ -19410,11 +19247,7 @@ class MgForm extends MgFormBase {
|
|
|
19410
19247
|
this.GetDataview().setTopRecIdxModified(true);
|
|
19411
19248
|
try {
|
|
19412
19249
|
this._suffixDone = false;
|
|
19413
|
-
|
|
19414
|
-
if (unit === Constants.MOVE_UNIT_PAGE && this.isLineMode())
|
|
19415
|
-
if (newDisplayLine > this.GetDataview().getSize() - 1)
|
|
19416
|
-
visibleLine -= newDisplayLine - (this.GetDataview().getSize() - 1);
|
|
19417
|
-
await this.setCurrRowByDisplayLine(newDisplayLine, true, false);
|
|
19250
|
+
await this.setCurrRowByDisplayLine(this.GetDataview().getCurrRecIdx() + size, true, false);
|
|
19418
19251
|
this.GetDataview().setTopRecIdxModified(false);
|
|
19419
19252
|
await this.RefreshDisplay(Constants.TASK_REFRESH_FORM);
|
|
19420
19253
|
}
|
|
@@ -19454,6 +19287,7 @@ class MgForm extends MgFormBase {
|
|
|
19454
19287
|
try {
|
|
19455
19288
|
await this.RefreshDisplay(Constants.TASK_REFRESH_FORM);
|
|
19456
19289
|
await this.setCurrRowByDisplayLine(this.GetDataview().getTopRecIdx() + this.getLastValidRow(), false, true);
|
|
19290
|
+
visibleLine = this.getLastValidRow();
|
|
19457
19291
|
}
|
|
19458
19292
|
catch (Exception) {
|
|
19459
19293
|
}
|
|
@@ -29582,7 +29416,7 @@ class CommandsTable {
|
|
|
29582
29416
|
}
|
|
29583
29417
|
}
|
|
29584
29418
|
|
|
29585
|
-
let CurrentClientVersion = '4.1000.0-
|
|
29419
|
+
let CurrentClientVersion = '4.1000.0-dev4100.100';
|
|
29586
29420
|
|
|
29587
29421
|
class ClientManager {
|
|
29588
29422
|
constructor() {
|