@magic-xpa/engine 4.800.0-dev480.98 → 4.800.0

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.
Files changed (46) hide show
  1. package/bundles/magic-xpa-engine.umd.js +1238 -1066
  2. package/bundles/magic-xpa-engine.umd.js.map +1 -1
  3. package/bundles/magic-xpa-engine.umd.min.js +2 -2
  4. package/bundles/magic-xpa-engine.umd.min.js.map +1 -1
  5. package/esm2015/index.js +2 -1
  6. package/esm2015/src/ClientManager.js +2 -2
  7. package/esm2015/src/ConstInterface.js +7 -3
  8. package/esm2015/src/CurrentClientVersion.js +2 -2
  9. package/esm2015/src/commands/ClientToServer/CommandFactory.js +15 -1
  10. package/esm2015/src/commands/ClientToServer/ExecOperCommand.js +4 -1
  11. package/esm2015/src/commands/ClientToServer/SelectProgramCommand.js +15 -0
  12. package/esm2015/src/commands/ServerToClient/EnhancedVerifyCommand.js +1 -7
  13. package/esm2015/src/communications/InteractiveCommunicationsFailureHandler.js +2 -2
  14. package/esm2015/src/env/Environment.js +11 -1
  15. package/esm2015/src/event/ActionManager.js +3 -2
  16. package/esm2015/src/event/EventHandler.js +4 -4
  17. package/esm2015/src/event/EventsManager.js +120 -20
  18. package/esm2015/src/event/IEventsManager.js +1 -1
  19. package/esm2015/src/exp/ExpressionDict.js +3 -1
  20. package/esm2015/src/exp/ExpressionEvaluator.js +30 -19
  21. package/esm2015/src/gui/MgForm.js +16 -24
  22. package/esm2015/src/remote/RemoteCommandsProcessor.js +48 -21
  23. package/esm2015/src/rt/Operation.js +7 -30
  24. package/esm2015/src/tasks/MGData.js +11 -1
  25. package/esm2015/src/tasks/MGDataCollection.js +12 -2
  26. package/esm2015/src/tasks/Task.js +37 -45
  27. package/esm2015/src/util/PrmMap.js +11 -1
  28. package/fesm2015/magic-xpa-engine.js +333 -166
  29. package/fesm2015/magic-xpa-engine.js.map +1 -1
  30. package/index.d.ts +1 -0
  31. package/package.json +4 -4
  32. package/src/ConstInterface.d.ts +6 -2
  33. package/src/commands/ClientToServer/CommandFactory.d.ts +1 -0
  34. package/src/commands/ClientToServer/ExecOperCommand.d.ts +2 -1
  35. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +6 -0
  36. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +0 -1
  37. package/src/env/Environment.d.ts +3 -0
  38. package/src/event/EventsManager.d.ts +11 -1
  39. package/src/event/IEventsManager.d.ts +1 -0
  40. package/src/exp/ExpressionEvaluator.d.ts +1 -0
  41. package/src/gui/MgForm.d.ts +1 -1
  42. package/src/rt/Operation.d.ts +0 -3
  43. package/src/tasks/MGData.d.ts +2 -0
  44. package/src/tasks/MGDataCollection.d.ts +1 -0
  45. package/src/tasks/Task.d.ts +0 -1
  46. package/src/util/PrmMap.d.ts +1 -0
@@ -460,8 +460,6 @@
460
460
  ConstInterface.MG_ATTR_TITLE_EXP = "titleExp";
461
461
  ConstInterface.MG_ATTR_IMAGE = "image";
462
462
  ConstInterface.MG_ATTR_BUTTONS = "buttons";
463
- ConstInterface.MG_ATTR_DEFAULT_BUTTON = "defaultButton";
464
- ConstInterface.MG_ATTR_DEFAULT_BUTTON_EXP = "defaultButtonExp";
465
463
  ConstInterface.MG_ATTR_RETURN_VAL = "returnVal";
466
464
  ConstInterface.MG_ATTR_ERR_LOG_APPEND = "errorLogAppend";
467
465
  ConstInterface.MG_ATTR_EVENTVALUE = "eventvalue";
@@ -571,6 +569,7 @@
571
569
  ConstInterface.MG_ATTR_DEFAULT_FOCUS_COLOR = "defaultFocusColor";
572
570
  ConstInterface.MG_ATTR_DEFAULT_DISABLED_COLOR = "defaultDisabledColor";
573
571
  ConstInterface.MG_ATTR_CONTEXT_INACTIVITY_TIMEOUT = "ContextInactivityTimeout";
572
+ ConstInterface.MG_ATTR_CLIENT_CONTEXT_INACTIVITY_TIMEOUT = "ClientContextInactivityTimeout";
574
573
  ConstInterface.MG_ATTR_CONTEXT_INACTIVITY_TIMEOUT_LOWER = "contextinactivitytimeout";
575
574
  ConstInterface.MG_ATTR_CONTEXT_INACTIVITY_WARNING_TIME = "ContextInactivityWarningTime";
576
575
  ConstInterface.MG_ATTR_CONTEXT_INACTIVITY_WARNING_TIME_LOWER = "contextinactivitywarningtime";
@@ -920,6 +919,10 @@
920
919
  ConstInterface.MAIN_PROG_VIEW = "MainProgramsDataView";
921
920
  ConstInterface.GLOBAL_PARAM_LIST = "GlobalParamList";
922
921
  ConstInterface.LAST_EXCEPTION = "LastException";
922
+ ConstInterface.CTX_REMOVED_FROM_SRVR = "CtxRemovedFromSrvr";
923
+ ConstInterface.LAST_ROUTE_EVENT = "LastRouteEvent";
924
+ ConstInterface.LAST_ROUTE_EVENT_ARG_LIST = "LastRouteEventArgList";
925
+ ConstInterface.LAST_ROUTE_EVENT_SRC_TSK = "LastRouteEventSourceTask";
923
926
  ConstInterface.IS_SESSION_REINITIALIZING = "IsSessionReInitializing";
924
927
  ConstInterface.RC_AUTHENTICATION_REQUEST = "RCAUTHENTICATIONREQUEST=Y";
925
928
  ConstInterface.V24_RIA_ERROR_PREFIX = "<RIA_ERROR_RESPONSE>";
@@ -1049,7 +1052,8 @@
1049
1052
  ConstInterface.MG_ATTR_SPECIAL_ANSI_BLOB_CHECK_NULL = "SpecialAnsiBlobCheckNull";
1050
1053
  ConstInterface.MG_ATTR_SPECIAL_TABLE_REDUCE_TITLE_HEIGHT = "SpecialTableReduceTitleHeight";
1051
1054
  ConstInterface.MG_ATTR_SPECIAL_DOTNET_ALLOW_ZERO_DATE = "SpecialDotNetAllowZeroDate";
1052
- ConstInterface.MG_ATTR_SPECIAL_REUSE_TABLE_EDITOR = "SpecialReuseTableEditor";
1055
+ ConstInterface.MG_ATTR_SPECIAL_REUSE_TABLE_EDITOR = "SpecialReuseTableEditor";
1056
+ ConstInterface.MG_TAG_LAST_ROUTE = "LastRoute";
1053
1057
 
1054
1058
  var ClientOriginatedCommand = /** @class */ (function () {
1055
1059
  function ClientOriginatedCommand() {
@@ -5218,6 +5222,9 @@
5218
5222
  ' in ' + '[' + this.Operation.getEventHandler().getEventHandlerInfo() + ']' +
5219
5223
  ' on ' + '[' + this.Operation.Task.getTaskInfo() + ']';
5220
5224
  };
5225
+ ExecOperCommand.prototype.getTask = function () {
5226
+ return this.Operation.Task;
5227
+ };
5221
5228
  return ExecOperCommand;
5222
5229
  }(ClientOriginatedCommandTaskTag));
5223
5230
 
@@ -6079,6 +6086,7 @@
6079
6086
  this._iteratorTaskIdx = 0;
6080
6087
  this.currMgdID = 0;
6081
6088
  this.StartupMgData = null;
6089
+ this._lastRouteSentToServer = "";
6082
6090
  }
6083
6091
  MGDataCollection.prototype.GetTaskByID = function (id) {
6084
6092
  var task = null;
@@ -6210,10 +6218,17 @@
6210
6218
  };
6211
6219
  MGDataCollection.prototype.buildXML = function (message, serializeTasks) {
6212
6220
  return __awaiter(this, void 0, void 0, function () {
6213
- var i, mgd;
6221
+ var lastRoute, i, mgd;
6214
6222
  return __generator(this, function (_a) {
6215
6223
  switch (_a.label) {
6216
6224
  case 0:
6225
+ lastRoute = gui.Commands.getLastRoute();
6226
+ if (lastRoute !== this._lastRouteSentToServer) {
6227
+ message.Append(utils.XMLConstants.START_TAG + ConstInterface.MG_TAG_LAST_ROUTE);
6228
+ message.Append(" " + ConstInterface.MG_ATTR_ENV_VALUE + "=\"" + lastRoute + "\"");
6229
+ message.Append(utils.XMLConstants.TAG_TERM);
6230
+ this._lastRouteSentToServer = lastRoute;
6231
+ }
6217
6232
  i = 0;
6218
6233
  _a.label = 1;
6219
6234
  case 1:
@@ -6467,7 +6482,9 @@
6467
6482
  return [4 /*yield*/, this.StoreSessionReInitializingDataOnLocalStorage()];
6468
6483
  case 1:
6469
6484
  _a.sent();
6470
- navigateRootRoute = Environment.Instance.getSpecialRouteToRootProgOnContextRecreation() ? true : false;
6485
+ navigateRootRoute = false;
6486
+ if (!gui.RuntimeContextBase.Instance.RemovedContextFromServer)
6487
+ navigateRootRoute = Environment.Instance.getSpecialRouteToRootProgOnContextRecreation() ? true : false;
6471
6488
  gui.Commands.addRefreshPage(navigateRootRoute, RemoteCommandsProcessor.InitialUrl);
6472
6489
  throw new mscorelib.Exception('');
6473
6490
  }
@@ -6488,6 +6505,9 @@
6488
6505
  dataStorage.setItem(ConstInterface.MAIN_PROG_VIEW, mainPrgViewStringForServer.toString());
6489
6506
  dataStorage.setItem(ConstInterface.GLOBAL_PARAM_LIST, globalParamsString);
6490
6507
  dataStorage.setItem(ConstInterface.LAST_EXCEPTION, RemoteCommandsProcessor.lastExceptionMessage);
6508
+ if (gui.RuntimeContextBase.Instance.RemovedContextFromServer)
6509
+ dataStorage.setItem(ConstInterface.CTX_REMOVED_FROM_SRVR, "1");
6510
+ EventsManager.Instance.storeLastSavedRouteEventOnLocalStorage();
6491
6511
  return [2 /*return*/];
6492
6512
  }
6493
6513
  });
@@ -6708,7 +6728,7 @@
6708
6728
  if (cmdsToServer.getCmd(i) instanceof ExecOperCommand) {
6709
6729
  operCmd = currMGData.CmdsToServer.getCmd(i);
6710
6730
  this._requestInfo.serverCallAt = operCmd.getCommandInfo();
6711
- this._requestInfo.runtimeTaskTree = this.GetTaskTree(operCmd.Operation.Task);
6731
+ this._requestInfo.runtimeTaskTree = this.GetTaskTree(operCmd.getTask());
6712
6732
  operExecution = true;
6713
6733
  break;
6714
6734
  }
@@ -6771,7 +6791,7 @@
6771
6791
  };
6772
6792
  RemoteCommandsProcessor.prototype.Execute_1 = function (sendingInstruction, sessionStage, res) {
6773
6793
  return __awaiter(this, void 0, void 0, function () {
6774
- var reqBuf, isInitialCall, globalParamsString, val, changes, buffer, scrambledChanges, requestStatus, respBuf, success, dataStorage, task, dataViewWasRetrieved;
6794
+ var reqBuf, isInitialCall, globalParamsString, val, ctxRemoved, changes, buffer, scrambledChanges, requestStatus, respBuf, dataStorage, dataStorage, ctxRemoved, task, dataViewWasRetrieved;
6775
6795
  return __generator(this, function (_a) {
6776
6796
  switch (_a.label) {
6777
6797
  case 0:
@@ -6790,8 +6810,11 @@
6790
6810
  if (val === 'true') {
6791
6811
  RemoteCommandsProcessor.IsSessionReInitializing = (val === "true") ? true : false;
6792
6812
  RemoteCommandsProcessor.lastExceptionMessage = this.RestoreSessionReInitializingDataFromLocalStorage(ConstInterface.LAST_EXCEPTION);
6793
- utils.Logger.Instance.WriteErrorToLog(RemoteCommandsProcessor.lastExceptionMessage);
6794
- utils.Logger.Instance.WriteToLog("Session is reinitializing...", true);
6813
+ ctxRemoved = this.RestoreSessionReInitializingDataFromLocalStorage(ConstInterface.CTX_REMOVED_FROM_SRVR);
6814
+ if (ctxRemoved !== '1') {
6815
+ utils.Logger.Instance.WriteErrorToLog(RemoteCommandsProcessor.lastExceptionMessage);
6816
+ utils.Logger.Instance.WriteToLog("Session is reinitializing...", true);
6817
+ }
6795
6818
  }
6796
6819
  }
6797
6820
  if (!(sendingInstruction === exports.CommandsProcessorBase_SendingInstruction.NO_TASKS_OR_COMMANDS)) return [3 /*break*/, 3];
@@ -6831,15 +6854,23 @@
6831
6854
  if (RemoteCommandsProcessor.IsSessionReInitializing) {
6832
6855
  reqBuf = reqBuf + this.RestoreSessionReInitializingDataFromLocalStorage(ConstInterface.MAIN_PROG_VIEW);
6833
6856
  }
6834
- return [4 /*yield*/, this.DispatchRequest(this.ServerUrl, reqBuf, sessionStage, requestStatus)];
6857
+ if (!gui.RuntimeContextBase.Instance.RemovedContextFromServer) return [3 /*break*/, 6];
6858
+ requestStatus.value = RequestStatus.Retry;
6859
+ return [3 /*break*/, 8];
6835
6860
  case 6:
6836
- respBuf = _a.sent();
6837
- if (!(requestStatus.value == RequestStatus.Retry)) return [3 /*break*/, 8];
6838
- return [4 /*yield*/, this.ReStartSession()];
6861
+ if (gui.RuntimeContextBase.Instance.RemovingContextFromServer)
6862
+ gui.RuntimeContextBase.Instance.RemovedContextFromServer = true;
6863
+ return [4 /*yield*/, this.DispatchRequest(this.ServerUrl, reqBuf, sessionStage, requestStatus)];
6839
6864
  case 7:
6840
- _a.sent();
6865
+ respBuf = _a.sent();
6841
6866
  _a.label = 8;
6842
6867
  case 8:
6868
+ if (!(requestStatus.value == RequestStatus.Retry)) return [3 /*break*/, 10];
6869
+ return [4 /*yield*/, this.ReStartSession()];
6870
+ case 9:
6871
+ _a.sent();
6872
+ _a.label = 10;
6873
+ case 10:
6843
6874
  if (respBuf == null)
6844
6875
  return [2 /*return*/];
6845
6876
  if (isInitialCall) {
@@ -6854,26 +6885,35 @@
6854
6885
  }
6855
6886
  FlowMonitorQueue.Instance.enable(false);
6856
6887
  return [4 /*yield*/, this.ProcessResponse(respBuf, AccessHelper.mgDataTable.currMgdID, null, res)];
6857
- case 9:
6888
+ case 11:
6858
6889
  _a.sent();
6859
6890
  if (RemoteCommandsProcessor.IsSessionReInitializing) {
6860
6891
  AccessHelper.globalParams.RestoreGlobalParams(globalParamsString);
6892
+ dataStorage = window.localStorage;
6893
+ ctxRemoved = dataStorage.getItem(ConstInterface.CTX_REMOVED_FROM_SRVR);
6894
+ if (ctxRemoved === "1") {
6895
+ EventsManager.Instance.restoreLastSavedRouteEventFromLocalStorage();
6896
+ dataStorage.removeItem(ConstInterface.CTX_REMOVED_FROM_SRVR);
6897
+ dataStorage.removeItem(ConstInterface.LAST_ROUTE_EVENT);
6898
+ dataStorage.removeItem(ConstInterface.LAST_ROUTE_EVENT_SRC_TSK);
6899
+ dataStorage.removeItem(ConstInterface.LAST_ROUTE_EVENT_ARG_LIST);
6900
+ }
6861
6901
  RemoteCommandsProcessor.IsSessionReInitializing = false;
6862
6902
  }
6863
- if (!(sendingInstruction === exports.CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS)) return [3 /*break*/, 13];
6903
+ if (!(sendingInstruction === exports.CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS)) return [3 /*break*/, 15];
6864
6904
  AccessHelper.mgDataTable.startTasksIteration();
6865
6905
  task = void 0;
6866
- _a.label = 10;
6867
- case 10:
6868
- if (!((task = AccessHelper.mgDataTable.getNextTask()) !== null)) return [3 /*break*/, 13];
6906
+ _a.label = 12;
6907
+ case 12:
6908
+ if (!((task = AccessHelper.mgDataTable.getNextTask()) !== null)) return [3 /*break*/, 15];
6869
6909
  dataViewWasRetrieved = task.DataViewWasRetrieved;
6870
- if (!dataViewWasRetrieved) return [3 /*break*/, 12];
6910
+ if (!dataViewWasRetrieved) return [3 /*break*/, 14];
6871
6911
  return [4 /*yield*/, task.RefreshDisplay()];
6872
- case 11:
6873
- _a.sent();
6874
- _a.label = 12;
6875
- case 12: return [3 /*break*/, 10];
6876
6912
  case 13:
6913
+ _a.sent();
6914
+ _a.label = 14;
6915
+ case 14: return [3 /*break*/, 12];
6916
+ case 15:
6877
6917
  if (isInitialCall)
6878
6918
  ServerConfig.Instance.setGlobalParams(null);
6879
6919
  return [2 /*return*/];
@@ -6901,7 +6941,7 @@
6901
6941
  }
6902
6942
  _b.label = 1;
6903
6943
  case 1:
6904
- _b.trys.push([1, 3, , 10]);
6944
+ _b.trys.push([1, 3, , 11]);
6905
6945
  if (utils.Logger.Instance.ShouldLogExtendedServerRelatedMessages())
6906
6946
  utils.Logger.Instance.WriteServerMessagesToLog(mscorelib.NString.Format("MESSAGE TO SERVER:\n URL: {0}\n BODY: {1}", url, encodedBody));
6907
6947
  return [4 /*yield*/, this.ExecuteRequest(url, encodedBody)];
@@ -6923,33 +6963,37 @@
6923
6963
  }
6924
6964
  utils.Logger.Instance.WriteDevToLog("MESSAGE FROM SERVER: (size = " + response.length + ")" + utils.OSEnvironment.EolSeq + response);
6925
6965
  this._lastRequestTime = utils.Misc.getSystemMilliseconds();
6926
- return [3 /*break*/, 10];
6966
+ return [3 /*break*/, 11];
6927
6967
  case 3:
6928
6968
  ex_3 = _b.sent();
6929
- if (!(ex_3 instanceof ServerError)) return [3 /*break*/, 9];
6969
+ if (!(ex_3 instanceof ServerError)) return [3 /*break*/, 10];
6930
6970
  requestStatus.value = RequestStatus.Abort;
6931
- if (!(sessionStage == exports.CommandsProcessorBase_SessionStage.NORMAL)) return [3 /*break*/, 9];
6932
- if (!(ex_3.GetCode() == ServerError.ERR_CTX_NOT_FOUND || ex_3.GetCode() == ServerError.ERR_THREAD_ABORTED)) return [3 /*break*/, 9];
6971
+ if (!(sessionStage == exports.CommandsProcessorBase_SessionStage.NORMAL)) return [3 /*break*/, 10];
6972
+ if (!(ex_3.GetCode() == ServerError.ERR_CTX_NOT_FOUND || ex_3.GetCode() == ServerError.ERR_THREAD_ABORTED)) return [3 /*break*/, 10];
6973
+ if (!gui.RuntimeContextBase.Instance.RemovedContextFromServer) return [3 /*break*/, 4];
6974
+ requestStatus.value = RequestStatus.Retry;
6975
+ return [3 /*break*/, 9];
6976
+ case 4:
6933
6977
  _a = Environment.Instance.getWebClientReinitSession();
6934
6978
  switch (_a) {
6935
- case 'Y': return [3 /*break*/, 4];
6936
- case 'A': return [3 /*break*/, 5];
6937
- case 'N': return [3 /*break*/, 7];
6979
+ case 'Y': return [3 /*break*/, 5];
6980
+ case 'A': return [3 /*break*/, 6];
6981
+ case 'N': return [3 /*break*/, 8];
6938
6982
  }
6939
- return [3 /*break*/, 7];
6940
- case 4:
6941
- requestStatus.value = RequestStatus.Retry;
6942
6983
  return [3 /*break*/, 8];
6943
- case 5: return [4 /*yield*/, GUIManager.Instance.MessageBox("Error", "Unknown error occurred at server-side." +
6984
+ case 5:
6985
+ requestStatus.value = RequestStatus.Retry;
6986
+ return [3 /*break*/, 9];
6987
+ case 6: return [4 /*yield*/, GUIManager.Instance.MessageBox("Error", "Unknown error occurred at server-side." +
6944
6988
  " Would you like to reinitialize the session?", gui.Styles.MSGBOX_BUTTON_YES_NO)];
6945
- case 6:
6989
+ case 7:
6946
6990
  retval = _b.sent();
6947
6991
  requestStatus.value = (retval == gui.Styles.MSGBOX_RESULT_YES) ? RequestStatus.Retry : RequestStatus.Abort;
6948
- return [3 /*break*/, 8];
6949
- case 7:
6950
- requestStatus.value = RequestStatus.Abort;
6951
- return [3 /*break*/, 8];
6992
+ return [3 /*break*/, 9];
6952
6993
  case 8:
6994
+ requestStatus.value = RequestStatus.Abort;
6995
+ return [3 /*break*/, 9];
6996
+ case 9:
6953
6997
  if (requestStatus.value == RequestStatus.Abort) {
6954
6998
  Environment.Instance.setWebClientReinitSession('N');
6955
6999
  throw ex_3;
@@ -6960,10 +7004,10 @@
6960
7004
  console.log(RemoteCommandsProcessor.lastExceptionMessage);
6961
7005
  }
6962
7006
  return [2 /*return*/, null];
6963
- case 9:
7007
+ case 10:
6964
7008
  window.localStorage.clear();
6965
7009
  throw ex_3;
6966
- case 10: return [2 /*return*/, response];
7010
+ case 11: return [2 /*return*/, response];
6967
7011
  }
6968
7012
  });
6969
7013
  });
@@ -7478,7 +7522,7 @@
7478
7522
  exceptionCaption = "";
7479
7523
  exceptionMessage = url.split('?')[0] + utils.OSEnvironment.EolSeq + utils.OSEnvironment.EolSeq + ex.message + utils.OSEnvironment.EolSeq + utils.OSEnvironment.EolSeq;
7480
7524
  _a = this;
7481
- return [4 /*yield*/, GUIManager.Instance.MessageBox(exceptionCaption, exceptionMessage + "Do you wish to retry connecting?", gui.Styles.MSGBOX_BUTTON_YES_NO | gui.Styles.MSGBOX_DEFAULT_BUTTON_2)];
7525
+ return [4 /*yield*/, GUIManager.Instance.MessageBox(exceptionCaption, exceptionMessage + "Do you wish to retry connecting?", gui.Styles.MSGBOX_BUTTON_YES_NO)];
7482
7526
  case 1:
7483
7527
  _a.ShouldRetryLastRequest = ((_b.sent()) === gui.Styles.MSGBOX_RESULT_YES);
7484
7528
  return [2 /*return*/];
@@ -8933,6 +8977,8 @@
8933
8977
  new ExpDesc('B', 0, -2, -2, '*', false),
8934
8978
  new ExpDesc('*', 0, 1, 1, 'A', false),
8935
8979
  new ExpDesc('B', 0, 1, 1, 'A', false),
8980
+ null,
8981
+ new ExpDesc('U', 0, 0, 0, '', false),
8936
8982
  ];
8937
8983
 
8938
8984
  (function (DataViewCommandType) {
@@ -9708,6 +9754,24 @@
9708
9754
  return ContextTimeoutResetCommand;
9709
9755
  }(EventCommand));
9710
9756
 
