@magic-xpa/engine 4.901.0-dev491.4 → 4.1000.0-Time24h-dev4100.351

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 (57) hide show
  1. package/esm2020/src/ClientManager.mjs +12 -12
  2. package/esm2020/src/ConstInterface.mjs +3 -2
  3. package/esm2020/src/CurrentClientVersion.mjs +2 -2
  4. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +10 -2
  5. package/esm2020/src/commands/ClientToServer/DataviewCommand.mjs +6 -6
  6. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +4 -4
  7. package/esm2020/src/commands/ClientToServer/EventCommand.mjs +8 -8
  8. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +4 -4
  9. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +5 -5
  10. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +7 -7
  11. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +6 -6
  12. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +8 -8
  13. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +7 -7
  14. package/esm2020/src/data/DataView.mjs +34 -34
  15. package/esm2020/src/data/DataviewManager.mjs +7 -7
  16. package/esm2020/src/data/Record.mjs +10 -10
  17. package/esm2020/src/data/TaskTransactionManager.mjs +4 -4
  18. package/esm2020/src/data/XMLBasedDcValuesBuilder.mjs +5 -5
  19. package/esm2020/src/env/Environment.mjs +14 -7
  20. package/esm2020/src/env/MirrorString.mjs +2 -3
  21. package/esm2020/src/event/Event.mjs +4 -1
  22. package/esm2020/src/event/EventHandler.mjs +8 -3
  23. package/esm2020/src/event/EventHandlerPosition.mjs +5 -1
  24. package/esm2020/src/event/EventsManager.mjs +10 -1
  25. package/esm2020/src/event/IEventsManager.mjs +1 -1
  26. package/esm2020/src/event/RunTimeEvent.mjs +16 -16
  27. package/esm2020/src/exp/ExpressionDict.mjs +8 -8
  28. package/esm2020/src/exp/ExpressionEvaluator.mjs +24 -176
  29. package/esm2020/src/gui/FormsTable.mjs +8 -8
  30. package/esm2020/src/gui/MgControl.mjs +10 -13
  31. package/esm2020/src/gui/MgForm.mjs +7 -2
  32. package/esm2020/src/http/HttpManager.mjs +8 -8
  33. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +47 -27
  34. package/esm2020/src/rt/DataviewHeaderBase.mjs +16 -16
  35. package/esm2020/src/security/UserDetails.mjs +12 -12
  36. package/esm2020/src/tasks/MGData.mjs +4 -4
  37. package/esm2020/src/tasks/RCTimer.mjs +10 -10
  38. package/esm2020/src/tasks/Task.mjs +43 -42
  39. package/esm2020/src/util/FlowMonitorQueue.mjs +107 -2
  40. package/esm2020/src/util/PrmMap.mjs +6 -6
  41. package/esm2020/src/util/ReturnResult.mjs +7 -7
  42. package/fesm2015/magic-xpa-engine.mjs +550 -567
  43. package/fesm2015/magic-xpa-engine.mjs.map +1 -1
  44. package/fesm2020/magic-xpa-engine.mjs +551 -541
  45. package/fesm2020/magic-xpa-engine.mjs.map +1 -1
  46. package/package.json +6 -6
  47. package/src/ConstInterface.d.ts +2 -1
  48. package/src/commands/ClientToServer/CommandFactory.d.ts +3 -0
  49. package/src/env/Environment.d.ts +2 -0
  50. package/src/event/EventsManager.d.ts +3 -0
  51. package/src/event/IEventsManager.d.ts +2 -0
  52. package/src/exp/ExpressionEvaluator.d.ts +1 -9
  53. package/src/gui/MgControl.d.ts +0 -1
  54. package/src/remote/RemoteCommandsProcessor.d.ts +1 -0
  55. package/src/util/FlowMonitorQueue.d.ts +8 -0
  56. package/src/util/PrmMap.d.ts +1 -1
  57. package/magic-xpa-engine.d.ts +0 -2
@@ -1,7 +1,7 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import { StringBuilder, Int32, NString, ApplicationException, NNumber, List, Debug, Char, RefParam, NumberStyles, HashUtils, DateTime, Dictionary, Stack, NChar, isNullOrUndefined, WebException, Thread, Encoding, Exception, isUndefined, Hashtable, NotImplementedException, Array_Enumerator, ISO_8859_1_Encoding, Int64 } from '@magic-xpa/mscorelib';
3
3
  import { XMLConstants, StorageAttribute, ViewRefreshMode, InternalInterface, Logger, StorageAttributeCheck, StrUtil, SubformType, TableBehaviour, MgControlType, ScrollBarThumbType, ForceExit, XmlParser, Misc, Base64, Priority, SyncExecutionHelper, Queue, Constants, DateTimeUtils, Logger_LogLevels, Logger_MessageDirection, MsgInterface, RequestInfo, OSEnvironment, JSON_Utils, UtilDateJpn, UtilStrByteMode, PICInterface, WindowType, BrkScope, RaiseAt, CtrlButtonTypeGui } from '@magic-xpa/utils';
4
- import { RecordUtils, GuiFieldBase, ExpVal, BlobType, FieldDef, GuiTaskBase, MgControlBase, PropInterface, GuiDataCollection, CommandType, Commands, HtmlProperties, ControlTable, Modifiers, KeyboardItem, TaskDefinitionIdTableSaxHandler, DisplayConvertor, MgTimer, GuiConstants, RuntimeContextBase, UsernamePasswordCredentials, Styles, Manager, NUM_TYPE, VectorType, GuiExpressionEvaluator, ExpressionInterface, PIC, DataModificationTypes, GuiDataViewBase, ObjectReferencesCollection, EMPTY_DCREF, ObjectReferenceBase, PropTable, FieldsTable as FieldsTable$1, DcValuesBuilderBase, MgFormBase, GuiEnvironment, TaskDefinitionId, Events, Helps, FocusManager, EventsProcessor, UIBridge } from '@magic-xpa/gui';
4
+ import { RecordUtils, GuiFieldBase, ExpVal, BlobType, FieldDef, GuiTaskBase, MgControlBase, PropInterface, GuiDataCollection, CommandType, Commands, HtmlProperties, ControlTable, Modifiers, KeyboardItem, TaskDefinitionIdTableSaxHandler, DisplayConvertor, VectorType, PIC, MgTimer, GuiConstants, RuntimeContextBase, UsernamePasswordCredentials, Styles, Manager, NUM_TYPE, GuiExpressionEvaluator, ExpressionInterface, DataModificationTypes, GuiDataViewBase, ObjectReferencesCollection, EMPTY_DCREF, ObjectReferenceBase, PropTable, FieldsTable as FieldsTable$1, DcValuesBuilderBase, MgFormBase, GuiEnvironment, TaskDefinitionId, Events, Helps, FocusManager, EventsProcessor, UIBridge } from '@magic-xpa/gui';
5
5
  import { HttpHeaders, HttpErrorResponse } from '@angular/common/http';
6
6
  import { timer, Subject } from 'rxjs';
7
7
 
@@ -39,7 +39,6 @@ var ClientTargetedCommandType;
39
39
  })(ClientTargetedCommandType || (ClientTargetedCommandType = {}));
40
40
 
41
41
  class ConstInterface {
42
- ;
43
42
  }
44
43
  ConstInterface.MG_TAG_CONTEXT = "context";
45
44
  ConstInterface.MG_TAG_ENV = "env";
@@ -273,6 +272,7 @@ ConstInterface.MG_ATTR_LOCAL_AS400SET = "local_as400set";
273
272
  ConstInterface.MG_ATTR_LOCAL_EXTRA_GENGO = "local_extraGengo";
274
273
  ConstInterface.MG_ATTR_LOCAL_FLAGS = "local_flags";
275
274
  ConstInterface.MG_ATTR_SPEACIAL_ANSI_EXP = "SpecialAnsiExpression";
275
+ ConstInterface.MG_ATTR_SPECIAL_IMMEDIATE_HANDLER_END = "SpecialImmediateHandlerEnd";
276
276
  ConstInterface.MG_ATTR_SPECIAL_SHOW_STATUSBAR_PANES = "SpecialShowStatusBarPanes";
277
277
  ConstInterface.MG_ATTR_SPECIAL_ROUTE_TO_ROOT_PROG_ON_CONTEXT_RECREATION = "SpecialRouteToRootProgramOnContextRecreation";
278
278
  ConstInterface.MG_ATTR_SPECIAL_SPECIAL_EDIT_LEFT_ALIGN = "SpecialEditLeftAlign";
@@ -477,6 +477,7 @@ ConstInterface.RC_TOKEN_DATA = "DATA=";
477
477
  ConstInterface.WEBCLIENT_REINITIALIZE_REQUEST = "WCREINITIALIZEREQUEST=Y";
478
478
  ConstInterface.MAIN_PROG_VIEW = "MainProgramsDataView";
479
479
  ConstInterface.GLOBAL_PARAM_LIST = "GlobalParamList";
480
+ ConstInterface.ENV_VAR_LIST = "EnvVarList";
480
481
  ConstInterface.LAST_EXCEPTION = "LastException";
481
482
  ConstInterface.CTX_REMOVED_FROM_SRVR = "CtxRemovedFromSrvr";
482
483
  ConstInterface.LAST_ROUTE_EVENT = "LastRouteEvent";
@@ -642,13 +643,6 @@ class CommandSerializationHelper {
642
643
  }
643
644
 
