@magic-xpa/engine 4.1000.0-dev4100.99 → 4.1000.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 (53) hide show
  1. package/esm2020/src/ClientManager.mjs +12 -12
  2. package/esm2020/src/ConstInterface.mjs +2 -1
  3. package/esm2020/src/CurrentClientVersion.mjs +2 -2
  4. package/esm2020/src/commands/ClientToServer/DataviewCommand.mjs +6 -6
  5. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +4 -4
  6. package/esm2020/src/commands/ClientToServer/EventCommand.mjs +8 -8
  7. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +4 -4
  8. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +5 -5
  9. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +7 -7
  10. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +6 -6
  11. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +8 -8
  12. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +7 -7
  13. package/esm2020/src/data/DataView.mjs +34 -34
  14. package/esm2020/src/data/DataviewManager.mjs +7 -7
  15. package/esm2020/src/data/Record.mjs +10 -10
  16. package/esm2020/src/data/TaskTransactionManager.mjs +4 -4
  17. package/esm2020/src/data/XMLBasedDcValuesBuilder.mjs +5 -5
  18. package/esm2020/src/env/Environment.mjs +14 -7
  19. package/esm2020/src/event/Event.mjs +4 -1
  20. package/esm2020/src/event/EventHandler.mjs +8 -3
  21. package/esm2020/src/event/EventHandlerPosition.mjs +5 -1
  22. package/esm2020/src/event/EventsManager.mjs +10 -1
  23. package/esm2020/src/event/IEventsManager.mjs +1 -1
  24. package/esm2020/src/event/RunTimeEvent.mjs +16 -16
  25. package/esm2020/src/exp/ExpressionEvaluator.mjs +8 -4
  26. package/esm2020/src/gui/FormsTable.mjs +8 -8
  27. package/esm2020/src/gui/MgControl.mjs +10 -13
  28. package/esm2020/src/gui/MgForm.mjs +9 -23
  29. package/esm2020/src/http/HttpManager.mjs +8 -8
  30. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +34 -23
  31. package/esm2020/src/rt/DataviewHeaderBase.mjs +16 -16
  32. package/esm2020/src/security/UserDetails.mjs +12 -12
  33. package/esm2020/src/tasks/MGData.mjs +4 -4
  34. package/esm2020/src/tasks/RCTimer.mjs +10 -10
  35. package/esm2020/src/tasks/Task.mjs +43 -42
  36. package/esm2020/src/util/FlowMonitorQueue.mjs +107 -2
  37. package/esm2020/src/util/PrmMap.mjs +5 -5
  38. package/esm2020/src/util/ReturnResult.mjs +7 -7
  39. package/fesm2015/magic-xpa-engine.mjs +461 -338
  40. package/fesm2015/magic-xpa-engine.mjs.map +1 -1
  41. package/fesm2020/magic-xpa-engine.mjs +456 -326
  42. package/fesm2020/magic-xpa-engine.mjs.map +1 -1
  43. package/package.json +6 -6
  44. package/src/ConstInterface.d.ts +1 -0
  45. package/src/env/Environment.d.ts +2 -0
  46. package/src/event/EventsManager.d.ts +3 -0
  47. package/src/event/IEventsManager.d.ts +2 -0
  48. package/src/exp/ExpressionEvaluator.d.ts +1 -1
  49. package/src/gui/MgControl.d.ts +0 -1
  50. package/src/gui/MgForm.d.ts +1 -3
  51. package/src/remote/RemoteCommandsProcessor.d.ts +1 -0
  52. package/src/util/FlowMonitorQueue.d.ts +8 -0
  53. 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
 
@@ -272,6 +272,7 @@ ConstInterface.MG_ATTR_LOCAL_AS400SET = "local_as400set";
272
272
  ConstInterface.MG_ATTR_LOCAL_EXTRA_GENGO = "local_extraGengo";
273
273
  ConstInterface.MG_ATTR_LOCAL_FLAGS = "local_flags";
274
274
  ConstInterface.MG_ATTR_SPEACIAL_ANSI_EXP = "SpecialAnsiExpression";
275
+ ConstInterface.MG_ATTR_SPECIAL_IMMEDIATE_HANDLER_END = "SpecialImmediateHandlerEnd";
275
276
  ConstInterface.MG_ATTR_SPECIAL_SHOW_STATUSBAR_PANES = "SpecialShowStatusBarPanes";
276
277
  ConstInterface.MG_ATTR_SPECIAL_ROUTE_TO_ROOT_PROG_ON_CONTEXT_RECREATION = "SpecialRouteToRootProgramOnContextRecreation";
277
278
  ConstInterface.MG_ATTR_SPECIAL_SPECIAL_EDIT_LEFT_ALIGN = "SpecialEditLeftAlign";
@@ -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);
@@ -5697,12 +5797,23 @@ class RemoteCommandsProcessor extends CommandsProcessorBase {
5697
5797
  }
5698
5798
  }
5699
5799
  }
5700
- window.localStorage.clear();
5800
+ this.clearLocalStorage();
5701
5801
  throw ex;
5702
5802
  }
5703
5803
  return response;
5704
5804
  });