9757
+ var SelectProgramCommand = /** @class */ (function (_super) {
9758
+ __extends(SelectProgramCommand, _super);
9759
+ function SelectProgramCommand() {
9760
+ return _super !== null && _super.apply(this, arguments) || this;
9761
+ }
9762
+ SelectProgramCommand.prototype.getCommandInfo = function () {
9763
+ var eventsManager = AccessHelper.eventsManager;
9764
+ var rtEvt = eventsManager.getLastRtEvent();
9765
+ return 'Select Program ' + 'on Control ' + rtEvt.Control.Name;
9766
+ };
9767
+ SelectProgramCommand.prototype.getTask = function () {
9768
+ var eventsManager = AccessHelper.eventsManager;
9769
+ var rtEvt = eventsManager.getLastRtEvent();
9770
+ return rtEvt.getTask();
9771
+ };
9772
+ return SelectProgramCommand;
9773
+ }(ExecOperCommand));
9774
+
9711
9775
  var CommandFactory = /** @class */ (function () {
9712
9776
  function CommandFactory() {
9713
9777
  }
@@ -9955,6 +10019,19 @@
9955
10019
  cmd.Val = value;
9956
10020
  return cmd;
9957
10021
  };
10022
+ CommandFactory.CreateSelectProgramCommand = function (taskTag, handlerId, operIdx, ditIdx, value) {
10023
+ var execOperCommand = new SelectProgramCommand();
10024
+ execOperCommand.OperIdx = operIdx;
10025
+ execOperCommand.TaskTag = taskTag;
10026
+ execOperCommand.HandlerId = handlerId;
10027
+ execOperCommand.DitIdx = ditIdx;
10028
+ var cmd = execOperCommand;
10029
+ if (value !== null && value.length === 0)
10030
+ cmd.Val = " ";
10031
+ else
10032
+ cmd.Val = value;
10033
+ return cmd;
10034
+ };
9958
10035
  CommandFactory.CreateEvaluateCommand = function (taskTag, expType, expIdx, expValLen, mprgCreator) {
9959
10036
  var evaluateCommand = new EvaluateCommand();
9960
10037
  evaluateCommand.TaskTag = taskTag;
@@ -10052,6 +10129,8 @@
10052
10129
  try {
10053
10130
  for (var _b = __values(this.values.Keys), _c = _b.next(); !_c.done; _c = _b.next()) {
10054
10131
  var key = _c.value;
10132
+ if (this.CheckIfSystemReservedParam(key))
10133
+ continue;
10055
10134
  xml.Append("<" + ConstInterface.MG_TAG_PARAM + " " +
10056
10135
  utils.XMLConstants.MG_ATTR_NAME + "=\"" + utils.XmlParser.escape(key) + "\" ");
10057
10136
  xml.Append(this.values.get_Item(key).mirrorToXML());
@@ -10069,6 +10148,14 @@
10069
10148
  }
10070
10149
  return xml.ToString();
10071
10150
  };
10151
+ MirrorPrmMap.prototype.CheckIfSystemReservedParam = function (key) {
10152
+ if (key == "UTF8TRANS" || key === "REMOTE_HOST" || key === "REMOTE_ADDR" ||
10153
+ key === "CTX" || key === "MGARG0" || key === "DATA" || key === "MGCURRENTREQUESTID" ||
10154
+ key === "HTTP_MGXPARIAGLOBALUNIQUESESSIONID" || key === "MG_POST_BODY")
10155
+ return true;
10156
+ else
10157
+ return false;
10158
+ };
10072
10159
  MirrorPrmMap.prototype.mirrorToXML = function () {
10073
10160
  var _this = this;
10074
10161
  var xml = new mscorelib.StringBuilder();
@@ -10147,6 +10234,7 @@
10147
10234
  function Environment() {
10148
10235
  this._environments = new mscorelib.Hashtable();
10149
10236
  this._contextInactivityTimeout = 0;
10237
+ this._clientContextInactivityTimeout = 0;
10150
10238
  this._contextInactivityWarningTime = 0;
10151
10239
  this._toolitipTimeout = 0;
10152
10240
  this._contextUnloadTimeout = 0;
@@ -10346,6 +10434,9 @@
10346
10434
  case ConstInterface.MG_ATTR_CONTEXT_INACTIVITY_TIMEOUT:
10347
10435
  this._contextInactivityTimeout = utils.XmlParser.getInt(valueStr);
10348
10436
  break;
10437
+ case ConstInterface.MG_ATTR_CLIENT_CONTEXT_INACTIVITY_TIMEOUT:
10438
+ this._clientContextInactivityTimeout = utils.XmlParser.getInt(valueStr);
10439
+ break;
10349
10440
  case ConstInterface.MG_ATTR_CONTEXT_INACTIVITY_WARNING_TIME:
10350
10441
  this._contextInactivityWarningTime = utils.XmlParser.getInt(valueStr);
10351
10442
  break;
@@ -10559,6 +10650,9 @@
10559
10650
  Environment.prototype.CanReplaceDecimalSeparator = function () {
10560
10651
  return !this.IgnoreReplaceDecimalSeparator && this._canReplaceDecimalSeparator;
10561
10652
  };
10653
+ Environment.prototype.getClientContextInactivityTimeout = function () {
10654
+ return this._clientContextInactivityTimeout;
10655
+ };
10562
10656
  Environment.prototype.getContextInactivityTimeout = function () {
10563
10657
  return this._contextInactivityTimeout;
10564
10658
  };
@@ -10664,6 +10758,9 @@
10664
10758
  Environment.prototype.setContextInactivityTimeout = function (val) {
10665
10759
  this._contextInactivityTimeout = val;
10666
10760
  };
10761
+ Environment.prototype.setClientContextInactivityTimeout = function (val) {
10762
+ this._clientContextInactivityTimeout = val;
10763
+ };
10667
10764
  Environment.prototype.setContextInactivityWarningTime = function (val) {
10668
10765
  this._contextInactivityWarningTime = val;
10669
10766
  };
@@ -10948,8 +11045,6 @@
10948
11045
  this._buttons = '\0';
10949
11046
  this._checkByServer = false;
10950
11047
  this._cmdToServer = null;
10951
- this._defaultButton = 0;
10952
- this._defaultButtonExp = null;
10953
11048
  this._display = 'S';
10954
11049
  this._errLogAppend = false;
10955
11050
  this._evtHandler = null;
@@ -11167,13 +11262,6 @@
11167
11262
  case ConstInterface.MG_ATTR_BUTTONS:
11168
11263
  this._buttons = valueStr[0];
11169
11264
  break;
11170
- case ConstInterface.MG_ATTR_DEFAULT_BUTTON:
11171
- this._defaultButton = utils.XmlParser.getInt(valueStr);
11172
- break;
11173
- case ConstInterface.MG_ATTR_DEFAULT_BUTTON_EXP:
11174
- expId = utils.XmlParser.getInt(valueStr);
11175
- this._defaultButtonExp = taskRef.getExpById(expId);
11176
- break;
11177
11265
  case ConstInterface.MG_ATTR_RETURN_VAL:
11178
11266
  this._returnVal = Operation.InitField(valueStr, this._task);
11179
11267
  break;
@@ -11356,8 +11444,10 @@
11356
11444
  if (!(subformTask != null)) return [3 /*break*/, 34];
11357
11445
  terminateTaskGracefully = true;
11358
11446
  rtEvnt = AccessHelper.eventsManager.getLastRtEvent();
11359
- if (this._isRoute && rtEvnt !== null && rtEvnt.isGuiTriggeredEvent())
11447
+ if (this._isRoute && rtEvnt !== null && rtEvnt.isGuiTriggeredEvent()) {
11360
11448
  terminateTaskGracefully = false;
11449
+ AccessHelper.eventsManager.setStopExecution(true);
11450
+ }
11361
11451
  return [4 /*yield*/, subformTask.endTask(true, false, !terminateTaskGracefully, true)];
11362
11452
  case 33:
11363
11453
  if (_e.sent()) {
@@ -11421,9 +11511,9 @@
11421
11511
  };
11422
11512
  Operation.prototype.operVerify = function () {
11423
11513
  return __awaiter(this, void 0, void 0, function () {
11424
- var isError, textToDisplay, _a, titleToDisplay, _b, prgDescription, mlsTransTextToDisplay, mlsTransTitleToDisplay, tmpdefaultButton, _c, verifyMode, delimPos, mgForm, returnValue;
11425
- return __generator(this, function (_d) {
11426
- switch (_d.label) {
11514
+ var isError, textToDisplay, _a, titleToDisplay, _b, prgDescription, mlsTransTextToDisplay, mlsTransTitleToDisplay, verifyMode, delimPos, mgForm, returnValue;
11515
+ return __generator(this, function (_c) {
11516
+ switch (_c.label) {
11427
11517
  case 0:
11428
11518
  isError = (this._mode === ConstInterface.FLW_VERIFY_MODE_ERROR);
11429
11519
  if (!(this._exp === null)) return [3 /*break*/, 1];
@@ -11431,8 +11521,8 @@
11431
11521
  return [3 /*break*/, 3];
11432
11522
  case 1: return [4 /*yield*/, this._exp.evaluateWithResultTypeAndLength(utils.StorageAttribute.UNICODE, 255)];
11433
11523
  case 2:
11434
- _a = _d.sent();
11435
- _d.label = 3;
11524
+ _a = _c.sent();
11525
+ _c.label = 3;
11436
11526
  case 3:
11437
11527
  textToDisplay = _a;
11438
11528
  if (!(this._titleExp === null)) return [3 /*break*/, 4];
@@ -11440,8 +11530,8 @@
11440
11530
  return [3 /*break*/, 6];
11441
11531
  case 4: return [4 /*yield*/, this._titleExp.evaluateWithResultTypeAndLength(utils.StorageAttribute.UNICODE, 255)];
11442
11532
  case 5:
11443
- _b = _d.sent();
11444
- _d.label = 6;
11533
+ _b = _c.sent();
11534
+ _c.label = 6;
11445
11535
  case 6:
11446
11536
  titleToDisplay = _b;
11447
11537
  textToDisplay = textToDisplay === null ? "" : utils.StrUtil.rtrim(textToDisplay);
@@ -11455,23 +11545,14 @@
11455
11545
  FlowMonitorQueue.Instance.addFlowVerifyInfo(textToDisplay, this._task.GetTaskDetails());
11456
11546
  this._task.GetContextTask().WriteToMessagePane(textToDisplay, false);
11457
11547
  }
11458
- return [3 /*break*/, 15];
11548
+ return [3 /*break*/, 12];
11459
11549
  case 7:
11460
- if (!!mscorelib.NString.IsNullOrEmpty(textToDisplay)) return [3 /*break*/, 15];
11550
+ if (!!mscorelib.NString.IsNullOrEmpty(textToDisplay)) return [3 /*break*/, 12];
11461
11551
  mlsTransTextToDisplay = LanguageData.Instance.translate(textToDisplay);
11462
11552
  mlsTransTitleToDisplay = LanguageData.Instance.translate(titleToDisplay);
11463
- if (!(this._defaultButtonExp == null)) return [3 /*break*/, 8];
11464
- _c = this._defaultButton;
11465
- return [3 /*break*/, 10];
11466
- case 8: return [4 /*yield*/, this._defaultButtonExp.evaluateWithResType(utils.StorageAttribute.NUMERIC)];
11467
- case 9:
11468
- _c = (_d.sent()).MgNumVal.NUM_2_LONG();
11469
- _d.label = 10;
11470
- case 10:
11471
- tmpdefaultButton = _c;
11472
11553
  verifyMode = Operation.getButtons(this._buttons);
11473
11554
  verifyMode = verifyMode || Operation.getImage(this._image);
11474
- verifyMode = verifyMode || Operation.getDefaultButton(tmpdefaultButton);
11555
+ verifyMode = verifyMode;
11475
11556
  if (utils.UtilStrByteMode.isLocaleDefLangJPN()) {
11476
11557
  delimPos = mlsTransTextToDisplay.indexOf('|');
11477
11558
  if (0 <= delimPos && delimPos < mlsTransTextToDisplay.length) {
@@ -11484,21 +11565,21 @@
11484
11565
  mgForm = this._task.GetContextTask().getTopMostForm();
11485
11566
  if (mgForm == null && LastFocusedManager.Instance.getLastFocusedTask() != null)
11486
11567
  mgForm = LastFocusedManager.Instance.getLastFocusedTask().getTopMostForm();
11487
- if (!(mgForm != null)) return [3 /*break*/, 12];
11568
+ if (!(mgForm != null)) return [3 /*break*/, 9];
11488
11569
  mgForm.RefreshUI();
11489
11570
  gui.Commands.invoke();
11490
11571
  return [4 /*yield*/, mscorelib.Thread.Sleep(10)];
11491
- case 11:
11492
- _d.sent();
11493
- _d.label = 12;
11494
- case 12: return [4 /*yield*/, GUIManager.Instance.MessageBox(mlsTransTitleToDisplay, mlsTransTextToDisplay, verifyMode)];
11495
- case 13:
11496
- returnValue = _d.sent();
11572
+ case 8:
11573
+ _c.sent();
11574
+ _c.label = 9;
11575
+ case 9: return [4 /*yield*/, GUIManager.Instance.MessageBox(mlsTransTitleToDisplay, mlsTransTextToDisplay, verifyMode)];
11576
+ case 10:
11577
+ returnValue = _c.sent();
11497
11578
  return [4 /*yield*/, Operation.setoperVerifyReturnValue(returnValue, this._returnVal)];
11498
- case 14:
11499
- _d.sent();
11500
- _d.label = 15;
11501
- case 15: return [2 /*return*/, isError];
11579
+ case 11:
11580
+ _c.sent();
11581
+ _c.label = 12;
11582
+ case 12: return [2 /*return*/, isError];
11502
11583
  }
11503
11584
  });
11504
11585
  });
@@ -11549,23 +11630,6 @@
11549
11630
  }
11550
11631
  return tmpImage;
11551
11632
  };
11552
- Operation.getDefaultButton = function (defaultButtonID) {
11553
- var tmpdefaultButton = 0;
11554
- switch (defaultButtonID) {
11555
- case 1:
11556
- tmpdefaultButton = gui.Styles.MSGBOX_DEFAULT_BUTTON_1;
11557
- break;
11558
- case 2:
11559
- tmpdefaultButton = gui.Styles.MSGBOX_DEFAULT_BUTTON_2;
11560
- break;
11561
- case 3:
11562
- tmpdefaultButton = gui.Styles.MSGBOX_DEFAULT_BUTTON_3;
11563
- break;
11564
- default:
11565
- break;
11566
- }
11567
- return tmpdefaultButton;
11568
- };
11569
11633
  Operation.setoperVerifyReturnValue = function (returnValue, returnVal) {
11570
11634
  return __awaiter(this, void 0, void 0, function () {
11571
11635
  var retValueNum, returnValueStr;
@@ -11754,6 +11818,7 @@
11754
11818
  aRtEvt.setArgList(this._argList);
11755
11819
  if (aRtEvt.getTask().isMainProg())
11756
11820
  aRtEvt.setMainPrgCreator(mprgCreator);
11821
+ AccessHelper.eventsManager.checkAndSaveRouteEventIfCtxRemovedFromSrvr(aRtEvt);
11757
11822
  AccessHelper.eventsManager.pushExecStack(this._task.getTaskTag(), this._evtHandler.getId().toString(), this._serverId);
11758
11823
  return [4 /*yield*/, AccessHelper.eventsManager.handleEvent(aRtEvt, returnedFromServer)];
11759
11824
  case 3:
@@ -11768,6 +11833,7 @@
11768
11833
  aRtEvt.setArgList(arglist);
11769
11834
  aRtEvt.setTask(null);
11770
11835
  AccessHelper.eventsManager.addToTail(aRtEvt);
11836
+ AccessHelper.eventsManager.checkAndSaveRouteEventIfCtxRemovedFromSrvr(aRtEvt);
11771
11837
  _a.label = 6;
11772
11838
  case 6: return [2 /*return*/];
11773
11839
  }
@@ -12810,53 +12876,54 @@
12810
12876
  case gui.ExpressionInterface.EXP_OP_SET_COOKIE: return [3 /*break*/, 212];
12811
12877
  case gui.ExpressionInterface.EXP_OP_GET_COOKIE: return [3 /*break*/, 213];
12812
12878
  case gui.ExpressionInterface.EXP_OP_DELETE_COOKIE: return [3 /*break*/, 214];
12879
+ case gui.ExpressionInterface.EXP_OP_ROUTEGET: return [3 /*break*/, 215];
12813
12880
  }
12814
- return [3 /*break*/, 215];
12881
+ return [3 /*break*/, 216];
12815
12882
  case 8:
12816
12883
  val2 = valStack.pop();
12817
12884
  val1 = valStack.pop();
12818
12885
  resVal.MgNumVal = gui.NUM_TYPE.add(val1.MgNumVal, val2.MgNumVal);
12819
12886
  resVal.Attr = utils.StorageAttribute.NUMERIC;
12820
12887
  resVal.IsNull = (resVal.MgNumVal == null);
12821
- return [3 /*break*/, 216];
12888
+ return [3 /*break*/, 217];
12822
12889
  case 9:
12823
12890
  val2 = valStack.pop();
12824
12891
  val1 = valStack.pop();
12825
12892
  resVal.MgNumVal = gui.NUM_TYPE.sub(val1.MgNumVal, val2.MgNumVal);
12826
12893
  resVal.Attr = utils.StorageAttribute.NUMERIC;
12827
12894
  resVal.IsNull = (resVal.MgNumVal == null);
12828
- return [3 /*break*/, 216];
12895
+ return [3 /*break*/, 217];
12829
12896
  case 10:
12830
12897
  val2 = valStack.pop();
12831
12898
  val1 = valStack.pop();
12832
12899
  resVal.MgNumVal = gui.NUM_TYPE.mul(val1.MgNumVal, val2.MgNumVal);
12833
12900
  resVal.Attr = utils.StorageAttribute.NUMERIC;
12834
12901
  resVal.IsNull = (resVal.MgNumVal == null);
12835
- return [3 /*break*/, 216];
12902
+ return [3 /*break*/, 217];
12836
12903
  case 11:
12837
12904
  val2 = valStack.pop();
12838
12905
  val1 = valStack.pop();
12839
12906
  resVal.MgNumVal = gui.NUM_TYPE.div(val1.MgNumVal, val2.MgNumVal);
12840
12907
  resVal.Attr = utils.StorageAttribute.NUMERIC;
12841
12908
  resVal.IsNull = (resVal.MgNumVal == null);
12842
- return [3 /*break*/, 216];
12909
+ return [3 /*break*/, 217];
12843
12910
  case 12:
12844
12911
  val2 = valStack.pop();
12845
12912
  val1 = valStack.pop();
12846
12913
  resVal.MgNumVal = gui.NUM_TYPE.mod(val1.MgNumVal, val2.MgNumVal);
12847
12914
  resVal.Attr = utils.StorageAttribute.NUMERIC;
12848
12915
  resVal.IsNull = (resVal.MgNumVal == null);
12849
- return [3 /*break*/, 216];
12916
+ return [3 /*break*/, 217];
12850
12917
  case 13:
12851
12918
  val1 = valStack.pop();
12852
12919
  resVal.Attr = utils.StorageAttribute.NUMERIC;
12853
12920
  if (val1.MgNumVal == null) {
12854
12921
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.NUMERIC);
12855
- return [3 /*break*/, 216];
12922
+ return [3 /*break*/, 217];
12856
12923
  }
12857
12924
  val1.MgNumVal.num_neg();
12858
12925
  resVal.MgNumVal = new gui.NUM_TYPE(val1.MgNumVal);
12859
- return [3 /*break*/, 216];
12926
+ return [3 /*break*/, 217];
12860
12927
  case 14:
12861
12928
  val3 = valStack.pop();
12862
12929
  val2 = valStack.pop();
@@ -12864,14 +12931,14 @@
12864
12931
  resVal.Attr = utils.StorageAttribute.NUMERIC;
12865
12932
  if (val1.MgNumVal == null || val2.MgNumVal == null || val3.MgNumVal == null) {
12866
12933
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.NUMERIC);
12867
- return [3 /*break*/, 216];
12934
+ return [3 /*break*/, 217];
12868
12935
  }
12869
12936
  resVal.MgNumVal = new gui.NUM_TYPE(val1.MgNumVal);
12870
12937
  whole = val2.MgNumVal.NUM_2_LONG();
12871
12938
  resVal.MgNumVal.num_fix(whole);
12872
12939
  dec = val3.MgNumVal.NUM_2_LONG();
12873
12940
  resVal.MgNumVal.num_trunc(dec);
12874
- return [3 /*break*/, 216];
12941
+ return [3 /*break*/, 217];
12875
12942
  case 15:
12876
12943
  val3 = valStack.pop();
12877
12944
  val2 = valStack.pop();
@@ -12879,14 +12946,14 @@
12879
12946
  resVal.Attr = utils.StorageAttribute.NUMERIC;
12880
12947
  if (val1.MgNumVal == null || val2.MgNumVal == null || val3.MgNumVal == null) {
12881
12948
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.NUMERIC);
12882
- return [3 /*break*/, 216];
12949
+ return [3 /*break*/, 217];
12883
12950
  }
12884
12951
  resVal.MgNumVal = new gui.NUM_TYPE(val1.MgNumVal);
12885
12952
  whole = val2.MgNumVal.NUM_2_LONG();
12886
12953
  resVal.MgNumVal.num_fix(whole);
12887
12954
  dec = val3.MgNumVal.NUM_2_LONG();
12888
12955
  resVal.MgNumVal.round(dec);
12889
- return [3 /*break*/, 216];
12956
+ return [3 /*break*/, 217];
12890
12957
  case 16:
12891
12958
  val2 = valStack.pop();
12892
12959
  val1 = valStack.pop();
@@ -12902,7 +12969,7 @@
12902
12969
  throw nullValueException;
12903
12970
  }
12904
12971
  expStrTracker.resetNullResult();
12905
- return [3 /*break*/, 216];
12972
+ return [3 /*break*/, 217];
12906
12973
  case 17:
12907
12974
  val2 = valStack.pop();
12908
12975
  val1 = valStack.pop();
@@ -12917,7 +12984,7 @@
12917
12984
  else
12918
12985
  throw nullValueException;
12919
12986
  }
12920
- return [3 /*break*/, 216];
12987
+ return [3 /*break*/, 217];
12921
12988
  case 18:
12922
12989
  val2 = valStack.pop();
12923
12990
  val1 = valStack.pop();
@@ -12932,7 +12999,7 @@
12932
12999
  else
12933
13000
  throw nullValueException;
12934
13001
  }
12935
- return [3 /*break*/, 216];
13002
+ return [3 /*break*/, 217];
12936
13003
  case 19:
12937
13004
  val2 = valStack.pop();
12938
13005
  val1 = valStack.pop();
@@ -12947,7 +13014,7 @@
12947
13014
  else
12948
13015
  throw nullValueException;
12949
13016
  }
12950
- return [3 /*break*/, 216];
13017
+ return [3 /*break*/, 217];
12951
13018
  case 20:
12952
13019
  val2 = valStack.pop();
12953
13020
  val1 = valStack.pop();
@@ -12962,7 +13029,7 @@
12962
13029
  else
12963
13030
  throw nullValueException;
12964
13031
  }
12965
- return [3 /*break*/, 216];
13032
+ return [3 /*break*/, 217];
12966
13033
  case 21:
12967
13034
  val2 = valStack.pop();
12968
13035
  val1 = valStack.pop();
@@ -12977,11 +13044,11 @@
12977
13044
  else
12978
13045
  throw nullValueException;
12979
13046
  }
12980
- return [3 /*break*/, 216];
13047
+ return [3 /*break*/, 217];
12981
13048
  case 22:
12982
13049
  resVal = valStack.pop();
12983
13050
  resVal.BoolVal = !resVal.BoolVal;
12984
- return [3 /*break*/, 216];
13051
+ return [3 /*break*/, 217];
12985
13052
  case 23:
12986
13053
  resVal = valStack.pop();
12987
13054
  dynOper = new DynamicOperation();
@@ -12997,7 +13064,7 @@
12997
13064
  addedOpers.push(dynOper);
12998
13065
  addResult = false;
12999
13066
  }
13000
- return [3 /*break*/, 216];
13067
+ return [3 /*break*/, 217];
13001
13068
  case 24:
13002
13069
  resVal = valStack.pop();
13003
13070
  dynOper = new DynamicOperation();
@@ -13012,7 +13079,7 @@
13012
13079
  addedOpers.push(dynOper);
13013
13080
  addResult = false;
13014
13081
  }
13015
- return [3 /*break*/, 216];
13082
+ return [3 /*break*/, 217];
13016
13083
  case 25:
13017
13084
  val1 = valStack.pop();
13018
13085
  if (val1.BoolVal) {
@@ -13043,20 +13110,20 @@
13043
13110
  }
13044
13111
  addResult = false;
13045
13112
  expStrTracker.resetNullResult();
13046
- return [3 /*break*/, 216];
13113
+ return [3 /*break*/, 217];
13047
13114
  case 26:
13048
13115
  val1 = valStack.pop();
13049
13116
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13050
13117
  if (val1.StrVal == null) {
13051
13118
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.NUMERIC);
13052
- return [3 /*break*/, 216];
13119
+ return [3 /*break*/, 217];
13053
13120
  }
13054
13121
  resVal.MgNumVal = new gui.NUM_TYPE();
13055
13122
  if (specialAnsiExpression || val1.Attr !== utils.StorageAttribute.UNICODE)
13056
13123
  resVal.MgNumVal.NUM_4_LONG(utils.UtilStrByteMode.lenB(val1.StrVal));
13057
13124
  else
13058
13125
  resVal.MgNumVal.NUM_4_LONG(val1.StrVal.length);
13059
- return [3 /*break*/, 216];
13126
+ return [3 /*break*/, 217];
13060
13127
  case 27:
13061
13128
  val2 = valStack.pop();
13062
13129
  val1 = valStack.pop();
@@ -13066,7 +13133,7 @@
13066
13133
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.UNICODE);
13067
13134
  else
13068
13135
  resVal.StrVal = (!mscorelib.NString.IsNullOrEmpty(val1.StrVal) ? val1.StrVal : '') + (!mscorelib.NString.IsNullOrEmpty(val2.StrVal) ? val2.StrVal : '');
13069
- return [3 /*break*/, 216];
13136
+ return [3 /*break*/, 217];
13070
13137
  case 28:
13071
13138
  val3 = valStack.pop();
13072
13139
  val2 = valStack.pop();
@@ -13074,7 +13141,7 @@
13074
13141
  resVal.Attr = val1.Attr;
13075
13142
  if (val2.MgNumVal == null || val3.MgNumVal == null || val1.StrVal == null) {
13076
13143
  _super.SetNULL.call(this, resVal, resVal.Attr);
13077
- return [3 /*break*/, 216];
13144
+ return [3 /*break*/, 217];
13078
13145
  }
13079
13146
  ofs = val2.MgNumVal.NUM_2_LONG();
13080
13147
  ofs = (ofs > 1
@@ -13095,14 +13162,14 @@
13095
13162
  }
13096
13163
  if (resVal.StrVal == null)
13097
13164
  resVal.StrVal = '';
13098
- return [3 /*break*/, 216];
13165
+ return [3 /*break*/, 217];
13099
13166
  case 29:
13100
13167
  val2 = valStack.pop();
13101
13168
  val1 = valStack.pop();
13102
13169
  resVal.Attr = val1.Attr;
13103
13170
  if (val2.MgNumVal == null || val1.StrVal == null) {
13104
13171
  _super.SetNULL.call(this, resVal, val1.Attr);
13105
- return [3 /*break*/, 216];
13172
+ return [3 /*break*/, 217];
13106
13173
  }
13107
13174
  len = val2.MgNumVal.NUM_2_LONG();
13108
13175
  if (specialAnsiExpression || val1.Attr !== utils.StorageAttribute.UNICODE) {
@@ -13118,14 +13185,14 @@
13118
13185
  len = 0;
13119
13186
  resVal.StrVal = val1.StrVal.substr(0, len);
13120
13187
  }
13121
- return [3 /*break*/, 216];
13188
+ return [3 /*break*/, 217];
13122
13189
  case 30:
13123
13190
  val2 = valStack.pop();
13124
13191
  val1 = valStack.pop();
13125
13192
  resVal.Attr = val1.Attr;
13126
13193
  if (val2.MgNumVal == null || val1.StrVal == null) {
13127
13194
  _super.SetNULL.call(this, resVal, val1.Attr);
13128
- return [3 /*break*/, 216];
13195
+ return [3 /*break*/, 217];
13129
13196
  }
13130
13197
  len = val2.MgNumVal.NUM_2_LONG();
13131
13198
  if (specialAnsiExpression || val1.Attr !== utils.StorageAttribute.UNICODE) {
@@ -13142,14 +13209,14 @@
13142
13209
  ofs = val1.StrVal.length - len;
13143
13210
  resVal.StrVal = val1.StrVal.substr(ofs);
13144
13211
  }
13145
- return [3 /*break*/, 216];
13212
+ return [3 /*break*/, 217];
13146
13213
  case 31:
13147
13214
  val2 = valStack.pop();
13148
13215
  val1 = valStack.pop();
13149
13216
  resVal.Attr = utils.StorageAttribute.UNICODE;
13150
13217
  if (val2.MgNumVal == null || val1.StrVal == null) {
13151
13218
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.UNICODE);
13152
- return [3 /*break*/, 216];
13219
+ return [3 /*break*/, 217];
13153
13220
  }
13154
13221
  len = val1.StrVal.length;
13155
13222
  j = val2.MgNumVal.NUM_2_LONG();
@@ -13172,7 +13239,7 @@
13172
13239
  }
13173
13240
  if (resVal.StrVal == null)
13174
13241
  resVal.StrVal = '';
13175
- return [3 /*break*/, 216];
13242
+ return [3 /*break*/, 217];
13176
13243
  case 32:
13177
13244
  val2 = valStack.pop();
13178
13245
  val1 = valStack.pop();
@@ -13180,7 +13247,7 @@
13180
13247
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13181
13248
  if (val1.StrVal == null || val2.StrVal == null) {
13182
13249
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.NUMERIC);
13183
- return [3 /*break*/, 216];
13250
+ return [3 /*break*/, 217];
13184
13251
  }
13185
13252
  resVal.MgNumVal = new gui.NUM_TYPE();
13186
13253
  if (specialAnsiExpression ||
@@ -13191,7 +13258,7 @@
13191
13258
  else {
13192
13259
  if (val2.StrVal.length === 0) {
13193
13260
  resVal.MgNumVal.NUM_4_LONG(ofs);
13194
- return [3 /*break*/, 216];
13261
+ return [3 /*break*/, 217];
13195
13262
  }
13196
13263
  ofs = val1.StrVal.indexOf(val2.StrVal);
13197
13264
  if (ofs < 0)
@@ -13200,7 +13267,7 @@
13200
13267
  ofs++;
13201
13268
  }
13202
13269
  resVal.MgNumVal.NUM_4_LONG(ofs);
13203
- return [3 /*break*/, 216];
13270
+ return [3 /*break*/, 217];
13204
13271
  case 33:
13205
13272
  val1 = valStack.pop();
13206
13273
  resVal.Attr = val1.Attr === utils.StorageAttribute.ALPHA
@@ -13208,7 +13275,7 @@
13208
13275
  : utils.StorageAttribute.UNICODE;
13209
13276
  if (val1.StrVal == null) {
13210
13277
  _super.SetNULL.call(this, resVal, resVal.Attr);
13211
- return [3 /*break*/, 216];
13278
+ return [3 /*break*/, 217];
13212
13279
  }
13213
13280
  switch (opCode) {
13214
13281
  case gui.ExpressionInterface.EXP_OP_TRIM:
@@ -13222,93 +13289,93 @@
13222
13289
  break;
13223
13290
  }
13224
13291
  resVal.StrVal = val1.StrVal;
13225
- return [3 /*break*/, 216];
13292
+ return [3 /*break*/, 217];
13226
13293
  case 34:
13227
13294
  val2 = valStack.pop();
13228
13295
  val1 = valStack.pop();
13229
13296
  resVal.Attr = utils.StorageAttribute.UNICODE;
13230
13297
  if (val2.StrVal == null || val1.MgNumVal == null) {
13231
13298
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.UNICODE);
13232
- return [3 /*break*/, 216];
13299
+ return [3 /*break*/, 217];
13233
13300
  }
13234
13301
  pic = new gui.PIC(ExpressionEvaluator.set_a_pic(val2.StrVal), utils.StorageAttribute.NUMERIC, this.ExpTask.getCompIdx());
13235
13302
  resVal.StrVal = val1.MgNumVal.to_a(pic);
13236
- return [3 /*break*/, 216];
13303
+ return [3 /*break*/, 217];
13237
13304
  case 35:
13238
13305
  val2 = valStack.pop();
13239
13306
  val1 = valStack.pop();
13240
13307
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13241
13308
  if (val2.StrVal == null || val1.StrVal == null) {
13242
13309
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.NUMERIC);
13243
- return [3 /*break*/, 216];
13310
+ return [3 /*break*/, 217];
13244
13311
  }
13245
13312
  pic = new gui.PIC(ExpressionEvaluator.set_a_pic(val2.StrVal), utils.StorageAttribute.NUMERIC, this.ExpTask.getCompIdx());
13246
13313
  resVal.MgNumVal = new gui.NUM_TYPE(val1.StrVal, pic, this.ExpTask.getCompIdx());
13247
- return [3 /*break*/, 216];
13314
+ return [3 /*break*/, 217];
13248
13315
  case 36:
13249
13316
  len = expStrTracker.get2ByteNumber();
13250
13317
  codes = expStrTracker.getString(len, true, false);
13251
13318
  this.eval_op_m(resVal, codes);
13252
- return [3 /*break*/, 216];
13319
+ return [3 /*break*/, 217];
13253
13320
  case 37:
13254
13321
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13255
13322
  len = expStrTracker.get2ByteNumber();
13256
13323
  resVal.MgNumVal = expStrTracker.getMagicNumber(len, true);
13257
- return [3 /*break*/, 216];
13324
+ return [3 /*break*/, 217];
13258
13325
  case 38:
13259
13326
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13260
13327
  len = expStrTracker.get2ByteNumber();
13261
13328
  resVal.MgNumVal = expStrTracker.getMagicNumber(len, true);
13262
13329
  len = expStrTracker.get2ByteNumber();
13263
13330
  expStrTracker.getMagicNumber(len, true);
13264
- return [3 /*break*/, 216];
13331
+ return [3 /*break*/, 217];
13265
13332
  case 39:
13266
13333
  val2 = valStack.pop();
13267
13334
  val1 = valStack.pop();
13268
13335
  this.eval_op_stat(resVal, val1, val2);
13269
- return [3 /*break*/, 216];
13336
+ return [3 /*break*/, 217];
13270
13337
  case 40:
13271
13338
  val1 = valStack.pop();
13272
13339
  this.eval_op_subformExecMode(resVal, val1);
13273
- return [3 /*break*/, 216];
13340
+ return [3 /*break*/, 217];
13274
13341
  case 41:
13275
13342
  this.eval_op_IsLoggedIn(resVal);
13276
- return [3 /*break*/, 216];
13343
+ return [3 /*break*/, 217];
13277
13344
  case 42:
13278
13345
  this.eval_op_appname(resVal);
13279
- return [3 /*break*/, 216];
13346
+ return [3 /*break*/, 217];
13280
13347
  case 43:
13281
13348
  this.eval_op_prog(resVal);
13282
- return [3 /*break*/, 216];
13349
+ return [3 /*break*/, 217];
13283
13350
  case 44:
13284
13351
  val1 = valStack.pop();
13285
13352
  this.eval_op_level(resVal, val1);
13286
- return [3 /*break*/, 216];
13353
+ return [3 /*break*/, 217];
13287
13354
  case 45:
13288
13355
  val1 = valStack.pop();
13289
13356
  this.eval_op_counter(resVal, val1);
13290
- return [3 /*break*/, 216];
13357
+ return [3 /*break*/, 217];
13291
13358
  case 46:
13292
13359
  val1 = valStack.pop();
13293
13360
  this.eval_op_emptyDataview(resVal, val1);
13294
- return [3 /*break*/, 216];
13361
+ return [3 /*break*/, 217];
13295
13362
  case 47:
13296
13363
  val1 = valStack.pop();
13297
13364
  this.eval_op_mainlevel(resVal, val1);
13298
- return [3 /*break*/, 216];
13365
+ return [3 /*break*/, 217];
13299
13366
  case 48:
13300
13367
  val1 = valStack.pop();
13301
13368
  this.eval_op_maindisplay(resVal, val1);
13302
- return [3 /*break*/, 216];
13369
+ return [3 /*break*/, 217];
13303
13370
  case 49:
13304
13371
  val1 = valStack.pop();
13305
13372
  this.eval_op_IsFirstRecordCycle(resVal, val1);
13306
- return [3 /*break*/, 216];
13373
+ return [3 /*break*/, 217];
13307
13374
  case 50:
13308
13375
  resVal.MgNumVal = new gui.NUM_TYPE();
13309
13376
  resVal.MgNumVal.NUM_4_LONG(gui.DisplayConvertor.Instance.date_magic(opCode === gui.ExpressionInterface.EXP_OP_UTCDATE));
13310
13377
  resVal.Attr = utils.StorageAttribute.DATE;
13311
- return [3 /*break*/, 216];
13378
+ return [3 /*break*/, 217];
13312
13379
  case 51:
13313
13380
  val8 = valStack.pop();
13314
13381
  val7 = valStack.pop();
@@ -13321,7 +13388,7 @@
13321
13388
  return [4 /*yield*/, this.eval_op_addDateTime(resVal, val1, val2, val3, val4, val5, val6, val7, val8)];
13322
13389
  case 52:
13323
13390
  _b.sent();
13324
- return [3 /*break*/, 216];
13391
+ return [3 /*break*/, 217];
13325
13392
  case 53:
13326
13393
  val6 = valStack.pop();
13327
13394
  val5 = valStack.pop();
@@ -13332,65 +13399,65 @@
13332
13399
  return [4 /*yield*/, this.eval_op_difdt(resVal, val1, val2, val3, val4, val5, val6)];
13333
13400
  case 54:
13334
13401
  _b.sent();
13335
- return [3 /*break*/, 216];
13402
+ return [3 /*break*/, 217];
13336
13403
  case 55:
13337
13404
  val1 = valStack.pop();
13338
13405
  this.exp_get_var(resVal, val1, true);