644
645
  class EventCommand extends ClientOriginatedCommandTaskTag {
645
- constructor(magicEvent) {
646
- super();
647
- this.TaskTag = null;
648
- this.MagicEvent = 0;
649
- this.ClientRecId = 0;
650
- this.MagicEvent = magicEvent;
651
- }
652
646
  get CommandTypeAttribute() {
653
647
  return ConstInterface.MG_ATTR_VAL_EVENT;
654
648
  }
@@ -664,6 +658,13 @@ class EventCommand extends ClientOriginatedCommandTaskTag {
664
658
  return false;
665
659
  return true;
666
660
  }
661
+ constructor(magicEvent) {
662
+ super();
663
+ this.TaskTag = null;
664
+ this.MagicEvent = 0;
665
+ this.ClientRecId = 0;
666
+ this.MagicEvent = magicEvent;
667
+ }
667
668
  SerializeCommandData() {
668
669
  let helper = new CommandSerializationHelper();
669
670
  helper.SerializeTaskTag(this.TaskTag);
@@ -1203,15 +1204,6 @@ class OpeningTaskDetails {
1203
1204
  }
1204
1205
 
1205
1206
  class MgControl extends MgControlBase {
1206
- constructor(type, taskOrParentMgForm, parentControlOrParentControlIdx) {
1207
- if (arguments.length === 0)
1208
- super();
1209
- else if (arguments.length === 3 && (type === null || type.constructor === Number) && (taskOrParentMgForm === null || taskOrParentMgForm instanceof TaskBase) && (parentControlOrParentControlIdx === null || parentControlOrParentControlIdx.constructor === Number))
1210
- super(type, taskOrParentMgForm.getForm(), parentControlOrParentControlIdx);
1211
- else
1212
- super(type, taskOrParentMgForm, parentControlOrParentControlIdx);
1213
- this.initialize();
1214
- }
1215
1207
  initialize() {
1216
1208
  this._focusedStopExecution = false;
1217
1209
  this._inControlSuffix = false;
@@ -1224,6 +1216,15 @@ class MgControl extends MgControlBase {
1224
1216
  this.HasZoomHandler = false;
1225
1217
  this.ArgList = null;
1226
1218
  }
1219
+ constructor(type, taskOrParentMgForm, parentControlOrParentControlIdx) {
1220
+ if (arguments.length === 0)
1221
+ super();
1222
+ else if (arguments.length === 3 && (type === null || type.constructor === Number) && (taskOrParentMgForm === null || taskOrParentMgForm instanceof TaskBase) && (parentControlOrParentControlIdx === null || parentControlOrParentControlIdx.constructor === Number))
1223
+ super(type, taskOrParentMgForm.getForm(), parentControlOrParentControlIdx);
1224
+ else
1225
+ super(type, taskOrParentMgForm, parentControlOrParentControlIdx);
1226
+ this.initialize();
1227
+ }
1227
1228
  GetVarIndex() {
1228
1229
  return super.getForm().getTask().DataView.Dvcount + this.veeIndx;
1229
1230
  }
@@ -1548,14 +1549,6 @@ class MgControl extends MgControlBase {
1548
1549
  }
1549
1550
  });
1550
1551
  }
1551
- refreshAndSetItemsListForRadioButton(line, execComputeChoice) {
1552
- const _super = Object.create(null, {
1553
- refreshAndSetItemsListForRadioButton: { get: () => super.refreshAndSetItemsListForRadioButton }
1554
- });
1555
- return __awaiter(this, void 0, void 0, function* () {
1556
- yield _super.refreshAndSetItemsListForRadioButton.call(this, line, execComputeChoice);
1557
- });
1558
- }
1559
1552
  getSubformTask() {
1560
1553
  return this._subformTask;
1561
1554
  }
@@ -2924,6 +2917,9 @@ class Event {
2924
2917
  case InternalInterface.MG_ACT_INDEX_CHANGE:
2925
2918
  description = 'Index Change';
2926
2919
  break;
2920
+ case InternalInterface.MG_ACT_DUMP_ENVIRONMENT:
2921
+ description = 'Dump Environment';
2922
+ break;
2927
2923
  default:
2928
2924
  description = '';
2929
2925
  break;
@@ -3233,6 +3229,21 @@ class MgPriorityBlockingQueue {
3233
3229
  }
3234
3230
 
3235
3231
  class RunTimeEvent extends RunTimeEventBase {
3232
+ set Control(value) {
3233
+ this._ctrl = value;
3234
+ }
3235
+ set DisplayLine(value) {
3236
+ this._displayLine = value;
3237
+ }
3238
+ get Control() {
3239
+ return this._ctrl;
3240
+ }
3241
+ get ControlsList() {
3242
+ return this._controlsList;
3243
+ }
3244
+ get Direction() {
3245
+ return this._direction;
3246
+ }
3236
3247
  constructor(taskRefOrCtrlRefOrTaskrefOrFldRefOrEvt, ctrlRefOrGuiTriggeredEventOrLineOrControlsListOrDirectionOrColumnHeaderOrRtEvtOrCurrentTask, ignoreSpecifiedControlOrGuiTriggeredEventOrLineOrXOrControlOrActivatedFromMDIFrame, yOrCtlIdx, width, height) {
3237
3248
  super();
3238
3249
  this._controlsList = null;
@@ -3294,21 +3305,6 @@ class RunTimeEvent extends RunTimeEventBase {
3294
3305
  else if (arguments.length === 1 && taskRefOrCtrlRefOrTaskrefOrFldRefOrEvt instanceof RunTimeEvent)
3295
3306
  Object.assign(this, taskRefOrCtrlRefOrTaskrefOrFldRefOrEvt);
3296
3307
  }
3297
- set Control(value) {
3298
- this._ctrl = value;
3299
- }
3300
- set DisplayLine(value) {
3301
- this._displayLine = value;
3302
- }
3303
- get Control() {
3304
- return this._ctrl;
3305
- }
3306
- get ControlsList() {
3307
- return this._controlsList;
3308
- }
3309
- get Direction() {
3310
- return this._direction;
3311
- }
3312
3308
  constructor_5(taskRef) {
3313
3309
  this.init(taskRef);
3314
3310
  }
@@ -3638,7 +3634,17 @@ class FlowMonitorQueue {
3638
3634
  this._isRecompute = false;
3639
3635
  this._isTask = false;
3640
3636
  this._isTaskFlow = false;
3637
+ this._isDataView = false;
3641
3638
  this.ShouldSerialize = false;
3639
+ this.padRight = (string, length, character = ' ') => {
3640
+ let result = "";
3641
+ let totalLength = length - string.length;
3642
+ for (let i = 0; i < totalLength; i++) {
3643
+ result = character + result;
3644
+ }
3645
+ result = result + string;
3646
+ return result;
3647
+ };
3642
3648
  }
3643
3649
  static get Instance() {
3644
3650
  if (FlowMonitorQueue._instance === null)
@@ -3696,6 +3702,9 @@ class FlowMonitorQueue {
3696
3702
  case ConstInterface.MG_ATTR_TASKFLW:
3697
3703
  this._isTaskFlow = XmlParser.getBoolean(valueStr);
3698
3704
  break;
3705
+ case ConstInterface.MG_TAG_DATAVIEW:
3706
+ this._isDataView = XmlParser.getBoolean(valueStr);
3707
+ break;
3699
3708
  case ConstInterface.MG_ATTR_RECOMP:
3700
3709
  this._isRecompute = XmlParser.getBoolean(valueStr);
3701
3710
  break;
@@ -3753,6 +3762,96 @@ class FlowMonitorQueue {
3753
3762
  Logger.Instance.WriteSupportToLog(taskInfo + ": " + info, true);
3754
3763
  }
3755
3764
  }
3765
+ appendVirtualsAndParameters(currentValues) {
3766
+ let act = new ActivityItem(this, FlowMonitorQueue.ACT_TASK_FLW, InternalInterface.MG_ACT_REC_PREFIX);
3767
+ act.setInfo(currentValues);
3768
+ this._queue.put(act);
3769
+ }
3770
+ addDataViewFlow(task) {
3771
+ if (this._isDataView) {
3772
+ let fldTab = task.DataView.GetFieldsTab();
3773
+ let preparedDisplayString = "";
3774
+ let finaldisplayData = "\n";
3775
+ let fldValue;
3776
+ let data = "";
3777
+ for (let i = 0; i < fldTab.getSize(); i++) {
3778
+ let fldDef = fldTab.getField(i);
3779
+ if (!fldDef.IsEventHandlerField && (fldDef.IsVirtual && !fldDef.VirAsReal) || fldDef.isParam()) {
3780
+ fldValue = fldDef.isNull() ? fldDef.getNullValue() : fldDef.getValue(true);
3781
+ data = this.getFieldData(fldDef.getType(), fldValue, fldDef.getPicture(), fldDef.getCellsType(), task);
3782
+ preparedDisplayString = this.PrepareDisplayString(fldDef.isParam(), fldDef.getVarName(), data, true);
3783
+ finaldisplayData = finaldisplayData + preparedDisplayString + "\n";
3784
+ }
3785
+ }
3786
+ this.appendVirtualsAndParameters(finaldisplayData);
3787
+ }
3788
+ }
3789
+ getFieldData(Storagetype, data, picture, vecCellType, task) {
3790
+ switch (Storagetype) {
3791
+ case StorageAttribute.DOTNET:
3792
+ data = FlowMonitorQueue.UNPRINTABLE_STR_LOG;
3793
+ break;
3794
+ case StorageAttribute.BLOB:
3795
+ {
3796
+ if (BlobType.isValidBlob(data)) {
3797
+ let contentType = BlobType.getContentType(data);
3798
+ if (contentType == BlobType.CONTENT_TYPE_ANSI || contentType == BlobType.CONTENT_TYPE_UNICODE)
3799
+ data = data != null ? BlobType.getString(data) : "";
3800
+ else
3801
+ data = FlowMonitorQueue.UNPRINTABLE_STR_LOG;
3802
+ }
3803
+ else
3804
+ data = "";
3805
+ }
3806
+ break;
3807
+ case StorageAttribute.NUMERIC:
3808
+ case StorageAttribute.DATE:
3809
+ case StorageAttribute.TIME:
3810
+ let conv = DisplayConvertor.Instance;
3811
+ data = conv.mg2disp(data, " ", new PIC(picture, Storagetype, task.getCompIdx()), false, task.getCompIdx(), false);
3812
+ break;
3813
+ case StorageAttribute.BLOB_VECTOR:
3814
+ let vecOutData;
3815
+ if (data == null) {
3816
+ vecOutData = "[]";
3817
+ }
3818
+ else {
3819
+ let cellAtt = vecCellType;
3820
+ let vector = new VectorType(data);
3821
+ if (cellAtt == StorageAttribute.BLOB && !VectorType.validateBlobContents(data))
3822
+ vecOutData = "[]";
3823
+ else {
3824
+ let vecSize = VectorType.getVecSize(data);
3825
+ let cellPicture = (cellAtt == StorageAttribute.NUMERIC || cellAtt == StorageAttribute.DATE || cellAtt == StorageAttribute.TIME) ? PIC.buildPicture(cellAtt, vector.getVecCell(1), task.getCompIdx(), true).getFormat() : picture;
3826
+ vecOutData = "[";
3827
+ for (let i = 0; i < vecSize; i++) {
3828
+ vecOutData += this.getFieldData(cellAtt, vector.getVecCell(i + 1), cellPicture, vecCellType, task);
3829
+ vecOutData += i < vecSize - 1 ? "," : "]";
3830
+ }
3831
+ }
3832
+ }
3833
+ data = vecOutData;
3834
+ break;
3835
+ case StorageAttribute.BOOLEAN:
3836
+ data = data == "1" ? "TRUE" : "FALSE";
3837
+ break;
3838
+ }
3839
+ return data;
3840
+ }
3841
+ PrepareDisplayString(mode, name, valueContent, addDoubleQuotes) {
3842
+ let str = "";
3843
+ let finalStringToDisplay = "";
3844
+ if (addDoubleQuotes)
3845
+ finalStringToDisplay = finalStringToDisplay + "\"";
3846
+ finalStringToDisplay = finalStringToDisplay + name;
3847
+ if (addDoubleQuotes)
3848
+ finalStringToDisplay = finalStringToDisplay + "\"";
3849
+ let paddedName = this.padRight(name, 34);
3850
+ let formatOfStringVirtual = `Virtual`;
3851
+ let formatOfStringParameter = `Parameter`;
3852
+ str = (mode ? formatOfStringParameter : formatOfStringVirtual) + " : " + `${paddedName}` + " : " + `${valueContent.trim()}`;
3853
+ return str;
3854
+ }
3756
3855
  addTaskFlowRec(id, state, taskInfo) {
3757
3856
  if (this._enabled && this._isTaskFlow) {
3758
3857
  let info;
@@ -3919,6 +4018,7 @@ class FlowMonitorQueue {
3919
4018
  }
3920
4019
  }
3921
4020
  FlowMonitorQueue._instance = null;
4021
+ FlowMonitorQueue.UNPRINTABLE_STR_LOG = "#UNPRINTABLE#";
3922
4022
  FlowMonitorQueue.S_EVENT_STR1 = ">>Starts ";
3923
4023
  FlowMonitorQueue.S_EVENT_STR2 = " Event";
3924
4024
  FlowMonitorQueue.S_EVENT_PROPAGATED = "Event was propagated";
@@ -3980,6 +4080,15 @@ class TimerObjectCollection {
3980
4080
  }
3981
4081
  TimerObjectCollection.MgDataToTimerObjList = new Dictionary();
3982
4082
  class RCTimer extends MgTimer {
4083
+ get TimerIntervalMiliSeconds() {
4084
+ return this._timerIntervalMilliSeconds;
4085
+ }
4086
+ set IsIdleTimer(value) {
4087
+ this._isIdle = value;
4088
+ }
4089
+ get IsIdleTimer() {
4090
+ return this._isIdle;
4091
+ }
3983
4092
  constructor(mgData, milliseconds, isIdle) {
3984
4093
  super(milliseconds);
3985
4094
  this._mgData = null;
@@ -3991,15 +4100,6 @@ class RCTimer extends MgTimer {
3991
4100
  TimerObjectCollection.MgDataToTimerObjList.Add(mgDataId, new List());
3992
4101
  TimerObjectCollection.MgDataToTimerObjList.get_Item(mgDataId).push(this);
3993
4102
  }
3994
- get TimerIntervalMiliSeconds() {
3995
- return this._timerIntervalMilliSeconds;
3996
- }
3997
- set IsIdleTimer(value) {
3998
- this._isIdle = value;
3999
- }
4000
- get IsIdleTimer() {
4001
- return this._isIdle;
4002
- }
4003
4103
  GetMgdata() {
4004
4104
  return this._mgData;
4005
4105
  }
@@ -4145,6 +4245,9 @@ class ExecutionStack {
4145
4245
  }
4146
4246
 
4147
4247
  class ExecOperCommand extends ClientOriginatedCommandTaskTag {
4248
+ get CommandTypeAttribute() {
4249
+ return ConstInterface.MG_ATTR_VAL_EXEC_OPER;
4250
+ }
4148
4251
  constructor() {
4149
4252
  super();
4150
4253
  this.ExecutionStack = null;
@@ -4158,9 +4261,6 @@ class ExecOperCommand extends ClientOriginatedCommandTaskTag {
4158
4261
  this.CheckOnly = false;
4159
4262
  this.DitIdx = Int32.MinValue;
4160
4263
  }
4161
- get CommandTypeAttribute() {
4162
- return ConstInterface.MG_ATTR_VAL_EXEC_OPER;
4163
- }
4164
4264
  SerializeCommandData() {
4165
4265
  let helper = new CommandSerializationHelper();
4166
4266
  let execStackExists = this.ExecutionStack !== null && !this.ExecutionStack.empty();
@@ -4641,13 +4741,6 @@ class HttpClientAsync extends HttpClientBase {
4641
4741
  }
4642
4742
 
4643
4743
  class HttpManager {
4644
- constructor() {
4645
- this._httpCommunicationTimeoutMS = HttpManager.DEFAULT_HTTP_COMMUNICATION_TIMEOUT;
4646
- this._httpClientAsync = null;
4647
- this._isAbortingMagicEngine = false;
4648
- this._httpClientAsync = new HttpClientAsync(HttpManager._nativeHttpClient);
4649
- this.RegisterBasicDelegates();
4650
- }
4651
4744
  getHttpClient() {
4652
4745
  if (this.IsAbortingMagicEngine)
4653
4746
  return new HttpClientSync();
@@ -4667,6 +4760,13 @@ class HttpManager {
4667
4760
  }
4668
4761
  get IsAbortingMagicEngine() { return this._isAbortingMagicEngine; }
4669
4762
  set IsAbortingMagicEngine(isAbortingMagicEngine) { this._isAbortingMagicEngine = isAbortingMagicEngine; }
4763
+ constructor() {
4764
+ this._httpCommunicationTimeoutMS = HttpManager.DEFAULT_HTTP_COMMUNICATION_TIMEOUT;
4765
+ this._httpClientAsync = null;
4766
+ this._isAbortingMagicEngine = false;
4767
+ this._httpClientAsync = new HttpClientAsync(HttpManager._nativeHttpClient);
4768
+ this.RegisterBasicDelegates();
4769
+ }
4670
4770
  RegisterBasicDelegates() {
4671
4771
  HttpClientEvents.GetHttpCommunicationTimeout_Event = this.GetHttpCommunicationTimeoutMS.bind(this);
4672
4772
  }
@@ -5224,6 +5324,12 @@ var RequestStatus;
5224
5324
  RequestStatus[RequestStatus["Abort"] = 2] = "Abort";
5225
5325
  })(RequestStatus || (RequestStatus = {}));
5226
5326
  class RemoteCommandsProcessor extends CommandsProcessorBase {
5327
+ static GetInstance() {
5328
+ if (RemoteCommandsProcessor._instance === null) {
5329
+ RemoteCommandsProcessor._instance = new RemoteCommandsProcessor();
5330
+ }
5331
+ return RemoteCommandsProcessor._instance;
5332
+ }
5227
5333
  constructor() {
5228
5334
  super();
5229
5335
  this._lastRequestTime = 0;
@@ -5234,12 +5340,6 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
5234
5340
  HttpManager.GetInstance();
5235
5341
  this.RegisterDelegates();
5236
5342
  }
5237
- static GetInstance() {
5238
- if (RemoteCommandsProcessor._instance === null) {
5239
- RemoteCommandsProcessor._instance = new RemoteCommandsProcessor();
5240
- }
5241
- return RemoteCommandsProcessor._instance;
5242
- }
5243
5343
  CheckAndSetSessionCounter(newSessionCounter) {
5244
5344
  if (newSessionCounter === ConstInterface.SESSION_COUNTER_CLOSE_CTX_INDICATION) {
5245
5345
  Debug.Assert(this.GetSessionCounter() === ConstInterface.SESSION_COUNTER_CLOSE_CTX_INDICATION);
@@ -5275,10 +5375,12 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
5275
5375
  return __awaiter(this, void 0, void 0, function* () {
5276
5376
  let mainPrgViewStringForServer = yield this.BuildXMLForMainProgramDataView();
5277
5377
  let globalParamsString = AccessHelper.globalParams.mirrorAllToXML();
5378
+ let changedEnvVarList = AccessHelper.envParamsTable.mirrorAllToXML();
5278
5379
  let dataStorage = window.localStorage;
5279
5380
  dataStorage.setItem(ConstInterface.IS_SESSION_REINITIALIZING, "true");
5280
5381
  dataStorage.setItem(ConstInterface.MAIN_PROG_VIEW, mainPrgViewStringForServer.toString());
5281
5382
  dataStorage.setItem(ConstInterface.GLOBAL_PARAM_LIST, globalParamsString);
5383
+ dataStorage.setItem(ConstInterface.ENV_VAR_LIST, changedEnvVarList);
5282
5384
  dataStorage.setItem(ConstInterface.LAST_EXCEPTION, RemoteCommandsProcessor.lastExceptionMessage);
5283
5385
  if (RuntimeContextBase.Instance.RemovedContextFromServer)
5284
5386
  dataStorage.setItem(ConstInterface.CTX_REMOVED_FROM_SRVR, "1");
@@ -5515,6 +5617,7 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
5515
5617
  let reqBuf;
5516
5618
  let isInitialCall = sessionStage === CommandsProcessorBase_SessionStage.INITIAL;
5517
5619
  let globalParamsString = null;
5620
+ let envVarsString = null;
5518
5621
  if (this.DelayCommandExecution)
5519
5622
  return;
5520
5623
  if (Logger.Instance.LogLevel == Logger_LogLevels.RequestInfo && !isInitialCall)
@@ -5540,12 +5643,16 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
5540
5643
  let buffer = new StringBuilder();
5541
5644
  if (!RemoteCommandsProcessor.IsSessionReInitializing)
5542
5645
  buffer.Append(reqBuf);
5543
- if (RemoteCommandsProcessor.IsSessionReInitializing)
5646
+ if (RemoteCommandsProcessor.IsSessionReInitializing) {
5544
5647
  globalParamsString = this.RestoreSessionReInitializingDataFromLocalStorage(ConstInterface.GLOBAL_PARAM_LIST);
5545
- else
5648
+ envVarsString = this.RestoreSessionReInitializingDataFromLocalStorage(ConstInterface.ENV_VAR_LIST);
5649
+ }
5650
+ else {
5546
5651
  globalParamsString = AccessHelper.globalParams.mirrorToXML();
5652
+ envVarsString = AccessHelper.envParamsTable.mirrorToXML();
5653
+ }
5547
5654
  changes.Append(globalParamsString);
5548
- changes.Append(AccessHelper.envParamsTable.mirrorToXML());
5655
+ changes.Append(envVarsString);
5549
5656
  if (changes.Length > 0) {
5550
5657
  changes.Insert(0, "<" + ConstInterface.MG_TAG_ENV_CHANGES + ">");
5551
5658
  changes.Append("</" + ConstInterface.MG_TAG_ENV_CHANGES + ">");
@@ -5584,13 +5691,15 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
5584
5691
  dataStorage.removeItem(ConstInterface.IS_SESSION_REINITIALIZING);
5585
5692
  dataStorage.removeItem(ConstInterface.MAIN_PROG_VIEW);
5586
5693
  dataStorage.removeItem(ConstInterface.GLOBAL_PARAM_LIST);
5694
+ dataStorage.removeItem(ConstInterface.ENV_VAR_LIST);
5587
5695
  dataStorage.removeItem(ConstInterface.LAST_EXCEPTION);
5588
5696
  }
5589
5697
  }
5590
5698
  FlowMonitorQueue.Instance.enable(false);
5591
5699
  yield this.ProcessResponse(respBuf, AccessHelper.mgDataTable.currMgdID, null, res);
5592
5700
  if (RemoteCommandsProcessor.IsSessionReInitializing) {
5593
- AccessHelper.globalParams.RestoreGlobalParams(globalParamsString);
5701
+ AccessHelper.globalParams.RestoreParams(globalParamsString);
5702
+ AccessHelper.envParamsTable.RestoreParams(envVarsString);
5594
5703
  let dataStorage = window.localStorage;
5595
5704
  let ctxRemoved = dataStorage.getItem(ConstInterface.CTX_REMOVED_FROM_SRVR);
5596
5705
  if (ctxRemoved === "1") {
@@ -5688,12 +5797,23 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
5688
5797
  }
5689
5798
  }
5690
5799
  }
5691
- window.localStorage.clear();
5800
+ this.clearLocalStorage();
5692
5801
  throw ex;
5693
5802
  }
5694
5803
  return response;
5695
5804
  });
5696
5805
  }
5806
+ clearLocalStorage() {
5807
+ window.localStorage.removeItem(ConstInterface.LAST_ROUTE_EVENT);
5808
+ window.localStorage.removeItem(ConstInterface.LAST_ROUTE_EVENT_SRC_TSK);
5809
+ window.localStorage.removeItem(ConstInterface.LAST_ROUTE_EVENT_ARG_LIST);
5810
+ window.localStorage.removeItem(ConstInterface.IS_SESSION_REINITIALIZING);
5811
+ window.localStorage.removeItem(ConstInterface.MAIN_PROG_VIEW);
5812
+ window.localStorage.removeItem(ConstInterface.GLOBAL_PARAM_LIST);
5813
+ window.localStorage.removeItem(ConstInterface.ENV_VAR_LIST);
5814
+ window.localStorage.removeItem(ConstInterface.LAST_EXCEPTION);
5815
+ window.localStorage.removeItem(ConstInterface.CTX_REMOVED_FROM_SRVR);
5816
+ }
5697
5817
  HandleErrorResponse(response) {
5698
5818
  try {
5699
5819
  Logger.Instance.WriteServerMessagesToLog("MESSAGE FROM SERVER: " + response);
@@ -5907,21 +6027,6 @@ RemoteCommandsProcessor.InitialUrl = null;
5907
6027
  RemoteCommandsProcessor.WEB_COMMUNICATION_PROTOCOL_VERSION = "14002";
5908
6028
  RemoteCommandsProcessor._shouldScrambleAndUnscrambleMessages = false;
5909
6029
  class HandshakeResponse {
5910
- constructor(responseXML) {
5911
- this._scrambleMessages = true;
5912
- this._contextId = null;
5913
- this._privateSessionId = null;
5914
- this._inputPassword = false;
5915
- this._httpTimeout = 0;
5916
- this._systemLogin = null;
5917
- this._maxInternalLogLevel = null;
5918
- try {
5919
- JSON_Utils.JSONFromXML(responseXML, this.FillFromJSON.bind(this));
5920
- }
5921
- catch (ex) {
5922
- Logger.Instance.WriteExceptionToLog(ex, responseXML);
5923
- }
5924
- }
5925
6030
  get ScrambleMessages() {
5926
6031
  return this._scrambleMessages;
5927
6032
  }
@@ -5943,6 +6048,21 @@ class HandshakeResponse {
5943
6048
  get MaxInternalLogLevel() {
5944
6049
  return this._maxInternalLogLevel;
5945
6050
  }
6051
+ constructor(responseXML) {
6052
+ this._scrambleMessages = true;
6053
+ this._contextId = null;
6054
+ this._privateSessionId = null;
6055
+ this._inputPassword = false;
6056
+ this._httpTimeout = 0;
6057
+ this._systemLogin = null;
6058
+ this._maxInternalLogLevel = null;
6059
+ try {
6060
+ JSON_Utils.JSONFromXML(responseXML, this.FillFromJSON.bind(this));
6061
+ }
6062
+ catch (ex) {
6063
+ Logger.Instance.WriteExceptionToLog(ex, responseXML);
6064
+ }
6065
+ }
5946
6066
  FillFromJSON(error, result) {
5947
6067
  if (error != null) {
5948
6068
  throw error;
@@ -6919,7 +7039,7 @@ ExpressionDict.expDesc = [
6919
7039
  null,
6920
7040
  new ExpDesc('N', 0, 0, 0, "", false),
6921
7041
  null,
6922
- new ExpDesc('B', 0, 2, 2, "BN", false),
7042
+ null,
6923
7043
  new ExpDesc('B', 0, 2, 2, "V ", false),
6924
7044
  null,
6925
7045
  null,
@@ -7368,12 +7488,12 @@ ExpressionDict.expDesc = [
7368
7488
  null,
7369
7489
  new ExpDesc('A', 0, 1, 1, "A", false),
7370
7490
  new ExpDesc('N', 0, 2, 2, "AA", false),
7371
- new ExpDesc('B', 0, -2, -2, "V ", false),
7372
- new ExpDesc('B', 0, 1, 1, "N", false),
7373
- new ExpDesc('B', 0, -2, -2, "V ", false),
7374
- new ExpDesc('B', 0, 1, 1, "N", false),
7375
- new ExpDesc('B', 0, 2, 2, "VB", false),
7376
- new ExpDesc('B', 0, 1, 1, "N", false),
7491
+ null,
7492
+ null,
7493
+ null,
7494
+ null,
7495
+ null,
7496
+ null,
7377
7497
  new ExpDesc('N', 0, 1, 1, "N", false),
7378
7498
  null,
7379
7499
  null,
@@ -7460,48 +7580,6 @@ ExpressionDict.expDesc = [
7460
7580
  new ExpDesc('U', 0, 0, 0, '', false),
7461
7581
  ];
7462
7582
 
7463
- var DataViewCommandType;
7464
- (function (DataViewCommandType) {
7465
- DataViewCommandType[DataViewCommandType["Init"] = 0] = "Init";
7466
- DataViewCommandType[DataViewCommandType["Clear"] = 1] = "Clear";
7467
- DataViewCommandType[DataViewCommandType["Prepare"] = 2] = "Prepare";
7468
- DataViewCommandType[DataViewCommandType["FirstChunk"] = 3] = "FirstChunk";
7469
- DataViewCommandType[DataViewCommandType["RecomputeUnit"] = 4] = "RecomputeUnit";
7470
- DataViewCommandType[DataViewCommandType["ExecuteLocalUpdates"] = 5] = "ExecuteLocalUpdates";
7471
- DataViewCommandType[DataViewCommandType["InitDataControlViews"] = 6] = "InitDataControlViews";
7472
- DataViewCommandType[DataViewCommandType["OpenTransaction"] = 7] = "OpenTransaction";
7473
- DataViewCommandType[DataViewCommandType["CloseTransaction"] = 8] = "CloseTransaction";
7474
- DataViewCommandType[DataViewCommandType["SetTransactionState"] = 9] = "SetTransactionState";
7475
- DataViewCommandType[DataViewCommandType["AddUserRange"] = 10] = "AddUserRange";
7476
- DataViewCommandType[DataViewCommandType["ResetUserRange"] = 11] = "ResetUserRange";
7477
- DataViewCommandType[DataViewCommandType["DbDisconnect"] = 12] = "DbDisconnect";
7478
- DataViewCommandType[DataViewCommandType["AddUserLocate"] = 13] = "AddUserLocate";
7479
- DataViewCommandType[DataViewCommandType["ResetUserLocate"] = 14] = "ResetUserLocate";
7480
- DataViewCommandType[DataViewCommandType["AddUserSort"] = 15] = "AddUserSort";
7481
- DataViewCommandType[DataViewCommandType["ResetUserSort"] = 16] = "ResetUserSort";
7482
- DataViewCommandType[DataViewCommandType["DataViewToDataSource"] = 17] = "DataViewToDataSource";
7483
- DataViewCommandType[DataViewCommandType["DbDelete"] = 18] = "DbDelete";
7484
- DataViewCommandType[DataViewCommandType["ControlItemsRefresh"] = 19] = "ControlItemsRefresh";
7485
- DataViewCommandType[DataViewCommandType["SQLExecute"] = 20] = "SQLExecute";
7486
- })(DataViewCommandType || (DataViewCommandType = {}));
7487
- class DataviewCommand extends ClientOriginatedCommandTaskTag {
7488
- constructor() {
7489
- super();
7490
- this.CommandType = 0;
7491
- this.TaskTag = null;
7492
- }
7493
- get CommandTypeAttribute() {
7494
- throw new NotImplementedException();
7495
- }
7496
- SerializeCommandData() {
7497
- Debug.Assert(false, "Dataview commands need not be serialized");
7498
- return null;
7499
- }
7500
- get ShouldSerialize() {
7501
- return false;
7502
- }
7503
- }
7504
-
7505
7583
  class EventHandlerPosition {
7506
7584
  constructor() {
7507
7585
  this._handlerIdx = 0;
@@ -7558,6 +7636,9 @@ class EventHandlerPosition {
7558
7636
  case InternalInterface.MG_ACT_REC_SUFFIX:
7559
7637
  case InternalInterface.MG_ACT_CTRL_PREFIX:
7560
7638
  case InternalInterface.MG_ACT_CTRL_SUFFIX: {
7639
+ if (this._rtEvt.getInternalCode() == InternalInterface.MG_ACT_REC_PREFIX) {
7640
+ FlowMonitorQueue.Instance.addDataViewFlow(this._task);
7641
+ }
7561
7642
  if (this._handlerIdx === -1) {
7562
7643
  for (this._handlerIdx = this._handlersTab.getSize() - 1; this._handlerIdx >= 0; this._handlerIdx--) {
7563
7644
  let handler = this._handlersTab.getHandler(this._handlerIdx);
@@ -7698,6 +7779,48 @@ EventHandlerPosition.PHASE_CONTROL_NON_SPECIFIC = 2;
7698
7779
  EventHandlerPosition.PHASE_GLOBAL = 3;
7699
7780
  EventHandlerPosition.PHASE_GLOBAL_SPECIFIC = 4;
7700
7781
 
7782
+ var DataViewCommandType;
7783
+ (function (DataViewCommandType) {
7784
+ DataViewCommandType[DataViewCommandType["Init"] = 0] = "Init";
7785
+ DataViewCommandType[DataViewCommandType["Clear"] = 1] = "Clear";
7786
+ DataViewCommandType[DataViewCommandType["Prepare"] = 2] = "Prepare";
7787
+ DataViewCommandType[DataViewCommandType["FirstChunk"] = 3] = "FirstChunk";
7788
+ DataViewCommandType[DataViewCommandType["RecomputeUnit"] = 4] = "RecomputeUnit";
7789
+ DataViewCommandType[DataViewCommandType["ExecuteLocalUpdates"] = 5] = "ExecuteLocalUpdates";
7790
+ DataViewCommandType[DataViewCommandType["InitDataControlViews"] = 6] = "InitDataControlViews";
7791
+ DataViewCommandType[DataViewCommandType["OpenTransaction"] = 7] = "OpenTransaction";
7792
+ DataViewCommandType[DataViewCommandType["CloseTransaction"] = 8] = "CloseTransaction";
7793
+ DataViewCommandType[DataViewCommandType["SetTransactionState"] = 9] = "SetTransactionState";
7794
+ DataViewCommandType[DataViewCommandType["AddUserRange"] = 10] = "AddUserRange";
7795
+ DataViewCommandType[DataViewCommandType["ResetUserRange"] = 11] = "ResetUserRange";
7796
+ DataViewCommandType[DataViewCommandType["DbDisconnect"] = 12] = "DbDisconnect";
7797
+ DataViewCommandType[DataViewCommandType["AddUserLocate"] = 13] = "AddUserLocate";
7798
+ DataViewCommandType[DataViewCommandType["ResetUserLocate"] = 14] = "ResetUserLocate";
7799
+ DataViewCommandType[DataViewCommandType["AddUserSort"] = 15] = "AddUserSort";
7800
+ DataViewCommandType[DataViewCommandType["ResetUserSort"] = 16] = "ResetUserSort";
7801
+ DataViewCommandType[DataViewCommandType["DataViewToDataSource"] = 17] = "DataViewToDataSource";
7802
+ DataViewCommandType[DataViewCommandType["DbDelete"] = 18] = "DbDelete";
7803
+ DataViewCommandType[DataViewCommandType["ControlItemsRefresh"] = 19] = "ControlItemsRefresh";
7804
+ DataViewCommandType[DataViewCommandType["SQLExecute"] = 20] = "SQLExecute";
7805
+ })(DataViewCommandType || (DataViewCommandType = {}));
7806
+ class DataviewCommand extends ClientOriginatedCommandTaskTag {
7807
+ get CommandTypeAttribute() {
7808
+ throw new NotImplementedException();
7809
+ }
7810
+ SerializeCommandData() {
7811
+ Debug.Assert(false, "Dataview commands need not be serialized");
7812
+ return null;
7813
+ }
7814
+ get ShouldSerialize() {
7815
+ return false;
7816
+ }
7817
+ constructor() {
7818
+ super();
7819
+ this.CommandType = 0;
7820
+ this.TaskTag = null;
7821
+ }
7822
+ }
7823
+
7701
7824
  class AddUserRangeDataviewCommand extends DataviewCommand {
7702
7825
  constructor() {
7703
7826
  super();
@@ -7917,12 +8040,6 @@ class NonReversibleExitEventCommand extends EventCommand {
7917
8040
  }
7918
8041
 
7919
8042
  class RecomputeCommand extends ClientOriginatedCommandTaskTag {
7920
- constructor() {
7921
- super();
7922
- this.TaskTag = null;
7923
- this.FldId = 0;
7924
- this.IgnoreSubformRecompute = false;
7925
- }
7926
8043
  get CommandTypeAttribute() {
7927
8044
  return ConstInterface.MG_ATTR_VAL_RECOMP;
7928
8045
  }
@@ -7934,17 +8051,18 @@ class RecomputeCommand extends ClientOriginatedCommandTaskTag {
7934
8051
  helper.SerializeAttribute(ConstInterface.MG_ATTR_IGNORE_SUBFORM_RECOMPUTE, '1');
7935
8052
  return helper.GetString();
7936
8053
  }
8054
+ constructor() {
8055
+ super();
8056
+ this.TaskTag = null;
8057
+ this.FldId = 0;
8058
+ this.IgnoreSubformRecompute = false;
8059
+ }
7937
8060
  getCommandInfo() {
7938
8061
  return NString.Format('[{0} in {1} for Field {2}]', this.CommandTypeAttribute.charAt(0).toUpperCase() + this.CommandTypeAttribute.substr(1, this.CommandTypeAttribute.length), this.Task.getTaskInfo(), this.Task.getFieldDef(this.FldId).getName());
7939
8062
  }
7940
8063
  }
7941
8064
 
7942
8065
  class TransactionCommand extends ClientOriginatedCommandTaskTag {
7943
- constructor() {
7944
- super();
7945
- this.TaskTag = null;
7946
- this.ReversibleExit = false;
7947
- }
7948
8066
  get CommandTypeAttribute() {
7949
8067
  return ConstInterface.MG_ATTR_VAL_TRANS;
7950
8068
  }
@@ -7958,6 +8076,11 @@ class TransactionCommand extends ClientOriginatedCommandTaskTag {
7958
8076
  helper.SerializeAttribute(ConstInterface.MG_ATTR_TRANS_LEVEL, this.Level);
7959
8077
  return helper.GetString();
7960
8078
  }
8079
+ constructor() {
8080
+ super();
8081
+ this.TaskTag = null;
8082
+ this.ReversibleExit = false;
8083
+ }
7961
8084
  getCommandInfo() {
7962
8085
  return NString.Format('[{0} in {1}]', this.Oper === 'C' ? 'Commit Transaction' : 'Abort Transaction', this.Task.getTaskInfo());
7963
8086
  }
@@ -7976,6 +8099,9 @@ class UnloadCommand extends ClientOriginatedCommand {
7976
8099
  }
7977
8100
 
7978
8101
  class EvaluateCommand extends ClientOriginatedCommandTaskTag {
8102
+ get CommandTypeAttribute() {
8103
+ return ConstInterface.MG_ATTR_VAL_EVAL;
8104
+ }
7979
8105
  constructor() {
7980
8106
  super();
7981
8107
  this.TaskTag = null;
@@ -7984,9 +8110,6 @@ class EvaluateCommand extends ClientOriginatedCommandTaskTag {
7984
8110
  this.MprgCreator = null;
7985
8111
  this.LengthExpVal = Int32.MinValue;
7986
8112
  }
7987
- get CommandTypeAttribute() {
7988
- return ConstInterface.MG_ATTR_VAL_EVAL;
7989
- }
7990
8113
  SerializeCommandData() {
7991
8114
  let helper = new CommandSerializationHelper();
7992
8115
  helper.SerializeTaskTag(this.TaskTag);
@@ -8034,10 +8157,6 @@ class GlobalParamsQueryCommand extends QueryCommand {
8034
8157
  }
8035
8158
 
8036
8159
  class IniputForceWriteCommand extends ClientOriginatedCommand {
8037
- constructor() {
8038
- super();
8039
- this.Text = null;
8040
- }
8041
8160
  get CommandTypeAttribute() {
8042
8161
  return ConstInterface.MG_ATTR_VAL_INIPUT_FORCE_WRITE;
8043
8162
  }
@@ -8047,6 +8166,10 @@ class IniputForceWriteCommand extends ClientOriginatedCommand {
8047
8166
  SerializeCommandData() {
8048
8167
  return " " + ConstInterface.MG_ATTR_VAL_INIPUT_PARAM + "=\"" + XmlParser.escape(this.Text) + "\"";
8049
8168
  }
8169
+ constructor() {
8170
+ super();
8171
+ this.Text = null;
8172
+ }
8050
8173
  getCommandInfo() {
8051
8174
  return NString.Format('[{0} with {1}] ', this.CommandTypeAttribute, this.Text);
8052
8175
  }
@@ -8096,6 +8219,13 @@ class SelectProgramCommand extends ExecOperCommand {
8096
8219
  }
8097
8220
  }
8098
8221
 
8222
+ class ControlItemsRefreshCommand extends DataviewCommand {
8223
+ constructor() {
8224
+ super();
8225
+ this.Control = null;
8226
+ }
8227
+ }
8228
+
8099
8229
  class CommandFactory {
8100
8230
  static CreateEventCommand(taskTag, magicEvent) {
8101
8231
  let eventCommand = new EventCommand(magicEvent);
@@ -8114,6 +8244,13 @@ class CommandFactory {
8114
8244
  dataviewCommand.TaskTag = taskId;
8115
8245
  return dataviewCommand;
8116
8246
  }
8247
+ static CreateControlItemsRefreshCommand(taskId, control) {
8248
+ let command = new ControlItemsRefreshCommand();
8249
+ command.CommandType = DataViewCommandType.ControlItemsRefresh;
8250
+ command.TaskTag = taskId;
8251
+ command.Control = control;
8252
+ return command;
8253
+ }
8117
8254
  static CreateAddUserRangeDataviewCommand(taskId, userRange) {
8118
8255
  let addUserRangeDataviewCommand = new AddUserRangeDataviewCommand();
8119
8256
  addUserRangeDataviewCommand.TaskTag = taskId;
@@ -8323,13 +8460,6 @@ class CommandFactory {
8323
8460
  }
8324
8461
  }
8325
8462
 
8326
- class Sort {
8327
- constructor() {
8328
- this.fldIdx = 0;
8329
- this.dir = false;
8330
- }
8331
- }
8332
-
8333
8463
  var ParamParseResult;
8334
8464
  (function (ParamParseResult) {
8335
8465
  ParamParseResult[ParamParseResult["OK"] = 0] = "OK";
@@ -8339,10 +8469,6 @@ var ParamParseResult;
8339
8469
  })(ParamParseResult || (ParamParseResult = {}));
8340
8470
 
8341
8471
  class PrmMap {
8342
- constructor() {
8343
- this.values = null;
8344
- this.values = new Dictionary();
8345
- }
8346
8472
  getvalue(s) {
8347
8473
  if (this.values.ContainsKey(s))
8348
8474
  return this.values.get_Item(s);
@@ -8355,6 +8481,10 @@ class PrmMap {
8355
8481
  remove(s) {
8356
8482
  this.values.Remove(s);
8357
8483
  }
8484
+ constructor() {
8485
+ this.values = null;
8486
+ this.values = new Dictionary();
8487
+ }
8358
8488
  }
8359
8489
  class MirrorPrmMap extends PrmMap {
8360
8490
  constructor(type) {
@@ -8435,7 +8565,7 @@ class MirrorPrmMap extends PrmMap {
8435
8565
  while (this.mirrorFromXML(parser.getNextTag(), parser)) {
8436
8566
  }
8437
8567
  }
8438
- RestoreGlobalParams(xml) {
8568
+ RestoreParams(xml) {
8439
8569
  let parser = new XmlParser(xml);
8440
8570
  while (this.mirrorFromXML(parser.getNextTag(), parser)) {
8441
8571
  }
@@ -8510,6 +8640,7 @@ class Environment {
8510
8640
  this._debugMode = 0;
8511
8641
  this._significantNumSize = 0;
8512
8642
  this._specialAnsiExpression = false;
8643
+ this._specialImmediatehandlerEnd = false;
8513
8644
  this._specialShowStatusBarPanes = false;
8514
8645
  this._specialRouteToRootProgOnContextRecreation = false;
8515
8646
  this._specialCancelOnCreate = false;
@@ -8663,6 +8794,9 @@ class Environment {
8663
8794
  case ConstInterface.MG_ATTR_LOCAL_FLAGS:
8664
8795
  this._localFlags = valueStr;
8665
8796
  break;
8797
+ case ConstInterface.MG_ATTR_SPECIAL_IMMEDIATE_HANDLER_END:
8798
+ this._specialImmediatehandlerEnd = XmlParser.getBoolean(valueStr);
8799
+ break;
8666
8800
  case ConstInterface.MG_ATTR_SPEACIAL_ANSI_EXP:
8667
8801
  this._specialAnsiExpression = XmlParser.getBoolean(valueStr);
8668
8802
  break;
@@ -8869,6 +9003,9 @@ class Environment {
8869
9003
  GetLocalFlag(f) {
8870
9004
  return this._localFlags !== null && this._localFlags.indexOf(f) >= 0;
8871
9005
  }
9006
+ getSpecialImmediateHandlerEnd() {
9007
+ return this._specialImmediatehandlerEnd;
9008
+ }
8872
9009
  getSpecialAnsiExpression() {
8873
9010
  return this._specialAnsiExpression;
8874
9011
  }
@@ -8938,6 +9075,12 @@ class Environment {
8938
9075
  }
8939
9076
  Environment.Instance = new Environment();
8940
9077
  class EnvironmentDetails {
9078
+ set UpdateInQueryMode(value) {
9079
+ this._updateInQueryMode = value;
9080
+ }
9081
+ set CreateInModifyMode(value) {
9082
+ this._createInModifyMode = value;
9083
+ }
8941
9084
  constructor() {
8942
9085
  this._createInModifyMode = false;
8943
9086
  this._updateInQueryMode = false;
@@ -8948,12 +9091,6 @@ class EnvironmentDetails {
8948
9091
  this.ProjDir = null;
8949
9092
  this.CompIdx = 0;
8950
9093
  }
8951
- set UpdateInQueryMode(value) {
8952
- this._updateInQueryMode = value;
8953
- }
8954
- set CreateInModifyMode(value) {
8955
- this._createInModifyMode = value;
8956
- }
8957
9094
  allowUpdateInQueryMode() {
8958
9095
  return this._updateInQueryMode;
8959
9096
  }
@@ -9041,17 +9178,6 @@ class GlobalParams extends MirrorPrmMap {
9041
9178
  GlobalParams.Instance = new GlobalParams();
9042
9179
 
9043
9180
  class UserDetails {
9044
- constructor() {
9045
- this.UserName = null;
9046
- this.UserID = null;
9047
- this.UserInfo = null;
9048
- this.Password = null;
9049
- this.IsLoggedIn = false;
9050
- this.UserName = NString.Empty;
9051
- this.UserInfo = NString.Empty;
9052
- this.IsLoggedIn = false;
9053
- this.setUserID(NString.Empty);
9054
- }
9055
9181
  setIsLoggedIn(value) {
9056
9182
  this.IsLoggedIn = value;
9057
9183
  }
@@ -9071,6 +9197,17 @@ class UserDetails {
9071
9197
  UserDetails._instance = new UserDetails();
9072
9198
  return UserDetails._instance;
9073
9199
  }
9200
+ constructor() {
9201
+ this.UserName = null;
9202
+ this.UserID = null;
9203
+ this.UserInfo = null;
9204
+ this.Password = null;
9205
+ this.IsLoggedIn = false;
9206
+ this.UserName = NString.Empty;
9207
+ this.UserInfo = NString.Empty;
9208
+ this.IsLoggedIn = false;
9209
+ this.setUserID(NString.Empty);
9210
+ }
9074
9211
  fillData(parser) {
9075
9212
  let tokensVector;
9076
9213
  let endContext = parser.getXMLdata().indexOf(XMLConstants.TAG_TERM, parser.getCurrIndex());
@@ -9907,8 +10044,7 @@ class MirrorString {
9907
10044
  this._reserved = false;
9908
10045
  }
9909
10046
  mirrorToXML() {
9910
- return ConstInterface.MG_ATTR_ENV_VALUE + "=\"" + XmlParser.escape(this._value) + "\" " +
9911
- ConstInterface.MG_ATTR_ENV_WRITEINI + "=F";
10047
+ return ConstInterface.MG_ATTR_ENV_VALUE + "=\"" + XmlParser.escape(this._value) + "\"";
9912
10048
  }
9913
10049
  init(name, xmlParser) {
9914
10050
  let valueStart, valueEnd, reserveStart, paramEnd;
@@ -11091,6 +11227,11 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
11091
11227
  this.eval_op_VarDisplayName(resVal, val1);
11092
11228
  expStrTracker.resetNullResult();
11093
11229
  break;
11230
+ case ExpressionInterface.EXP_OP_CONTROL_ITEMS_REFRESH:
11231
+ val2 = valStack.pop();
11232
+ val1 = valStack.pop();
11233
+ yield this.eval_op_controlItemRefresh(val1, val2, resVal);
11234
+ break;
11094
11235
  case ExpressionInterface.EXP_OP_VARCONTROLID:
11095
11236
  val1 = valStack.pop();
11096
11237
  this.eval_op_VarControlID(resVal, val1);
@@ -11479,11 +11620,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
11479
11620
  val1 = valStack.pop();
11480
11621
  this.eval_op_eoy(resVal, val1);
11481
11622
  break;
11482
- case ExpressionInterface.EXP_OP_ROLLBACK:
11483
- val2 = valStack.pop();
11484
- val1 = valStack.pop();
11485
- yield this.eval_op_rollback(resVal);
11486
- break;
11487
11623
  case ExpressionInterface.EXP_OP_VARSET:
11488
11624
  val2 = valStack.pop();
11489
11625
  val1 = valStack.pop();
@@ -11848,41 +11984,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
11848
11984
  val1 = valStack.pop();
11849
11985
  this.eval_op_taskType(resVal, val1);
11850
11986
  break;
11851
- case ExpressionInterface.EXP_OP_RANGE_ADD:
11852
- nArgs = valStack.pop();
11853
- if (nArgs > 0) {
11854
- Exp_params = new Array(nArgs);
11855
- for (j = 0; j < nArgs; j++)
11856
- Exp_params[nArgs - 1 - j] = valStack.pop();
11857
- yield this.eval_op_range_add(resVal, Exp_params);
11858
- }
11859
- break;
11860
- case ExpressionInterface.EXP_OP_RANGE_RESET:
11861
- val1 = valStack.pop();
11862
- yield this.eval_op_range_reset(resVal, val1);
11863
- break;
11864
- case ExpressionInterface.EXP_OP_LOCATE_ADD:
11865
- nArgs = valStack.pop();
11866
- if (nArgs > 0) {
11867
- Exp_params = new Array(nArgs);
11868
- for (j = 0; j < nArgs; j++)
11869
- Exp_params[nArgs - 1 - j] = valStack.pop();
11870
- yield this.eval_op_locate_add(resVal, Exp_params);
11871
- }
11872
- break;
11873
- case ExpressionInterface.EXP_OP_LOCATE_RESET:
11874
- val1 = valStack.pop();
11875
- yield this.eval_op_locate_reset(resVal, val1);
11876
- break;
11877
- case ExpressionInterface.EXP_OP_SORT_ADD:
11878
- val2 = valStack.pop();
11879
- val1 = valStack.pop();
11880
- yield this.eval_op_sort_add(resVal, val1, val2);
11881
- break;
11882
- case ExpressionInterface.EXP_OP_SORT_RESET:
11883
- val1 = valStack.pop();
11884
- yield this.eval_op_sort_reset(resVal, val1);
11885
- break;
11886
11987
  case ExpressionInterface.EXP_OP_TSK_INSTANCE:
11887
11988
  val1 = valStack.pop();
11888
11989
  this.eval_op_tsk_instance(resVal, val1);
@@ -13235,6 +13336,28 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
13235
13336
  resVal.StrVal = fld.VarDisplayName;
13236
13337
  }
13237
13338
  }
13339
+ eval_op_controlItemRefresh(val1, val2, resVal) {
13340
+ const _super = Object.create(null, {
13341
+ GetContextTask: { get: () => super.GetContextTask }
13342
+ });
13343
+ return __awaiter(this, void 0, void 0, function* () {
13344
+ let success = false;
13345
+ let parent = val2.MgNumVal.NUM_2_LONG();
13346
+ resVal.Attr = StorageAttribute.BOOLEAN;
13347
+ if ((parent >= 0 && parent < (this.ExpTask.getTaskDepth(false))) || parent === ExpressionEvaluator.TRIGGER_TASK) {
13348
+ let tsk = _super.GetContextTask.call(this, parent);
13349
+ if (tsk != null && tsk.getForm() != null) {
13350
+ let control = tsk.getForm().GetCtrl(val1.StrVal);
13351
+ if (control != null && control.isChoiceControl() && control.isDataCtrl()) {
13352
+ let command = CommandFactory.CreateControlItemsRefreshCommand(tsk.getTaskTag(), control);
13353
+ yield tsk.DataviewManager.CurrentDataviewManager.Execute(command);
13354
+ success = true;
13355
+ }
13356
+ }
13357
+ }
13358
+ resVal.BoolVal = success;
13359
+ });
13360
+ }
13238
13361
  eval_op_VarControlID(resVal, val1) {
13239
13362
  let ret = 0;
13240
13363
  if (val1.MgNumVal !== null) {
@@ -13529,14 +13652,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
13529
13652
  yield fld.updateDisplay();
13530
13653
  });
13531
13654
  }
13532
- eval_op_rollback(resVal) {
13533
- return __awaiter(this, void 0, void 0, function* () {
13534
- let task = this.ExpTask.GetContextTask() || this.ExpTask;
13535
- yield AccessHelper.eventsManager.handleInternalEventWithTask(task, InternalInterface.MG_ACT_ROLLBACK);
13536
- resVal.Attr = StorageAttribute.BOOLEAN;
13537
- resVal.BoolVal = true;
13538
- });
13539
- }
13540
13655
  eval_op_like(source, maskOrg, resVal) {
13541
13656
  let i;
13542
13657
  let j;
@@ -14097,75 +14212,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
14097
14212
  resultStr.Replace('\\@', '@');
14098
14213
  resVal.StrVal = resultStr.ToString();
14099
14214
  }
14100
- eval_op_range_add(resVal, Exp_params) {
14101
- return __awaiter(this, void 0, void 0, function* () {
14102
- resVal.Attr = StorageAttribute.BOOLEAN;
14103
- resVal.BoolVal = yield this.add_rt_ranges(Exp_params, false);
14104
- });
14105
- }
14106
- eval_op_range_reset(resVal, parent) {
14107
- const _super = Object.create(null, {
14108
- GetContextTask: { get: () => super.GetContextTask }
14109
- });
14110
- return __awaiter(this, void 0, void 0, function* () {
14111
- resVal.Attr = StorageAttribute.BOOLEAN;
14112
- let iParent = parent.MgNumVal.NUM_2_LONG();
14113
- if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
14114
- let task = _super.GetContextTask.call(this, iParent);
14115
- if (task !== null) {
14116
- let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserRange);
14117
- yield task.DataviewManager.Execute(command);
14118
- resVal.BoolVal = true;
14119
- }
14120
- }
14121
- });
14122
- }
14123
- eval_op_locate_add(resVal, Exp_params) {
14124
- return __awaiter(this, void 0, void 0, function* () {
14125
- resVal.Attr = StorageAttribute.BOOLEAN;
14126
- resVal.BoolVal = yield this.add_rt_ranges(Exp_params, true);
14127
- });
14128
- }
14129
- eval_op_locate_reset(resVal, parent) {
14130
- const _super = Object.create(null, {
14131
- GetContextTask: { get: () => super.GetContextTask }
14132
- });
14133
- return __awaiter(this, void 0, void 0, function* () {
14134
- resVal.Attr = StorageAttribute.BOOLEAN;
14135
- let iParent = parent.MgNumVal.NUM_2_LONG();
14136
- if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
14137
- let task = _super.GetContextTask.call(this, iParent);
14138
- if (task !== null) {
14139
- let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserLocate);
14140
- yield task.DataviewManager.Execute(command);
14141
- resVal.BoolVal = true;
14142
- }
14143
- }
14144
- });
14145
- }
14146
- eval_op_sort_add(resVal, varnum, dir) {
14147
- return __awaiter(this, void 0, void 0, function* () {
14148
- resVal.Attr = StorageAttribute.BOOLEAN;
14149
- resVal.BoolVal = yield this.add_sort(varnum, dir);
14150
- });
14151
- }
14152
- eval_op_sort_reset(resVal, parent) {
14153
- const _super = Object.create(null, {
14154
- GetContextTask: { get: () => super.GetContextTask }
14155
- });
14156
- return __awaiter(this, void 0, void 0, function* () {
14157
- resVal.Attr = StorageAttribute.BOOLEAN;
14158
- let iParent = parent.MgNumVal.NUM_2_LONG();
14159
- if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
14160
- let task = _super.GetContextTask.call(this, iParent);
14161
- if (task !== null) {
14162
- let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserSort);
14163
- yield task.DataviewManager.Execute(command);
14164
- resVal.BoolVal = true;
14165
- }
14166
- }
14167
- });
14168
- }
14169
14215
  eval_op_tsk_instance(resVal, Parent) {
14170
14216
  let tag = 0;
14171
14217
  let iParent = Parent.MgNumVal.NUM_2_LONG();
@@ -14179,88 +14225,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
14179
14225
  resVal.MgNumVal = new NUM_TYPE();
14180
14226
  resVal.MgNumVal.NUM_4_LONG(tag);
14181
14227
  }
14182
- add_sort(varnum, dir) {
14183
- return __awaiter(this, void 0, void 0, function* () {
14184
- if (varnum.MgNumVal === null)
14185
- return false;
14186
- let itm = varnum.MgNumVal.NUM_2_LONG();
14187
- if (itm === 0)
14188
- return false;
14189
- let fld = this.GetFieldOfContextTask(itm);
14190
- if (fld === null)
14191
- return false;
14192
- let task = fld.getTask();
14193
- let vee_idx = fld.getId() + 1;
14194
- let expr_64 = new Sort();
14195
- expr_64.fldIdx = vee_idx;
14196
- expr_64.dir = dir.BoolVal;
14197
- let sort = expr_64;
14198
- let command = CommandFactory.CreateAddUserSortDataviewCommand(task.getTaskTag(), sort);
14199
- yield task.DataviewManager.Execute(command);
14200
- return true;
14201
- });
14202
- }
14203
- add_rt_ranges(Exp_params, locate) {
14204
- return __awaiter(this, void 0, void 0, function* () {
14205
- let varnum = Exp_params[0];
14206
- let min = Exp_params[1];
14207
- if (varnum.MgNumVal === null)
14208
- return false;
14209
- let itm = varnum.MgNumVal.NUM_2_LONG();
14210
- if (itm === 0)
14211
- return false;
14212
- let fld = this.GetFieldOfContextTask(itm);
14213
- if (fld === null)
14214
- return false;
14215
- let task = fld.getTask();
14216
- let vee_idx = fld.getId() + 1;
14217
- let expr_78 = new UserRange();
14218
- expr_78.veeIdx = vee_idx;
14219
- let rng = expr_78;
14220
- if (min.IsNull)
14221
- rng.nullMin = true;
14222
- if (!rng.nullMin && (min.Attr === StorageAttribute.ALPHA || min.Attr === StorageAttribute.UNICODE) && min.StrVal.length === 0)
14223
- rng.discardMin = true;
14224
- else {
14225
- if (!rng.nullMin) {
14226
- if (!StorageAttributeCheck.isTheSameType(fld.getType(), min.Attr))
14227
- return false;
14228
- if (StorageAttributeCheck.StorageFldAlphaUnicodeOrBlob(fld.getType(), min.Attr))
14229
- this.ConvertExpVal(min, fld.getType());
14230
- rng.min = min.ToMgVal();
14231
- }
14232
- }
14233
- if (Exp_params.length === 3) {
14234
- let max = Exp_params[2];
14235
- if (max.IsNull)
14236
- rng.nullMax = true;
14237
- if (!rng.nullMax && (max.Attr === StorageAttribute.ALPHA || max.Attr === StorageAttribute.UNICODE) && max.StrVal.length === 0)
14238
- rng.discardMax = true;
14239
- else {
14240
- if (!rng.nullMax) {
14241
- if (!StorageAttributeCheck.isTheSameType(fld.getType(), max.Attr))
14242
- return false;
14243
- if (StorageAttributeCheck.StorageFldAlphaUnicodeOrBlob(fld.getType(), max.Attr))
14244
- this.ConvertExpVal(max, fld.getType());
14245
- rng.max = max.ToMgVal();
14246
- }
14247
- }
14248
- }
14249
- else
14250
- rng.discardMax = true;
14251
- if (!rng.discardMin || !rng.discardMax) {
14252
- if (locate) {
14253
- let command = CommandFactory.CreateAddUserLocateDataviewCommand(task.getTaskTag(), rng);
14254
- yield task.DataviewManager.Execute(command);
14255
- }
14256
- else {
14257
- let command2 = CommandFactory.CreateAddUserRangeDataviewCommand(task.getTaskTag(), rng);
14258
- yield task.DataviewManager.Execute(command2);
14259
- }
14260
- }
14261
- return true;
14262
- });
14263
- }
14264
14228
  eval_op_getParam(resVal, name) {
14265
14229
  Debug.Assert(!name.IsNull && name.StrVal !== null);
14266
14230
  let expVal = GlobalParams.Instance.get(name.StrVal);
@@ -14784,6 +14748,12 @@ class DataViewBase extends GuiDataViewBase {
14784
14748
  }
14785
14749
 
14786
14750
  class Record {
14751
+ get InCompute() {
14752
+ return this._inCompute;
14753
+ }
14754
+ get InRecompute() {
14755
+ return this._inRecompute;
14756
+ }
14787
14757
  constructor(dvOrTableCacheOrCIdOrRecord, dataview) {
14788
14758
  this._id = Int32.MinValue;
14789
14759
  this.dbViewRowIdx = 0;
@@ -14801,12 +14771,6 @@ class Record {
14801
14771
  else
14802
14772
  this.constructor_1(dvOrTableCacheOrCIdOrRecord, dataview);
14803
14773
  }
14804
- get InCompute() {
14805
- return this._inCompute;
14806
- }
14807
- get InRecompute() {
14808
- return this._inRecompute;
14809
- }
14810
14774
  constructor_0(dvOrTableCache) {
14811
14775
  if (dvOrTableCache instanceof DataViewBase)
14812
14776
  this._dataview = dvOrTableCache;
@@ -15602,14 +15566,14 @@ Record.FLAG_MODIFIED_ATLEAST_ONCE = (0x40);
15602
15566
  Record.INCREASE = true;
15603
15567
  Record.DECREASE = false;
15604
15568
  class DcValuesReference extends ObjectReferenceBase {
15569
+ get DcValues() {
15570
+ return this.Referent;
15571
+ }
15605
15572
  constructor(controlId, referencedDcValues) {
15606
15573
  super(referencedDcValues);
15607
15574
  this.ditIdx = 0;
15608
15575
  this.ditIdx = controlId;
15609
15576
  }
15610
- get DcValues() {
15611
- return this.Referent;
15612
- }
15613
15577
  Clone() {
15614
15578
  return new DcValuesReference(this.ditIdx, this.Referent);
15615
15579
  }
@@ -15885,21 +15849,6 @@ class RecordsTable {
15885
15849
  RecordsTable.REC_NOT_FOUND = -1;
15886
15850
 
15887
15851
  class DataviewHeaderBase {
15888
- constructor(task) {
15889
- this._cond = null;
15890
- this._task = null;
15891
- this.Loc = null;
15892
- this._dir = '\0';
15893
- this._id = 0;
15894
- this._keyIdx = 0;
15895
- this._retVal = null;
15896
- this.returnfield = null;
15897
- this.LinkStartAfterField = 0;
15898
- this.KeyExpression = 0;
15899
- this._task = task;
15900
- this._keyIdx = -1;
15901
- this._cond = new YesNoExp(true);
15902
- }
15903
15852
  get ReturnField() {
15904
15853
  if (this.returnfield === null && this._retVal !== null)
15905
15854
  this.returnfield = this.Task.getFieldByValueStr(this._retVal);
@@ -15920,6 +15869,21 @@ class DataviewHeaderBase {
15920
15869
  get LinkEvaluateCondition() {
15921
15870
  return this._linkEvalCondition;
15922
15871
  }
15872
+ constructor(task) {
15873
+ this._cond = null;
15874
+ this._task = null;
15875
+ this.Loc = null;
15876
+ this._dir = '\0';
15877
+ this._id = 0;
15878
+ this._keyIdx = 0;
15879
+ this._retVal = null;
15880
+ this.returnfield = null;
15881
+ this.LinkStartAfterField = 0;
15882
+ this.KeyExpression = 0;
15883
+ this._task = task;
15884
+ this._keyIdx = -1;
15885
+ this._cond = new YesNoExp(true);
15886
+ }
15923
15887
  SetAttributes(attributes) {
15924
15888
  let keys = attributes.Keys;
15925
15889
  keys.forEach((text) => {
@@ -17257,16 +17221,16 @@ class RecordOutOfDataViewException extends ApplicationException {
17257
17221
  }
17258
17222
 
17259
17223
  class XMLBasedDcValuesBuilder extends DcValuesBuilderBase {
17224
+ set SerializedDCVals(value) {
17225
+ this.parser.setXMLdata(value);
17226
+ this.parser.setCurrIndex(0);
17227
+ }
17260
17228
  constructor() {
17261
17229
  super();
17262
17230
  this.dcv = null;
17263
17231
  this.parser = null;
17264
17232
  this.parser = new XmlParser();
17265
17233
  }
17266
- set SerializedDCVals(value) {
17267
- this.parser.setXMLdata(value);
17268
- this.parser.setCurrIndex(0);
17269
- }
17270
17234
  Build() {
17271
17235
  this.dcv = null;
17272
17236
  let endContext = this.parser.getXMLdata().indexOf(XMLConstants.TAG_TERM, this.parser.getCurrIndex());
@@ -17324,28 +17288,61 @@ class XMLBasedDcValuesBuilder extends DcValuesBuilderBase {
17324
17288
  }
17325
17289
  return super.ParseValues(valueStr, dataType, useHex);
17326
17290
  }
17327
- }
17328
-
17329
- const SET_DISPLAYLINE_BY_DV = Int32.MinValue;
17330
- const COMPUTE_NEWREC_ON_CLIENT = 'C';
17331
- const UNKNOWN_RCMPS_NOT_INITED = 'M';
17332
- const UNKNOWN_RCMPS_FOUND = 'Y';
17333
- const INVOKED_FROM_OFFLINE_TASK = '-99999';
17334
- const CHUNK_CACHE_NEXT = 'N';
17335
- const CHUNK_CACHE_PREV = 'P';
17336
- const CHUNK_DV_BOTTOM = 'B';
17337
- const CHUNK_DV_TOP = 'T';
17338
- const COMPUTE_FLUSH_UPDATES = 'H';
17339
- const COMPUTE_NEWREC_ON_SERVER = 'S';
17340
- const END_DV_TAG = '</' + ConstInterface.MG_TAG_DATAVIEW + '>';
17341
- const RECOVERY_ACT_BEGIN_SCREEN = 'S';
17342
- const RECOVERY_ACT_BEGIN_TABLE = 'T';
17343
- const RECOVERY_ACT_CANCEL = 'C';
17344
- const RECOVERY_ACT_MOVE_DIRECTION_BEGIN = 'B';
17345
- const RECOVERY_ACT_NONE = 'N';
17346
- const TRANS_STAT_CLOSED = 'C';
17347
- const TRANS_STAT_OPENED = 'O';
17348
- class DataView extends DataViewBase {
17291
+ }
17292
+
17293
+ const SET_DISPLAYLINE_BY_DV = Int32.MinValue;
17294
+ const COMPUTE_NEWREC_ON_CLIENT = 'C';
17295
+ const UNKNOWN_RCMPS_NOT_INITED = 'M';
17296
+ const UNKNOWN_RCMPS_FOUND = 'Y';
17297
+ const INVOKED_FROM_OFFLINE_TASK = '-99999';
17298
+ const CHUNK_CACHE_NEXT = 'N';
17299
+ const CHUNK_CACHE_PREV = 'P';
17300
+ const CHUNK_DV_BOTTOM = 'B';
17301
+ const CHUNK_DV_TOP = 'T';
17302
+ const COMPUTE_FLUSH_UPDATES = 'H';
17303
+ const COMPUTE_NEWREC_ON_SERVER = 'S';
17304
+ const END_DV_TAG = '</' + ConstInterface.MG_TAG_DATAVIEW + '>';
17305
+ const RECOVERY_ACT_BEGIN_SCREEN = 'S';
17306
+ const RECOVERY_ACT_BEGIN_TABLE = 'T';
17307
+ const RECOVERY_ACT_CANCEL = 'C';
17308
+ const RECOVERY_ACT_MOVE_DIRECTION_BEGIN = 'B';
17309
+ const RECOVERY_ACT_NONE = 'N';
17310
+ const TRANS_STAT_CLOSED = 'C';
17311
+ const TRANS_STAT_OPENED = 'O';
17312
+ class DataView extends DataViewBase {
17313
+ set InsertAt(value) {
17314
+ this._insertAt = value;
17315
+ }
17316
+ get InsertAt() {
17317
+ return this._insertAt;
17318
+ }
17319
+ get CurrRec() {
17320
+ return this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER;
17321
+ }
17322
+ set CurrRec(value) {
17323
+ if (this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER !== null && value === null) {
17324
+ this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER.resetDcValueId();
17325
+ }
17326
+ this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER = value;
17327
+ if (this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER !== null) {
17328
+ this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER.SetDcValueId();
17329
+ }
17330
+ }
17331
+ get FlushUpdates() {
17332
+ return this._flushUpdates;
17333
+ }
17334
+ get HasMainTable() {
17335
+ return this._hasMainTable;
17336
+ }
17337
+ get CurrentRecId() {
17338
+ return this._currRecId;
17339
+ }
17340
+ get FirstRecord() {
17341
+ return this._recordsTab.getRecByIdx(0);
17342
+ }
17343
+ get LastRecord() {
17344
+ return this._recordsTab.getRecByIdx(this._recordsTab.getSize() - 1);
17345
+ }
17349
17346
  constructor(taskOrDataView) {
17350
17347
  super();
17351
17348
  this._cacheLruTimeStamp = 0;
@@ -17397,39 +17394,6 @@ class DataView extends DataViewBase {
17397
17394
  Object.assign(this, taskOrDataView);
17398
17395
  }
17399
17396
  }
17400
- set InsertAt(value) {
17401
- this._insertAt = value;
17402
- }
17403
- get InsertAt() {
17404
- return this._insertAt;
17405
- }
17406
- get CurrRec() {
17407
- return this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER;
17408
- }
17409
- set CurrRec(value) {
17410
- if (this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER !== null && value === null) {
17411
- this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER.resetDcValueId();
17412
- }
17413
- this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER = value;
17414
- if (this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER !== null) {
17415
- this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER.SetDcValueId();
17416
- }
17417
- }
17418
- get FlushUpdates() {
17419
- return this._flushUpdates;
17420
- }
17421
- get HasMainTable() {
17422
- return this._hasMainTable;
17423
- }
17424
- get CurrentRecId() {
17425
- return this._currRecId;
17426
- }
17427
- get FirstRecord() {
17428
- return this._recordsTab.getRecByIdx(0);
17429
- }
17430
- get LastRecord() {
17431
- return this._recordsTab.getRecByIdx(this._recordsTab.getSize() - 1);
17432
- }
17433
17397
  Init() {
17434
17398
  this.init();
17435
17399
  }
@@ -19059,6 +19023,12 @@ class ReturnResultBase {
19059
19023
  }
19060
19024
 
19061
19025
  class ReturnResult extends ReturnResultBase {
19026
+ get Success() {
19027
+ return this.success;
19028
+ }
19029
+ get ErrorDescription() {
19030
+ return this.errorDescription;
19031
+ }
19062
19032
  constructor(errorDescriptionCodeOrErrorDescriptionOrInnerResult, innerResult) {
19063
19033
  super();
19064
19034
  this.errorDescription = null;
@@ -19073,12 +19043,6 @@ class ReturnResult extends ReturnResultBase {
19073
19043
  else
19074
19044
  this.constructor_03(errorDescriptionCodeOrErrorDescriptionOrInnerResult);
19075
19045
  }
19076
- get Success() {
19077
- return this.success;
19078
- }
19079
- get ErrorDescription() {
19080
- return this.errorDescription;
19081
- }
19082
19046
  constructor_00(errorDescriptionCode) {
19083
19047
  this.success = false;
19084
19048
  this.ErrorId = errorDescriptionCode;
@@ -19182,13 +19146,13 @@ class Transaction {
19182
19146
  }
19183
19147
 
19184
19148
  class TaskTransactionManager {
19149
+ get isClosingTopmostTask() {
19150
+ return MGDataCollection.Instance.StartupMgData.getFirstTask().InEndTask;
19151
+ }
19185
19152
  constructor(task) {
19186
19153
  this.task = null;
19187
19154
  this.task = task;
19188
19155
  }
19189
- get isClosingTopmostTask() {
19190
- return MGDataCollection.Instance.StartupMgData.getFirstTask().InEndTask;
19191
- }
19192
19156
  AllowTransaction(transBegin, forLocal) {
19193
19157
  let result;
19194
19158
  if (forLocal)
@@ -19569,12 +19533,6 @@ class RemoteDataviewManager extends DataviewManagerBase {
19569
19533
  }
19570
19534
 
19571
19535
  class DataviewManager extends DataviewManagerBase {
19572
- constructor(task) {
19573
- super(task);
19574
- this.RemoteDataviewManager = null;
19575
- this.HasRemoteData = true;
19576
- this.RemoteDataviewManager = new RemoteDataviewManager(task);
19577
- }
19578
19536
  get TaskService() {
19579
19537
  return this.Task.TaskService;
19580
19538
  }
@@ -19589,6 +19547,12 @@ class DataviewManager extends DataviewManagerBase {
19589
19547
  get VirtualDataviewManager() {
19590
19548
  return this.TaskService.GetDataviewManagerForVirtuals(this.Task);
19591
19549
  }
19550
+ constructor(task) {
19551
+ super(task);
19552
+ this.RemoteDataviewManager = null;
19553
+ this.HasRemoteData = true;
19554
+ this.RemoteDataviewManager = new RemoteDataviewManager(task);
19555
+ }
19592
19556
  Execute(command) {
19593
19557
  return __awaiter(this, void 0, void 0, function* () {
19594
19558
  return yield this.CurrentDataviewManager.Execute(command);
@@ -19596,6 +19560,13 @@ class DataviewManager extends DataviewManagerBase {
19596
19560
  }
19597
19561
  }
19598
19562
 
19563
+ class Sort {
19564
+ constructor() {
19565
+ this.fldIdx = 0;
19566
+ this.dir = false;
19567
+ }
19568
+ }
19569
+
19599
19570
  class SortCollection {
19600
19571
  constructor() {
19601
19572
  this._sortTab = null;
@@ -20569,8 +20540,13 @@ class MgForm extends MgFormBase {
20569
20540
  finally {
20570
20541
  this._inRefreshDisp = false;
20571
20542
  }
20572
- if (refreshType === Constants.TASK_REFRESH_CURR_REC && (!_super.isLineMode.call(this) || this._tableRefreshed))
20543
+ if (refreshType === Constants.TASK_REFRESH_CURR_REC && (!_super.isLineMode.call(this) || this._tableRefreshed)) {
20573
20544
  this.FormRefreshed = true;
20545
+ if (this._task.isFirstRecordCycle() || AccessHelper.eventsManager.getIsInViewRefresh()) {
20546
+ Commands.addNoParameters(CommandType.SET_WC_IDLE, this);
20547
+ AccessHelper.eventsManager.setIsInViewRefresh(false);
20548
+ }
20549
+ }
20574
20550
  return true;
20575
20551
  });
20576
20552
  }
@@ -22028,8 +22004,12 @@ class EventHandler {
22028
22004
  continue;
22029
22005
  else if (this._operationTab.getOperation(oper.getBlockEnd()).getServerId() < nextOperIdx)
22030
22006
  continue;
22031
- if (!taskEnd)
22032
- yield this._task.evalEndCond(ConstInterface.END_COND_EVAL_IMMIDIATE);
22007
+ if (!taskEnd) {
22008
+ let mainLevel = this._task.getMainLevel().toLowerCase();
22009
+ if ((yield this._task.evalEndCond(ConstInterface.END_COND_EVAL_IMMIDIATE)) && Environment.Instance.getSpecialImmediateHandlerEnd() &&
22010
+ mainLevel != "RP".toLowerCase() && mainLevel != "TP".toLowerCase() && mainLevel != "RS".toLowerCase() && mainLevel != "TS".toLowerCase())
22011
+ break;
22012
+ }
22033
22013
  if (this._taskMgdID !== mgdID)
22034
22014
  isChangedCurrWndRef.value = true;
22035
22015
  if (!this._task.isMainProg() && this._task.isOpenWin())
@@ -22840,13 +22820,6 @@ class UserEventsTable {
22840
22820
  }
22841
22821
 
22842
22822
  class FormsTable {
22843
- constructor(task, parentForm) {
22844
- this._task = null;
22845
- this._parentForm = null;
22846
- this._formsStringXml = null;
22847
- this._task = task;
22848
- this._parentForm = parentForm;
22849
- }
22850
22823
  get Count() {
22851
22824
  return this._formsStringXml.length;
22852
22825
  }
@@ -22855,6 +22828,13 @@ class FormsTable {
22855
22828
  return this._formsStringXml.get_Item(formDisplayIndex - 1);
22856
22829
  return null;
22857
22830
  }
22831
+ constructor(task, parentForm) {
22832
+ this._task = null;
22833
+ this._parentForm = null;
22834
+ this._formsStringXml = null;
22835
+ this._task = task;
22836
+ this._parentForm = parentForm;
22837
+ }
22858
22838
  fillData() {
22859
22839
  return __awaiter(this, void 0, void 0, function* () {
22860
22840
  this._formsStringXml = new List();
@@ -23050,6 +23030,47 @@ var Task_Direction;
23050
23030
  Task_Direction[Task_Direction["FORE"] = 1] = "FORE";
23051
23031
  })(Task_Direction || (Task_Direction = {}));
23052
23032
  class Task extends TaskBase {
23033
+ get ParentTask() {
23034
+ return this._parentTask;
23035
+ }
23036
+ set TryingToCommit(value) {
23037
+ this._tryingToCommit = value;
23038
+ }
23039
+ get TryingToCommit() {
23040
+ return this._tryingToCommit;
23041
+ }
23042
+ get TaskService() {
23043
+ if (this._taskService == null)
23044
+ this._taskService = new RemoteTaskService();
23045
+ return this._taskService;
23046
+ }
23047
+ static get CommandsProcessor() {
23048
+ return CommandsProcessorManager.GetCommandsProcessor();
23049
+ }
23050
+ get LogicalStudioParentTask() {
23051
+ if (this.StudioParentTask === null && !super.isMainProg()) {
23052
+ return GuiDataCollection.MGDataTable.GetMainProgByCtlIdx(this.ContextID, this._ctlIdx);
23053
+ }
23054
+ return this.StudioParentTask;
23055
+ }
23056
+ get KnownToServer() {
23057
+ return this._knownToServer;
23058
+ }
23059
+ set Transaction(value) {
23060
+ this.DataviewManager.CurrentDataviewManager.Transaction = value;
23061
+ }
23062
+ get Transaction() {
23063
+ return this.DataviewManager.CurrentDataviewManager.Transaction;
23064
+ }
23065
+ get TaskDefinitionId() {
23066
+ if (this.taskDefinitionId === null) {
23067
+ this.taskDefinitionId = new TaskDefinitionId(this._ctlIdx, this.ProgramIsn, this.TaskIsn, this._isPrg);
23068
+ }
23069
+ return this.taskDefinitionId;
23070
+ }
23071
+ static get IsBlockingBatch() {
23072
+ return false;
23073
+ }
23053
23074
  constructor(parent) {
23054
23075
  super();
23055
23076
  this._dvCache = null;
@@ -23118,47 +23139,6 @@ class Task extends TaskBase {
23118
23139
  }
23119
23140
  this.constructor_1(parent);
23120
23141
  }
23121
- get ParentTask() {
23122
- return this._parentTask;
23123
- }
23124
- set TryingToCommit(value) {
23125
- this._tryingToCommit = value;
23126
- }
23127
- get TryingToCommit() {
23128
- return this._tryingToCommit;
23129
- }
23130
- get TaskService() {
23131
- if (this._taskService == null)
23132
- this._taskService = new RemoteTaskService();
23133
- return this._taskService;
23134
- }
23135
- static get CommandsProcessor() {
23136
- return CommandsProcessorManager.GetCommandsProcessor();
23137
- }
23138
- get LogicalStudioParentTask() {
23139
- if (this.StudioParentTask === null && !super.isMainProg()) {
23140
- return GuiDataCollection.MGDataTable.GetMainProgByCtlIdx(this.ContextID, this._ctlIdx);
23141
- }
23142
- return this.StudioParentTask;
23143
- }
23144
- get KnownToServer() {
23145
- return this._knownToServer;
23146
- }
23147
- set Transaction(value) {
23148
- this.DataviewManager.CurrentDataviewManager.Transaction = value;
23149
- }
23150
- get Transaction() {
23151
- return this.DataviewManager.CurrentDataviewManager.Transaction;
23152
- }
23153
- get TaskDefinitionId() {
23154
- if (this.taskDefinitionId === null) {
23155
- this.taskDefinitionId = new TaskDefinitionId(this._ctlIdx, this.ProgramIsn, this.TaskIsn, this._isPrg);
23156
- }
23157
- return this.taskDefinitionId;
23158
- }
23159
- static get IsBlockingBatch() {
23160
- return false;
23161
- }
23162
23142
  constructor_0() {
23163
23143
  this.ActionManager = new ActionManager();
23164
23144
  this.DataView = new DataView(this);
@@ -25037,6 +25017,7 @@ class Task extends TaskBase {
25037
25017
  this.ActionManager.enable(InternalInterface.MG_ACT_SORT_RECORDS, enable);
25038
25018
  enable = yield this.checkProp(PropInterface.PROP_TYPE_TASK_PROPERTIES_ALLOW_INDEX, true);
25039
25019
  this.ActionManager.enable(InternalInterface.MG_ACT_VIEW_BY_KEY, enable);
25020
+ this.ActionManager.enable(InternalInterface.MG_ACT_DUMP_ENVIRONMENT, true);
25040
25021
  });
25041
25022
  }
25042
25023
  setEnableZoomHandler() {
@@ -25656,6 +25637,9 @@ class CompMainPrgTable {
25656
25637
  }
25657
25638
 
25658
25639
  class MGData {
25640
+ get ForceModal() {
25641
+ return this.forceModal;
25642
+ }
25659
25643
  constructor(toClient, toServer, id, parent, isModal, forceModal) {
25660
25644
  this._expHandlers = null;
25661
25645
  this._id = 0;
@@ -25676,9 +25660,6 @@ class MGData {
25676
25660
  else
25677
25661
  this.constructor_1(id, parent, isModal, forceModal);
25678
25662
  }
25679
- get ForceModal() {
25680
- return this.forceModal;
25681
- }
25682
25663
  constructor_0(id, parent, isModal) {
25683
25664
  this._timerHandlers = new HandlersTable();
25684
25665
  this._expHandlers = new HandlersTable();
@@ -26291,6 +26272,7 @@ class EventsManager {
26291
26272
  this.confirmationDialogTitle = 'Session is about to be terminated!';
26292
26273
  this._lastFailedFocusedControl = null;
26293
26274
  this.isSpinnerShown = false;
26275
+ this.isInViewRefresh = false;
26294
26276
  this.SpinnerStopped = new Subject();
26295
26277
  this._rtEvents = new Stack();
26296
26278
  this._eventsQueue = new MgPriorityBlockingQueue();
@@ -28209,6 +28191,7 @@ class EventsManager {
28209
28191
  }
28210
28192
  break;
28211
28193
  case InternalInterface.MG_ACT_SERVER_TERMINATION:
28194
+ case InternalInterface.MG_ACT_DUMP_ENVIRONMENT:
28212
28195
  cmd = CommandFactory.CreateEventCommand(task.getTaskTag(), intEvtCode);
28213
28196
  cmdsToServer.Add(cmd);
28214
28197
  yield CommandsProcessorManager.GetCommandsProcessor().Execute(CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS);
@@ -28544,6 +28527,7 @@ class EventsManager {
28544
28527
  else if (intEvtCode === InternalInterface.MG_ACT_RT_REFRESH_SCREEN && task.getMode() !== Constants.TASK_MODE_QUERY && !task.getAfterRetry()) {
28545
28528
  yield dv.currRecCompute(true);
28546
28529
  }
28530
+ this.setIsInViewRefresh(true);
28547
28531
  yield this.handleInternalEventWithTask(task, InternalInterface.MG_ACT_REC_PREFIX);
28548
28532
  if (!this.GetStopExecutionFlag() && !task.getPreventControlChange()) {
28549
28533
  if (!(task === LastFocusedManager.Instance.getLastFocusedTask() || !task.pathContains(LastFocusedManager.Instance.getLastFocusedTask())))
@@ -29298,6 +29282,12 @@ class EventsManager {
29298
29282
  return false;
29299
29283
  return true;
29300
29284
  }
29285
+ getIsInViewRefresh() {
29286
+ return this.isInViewRefresh;
29287
+ }
29288
+ setIsInViewRefresh(inViewRefresh) {
29289
+ this.isInViewRefresh = inViewRefresh;
29290
+ }
29301
29291
  }
29302
29292
  EventsManager.REAL_ONLY = true;
29303
29293
  EventsManager.MAX_OPER = 9999;
@@ -29820,13 +29810,6 @@ class VerifyCommand extends ClientTargetedCommandBase {
29820
29810
  }
29821
29811
 
29822
29812
  class EnhancedVerifyCommand extends VerifyCommand {
29823
- constructor() {
29824
- super();
29825
- this._buttonsID = '\0';
29826
- this._image = '\0';
29827
- this._returnValStr = null;
29828
- this._returnVal = null;
29829
- }
29830
29813
  ProcessMessageBoxResponse(task, returnValue) {
29831
29814
  return __awaiter(this, void 0, void 0, function* () {
29832
29815
  if (task !== null)
@@ -29859,6 +29842,13 @@ class EnhancedVerifyCommand extends VerifyCommand {
29859
29842
  break;
29860
29843
  }
29861
29844
  }
29845
+ constructor() {
29846
+ super();
29847
+ this._buttonsID = '\0';
29848
+ this._image = '\0';
29849
+ this._returnValStr = null;
29850
+ this._returnVal = null;
29851
+ }
29862
29852
  }
29863
29853
 
29864
29854
  class ResetRangeCommand extends ClientTargetedCommandBase {
@@ -29963,12 +29953,6 @@ class ResetLocateCommand extends ClientTargetedCommandBase {
29963
29953
  }
29964
29954
 
29965
29955
  class ResultCommand extends ClientTargetedCommandBase {
29966
- constructor() {
29967
- super();
29968
- this._isNull = false;
29969
- this._attr = StorageAttribute.NONE;
29970
- this._val = null;
29971
- }
29972
29956
  Execute(res) {
29973
29957
  return __awaiter(this, void 0, void 0, function* () {
29974
29958
  if (this._isNull)
@@ -29996,6 +29980,12 @@ class ResultCommand extends ClientTargetedCommandBase {
29996
29980
  break;
29997
29981
  }
29998
29982
  }
29983
+ constructor() {
29984
+ super();
29985
+ this._isNull = false;
29986
+ this._attr = StorageAttribute.NONE;
29987
+ this._val = null;
29988
+ }
29999
29989
  }
30000
29990
 
30001
29991
  class AddSortCommand extends ClientTargetedCommandBase {
@@ -30366,19 +30356,9 @@ class CommandsTable {
30366
30356
  }
30367
30357
  }
30368
30358
 
30369
- let CurrentClientVersion = '4.901.0-dev491.4';
30359
+ let CurrentClientVersion = '4.1000.0-Time24h-dev4100.351';
30370
30360
 
30371
30361
  class ClientManager {
30372
- constructor() {
30373
- this._globalUniqueSessionId = null;
30374
- this._buttonIsClicked = false;
30375
- RuntimeContextBase.Instance.Init(RemoteCommandsProcessor.RC_NO_CONTEXT_ID);
30376
- LastFocusedManager.Instance.Init(MGDataCollection.Instance);
30377
- LastFocusedManager.Instance.LastActionTime = Misc.getSystemMilliseconds();
30378
- RemoteCommandsProcessor.ShouldScrambleAndUnscrambleMessages = true;
30379
- this._globalUniqueSessionId = UniqueIDUtils.GetUniqueMachineID() + "_";
30380
- this.RegisterDelegates();
30381
- }
30382
30362
  static get Instance() {
30383
30363
  if (ClientManager._instance === null)
30384
30364
  ClientManager._instance = new ClientManager();
@@ -30580,6 +30560,16 @@ class ClientManager {
30580
30560
  Logger.Instance.WriteToLog("-----------------------------------------------------------------------------", true);
30581
30561
  }
30582
30562
  }
30563
+ constructor() {
30564
+ this._globalUniqueSessionId = null;
30565
+ this._buttonIsClicked = false;
30566
+ RuntimeContextBase.Instance.Init(RemoteCommandsProcessor.RC_NO_CONTEXT_ID);
30567
+ LastFocusedManager.Instance.Init(MGDataCollection.Instance);
30568
+ LastFocusedManager.Instance.LastActionTime = Misc.getSystemMilliseconds();
30569
+ RemoteCommandsProcessor.ShouldScrambleAndUnscrambleMessages = true;
30570
+ this._globalUniqueSessionId = UniqueIDUtils.GetUniqueMachineID() + "_";
30571
+ this.RegisterDelegates();
30572
+ }
30583
30573
  InitGuiManager() {
30584
30574
  Manager.EventsManager = EventsManager.Instance;
30585
30575
  Manager.DefaultServerName = ServerConfig.Instance.getServer();
@@ -30635,7 +30625,7 @@ class ClientManager {
30635
30625
  yield MGDataCollection.Instance.addMGData(mgd, 0, true);
30636
30626
  yield ClientManager.Instance.WorkThreadExecution();
30637
30627
  if (Logger.Instance.ShouldLog()) {
30638
- Logger.Instance.WriteToLog(OSEnvironment.EolSeq + "Ended on " + DateTimeUtils.ToString(DateTime.Now, "dd/MM/yyyy", Logger.Instance) + OSEnvironment.EolSeq + OSEnvironment.EolSeq, false);
30628
+ Logger.Instance.WriteToLog(OSEnvironment.EolSeq + "Ended on " + DateTimeUtils.ToString(DateTime.Now, XMLConstants.ERROR_LOG_DATE_FORMAT, Logger.Instance) + OSEnvironment.EolSeq + OSEnvironment.EolSeq, false);
30639
30629
  }
30640
30630
  }
30641
30631
  else {
@@ -30807,13 +30797,6 @@ class MagicBridge {
30807
30797
  }
30808
30798
  }
30809
30799
 
30810
- class ControlItemsRefreshCommand extends DataviewCommand {
30811
- constructor() {
30812
- super();
30813
- this.Control = null;
30814
- }
30815
- }
30816
-
30817
30800
  class DataViewOutputCommand extends DataviewCommand {
30818
30801
  constructor(OutputCommandType) {
30819
30802
  super();