5705
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
+ }
5706
5817
  HandleErrorResponse(response) {
5707
5818
  try {
5708
5819
  Logger.Instance.WriteServerMessagesToLog("MESSAGE FROM SERVER: " + response);
@@ -5916,21 +6027,6 @@ RemoteCommandsProcessor.InitialUrl = null;
5916
6027
  RemoteCommandsProcessor.WEB_COMMUNICATION_PROTOCOL_VERSION = "14002";
5917
6028
  RemoteCommandsProcessor._shouldScrambleAndUnscrambleMessages = false;
5918
6029
  class HandshakeResponse {
5919
- constructor(responseXML) {
5920
- this._scrambleMessages = true;
5921
- this._contextId = null;
5922
- this._privateSessionId = null;
5923
- this._inputPassword = false;
5924
- this._httpTimeout = 0;
5925
- this._systemLogin = null;
5926
- this._maxInternalLogLevel = null;
5927
- try {
5928
- JSON_Utils.JSONFromXML(responseXML, this.FillFromJSON.bind(this));
5929
- }
5930
- catch (ex) {
5931
- Logger.Instance.WriteExceptionToLog(ex, responseXML);
5932
- }
5933
- }
5934
6030
  get ScrambleMessages() {
5935
6031
  return this._scrambleMessages;
5936
6032
  }
@@ -5952,6 +6048,21 @@ class HandshakeResponse {
5952
6048
  get MaxInternalLogLevel() {
5953
6049
  return this._maxInternalLogLevel;
5954
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
+ }
5955
6066
  FillFromJSON(error, result) {
5956
6067
  if (error != null) {
5957
6068
  throw error;
@@ -7525,6 +7636,9 @@ class EventHandlerPosition {
7525
7636
  case InternalInterface.MG_ACT_REC_SUFFIX:
7526
7637
  case InternalInterface.MG_ACT_CTRL_PREFIX:
7527
7638
  case InternalInterface.MG_ACT_CTRL_SUFFIX: {
7639
+ if (this._rtEvt.getInternalCode() == InternalInterface.MG_ACT_REC_PREFIX) {
7640
+ FlowMonitorQueue.Instance.addDataViewFlow(this._task);
7641
+ }
7528
7642
  if (this._handlerIdx === -1) {
7529
7643
  for (this._handlerIdx = this._handlersTab.getSize() - 1; this._handlerIdx >= 0; this._handlerIdx--) {
7530
7644
  let handler = this._handlersTab.getHandler(this._handlerIdx);
@@ -7690,11 +7804,6 @@ var DataViewCommandType;
7690
7804
  DataViewCommandType[DataViewCommandType["SQLExecute"] = 20] = "SQLExecute";
7691
7805
  })(DataViewCommandType || (DataViewCommandType = {}));
7692
7806
  class DataviewCommand extends ClientOriginatedCommandTaskTag {
7693
- constructor() {
7694
- super();
7695
- this.CommandType = 0;
7696
- this.TaskTag = null;
7697
- }
7698
7807
  get CommandTypeAttribute() {
7699
7808
  throw new NotImplementedException();
7700
7809
  }
@@ -7705,6 +7814,11 @@ class DataviewCommand extends ClientOriginatedCommandTaskTag {
7705
7814
  get ShouldSerialize() {
7706
7815
  return false;
7707
7816
  }
7817
+ constructor() {
7818
+ super();
7819
+ this.CommandType = 0;
7820
+ this.TaskTag = null;
7821
+ }
7708
7822
  }
7709
7823
 
7710
7824
  class AddUserRangeDataviewCommand extends DataviewCommand {
@@ -7926,12 +8040,6 @@ class NonReversibleExitEventCommand extends EventCommand {
7926
8040
  }
7927
8041
 
7928
8042
  class RecomputeCommand extends ClientOriginatedCommandTaskTag {
7929
- constructor() {
7930
- super();
7931
- this.TaskTag = null;
7932
- this.FldId = 0;
7933
- this.IgnoreSubformRecompute = false;
7934
- }
7935
8043
  get CommandTypeAttribute() {
7936
8044
  return ConstInterface.MG_ATTR_VAL_RECOMP;
7937
8045
  }
@@ -7943,17 +8051,18 @@ class RecomputeCommand extends ClientOriginatedCommandTaskTag {
7943
8051
  helper.SerializeAttribute(ConstInterface.MG_ATTR_IGNORE_SUBFORM_RECOMPUTE, '1');
7944
8052
  return helper.GetString();
7945
8053
  }
8054
+ constructor() {
8055
+ super();
8056
+ this.TaskTag = null;
8057
+ this.FldId = 0;
8058
+ this.IgnoreSubformRecompute = false;
8059
+ }
7946
8060
  getCommandInfo() {
7947
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());
7948
8062
  }
7949
8063
  }
7950
8064
 
7951
8065
  class TransactionCommand extends ClientOriginatedCommandTaskTag {
7952
- constructor() {
7953
- super();
7954
- this.TaskTag = null;
7955
- this.ReversibleExit = false;
7956
- }
7957
8066
  get CommandTypeAttribute() {
7958
8067
  return ConstInterface.MG_ATTR_VAL_TRANS;
7959
8068
  }
@@ -7967,6 +8076,11 @@ class TransactionCommand extends ClientOriginatedCommandTaskTag {
7967
8076
  helper.SerializeAttribute(ConstInterface.MG_ATTR_TRANS_LEVEL, this.Level);
7968
8077
  return helper.GetString();
7969
8078
  }
8079
+ constructor() {
8080
+ super();
8081
+ this.TaskTag = null;
8082
+ this.ReversibleExit = false;
8083
+ }
7970
8084
  getCommandInfo() {
7971
8085
  return NString.Format('[{0} in {1}]', this.Oper === 'C' ? 'Commit Transaction' : 'Abort Transaction', this.Task.getTaskInfo());
7972
8086
  }
@@ -7985,6 +8099,9 @@ class UnloadCommand extends ClientOriginatedCommand {
7985
8099
  }
7986
8100
 
7987
8101
  class EvaluateCommand extends ClientOriginatedCommandTaskTag {
8102
+ get CommandTypeAttribute() {
8103
+ return ConstInterface.MG_ATTR_VAL_EVAL;
8104
+ }
7988
8105
  constructor() {
7989
8106
  super();
7990
8107
  this.TaskTag = null;
@@ -7993,9 +8110,6 @@ class EvaluateCommand extends ClientOriginatedCommandTaskTag {
7993
8110
  this.MprgCreator = null;
7994
8111
  this.LengthExpVal = Int32.MinValue;
7995
8112
  }
7996
- get CommandTypeAttribute() {
7997
- return ConstInterface.MG_ATTR_VAL_EVAL;
7998
- }
7999
8113
  SerializeCommandData() {
8000
8114
  let helper = new CommandSerializationHelper();
8001
8115
  helper.SerializeTaskTag(this.TaskTag);
@@ -8043,10 +8157,6 @@ class GlobalParamsQueryCommand extends QueryCommand {
8043
8157
  }
8044
8158
 
8045
8159
  class IniputForceWriteCommand extends ClientOriginatedCommand {
8046
- constructor() {
8047
- super();
8048
- this.Text = null;
8049
- }
8050
8160
  get CommandTypeAttribute() {
8051
8161
  return ConstInterface.MG_ATTR_VAL_INIPUT_FORCE_WRITE;
8052
8162
  }
@@ -8056,6 +8166,10 @@ class IniputForceWriteCommand extends ClientOriginatedCommand {
8056
8166
  SerializeCommandData() {
8057
8167
  return " " + ConstInterface.MG_ATTR_VAL_INIPUT_PARAM + "=\"" + XmlParser.escape(this.Text) + "\"";
8058
8168
  }
8169
+ constructor() {
8170
+ super();
8171
+ this.Text = null;
8172
+ }
8059
8173
  getCommandInfo() {
8060
8174
  return NString.Format('[{0} with {1}] ', this.CommandTypeAttribute, this.Text);
8061
8175
  }
@@ -8355,10 +8469,6 @@ var ParamParseResult;
8355
8469
  })(ParamParseResult || (ParamParseResult = {}));
8356
8470
 
8357
8471
  class PrmMap {
8358
- constructor() {
8359
- this.values = null;
8360
- this.values = new Dictionary();
8361
- }
8362
8472
  getvalue(s) {
8363
8473
  if (this.values.ContainsKey(s))
8364
8474
  return this.values.get_Item(s);
@@ -8371,6 +8481,10 @@ class PrmMap {
8371
8481
  remove(s) {
8372
8482
  this.values.Remove(s);
8373
8483
  }
8484
+ constructor() {
8485
+ this.values = null;
8486
+ this.values = new Dictionary();
8487
+ }
8374
8488
  }
8375
8489
  class MirrorPrmMap extends PrmMap {
8376
8490
  constructor(type) {
@@ -8526,6 +8640,7 @@ class Environment {
8526
8640
  this._debugMode = 0;
8527
8641
  this._significantNumSize = 0;
8528
8642
  this._specialAnsiExpression = false;
8643
+ this._specialImmediatehandlerEnd = false;
8529
8644
  this._specialShowStatusBarPanes = false;
8530
8645
  this._specialRouteToRootProgOnContextRecreation = false;
8531
8646
  this._specialCancelOnCreate = false;
@@ -8679,6 +8794,9 @@ class Environment {
8679
8794
  case ConstInterface.MG_ATTR_LOCAL_FLAGS:
8680
8795
  this._localFlags = valueStr;
8681
8796
  break;
8797
+ case ConstInterface.MG_ATTR_SPECIAL_IMMEDIATE_HANDLER_END:
8798
+ this._specialImmediatehandlerEnd = XmlParser.getBoolean(valueStr);
8799
+ break;
8682
8800
  case ConstInterface.MG_ATTR_SPEACIAL_ANSI_EXP:
8683
8801
  this._specialAnsiExpression = XmlParser.getBoolean(valueStr);
8684
8802
  break;
@@ -8885,6 +9003,9 @@ class Environment {
8885
9003
  GetLocalFlag(f) {
8886
9004
  return this._localFlags !== null && this._localFlags.indexOf(f) >= 0;
8887
9005
  }
9006
+ getSpecialImmediateHandlerEnd() {
9007
+ return this._specialImmediatehandlerEnd;
9008
+ }
8888
9009
  getSpecialAnsiExpression() {
8889
9010
  return this._specialAnsiExpression;
8890
9011
  }
@@ -8954,6 +9075,12 @@ class Environment {
8954
9075
  }
8955
9076
  Environment.Instance = new Environment();
8956
9077
  class EnvironmentDetails {
9078
+ set UpdateInQueryMode(value) {
9079
+ this._updateInQueryMode = value;
9080
+ }
9081
+ set CreateInModifyMode(value) {
9082
+ this._createInModifyMode = value;
9083
+ }
8957
9084
  constructor() {
8958
9085
  this._createInModifyMode = false;
8959
9086
  this._updateInQueryMode = false;
@@ -8964,12 +9091,6 @@ class EnvironmentDetails {
8964
9091
  this.ProjDir = null;
8965
9092
  this.CompIdx = 0;
8966
9093
  }
8967
- set UpdateInQueryMode(value) {
8968
- this._updateInQueryMode = value;
8969
- }
8970
- set CreateInModifyMode(value) {
8971
- this._createInModifyMode = value;
8972
- }
8973
9094
  allowUpdateInQueryMode() {
8974
9095
  return this._updateInQueryMode;
8975
9096
  }
@@ -9057,17 +9178,6 @@ class GlobalParams extends MirrorPrmMap {
9057
9178
  GlobalParams.Instance = new GlobalParams();
9058
9179
 
9059
9180
  class UserDetails {
9060
- constructor() {
9061
- this.UserName = null;
9062
- this.UserID = null;
9063
- this.UserInfo = null;
9064
- this.Password = null;
9065
- this.IsLoggedIn = false;
9066
- this.UserName = NString.Empty;
9067
- this.UserInfo = NString.Empty;
9068
- this.IsLoggedIn = false;
9069
- this.setUserID(NString.Empty);
9070
- }
9071
9181
  setIsLoggedIn(value) {
9072
9182
  this.IsLoggedIn = value;
9073
9183
  }
@@ -9087,6 +9197,17 @@ class UserDetails {
9087
9197
  UserDetails._instance = new UserDetails();
9088
9198
  return UserDetails._instance;
9089
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
+ }
9090
9211
  fillData(parser) {
9091
9212
  let tokensVector;
9092
9213
  let endContext = parser.getXMLdata().indexOf(XMLConstants.TAG_TERM, parser.getCurrIndex());
@@ -11891,7 +12012,7 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
11891
12012
  Exp_params = new Array(nArgs);
11892
12013
  for (j = 0; j < nArgs; j++)
11893
12014
  Exp_params[nArgs - 1 - j] = valStack.pop();
11894
- this.eval_op_CallJS(this.ExpTask, valStack.pop().StrVal, Exp_params, resVal);
12015
+ yield this.eval_op_CallJS(this.ExpTask, valStack.pop().StrVal, Exp_params, resVal);
11895
12016
  }
11896
12017
  break;
11897
12018
  case ExpressionInterface.EXP_OP_SET_COOKIE:
@@ -14310,18 +14431,24 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
14310
14431
  });
14311
14432
  }
14312
14433
  eval_op_CallJS(task, methodName, expVal, resVal) {
14313
- resVal.Attr = StorageAttribute.ALPHA;
14314
- resVal.StrVal = '';
14315
- if (task.isMainProg()) {
14316
- console.error("CallJS cannot be used in Main Program");
14317
- return;
14318
- }
14319
- let form = task.getForm();
14320
- let args = this.params2arguments(expVal, 0, expVal.length);
14321
- if (!isNullOrUndefined(args)) {
14322
- resVal.StrVal = Commands.addCallJS(form, form.UniqueName, methodName, args);
14434
+ return __awaiter(this, void 0, void 0, function* () {
14323
14435
  resVal.Attr = StorageAttribute.ALPHA;
14324
- }
14436
+ resVal.StrVal = '';
14437
+ if (task.isMainProg()) {
14438
+ console.error("CallJS cannot be used in Main Program");
14439
+ return;
14440
+ }
14441
+ let form = task.getForm();
14442
+ let args = this.params2arguments(expVal, 0, expVal.length);
14443
+ if (!isNullOrUndefined(args)) {
14444
+ if (task.isFirstRecordCycle()) {
14445
+ Commands.invoke();
14446
+ yield Thread.Sleep(10);
14447
+ }
14448
+ resVal.StrVal = Commands.addCallJS(form, form.UniqueName, methodName, args);
14449
+ resVal.Attr = StorageAttribute.ALPHA;
14450
+ }
14451
+ });
14325
14452
  }
14326
14453
  eval_op_set_cookie(cookieName, expVal, resVal) {
14327
14454
  resVal.Attr = StorageAttribute.BOOLEAN;
@@ -14627,6 +14754,12 @@ class DataViewBase extends GuiDataViewBase {
14627
14754
  }
14628
14755
 
14629
14756
  class Record {
14757
+ get InCompute() {
14758
+ return this._inCompute;
14759
+ }
14760
+ get InRecompute() {
14761
+ return this._inRecompute;
14762
+ }
14630
14763
  constructor(dvOrTableCacheOrCIdOrRecord, dataview) {
14631
14764
  this._id = Int32.MinValue;
14632
14765
  this.dbViewRowIdx = 0;
@@ -14644,12 +14777,6 @@ class Record {
14644
14777
  else
14645
14778
  this.constructor_1(dvOrTableCacheOrCIdOrRecord, dataview);
14646
14779
  }
14647
- get InCompute() {
14648
- return this._inCompute;
14649
- }
14650
- get InRecompute() {
14651
- return this._inRecompute;
14652
- }
14653
14780
  constructor_0(dvOrTableCache) {
14654
14781
  if (dvOrTableCache instanceof DataViewBase)
14655
14782
  this._dataview = dvOrTableCache;
@@ -15445,14 +15572,14 @@ Record.FLAG_MODIFIED_ATLEAST_ONCE = (0x40);
15445
15572
  Record.INCREASE = true;
15446
15573
  Record.DECREASE = false;
15447
15574
  class DcValuesReference extends ObjectReferenceBase {
15575
+ get DcValues() {
15576
+ return this.Referent;
15577
+ }
15448
15578
  constructor(controlId, referencedDcValues) {
15449
15579
  super(referencedDcValues);
15450
15580
  this.ditIdx = 0;
15451
15581
  this.ditIdx = controlId;
15452
15582
  }
15453
- get DcValues() {
15454
- return this.Referent;
15455
- }
15456
15583
  Clone() {
15457
15584
  return new DcValuesReference(this.ditIdx, this.Referent);
15458
15585
  }
@@ -15728,21 +15855,6 @@ class RecordsTable {
15728
15855
  RecordsTable.REC_NOT_FOUND = -1;
15729
15856
 
15730
15857
  class DataviewHeaderBase {
15731
- constructor(task) {
15732
- this._cond = null;
15733
- this._task = null;
15734
- this.Loc = null;
15735
- this._dir = '\0';
15736
- this._id = 0;
15737
- this._keyIdx = 0;
15738
- this._retVal = null;
15739
- this.returnfield = null;
15740
- this.LinkStartAfterField = 0;
15741
- this.KeyExpression = 0;
15742
- this._task = task;
15743
- this._keyIdx = -1;
15744
- this._cond = new YesNoExp(true);
15745
- }
15746
15858
  get ReturnField() {
15747
15859
  if (this.returnfield === null && this._retVal !== null)
15748
15860
  this.returnfield = this.Task.getFieldByValueStr(this._retVal);
@@ -15763,6 +15875,21 @@ class DataviewHeaderBase {
15763
15875
  get LinkEvaluateCondition() {
15764
15876
  return this._linkEvalCondition;
15765
15877
  }
15878
+ constructor(task) {
15879
+ this._cond = null;
15880
+ this._task = null;
15881
+ this.Loc = null;
15882
+ this._dir = '\0';
15883
+ this._id = 0;
15884
+ this._keyIdx = 0;
15885
+ this._retVal = null;
15886
+ this.returnfield = null;
15887
+ this.LinkStartAfterField = 0;
15888
+ this.KeyExpression = 0;
15889
+ this._task = task;
15890
+ this._keyIdx = -1;
15891
+ this._cond = new YesNoExp(true);
15892
+ }
15766
15893
  SetAttributes(attributes) {
15767
15894
  let keys = attributes.Keys;
15768
15895
  keys.forEach((text) => {
@@ -17100,16 +17227,16 @@ class RecordOutOfDataViewException extends ApplicationException {
17100
17227
  }
17101
17228
 
17102
17229
  class XMLBasedDcValuesBuilder extends DcValuesBuilderBase {
17230
+ set SerializedDCVals(value) {
17231
+ this.parser.setXMLdata(value);
17232
+ this.parser.setCurrIndex(0);
17233
+ }
17103
17234
  constructor() {
17104
17235
  super();
17105
17236
  this.dcv = null;
17106
17237
  this.parser = null;
17107
17238
  this.parser = new XmlParser();
17108
17239
  }
17109
- set SerializedDCVals(value) {
17110
- this.parser.setXMLdata(value);
17111
- this.parser.setCurrIndex(0);
17112
- }
17113
17240
  Build() {
17114
17241
  this.dcv = null;
17115
17242
  let endContext = this.parser.getXMLdata().indexOf(XMLConstants.TAG_TERM, this.parser.getCurrIndex());
@@ -17167,28 +17294,61 @@ class XMLBasedDcValuesBuilder extends DcValuesBuilderBase {
17167
17294
  }
17168
17295
  return super.ParseValues(valueStr, dataType, useHex);
17169
17296
  }
17170
- }
17171
-
17172
- const SET_DISPLAYLINE_BY_DV = Int32.MinValue;
17173
- const COMPUTE_NEWREC_ON_CLIENT = 'C';
17174
- const UNKNOWN_RCMPS_NOT_INITED = 'M';
17175
- const UNKNOWN_RCMPS_FOUND = 'Y';
17176
- const INVOKED_FROM_OFFLINE_TASK = '-99999';
17177
- const CHUNK_CACHE_NEXT = 'N';
17178
- const CHUNK_CACHE_PREV = 'P';
17179
- const CHUNK_DV_BOTTOM = 'B';
17180
- const CHUNK_DV_TOP = 'T';
17181
- const COMPUTE_FLUSH_UPDATES = 'H';
17182
- const COMPUTE_NEWREC_ON_SERVER = 'S';
17183
- const END_DV_TAG = '</' + ConstInterface.MG_TAG_DATAVIEW + '>';
17184
- const RECOVERY_ACT_BEGIN_SCREEN = 'S';
17185
- const RECOVERY_ACT_BEGIN_TABLE = 'T';
17186
- const RECOVERY_ACT_CANCEL = 'C';
17187
- const RECOVERY_ACT_MOVE_DIRECTION_BEGIN = 'B';
17188
- const RECOVERY_ACT_NONE = 'N';
17189
- const TRANS_STAT_CLOSED = 'C';
17190
- const TRANS_STAT_OPENED = 'O';
17191
- class DataView extends DataViewBase {
17297
+ }
17298
+
17299
+ const SET_DISPLAYLINE_BY_DV = Int32.MinValue;
17300
+ const COMPUTE_NEWREC_ON_CLIENT = 'C';
17301
+ const UNKNOWN_RCMPS_NOT_INITED = 'M';
17302
+ const UNKNOWN_RCMPS_FOUND = 'Y';
17303
+ const INVOKED_FROM_OFFLINE_TASK = '-99999';
17304
+ const CHUNK_CACHE_NEXT = 'N';
17305
+ const CHUNK_CACHE_PREV = 'P';
17306
+ const CHUNK_DV_BOTTOM = 'B';
17307
+ const CHUNK_DV_TOP = 'T';
17308
+ const COMPUTE_FLUSH_UPDATES = 'H';
17309
+ const COMPUTE_NEWREC_ON_SERVER = 'S';
17310
+ const END_DV_TAG = '</' + ConstInterface.MG_TAG_DATAVIEW + '>';
17311
+ const RECOVERY_ACT_BEGIN_SCREEN = 'S';
17312
+ const RECOVERY_ACT_BEGIN_TABLE = 'T';
17313
+ const RECOVERY_ACT_CANCEL = 'C';
17314
+ const RECOVERY_ACT_MOVE_DIRECTION_BEGIN = 'B';
17315
+ const RECOVERY_ACT_NONE = 'N';
17316
+ const TRANS_STAT_CLOSED = 'C';
17317
+ const TRANS_STAT_OPENED = 'O';
17318
+ class DataView extends DataViewBase {
17319
+ set InsertAt(value) {
17320
+ this._insertAt = value;
17321
+ }
17322
+ get InsertAt() {
17323
+ return this._insertAt;
17324
+ }
17325
+ get CurrRec() {
17326
+ return this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER;
17327
+ }
17328
+ set CurrRec(value) {
17329
+ if (this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER !== null && value === null) {
17330
+ this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER.resetDcValueId();
17331
+ }
17332
+ this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER = value;
17333
+ if (this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER !== null) {
17334
+ this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER.SetDcValueId();
17335
+ }
17336
+ }
17337
+ get FlushUpdates() {
17338
+ return this._flushUpdates;
17339
+ }
17340
+ get HasMainTable() {
17341
+ return this._hasMainTable;
17342
+ }
17343
+ get CurrentRecId() {
17344
+ return this._currRecId;
17345
+ }
17346
+ get FirstRecord() {
17347
+ return this._recordsTab.getRecByIdx(0);
17348
+ }
17349
+ get LastRecord() {
17350
+ return this._recordsTab.getRecByIdx(this._recordsTab.getSize() - 1);
17351
+ }
17192
17352
  constructor(taskOrDataView) {
17193
17353
  super();
17194
17354
  this._cacheLruTimeStamp = 0;
@@ -17240,39 +17400,6 @@ class DataView extends DataViewBase {
17240
17400
  Object.assign(this, taskOrDataView);
17241
17401
  }
17242
17402
  }
17243
- set InsertAt(value) {
17244
- this._insertAt = value;
17245
- }
17246
- get InsertAt() {
17247
- return this._insertAt;
17248
- }
17249
- get CurrRec() {
17250
- return this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER;
17251
- }
17252
- set CurrRec(value) {
17253
- if (this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER !== null && value === null) {
17254
- this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER.resetDcValueId();
17255
- }
17256
- this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER = value;
17257
- if (this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER !== null) {
17258
- this._currRec_DO_NOT_USE_DIRECTLY_USE_SETTER_GETTER.SetDcValueId();
17259
- }
17260
- }
17261
- get FlushUpdates() {
17262
- return this._flushUpdates;
17263
- }
17264
- get HasMainTable() {
17265
- return this._hasMainTable;
17266
- }
17267
- get CurrentRecId() {
17268
- return this._currRecId;
17269
- }
17270
- get FirstRecord() {
17271
- return this._recordsTab.getRecByIdx(0);
17272
- }
17273
- get LastRecord() {
17274
- return this._recordsTab.getRecByIdx(this._recordsTab.getSize() - 1);
17275
- }
17276
17403
  Init() {
17277
17404
  this.init();
17278
17405
  }
@@ -18902,6 +19029,12 @@ class ReturnResultBase {
18902
19029
  }
18903
19030
 
18904
19031
  class ReturnResult extends ReturnResultBase {
19032
+ get Success() {
19033
+ return this.success;
19034
+ }
19035
+ get ErrorDescription() {
19036
+ return this.errorDescription;
19037
+ }
18905
19038
  constructor(errorDescriptionCodeOrErrorDescriptionOrInnerResult, innerResult) {
18906
19039
  super();
18907
19040
  this.errorDescription = null;
@@ -18916,12 +19049,6 @@ class ReturnResult extends ReturnResultBase {
18916
19049
  else
18917
19050
  this.constructor_03(errorDescriptionCodeOrErrorDescriptionOrInnerResult);
18918
19051
  }
18919
- get Success() {
18920
- return this.success;
18921
- }
18922
- get ErrorDescription() {
18923
- return this.errorDescription;
18924
- }
18925
19052
  constructor_00(errorDescriptionCode) {
18926
19053
  this.success = false;
18927
19054
  this.ErrorId = errorDescriptionCode;
@@ -19025,13 +19152,13 @@ class Transaction {
19025
19152
  }
19026
19153
 
19027
19154
  class TaskTransactionManager {
19155
+ get isClosingTopmostTask() {
19156
+ return MGDataCollection.Instance.StartupMgData.getFirstTask().InEndTask;
19157
+ }
19028
19158
  constructor(task) {
19029
19159
  this.task = null;
19030
19160
  this.task = task;
19031
19161
  }
19032
- get isClosingTopmostTask() {
19033
- return MGDataCollection.Instance.StartupMgData.getFirstTask().InEndTask;
19034
- }
19035
19162
  AllowTransaction(transBegin, forLocal) {
19036
19163
  let result;
19037
19164
  if (forLocal)
@@ -19412,12 +19539,6 @@ class RemoteDataviewManager extends DataviewManagerBase {
19412
19539
  }
19413
19540
 
19414
19541
  class DataviewManager extends DataviewManagerBase {
19415
- constructor(task) {
19416
- super(task);
19417
- this.RemoteDataviewManager = null;
19418
- this.HasRemoteData = true;
19419
- this.RemoteDataviewManager = new RemoteDataviewManager(task);
19420
- }
19421
19542
  get TaskService() {
19422
19543
  return this.Task.TaskService;
19423
19544
  }
@@ -19432,6 +19553,12 @@ class DataviewManager extends DataviewManagerBase {
19432
19553
  get VirtualDataviewManager() {
19433
19554
  return this.TaskService.GetDataviewManagerForVirtuals(this.Task);
19434
19555
  }
19556
+ constructor(task) {
19557
+ super(task);
19558
+ this.RemoteDataviewManager = null;
19559
+ this.HasRemoteData = true;
19560
+ this.RemoteDataviewManager = new RemoteDataviewManager(task);
19561
+ }
19435
19562
  Execute(command) {
19436
19563
  return __awaiter(this, void 0, void 0, function* () {
19437
19564
  return yield this.CurrentDataviewManager.Execute(command);
@@ -19574,23 +19701,9 @@ class MgForm extends MgFormBase {
19574
19701
  dv = this._task.DataView;
19575
19702
  return (dv);
19576
19703
  }
19577
- moveInView(unit, direction, returnToCtrl) {
19578
- return __awaiter(this, void 0, void 0, function* () {
19579
- if (isNullOrUndefined(returnToCtrl))
19580
- yield this.moveInView_0(unit, direction);
19581
- else
19582
- yield this.moveInView_1(unit, direction, returnToCtrl);
19583
- });
19584
- }
19585
- moveInView_0(unit, direction) {
19586
- return __awaiter(this, void 0, void 0, function* () {
19587
- yield this.moveInView(unit, direction, true);
19588
- });
19589
- }
19590
- moveInView_1(unit, direction, returnToCtrl) {
19704
+ moveInView(unit, direction) {
19591
19705
  return __awaiter(this, void 0, void 0, function* () {
19592
19706
  let oldRecId = Int32.MinValue;
19593
- let lastParkedCtrl;
19594
19707
  let currRec = this.GetDataview().getCurrRec();
19595
19708
  let oldTaskMode = ' ';
19596
19709
  let returnToVisibleLine = false;
@@ -19845,15 +19958,6 @@ class MgForm extends MgFormBase {
19845
19958
  else
19846
19959
  this.SetTableTopIndex();
19847
19960
  yield AccessHelper.eventsManager.handleInternalEventWithTask(this._task, InternalInterface.MG_ACT_REC_PREFIX);
19848
- if (returnToCtrl) {
19849
- lastParkedCtrl = this._task.getLastParkedCtrl();
19850
- if (lastParkedCtrl != null) {
19851
- let cursorMoved = yield lastParkedCtrl.invoke();
19852
- if (!cursorMoved) {
19853
- yield AccessHelper.eventsManager.HandleNonParkableControls(this._task);
19854
- }
19855
- }
19856
- }
19857
19961
  }
19858
19962
  catch (e) {
19859
19963
  if (e instanceof RecordOutOfDataViewException) {
@@ -20442,8 +20546,13 @@ class MgForm extends MgFormBase {
20442
20546
  finally {
20443
20547
  this._inRefreshDisp = false;
20444
20548
  }
20445
- if (refreshType === Constants.TASK_REFRESH_CURR_REC && (!_super.isLineMode.call(this) || this._tableRefreshed))
20549
+ if (refreshType === Constants.TASK_REFRESH_CURR_REC && (!_super.isLineMode.call(this) || this._tableRefreshed)) {
20446
20550
  this.FormRefreshed = true;
20551
+ if (this._task.isFirstRecordCycle() || AccessHelper.eventsManager.getIsInViewRefresh()) {
20552
+ Commands.addNoParameters(CommandType.SET_WC_IDLE, this);
20553
+ AccessHelper.eventsManager.setIsInViewRefresh(false);
20554
+ }
20555
+ }
20447
20556
  return true;
20448
20557
  });
20449
20558
  }
@@ -21901,8 +22010,12 @@ class EventHandler {
21901
22010
  continue;
21902
22011
  else if (this._operationTab.getOperation(oper.getBlockEnd()).getServerId() < nextOperIdx)
21903
22012
  continue;
21904
- if (!taskEnd)
21905
- yield this._task.evalEndCond(ConstInterface.END_COND_EVAL_IMMIDIATE);
22013
+ if (!taskEnd) {
22014
+ let mainLevel = this._task.getMainLevel().toLowerCase();
22015
+ if ((yield this._task.evalEndCond(ConstInterface.END_COND_EVAL_IMMIDIATE)) && Environment.Instance.getSpecialImmediateHandlerEnd() &&
22016
+ mainLevel != "RP".toLowerCase() && mainLevel != "TP".toLowerCase() && mainLevel != "RS".toLowerCase() && mainLevel != "TS".toLowerCase())
22017
+ break;
22018
+ }
21906
22019
  if (this._taskMgdID !== mgdID)
21907
22020
  isChangedCurrWndRef.value = true;
21908
22021
  if (!this._task.isMainProg() && this._task.isOpenWin())
@@ -22713,13 +22826,6 @@ class UserEventsTable {
22713
22826
  }
22714
22827
 
22715
22828
  class FormsTable {
22716
- constructor(task, parentForm) {
22717
- this._task = null;
22718
- this._parentForm = null;
22719
- this._formsStringXml = null;
22720
- this._task = task;
22721
- this._parentForm = parentForm;
22722
- }
22723
22829
  get Count() {
22724
22830
  return this._formsStringXml.length;
22725
22831
  }
@@ -22728,6 +22834,13 @@ class FormsTable {
22728
22834
  return this._formsStringXml.get_Item(formDisplayIndex - 1);
22729
22835
  return null;
22730
22836
  }
22837
+ constructor(task, parentForm) {
22838
+ this._task = null;
22839
+ this._parentForm = null;
22840
+ this._formsStringXml = null;
22841
+ this._task = task;
22842
+ this._parentForm = parentForm;
22843
+ }
22731
22844
  fillData() {
22732
22845
  return __awaiter(this, void 0, void 0, function* () {
22733
22846
  this._formsStringXml = new List();
@@ -22923,6 +23036,47 @@ var Task_Direction;
22923
23036
  Task_Direction[Task_Direction["FORE"] = 1] = "FORE";
22924
23037
  })(Task_Direction || (Task_Direction = {}));
22925
23038
  class Task extends TaskBase {
23039
+ get ParentTask() {
23040
+ return this._parentTask;
23041
+ }
23042
+ set TryingToCommit(value) {
23043
+ this._tryingToCommit = value;
23044
+ }
23045
+ get TryingToCommit() {
23046
+ return this._tryingToCommit;
23047
+ }
23048
+ get TaskService() {
23049
+ if (this._taskService == null)
23050
+ this._taskService = new RemoteTaskService();
23051
+ return this._taskService;
23052
+ }
23053
+ static get CommandsProcessor() {
23054
+ return CommandsProcessorManager.GetCommandsProcessor();
23055
+ }
23056
+ get LogicalStudioParentTask() {
23057
+ if (this.StudioParentTask === null && !super.isMainProg()) {
23058
+ return GuiDataCollection.MGDataTable.GetMainProgByCtlIdx(this.ContextID, this._ctlIdx);
23059
+ }
23060
+ return this.StudioParentTask;
23061
+ }
23062
+ get KnownToServer() {
23063
+ return this._knownToServer;
23064
+ }
23065
+ set Transaction(value) {
23066
+ this.DataviewManager.CurrentDataviewManager.Transaction = value;
23067
+ }
23068
+ get Transaction() {
23069
+ return this.DataviewManager.CurrentDataviewManager.Transaction;
23070
+ }
23071
+ get TaskDefinitionId() {
23072
+ if (this.taskDefinitionId === null) {
23073
+ this.taskDefinitionId = new TaskDefinitionId(this._ctlIdx, this.ProgramIsn, this.TaskIsn, this._isPrg);
23074
+ }
23075
+ return this.taskDefinitionId;
23076
+ }
23077
+ static get IsBlockingBatch() {
23078
+ return false;
23079
+ }
22926
23080
  constructor(parent) {
22927
23081
  super();
22928
23082
  this._dvCache = null;
@@ -22991,47 +23145,6 @@ class Task extends TaskBase {
22991
23145
  }
22992
23146
  this.constructor_1(parent);
22993
23147
  }
22994
- get ParentTask() {
22995
- return this._parentTask;
22996
- }
22997
- set TryingToCommit(value) {
22998
- this._tryingToCommit = value;
22999
- }
23000
- get TryingToCommit() {
23001
- return this._tryingToCommit;
23002
- }
23003
- get TaskService() {
23004
- if (this._taskService == null)
23005
- this._taskService = new RemoteTaskService();
23006
- return this._taskService;
23007
- }
23008
- static get CommandsProcessor() {
23009
- return CommandsProcessorManager.GetCommandsProcessor();
23010
- }
23011
- get LogicalStudioParentTask() {
23012
- if (this.StudioParentTask === null && !super.isMainProg()) {
23013
- return GuiDataCollection.MGDataTable.GetMainProgByCtlIdx(this.ContextID, this._ctlIdx);
23014
- }
23015
- return this.StudioParentTask;
23016
- }
23017
- get KnownToServer() {
23018
- return this._knownToServer;
23019
- }
23020
- set Transaction(value) {
23021
- this.DataviewManager.CurrentDataviewManager.Transaction = value;
23022
- }
23023
- get Transaction() {
23024
- return this.DataviewManager.CurrentDataviewManager.Transaction;
23025
- }
23026
- get TaskDefinitionId() {
23027
- if (this.taskDefinitionId === null) {
23028
- this.taskDefinitionId = new TaskDefinitionId(this._ctlIdx, this.ProgramIsn, this.TaskIsn, this._isPrg);
23029
- }
23030
- return this.taskDefinitionId;
23031
- }
23032
- static get IsBlockingBatch() {
23033
- return false;
23034
- }
23035
23148
  constructor_0() {
23036
23149
  this.ActionManager = new ActionManager();
23037
23150
  this.DataView = new DataView(this);
@@ -24910,6 +25023,7 @@ class Task extends TaskBase {
24910
25023
  this.ActionManager.enable(InternalInterface.MG_ACT_SORT_RECORDS, enable);
24911
25024
  enable = yield this.checkProp(PropInterface.PROP_TYPE_TASK_PROPERTIES_ALLOW_INDEX, true);
24912
25025
  this.ActionManager.enable(InternalInterface.MG_ACT_VIEW_BY_KEY, enable);
25026
+ this.ActionManager.enable(InternalInterface.MG_ACT_DUMP_ENVIRONMENT, true);
24913
25027
  });
24914
25028
  }
24915
25029
  setEnableZoomHandler() {
@@ -25529,6 +25643,9 @@ class CompMainPrgTable {
25529
25643
  }
25530
25644
 
25531
25645
  class MGData {
25646
+ get ForceModal() {
25647
+ return this.forceModal;
25648
+ }
25532
25649
  constructor(toClient, toServer, id, parent, isModal, forceModal) {
25533
25650
  this._expHandlers = null;
25534
25651
  this._id = 0;
@@ -25549,9 +25666,6 @@ class MGData {
25549
25666
  else
25550
25667
  this.constructor_1(id, parent, isModal, forceModal);
25551
25668
  }
25552
- get ForceModal() {
25553
- return this.forceModal;
25554
- }
25555
25669
  constructor_0(id, parent, isModal) {
25556
25670
  this._timerHandlers = new HandlersTable();
25557
25671
  this._expHandlers = new HandlersTable();
@@ -26164,6 +26278,7 @@ class EventsManager {
26164
26278
  this.confirmationDialogTitle = 'Session is about to be terminated!';
26165
26279
  this._lastFailedFocusedControl = null;
26166
26280
  this.isSpinnerShown = false;
26281
+ this.isInViewRefresh = false;
26167
26282
  this.SpinnerStopped = new Subject();
26168
26283
  this._rtEvents = new Stack();
26169
26284
  this._eventsQueue = new MgPriorityBlockingQueue();
@@ -28082,6 +28197,7 @@ class EventsManager {
28082
28197
  }
28083
28198
  break;
28084
28199
  case InternalInterface.MG_ACT_SERVER_TERMINATION:
28200
+ case InternalInterface.MG_ACT_DUMP_ENVIRONMENT:
28085
28201
  cmd = CommandFactory.CreateEventCommand(task.getTaskTag(), intEvtCode);
28086
28202
  cmdsToServer.Add(cmd);
28087
28203
  yield CommandsProcessorManager.GetCommandsProcessor().Execute(CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS);
@@ -28417,6 +28533,7 @@ class EventsManager {
28417
28533
  else if (intEvtCode === InternalInterface.MG_ACT_RT_REFRESH_SCREEN && task.getMode() !== Constants.TASK_MODE_QUERY && !task.getAfterRetry()) {
28418
28534
  yield dv.currRecCompute(true);
28419
28535
  }
28536
+ this.setIsInViewRefresh(true);
28420
28537
  yield this.handleInternalEventWithTask(task, InternalInterface.MG_ACT_REC_PREFIX);
28421
28538
  if (!this.GetStopExecutionFlag() && !task.getPreventControlChange()) {
28422
28539
  if (!(task === LastFocusedManager.Instance.getLastFocusedTask() || !task.pathContains(LastFocusedManager.Instance.getLastFocusedTask())))
@@ -29171,6 +29288,12 @@ class EventsManager {
29171
29288
  return false;
29172
29289
  return true;
29173
29290
  }
29291
+ getIsInViewRefresh() {
29292
+ return this.isInViewRefresh;
29293
+ }
29294
+ setIsInViewRefresh(inViewRefresh) {
29295
+ this.isInViewRefresh = inViewRefresh;
29296
+ }
29174
29297
  }
29175
29298
  EventsManager.REAL_ONLY = true;
29176
29299
  EventsManager.MAX_OPER = 9999;
@@ -29693,13 +29816,6 @@ class VerifyCommand extends ClientTargetedCommandBase {
29693
29816
  }
29694
29817
 
29695
29818
  class EnhancedVerifyCommand extends VerifyCommand {
29696
- constructor() {
29697
- super();
29698
- this._buttonsID = '\0';
29699
- this._image = '\0';
29700
- this._returnValStr = null;
29701
- this._returnVal = null;
29702
- }
29703
29819
  ProcessMessageBoxResponse(task, returnValue) {
29704
29820
  return __awaiter(this, void 0, void 0, function* () {
29705
29821
  if (task !== null)
@@ -29732,6 +29848,13 @@ class EnhancedVerifyCommand extends VerifyCommand {
29732
29848
  break;
29733
29849
  }
29734
29850
  }
29851
+ constructor() {
29852
+ super();
29853
+ this._buttonsID = '\0';
29854
+ this._image = '\0';
29855
+ this._returnValStr = null;
29856
+ this._returnVal = null;
29857
+ }
29735
29858
  }
29736
29859
 
29737
29860
  class ResetRangeCommand extends ClientTargetedCommandBase {
@@ -29836,12 +29959,6 @@ class ResetLocateCommand extends ClientTargetedCommandBase {
29836
29959
  }
29837
29960
 
29838
29961
  class ResultCommand extends ClientTargetedCommandBase {
29839
- constructor() {
29840
- super();
29841
- this._isNull = false;
29842
- this._attr = StorageAttribute.NONE;
29843
- this._val = null;
29844
- }
29845
29962
  Execute(res) {
29846
29963
  return __awaiter(this, void 0, void 0, function* () {
29847
29964
  if (this._isNull)
@@ -29869,6 +29986,12 @@ class ResultCommand extends ClientTargetedCommandBase {
29869
29986
  break;
29870
29987
  }
29871
29988
  }
29989
+ constructor() {
29990
+ super();
29991
+ this._isNull = false;
29992
+ this._attr = StorageAttribute.NONE;
29993
+ this._val = null;
29994
+ }
29872
29995
  }
29873
29996
 
29874
29997
  class AddSortCommand extends ClientTargetedCommandBase {
@@ -30239,19 +30362,9 @@ class CommandsTable {
30239
30362
  }
30240
30363
  }
30241
30364
 
30242
- let CurrentClientVersion = '4.1000.0-dev4100.99';
30365
+ let CurrentClientVersion = '4.1000.0';
30243
30366
 
30244
30367
  class ClientManager {
30245
- constructor() {
30246
- this._globalUniqueSessionId = null;
30247
- this._buttonIsClicked = false;
30248
- RuntimeContextBase.Instance.Init(RemoteCommandsProcessor.RC_NO_CONTEXT_ID);
30249
- LastFocusedManager.Instance.Init(MGDataCollection.Instance);
30250
- LastFocusedManager.Instance.LastActionTime = Misc.getSystemMilliseconds();
30251
- RemoteCommandsProcessor.ShouldScrambleAndUnscrambleMessages = true;
30252
- this._globalUniqueSessionId = UniqueIDUtils.GetUniqueMachineID() + "_";
30253
- this.RegisterDelegates();
30254
- }
30255
30368
  static get Instance() {
30256
30369
  if (ClientManager._instance === null)
30257
30370
  ClientManager._instance = new ClientManager();
@@ -30453,6 +30566,16 @@ class ClientManager {
30453
30566
  Logger.Instance.WriteToLog("-----------------------------------------------------------------------------", true);
30454
30567
  }
30455
30568
  }
30569
+ constructor() {
30570
+ this._globalUniqueSessionId = null;
30571
+ this._buttonIsClicked = false;
30572
+ RuntimeContextBase.Instance.Init(RemoteCommandsProcessor.RC_NO_CONTEXT_ID);
30573
+ LastFocusedManager.Instance.Init(MGDataCollection.Instance);
30574
+ LastFocusedManager.Instance.LastActionTime = Misc.getSystemMilliseconds();
30575
+ RemoteCommandsProcessor.ShouldScrambleAndUnscrambleMessages = true;
30576
+ this._globalUniqueSessionId = UniqueIDUtils.GetUniqueMachineID() + "_";
30577
+ this.RegisterDelegates();
30578
+ }
30456
30579
  InitGuiManager() {
30457
30580
  Manager.EventsManager = EventsManager.Instance;
30458
30581
  Manager.DefaultServerName = ServerConfig.Instance.getServer();
@@ -30508,7 +30631,7 @@ class ClientManager {
30508
30631
  yield MGDataCollection.Instance.addMGData(mgd, 0, true);
30509
30632
  yield ClientManager.Instance.WorkThreadExecution();
30510
30633
  if (Logger.Instance.ShouldLog()) {
30511
- Logger.Instance.WriteToLog(OSEnvironment.EolSeq + "Ended on " + DateTimeUtils.ToString(DateTime.Now, "dd/MM/yyyy", Logger.Instance) + OSEnvironment.EolSeq + OSEnvironment.EolSeq, false);
30634
+ Logger.Instance.WriteToLog(OSEnvironment.EolSeq + "Ended on " + DateTimeUtils.ToString(DateTime.Now, XMLConstants.ERROR_LOG_DATE_FORMAT, Logger.Instance) + OSEnvironment.EolSeq + OSEnvironment.EolSeq, false);
30512
30635
  }
30513
30636
  }
30514
30637
  else {