13339
- return [3 /*break*/, 216];
13406
+ return [3 /*break*/, 217];
13340
13407
  case 56:
13341
13408
  val1 = valStack.pop();
13342
13409
  this.exp_get_var(resVal, val1, false);
13343
- return [3 /*break*/, 216];
13410
+ return [3 /*break*/, 217];
13344
13411
  case 57:
13345
13412
  val1 = valStack.pop();
13346
13413
  this.eval_op_varmod(resVal, val1);
13347
- return [3 /*break*/, 216];
13414
+ return [3 /*break*/, 217];
13348
13415
  case 58:
13349
13416
  val1 = valStack.pop();
13350
13417
  this.eval_op_varinp(resVal, val1);
13351
- return [3 /*break*/, 216];
13418
+ return [3 /*break*/, 217];
13352
13419
  case 59:
13353
13420
  val1 = valStack.pop();
13354
13421
  this.eval_op_varname(resVal, val1);
13355
- return [3 /*break*/, 216];
13422
+ return [3 /*break*/, 217];
13356
13423
  case 60:
13357
13424
  val1 = valStack.pop();
13358
13425
  this.eval_op_VarDisplayName(resVal, val1);
13359
13426
  expStrTracker.resetNullResult();
13360
- return [3 /*break*/, 216];
13427
+ return [3 /*break*/, 217];
13361
13428
  case 61:
13362
13429
  val1 = valStack.pop();
13363
13430
  this.eval_op_VarControlID(resVal, val1);
13364
13431
  expStrTracker.resetNullResult();
13365
- return [3 /*break*/, 216];
13432
+ return [3 /*break*/, 217];
13366
13433
  case 62:
13367
13434
  val1 = valStack.pop();
13368
13435
  return [4 /*yield*/, this.eval_op_ControlItemsList(resVal, val1)];
13369
13436
  case 63:
13370
13437
  _b.sent();
13371
13438
  expStrTracker.resetNullResult();
13372
- return [3 /*break*/, 216];
13439
+ return [3 /*break*/, 217];
13373
13440
  case 64:
13374
13441
  val1 = valStack.pop();
13375
13442
  return [4 /*yield*/, this.eval_op_ControlDisplayList(resVal, val1)];
13376
13443
  case 65:
13377
13444
  _b.sent();
13378
13445
  expStrTracker.resetNullResult();
13379
- return [3 /*break*/, 216];
13446
+ return [3 /*break*/, 217];
13380
13447
  case 66:
13381
13448
  val1 = valStack.pop();
13382
13449
  this.eval_op_viewmod(resVal, val1);
13383
- return [3 /*break*/, 216];
13450
+ return [3 /*break*/, 217];
13384
13451
  case 67:
13385
13452
  resVal.MgNumVal = new gui.NUM_TYPE();
13386
13453
  resVal.MgNumVal.NUM_4_LONG(gui.DisplayConvertor.Instance.time_magic(opCode === gui.ExpressionInterface.EXP_OP_UTCTIME));
13387
13454
  resVal.Attr = utils.StorageAttribute.TIME;
13388
- return [3 /*break*/, 216];
13455
+ return [3 /*break*/, 217];
13389
13456
  case 68:
13390
13457
  resVal.MgNumVal = new gui.NUM_TYPE();
13391
13458
  resVal.MgNumVal.NUM_4_LONG(gui.DisplayConvertor.Instance.mtime_magic(opCode === gui.ExpressionInterface.EXP_OP_UTCMTIME));
13392
13459
  resVal.Attr = utils.StorageAttribute.TIME;
13393
- return [3 /*break*/, 216];
13460
+ return [3 /*break*/, 217];
13394
13461
  case 69:
13395
13462
  val2 = valStack.pop();
13396
13463
  val1 = valStack.pop();
@@ -13398,67 +13465,67 @@
13398
13465
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_pwr(val1.MgNumVal, val2.MgNumVal);
13399
13466
  resVal.IsNull = (resVal.MgNumVal == null);
13400
13467
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13401
- return [3 /*break*/, 216];
13468
+ return [3 /*break*/, 217];
13402
13469
  case 70:
13403
13470
  val1 = valStack.pop();
13404
13471
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_log(val1.MgNumVal);
13405
13472
  resVal.IsNull = (resVal.MgNumVal == null);
13406
13473
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13407
- return [3 /*break*/, 216];
13474
+ return [3 /*break*/, 217];
13408
13475
  case 71:
13409
13476
  val1 = valStack.pop();
13410
13477
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_exp(val1.MgNumVal);
13411
13478
  resVal.IsNull = (resVal.MgNumVal == null);
13412
13479
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13413
- return [3 /*break*/, 216];
13480
+ return [3 /*break*/, 217];
13414
13481
  case 72:
13415
13482
  val1 = valStack.pop();
13416
13483
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_abs(val1.MgNumVal);
13417
13484
  resVal.IsNull = (resVal.MgNumVal == null);
13418
13485
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13419
- return [3 /*break*/, 216];
13486
+ return [3 /*break*/, 217];
13420
13487
  case 73:
13421
13488
  val1 = valStack.pop();
13422
13489
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_sin(val1.MgNumVal);
13423
13490
  resVal.IsNull = (resVal.MgNumVal == null);
13424
13491
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13425
- return [3 /*break*/, 216];
13492
+ return [3 /*break*/, 217];
13426
13493
  case 74:
13427
13494
  val1 = valStack.pop();
13428
13495
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_cos(val1.MgNumVal);
13429
13496
  resVal.IsNull = (resVal.MgNumVal == null);
13430
13497
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13431
- return [3 /*break*/, 216];
13498
+ return [3 /*break*/, 217];
13432
13499
  case 75:
13433
13500
  val1 = valStack.pop();
13434
13501
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_tan(val1.MgNumVal);
13435
13502
  resVal.IsNull = (resVal.MgNumVal == null);
13436
13503
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13437
- return [3 /*break*/, 216];
13504
+ return [3 /*break*/, 217];
13438
13505
  case 76:
13439
13506
  val1 = valStack.pop();
13440
13507
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_asin(val1.MgNumVal);
13441
13508
  resVal.IsNull = (resVal.MgNumVal == null);
13442
13509
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13443
- return [3 /*break*/, 216];
13510
+ return [3 /*break*/, 217];
13444
13511
  case 77:
13445
13512
  val1 = valStack.pop();
13446
13513
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_acos(val1.MgNumVal);
13447
13514
  resVal.IsNull = (resVal.MgNumVal == null);
13448
13515
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13449
- return [3 /*break*/, 216];
13516
+ return [3 /*break*/, 217];
13450
13517
  case 78:
13451
13518
  val1 = valStack.pop();
13452
13519
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_atan(val1.MgNumVal);
13453
13520
  resVal.IsNull = (resVal.MgNumVal == null);
13454
13521
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13455
- return [3 /*break*/, 216];
13522
+ return [3 /*break*/, 217];
13456
13523
  case 79:
13457
13524
  val1 = valStack.pop();
13458
13525
  resVal.MgNumVal = gui.NUM_TYPE.eval_op_rand(val1.MgNumVal);
13459
13526
  resVal.IsNull = (resVal.MgNumVal == null);
13460
13527
  resVal.Attr = utils.StorageAttribute.NUMERIC;
13461
- return [3 /*break*/, 216];
13528
+ return [3 /*break*/, 217];
13462
13529
  case 80:
13463
13530
  nArgs = valStack.pop();
13464
13531
  this.val_cpy(valStack.pop(), resVal);
@@ -13485,13 +13552,13 @@
13485
13552
  else
13486
13553
  throw oneOfValuesIsNull;
13487
13554
  }
13488
- return [3 /*break*/, 216];
13555
+ return [3 /*break*/, 217];
13489
13556
  case 81:
13490
13557
  val3 = valStack.pop();
13491
13558
  val2 = valStack.pop();
13492
13559
  val1 = valStack.pop();
13493
13560
  this.eval_op_range(val1, val2, val3, resVal);
13494
- return [3 /*break*/, 216];
13561
+ return [3 /*break*/, 217];
13495
13562
  case 82:
13496
13563
  val4 = valStack.pop();
13497
13564
  val3 = valStack.pop();
@@ -13506,7 +13573,7 @@
13506
13573
  else {
13507
13574
  this.eval_op_rep_1(resVal, val1, val2, val3, val4);
13508
13575
  }
13509
- return [3 /*break*/, 216];
13576
+ return [3 /*break*/, 217];
13510
13577
  case 83:
13511
13578
  val4 = valStack.pop();
13512
13579
  val3 = valStack.pop();
@@ -13521,7 +13588,7 @@
13521
13588
  else {
13522
13589
  this.eval_op_ins(resVal, val1, val2, val3, val4);
13523
13590
  }
13524
- return [3 /*break*/, 216];
13591
+ return [3 /*break*/, 217];
13525
13592
  case 84:
13526
13593
  val3 = valStack.pop();
13527
13594
  val2 = valStack.pop();
@@ -13533,176 +13600,176 @@
13533
13600
  else {
13534
13601
  this.eval_op_del(resVal, val1, val2, val3);
13535
13602
  }
13536
- return [3 /*break*/, 216];
13603
+ return [3 /*break*/, 217];
13537
13604
  case 85:
13538
13605
  val1 = valStack.pop();
13539
13606
  this.eval_op_flip(resVal, val1);
13540
- return [3 /*break*/, 216];
13607
+ return [3 /*break*/, 217];
13541
13608
  case 86:
13542
13609
  val1 = valStack.pop();
13543
13610
  this.eval_op_upper(resVal, val1);
13544
- return [3 /*break*/, 216];
13611
+ return [3 /*break*/, 217];
13545
13612
  case 87:
13546
13613
  val1 = valStack.pop();
13547
13614
  this.eval_op_lower(resVal, val1);
13548
- return [3 /*break*/, 216];
13615
+ return [3 /*break*/, 217];
13549
13616
  case 88:
13550
13617
  val2 = valStack.pop();
13551
13618
  val1 = valStack.pop();
13552
13619
  this.eval_op_crc(resVal, val1, val2);
13553
- return [3 /*break*/, 216];
13620
+ return [3 /*break*/, 217];
13554
13621
  case 89:
13555
13622
  val2 = valStack.pop();
13556
13623
  val1 = valStack.pop();
13557
13624
  this.eval_op_chkdgt(resVal, val1, val2);
13558
- return [3 /*break*/, 216];
13625
+ return [3 /*break*/, 217];
13559
13626
  case 90:
13560
13627
  val1 = valStack.pop();
13561
13628
  this.eval_op_soundx(resVal, val1);
13562
- return [3 /*break*/, 216];
13629
+ return [3 /*break*/, 217];
13563
13630
  case 91:
13564
13631
  val1 = valStack.pop();
13565
13632
  this.eval_op_hstr(resVal, val1);
13566
- return [3 /*break*/, 216];
13633
+ return [3 /*break*/, 217];
13567
13634
  case 92:
13568
13635
  val1 = valStack.pop();
13569
13636
  this.eval_op_hval(resVal, val1);
13570
- return [3 /*break*/, 216];
13637
+ return [3 /*break*/, 217];
13571
13638
  case 93:
13572
13639
  val1 = valStack.pop();
13573
13640
  this.eval_op_chr(resVal, val1);
13574
- return [3 /*break*/, 216];
13641
+ return [3 /*break*/, 217];
13575
13642
  case 94:
13576
13643
  val1 = valStack.pop();
13577
13644
  this.eval_op_asc(resVal, val1);
13578
- return [3 /*break*/, 216];
13645
+ return [3 /*break*/, 217];
13579
13646
  case 95:
13580
13647
  val2 = valStack.pop();
13581
13648
  val1 = valStack.pop();
13582
13649
  this.eval_op_mstr(resVal, val1, val2);
13583
- return [3 /*break*/, 216];
13650
+ return [3 /*break*/, 217];
13584
13651
  case 96:
13585
13652
  val1 = valStack.pop();
13586
13653
  this.eval_op_mval(resVal, val1);
13587
- return [3 /*break*/, 216];
13654
+ return [3 /*break*/, 217];
13588
13655
  case 97:
13589
13656
  val2 = valStack.pop();
13590
13657
  val1 = valStack.pop();
13591
13658
  this.eval_op_dstr(resVal, val1, val2, gui.DisplayConvertor.Instance);
13592
- return [3 /*break*/, 216];
13659
+ return [3 /*break*/, 217];
13593
13660
  case 98:
13594
13661
  val2 = valStack.pop();
13595
13662
  val1 = valStack.pop();
13596
13663
  this.eval_op_dval(resVal, val1, val2, gui.DisplayConvertor.Instance);
13597
- return [3 /*break*/, 216];
13664
+ return [3 /*break*/, 217];
13598
13665
  case 99:
13599
13666
  val2 = valStack.pop();
13600
13667
  val1 = valStack.pop();
13601
13668
  this.eval_op_tstr(resVal, val1, val2, gui.DisplayConvertor.Instance, false);
13602
- return [3 /*break*/, 216];
13669
+ return [3 /*break*/, 217];
13603
13670
  case 100:
13604
13671
  val2 = valStack.pop();
13605
13672
  val1 = valStack.pop();
13606
13673
  this.eval_op_tstr(resVal, val1, val2, gui.DisplayConvertor.Instance, true);
13607
- return [3 /*break*/, 216];
13674
+ return [3 /*break*/, 217];
13608
13675
  case 101:
13609
13676
  val2 = valStack.pop();
13610
13677
  val1 = valStack.pop();
13611
13678
  this.eval_op_tval(resVal, val1, val2, gui.DisplayConvertor.Instance, false);
13612
- return [3 /*break*/, 216];
13679
+ return [3 /*break*/, 217];
13613
13680
  case 102:
13614
13681
  val2 = valStack.pop();
13615
13682
  val1 = valStack.pop();
13616
13683
  this.eval_op_tval(resVal, val1, val2, gui.DisplayConvertor.Instance, true);
13617
- return [3 /*break*/, 216];
13684
+ return [3 /*break*/, 217];
13618
13685
  case 103:
13619
13686
  val1 = valStack.pop();
13620
13687
  this.eval_op_day(resVal, val1);
13621
- return [3 /*break*/, 216];
13688
+ return [3 /*break*/, 217];
13622
13689
  case 104:
13623
13690
  val1 = valStack.pop();
13624
13691
  this.eval_op_month(resVal, val1);
13625
- return [3 /*break*/, 216];
13692
+ return [3 /*break*/, 217];
13626
13693
  case 105:
13627
13694
  val1 = valStack.pop();
13628
13695
  this.eval_op_year(resVal, val1);
13629
- return [3 /*break*/, 216];
13696
+ return [3 /*break*/, 217];
13630
13697
  case 106:
13631
13698
  val1 = valStack.pop();
13632
13699
  this.eval_op_dow(resVal, val1);
13633
- return [3 /*break*/, 216];
13700
+ return [3 /*break*/, 217];
13634
13701
  case 107:
13635
13702
  val1 = valStack.pop();
13636
13703
  this.eval_op_cdow(resVal, val1.MgNumVal, gui.DisplayConvertor.Instance);
13637
- return [3 /*break*/, 216];
13704
+ return [3 /*break*/, 217];
13638
13705
  case 108:
13639
13706
  val1 = valStack.pop();
13640
13707
  this.eval_op_cmonth(resVal, val1.MgNumVal, gui.DisplayConvertor.Instance);
13641
- return [3 /*break*/, 216];
13708
+ return [3 /*break*/, 217];
13642
13709
  case 109:
13643
13710
  val1 = valStack.pop();
13644
13711
  this.eval_op_ndow(resVal, val1, gui.DisplayConvertor.Instance);
13645
- return [3 /*break*/, 216];
13712
+ return [3 /*break*/, 217];
13646
13713
  case 110:
13647
13714
  val1 = valStack.pop();
13648
13715
  this.eval_op_nmonth(resVal, val1, gui.DisplayConvertor.Instance);
13649
- return [3 /*break*/, 216];
13716
+ return [3 /*break*/, 217];
13650
13717
  case 111:
13651
13718
  val1 = valStack.pop();
13652
13719
  this.eval_op_second(resVal, val1);
13653
- return [3 /*break*/, 216];
13720
+ return [3 /*break*/, 217];
13654
13721
  case 112:
13655
13722
  val1 = valStack.pop();
13656
13723
  this.eval_op_minute(resVal, val1);
13657
- return [3 /*break*/, 216];
13724
+ return [3 /*break*/, 217];
13658
13725
  case 113:
13659
13726
  val1 = valStack.pop();
13660
13727
  this.eval_op_hour(resVal, val1);
13661
- return [3 /*break*/, 216];
13728
+ return [3 /*break*/, 217];
13662
13729
  case 114:
13663
13730
  val1 = valStack.pop();
13664
13731
  this.eval_op_delay(val1);
13665
13732
  resVal.Attr = utils.StorageAttribute.BOOLEAN;
13666
13733
  resVal.BoolVal = true;
13667
- return [3 /*break*/, 216];
13734
+ return [3 /*break*/, 217];
13668
13735
  case 115:
13669
13736
  this.eval_op_idle(resVal);
13670
- return [3 /*break*/, 216];
13737
+ return [3 /*break*/, 217];
13671
13738
  case 116:
13672
13739
  val4 = valStack.pop();
13673
13740
  val3 = valStack.pop();
13674
13741
  val2 = valStack.pop();
13675
13742
  val1 = valStack.pop();
13676
13743
  this.eval_op_adddate(resVal, val1, val2, val3, val4);
13677
- return [3 /*break*/, 216];
13744
+ return [3 /*break*/, 217];
13678
13745
  case 117:
13679
13746
  val4 = valStack.pop();
13680
13747
  val3 = valStack.pop();
13681
13748
  val2 = valStack.pop();
13682
13749
  val1 = valStack.pop();
13683
13750
  this.eval_op_addtime(resVal, val1, val2, val3, val4);
13684
- return [3 /*break*/, 216];
13751
+ return [3 /*break*/, 217];
13685
13752
  case 118:
13686
13753
  resVal.Attr = utils.StorageAttribute.ALPHA;
13687
13754
  resVal.StrVal = Environment.Instance.getOwner();
13688
- return [3 /*break*/, 216];
13755
+ return [3 /*break*/, 217];
13689
13756
  case 119:
13690
13757
  val1 = valStack.pop();
13691
13758
  this.eval_op_varattr(resVal, val1);
13692
- return [3 /*break*/, 216];
13759
+ return [3 /*break*/, 217];
13693
13760
  case 120:
13694
13761
  val2 = valStack.pop();
13695
13762
  val1 = valStack.pop();
13696
13763
  this.eval_op_varpic(resVal, val1, val2);
13697
- return [3 /*break*/, 216];
13764
+ return [3 /*break*/, 217];
13698
13765
  case 121:
13699
13766
  val2 = valStack.pop();
13700
13767
  val1 = valStack.pop();
13701
13768
  this.eval_op_dbround(resVal, val1, val2);
13702
- return [3 /*break*/, 216];
13769
+ return [3 /*break*/, 217];
13703
13770
  case 122:
13704
13771
  this.exp_null_val_get(expectedType, opCode, resVal);
13705
- return [3 /*break*/, 216];
13772
+ return [3 /*break*/, 217];
13706
13773
  case 123:
13707
13774
  val1 = valStack.pop();
13708
13775
  resVal.BoolVal = val1.IsNull;
@@ -13723,75 +13790,75 @@
13723
13790
  if (!prevNull)
13724
13791
  expStrTracker.resetNullResult();
13725
13792
  }
13726
- return [3 /*break*/, 216];
13793
+ return [3 /*break*/, 217];
13727
13794
  case 124:
13728
13795
  val1 = valStack.pop();
13729
13796
  this.eval_op_bom(resVal, val1);
13730
- return [3 /*break*/, 216];
13797
+ return [3 /*break*/, 217];
13731
13798
  case 125:
13732
13799
  val1 = valStack.pop();
13733
13800
  this.eval_op_boy(resVal, val1);
13734
- return [3 /*break*/, 216];
13801
+ return [3 /*break*/, 217];
13735
13802
  case 126:
13736
13803
  val1 = valStack.pop();
13737
13804
  this.eval_op_eom(resVal, val1);
13738
- return [3 /*break*/, 216];
13805
+ return [3 /*break*/, 217];
13739
13806
  case 127:
13740
13807
  val1 = valStack.pop();
13741
13808
  this.eval_op_eoy(resVal, val1);
13742
- return [3 /*break*/, 216];
13809
+ return [3 /*break*/, 217];
13743
13810
  case 128:
13744
13811
  val2 = valStack.pop();
13745
13812
  val1 = valStack.pop();
13746
13813
  return [4 /*yield*/, this.eval_op_rollback(resVal, val1, val2)];
13747
13814
  case 129:
13748
13815
  _b.sent();
13749
- return [3 /*break*/, 216];
13816
+ return [3 /*break*/, 217];
13750
13817
  case 130:
13751
13818
  val2 = valStack.pop();
13752
13819
  val1 = valStack.pop();
13753
13820
  return [4 /*yield*/, this.eval_op_varset(resVal, val2, val1)];
13754
13821
  case 131:
13755
13822
  _b.sent();
13756
- return [3 /*break*/, 216];
13823
+ return [3 /*break*/, 217];
13757
13824
  case 132:
13758
13825
  this.eval_op_ctrl_name(resVal);
13759
- return [3 /*break*/, 216];
13826
+ return [3 /*break*/, 217];
13760
13827
  case 133:
13761
13828
  currTsk = this.ExpTask.GetContextTask();
13762
13829
  len = (currTsk.getTaskDepth(false)) - 1;
13763
13830
  this.ConstructMagicNum(resVal, len, utils.StorageAttribute.NUMERIC);
13764
- return [3 /*break*/, 216];
13831
+ return [3 /*break*/, 217];
13765
13832
  case 134:
13766
13833
  val1 = valStack.pop();
13767
13834
  this.exp_is_default(resVal, val1);
13768
- return [3 /*break*/, 216];
13835
+ return [3 /*break*/, 217];
13769
13836
  case 135:
13770
13837
  val3 = valStack.pop();
13771
13838
  val2 = valStack.pop();
13772
13839
  val1 = valStack.pop();
13773
13840
  this.eval_op_strtok(resVal, val1, val2, val3);
13774
- return [3 /*break*/, 216];
13841
+ return [3 /*break*/, 217];
13775
13842
  case 136:
13776
13843
  val2 = valStack.pop();
13777
13844
  val1 = valStack.pop();
13778
13845
  this.eval_op_strTokenCnt(val1, val2, resVal);
13779
- return [3 /*break*/, 216];
13846
+ return [3 /*break*/, 217];
13780
13847
  case 137:
13781
13848
  val3 = valStack.pop();
13782
13849
  val2 = valStack.pop();
13783
13850
  val1 = valStack.pop();
13784
13851
  this.eval_op_strTokenIdx(val1, val2, val3, resVal);
13785
- return [3 /*break*/, 216];
13852
+ return [3 /*break*/, 217];
13786
13853
  case 138:
13787
13854
  val1 = valStack.pop();
13788
13855
  this.eval_op_blobsize(resVal, val1);
13789
- return [3 /*break*/, 216];
13856
+ return [3 /*break*/, 217];
13790
13857
  case 139:
13791
13858
  val1 = valStack.pop();
13792
13859
  resVal.Attr = utils.StorageAttribute.ALPHA;
13793
13860
  resVal.StrVal = '%' + val1.StrVal + '%';
13794
- return [3 /*break*/, 216];
13861
+ return [3 /*break*/, 217];
13795
13862
  case 140:
13796
13863
  nArgs = valStack.pop();
13797
13864
  Exp_params = new Array(nArgs);
@@ -13821,29 +13888,29 @@
13821
13888
  }
13822
13889
  }
13823
13890
  expStrTracker.resetNullResult();
13824
- return [3 /*break*/, 216];
13891
+ return [3 /*break*/, 217];
13825
13892
  case 141:
13826
13893
  this.eval_op_this(resVal);
13827
- return [3 /*break*/, 216];
13894
+ return [3 /*break*/, 217];
13828
13895
  case 142:
13829
13896
  val2 = valStack.pop();
13830
13897
  val1 = valStack.pop();
13831
13898
  this.eval_op_like(val1, val2, resVal);
13832
- return [3 /*break*/, 216];
13899
+ return [3 /*break*/, 217];
13833
13900
  case 143:
13834
13901
  val3 = valStack.pop();
13835
13902
  val2 = valStack.pop();
13836
13903
  val1 = valStack.pop();
13837
13904
  this.eval_op_repstr(val1, val2, val3, resVal);
13838
- return [3 /*break*/, 216];
13905
+ return [3 /*break*/, 217];
13839
13906
  case 144:
13840
13907
  val1 = valStack.pop();
13841
13908
  this.exp_get_var(val1, resVal);
13842
- return [3 /*break*/, 216];
13909
+ return [3 /*break*/, 217];
13843
13910
  case 145:
13844
13911
  val1 = valStack.pop();
13845
13912
  this.exp_get_indx(val1, resVal);
13846
- return [3 /*break*/, 216];
13913
+ return [3 /*break*/, 217];
13847
13914
  case 146:
13848
13915
  if (this._expressionLocalJpn == null)
13849
13916
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.ALPHA);
@@ -13851,7 +13918,7 @@
13851
13918
  val1 = valStack.pop();
13852
13919
  this._expressionLocalJpn.eval_op_jcdow(resVal, val1.MgNumVal, gui.DisplayConvertor.Instance);
13853
13920
  }
13854
- return [3 /*break*/, 216];
13921
+ return [3 /*break*/, 217];
13855
13922
  case 147:
13856
13923
  if (this._expressionLocalJpn == null)
13857
13924
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.ALPHA);
@@ -13859,7 +13926,7 @@
13859
13926
  val1 = valStack.pop();
13860
13927
  this._expressionLocalJpn.eval_op_jmonth(resVal, val1);
13861
13928
  }
13862
- return [3 /*break*/, 216];
13929
+ return [3 /*break*/, 217];
13863
13930
  case 148:
13864
13931
  if (this._expressionLocalJpn == null)
13865
13932
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.ALPHA);
@@ -13867,7 +13934,7 @@
13867
13934
  val1 = valStack.pop();
13868
13935
  this._expressionLocalJpn.eval_op_jndow(resVal, val1, gui.DisplayConvertor.Instance);
13869
13936
  }
13870
- return [3 /*break*/, 216];
13937
+ return [3 /*break*/, 217];
13871
13938
  case 149:
13872
13939
  if (this._expressionLocalJpn == null)
13873
13940
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.ALPHA);
@@ -13875,7 +13942,7 @@
13875
13942
  val1 = valStack.pop();
13876
13943
  this._expressionLocalJpn.eval_op_jyear(resVal, val1);
13877
13944
  }
13878
- return [3 /*break*/, 216];
13945
+ return [3 /*break*/, 217];
13879
13946
  case 150:
13880
13947
  if (this._expressionLocalJpn == null)
13881
13948
  _super.SetNULL.call(this, resVal, utils.StorageAttribute.ALPHA);
@@ -13884,7 +13951,7 @@
13884
13951
  val1 = valStack.pop();
13885
13952
  this._expressionLocalJpn.eval_op_jgengo(resVal, val1.MgNumVal, val2.MgNumVal, gui.DisplayConvertor.Instance);
13886
13953
  }
13887
- return [3 /*break*/, 216];
13954
+ return [3 /*break*/, 217];
13888
13955
  case 151:
13889
13956
  val1 = valStack.pop();
13890
13957
  resVal.Attr = val1.Attr;
@@ -13897,7 +13964,7 @@
13897
13964
  if (resVal.StrVal == null)
13898
13965
  resVal.StrVal = '';
13899
13966
  }
13900
- return [3 /*break*/, 216];
13967
+ return [3 /*break*/, 217];
13901
13968
  case 152:
13902
13969
  val1 = valStack.pop();
13903
13970
  resVal.Attr = val1.Attr;
@@ -13910,7 +13977,7 @@
13910
13977
  if (resVal.StrVal == null)
13911
13978
  resVal.StrVal = '';
13912
13979
  }
13913
- return [3 /*break*/, 216];
13980
+ return [3 /*break*/, 217];
13914
13981
  case 153:
13915
13982
  val2 = valStack.pop();
13916
13983
  val1 = valStack.pop();
@@ -13924,7 +13991,7 @@
13924
13991
  if (resVal.StrVal == null)
13925
13992
  resVal.StrVal = '';
13926
13993
  }
13927
- return [3 /*break*/, 216];
13994
+ return [3 /*break*/, 217];
13928
13995
  case 154:
13929
13996
  val1 = valStack.pop();
13930
13997
  resVal.Attr = utils.StorageAttribute.ALPHA;
@@ -13935,7 +14002,7 @@
13935
14002
  if (resVal.StrVal == null)
13936
14003
  resVal.StrVal = '';
13937
14004
  }
13938
- return [3 /*break*/, 216];
14005
+ return [3 /*break*/, 217];
13939
14006
  case 155:
13940
14007
  val2 = valStack.pop();
13941
14008
  val1 = valStack.pop();
@@ -13949,34 +14016,34 @@
13949
14016
  if (resVal.StrVal == null)
13950
14017
  resVal.StrVal = '';
13951
14018
  }
13952
- return [3 /*break*/, 216];
14019
+ return [3 /*break*/, 217];
13953
14020
  case 156:
13954
14021
  val3 = valStack.pop();
13955
14022
  val2 = valStack.pop();
13956
14023
  val1 = valStack.pop();
13957
14024
  this.eval_op_gotoCtrl(val1, val2, val3, resVal);
13958
- return [3 /*break*/, 216];
14025
+ return [3 /*break*/, 217];
13959
14026
  case 157:
13960
14027
  val1 = valStack.pop();
13961
14028
  this.eval_op_translate(val1, resVal);
13962
- return [3 /*break*/, 216];
14029
+ return [3 /*break*/, 217];
13963
14030
  case 158:
13964
14031
  val2 = valStack.pop();
13965
14032
  val1 = valStack.pop();
13966
14033
  this.eval_op_astr(val1, val2, resVal);
13967
- return [3 /*break*/, 216];
14034
+ return [3 /*break*/, 217];
13968
14035
  case 159:
13969
14036
  this.ConstructMagicNum(resVal, this.ExpTask.getLoopCounter(), utils.StorageAttribute.NUMERIC);
13970
- return [3 /*break*/, 216];
14037
+ return [3 /*break*/, 217];
13971
14038
  case 160:
13972
14039
  val1 = valStack.pop();
13973
14040
  ExpressionEvaluator.eval_op_vecCellAttr(val1, resVal);
13974
- return [3 /*break*/, 216];
14041
+ return [3 /*break*/, 217];
13975
14042
  case 161:
13976
14043
  val2 = valStack.pop();
13977
14044
  val1 = valStack.pop();
13978
14045
  this.eval_op_vecGet(val1, val2, resVal);
13979
- return [3 /*break*/, 216];
14046
+ return [3 /*break*/, 217];
13980
14047
  case 162:
13981
14048
  val3 = valStack.pop();
13982
14049
  val2 = valStack.pop();
@@ -13987,12 +14054,12 @@
13987
14054
  resVal.IsNull = false;
13988
14055
  if (expStrTracker.isNull())
13989
14056
  expStrTracker.resetNullResult();
13990
- return [3 /*break*/, 216];
14057
+ return [3 /*break*/, 217];
13991
14058
  case 164:
13992
14059
  val1 = valStack.pop();
13993
14060
  this.eval_op_vecSize(val1, resVal);
13994
14061
  expStrTracker.resetNullResult();
13995
- return [3 /*break*/, 216];
14062
+ return [3 /*break*/, 217];
13996
14063
  case 165:
13997
14064
  nArgs = valStack.pop();
13998
14065
  resVal.Attr = utils.StorageAttribute.BOOLEAN;
@@ -14015,10 +14082,10 @@
14015
14082
  else
14016
14083
  throw nullValueException;
14017
14084
  }
14018
- return [3 /*break*/, 216];
14085
+ return [3 /*break*/, 217];
14019
14086
  case 166:
14020
14087
  this.eval_op_iscomponent(resVal);
14021
- return [3 /*break*/, 216];
14088
+ return [3 /*break*/, 217];
14022
14089
  case 167:
14023
14090
  nArgs = valStack.pop();
14024
14091
  if (!(nArgs > 0)) return [3 /*break*/, 169];
@@ -14032,7 +14099,7 @@
14032
14099
  _b.sent();
14033
14100
  expStrTracker.resetNullResult();
14034
14101
  _b.label = 169;
14035
- case 169: return [3 /*break*/, 216];
14102
+ case 169: return [3 /*break*/, 217];
14036
14103
  case 170:
14037
14104
  val1 = valStack.pop();
14038
14105
  resVal.Attr = utils.StorageAttribute.NUMERIC;
@@ -14043,84 +14110,84 @@
14043
14110
  }
14044
14111
  else
14045
14112
  resVal.IsNull = true;
14046
- return [3 /*break*/, 216];
14113
+ return [3 /*break*/, 217];
14047
14114
  case 171:
14048
14115
  val1 = valStack.pop();
14049
14116
  this.eval_op_publicName(resVal, val1);
14050
- return [3 /*break*/, 216];
14117
+ return [3 /*break*/, 217];
14051
14118
  case 172:
14052
14119
  val1 = valStack.pop();
14053
14120
  this.eval_op_taskId(resVal, val1);
14054
- return [3 /*break*/, 216];
14121
+ return [3 /*break*/, 217];
14055
14122
  case 173:
14056
14123
  val1 = valStack.pop();
14057
14124
  this.eval_op_dbviewsize(resVal, val1);
14058
- return [3 /*break*/, 216];
14125
+ return [3 /*break*/, 217];
14059
14126
  case 174:
14060
14127
  val1 = valStack.pop();
14061
14128
  this.eval_op_dbviewrowidx(resVal, val1);
14062
- return [3 /*break*/, 216];
14129
+ return [3 /*break*/, 217];
14063
14130
  case 175:
14064
14131
  this.eval_op_projectdir(resVal);
14065
- return [3 /*break*/, 216];
14132
+ return [3 /*break*/, 217];
14066
14133
  case 176:
14067
14134
  val1 = valStack.pop();
14068
14135
  this.eval_op_MlsTrans(resVal, val1);
14069
- return [3 /*break*/, 216];
14136
+ return [3 /*break*/, 217];
14070
14137
  case 177:
14071
14138
  nArgs = valStack.pop();
14072
14139
  this.eval_op_StrBuild(valStack, resVal, nArgs);
14073
- return [3 /*break*/, 216];
14140
+ return [3 /*break*/, 217];
14074
14141
  case 178:
14075
14142
  val1 = valStack.pop();
14076
14143
  this.eval_op_statusbar_set_text(resVal, val1);
14077
14144
  expStrTracker.resetNullResult();
14078
- return [3 /*break*/, 216];
14145
+ return [3 /*break*/, 217];
14079
14146
  case 179:
14080
14147
  val1 = valStack.pop();
14081
14148
  this.eval_op_set_title(resVal, val1);
14082
14149
  expStrTracker.resetNullResult();
14083
- return [3 /*break*/, 216];
14150
+ return [3 /*break*/, 217];
14084
14151
  case 180:
14085
14152
  val1 = valStack.pop();
14086
14153
  this.eval_op_is_row_editing(resVal, val1);
14087
14154
  expStrTracker.resetNullResult();
14088
- return [3 /*break*/, 216];
14155
+ return [3 /*break*/, 217];
14089
14156
  case 181:
14090
14157
  val1 = valStack.pop();
14091
14158
  this.eval_op_getParam(resVal, val1);
14092
- return [3 /*break*/, 216];
14159
+ return [3 /*break*/, 217];
14093
14160
  case 182:
14094
14161
  val2 = valStack.pop();
14095
14162
  val1 = valStack.pop();
14096
14163
  this.eval_op_setParam(resVal, val1, val2);
14097
- return [3 /*break*/, 216];
14164
+ return [3 /*break*/, 217];
14098
14165
  case 183:
14099
14166
  val2 = valStack.pop();
14100
14167
  val1 = valStack.pop();
14101
14168
  return [4 /*yield*/, this.eval_op_iniput(resVal, val1, val2)];
14102
14169
  case 184:
14103
14170
  _b.sent();
14104
- return [3 /*break*/, 216];
14171
+ return [3 /*break*/, 217];
14105
14172
  case 185:
14106
14173
  val1 = valStack.pop();
14107
14174
  this.eval_op_iniget(resVal, val1);
14108
- return [3 /*break*/, 216];
14175
+ return [3 /*break*/, 217];
14109
14176
  case 186:
14110
14177
  val2 = valStack.pop();
14111
14178
  val1 = valStack.pop();
14112
14179
  this.eval_op_inigetln(resVal, val1, val2);
14113
- return [3 /*break*/, 216];
14180
+ return [3 /*break*/, 217];
14114
14181
  case 187:
14115
14182
  val1 = valStack.pop();
14116
14183
  return [4 /*yield*/, this.eval_op_expcalc(resVal, val1)];
14117
14184
  case 188:
14118
14185
  _b.sent();
14119
- return [3 /*break*/, 216];
14186
+ return [3 /*break*/, 217];
14120
14187
  case 189:
14121
14188
  val1 = valStack.pop();
14122
14189
  this.eval_op_taskType(resVal, val1);
14123
- return [3 /*break*/, 216];
14190
+ return [3 /*break*/, 217];
14124
14191
  case 190:
14125
14192
  nArgs = valStack.pop();
14126
14193
  if (!(nArgs > 0)) return [3 /*break*/, 192];
@@ -14131,13 +14198,13 @@
14131
14198
  case 191:
14132
14199
  _b.sent();
14133
14200
  _b.label = 192;
14134
- case 192: return [3 /*break*/, 216];
14201
+ case 192: return [3 /*break*/, 217];
14135
14202
  case 193:
14136
14203
  val1 = valStack.pop();
14137
14204
  return [4 /*yield*/, this.eval_op_range_reset(resVal, val1)];
14138
14205
  case 194:
14139
14206
  _b.sent();
14140
- return [3 /*break*/, 216];
14207
+ return [3 /*break*/, 217];
14141
14208
  case 195:
14142
14209
  nArgs = valStack.pop();
14143
14210
  if (!(nArgs > 0)) return [3 /*break*/, 197];
@@ -14148,53 +14215,53 @@
14148
14215
  case 196:
14149
14216
  _b.sent();
14150
14217
  _b.label = 197;
14151
- case 197: return [3 /*break*/, 216];
14218
+ case 197: return [3 /*break*/, 217];
14152
14219
  case 198:
14153
14220
  val1 = valStack.pop();
14154
14221
  return [4 /*yield*/, this.eval_op_locate_reset(resVal, val1)];
14155
14222
  case 199:
14156
14223
  _b.sent();
14157
- return [3 /*break*/, 216];
14224
+ return [3 /*break*/, 217];
14158
14225
  case 200:
14159
14226
  val2 = valStack.pop();
14160
14227
  val1 = valStack.pop();
14161
14228
  return [4 /*yield*/, this.eval_op_sort_add(resVal, val1, val2)];
14162
14229
  case 201:
14163
14230
  _b.sent();
14164
- return [3 /*break*/, 216];
14231
+ return [3 /*break*/, 217];
14165
14232
  case 202:
14166
14233
  val1 = valStack.pop();
14167
14234
  return [4 /*yield*/, this.eval_op_sort_reset(resVal, val1)];
14168
14235
  case 203:
14169
14236
  _b.sent();
14170
- return [3 /*break*/, 216];
14237
+ return [3 /*break*/, 217];
14171
14238
  case 204:
14172
14239
  val1 = valStack.pop();
14173
14240
  this.eval_op_tsk_instance(resVal, val1);
14174
- return [3 /*break*/, 216];
14241
+ return [3 /*break*/, 217];
14175
14242
  case 205:
14176
14243
  this.eval_op_terminal(resVal);
14177
- return [3 /*break*/, 216];
14244
+ return [3 /*break*/, 217];
14178
14245
  case 206:
14179
14246
  val1 = valStack.pop();
14180
14247
  this.eval_op_formStateClear(val1, resVal);
14181
- return [3 /*break*/, 216];
14248
+ return [3 /*break*/, 217];
14182
14249
  case 207:
14183
14250
  val2 = valStack.pop();
14184
14251
  val1 = valStack.pop();
14185
14252
  this.eval_op_ClientSessionSet(val1, val2, resVal);
14186
- return [3 /*break*/, 216];
14253
+ return [3 /*break*/, 217];
14187
14254
  case 208:
14188
14255
  val2 = valStack.pop();
14189
14256
  val1 = valStack.pop();
14190
14257
  this.eval_op_CndRange(resVal, val1, val2);
14191
- return [3 /*break*/, 216];
14258
+ return [3 /*break*/, 217];
14192
14259
  case 209:
14193
14260
  val1 = valStack.pop();
14194
14261
  return [4 /*yield*/, this.eval_op_control_select_program(val1, resVal)];
14195
14262
  case 210:
14196
14263
  _b.sent();
14197
- return [3 /*break*/, 216];
14264
+ return [3 /*break*/, 217];
14198
14265
  case 211:
14199
14266
  nArgs = valStack.pop();
14200
14267
  if (nArgs > 0) {
@@ -14204,7 +14271,7 @@
14204
14271
  Exp_params[nArgs - 1 - j] = valStack.pop();
14205
14272
  this.eval_op_CallJS(this.ExpTask, valStack.pop().StrVal, Exp_params, resVal);
14206
14273
  }
14207
- return [3 /*break*/, 216];
14274
+ return [3 /*break*/, 217];
14208
14275
  case 212:
14209
14276
  nArgs = valStack.pop();
14210
14277
  if (nArgs > 0) {
@@ -14214,19 +14281,22 @@
14214
14281
  Exp_params[nArgs - 1 - j] = valStack.pop();
14215
14282
  this.eval_op_set_cookie(valStack.pop().StrVal, Exp_params, resVal);
14216
14283
  }
14217
- return [3 /*break*/, 216];
14284
+ return [3 /*break*/, 217];
14218
14285
  case 213:
14219
14286
  resVal.Attr = utils.StorageAttribute.ALPHA;
14220
14287
  resVal.IsNull = false;
14221
14288
  this.eval_op_get_cookie(valStack.pop().StrVal, resVal);
14222
- return [3 /*break*/, 216];
14289
+ return [3 /*break*/, 217];
14223
14290
  case 214:
14224
14291
  resVal.Attr = utils.StorageAttribute.BOOLEAN;
14225
14292
  resVal.IsNull = false;
14226
14293
  this.eval_op_delete_cookie(valStack.pop().StrVal, resVal);
14227
- return [3 /*break*/, 216];
14228
- case 215: return [2 /*return*/];
14229
- case 216:
14294
+ return [3 /*break*/, 217];
14295
+ case 215:
14296
+ this.eval_op_route_get(resVal);
14297
+ return [3 /*break*/, 217];
14298
+ case 216: return [2 /*return*/];
14299
+ case 217:
14230
14300
  if (addResult) {
14231
14301
  this.ConvertExpVal(resVal, expectedType);
14232
14302
  valStack.push(resVal);
@@ -17014,27 +17084,30 @@
17014
17084
  resVal.Attr = utils.StorageAttribute.BOOLEAN;
17015
17085
  resVal.StrVal = '';
17016
17086
  var args = this.params2arguments(expVal, 0, expVal.length);
17017
- var expires, path, domain, secure, sameSite;
17018
- expires = args[1];
17087
+ var expiresDate, path, domain, secure, sameSite;
17088
+ expiresDate = args[1];
17089
+ var expiresTime = args[2];
17019
17090
  var nativeDt;
17020
- if (expires) {
17021
- var breakParams = new gui.DateBreakParams();
17022
- gui.DisplayConvertor.Instance.date_break_datemode(breakParams, expires, false, 0);
17023
- if (breakParams.month > 0)
17024
- breakParams.month = breakParams.month - 1;
17091
+ if (expiresDate) {
17092
+ var breakParams = gui.DisplayConvertor.Instance.getNewDateBreakParams();
17093
+ gui.DisplayConvertor.Instance.date_break_datemode(breakParams, expiresDate, false, this.ExpTask.getCompIdx());
17094
+ var year = breakParams.year;
17095
+ var month = breakParams.month;
17096
+ var day = breakParams.day;
17025
17097
  if (breakParams.year == 0 && breakParams.month == 0 && breakParams.day == 0)
17026
17098
  return null;
17027
- nativeDt = new Date(breakParams.year, breakParams.month, breakParams.day);
17028
- var timeBreakParams = new gui.TimeBreakParams();
17029
- gui.DisplayConvertor.time_break(timeBreakParams, expires);
17030
- nativeDt.setHours(timeBreakParams.hour);
17031
- nativeDt.setMinutes(timeBreakParams.minute);
17032
- nativeDt.setSeconds(timeBreakParams.second);
17033
- }
17034
- path = args[2];
17035
- domain = args[3];
17099
+ nativeDt = new Date(breakParams.year, breakParams.month - 1, breakParams.day);
17100
+ if (expiresTime) {
17101
+ var timeBreakParams = gui.DisplayConvertor.Instance.getNewTimeBreakParams();
17102
+ gui.DisplayConvertor.time_break(timeBreakParams, expiresTime);
17103
+ nativeDt.setHours(timeBreakParams.hour);
17104
+ nativeDt.setMinutes(timeBreakParams.minute);
17105
+ nativeDt.setSeconds(timeBreakParams.second);
17106
+ }
17107
+ }
17108
+ path = args[3];
17109
+ domain = args[4];
17036
17110
  resVal.BoolVal = CookieService.setCookie(cookieName, args[0], nativeDt, path, domain, secure, sameSite);
17037
- ;
17038
17111
  };
17039
17112
  ExpressionEvaluator.prototype.eval_op_get_cookie = function (cookieName, resVal) {
17040
17113
  resVal.StrVal = CookieService.getCookie(cookieName);
@@ -17044,6 +17117,11 @@
17044
17117
  resVal.BoolVal = CookieService.deleteCookie(cookieName);
17045
17118
  ;
17046
17119
  };
17120
+ ExpressionEvaluator.prototype.eval_op_route_get = function (resVal) {
17121
+ resVal.Attr = utils.StorageAttribute.UNICODE;
17122
+ resVal.IsNull = false;
17123
+ resVal.StrVal = gui.Commands.getLastRoute();
17124
+ };
17047
17125
  ExpressionEvaluator.prototype.params2arguments = function (Exp_params, startAt, count) {
17048
17126
  var NULL_STR = '';
17049
17127
  var attr = new Array();
@@ -23307,6 +23385,7 @@
23307
23385
  var _this = _super_1.call(this) || this;
23308
23386
  _this.IsMovingInView = false;
23309
23387
  _this.PrevDisplayLine = 0;
23388
+ _this.RefreshAllRows = false;
23310
23389
  _this.IgnoreFirstRecordCycle = false;
23311
23390
  _this.MovedToFirstControl = false;
23312
23391
  _this._suffixDone = false;
@@ -23788,8 +23867,10 @@
23788
23867
  currLine = -1;
23789
23868
  if (!this._task.DataView.isEmptyDataview())
23790
23869
  currLine = this.getVisibleLine();
23791
- if (this.isTableWithAbsoluteScrollbar())
23870
+ if (this.isTableWithAbsoluteScrollbar()) {
23792
23871
  this.GetDataview().TotalRecordsCount += 1;
23872
+ this.RefreshAllRows = true;
23873
+ }
23793
23874
  return [4 /*yield*/, this.GetDataview().addRecord(doSuffix, false, isCrelineAbove)];
23794
23875
  case 1:
23795
23876
  newRecIdx = _a.sent();
@@ -23833,8 +23914,10 @@
23833
23914
  _a.label = 7;
23834
23915
  case 7: return [3 /*break*/, 9];
23835
23916
  case 8:
23836
- if (this.isTableWithAbsoluteScrollbar())
23917
+ if (this.isTableWithAbsoluteScrollbar()) {
23837
23918
  this.GetDataview().TotalRecordsCount -= 1;
23919
+ this.RefreshAllRows = false;
23920
+ }
23838
23921
  _a.label = 9;
23839
23922
  case 9: return [2 /*return*/];
23840
23923
  }
@@ -23881,8 +23964,10 @@
23881
23964
  this.GetDataview().setTopRecIdx(this.GetDataview().getCurrRecIdx());
23882
23965
  if (!_super.isLineMode.call(this)) return [3 /*break*/, 13];
23883
23966
  if (!_super.HasTable.call(this)) return [3 /*break*/, 10];
23884
- if (this.isTableWithAbsoluteScrollbar())
23967
+ if (this.isTableWithAbsoluteScrollbar()) {
23885
23968
  this.GetDataview().TotalRecordsCount--;
23969
+ this.RefreshAllRows = true;
23970
+ }
23886
23971
  this.removeRecordsAfterIdx(this.GetDataview().getCurrRecIdx());
23887
23972
  return [4 /*yield*/, this.RefreshDisplay(utils.Constants.TASK_REFRESH_FORM)];
23888
23973
  case 9:
@@ -23979,8 +24064,10 @@
23979
24064
  return [3 /*break*/, 9];
23980
24065
  case 9:
23981
24066
  if (_super.HasTable.call(this)) {
23982
- if (this.isTableWithAbsoluteScrollbar() && recRemoved)
24067
+ if (this.isTableWithAbsoluteScrollbar() && recRemoved) {
23983
24068
  this.GetDataview().TotalRecordsCount--;
24069
+ this.RefreshAllRows = true;
24070
+ }
23984
24071
  this.removeRecordsAfterIdx(this.GetDataview().getCurrRecIdx());
23985
24072
  }
23986
24073
  return [3 /*break*/, 13];
@@ -24325,7 +24412,7 @@
24325
24412
  case 2:
24326
24413
  _a.trys.push([2, 7, 8, 9]);
24327
24414
  index = idx + diffRef.value;
24328
- if (!(!this.isRowValidated(idx) || sendAll)) return [3 /*break*/, 6];
24415
+ if (!(!this.isRowValidated(idx) || sendAll || this.RefreshAllRows)) return [3 /*break*/, 6];
24329
24416
  if (index >= 0)
24330
24417
  _super.checkAndCreateRow.call(this, index);
24331
24418
  if (!(saveRowIdx + diffRef.value !== index)) return [3 /*break*/, 5];
@@ -24361,6 +24448,7 @@
24361
24448
  return [3 /*break*/, 1];
24362
24449
  case 10:
24363
24450
  this.RefreshUI();
24451
+ this.RefreshAllRows = false;
24364
24452
  return [2 /*return*/, updated];
24365
24453
  }
24366
24454
  });
@@ -24427,34 +24515,6 @@
24427
24515
  MgForm.prototype.getPrevLine = function (line) {
24428
24516
  return line - 1;
24429
24517
  };
24430
- MgForm.prototype.getDefaultButton = function (checkVisibleEnable) {
24431
- var _super = Object.create(null, {
24432
- getProp: { get: function () { return _super_1.prototype.getProp; } },
24433
- getCtrlByName: { get: function () { return _super_1.prototype.getCtrlByName; } }
24434
- });
24435
- return __awaiter(this, void 0, void 0, function () {
24436
- var defaultButton, prop, _a, _b, _c;
24437
- return __generator(this, function (_d) {
24438
- switch (_d.label) {
24439
- case 0:
24440
- defaultButton = null;
24441
- prop = _super.getProp.call(this, gui.PropInterface.PROP_TYPE_DEFAULT_BUTTON);
24442
- if (!(prop !== null)) return [3 /*break*/, 2];
24443
- _b = (_a = _super.getCtrlByName).call;
24444
- _c = [this];
24445
- return [4 /*yield*/, prop.getValue()];
24446
- case 1:
24447
- defaultButton = _b.apply(_a, _c.concat([_d.sent(), utils.MgControlType.CTRL_TYPE_BUTTON]));
24448
- if (checkVisibleEnable && defaultButton !== null) {
24449
- if (!defaultButton.isVisible() || !defaultButton.isEnabled())
24450
- defaultButton = null;
24451
- }
24452
- _d.label = 2;
24453
- case 2: return [2 /*return*/, defaultButton];
24454
- }
24455
- });
24456
- });
24457
- };
24458
24518
  MgForm.prototype.clearTableColumnSortMark = function (clearSortMark) {
24459
24519
  if (clearSortMark) {
24460
24520
  }
@@ -26413,10 +26473,10 @@
26413
26473
  execFlowIdx += 1;
26414
26474
  return [3 /*break*/, 1];
26415
26475
  case 35:
26416
- if (blockIfReturnedFromServer)
26417
- retvals = new RetVals(nextOperIdx, returnedFromServer, blockIfReturnedFromServer);
26418
- else if (routeOperationExecuted)
26476
+ if (routeOperationExecuted)
26419
26477
  retvals = new RetVals(false, true);
26478
+ else if (blockIfReturnedFromServer)
26479
+ retvals = new RetVals(nextOperIdx, returnedFromServer, blockIfReturnedFromServer);
26420
26480
  else
26421
26481
  retvals = null;
26422
26482
  return [2 /*return*/, retvals];
@@ -27396,7 +27456,8 @@
27396
27456
  utils.InternalInterface.MG_ACT_INDEX_CHANGE,
27397
27457
  utils.InternalInterface.MG_ACT_WEBCLIENT_ROUTE,
27398
27458
  utils.InternalInterface.MG_ACT_SET_EXTERNAL_VALUE,
27399
- utils.InternalInterface.MG_ACT_FETCH_RECORDS_AHEAD_FROM_SERVER
27459
+ utils.InternalInterface.MG_ACT_FETCH_RECORDS_AHEAD_FROM_SERVER,
27460
+ utils.InternalInterface.MG_ACT_CONTEXT_REMOVE
27400
27461
  ];
27401
27462
  ActionManager.actNavigation = [
27402
27463
  utils.InternalInterface.MG_ACT_TBL_PRVLINE,
@@ -28153,7 +28214,6 @@
28153
28214
  result = _a.sent();
28154
28215
  if (!result.Success)
28155
28216
  return [2 /*return*/, null];
28156
- this.ResumeSubformLayout();
28157
28217
  _a.label = 5;
28158
28218
  case 5: return [4 /*yield*/, this.StartSubTasks(moveToFirstControl, nonInteractiveTask, callByDestSubForm)];
28159
28219
  case 6:
@@ -28164,9 +28224,6 @@
28164
28224
  });
28165
28225
  });
28166
28226
  };
28167
- Task.prototype.CanResumeSubformLayout = function () {
28168
- return this.DataViewWasRetrieved;
28169
- };
28170
28227
  Task.prototype.InitializeExecution = function () {
28171
28228
  _super_1.prototype.setBrkLevel.call(this, ConstInterface.BRK_LEVEL_REC_MAIN, -1);
28172
28229
  this._firstRecordCycle = true;
@@ -28225,47 +28282,25 @@
28225
28282
  };
28226
28283
  Task.prototype.EnableActions = function () {
28227
28284
  return __awaiter(this, void 0, void 0, function () {
28228
- var actList, _a, defaultButtonName, ctrl, aRtEvt, enablePrintdata;
28229
- return __generator(this, function (_b) {
28230
- switch (_b.label) {
28285
+ var actList, enablePrintdata;
28286
+ return __generator(this, function (_a) {
28287
+ switch (_a.label) {
28231
28288
  case 0:
28232
28289
  actList = ActionManager.actEnabled;
28233
28290
  this.ActionManager.enableList(actList, true, false);
28234
28291
  if (this.IsSubForm)
28235
28292
  this.ActionManager.enable(utils.InternalInterface.MG_ACT_POST_REFRESH_BY_PARENT, true);
28236
- _a = this.Form != null;
28237
- if (!_a) return [3 /*break*/, 2];
28238
- return [4 /*yield*/, this.Form.getDefaultButton(false)];
28239
- case 1:
28240
- _a = (_b.sent()) != null;
28241
- _b.label = 2;
28242
- case 2:
28243
- if (_a)
28244
- this.ActionManager.enable(utils.InternalInterface.MG_ACT_DEFAULT_BUTTON, true);
28245
28293
  return [4 /*yield*/, this.enableModes()];
28246
- case 3:
28247
- _b.sent();
28294
+ case 1:
28295
+ _a.sent();
28248
28296
  return [4 /*yield*/, this.checkProp(gui.PropInterface.PROP_TYPE_SELECTION, false)];
28249
- case 4:
28250
- if (!_b.sent()) return [3 /*break*/, 8];
28251
- return [4 /*yield*/, ((this.Form.getProp(gui.PropInterface.PROP_TYPE_DEFAULT_BUTTON))).getValue()];
28252
- case 5:
28253
- if (!((_b.sent()) !== "")) return [3 /*break*/, 7];
28254
- return [4 /*yield*/, (this.Form.getProp(gui.PropInterface.PROP_TYPE_DEFAULT_BUTTON)).getValue()];
28255
- case 6:
28256
- defaultButtonName = _b.sent();
28257
- ctrl = this.Form.getCtrlByCtrlName(defaultButtonName);
28258
- aRtEvt = new RunTimeEvent(ctrl);
28259
- if (aRtEvt.getType() === ConstInterface.EVENT_TYPE_INTERNAL &&
28260
- aRtEvt.getInternalCode() === utils.InternalInterface.MG_ACT_SELECT)
28297
+ case 2:
28298
+ if (_a.sent()) {
28261
28299
  this.ActionManager.enable(utils.InternalInterface.MG_ACT_SELECT, true);
28262
- return [3 /*break*/, 8];
28263
- case 7:
28264
- this.ActionManager.enable(utils.InternalInterface.MG_ACT_SELECT, true);
28265
- _b.label = 8;
28266
- case 8: return [4 /*yield*/, this.checkProp(gui.PropInterface.PROP_TYPE_PRINT_DATA, false)];
28267
- case 9:
28268
- enablePrintdata = _b.sent();
28300
+ }
28301
+ return [4 /*yield*/, this.checkProp(gui.PropInterface.PROP_TYPE_PRINT_DATA, false)];
28302
+ case 3:
28303
+ enablePrintdata = _a.sent();
28269
28304
  this.ActionManager.enable(utils.InternalInterface.MG_ACT_PRINT_DATA, enablePrintdata);
28270
28305
  if (this.getEnableZoomHandler())
28271
28306
  this.ActionManager.enable(utils.InternalInterface.MG_ACT_ZOOM, true);
@@ -29132,12 +29167,12 @@
29132
29167
  return [4 /*yield*/, this._parentTask.endTask(reversibleExit, onlyDescs, dueToVerifyError)];
29133
29168
  case 1:
29134
29169
  succeeded = _a.sent();
29135
- return [3 /*break*/, 36];
29170
+ return [3 /*break*/, 41];
29136
29171
  case 2:
29137
- if (!(!this.isAborting() && !this.InEndTask)) return [3 /*break*/, 35];
29172
+ if (!(!this.isAborting() && !this.InEndTask)) return [3 /*break*/, 40];
29138
29173
  _a.label = 3;
29139
29174
  case 3:
29140
- _a.trys.push([3, , 33, 34]);
29175
+ _a.trys.push([3, , 38, 39]);
29141
29176
  this.InEndTask = true;
29142
29177
  if (!((MGDataCollection.Instance.StartupMgData.getFirstTask().InEndTask && MGDataCollection.Instance.StartupMgData.getFirstTask().ClosingFormUI) && AccessHelper.eventsManager.GetStopExecutionFlag())) return [3 /*break*/, 5];
29143
29178
  cmd = CommandFactory.CreateUnloadCommand();
@@ -29150,116 +29185,123 @@
29150
29185
  if (!this.IsTryingToStop)
29151
29186
  this.setTryingToStop(true);
29152
29187
  i = void 0;
29153
- if (!reversibleExit) return [3 /*break*/, 15];
29154
- if (!this.hasSubTasks()) return [3 /*break*/, 10];
29155
- if (!RemoteCommandsProcessor.GetInstance().DelayCommandExecution) {
29156
- pendingTransactions = true;
29157
- clientOperExist = this.CheckIfClientOperationExistsInSubformTasks(this, utils.InternalInterface.MG_ACT_TASK_SUFFIX);
29158
- if (!clientOperExist) {
29159
- clientOperExist = this.CheckIfClientOperationExistsInSubformTasks(this, utils.InternalInterface.MG_ACT_REC_SUFFIX);
29160
- if (!clientOperExist)
29161
- pendingTransactions = this.CheckIfPendingTransactions(this);
29162
- }
29163
- if (!clientOperExist && !pendingTransactions) {
29164
- this.allowRemoteCmdExecution = false;
29165
- this.SetServerSideTaskSuffix(this);
29166
- RemoteCommandsProcessor.GetInstance().DelayCommandExecution = true;
29167
- }
29168
- }
29169
- else
29188
+ if (!reversibleExit) return [3 /*break*/, 20];
29189
+ if (!this.hasSubTasks()) return [3 /*break*/, 15];
29190
+ if (!!RemoteCommandsProcessor.GetInstance().DelayCommandExecution) return [3 /*break*/, 9];
29191
+ pendingTransactions = true;
29192
+ return [4 /*yield*/, this.CheckIfClientOperationExistsInSubformTasks(this, utils.InternalInterface.MG_ACT_TASK_SUFFIX)];
29193
+ case 6:
29194
+ clientOperExist = _a.sent();
29195
+ if (!!clientOperExist) return [3 /*break*/, 8];
29196
+ return [4 /*yield*/, this.CheckIfClientOperationExistsInSubformTasks(this, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
29197
+ case 7:
29198
+ clientOperExist = _a.sent();
29199
+ if (!clientOperExist)
29200
+ pendingTransactions = this.CheckIfPendingTransactions(this);
29201
+ _a.label = 8;
29202
+ case 8:
29203
+ if (!clientOperExist && !pendingTransactions) {
29204
+ this.allowRemoteCmdExecution = false;
29170
29205
  this.SetServerSideTaskSuffix(this);
29206
+ RemoteCommandsProcessor.GetInstance().DelayCommandExecution = true;
29207
+ }
29208
+ return [3 /*break*/, 10];
29209
+ case 9:
29210
+ this.SetServerSideTaskSuffix(this);
29211
+ _a.label = 10;
29212
+ case 10:
29171
29213
  i = 0;
29172
- _a.label = 6;
29173
- case 6:
29174
- if (!(i < this.SubTasks.getSize() && succeeded)) return [3 /*break*/, 9];
29214
+ _a.label = 11;
29215
+ case 11:
29216
+ if (!(i < this.SubTasks.getSize() && succeeded)) return [3 /*break*/, 14];
29175
29217
  subTask = this.SubTasks.getTask(i);
29176
29218
  closedSubForm = closedSubForm || subTask.IsSubForm;
29177
29219
  return [4 /*yield*/, AccessHelper.eventsManager.handleInternalEventWithTask(subTask, utils.InternalInterface.MG_ACT_EXIT)];
29178
- case 7:
29220
+ case 12:
29179
29221
  _a.sent();
29180
29222
  succeeded = (!AccessHelper.eventsManager.GetStopExecutionFlag() || dueToVerifyError);
29181
- _a.label = 8;
29182
- case 8:
29223
+ _a.label = 13;
29224
+ case 13:
29183
29225
  i++;
29184
- return [3 /*break*/, 6];
29185
- case 9: return [3 /*break*/, 11];
29186
- case 10:
29226
+ return [3 /*break*/, 11];
29227
+ case 14: return [3 /*break*/, 16];
29228
+ case 15:
29187
29229
  if (RemoteCommandsProcessor.GetInstance().DelayCommandExecution)
29188
29230
  this.SetServerSideTaskSuffix(this);
29189
- _a.label = 11;
29190
- case 11:
29191
- if (!(this === mgdTab.StartupMgData.getFirstTask())) return [3 /*break*/, 15];
29231
+ _a.label = 16;
29232
+ case 16:
29233
+ if (!(this === mgdTab.StartupMgData.getFirstTask())) return [3 /*break*/, 20];
29192
29234
  i = mgdTab.getSize() - 1;
29193
- _a.label = 12;
29194
- case 12:
29195
- if (!(i > 0 && succeeded)) return [3 /*break*/, 15];
29196
- if (!(mgdTab.getMGData(i) != null)) return [3 /*break*/, 14];
29235
+ _a.label = 17;
29236
+ case 17:
29237
+ if (!(i > 0 && succeeded)) return [3 /*break*/, 20];
29238
+ if (!(mgdTab.getMGData(i) != null)) return [3 /*break*/, 19];
29197
29239
  return [4 /*yield*/, AccessHelper.eventsManager.handleInternalEventWithTask(mgdTab.getMGData(i).getFirstTask(), utils.InternalInterface.MG_ACT_EXIT)];
29198
- case 13:
29240
+ case 18:
29199
29241
  _a.sent();
29200
29242
  succeeded = (!AccessHelper.eventsManager.GetStopExecutionFlag() || dueToVerifyError);
29201
- _a.label = 14;
29202
- case 14:
29243
+ _a.label = 19;
29244
+ case 19:
29203
29245
  i--;
29204
- return [3 /*break*/, 12];
29205
- case 15:
29206
- if (!succeeded) return [3 /*break*/, 32];
29207
- if (!(reversibleExit && !dueToVerifyError)) return [3 /*break*/, 18];
29246
+ return [3 /*break*/, 17];
29247
+ case 20:
29248
+ if (!succeeded) return [3 /*break*/, 37];
29249
+ if (!(reversibleExit && !dueToVerifyError)) return [3 /*break*/, 23];
29208
29250
  return [4 /*yield*/, this.checkProp(gui.PropInterface.PROP_TYPE_FORCE_SUFFIX, false)];
29209
- case 16:
29251
+ case 21:
29210
29252
  forceSuffix = _a.sent();
29211
29253
  if (!this.IsInteractive && forceSuffix === true && this.getMode() === utils.Constants.TASK_MODE_CREATE)
29212
29254
  this.setProp(gui.PropInterface.PROP_TYPE_FORCE_SUFFIX, "0");
29213
29255
  return [4 /*yield*/, AccessHelper.eventsManager.handleInternalEventWithTask(this, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
29214
- case 17:
29256
+ case 22:
29215
29257
  _a.sent();
29216
29258
  if (!this.IsInteractive && forceSuffix === true && this.getMode() === utils.Constants.TASK_MODE_CREATE)
29217
29259
  this.setProp(gui.PropInterface.PROP_TYPE_FORCE_SUFFIX, "1");
29218
- _a.label = 18;
29219
- case 18:
29260
+ _a.label = 23;
29261
+ case 23:
29220
29262
  succeeded = (!AccessHelper.eventsManager.GetStopExecutionFlag() || dueToVerifyError);
29221
29263
  if (succeeded && !onlyDescs)
29222
29264
  this.HandleTransactionInfo();
29223
29265
  preTskSuffix = succeeded;
29224
29266
  if (!(succeeded && !onlyDescs && reversibleExit && !dueToVerifyError &&
29225
29267
  (!this.IsSubForm || subformDestination) &&
29226
- this.TaskPrefixExecuted && !this.TaskSuffixExecuted)) return [3 /*break*/, 20];
29268
+ this.TaskPrefixExecuted && !this.TaskSuffixExecuted)) return [3 /*break*/, 25];
29227
29269
  return [4 /*yield*/, this.handleTaskSuffix(true)];
29228
- case 19:
29270
+ case 24:
29229
29271
  succeeded = _a.sent();
29230
- _a.label = 20;
29231
- case 20:
29232
- if (!(reversibleExit && this.hasSubTasks())) return [3 /*break*/, 24];
29272
+ _a.label = 25;
29273
+ case 25:
29274
+ if (!(reversibleExit && this.hasSubTasks())) return [3 /*break*/, 29];
29233
29275
  i = 0;
29234
- _a.label = 21;
29235
- case 21:
29236
- if (!(i < this.SubTasks.getSize())) return [3 /*break*/, 24];
29276
+ _a.label = 26;
29277
+ case 26:
29278
+ if (!(i < this.SubTasks.getSize())) return [3 /*break*/, 29];
29237
29279
  subTask = this.SubTasks.getTask(i);
29238
- if (!!subTask.IsSubForm) return [3 /*break*/, 23];
29280
+ if (!!subTask.IsSubForm) return [3 /*break*/, 28];
29239
29281
  return [4 /*yield*/, AccessHelper.eventsManager.handleNonReversibleEvent(subTask, utils.InternalInterface.MG_ACT_EXIT)];
29240
- case 22:
29282
+ case 27:
29241
29283
  _a.sent();
29242
- _a.label = 23;
29243
- case 23:
29284
+ _a.label = 28;
29285
+ case 28:
29244
29286
  i++;
29245
- return [3 /*break*/, 21];
29246
- case 24:
29287
+ return [3 /*break*/, 26];
29288
+ case 29:
29247
29289
  if (reversibleExit)
29248
29290
  succeeded = (!AccessHelper.eventsManager.GetStopExecutionFlag() || dueToVerifyError);
29249
29291
  if (preTskSuffix)
29250
29292
  AccessHelper.eventsManager.setStopExecution(false);
29251
29293
  this.setAfterRetry(ConstInterface.RECOVERY_NONE);
29252
- if (!(!this.isAborting() && succeeded && !onlyDescs)) return [3 /*break*/, 32];
29253
- if (!reversibleExit) return [3 /*break*/, 26];
29294
+ if (!(!this.isAborting() && succeeded && !onlyDescs)) return [3 /*break*/, 37];
29295
+ if (!reversibleExit) return [3 /*break*/, 31];
29254
29296
  this.setTransactionFailed(false);
29255
29297
  return [4 /*yield*/, this.TaskTransactionManager.checkAndCommit(false, ConstInterface.TRANS_TASK_PREFIX, false)];
29256
- case 25:
29298
+ case 30:
29257
29299
  _a.sent();
29258
29300
  succeeded = (!AccessHelper.eventsManager.GetStopExecutionFlag() || dueToVerifyError) && !this.isAborting() && !this.transactionFailed(ConstInterface.TRANS_TASK_PREFIX);
29259
- _a.label = 26;
29260
- case 26:
29301
+ _a.label = 31;
29302
+ case 31:
29261
29303
  this.setAfterRetry(ConstInterface.RECOVERY_NONE);
29262
- if (!succeeded) return [3 /*break*/, 32];
29304
+ if (!succeeded) return [3 /*break*/, 37];
29263
29305
  if (!this.allowRemoteCmdExecution) {
29264
29306
  this.allowRemoteCmdExecution = true;
29265
29307
  RemoteCommandsProcessor.GetInstance().DelayCommandExecution = false;
@@ -29269,10 +29311,10 @@
29269
29311
  RemoteCommandsProcessor.GetInstance().DelayCommandExecution = true;
29270
29312
  }
29271
29313
  baseMgd = AccessHelper.mgDataTable.StartupMgData;
29272
- if (!(reversibleExit && baseMgd.getFirstTask().getTaskTag() === this.getTaskTag())) return [3 /*break*/, 28];
29314
+ if (!(reversibleExit && baseMgd.getFirstTask().getTaskTag() === this.getTaskTag())) return [3 /*break*/, 33];
29273
29315
  AccessHelper.eventsManager.setProcessingTopMostEndTask(true);
29274
29316
  return [4 /*yield*/, AccessHelper.eventsManager.handleEvents(baseMgd, 0)];
29275
- case 27:
29317
+ case 32:
29276
29318
  _a.sent();
29277
29319
  AccessHelper.eventsManager.setProcessingTopMostEndTask(false);
29278
29320
  if (this.isAborting()) {
@@ -29281,16 +29323,16 @@
29281
29323
  this.allowRemoteCmdExecution = true;
29282
29324
  return [2 /*return*/, true];
29283
29325
  }
29284
- _a.label = 28;
29285
- case 28: return [4 /*yield*/, TaskServiceBase.Exit(this, reversibleExit, subformDestination)];
29286
- case 29:
29326
+ _a.label = 33;
29327
+ case 33: return [4 /*yield*/, TaskServiceBase.Exit(this, reversibleExit, subformDestination)];
29328
+ case 34:
29287
29329
  _a.sent();
29288
- if (!(this._parentTask != null && this._parentTask.isMainProg())) return [3 /*break*/, 31];
29330
+ if (!(this._parentTask != null && this._parentTask.isMainProg())) return [3 /*break*/, 36];
29289
29331
  mgd = AccessHelper.mgDataTable.getMGData(0);
29290
29332
  mainPrgTask = mgd.getMainProg(0);
29291
29333
  rootTask = AccessHelper.mgDataTable.StartupMgData.getFirstTask();
29292
29334
  return [4 /*yield*/, mainPrgTask.checkProp(gui.PropInterface.PROP_TYPE_END_CONDITION, false)];
29293
- case 30:
29335
+ case 35:
29294
29336
  endMainPrg = _a.sent();
29295
29337
  if (this !== rootTask && endMainPrg) {
29296
29338
  rtEvt = new RunTimeEvent(rootTask);
@@ -29299,21 +29341,21 @@
29299
29341
  rtEvt.setArgList(null);
29300
29342
  AccessHelper.eventsManager.addToTail(rtEvt);
29301
29343
  }
29302
- _a.label = 31;
29303
- case 31:
29344
+ _a.label = 36;
29345
+ case 36:
29304
29346
  MgForm.CreatedForms.remove(this.Form);
29305
- _a.label = 32;
29306
- case 32: return [3 /*break*/, 34];
29307
- case 33:
29347
+ _a.label = 37;
29348
+ case 37: return [3 /*break*/, 39];
29349
+ case 38:
29308
29350
  if (!this.IsSubForm || subformDestination)
29309
29351
  this.handleFinallyEndTask(succeeded, reversibleExit);
29310
29352
  return [7 /*endfinally*/];
29311
- case 34: return [3 /*break*/, 36];
29312
- case 35:
29353
+ case 39: return [3 /*break*/, 41];
29354
+ case 40:
29313
29355
  if (this.InEndTask)
29314
29356
  succeeded = false;
29315
- _a.label = 36;
29316
- case 36:
29357
+ _a.label = 41;
29358
+ case 41:
29317
29359
  AccessHelper.eventsManager.setProcessingTopMostEndTask(this._inProcessingTopMostEndTaskSaved);
29318
29360
  return [2 /*return*/, succeeded];
29319
29361
  }
@@ -29342,36 +29384,58 @@
29342
29384
  }
29343
29385
  };
29344
29386
  Task.prototype.CheckIfClientOperationExistsInSubformTasks = function (task, eventCode) {
29345
- var clientOperationExist = false;
29346
- var rtEvt = new RunTimeEvent(task);
29347
- rtEvt.setInternal(eventCode);
29348
- var handler = null;
29349
- var evtHanPos = new EventHandlerPosition();
29350
- evtHanPos.init(rtEvt);
29351
- handler = evtHanPos.getNext();
29352
- var pendingTransactions = false;
29353
- if (eventCode == utils.InternalInterface.MG_ACT_REC_SUFFIX) {
29354
- var currRecord = task.DataView.getCurrRec();
29355
- if (task.DataView.modifiedRecordsNumber() > 0 || (currRecord != null && currRecord.Modified))
29356
- pendingTransactions = true;
29357
- }
29358
- if (handler != null && pendingTransactions == true) {
29359
- var cnt = handler.getOperationTab().getSize();
29360
- for (var i = 0; i < cnt; i++) {
29361
- var oper = handler.getOperationTab().getOperation(i);
29362
- if (oper.getExecOnClient()) {
29363
- clientOperationExist = true;
29364
- break;
29387
+ return __awaiter(this, void 0, void 0, function () {
29388
+ var clientOperationExist, rtEvt, handler, evtHanPos, currRecord, forceSuffix, cnt, i, oper, i, subTask;
29389
+ return __generator(this, function (_a) {
29390
+ switch (_a.label) {
29391
+ case 0:
29392
+ clientOperationExist = false;
29393
+ rtEvt = new RunTimeEvent(task);
29394
+ rtEvt.setInternal(eventCode);
29395
+ handler = null;
29396
+ evtHanPos = new EventHandlerPosition();
29397
+ evtHanPos.init(rtEvt);
29398
+ handler = evtHanPos.getNext();
29399
+ if (!(eventCode == utils.InternalInterface.MG_ACT_REC_SUFFIX)) return [3 /*break*/, 2];
29400
+ currRecord = task.DataView.getCurrRec();
29401
+ if (task.DataView.modifiedRecordsNumber() > 0 || (currRecord != null && currRecord.Modified))
29402
+ clientOperationExist = true;
29403
+ if (!!clientOperationExist) return [3 /*break*/, 2];
29404
+ return [4 /*yield*/, task.checkProp(gui.PropInterface.PROP_TYPE_FORCE_SUFFIX, false)];
29405
+ case 1:
29406
+ forceSuffix = _a.sent();
29407
+ if (forceSuffix === true)
29408
+ if (task.IsInteractive || task.getMode() !== utils.Constants.TASK_MODE_CREATE)
29409
+ clientOperationExist = true;
29410
+ _a.label = 2;
29411
+ case 2:
29412
+ if (handler != null && !clientOperationExist) {
29413
+ cnt = handler.getOperationTab().getSize();
29414
+ for (i = 0; i < cnt; i++) {
29415
+ oper = handler.getOperationTab().getOperation(i);
29416
+ if (oper.getExecOnClient()) {
29417
+ clientOperationExist = true;
29418
+ break;
29419
+ }
29420
+ }
29421
+ }
29422
+ if (!(!clientOperationExist && task.hasSubTasks())) return [3 /*break*/, 6];
29423
+ i = 0;
29424
+ _a.label = 3;
29425
+ case 3:
29426
+ if (!(!clientOperationExist && i < task.getSubTasks().getSize())) return [3 /*break*/, 6];
29427
+ subTask = task.SubTasks.getTask(i);
29428
+ return [4 /*yield*/, this.CheckIfClientOperationExistsInSubformTasks(subTask, eventCode)];
29429
+ case 4:
29430
+ clientOperationExist = _a.sent();
29431
+ _a.label = 5;
29432
+ case 5:
29433
+ i++;
29434
+ return [3 /*break*/, 3];
29435
+ case 6: return [2 /*return*/, clientOperationExist];
29365
29436
  }
29366
- }
29367
- }
29368
- if (!clientOperationExist && task.hasSubTasks()) {
29369
- for (var i = 0; (!clientOperationExist && i < task.getSubTasks().getSize()); i++) {
29370
- var subTask = task.SubTasks.getTask(i);
29371
- clientOperationExist = this.CheckIfClientOperationExistsInSubformTasks(subTask, eventCode);
29372
- }
29373
- }
29374
- return clientOperationExist;
29437
+ });
29438
+ });
29375
29439
  };
29376
29440
  Task.prototype.CheckIfPendingTransactions = function (task) {
29377
29441
  var pendingTransactions = false;
@@ -31329,6 +31393,16 @@
31329
31393
  }
31330
31394
  return false;
31331
31395
  };
31396
+ MGData.prototype.getTaskByTaskDefinitionID = function (taskDefinitionID) {
31397
+ var task;
31398
+ for (var i = 0; i < this._tasksTab.getSize(); i = i + 1) {
31399
+ task = this._tasksTab.getTask(i);
31400
+ if (task.TaskDefinitionId.Equals(taskDefinitionID)) {
31401
+ return task;
31402
+ }
31403
+ }
31404
+ return null;
31405
+ };
31332
31406
  MGData.prototype.getTimerHandlers = function () {
31333
31407
  return this._timerHandlers;
31334
31408
  };
@@ -31580,6 +31654,7 @@
31580
31654
  this._isHandlingForceExit = false;
31581
31655
  this._isNonReversibleExit = false;
31582
31656
  this._isInRecordFlushEvent = false;
31657
+ this.lastSavedRouteEvent = null;
31583
31658
  this._stopExecution = false;
31584
31659
  this._processingTopMostEndTask = false;
31585
31660
  this._stopExecutionCtrl = null;
@@ -31610,6 +31685,17 @@
31610
31685
  this.guiPendingEvent = guiEvent;
31611
31686
  };
31612
31687
  EventsManager.prototype.addToTail = function (rtEvt) {
31688
+ if (!rtEvt.isIdleTimer()) {
31689
+ if (EventsManager.clientInactivityTimerON) {
31690
+ EventsManager.clientContextInactivityTimerAborted = true;
31691
+ }
31692
+ }
31693
+ else {
31694
+ if (this.getLastSavedRouteEvent() != null) {
31695
+ this.addToTail(this.getLastSavedRouteEvent());
31696
+ this.setLastSavedRouteEvent(null);
31697
+ }
31698
+ }
31613
31699
  this._eventsQueue.put(rtEvt);
31614
31700
  };
31615
31701
  EventsManager.prototype.AddKeyboardEvent = function (mgForm, mgControl, modifier, keyCode, start, end, text, isActChar, suggestedValue, code) {
@@ -32114,6 +32200,17 @@
32114
32200
  rtEvt.setArgList(args);
32115
32201
  EventsManager.Instance.addToTail(rtEvt);
32116
32202
  };
32203
+ EventsManager.prototype.AddLastSavedRouteEvent = function (srcTask, args) {
32204
+ var rtEvt = new RunTimeEvent(LastFocusedManager.Instance.getLastFocusedTask(), true);
32205
+ rtEvt.setInternal(utils.InternalInterface.MG_ACT_WEBCLIENT_ROUTE);
32206
+ if (srcTask != null) {
32207
+ rtEvt.setTask(srcTask);
32208
+ if (args != null) {
32209
+ rtEvt.setArgList(args);
32210
+ }
32211
+ this.setLastSavedRouteEvent(rtEvt);
32212
+ }
32213
+ };
32117
32214
  EventsManager.prototype.AddExternalValueEvent = function (ctrl, value, refreshDisplay) {
32118
32215
  var rtEvt = new RunTimeEvent(ctrl, 0, true);
32119
32216
  rtEvt.setInternal(utils.InternalInterface.MG_ACT_SET_EXTERNAL_VALUE);
@@ -32167,6 +32264,31 @@
32167
32264
  EventsManager.prototype.isForceExitPreRecordUpdate = function (task) {
32168
32265
  return this._isHandlingForceExit && this.getForceExit() === utils.ForceExit.PreRecordUpdate && task === this.getForceExitTask();
32169
32266
  };
32267
+ EventsManager.prototype.ExecuteClientContextInactivityTimer = function () {
32268
+ return __awaiter(this, void 0, void 0, function () {
32269
+ var startTime, currTime, clientCtxInactivityTimeout, timeLapsed;
32270
+ return __generator(this, function (_a) {
32271
+ switch (_a.label) {
32272
+ case 0:
32273
+ startTime = utils.Misc.getSystemMilliseconds();
32274
+ clientCtxInactivityTimeout = Environment.Instance.getClientContextInactivityTimeout() * 100;
32275
+ EventsManager.clientInactivityTimerON = true;
32276
+ _a.label = 1;
32277
+ case 1:
32278
+ if (!EventsManager.clientInactivityTimerON) return [3 /*break*/, 3];
32279
+ return [4 /*yield*/, mscorelib.Thread.Sleep(1000)];
32280
+ case 2:
32281
+ _a.sent();
32282
+ timeLapsed = utils.Misc.getSystemMilliseconds() - startTime;
32283
+ if (EventsManager.clientContextInactivityTimerAborted || timeLapsed >= clientCtxInactivityTimeout) {
32284
+ EventsManager.clientInactivityTimerON = false;
32285
+ }
32286
+ return [3 /*break*/, 1];
32287
+ case 3: return [2 /*return*/];
32288
+ }
32289
+ });
32290
+ });
32291
+ };
32170
32292
  EventsManager.prototype.CheckAndShowSpinner = function (show) {
32171
32293
  return __awaiter(this, void 0, void 0, function () {
32172
32294
  var sendCommand, totalClientBusyTime;
@@ -32759,6 +32881,12 @@
32759
32881
  });
32760
32882
  });
32761
32883
  };
32884
+ EventsManager.prototype.checkAndSaveRouteEventIfCtxRemovedFromSrvr = function (aRtEvt) {
32885
+ if (aRtEvt.getType() == ConstInterface.EVENT_TYPE_INTERNAL && aRtEvt.getInternalCode() ==
32886
+ utils.InternalInterface.MG_ACT_WEBCLIENT_ROUTE && gui.RuntimeContextBase.Instance.RemovedContextFromServer) {
32887
+ this.setLastSavedRouteEvent(aRtEvt);
32888
+ }
32889
+ };
32762
32890
  EventsManager.prototype.handleFocus = function (ctrl, line, onClick) {
32763
32891
  return __awaiter(this, void 0, void 0, function () {
32764
32892
  var prevCtrl, prevTask, currTask, _a, canGotoCtrl, handled, eventLine, rtEvt, newVal, returnToCtrl;
@@ -33235,13 +33363,10 @@
33235
33363
  task.ActionManager.enable(utils.InternalInterface.MG_ACT_ZOOM, true);
33236
33364
  if (ctrl.isTextControl() || ctrl.isChoiceControl())
33237
33365
  ctrl.SetKeyboardLanguage(false);
33238
- return [4 /*yield*/, ctrl.refreshDefaultButton()];
33239
- case 31:
33240
- _b.sent();
33241
33366
  if (ctrl.Type === utils.MgControlType.CTRL_TYPE_BUTTON)
33242
33367
  task.ActionManager.enable(utils.InternalInterface.MG_ACT_BUTTON, true);
33243
33368
  return [4 /*yield*/, task.setCreateDeleteActsEnableState()];
33244
- case 32:
33369
+ case 31:
33245
33370
  _b.sent();
33246
33371
  field = ctrl.getField();
33247
33372
  if (field !== null && field.NullAllowed && ctrl.isModifiable() && ctrl.Type !== utils.MgControlType.CTRL_TYPE_BUTTON)
@@ -33278,7 +33403,7 @@
33278
33403
  return [2 /*return*/, false];
33279
33404
  }
33280
33405
  }
33281
- if (!(evt.getType() === ConstInterface.EVENT_TYPE_INTERNAL)) return [3 /*break*/, 85];
33406
+ if (!(evt.getType() === ConstInterface.EVENT_TYPE_INTERNAL)) return [3 /*break*/, 83];
33282
33407
  form = task.getForm();
33283
33408
  displayLine = evt.getDisplayLine();
33284
33409
  dv = task.DataView;
@@ -33294,31 +33419,30 @@
33294
33419
  case utils.InternalInterface.MG_ACT_CTRL_FOCUS_ON_NON_MAGIC_CONTROL: return [3 /*break*/, 6];
33295
33420
  case utils.InternalInterface.MG_ACT_CTRL_KEYDOWN: return [3 /*break*/, 8];
33296
33421
  case utils.InternalInterface.MG_ACT_CTRL_MOUSEUP: return [3 /*break*/, 10];
33297
- case utils.InternalInterface.MG_ACT_DEFAULT_BUTTON: return [3 /*break*/, 12];
33298
- case utils.InternalInterface.MG_ACT_SELECTION: return [3 /*break*/, 14];
33299
- case utils.InternalInterface.MG_ACT_TIMER: return [3 /*break*/, 16];
33300
- case utils.InternalInterface.MG_ACT_RESIZE: return [3 /*break*/, 18];
33301
- case utils.InternalInterface.MG_ACT_ROW_DATA_CURR_PAGE: return [3 /*break*/, 19];
33302
- case utils.InternalInterface.MG_ACT_DV_TO_GUI: return [3 /*break*/, 21];
33303
- case utils.InternalInterface.MG_ACT_FETCH_RECORDS_AHEAD_FROM_SERVER: return [3 /*break*/, 23];
33304
- case utils.InternalInterface.MG_ACT_ENABLE_EVENTS: return [3 /*break*/, 25];
33305
- case utils.InternalInterface.MG_ACT_DISABLE_EVENTS: return [3 /*break*/, 26];
33306
- case utils.InternalInterface.MG_ACT_TASK_PREFIX: return [3 /*break*/, 27];
33307
- case utils.InternalInterface.MG_ACT_TASK_SUFFIX: return [3 /*break*/, 28];
33308
- case utils.InternalInterface.MG_ACT_REC_PREFIX: return [3 /*break*/, 29];
33309
- case utils.InternalInterface.MG_ACT_REC_SUFFIX: return [3 /*break*/, 65];
33310
- case utils.InternalInterface.MG_ACT_CTRL_PREFIX: return [3 /*break*/, 77];
33311
- case utils.InternalInterface.MG_ACT_CANCEL: return [3 /*break*/, 79];
33312
- case utils.InternalInterface.MG_ACT_CTRL_SUFFIX: return [3 /*break*/, 80];
33313
- }
33314
- return [3 /*break*/, 85];
33422
+ case utils.InternalInterface.MG_ACT_SELECTION: return [3 /*break*/, 12];
33423
+ case utils.InternalInterface.MG_ACT_TIMER: return [3 /*break*/, 14];
33424
+ case utils.InternalInterface.MG_ACT_RESIZE: return [3 /*break*/, 16];
33425
+ case utils.InternalInterface.MG_ACT_ROW_DATA_CURR_PAGE: return [3 /*break*/, 17];
33426
+ case utils.InternalInterface.MG_ACT_DV_TO_GUI: return [3 /*break*/, 19];
33427
+ case utils.InternalInterface.MG_ACT_FETCH_RECORDS_AHEAD_FROM_SERVER: return [3 /*break*/, 21];
33428
+ case utils.InternalInterface.MG_ACT_ENABLE_EVENTS: return [3 /*break*/, 23];
33429
+ case utils.InternalInterface.MG_ACT_DISABLE_EVENTS: return [3 /*break*/, 24];
33430
+ case utils.InternalInterface.MG_ACT_TASK_PREFIX: return [3 /*break*/, 25];
33431
+ case utils.InternalInterface.MG_ACT_TASK_SUFFIX: return [3 /*break*/, 26];
33432
+ case utils.InternalInterface.MG_ACT_REC_PREFIX: return [3 /*break*/, 27];
33433
+ case utils.InternalInterface.MG_ACT_REC_SUFFIX: return [3 /*break*/, 63];
33434
+ case utils.InternalInterface.MG_ACT_CTRL_PREFIX: return [3 /*break*/, 75];
33435
+ case utils.InternalInterface.MG_ACT_CANCEL: return [3 /*break*/, 77];
33436
+ case utils.InternalInterface.MG_ACT_CTRL_SUFFIX: return [3 /*break*/, 78];
33437
+ }
33438
+ return [3 /*break*/, 83];
33315
33439
  case 1: return [4 /*yield*/, this.selectProg(ctrl)];
33316
33440
  case 2:
33317
33441
  boolval = _d.sent();
33318
33442
  if (boolval)
33319
33443
  return [2 /*return*/, false];
33320
33444
  _d.label = 3;
33321
- case 3: return [3 /*break*/, 85];
33445
+ case 3: return [3 /*break*/, 83];
33322
33446
  case 4: return [4 /*yield*/, this.handleFocus(ctrl, displayLine, evt.isProduceClick())];
33323
33447
  case 5:
33324
33448
  _d.sent();
@@ -33335,274 +33459,272 @@
33335
33459
  case 11:
33336
33460
  _d.sent();
33337
33461
  return [2 /*return*/, false];
33338
- case 12: return [4 /*yield*/, this.onActDefaultButton(form, evt)];
33462
+ case 12: return [4 /*yield*/, this.onActSelection(ctrl, form, evt)];
33339
33463
  case 13:
33340
33464
  _d.sent();
33341
33465
  return [2 /*return*/, false];
33342
- case 14: return [4 /*yield*/, this.onActSelection(ctrl, form, evt)];
33466
+ case 14: return [4 /*yield*/, this.handleTimer(evt)];
33343
33467
  case 15:
33344
33468
  _d.sent();
33345
33469
  return [2 /*return*/, false];
33346
- case 16: return [4 /*yield*/, this.handleTimer(evt)];
33347
- case 17:
33348
- _d.sent();
33470
+ case 16:
33471
+ this.handleResize(ctrl, displayLine);
33349
33472
  return [2 /*return*/, false];
33473
+ case 17: return [4 /*yield*/, this.handleRowDataCurPage(ctrl, displayLine, evt.isSendAll(), evt.LastFocusedVal)];
33350
33474
  case 18:
33351
- this.handleResize(ctrl, displayLine);
33475
+ _d.sent();
33352
33476
  return [2 /*return*/, false];
33353
- case 19: return [4 /*yield*/, this.handleRowDataCurPage(ctrl, displayLine, evt.isSendAll(), evt.LastFocusedVal)];
33477
+ case 19: return [4 /*yield*/, this.handleTransferDataToGui(ctrl)];
33354
33478
  case 20:
33355
33479
  _d.sent();
33356
33480
  return [2 /*return*/, false];
33357
- case 21: return [4 /*yield*/, this.handleTransferDataToGui(ctrl)];
33481
+ case 21: return [4 /*yield*/, this.fetchRecordsAheadFromServer(ctrl)];
33358
33482
  case 22:
33359
33483
  _d.sent();
33360
- return [2 /*return*/, false];
33361
- case 23: return [4 /*yield*/, this.fetchRecordsAheadFromServer(ctrl)];
33362
- case 24:
33363
- _d.sent();
33364
- return [3 /*break*/, 85];
33365
- case 25:
33484
+ return [3 /*break*/, 83];
33485
+ case 23:
33366
33486
  this.handleEnableEvents(evt, true);
33367
33487
  return [2 /*return*/, false];
33368
- case 26:
33488
+ case 24:
33369
33489
  this.handleEnableEvents(evt, false);
33370
33490
  return [2 /*return*/, false];
33371
- case 27:
33491
+ case 25:
33372
33492
  task.setLevel(utils.Constants.TASK_LEVEL_TASK);
33373
- return [3 /*break*/, 85];
33374
- case 28:
33493
+ return [3 /*break*/, 83];
33494
+ case 26:
33375
33495
  task.setLevel(utils.Constants.TASK_LEVEL_TASK);
33376
- return [3 /*break*/, 85];
33377
- case 29:
33496
+ return [3 /*break*/, 83];
33497
+ case 27:
33378
33498
  if (task.IsSubForm && task.getParent().InCommonHandlerBeforeRP)
33379
33499
  return [2 /*return*/, false];
33380
33500
  task.setAfterRetry(ConstInterface.RECOVERY_NONE);
33381
33501
  task.DataSynced = false;
33382
33502
  if (!task.isStarted())
33383
33503
  return [2 /*return*/, false];
33384
- if (!(form.getRowsInPage() > mscorelib.Int32.MinValue && displayLine > mscorelib.Int32.MinValue)) return [3 /*break*/, 49];
33504
+ if (!(form.getRowsInPage() > mscorelib.Int32.MinValue && displayLine > mscorelib.Int32.MinValue)) return [3 /*break*/, 47];
33385
33505
  while (!dv.recExists(displayLine) && displayLine > 0) {
33386
33506
  displayLine--;
33387
33507
  }
33388
- if (!(displayLine >= 0)) return [3 /*break*/, 48];
33508
+ if (!(displayLine >= 0)) return [3 /*break*/, 46];
33389
33509
  prevRec = dv.getCurrRec();
33390
33510
  oldTaskMode = task.getMode();
33391
33511
  oldRecId = prevRec.getId();
33392
- _d.label = 30;
33393
- case 30:
33394
- _d.trys.push([30, 35, , 47]);
33512
+ _d.label = 28;
33513
+ case 28:
33514
+ _d.trys.push([28, 33, , 45]);
33395
33515
  oldDisplayLine = form.DisplayLine;
33396
33516
  form.PrevDisplayLine = oldDisplayLine;
33397
33517
  return [4 /*yield*/, form.setCurrRowByDisplayLine(displayLine, true, false)];
33398
- case 31:
33518
+ case 29:
33399
33519
  _d.sent();
33400
- if (!(prevRec != null && !dv.recExistsById(prevRec.getId()))) return [3 /*break*/, 34];
33520
+ if (!(prevRec != null && !dv.recExistsById(prevRec.getId()))) return [3 /*break*/, 32];
33401
33521
  return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_TABLE)];
33402
- case 32:
33522
+ case 30:
33403
33523
  _d.sent();
33404
33524
  return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_CURR_REC)];
33405
- case 33:
33525
+ case 31:
33406
33526
  _d.sent();
33407
- _d.label = 34;
33408
- case 34:
33527
+ _d.label = 32;
33528
+ case 32:
33409
33529
  rec = dv.getCurrRec();
33410
- return [3 /*break*/, 47];
33411
- case 35:
33530
+ return [3 /*break*/, 45];
33531
+ case 33:
33412
33532
  e_1 = _d.sent();
33413
- if (!(e_1 instanceof RecordOutOfDataViewException)) return [3 /*break*/, 45];
33414
- if (!this._stopExecution) return [3 /*break*/, 43];
33533
+ if (!(e_1 instanceof RecordOutOfDataViewException)) return [3 /*break*/, 43];
33534
+ if (!this._stopExecution) return [3 /*break*/, 41];
33415
33535
  if (!(oldTaskMode === utils.Constants.TASK_MODE_CREATE && oldDisplayLine > 0 &&
33416
- !dv.recExistsById(oldRecId))) return [3 /*break*/, 37];
33536
+ !dv.recExistsById(oldRecId))) return [3 /*break*/, 35];
33417
33537
  prevLine = form.getPrevLine(oldDisplayLine);
33418
33538
  return [4 /*yield*/, form.restoreOldDisplayLine(prevLine)];
33539
+ case 34:
33540
+ _d.sent();
33541
+ return [3 /*break*/, 37];
33542
+ case 35: return [4 /*yield*/, form.restoreOldDisplayLine(oldDisplayLine)];
33419
33543
  case 36:
33420
33544
  _d.sent();
33421
- return [3 /*break*/, 39];
33422
- case 37: return [4 /*yield*/, form.restoreOldDisplayLine(oldDisplayLine)];
33545
+ _d.label = 37;
33546
+ case 37: return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_FORM)];
33423
33547
  case 38:
33424
- _d.sent();
33425
- _d.label = 39;
33426
- case 39: return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_FORM)];
33427
- case 40:
33428
33548
  _d.sent();
33429
33549
  this.setStopExecution(false);
33430
33550
  lastFocusedCtrl = task.getLastParkedCtrl();
33431
33551
  task.getLastParkedCtrl();
33432
- if (!(lastFocusedCtrl != null)) return [3 /*break*/, 42];
33552
+ if (!(lastFocusedCtrl != null)) return [3 /*break*/, 40];
33433
33553
  return [4 /*yield*/, lastFocusedCtrl.invoke()];
33434
- case 41:
33554
+ case 39:
33435
33555
  _d.sent();
33436
- _d.label = 42;
33437
- case 42:
33556
+ _d.label = 40;
33557
+ case 40:
33438
33558
  this.setStopExecution(true);
33439
33559
  return [2 /*return*/, false];
33440
- case 43:
33560
+ case 41:
33441
33561
  utils.Logger.Instance.WriteDevToLog(e_1.StackTrace);
33442
- _d.label = 44;
33443
- case 44: return [3 /*break*/, 46];
33444
- case 45: throw e_1;
33445
- case 46: return [3 /*break*/, 47];
33446
- case 47: return [3 /*break*/, 49];
33447
- case 48: throw new mscorelib.ApplicationException("in EventsManager.commonHandlerBefore(): invalid line number: " +
33562
+ _d.label = 42;
33563
+ case 42: return [3 /*break*/, 44];
33564
+ case 43: throw e_1;
33565
+ case 44: return [3 /*break*/, 45];
33566
+ case 45: return [3 /*break*/, 47];
33567
+ case 46: throw new mscorelib.ApplicationException("in EventsManager.commonHandlerBefore(): invalid line number: " +
33448
33568
  displayLine);
33449
- case 49:
33569
+ case 47:
33450
33570
  if (rec == null)
33451
33571
  throw new mscorelib.ApplicationException("in EventsManager.commonHandlerBefore(): no current record available !");
33452
33572
  if (!task.IsInteractive && task.getLevel() === utils.Constants.TASK_LEVEL_TASK)
33453
33573
  task.increaseCounter();
33454
33574
  return [4 /*yield*/, task.evalEndCond(ConstInterface.END_COND_EVAL_BEFORE)];
33455
- case 50:
33456
- if (!_d.sent()) return [3 /*break*/, 52];
33575
+ case 48:
33576
+ if (!_d.sent()) return [3 /*break*/, 50];
33457
33577
  return [4 /*yield*/, task.endTask(true, false, false)];
33458
- case 51:
33578
+ case 49:
33459
33579
  _d.sent();
33460
33580
  return [2 /*return*/, false];
33461
- case 52:
33462
- if (!form.HasTable()) return [3 /*break*/, 54];
33581
+ case 50:
33582
+ if (!form.HasTable()) return [3 /*break*/, 52];
33463
33583
  return [4 /*yield*/, form.bringRecordToPage()];
33464
- case 53:
33465
- _d.sent();
33466
- _d.label = 54;
33467
- case 54: return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_CURR_REC)];
33468
- case 55:
33584
+ case 51:
33469
33585
  _d.sent();
33586
+ _d.label = 52;
33587
+ case 52:
33470
33588
  if (task.getLevel() !== utils.Constants.TASK_LEVEL_TASK)
33471
33589
  return [2 /*return*/, false];
33590
+ return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_CURR_REC)];
33591
+ case 53:
33592
+ _d.sent();
33472
33593
  utils.Logger.Instance.WriteDevToLog("RECORD PREFIX: " + task.queryTaskPath());
33473
33594
  (dv.getCurrRec()).setForceSaveOrg(false);
33474
33595
  (dv.getCurrRec()).Synced = false;
33475
33596
  dv.saveOriginal();
33476
- if (!(task.IsSubForm && task.PerformParentRecordPrefix)) return [3 /*break*/, 60];
33597
+ if (!(task.IsSubForm && task.PerformParentRecordPrefix)) return [3 /*break*/, 58];
33477
33598
  parentTask = task.getParent();
33478
- _d.label = 56;
33479
- case 56:
33480
- if (!parentTask.IsSubForm) return [3 /*break*/, 60];
33481
- if (!(parentTask.getLevel() === utils.Constants.TASK_LEVEL_TASK)) return [3 /*break*/, 58];
33599
+ _d.label = 54;
33600
+ case 54:
33601
+ if (!parentTask.IsSubForm) return [3 /*break*/, 58];
33602
+ if (!(parentTask.getLevel() === utils.Constants.TASK_LEVEL_TASK)) return [3 /*break*/, 56];
33482
33603
  return [4 /*yield*/, this.handleInternalEventWithTask(parentTask, utils.InternalInterface.MG_ACT_REC_PREFIX)];
33483
- case 57:
33604
+ case 55:
33484
33605
  _d.sent();
33485
33606
  parentTask = parentTask.getParent();
33486
33607
  if (this.GetStopExecutionFlag())
33487
- return [3 /*break*/, 60];
33488
- return [3 /*break*/, 59];
33489
- case 58: return [3 /*break*/, 60];
33490
- case 59: return [3 /*break*/, 56];
33491
- case 60:
33608
+ return [3 /*break*/, 58];
33609
+ return [3 /*break*/, 57];
33610
+ case 56: return [3 /*break*/, 58];
33611
+ case 57: return [3 /*break*/, 54];
33612
+ case 58:
33492
33613
  task.InCommonHandlerBeforeRP = true;
33493
33614
  return [4 /*yield*/, task.CheckRefreshSubTasks()];
33494
- case 61:
33495
- if (!_d.sent()) return [3 /*break*/, 63];
33615
+ case 59:
33616
+ if (!_d.sent()) return [3 /*break*/, 61];
33496
33617
  return [4 /*yield*/, dv.computeSubForms()];
33497
- case 62:
33618
+ case 60:
33498
33619
  _d.sent();
33499
- _d.label = 63;
33500
- case 63:
33620
+ _d.label = 61;
33621
+ case 61:
33501
33622
  task.InCommonHandlerBeforeRP = false;
33502
33623
  task.setLevel(utils.Constants.TASK_LEVEL_RECORD);
33503
33624
  return [4 /*yield*/, task.enableRecordActions()];
33504
- case 64:
33625
+ case 62:
33505
33626
  _d.sent();
33506
- return [3 /*break*/, 85];
33507
- case 65:
33627
+ return [3 /*break*/, 83];
33628
+ case 63:
33508
33629
  forceSuffix = false;
33509
33630
  isSelectionTable = void 0;
33510
33631
  task.ConfirmUpdateNo = false;
33511
33632
  if (rec == null)
33512
33633
  return [2 /*return*/, false];
33513
33634
  return [4 /*yield*/, task.checkProp(gui.PropInterface.PROP_TYPE_FORCE_SUFFIX, false)];
33514
- case 66:
33635
+ case 64:
33515
33636
  forceSuffix = _d.sent();
33516
33637
  if ((rec.Modified || forceSuffix) && rec.getMode() === gui.DataModificationTypes.Delete &&
33517
33638
  task.getMode() === utils.Constants.TASK_MODE_DELETE)
33518
33639
  return [2 /*return*/, true];
33519
33640
  if (task.getLevel() === utils.Constants.TASK_LEVEL_TASK)
33520
33641
  return [2 /*return*/, false];
33521
- if (!(task.getLevel() === utils.Constants.TASK_LEVEL_CONTROL)) return [3 /*break*/, 68];
33642
+ if (!(task.getLevel() === utils.Constants.TASK_LEVEL_CONTROL)) return [3 /*break*/, 66];
33522
33643
  task.setInRecordSuffix(true);
33523
33644
  return [4 /*yield*/, this.handleInternalEventWithMgControlBase(task.getLastParkedCtrl(), utils.InternalInterface.MG_ACT_CTRL_SUFFIX)];
33524
- case 67:
33645
+ case 65:
33525
33646
  _d.sent();
33526
33647
  task.setInRecordSuffix(false);
33527
33648
  if (this._stopExecution)
33528
33649
  return [2 /*return*/, false];
33529
- _d.label = 68;
33530
- case 68: return [4 /*yield*/, task.handleEventOnSlaveTasks(utils.InternalInterface.MG_ACT_REC_SUFFIX)];
33531
- case 69:
33650
+ _d.label = 66;
33651
+ case 66: return [4 /*yield*/, task.handleEventOnSlaveTasks(utils.InternalInterface.MG_ACT_REC_SUFFIX)];
33652
+ case 67:
33532
33653
  _d.sent();
33533
33654
  if (this._stopExecution)
33534
33655
  return [2 /*return*/, false];
33535
33656
  utils.Logger.Instance.WriteDevToLog("RECORD SUFFIX: " + task.queryTaskPath());
33536
33657
  task.setLevel(utils.Constants.TASK_LEVEL_TASK);
33537
33658
  return [4 /*yield*/, task.checkProp(gui.PropInterface.PROP_TYPE_SELECTION, false)];
33538
- case 70:
33659
+ case 68:
33539
33660
  isSelectionTable = _d.sent();
33540
33661
  if (task.getMode() === utils.Constants.TASK_MODE_QUERY && !forceSuffix && !rec.Modified &&
33541
33662
  !isSelectionTable)
33542
33663
  return [2 /*return*/, false];
33543
- if (!(!rec.Modified && !forceSuffix && (!isSelectionTable || !task.InSelect))) return [3 /*break*/, 73];
33544
- if (!(rec.getMode() === gui.DataModificationTypes.Delete)) return [3 /*break*/, 72];
33664
+ if (!(!rec.Modified && !forceSuffix && (!isSelectionTable || !task.InSelect))) return [3 /*break*/, 71];
33665
+ if (!(rec.getMode() === gui.DataModificationTypes.Delete)) return [3 /*break*/, 70];
33545
33666
  return [4 /*yield*/, this.executeControlVerification(task)];
33546
- case 71: return [2 /*return*/, _d.sent()];
33547
- case 72: return [2 /*return*/, false];
33548
- case 73:
33549
- if (!(task.getMode() !== utils.Constants.TASK_MODE_DELETE && rec.Modified)) return [3 /*break*/, 75];
33667
+ case 69: return [2 /*return*/, _d.sent()];
33668
+ case 70: return [2 /*return*/, false];
33669
+ case 71:
33670
+ if (!(task.getMode() !== utils.Constants.TASK_MODE_DELETE && rec.Modified)) return [3 /*break*/, 73];
33550
33671
  return [4 /*yield*/, this.updateConfirmed(task)];
33551
- case 74:
33672
+ case 72:
33552
33673
  if (!(_d.sent()))
33553
33674
  return [2 /*return*/, false];
33554
- _d.label = 75;
33555
- case 75: return [4 /*yield*/, this.executeControlVerification(task)];
33556
- case 76:
33675
+ _d.label = 73;
33676
+ case 73: return [4 /*yield*/, this.executeControlVerification(task)];
33677
+ case 74:
33557
33678
  stopExecution = !(_d.sent());
33558
33679
  if (stopExecution)
33559
33680
  return [2 /*return*/, false];
33560
- return [3 /*break*/, 85];
33561
- case 77: return [4 /*yield*/, this.handleCtrlPrefix(evt)];
33562
- case 78:
33681
+ return [3 /*break*/, 83];
33682
+ case 75: return [4 /*yield*/, this.handleCtrlPrefix(evt)];
33683
+ case 76:
33563
33684
  if (_d.sent())
33564
33685
  return [2 /*return*/, true];
33565
33686
  else {
33566
33687
  evt.Control.InControl = false;
33567
33688
  return [2 /*return*/, false];
33568
33689
  }
33569
- _d.label = 79;
33570
- case 79:
33690
+ _d.label = 77;
33691
+ case 77:
33571
33692
  gui.Manager.CleanMessagePane(task);
33572
- return [3 /*break*/, 85];
33573
- case 80:
33693
+ return [3 /*break*/, 83];
33694
+ case 78:
33574
33695
  if (ctrl == null || this.getStopExecutionCtrl() != null)
33575
33696
  return [2 /*return*/, false];
33576
33697
  if (task.getLevel() !== utils.Constants.TASK_LEVEL_CONTROL)
33577
33698
  return [2 /*return*/, false];
33578
- if (!!ctrl.isSubform()) return [3 /*break*/, 84];
33699
+ if (!!ctrl.isSubform()) return [3 /*break*/, 82];
33579
33700
  val = gui.Manager.GetCtrlVal(ctrl);
33580
33701
  task.CurrentEditingControl = null;
33581
33702
  _b = !task.cancelWasRaised();
33582
- if (!_b) return [3 /*break*/, 83];
33703
+ if (!_b) return [3 /*break*/, 81];
33583
33704
  _c = ctrl.Type !== utils.MgControlType.CTRL_TYPE_BROWSER && (!util.isNullOrUndefined(ctrl._field) && ctrl._field.getType() === utils.StorageAttribute.DATE || val !== null) && typeof val != "undefined";
33584
- if (!_c) return [3 /*break*/, 82];
33705
+ if (!_c) return [3 /*break*/, 80];
33585
33706
  return [4 /*yield*/, ctrl.validateAndSetValue(val, true)];
33586
- case 81:
33707
+ case 79:
33587
33708
  _c = !(_d.sent());
33588
- _d.label = 82;
33589
- case 82:
33709
+ _d.label = 80;
33710
+ case 80:
33590
33711
  _b = (_c);
33591
- _d.label = 83;
33592
- case 83:
33712
+ _d.label = 81;
33713
+ case 81:
33593
33714
  if (_b) {
33594
33715
  this.setStopExecution(true);
33595
33716
  return [2 /*return*/, false];
33596
33717
  }
33597
- _d.label = 84;
33598
- case 84:
33718
+ _d.label = 82;
33719
+ case 82:
33599
33720
  if (!this._stopExecution)
33600
33721
  gui.Manager.CleanMessagePane(task);
33601
33722
  ctrl.InControl = false;
33602
33723
  ctrl.ClipBoardDataExists = false;
33724
+ ctrl.ValidateControl = true;
33603
33725
  ctrl.setInControlSuffix(true);
33604
- return [3 /*break*/, 85];
33605
- case 85: return [2 /*return*/, true];
33726
+ return [3 /*break*/, 83];
33727
+ case 83: return [2 /*return*/, true];
33606
33728
  }
33607
33729
  });
33608
33730
  });
@@ -33628,7 +33750,7 @@
33628
33750
  mgVal = _a.sent();
33629
33751
  rec = task.DataView.getCurrRec();
33630
33752
  encodedVal = rec.getXMLForValue(ctrl.getField().getId(), mgVal);
33631
- cmd = CommandFactory.CreateExecOperCommand(task.getTaskTag(), null, mscorelib.Int32.MinValue, ctrl.getDitIdx(), encodedVal);
33753
+ cmd = CommandFactory.CreateSelectProgramCommand(task.getTaskTag(), null, mscorelib.Int32.MinValue, ctrl.getDitIdx(), encodedVal);
33632
33754
  task.getMGData().CmdsToServer.Add(cmd);
33633
33755
  commandsProcessorServer = CommandsProcessorManager.GetCommandsProcessor();
33634
33756
  return [4 /*yield*/, commandsProcessorServer.Execute(exports.CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS)];
@@ -33701,24 +33823,6 @@
33701
33823
  });
33702
33824
  });
33703
33825
  };
33704
- EventsManager.prototype.onActDefaultButton = function (form, evt) {
33705
- return __awaiter(this, void 0, void 0, function () {
33706
- var ctrl;
33707
- return __generator(this, function (_a) {
33708
- switch (_a.label) {
33709
- case 0: return [4 /*yield*/, form.getDefaultButton(true)];
33710
- case 1:
33711
- ctrl = _a.sent();
33712
- if (ctrl === null)
33713
- return [2 /*return*/];
33714
- return [4 /*yield*/, this.onActSelection(ctrl, form, evt)];
33715
- case 2:
33716
- _a.sent();
33717
- return [2 /*return*/];
33718
- }
33719
- });
33720
- });
33721
- };
33722
33826
  EventsManager.prototype.onSubformClose = function (task, evt) {
33723
33827
  return __awaiter(this, void 0, void 0, function () {
33724
33828
  var subformCtrl, closingSubformName, parentTask, subformTask;
@@ -33854,7 +33958,7 @@
33854
33958
  };
33855
33959
  EventsManager.prototype.commonHandler = function (evt) {
33856
33960
  return __awaiter(this, void 0, void 0, function () {
33857
- var task, mgData, form, ctrl, lastParkedCtrl, doSuffix, oldMode, server, actId, cmd, cmdsToServer, dv, rec, intEvtCode, _a, aRtEvt, taskToEnable, rtEvt, taskToEnd, ctrlType, putAction, lastParkedControl, refDoSuffix, parentId, prevLine, _b, _c, _d, subformCtrl, RefreshedSubformName, parentTask, subformTask, subformTask, parentTask, taskTag, lastFocusedTask, focusedCtrl, taskForm, columnChildControl, aRtEvt;
33961
+ var task, mgData, form, ctrl, lastParkedCtrl, doSuffix, oldMode, server, actId, cmd, cmdsToServer, dv, rec, intEvtCode, _a, aRtEvt, taskToEnable, rtEvt, taskToEnd, ctrlType, putAction, lastParkedControl, refDoSuffix, parentId, prevLine, _b, _c, _d, subformCtrl, RefreshedSubformName, parentTask, subformTask, subformTask, parentTask, taskTag, currRecord, contextTerminationEventCommand, lastFocusedTask, focusedCtrl, taskForm, columnChildControl, aRtEvt;
33858
33962
  return __generator(this, function (_e) {
33859
33963
  switch (_e.label) {
33860
33964
  case 0:
@@ -33870,7 +33974,7 @@
33870
33974
  evt = new RunTimeEvent(evt.getUserEvent(), evt);
33871
33975
  _e.label = 1;
33872
33976
  case 1:
33873
- _e.trys.push([1, , 178, 179]);
33977
+ _e.trys.push([1, , 181, 182]);
33874
33978
  this.pushRtEvent(evt);
33875
33979
  if (evt.getType() === ConstInterface.EVENT_TYPE_SYSTEM) {
33876
33980
  actId = this.getMatchingAction(task, evt.getKbdItm());
@@ -33881,7 +33985,7 @@
33881
33985
  }
33882
33986
  }
33883
33987
  cmd = void 0;
33884
- if (!(evt.getType() === ConstInterface.EVENT_TYPE_INTERNAL && !evt.isImmediate() && this.ActAllowed(evt.getInternalCode()) && !this._processingTopMostEndTask)) return [3 /*break*/, 177];
33988
+ if (!(evt.getType() === ConstInterface.EVENT_TYPE_INTERNAL && !evt.isImmediate() && this.ActAllowed(evt.getInternalCode()) && !this._processingTopMostEndTask)) return [3 /*break*/, 180];
33885
33989
  cmdsToServer = mgData.CmdsToServer;
33886
33990
  dv = task.DataView;
33887
33991
  rec = dv.getCurrRec();
@@ -33889,63 +33993,59 @@
33889
33993
  _a = intEvtCode;
33890
33994
  switch (_a) {
33891
33995
  case utils.InternalInterface.MG_ACT_SUBFORM_CLOSE: return [3 /*break*/, 2];
33892
- case utils.InternalInterface.MG_ACT_DEFAULT_BUTTON: return [3 /*break*/, 4];
33893
- case utils.InternalInterface.MG_ACT_BUTTON: return [3 /*break*/, 6];
33894
- case utils.InternalInterface.MG_ACT_CTRL_HIT: return [3 /*break*/, 6];
33895
- case utils.InternalInterface.MG_ACT_TOGGLE_INSERT: return [3 /*break*/, 11];
33896
- case utils.InternalInterface.MG_ACT_CLOSE: return [3 /*break*/, 12];
33897
- case utils.InternalInterface.MG_ACT_EXIT: return [3 /*break*/, 13];
33898
- case utils.InternalInterface.MG_ACT_EXIT_SYSTEM: return [3 /*break*/, 15];
33899
- case utils.InternalInterface.MG_ACT_TBL_NXTLINE: return [3 /*break*/, 17];
33900
- case utils.InternalInterface.MG_ACT_TBL_PRVLINE: return [3 /*break*/, 20];
33901
- case utils.InternalInterface.MG_ACT_TBL_NXTPAGE: return [3 /*break*/, 23];
33902
- case utils.InternalInterface.MG_ACT_TBL_PRVPAGE: return [3 /*break*/, 26];
33903
- case utils.InternalInterface.MG_ACT_TBL_BEGPAGE: return [3 /*break*/, 29];
33904
- case utils.InternalInterface.MG_ACT_TBL_ENDPAGE: return [3 /*break*/, 32];
33905
- case utils.InternalInterface.MG_ACT_TBL_BEGTBL: return [3 /*break*/, 35];
33906
- case utils.InternalInterface.MG_ACT_TBL_ENDTBL: return [3 /*break*/, 38];
33907
- case utils.InternalInterface.MG_ACT_WEB_ON_DBLICK: return [3 /*break*/, 41];
33908
- case utils.InternalInterface.MG_ACT_DELLINE: return [3 /*break*/, 42];
33909
- case utils.InternalInterface.MG_ACT_CRELINE: return [3 /*break*/, 44];
33910
- case utils.InternalInterface.MG_ACT_CRELINE_ABOVE: return [3 /*break*/, 44];
33911
- case utils.InternalInterface.MG_ACT_CANCEL: return [3 /*break*/, 64];
33912
- case utils.InternalInterface.MG_ACT_ENTER_ROW_EDITING: return [3 /*break*/, 66];
33913
- case utils.InternalInterface.MG_ACT_RT_QUIT: return [3 /*break*/, 68];
33914
- case utils.InternalInterface.MG_ACT_RTO_CREATE: return [3 /*break*/, 70];
33915
- case utils.InternalInterface.MG_ACT_RTO_QUERY: return [3 /*break*/, 75];
33916
- case utils.InternalInterface.MG_ACT_RTO_MODIFY: return [3 /*break*/, 93];
33917
- case utils.InternalInterface.MG_ACT_SELECT: return [3 /*break*/, 110];
33918
- case utils.InternalInterface.MG_ACT_SUBFORM_REFRESH: return [3 /*break*/, 116];
33919
- case utils.InternalInterface.MG_ACT_SUBFORM_OPEN: return [3 /*break*/, 133];
33920
- case utils.InternalInterface.MG_ACT_RTO_SEARCH: return [3 /*break*/, 135];
33921
- case utils.InternalInterface.MG_ACT_RT_REFRESH_SCREEN: return [3 /*break*/, 143];
33922
- case utils.InternalInterface.MG_ACT_RT_REFRESH_VIEW: return [3 /*break*/, 143];
33923
- case utils.InternalInterface.MG_ACT_RT_REFRESH_RECORD: return [3 /*break*/, 143];
33924
- case utils.InternalInterface.MG_ACT_ACT_CLOSE_APPL: return [3 /*break*/, 145];
33925
- case utils.InternalInterface.MG_ACT_SERVER_TERMINATION: return [3 /*break*/, 147];
33926
- case utils.InternalInterface.MG_ACT_RT_EDT_NULL: return [3 /*break*/, 149];
33927
- case utils.InternalInterface.MG_ACT_ROLLBACK: return [3 /*break*/, 153];
33928
- case utils.InternalInterface.MG_ACT_OK: return [3 /*break*/, 155];
33929
- case utils.InternalInterface.MG_ACT_INDEX_CHANGE: return [3 /*break*/, 155];
33930
- case utils.InternalInterface.MG_ACT_COL_SORT: return [3 /*break*/, 155];
33931
- case utils.InternalInterface.MG_ACT_COL_CLICK: return [3 /*break*/, 176];
33932
- }
33933
- return [3 /*break*/, 177];
33996
+ case utils.InternalInterface.MG_ACT_BUTTON: return [3 /*break*/, 4];
33997
+ case utils.InternalInterface.MG_ACT_CTRL_HIT: return [3 /*break*/, 4];
33998
+ case utils.InternalInterface.MG_ACT_TOGGLE_INSERT: return [3 /*break*/, 9];
33999
+ case utils.InternalInterface.MG_ACT_CLOSE: return [3 /*break*/, 10];
34000
+ case utils.InternalInterface.MG_ACT_EXIT: return [3 /*break*/, 11];
34001
+ case utils.InternalInterface.MG_ACT_EXIT_SYSTEM: return [3 /*break*/, 13];
34002
+ case utils.InternalInterface.MG_ACT_TBL_NXTLINE: return [3 /*break*/, 15];
34003
+ case utils.InternalInterface.MG_ACT_TBL_PRVLINE: return [3 /*break*/, 18];
34004
+ case utils.InternalInterface.MG_ACT_TBL_NXTPAGE: return [3 /*break*/, 21];
34005
+ case utils.InternalInterface.MG_ACT_TBL_PRVPAGE: return [3 /*break*/, 24];
34006
+ case utils.InternalInterface.MG_ACT_TBL_BEGPAGE: return [3 /*break*/, 27];
34007
+ case utils.InternalInterface.MG_ACT_TBL_ENDPAGE: return [3 /*break*/, 30];
34008
+ case utils.InternalInterface.MG_ACT_TBL_BEGTBL: return [3 /*break*/, 33];
34009
+ case utils.InternalInterface.MG_ACT_TBL_ENDTBL: return [3 /*break*/, 36];
34010
+ case utils.InternalInterface.MG_ACT_WEB_ON_DBLICK: return [3 /*break*/, 39];
34011
+ case utils.InternalInterface.MG_ACT_DELLINE: return [3 /*break*/, 40];
34012
+ case utils.InternalInterface.MG_ACT_CRELINE: return [3 /*break*/, 42];
34013
+ case utils.InternalInterface.MG_ACT_CRELINE_ABOVE: return [3 /*break*/, 42];
34014
+ case utils.InternalInterface.MG_ACT_CANCEL: return [3 /*break*/, 62];
34015
+ case utils.InternalInterface.MG_ACT_ENTER_ROW_EDITING: return [3 /*break*/, 64];
34016
+ case utils.InternalInterface.MG_ACT_RT_QUIT: return [3 /*break*/, 66];
34017
+ case utils.InternalInterface.MG_ACT_RTO_CREATE: return [3 /*break*/, 68];
34018
+ case utils.InternalInterface.MG_ACT_RTO_QUERY: return [3 /*break*/, 73];
34019
+ case utils.InternalInterface.MG_ACT_RTO_MODIFY: return [3 /*break*/, 91];
34020
+ case utils.InternalInterface.MG_ACT_SELECT: return [3 /*break*/, 108];
34021
+ case utils.InternalInterface.MG_ACT_SUBFORM_REFRESH: return [3 /*break*/, 114];
34022
+ case utils.InternalInterface.MG_ACT_SUBFORM_OPEN: return [3 /*break*/, 131];
34023
+ case utils.InternalInterface.MG_ACT_RTO_SEARCH: return [3 /*break*/, 133];
34024
+ case utils.InternalInterface.MG_ACT_RT_REFRESH_SCREEN: return [3 /*break*/, 141];
34025
+ case utils.InternalInterface.MG_ACT_RT_REFRESH_VIEW: return [3 /*break*/, 141];
34026
+ case utils.InternalInterface.MG_ACT_RT_REFRESH_RECORD: return [3 /*break*/, 141];
34027
+ case utils.InternalInterface.MG_ACT_ACT_CLOSE_APPL: return [3 /*break*/, 143];
34028
+ case utils.InternalInterface.MG_ACT_CONTEXT_REMOVE: return [3 /*break*/, 145];
34029
+ case utils.InternalInterface.MG_ACT_SERVER_TERMINATION: return [3 /*break*/, 150];
34030
+ case utils.InternalInterface.MG_ACT_RT_EDT_NULL: return [3 /*break*/, 152];
34031
+ case utils.InternalInterface.MG_ACT_ROLLBACK: return [3 /*break*/, 156];
34032
+ case utils.InternalInterface.MG_ACT_OK: return [3 /*break*/, 158];
34033
+ case utils.InternalInterface.MG_ACT_INDEX_CHANGE: return [3 /*break*/, 158];
34034
+ case utils.InternalInterface.MG_ACT_COL_SORT: return [3 /*break*/, 158];
34035
+ case utils.InternalInterface.MG_ACT_COL_CLICK: return [3 /*break*/, 179];
34036
+ }
34037
+ return [3 /*break*/, 180];
33934
34038
  case 2: return [4 /*yield*/, this.onSubformClose(task, evt)];
33935
34039
  case 3:
33936
34040
  _e.sent();
33937
- return [3 /*break*/, 177];
33938
- case 4: return [4 /*yield*/, this.onActDefaultButton(form, evt)];
33939
- case 5:
33940
- _e.sent();
33941
- return [3 /*break*/, 177];
33942
- case 6:
34041
+ return [3 /*break*/, 180];
34042
+ case 4:
33943
34043
  if (!(ctrl.Type === utils.MgControlType.CTRL_TYPE_BUTTON &&
33944
- (intEvtCode === utils.InternalInterface.MG_ACT_BUTTON || !evt.isGuiTriggeredEvent() || ctrl.isParkable(true)))) return [3 /*break*/, 9];
34044
+ (intEvtCode === utils.InternalInterface.MG_ACT_BUTTON || !evt.isGuiTriggeredEvent() || ctrl.isParkable(true)))) return [3 /*break*/, 7];
33945
34045
  aRtEvt = new RunTimeEvent(ctrl);
33946
34046
  if (ctrl.getRtEvtTask() != null)
33947
34047
  aRtEvt.setTask(ctrl.getRtEvtTask());
33948
- if (!(ConstInterface.EVENT_TYPE_NONE !== aRtEvt.getType())) return [3 /*break*/, 8];
34048
+ if (!(ConstInterface.EVENT_TYPE_NONE !== aRtEvt.getType())) return [3 /*break*/, 6];
33949
34049
  if (ctrl.useZoomHandler()) {
33950
34050
  taskToEnable = aRtEvt.getTask();
33951
34051
  if (taskToEnable != null)
@@ -33953,99 +34053,100 @@
33953
34053
  }
33954
34054
  aRtEvt.setArgList(ctrl.ArgList);
33955
34055
  return [4 /*yield*/, aRtEvt.setPublicName()];
33956
- case 7:
34056
+ case 5:
33957
34057
  _e.sent();
33958
34058
  this.addToTail(aRtEvt);
33959
- _e.label = 8;
33960
- case 8: return [3 /*break*/, 10];
33961
- case 9:
34059
+ this.checkAndSaveRouteEventIfCtxRemovedFromSrvr(aRtEvt);
34060
+ _e.label = 6;
34061
+ case 6: return [3 /*break*/, 8];
34062
+ case 7:
33962
34063
  if (ctrl.Type === utils.MgControlType.CTRL_TYPE_TAB) {
33963
34064
  this.addInternalEventWithCtrlAndCode(ctrl, utils.InternalInterface.MG_ACT_ZOOM);
33964
34065
  }
33965
34066
  else if (ctrl.Type === utils.MgControlType.CTRL_TYPE_RADIO) {
33966
34067
  ctrl.setControlToFocus();
33967
34068
  }
33968
- _e.label = 10;
33969
- case 10: return [3 /*break*/, 177];
33970
- case 11:
34069
+ _e.label = 8;
34070
+ case 8: return [3 /*break*/, 180];
34071
+ case 9:
33971
34072
  gui.RuntimeContextBase.Instance.ToggleInsertMode();
33972
- return [3 /*break*/, 177];
33973
- case 12:
34073
+ return [3 /*break*/, 180];
34074
+ case 10:
33974
34075
  rtEvt = new RunTimeEvent(evt, evt);
33975
34076
  rtEvt.setInternal(utils.InternalInterface.MG_ACT_EXIT);
33976
34077
  this.addToTail(rtEvt);
33977
- return [3 /*break*/, 177];
33978
- case 13:
34078
+ return [3 /*break*/, 180];
34079
+ case 11:
33979
34080
  taskToEnd = (task.isMainProg() ? MGDataCollection.Instance.StartupMgData.getFirstTask() : task);
33980
34081
  return [4 /*yield*/, taskToEnd.endTask(evt.reversibleExit(), false, evt.ExitDueToError())];
34082
+ case 12:
34083
+ _e.sent();
34084
+ return [3 /*break*/, 180];
34085
+ case 13: return [4 /*yield*/, MGDataCollection.Instance.StartupMgData.getFirstTask().endTask(evt.reversibleExit(), false, false)];
33981
34086
  case 14:
33982
34087
  _e.sent();
33983
- return [3 /*break*/, 177];
33984
- case 15: return [4 /*yield*/, MGDataCollection.Instance.StartupMgData.getFirstTask().endTask(evt.reversibleExit(), false, false)];
34088
+ return [3 /*break*/, 180];
34089
+ case 15:
34090
+ if (!(form != null)) return [3 /*break*/, 17];
34091
+ return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_ROW, utils.Constants.MOVE_DIRECTION_NEXT)];
33985
34092
  case 16:
33986
34093
  _e.sent();
33987
- return [3 /*break*/, 177];
33988
- case 17:
33989
- if (!(form != null)) return [3 /*break*/, 19];
33990
- return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_ROW, utils.Constants.MOVE_DIRECTION_NEXT)];
34094
+ _e.label = 17;
34095
+ case 17: return [3 /*break*/, 180];
33991
34096
  case 18:
33992
- _e.sent();
33993
- _e.label = 19;
33994
- case 19: return [3 /*break*/, 177];
33995
- case 20:
33996
- if (!(form != null)) return [3 /*break*/, 22];
34097
+ if (!(form != null)) return [3 /*break*/, 20];
33997
34098
  return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_ROW, utils.Constants.MOVE_DIRECTION_PREV)];
33998
- case 21:
34099
+ case 19:
33999
34100
  _e.sent();
34000
- _e.label = 22;
34001
- case 22: return [3 /*break*/, 177];
34002
- case 23:
34003
- if (!(form != null)) return [3 /*break*/, 25];
34101
+ _e.label = 20;
34102
+ case 20: return [3 /*break*/, 180];
34103
+ case 21:
34104
+ if (!(form != null)) return [3 /*break*/, 23];
34004
34105
  return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_PAGE, utils.Constants.MOVE_DIRECTION_NEXT)];
34005
- case 24:
34106
+ case 22:
34006
34107
  _e.sent();
34007
- _e.label = 25;
34008
- case 25: return [3 /*break*/, 177];
34009
- case 26:
34010
- if (!(form != null)) return [3 /*break*/, 28];
34108
+ _e.label = 23;
34109
+ case 23: return [3 /*break*/, 180];
34110
+ case 24:
34111
+ if (!(form != null)) return [3 /*break*/, 26];
34011
34112
  return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_PAGE, utils.Constants.MOVE_DIRECTION_PREV)];
34012
- case 27:
34113
+ case 25:
34013
34114
  _e.sent();
34014
- _e.label = 28;
34015
- case 28: return [3 /*break*/, 177];
34016
- case 29:
34017
- if (!(form != null)) return [3 /*break*/, 31];
34115
+ _e.label = 26;
34116
+ case 26: return [3 /*break*/, 180];
34117
+ case 27:
34118
+ if (!(form != null)) return [3 /*break*/, 29];
34018
34119
  return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_PAGE, utils.Constants.MOVE_DIRECTION_BEGIN)];
34019
- case 30:
34120
+ case 28:
34020
34121
  _e.sent();
34021
- _e.label = 31;
34022
- case 31: return [3 /*break*/, 177];
34023
- case 32:
34024
- if (!(form != null)) return [3 /*break*/, 34];
34122
+ _e.label = 29;
34123
+ case 29: return [3 /*break*/, 180];
34124
+ case 30:
34125
+ if (!(form != null)) return [3 /*break*/, 32];
34025
34126
  return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_PAGE, utils.Constants.MOVE_DIRECTION_END)];
34026
- case 33:
34127
+ case 31:
34027
34128
  _e.sent();
34028
- _e.label = 34;
34029
- case 34: return [3 /*break*/, 177];
34030
- case 35:
34129
+ _e.label = 32;
34130
+ case 32: return [3 /*break*/, 180];
34131
+ case 33:
34031
34132
  lastParkedCtrl = task.getLastParkedCtrl();
34032
- if (!(lastParkedCtrl == null || !lastParkedCtrl.isListBox())) return [3 /*break*/, 37];
34033
- if (!(form != null)) return [3 /*break*/, 37];
34133
+ if (!(lastParkedCtrl == null || !lastParkedCtrl.isListBox())) return [3 /*break*/, 35];
34134
+ if (!(form != null)) return [3 /*break*/, 35];
34034
34135
  return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_TABLE, utils.Constants.MOVE_DIRECTION_BEGIN)];
34035
- case 36:
34136
+ case 34:
34036
34137
  _e.sent();
34037
- _e.label = 37;
34038
- case 37: return [3 /*break*/, 177];
34039
- case 38:
34138
+ _e.label = 35;
34139
+ case 35: return [3 /*break*/, 180];
34140
+ case 36:
34040
34141
  lastParkedCtrl = task.getLastParkedCtrl();
34041
- if (!(lastParkedCtrl === null || !lastParkedCtrl.isListBox())) return [3 /*break*/, 40];
34042
- if (!(form != null)) return [3 /*break*/, 40];
34142
+ if (!(lastParkedCtrl === null || !lastParkedCtrl.isListBox())) return [3 /*break*/, 38];
34143
+ if (!(form != null)) return [3 /*break*/, 38];
34043
34144
  return [4 /*yield*/, form.moveInView(utils.Constants.MOVE_UNIT_TABLE, utils.Constants.MOVE_DIRECTION_END)];
34044
- case 39:
34145
+ case 37:
34045
34146
  _e.sent();
34046
- _e.label = 40;
34047
- case 40: return [3 /*break*/, 177];
34048
- case 41:
34147
+ _e.label = 38;
34148
+ case 38: return [3 /*break*/, 180];
34149
+ case 39:
34049
34150
  {
34050
34151
  ctrlType = ctrl.Type;
34051
34152
  putAction = utils.InternalInterface.MG_ACT_NONE;
@@ -34061,156 +34162,156 @@
34061
34162
  this.addInternalEventWithCtrlAndCode(ctrl, putAction);
34062
34163
  }
34063
34164
  }
34064
- return [3 /*break*/, 177];
34065
- case 42: return [4 /*yield*/, this.HandleActionDelline(evt, task, dv, rec, false)];
34066
- case 43:
34165
+ return [3 /*break*/, 180];
34166
+ case 40: return [4 /*yield*/, this.HandleActionDelline(evt, task, dv, rec, false)];
34167
+ case 41:
34067
34168
  if (_e.sent())
34068
34169
  return [2 /*return*/];
34069
- return [3 /*break*/, 177];
34070
- case 44:
34071
- if (!task.DataView.isEmptyDataview()) return [3 /*break*/, 46];
34170
+ return [3 /*break*/, 180];
34171
+ case 42:
34172
+ if (!task.DataView.isEmptyDataview()) return [3 /*break*/, 44];
34072
34173
  return [4 /*yield*/, this.gotoCreateMode(task, cmdsToServer)];
34073
- case 45:
34174
+ case 43:
34074
34175
  _e.sent();
34075
- return [3 /*break*/, 177];
34076
- case 46:
34176
+ return [3 /*break*/, 180];
34177
+ case 44:
34077
34178
  if (task.getInCreateLine())
34078
- return [3 /*break*/, 177];
34179
+ return [3 /*break*/, 180];
34079
34180
  task.setInCreateLine(true);
34080
- _e.label = 47;
34081
- case 47:
34082
- _e.trys.push([47, , 62, 63]);
34083
- if (!(task.getLevel() === utils.Constants.TASK_LEVEL_CONTROL)) return [3 /*break*/, 49];
34181
+ _e.label = 45;
34182
+ case 45:
34183
+ _e.trys.push([45, , 60, 61]);
34184
+ if (!(task.getLevel() === utils.Constants.TASK_LEVEL_CONTROL)) return [3 /*break*/, 47];
34084
34185
  return [4 /*yield*/, this.handleInternalEventWithMgControlBase(task.getLastParkedCtrl(), utils.InternalInterface.MG_ACT_CTRL_SUFFIX)];
34085
- case 48:
34186
+ case 46:
34086
34187
  _e.sent();
34087
34188
  if (this.GetStopExecutionFlag())
34088
34189
  return [2 /*return*/];
34089
- _e.label = 49;
34090
- case 49:
34091
- if (!(task.getMode() === utils.Constants.TASK_MODE_CREATE && rec != null && !rec.Modified)) return [3 /*break*/, 56];
34190
+ _e.label = 47;
34191
+ case 47:
34192
+ if (!(task.getMode() === utils.Constants.TASK_MODE_CREATE && rec != null && !rec.Modified)) return [3 /*break*/, 54];
34092
34193
  return [4 /*yield*/, task.checkProp(gui.PropInterface.PROP_TYPE_FORCE_SUFFIX, false)];
34093
- case 50:
34094
- if (!_e.sent()) return [3 /*break*/, 52];
34194
+ case 48:
34195
+ if (!_e.sent()) return [3 /*break*/, 50];
34095
34196
  doSuffix = false;
34096
34197
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
34097
- case 51:
34198
+ case 49:
34098
34199
  _e.sent();
34099
34200
  if (this.GetStopExecutionFlag() || task.isAborting())
34100
34201
  return [2 /*return*/];
34101
- return [3 /*break*/, 56];
34102
- case 52:
34202
+ return [3 /*break*/, 54];
34203
+ case 50:
34103
34204
  task.setLevel(utils.Constants.TASK_LEVEL_TASK);
34104
34205
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_PREFIX)];
34105
- case 53:
34206
+ case 51:
34106
34207
  _e.sent();
34107
- if (!(!this.GetStopExecutionFlag() && form != null)) return [3 /*break*/, 55];
34208
+ if (!(!this.GetStopExecutionFlag() && form != null)) return [3 /*break*/, 53];
34108
34209
  lastParkedControl = task.getLastParkedCtrl();
34109
- if (!(lastParkedControl !== null)) return [3 /*break*/, 55];
34210
+ if (!(lastParkedControl !== null)) return [3 /*break*/, 53];
34110
34211
  return [4 /*yield*/, lastParkedControl.invoke()];
34111
- case 54:
34212
+ case 52:
34112
34213
  _e.sent();
34113
- _e.label = 55;
34114
- case 55: return [2 /*return*/];
34115
- case 56:
34214
+ _e.label = 53;
34215
+ case 53: return [2 /*return*/];
34216
+ case 54:
34116
34217
  refDoSuffix = new mscorelib.RefParam(doSuffix);
34117
34218
  return [4 /*yield*/, this.DoTaskLevelRecordSuffix(task, refDoSuffix)];
34118
- case 57:
34219
+ case 55:
34119
34220
  if (_e.sent())
34120
34221
  return [2 /*return*/];
34121
34222
  doSuffix = refDoSuffix.value;
34122
- if (!(form != null)) return [3 /*break*/, 59];
34223
+ if (!(form != null)) return [3 /*break*/, 57];
34123
34224
  parentId = 0;
34124
34225
  prevLine = 0;
34125
- if (!((task.getMode() !== utils.Constants.TASK_MODE_CREATE) || !task.ConfirmUpdateNo)) return [3 /*break*/, 59];
34226
+ if (!((task.getMode() !== utils.Constants.TASK_MODE_CREATE) || !task.ConfirmUpdateNo)) return [3 /*break*/, 57];
34126
34227
  return [4 /*yield*/, form.addRec(doSuffix, parentId, prevLine, intEvtCode == utils.InternalInterface.MG_ACT_CRELINE_ABOVE ? true : false)];
34127
- case 58:
34228
+ case 56:
34128
34229
  _e.sent();
34129
- _e.label = 59;
34130
- case 59: return [4 /*yield*/, this.DoTaskLevelRecordPrefix(task, form)];
34131
- case 60:
34230
+ _e.label = 57;
34231
+ case 57: return [4 /*yield*/, this.DoTaskLevelRecordPrefix(task, form)];
34232
+ case 58:
34132
34233
  _e.sent();
34133
34234
  return [4 /*yield*/, this.HandleActEnterRowEditing(task)];
34134
- case 61:
34235
+ case 59:
34135
34236
  _e.sent();
34136
- return [3 /*break*/, 63];
34137
- case 62:
34237
+ return [3 /*break*/, 61];
34238
+ case 60:
34138
34239
  task.setInCreateLine(false);
34139
34240
  return [7 /*endfinally*/];
34140
- case 63: return [3 /*break*/, 177];
34141
- case 64: return [4 /*yield*/, this.HandleActCancel(evt, task, form, ctrl, rec, true)];
34241
+ case 61: return [3 /*break*/, 180];
34242
+ case 62: return [4 /*yield*/, this.HandleActCancel(evt, task, form, ctrl, rec, true)];
34243
+ case 63:
34244
+ _e.sent();
34245
+ return [3 /*break*/, 180];
34246
+ case 64: return [4 /*yield*/, this.HandleActEnterRowEditing(task)];
34142
34247
  case 65:
34143
34248
  _e.sent();
34144
- return [3 /*break*/, 177];
34145
- case 66: return [4 /*yield*/, this.HandleActEnterRowEditing(task)];
34249
+ return [3 /*break*/, 180];
34250
+ case 66: return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_RT_QUIT)];
34146
34251
  case 67:
34147
34252
  _e.sent();
34148
- return [3 /*break*/, 177];
34149
- case 68: return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_RT_QUIT)];
34150
- case 69:
34151
- _e.sent();
34152
- return [3 /*break*/, 177];
34153
- case 70:
34253
+ return [3 /*break*/, 180];
34254
+ case 68:
34154
34255
  _b = task.getMode() === utils.Constants.TASK_MODE_CREATE;
34155
- if (_b) return [3 /*break*/, 72];
34256
+ if (_b) return [3 /*break*/, 70];
34156
34257
  return [4 /*yield*/, (task.getProp(gui.PropInterface.PROP_TYPE_ALLOW_OPTION)).getValueBoolean()];
34157
- case 71:
34258
+ case 69:
34158
34259
  _b = (_e.sent());
34159
- _e.label = 72;
34160
- case 72:
34161
- if (!_b) return [3 /*break*/, 74];
34260
+ _e.label = 70;
34261
+ case 70:
34262
+ if (!_b) return [3 /*break*/, 72];
34162
34263
  return [4 /*yield*/, this.gotoCreateMode(task, cmdsToServer)];
34163
- case 73:
34264
+ case 71:
34164
34265
  _e.sent();
34165
- _e.label = 74;
34166
- case 74: return [3 /*break*/, 177];
34167
- case 75:
34266
+ _e.label = 72;
34267
+ case 72: return [3 /*break*/, 180];
34268
+ case 73:
34168
34269
  _c = task.getMode() !== utils.Constants.TASK_MODE_QUERY;
34169
- if (!_c) return [3 /*break*/, 77];
34270
+ if (!_c) return [3 /*break*/, 75];
34170
34271
  return [4 /*yield*/, (task.getProp(gui.PropInterface.PROP_TYPE_ALLOW_OPTION)).getValueBoolean()];
34171
- case 76:
34272
+ case 74:
34172
34273
  _c = (_e.sent()) === false;
34173
- _e.label = 77;
34174
- case 77:
34274
+ _e.label = 75;
34275
+ case 75:
34175
34276
  if (_c)
34176
- return [3 /*break*/, 177];
34277
+ return [3 /*break*/, 180];
34177
34278
  return [4 /*yield*/, task.enableModes()];
34178
- case 78:
34279
+ case 76:
34179
34280
  _e.sent();
34180
34281
  oldMode = task.getOriginalTaskMode();
34181
34282
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
34182
- case 79:
34283
+ case 77:
34183
34284
  _e.sent();
34184
- if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 92];
34285
+ if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 90];
34185
34286
  task.setMode(utils.Constants.TASK_MODE_QUERY);
34186
- if (!(oldMode !== utils.Constants.TASK_MODE_CREATE)) return [3 /*break*/, 85];
34287
+ if (!(oldMode !== utils.Constants.TASK_MODE_CREATE)) return [3 /*break*/, 83];
34187
34288
  return [4 /*yield*/, dv.currRecCompute(true)];
34188
- case 80:
34289
+ case 78:
34189
34290
  _e.sent();
34190
34291
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_PREFIX)];
34191
- case 81:
34292
+ case 79:
34192
34293
  _e.sent();
34193
- if (!(ctrl != null)) return [3 /*break*/, 83];
34294
+ if (!(ctrl != null)) return [3 /*break*/, 81];
34194
34295
  return [4 /*yield*/, ctrl.invoke()];
34195
- case 82:
34296
+ case 80:
34196
34297
  _e.sent();
34197
- _e.label = 83;
34198
- case 83: return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_CURR_REC)];
34199
- case 84:
34298
+ _e.label = 81;
34299
+ case 81: return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_CURR_REC)];
34300
+ case 82:
34200
34301
  _e.sent();
34201
- return [3 /*break*/, 90];
34202
- case 85:
34302
+ return [3 /*break*/, 88];
34303
+ case 83:
34203
34304
  task.setPreventRecordSuffix(true);
34204
34305
  task.setPreventControlChange(true);
34205
34306
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_RT_REFRESH_VIEW)];
34206
- case 86:
34307
+ case 84:
34207
34308
  _e.sent();
34208
- if (!(ctrl != null)) return [3 /*break*/, 88];
34309
+ if (!(ctrl != null)) return [3 /*break*/, 86];
34209
34310
  return [4 /*yield*/, ctrl.invoke()];
34210
- case 87:
34311
+ case 85:
34211
34312
  _e.sent();
34212
- _e.label = 88;
34213
- case 88:
34313
+ _e.label = 86;
34314
+ case 86:
34214
34315
  task.setPreventRecordSuffix(false);
34215
34316
  task.setPreventControlChange(false);
34216
34317
  if (!dv.isEmpty() && (dv.getCurrRec()).getMode() !== gui.DataModificationTypes.Insert)
@@ -34218,60 +34319,60 @@
34218
34319
  else
34219
34320
  task.setMode(utils.Constants.TASK_MODE_CREATE);
34220
34321
  return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_CURR_REC)];
34221
- case 89:
34322
+ case 87:
34222
34323
  _e.sent();
34223
- _e.label = 90;
34224
- case 90:
34324
+ _e.label = 88;
34325
+ case 88:
34225
34326
  task.setOriginalTaskMode(utils.Constants.TASK_MODE_QUERY);
34226
34327
  return [4 /*yield*/, task.setCreateDeleteActsEnableState()];
34227
- case 91:
34328
+ case 89:
34228
34329
  _e.sent();
34229
- _e.label = 92;
34230
- case 92: return [3 /*break*/, 177];
34231
- case 93:
34330
+ _e.label = 90;
34331
+ case 90: return [3 /*break*/, 180];
34332
+ case 91:
34232
34333
  _d = task.getMode() !== utils.Constants.TASK_MODE_MODIFY;
34233
- if (!_d) return [3 /*break*/, 95];
34334
+ if (!_d) return [3 /*break*/, 93];
34234
34335
  return [4 /*yield*/, (task.getProp(gui.PropInterface.PROP_TYPE_ALLOW_OPTION)).getValueBoolean()];
34235
- case 94:
34336
+ case 92:
34236
34337
  _d = (_e.sent()) === false;
34237
- _e.label = 95;
34238
- case 95:
34338
+ _e.label = 93;
34339
+ case 93:
34239
34340
  if (_d)
34240
- return [3 /*break*/, 177];
34341
+ return [3 /*break*/, 180];
34241
34342
  return [4 /*yield*/, task.enableModes()];
34242
- case 96:
34343
+ case 94:
34243
34344
  _e.sent();
34244
34345
  oldMode = task.getOriginalTaskMode();
34245
34346
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
34246
- case 97:
34347
+ case 95:
34247
34348
  _e.sent();
34248
- if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 109];
34349
+ if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 107];
34249
34350
  task.setMode(utils.Constants.TASK_MODE_MODIFY);
34250
- if (!(oldMode !== utils.Constants.TASK_MODE_CREATE)) return [3 /*break*/, 102];
34351
+ if (!(oldMode !== utils.Constants.TASK_MODE_CREATE)) return [3 /*break*/, 100];
34251
34352
  return [4 /*yield*/, dv.currRecCompute(true)];
34252
- case 98:
34353
+ case 96:
34253
34354
  _e.sent();
34254
34355
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_PREFIX)];
34255
- case 99:
34356
+ case 97:
34256
34357
  _e.sent();
34257
- if (!(ctrl != null)) return [3 /*break*/, 101];
34358
+ if (!(ctrl != null)) return [3 /*break*/, 99];
34258
34359
  return [4 /*yield*/, ctrl.invoke()];
34259
- case 100:
34360
+ case 98:
34260
34361
  _e.sent();
34261
- _e.label = 101;
34262
- case 101: return [3 /*break*/, 107];
34263
- case 102:
34362
+ _e.label = 99;
34363
+ case 99: return [3 /*break*/, 105];
34364
+ case 100:
34264
34365
  task.setPreventRecordSuffix(true);
34265
34366
  task.setPreventControlChange(true);
34266
34367
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_RT_REFRESH_VIEW)];
34267
- case 103:
34368
+ case 101:
34268
34369
  _e.sent();
34269
- if (!(ctrl != null)) return [3 /*break*/, 105];
34370
+ if (!(ctrl != null)) return [3 /*break*/, 103];
34270
34371
  return [4 /*yield*/, ctrl.invoke()];
34271
- case 104:
34372
+ case 102:
34272
34373
  _e.sent();
34273
- _e.label = 105;
34274
- case 105:
34374
+ _e.label = 103;
34375
+ case 103:
34275
34376
  task.setPreventRecordSuffix(false);
34276
34377
  task.setPreventControlChange(false);
34277
34378
  if (!dv.isEmpty() && (dv.getCurrRec()).getMode() !== gui.DataModificationTypes.Insert)
@@ -34279,216 +34380,242 @@
34279
34380
  else
34280
34381
  task.setMode(utils.Constants.TASK_MODE_CREATE);
34281
34382
  return [4 /*yield*/, form.RefreshDisplay(utils.Constants.TASK_REFRESH_CURR_REC)];
34282
- case 106:
34383
+ case 104:
34283
34384
  _e.sent();
34284
- _e.label = 107;
34285
- case 107:
34385
+ _e.label = 105;
34386
+ case 105:
34286
34387
  task.setOriginalTaskMode(utils.Constants.TASK_MODE_MODIFY);
34287
34388
  return [4 /*yield*/, task.setCreateDeleteActsEnableState()];
34288
- case 108:
34389
+ case 106:
34289
34390
  _e.sent();
34290
- _e.label = 109;
34291
- case 109: return [3 /*break*/, 177];
34292
- case 110:
34293
- _e.trys.push([110, , 112, 113]);
34391
+ _e.label = 107;
34392
+ case 107: return [3 /*break*/, 180];
34393
+ case 108:
34394
+ _e.trys.push([108, , 110, 111]);
34294
34395
  task.InSelect = true;
34295
34396
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
34296
- case 111:
34397
+ case 109:
34297
34398
  _e.sent();
34298
- return [3 /*break*/, 113];
34299
- case 112:
34399
+ return [3 /*break*/, 111];
34400
+ case 110:
34300
34401
  task.InSelect = false;
34301
34402
  return [7 /*endfinally*/];
34302
- case 113:
34303
- if (!!this._stopExecution) return [3 /*break*/, 115];
34403
+ case 111:
34404
+ if (!!this._stopExecution) return [3 /*break*/, 113];
34304
34405
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_EXIT)];
34305
- case 114:
34406
+ case 112:
34306
34407
  _e.sent();
34307
- _e.label = 115;
34308
- case 115: return [3 /*break*/, 177];
34309
- case 116:
34310
- if (!((evt.getArgList() != null) && (evt.getArgList().getSize() === 1))) return [3 /*break*/, 127];
34408
+ _e.label = 113;
34409
+ case 113: return [3 /*break*/, 180];
34410
+ case 114:
34411
+ if (!((evt.getArgList() != null) && (evt.getArgList().getSize() === 1))) return [3 /*break*/, 125];
34311
34412
  subformCtrl = null;
34312
34413
  return [4 /*yield*/, evt.getArgList().getArgValue(0, utils.StorageAttribute.ALPHA, 0)];
34313
- case 117:
34414
+ case 115:
34314
34415
  RefreshedSubformName = _e.sent();
34315
34416
  if (RefreshedSubformName == null)
34316
- return [3 /*break*/, 177];
34417
+ return [3 /*break*/, 180];
34317
34418
  parentTask = task;
34318
- _e.label = 118;
34319
- case 118:
34320
- if (!(parentTask.getForm() != null && parentTask.getMgdID() === task.getMgdID())) return [3 /*break*/, 126];
34419
+ _e.label = 116;
34420
+ case 116:
34421
+ if (!(parentTask.getForm() != null && parentTask.getMgdID() === task.getMgdID())) return [3 /*break*/, 124];
34321
34422
  subformCtrl = parentTask.getForm().getCtrlByName(RefreshedSubformName.trim(), utils.MgControlType.CTRL_TYPE_SUBFORM);
34322
- if (!(subformCtrl != null)) return [3 /*break*/, 125];
34423
+ if (!(subformCtrl != null)) return [3 /*break*/, 123];
34323
34424
  subformTask = subformCtrl.getSubformTask();
34324
- if (!(subformTask == null)) return [3 /*break*/, 122];
34425
+ if (!(subformTask == null)) return [3 /*break*/, 120];
34325
34426
  return [4 /*yield*/, (subformCtrl.getProp(gui.PropInterface.PROP_TYPE_SUBFORM_TYPE)).getValueInt()];
34326
- case 119:
34327
- if (!((_e.sent()) !== utils.SubformType.None)) return [3 /*break*/, 121];
34427
+ case 117:
34428
+ if (!((_e.sent()) !== utils.SubformType.None)) return [3 /*break*/, 119];
34328
34429
  return [4 /*yield*/, this.OpenSubform(parentTask, subformCtrl)];
34329
- case 120:
34430
+ case 118:
34330
34431
  _e.sent();
34331
- _e.label = 121;
34332
- case 121: return [3 /*break*/, 124];
34333
- case 122: return [4 /*yield*/, parentTask.SubformRefresh(subformTask, true)];
34334
- case 123:
34432
+ _e.label = 119;
34433
+ case 119: return [3 /*break*/, 122];
34434
+ case 120: return [4 /*yield*/, parentTask.SubformRefresh(subformTask, true)];
34435
+ case 121:
34335
34436
  _e.sent();
34336
- _e.label = 124;
34337
- case 124: return [3 /*break*/, 126];
34338
- case 125:
34437
+ _e.label = 122;
34438
+ case 122: return [3 /*break*/, 124];
34439
+ case 123:
34339
34440
  parentTask = parentTask.getParent();
34340
- return [3 /*break*/, 118];
34341
- case 126: return [3 /*break*/, 132];
34342
- case 127:
34343
- if (!((evt.getArgList() != null) && (evt.getArgList().getSize() === 2))) return [3 /*break*/, 132];
34441
+ return [3 /*break*/, 116];
34442
+ case 124: return [3 /*break*/, 130];
34443
+ case 125:
34444
+ if (!((evt.getArgList() != null) && (evt.getArgList().getSize() === 2))) return [3 /*break*/, 130];
34344
34445
  subformTask = task, parentTask = void 0;
34345
34446
  return [4 /*yield*/, evt.getArgList().getArgValue(1, utils.StorageAttribute.NUMERIC, 0)];
34346
- case 128:
34447
+ case 126:
34347
34448
  taskTag = _e.sent();
34348
- _e.label = 129;
34349
- case 129:
34350
- if (!subformTask.IsSubForm) return [3 /*break*/, 132];
34449
+ _e.label = 127;
34450
+ case 127:
34451
+ if (!subformTask.IsSubForm) return [3 /*break*/, 130];
34351
34452
  parentTask = subformTask.getParent();
34352
- if (!(subformTask.getTaskTag() === taskTag)) return [3 /*break*/, 131];
34453
+ if (!(subformTask.getTaskTag() === taskTag)) return [3 /*break*/, 129];
34353
34454
  return [4 /*yield*/, parentTask.SubformRefresh(subformTask, true)];
34354
- case 130:
34455
+ case 128:
34355
34456
  _e.sent();
34356
- return [3 /*break*/, 132];
34357
- case 131:
34457
+ return [3 /*break*/, 130];
34458
+ case 129:
34358
34459
  subformTask = parentTask;
34359
- return [3 /*break*/, 129];
34360
- case 132: return [3 /*break*/, 177];
34361
- case 133: return [4 /*yield*/, this.OpenSubform(task, evt.Control)];
34362
- case 134:
34460
+ return [3 /*break*/, 127];
34461
+ case 130: return [3 /*break*/, 180];
34462
+ case 131: return [4 /*yield*/, this.OpenSubform(task, evt.Control)];
34463
+ case 132:
34363
34464
  _e.sent();
34364
- return [3 /*break*/, 177];
34365
- case 135: return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
34366
- case 136:
34465
+ return [3 /*break*/, 180];
34466
+ case 133: return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
34467
+ case 134:
34367
34468
  _e.sent();
34368
- if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 142];
34469
+ if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 140];
34369
34470
  cmd = CommandFactory.CreateEventCommand(task.getTaskTag(), intEvtCode);
34370
34471
  task.getTaskCache().clearCache();
34371
34472
  return [4 /*yield*/, task.DataviewManager.Execute(cmd)];
34372
- case 137:
34473
+ case 135:
34373
34474
  _e.sent();
34374
- if (!!form.isScreenMode()) return [3 /*break*/, 139];
34475
+ if (!!form.isScreenMode()) return [3 /*break*/, 137];
34375
34476
  dv.setTopRecIdx(0);
34376
- if (!form.HasTable()) return [3 /*break*/, 139];
34477
+ if (!form.HasTable()) return [3 /*break*/, 137];
34377
34478
  return [4 /*yield*/, form.restoreOldDisplayLine(form.recordIdx2DisplayLine(dv.getCurrRecIdx()))];
34378
- case 138:
34479
+ case 136:
34379
34480
  _e.sent();
34380
- _e.label = 139;
34381
- case 139: return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_PREFIX)];
34382
- case 140:
34481
+ _e.label = 137;
34482
+ case 137: return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_PREFIX)];
34483
+ case 138:
34383
34484
  _e.sent();
34384
- if (!(ctrl != null)) return [3 /*break*/, 142];
34485
+ if (!(ctrl != null)) return [3 /*break*/, 140];
34385
34486
  return [4 /*yield*/, ctrl.invoke()];
34386
- case 141:
34487
+ case 139:
34387
34488
  _e.sent();
34388
- _e.label = 142;
34389
- case 142: return [3 /*break*/, 177];
34390
- case 143: return [4 /*yield*/, this.handleRefreshEvents(evt)];
34391
- case 144:
34489
+ _e.label = 140;
34490
+ case 140: return [3 /*break*/, 180];
34491
+ case 141: return [4 /*yield*/, this.handleRefreshEvents(evt)];
34492
+ case 142:
34392
34493
  _e.sent();
34393
- return [3 /*break*/, 177];
34394
- case 145:
34494
+ return [3 /*break*/, 180];
34495
+ case 143:
34395
34496
  cmd =
34396
34497
  CommandFactory.CreateEventCommand(MGDataCollection.Instance.StartupMgData.getFirstTask().getTaskTag(), utils.InternalInterface.MG_ACT_BROWSER_ESC);
34397
34498
  cmdsToServer.Add(cmd);
34398
34499
  return [4 /*yield*/, server.Execute(exports.CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS)];
34399
- case 146:
34500
+ case 144:
34400
34501
  _e.sent();
34401
- return [3 /*break*/, 177];
34502
+ return [3 /*break*/, 180];
34503
+ case 145:
34504
+ currRecord = LastFocusedManager.Instance.getLastFocusedTask().DataView.getCurrRec();
34505
+ if (!(ClientManager.TransCacheExists() || (currRecord != null && currRecord.Modified))) return [3 /*break*/, 146];
34506
+ console.log('Pending transaction/record is modified, discarded \'Context Remove\' event.');
34507
+ return [3 /*break*/, 149];
34508
+ case 146:
34509
+ if (!(Environment.Instance.getClientContextInactivityTimeout() > 0)) return [3 /*break*/, 148];
34510
+ return [4 /*yield*/, this.ExecuteClientContextInactivityTimer()];
34402
34511
  case 147:
34512
+ _e.sent();
34513
+ _e.label = 148;
34514
+ case 148:
34515
+ if (!EventsManager.clientContextInactivityTimerAborted) {
34516
+ contextTerminationEventCommand = CommandFactory.CreateContextTerminationEventCommand(MGDataCollection.Instance.StartupMgData.getFirstTask().getTaskTag());
34517
+ MGDataCollection.Instance.getCurrMGData().CmdsToServer.Add(contextTerminationEventCommand);
34518
+ RemoteCommandsProcessor.GetInstance().Execute(exports.CommandsProcessorBase_SendingInstruction.ONLY_COMMANDS);
34519
+ console.log('Removed context from server');
34520
+ gui.RuntimeContextBase.Instance.RemovingContextFromServer = true;
34521
+ }
34522
+ else {
34523
+ console.log('Discarded \'Context Remove\' event as user event occurred.');
34524
+ EventsManager.clientContextInactivityTimerAborted = false;
34525
+ return [3 /*break*/, 180];
34526
+ }
34527
+ _e.label = 149;
34528
+ case 149: return [3 /*break*/, 180];
34529
+ case 150:
34403
34530
  cmd = CommandFactory.CreateEventCommand(task.getTaskTag(), intEvtCode);
34404
34531
  cmdsToServer.Add(cmd);
34405
34532
  return [4 /*yield*/, CommandsProcessorManager.GetCommandsProcessor().Execute(exports.CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS)];
34406
- case 148:
34533
+ case 151:
34407
34534
  _e.sent();
34408
- return [3 /*break*/, 177];
34409
- case 149:
34410
- if (!(this._currField != null && this._currField.NullAllowed)) return [3 /*break*/, 152];
34535
+ return [3 /*break*/, 180];
34536
+ case 152:
34537
+ if (!(this._currField != null && this._currField.NullAllowed)) return [3 /*break*/, 155];
34411
34538
  return [4 /*yield*/, this._currField.setValueAndStartRecompute(this._currField.getMagicDefaultValue(), true, true, true, false)];
34412
- case 150:
34539
+ case 153:
34413
34540
  _e.sent();
34414
34541
  return [4 /*yield*/, this._currField.updateDisplay()];
34415
- case 151:
34416
- _e.sent();
34417
- _e.label = 152;
34418
- case 152: return [3 /*break*/, 177];
34419
- case 153: return [4 /*yield*/, EventsManager.HandleRollbackAction(task, cmdsToServer, exports.RollbackEventCommand_RollbackType.ROLLBACK)];
34420
34542
  case 154:
34421
34543
  _e.sent();
34422
- return [3 /*break*/, 177];
34423
- case 155:
34544
+ _e.label = 155;
34545
+ case 155: return [3 /*break*/, 180];
34546
+ case 156: return [4 /*yield*/, EventsManager.HandleRollbackAction(task, cmdsToServer, exports.RollbackEventCommand_RollbackType.ROLLBACK)];
34547
+ case 157:
34548
+ _e.sent();
34549
+ return [3 /*break*/, 180];
34550
+ case 158:
34424
34551
  if (!((intEvtCode === utils.InternalInterface.MG_ACT_INDEX_CHANGE && task.DataviewManager.HasRemoteData) ||
34425
- (intEvtCode === utils.InternalInterface.MG_ACT_COL_SORT && ctrl.getField() != null))) return [3 /*break*/, 175];
34552
+ (intEvtCode === utils.InternalInterface.MG_ACT_COL_SORT && ctrl.getField() != null))) return [3 /*break*/, 178];
34426
34553
  lastFocusedTask = LastFocusedManager.Instance.getLastFocusedTask();
34427
34554
  focusedCtrl = LastFocusedManager.getLastFocusedControl(LastFocusedManager.LastFocusMgdID);
34428
- if (!(focusedCtrl != null)) return [3 /*break*/, 157];
34555
+ if (!(focusedCtrl != null)) return [3 /*break*/, 160];
34429
34556
  return [4 /*yield*/, this.handleInternalEventWithMgControlBase(focusedCtrl, utils.InternalInterface.MG_ACT_CTRL_SUFFIX)];
34430
- case 156:
34557
+ case 159:
34431
34558
  _e.sent();
34432
- _e.label = 157;
34433
- case 157:
34434
- if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 159];
34559
+ _e.label = 160;
34560
+ case 160:
34561
+ if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 162];
34435
34562
  return [4 /*yield*/, task.ExecuteNestedRS(lastFocusedTask)];
34436
- case 158:
34563
+ case 161:
34437
34564
  _e.sent();
34438
- _e.label = 159;
34439
- case 159:
34440
- if (!(!this.GetStopExecutionFlag() && task.getLevel() !== utils.Constants.TASK_LEVEL_TASK)) return [3 /*break*/, 161];
34565
+ _e.label = 162;
34566
+ case 162:
34567
+ if (!(!this.GetStopExecutionFlag() && task.getLevel() !== utils.Constants.TASK_LEVEL_TASK)) return [3 /*break*/, 164];
34441
34568
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_SUFFIX)];
34442
- case 160:
34569
+ case 163:
34443
34570
  _e.sent();
34444
- _e.label = 161;
34445
- case 161:
34446
- if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 175];
34571
+ _e.label = 164;
34572
+ case 164:
34573
+ if (!!this.GetStopExecutionFlag()) return [3 /*break*/, 178];
34447
34574
  task.getTaskCache().clearCache();
34448
- if (!(intEvtCode === utils.InternalInterface.MG_ACT_INDEX_CHANGE)) return [3 /*break*/, 163];
34575
+ if (!(intEvtCode === utils.InternalInterface.MG_ACT_INDEX_CHANGE)) return [3 /*break*/, 166];
34449
34576
  taskForm = task.getForm();
34450
34577
  if (taskForm.HasTable())
34451
34578
  form.clearTableColumnSortMark(true);
34452
34579
  return [4 /*yield*/, CommandFactory.CreateIndexChangeCommand(task.getTaskTag(), task.DataView.GetCurrentRecId(), evt.getArgList())];
34453
- case 162:
34580
+ case 165:
34454
34581
  cmd = _e.sent();
34455
- return [3 /*break*/, 164];
34456
- case 163:
34582
+ return [3 /*break*/, 167];
34583
+ case 166:
34457
34584
  cmd = CommandFactory.CreateColumnSortCommand(task.getTaskTag(), evt.Direction, ctrl.getDitIdx(), ctrl.getField().getId(), task.DataView.GetCurrentRecId());
34458
- _e.label = 164;
34459
- case 164: return [4 /*yield*/, task.DataviewManager.Execute(cmd)];
34460
- case 165:
34585
+ _e.label = 167;
34586
+ case 167: return [4 /*yield*/, task.DataviewManager.Execute(cmd)];
34587
+ case 168:
34461
34588
  _e.sent();
34462
34589
  dv.setTopRecIdx(0);
34463
34590
  return [4 /*yield*/, form.restoreOldDisplayLine(0)];
34464
- case 166:
34591
+ case 169:
34465
34592
  _e.sent();
34466
34593
  this._isSorting = true;
34467
- if (!!(task === LastFocusedManager.Instance.getLastFocusedTask() || !task.pathContains(LastFocusedManager.Instance.getLastFocusedTask()))) return [3 /*break*/, 172];
34594
+ if (!!(task === LastFocusedManager.Instance.getLastFocusedTask() || !task.pathContains(LastFocusedManager.Instance.getLastFocusedTask()))) return [3 /*break*/, 175];
34468
34595
  return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_PREFIX)];
34469
- case 167:
34596
+ case 170:
34470
34597
  _e.sent();
34471
- if (!(!this.GetStopExecutionFlag() && !task.getPreventControlChange())) return [3 /*break*/, 169];
34598
+ if (!(!this.GetStopExecutionFlag() && !task.getPreventControlChange())) return [3 /*break*/, 172];
34472
34599
  return [4 /*yield*/, lastFocusedTask.ExecuteNestedRS(task)];
34473
- case 168:
34600
+ case 171:
34474
34601
  _e.sent();
34475
- _e.label = 169;
34476
- case 169:
34477
- if (!(!this.GetStopExecutionFlag() && focusedCtrl != null)) return [3 /*break*/, 171];
34602
+ _e.label = 172;
34603
+ case 172:
34604
+ if (!(!this.GetStopExecutionFlag() && focusedCtrl != null)) return [3 /*break*/, 174];
34478
34605
  return [4 /*yield*/, focusedCtrl.invoke()];
34479
- case 170:
34480
- _e.sent();
34481
- _e.label = 171;
34482
- case 171: return [3 /*break*/, 174];
34483
- case 172: return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_PREFIX)];
34484
34606
  case 173:
34485
34607
  _e.sent();
34486
34608
  _e.label = 174;
34487
- case 174:
34488
- this._isSorting = false;
34489
- _e.label = 175;
34490
- case 175: return [3 /*break*/, 177];
34609
+ case 174: return [3 /*break*/, 177];
34610
+ case 175: return [4 /*yield*/, this.handleInternalEventWithTask(task, utils.InternalInterface.MG_ACT_REC_PREFIX)];
34491
34611
  case 176:
34612
+ _e.sent();
34613
+ _e.label = 177;
34614
+ case 177:
34615
+ this._isSorting = false;
34616
+ _e.label = 178;
34617
+ case 178: return [3 /*break*/, 180];
34618
+ case 179:
34492
34619
  if (!this.GetStopExecutionFlag() && evt.isGuiTriggeredEvent() && ctrl.isColumnSortable()) {
34493
34620
  columnChildControl = ctrl.getColumnChildControl();
34494
34621
  if (columnChildControl != null) {
@@ -34497,12 +34624,12 @@
34497
34624
  this.addToTail(aRtEvt);
34498
34625
  }
34499
34626
  }
34500
- return [3 /*break*/, 177];
34501
- case 177: return [3 /*break*/, 179];
34502
- case 178:
34627
+ return [3 /*break*/, 180];
34628
+ case 180: return [3 /*break*/, 182];
34629
+ case 181:
34503
34630
  this.popRtEvent();
34504
34631
  return [7 /*endfinally*/];
34505
- case 179: return [2 /*return*/];
34632
+ case 182: return [2 /*return*/];
34506
34633
  }
34507
34634
  });
34508
34635
  });
@@ -34998,7 +35125,7 @@
34998
35125
  recModeIsDelete = false;
34999
35126
  if (this._stopExecution && evt.getInternalCode() !== utils.InternalInterface.MG_ACT_REC_SUFFIX && evt.getInternalCode() !== utils.InternalInterface.MG_ACT_CTRL_SUFFIX)
35000
35127
  return [2 /*return*/];
35001
- if (!(evt.getType() === ConstInterface.EVENT_TYPE_INTERNAL)) return [3 /*break*/, 54];
35128
+ if (!(evt.getType() === ConstInterface.EVENT_TYPE_INTERNAL)) return [3 /*break*/, 56];
35002
35129
  dv = task.DataView;
35003
35130
  rec = dv.getCurrRec();
35004
35131
  ctrl = evt.Control;
@@ -35008,13 +35135,13 @@
35008
35135
  case utils.InternalInterface.MG_ACT_REC_SUFFIX: return [3 /*break*/, 8];
35009
35136
  case utils.InternalInterface.MG_ACT_CTRL_PREFIX: return [3 /*break*/, 25];
35010
35137
  case utils.InternalInterface.MG_ACT_CTRL_SUFFIX: return [3 /*break*/, 33];
35011
- case utils.InternalInterface.MG_ACT_TASK_PREFIX: return [3 /*break*/, 39];
35012
- case utils.InternalInterface.MG_ACT_TASK_SUFFIX: return [3 /*break*/, 40];
35013
- case utils.InternalInterface.MG_ACT_CYCLE_NEXT_REC: return [3 /*break*/, 41];
35014
- case utils.InternalInterface.MG_ACT_CYCLE_NEXT_DELETE_REC: return [3 /*break*/, 45];
35015
- case utils.InternalInterface.MG_ACT_SET_EXTERNAL_VALUE: return [3 /*break*/, 51];
35138
+ case utils.InternalInterface.MG_ACT_TASK_PREFIX: return [3 /*break*/, 41];
35139
+ case utils.InternalInterface.MG_ACT_TASK_SUFFIX: return [3 /*break*/, 42];
35140
+ case utils.InternalInterface.MG_ACT_CYCLE_NEXT_REC: return [3 /*break*/, 43];
35141
+ case utils.InternalInterface.MG_ACT_CYCLE_NEXT_DELETE_REC: return [3 /*break*/, 47];
35142
+ case utils.InternalInterface.MG_ACT_SET_EXTERNAL_VALUE: return [3 /*break*/, 53];
35016
35143
  }
35017
- return [3 /*break*/, 54];
35144
+ return [3 /*break*/, 56];
35018
35145
  case 1:
35019
35146
  if (!rcBefore) return [3 /*break*/, 7];
35020
35147
  return [4 /*yield*/, task.CheckRefreshSubTasks()];
@@ -35031,7 +35158,7 @@
35031
35158
  case 6:
35032
35159
  _b.sent();
35033
35160
  _b.label = 7;
35034
- case 7: return [3 /*break*/, 54];
35161
+ case 7: return [3 /*break*/, 56];
35035
35162
  case 8:
35036
35163
  task.isFirstRecordCycle(false);
35037
35164
  if (task.getPreventRecordSuffix()) {
@@ -35114,7 +35241,7 @@
35114
35241
  case 23:
35115
35242
  _b.sent();
35116
35243
  _b.label = 24;
35117
- case 24: return [3 /*break*/, 54];
35244
+ case 24: return [3 /*break*/, 56];
35118
35245
  case 25:
35119
35246
  if (!rcBefore) return [3 /*break*/, 32];
35120
35247
  return [4 /*yield*/, ctrl.IsParkable()];
@@ -35142,7 +35269,7 @@
35142
35269
  case 31:
35143
35270
  _b.sent();
35144
35271
  _b.label = 32;
35145
- case 32: return [3 /*break*/, 54];
35272
+ case 32: return [3 /*break*/, 56];
35146
35273
  case 33:
35147
35274
  if (!this.GetStopExecutionFlag()) {
35148
35275
  if (ctrl.isChoiceControl()) {
@@ -35154,7 +35281,7 @@
35154
35281
  task.ActionManager.enable(utils.InternalInterface.MG_ACT_ZOOM, false);
35155
35282
  task.ActionManager.enable(utils.InternalInterface.MG_ACT_RT_EDT_NULL, false);
35156
35283
  }
35157
- if (!rcBefore) return [3 /*break*/, 38];
35284
+ if (!rcBefore) return [3 /*break*/, 40];
35158
35285
  if (this.GetStopExecutionFlag()) {
35159
35286
  ctrl.InControl = true;
35160
35287
  return [2 /*return*/];
@@ -35169,58 +35296,66 @@
35169
35296
  case 35:
35170
35297
  task.setLevel(utils.Constants.TASK_LEVEL_RECORD);
35171
35298
  ctrl.setInControlSuffix(false);
35299
+ ctrl.IsInteractiveUpdate = false;
35300
+ if (!ctrl.PropertyExists(gui.PropInterface.PROP_TYPE_CUSTOM_VALIDATORS)) return [3 /*break*/, 37];
35301
+ return [4 /*yield*/, ctrl.getProp(gui.PropInterface.PROP_TYPE_CUSTOM_VALIDATORS).RefreshDisplay(true)];
35302
+ case 36:
35303
+ _b.sent();
35304
+ _b.label = 37;
35305
+ case 37:
35306
+ ctrl.ValidateControl = false;
35172
35307
  LastFocusedManager.setLastFocusedControl(task, null);
35173
35308
  return [4 /*yield*/, task.evalEndCond(ConstInterface.END_COND_EVAL_IMMIDIATE)];
35174
- case 36:
35175
- if (!_b.sent()) return [3 /*break*/, 38];
35309
+ case 38:
35310
+ if (!_b.sent()) return [3 /*break*/, 40];
35176
35311
  return [4 /*yield*/, task.endTask(true, false, false)];
35177
- case 37:
35178
- _b.sent();
35179
- _b.label = 38;
35180
- case 38: return [3 /*break*/, 54];
35181
35312
  case 39:
35313
+ _b.sent();
35314
+ _b.label = 40;
35315
+ case 40: return [3 /*break*/, 56];
35316
+ case 41:
35182
35317
  task.setLevel(utils.Constants.TASK_LEVEL_TASK);
35183
- return [3 /*break*/, 54];
35184
- case 40:
35318
+ return [3 /*break*/, 56];
35319
+ case 42:
35185
35320
  task.setLevel(utils.Constants.TASK_LEVEL_NONE);
35186
- return [3 /*break*/, 54];
35187
- case 41:
35321
+ return [3 /*break*/, 56];
35322
+ case 43:
35188
35323
  form = task.getForm();
35189
- if (!(!task.isMainProg() && form != null)) return [3 /*break*/, 44];
35324
+ if (!(!task.isMainProg() && form != null)) return [3 /*break*/, 46];
35190
35325
  return [4 /*yield*/, form.moveInView(form.isLineMode()
35191
35326
  ? utils.Constants.MOVE_UNIT_ROW
35192
35327
  : utils.Constants.MOVE_UNIT_PAGE, utils.Constants.MOVE_DIRECTION_NEXT)];
35193
- case 42:
35328
+ case 44:
35194
35329
  _b.sent();
35195
- if (!task.getExecEndTask()) return [3 /*break*/, 44];
35330
+ if (!task.getExecEndTask()) return [3 /*break*/, 46];
35196
35331
  return [4 /*yield*/, task.endTask(true, false, false)];
35197
- case 43:
35198
- _b.sent();
35199
- _b.label = 44;
35200
- case 44: return [3 /*break*/, 54];
35201
35332
  case 45:
35202
- if (!task.DataView.isEmptyDataview()) return [3 /*break*/, 46];
35203
- (task).setExecEndTask();
35204
- return [3 /*break*/, 48];
35205
- case 46: return [4 /*yield*/, this.HandleActionDelline(evt, task, dv, rec, true)];
35206
- case 47:
35207
35333
  _b.sent();
35208
- _b.label = 48;
35209
- case 48:
35210
- if (!task.getExecEndTask()) return [3 /*break*/, 50];
35211
- return [4 /*yield*/, task.endTask(true, false, false)];
35334
+ _b.label = 46;
35335
+ case 46: return [3 /*break*/, 56];
35336
+ case 47:
35337
+ if (!task.DataView.isEmptyDataview()) return [3 /*break*/, 48];
35338
+ (task).setExecEndTask();
35339
+ return [3 /*break*/, 50];
35340
+ case 48: return [4 /*yield*/, this.HandleActionDelline(evt, task, dv, rec, true)];
35212
35341
  case 49:
35213
35342
  _b.sent();
35214
35343
  _b.label = 50;
35215
- case 50: return [3 /*break*/, 54];
35216
- case 51: return [4 /*yield*/, evt.getArgList().getArgValue(1, utils.StorageAttribute.BOOLEAN, 0)];
35217
- case 52:
35344
+ case 50:
35345
+ if (!task.getExecEndTask()) return [3 /*break*/, 52];
35346
+ return [4 /*yield*/, task.endTask(true, false, false)];
35347
+ case 51:
35348
+ _b.sent();
35349
+ _b.label = 52;
35350
+ case 52: return [3 /*break*/, 56];
35351
+ case 53: return [4 /*yield*/, evt.getArgList().getArgValue(1, utils.StorageAttribute.BOOLEAN, 0)];
35352
+ case 54:
35218
35353
  refreshDisplay = (_b.sent()) === '1' ? true : false;
35219
35354
  return [4 /*yield*/, ctrl.validateAndSetValueIfAllowed(evt.getValue(), refreshDisplay)];
35220
- case 53:
35355
+ case 55:
35221
35356
  _b.sent();
35222
- return [3 /*break*/, 54];
35223
- case 54: return [2 /*return*/];
35357
+ return [3 /*break*/, 56];
35358
+ case 56: return [2 /*return*/];
35224
35359
  }
35225
35360
  });
35226
35361
  });
@@ -35497,6 +35632,45 @@
35497
35632
  return null;
35498
35633
  return this._rtEvents.pop();
35499
35634
  };
35635
+ EventsManager.prototype.storeLastSavedRouteEventOnLocalStorage = function () {
35636
+ var dataStorage = window.localStorage;
35637
+ if (this.getLastSavedRouteEvent() != null) {
35638
+ var rtEvt = this.getLastSavedRouteEvent();
35639
+ dataStorage.setItem(ConstInterface.LAST_ROUTE_EVENT, "1");
35640
+ dataStorage.setItem(ConstInterface.LAST_ROUTE_EVENT_SRC_TSK, JSON.stringify(rtEvt.getTask().TaskDefinitionId));
35641
+ if (rtEvt.getArgList().getSize() > 0) {
35642
+ var str = new mscorelib.StringBuilder();
35643
+ rtEvt.getArgList().buildXML(str);
35644
+ dataStorage.setItem(ConstInterface.LAST_ROUTE_EVENT_ARG_LIST, str.toString());
35645
+ }
35646
+ }
35647
+ };
35648
+ EventsManager.prototype.restoreLastSavedRouteEventFromLocalStorage = function () {
35649
+ var dataStorage = window.localStorage;
35650
+ var lastRouteEvent = dataStorage.getItem(ConstInterface.LAST_ROUTE_EVENT);
35651
+ if (lastRouteEvent === "1") {
35652
+ var srcTaskDefinitionStr = dataStorage.getItem(ConstInterface.LAST_ROUTE_EVENT_SRC_TSK);
35653
+ var routeArgListStr = dataStorage.getItem(ConstInterface.LAST_ROUTE_EVENT_ARG_LIST);
35654
+ var taskDefinitionId = new gui.TaskDefinitionId();
35655
+ taskDefinitionId.fromJSON(srcTaskDefinitionStr);
35656
+ var srcTask = MGDataCollection.Instance.getCurrMGData().getTaskByTaskDefinitionID(taskDefinitionId);
35657
+ var args = null;
35658
+ if (routeArgListStr != null) {
35659
+ args = new ArgumentsList();
35660
+ args.fillList(routeArgListStr, srcTask);
35661
+ }
35662
+ EventsManager.Instance.AddLastSavedRouteEvent(srcTask, args);
35663
+ }
35664
+ };
35665
+ EventsManager.prototype.getLastSavedRouteEvent = function () {
35666
+ return this.lastSavedRouteEvent;
35667
+ };
35668
+ EventsManager.prototype.setLastSavedRouteEvent = function (rtEvt) {
35669
+ if (rtEvt == null)
35670
+ this.lastSavedRouteEvent = null;
35671
+ else
35672
+ this.lastSavedRouteEvent = rtEvt.replicate();
35673
+ };
35500
35674
  EventsManager.prototype.getLastRtEvent = function () {
35501
35675
  if (this._rtEvents.count() === 0)
35502
35676
  return null;
@@ -35895,6 +36069,8 @@
35895
36069
  EventsManager.REAL_ONLY = true;
35896
36070
  EventsManager.MAX_OPER = 9999;
35897
36071
  EventsManager.userGrantedForContextActivity = true;
36072
+ EventsManager.clientInactivityTimerON = false;
36073
+ EventsManager.clientContextInactivityTimerAborted = false;
35898
36074
  EventsManager.Instance = new EventsManager();
35899
36075
  EventsManager.clientBusyTimeStart = 0;
35900
36076
 
@@ -36506,7 +36682,6 @@
36506
36682
  function EnhancedVerifyCommand() {
36507
36683
  var _this = _super.call(this) || this;
36508
36684
  _this._buttonsID = '\0';
36509
- _this._defaultButton = 0;
36510
36685
  _this._image = '\0';
36511
36686
  _this._returnValStr = null;
36512
36687
  _this._returnVal = null;
@@ -36531,7 +36706,6 @@
36531
36706
  mlsTransTitle.value = LanguageData.Instance.translate(this._title);
36532
36707
  style.value = Operation.getButtons(this._buttonsID);
36533
36708
  style.value |= Operation.getImage(this._image);
36534
- style.value |= Operation.getDefaultButton(this._defaultButton);
36535
36709
  if (task !== null) {
36536
36710
  if (Task.isMainProgramField(this._returnValStr)) {
36537
36711
  this._returnVal = Operation.InitField(this._returnValStr, task);
@@ -36546,9 +36720,6 @@
36546
36720
  case ConstInterface.MG_ATTR_BUTTONS:
36547
36721
  this._buttonsID = value[0];
36548
36722
  break;
36549
- case ConstInterface.MG_ATTR_DEFAULT_BUTTON:
36550
- this._defaultButton = utils.XmlParser.getInt(value);
36551
- break;
36552
36723
  case ConstInterface.MG_ATTR_RETURN_VAL:
36553
36724
  this._returnValStr = value;
36554
36725
  break;
@@ -37157,7 +37328,7 @@
37157
37328
  return CommandsTable;
37158
37329
  }());
37159
37330
 
37160
- var CurrentClientVersion = '4.800.0-dev480.98';
37331
+ var CurrentClientVersion = '4.800.0';
37161
37332
 
37162
37333
  var ClientManager = /** @class */ (function () {
37163
37334
  function ClientManager() {
@@ -37271,7 +37442,7 @@
37271
37442
  case "getRows":
37272
37443
  dvRowIdx = lineIdx - task.DataView.RecordsBeforeCurrentView;
37273
37444
  var lastFocusedVal = { guiMgControl: task.getForm().getTableCtrl(), Line: dvRowIdx, Val: "" };
37274
- gui.Events.OnGetRowsData(task.getForm().getTableCtrl(), dvRowIdx, false, lastFocusedVal);
37445
+ gui.Events.OnGetRowsData(task.getForm().getTableCtrl(), dvRowIdx, true, lastFocusedVal);
37275
37446
  break;
37276
37447
  case "RouterNavigate":
37277
37448
  EventsManager.Instance.AddRouteEvent(task, utils.InternalInterface.MG_ACT_WEBCLIENT_ROUTE, guiEvent.RouterPath, guiEvent.RouterOutletName, guiEvent.RouterParams);
@@ -37859,6 +38030,7 @@
37859
38030
  exports.RunTimeEventBase = RunTimeEventBase;
37860
38031
  exports.SET_DISPLAYLINE_BY_DV = SET_DISPLAYLINE_BY_DV;
37861
38032
  exports.Scrambler = Scrambler;
38033
+ exports.SelectProgramCommand = SelectProgramCommand;
37862
38034
  exports.ServerConfig = ServerConfig;
37863
38035
  exports.ServerError = ServerError;
37864
38036
  exports.SetTransactionStateDataviewCommand = SetTransactionStateDataviewCommand;