@magic-xpa/gui 4.900.0-dev491.7 → 4.901.0-ang15-dev491.310

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.
@@ -26,8 +26,6 @@ class GuiMgForm extends ControlBase {
26
26
  }
27
27
 
28
28
  class Events {
29
- constructor() {
30
- }
31
29
  static OnFocus(ctrl, line, isProduceClick, onMultiMark) {
32
30
  Debug.Assert(Events.FocusEvent !== null);
33
31
  Events.FocusEvent(ctrl, line, isProduceClick, onMultiMark);
@@ -376,6 +374,8 @@ class Events {
376
374
  Events.CopyDataEvent(guiMgForm, copyData);
377
375
  }
378
376
  }
377
+ constructor() {
378
+ }
379
379
  }
380
380
  Events.NonParkableLastParkedCtrlEvent = null;
381
381
  Events.IsBatchRunningInMainContextEvent = null;
@@ -1154,8 +1154,6 @@ class GuiCommand {
1154
1154
  }
1155
1155
 
1156
1156
  class Commands {
1157
- constructor() {
1158
- }
1159
1157
  static SetResolveCallback(resolveCallback) {
1160
1158
  this.resolveCallback = resolveCallback;
1161
1159
  }
@@ -1320,6 +1318,8 @@ class Commands {
1320
1318
  static invoke() {
1321
1319
  GuiCommandQueue.getInstance().invoke();
1322
1320
  }
1321
+ constructor() {
1322
+ }
1323
1323
  }
1324
1324
  Commands.resolveCallback = null;
1325
1325
 
@@ -1599,7 +1599,7 @@ class Manager {
1599
1599
  }
1600
1600
  static SetReadOnlyControl(ctrl, isReadOnly) {
1601
1601
  return __awaiter(this, void 0, void 0, function* () {
1602
- if (ctrl.isTextControl() || ctrl.IsRepeatable) {
1602
+ if (ctrl.isTextControl() || ctrl.IsRepeatable || ctrl.isComboBox() || ctrl.isListBox() || ctrl.isCheckBox() || ctrl.isRadio()) {
1603
1603
  if (UtilStrByteMode.isLocaleDefLangDBCS()) {
1604
1604
  if (yield ctrl.getForm().getTask().checkProp(PropInterface.PROP_TYPE_ALLOW_LOCATE_IN_QUERY, false))
1605
1605
  return;
@@ -2030,6 +2030,7 @@ class PIC {
2030
2030
  this._maskChars = 0;
2031
2031
  this._maskSize = 0;
2032
2032
  this._mixed = false;
2033
+ this._formatExp = false;
2033
2034
  this._msk = null;
2034
2035
  this._needLength = false;
2035
2036
  this._negative = false;
@@ -2117,6 +2118,12 @@ class PIC {
2117
2118
  decInFirstPos() {
2118
2119
  return this._decPointIsFirst;
2119
2120
  }
2121
+ setFormatExp(val) {
2122
+ this._formatExp = val;
2123
+ }
2124
+ isFormatExp() {
2125
+ return this._formatExp;
2126
+ }
2120
2127
  getPosPref_() {
2121
2128
  return this._posPref.ToString();
2122
2129
  }
@@ -3270,6 +3277,12 @@ class ValidationDetailsBase {
3270
3277
  }
3271
3278
 
3272
3279
  class NUM_TYPE {
3280
+ set Data(value) {
3281
+ this._data = value;
3282
+ }
3283
+ get Data() {
3284
+ return this._data;
3285
+ }
3273
3286
  constructor(recordHexStrOrByteValOrDecStrOrNumFrom, offsetOrPic, lengthOrCompIdx) {
3274
3287
  this.COMMACHAR = ',';
3275
3288
  this.DECIMALCHAR = '.';
@@ -3297,12 +3310,6 @@ class NUM_TYPE {
3297
3310
  }
3298
3311
  this.constructor_5(recordHexStrOrByteValOrDecStrOrNumFrom);
3299
3312
  }
3300
- set Data(value) {
3301
- this._data = value;
3302
- }
3303
- get Data() {
3304
- return this._data;
3305
- }
3306
3313
  constructor_0() {
3307
3314
  this.initConst();
3308
3315
  this.NUM_ZERO();
@@ -5316,17 +5323,17 @@ HebrewDate.DOW_LEN = 5;
5316
5323
  HebrewDate._localDows = new Array(8);
5317
5324
 
5318
5325
  class DisplayConvertor {
5319
- constructor() {
5320
- this._environment = null;
5321
- this.DATECHAR = 0;
5322
- this._environment = GuiEnvironment.Environment;
5323
- }
5324
5326
  static get Instance() {
5325
5327
  if (DisplayConvertor._instance === null) {
5326
5328
  DisplayConvertor._instance = new DisplayConvertor();
5327
5329
  }
5328
5330
  return DisplayConvertor._instance;
5329
5331
  }
5332
+ constructor() {
5333
+ this._environment = null;
5334
+ this.DATECHAR = 0;
5335
+ this._environment = GuiEnvironment.Environment;
5336
+ }
5330
5337
  getNewDateBreakParams() {
5331
5338
  return new DateBreakParams();
5332
5339
  }
@@ -5645,25 +5652,16 @@ class DisplayConvertor {
5645
5652
  case PICInterface.PIC_YY:
5646
5653
  {
5647
5654
  this.int_2_a(outVal, outIdx, 2, breakParams.year, '0');
5648
- let yearStr = NString.FromChars(outVal);
5649
- year = +yearStr.substr(outIdx);
5650
- outIdx += 2;
5651
- len -= 2;
5652
- }
5653
- break;
5654
- case PICInterface.PIC_YY:
5655
- {
5656
- this.int_2_a(outVal, outIdx, 2, breakParams.year, '0');
5657
- let yearStr = NString.FromChars(outVal);
5658
- year = +yearStr.substr(outIdx);
5655
+ let yearStr = NString.FromChars(outVal, outIdx, 2);
5656
+ year = +yearStr;
5659
5657
  outIdx += 2;
5660
5658
  len -= 2;
5661
5659
  }
5662
5660
  break;
5663
5661
  case PICInterface.PIC_YYYY:
5664
- this.int_2_a(outVal, outIdx, 4, year, '0');
5665
- let yearStr = NString.FromChars(outVal);
5666
- year = +yearStr.substr(outIdx);
5662
+ this.int_2_a(outVal, outIdx, 4, breakParams.year, '0');
5663
+ let yearStr = NString.FromChars(outVal, outIdx, 4);
5664
+ year = +yearStr;
5667
5665
  outIdx += 4;
5668
5666
  len -= 4;
5669
5667
  break;
@@ -8017,6 +8015,12 @@ class CellElement {
8017
8015
  }
8018
8016
 
8019
8017
  class FieldDef {
8018
+ set DbModifiable(value) {
8019
+ this._dbModifiable = value;
8020
+ }
8021
+ get DbModifiable() {
8022
+ return this._dbModifiable;
8023
+ }
8020
8024
  constructor(id) {
8021
8025
  this.DefaultValue = null;
8022
8026
  this.NullAllowed = false;
@@ -8040,12 +8044,6 @@ class FieldDef {
8040
8044
  this._id = id;
8041
8045
  this.VarDisplayName = NString.Empty;
8042
8046
  }
8043
- set DbModifiable(value) {
8044
- this._dbModifiable = value;
8045
- }
8046
- get DbModifiable() {
8047
- return this._dbModifiable;
8048
- }
8049
8047
  get PartOfDataview() {
8050
8048
  return this._partOfDataview;
8051
8049
  }
@@ -8779,6 +8777,9 @@ class CustomValidator {
8779
8777
  getErrMessage() { return this._errorMessage; }
8780
8778
  }
8781
8779
  class Property {
8780
+ get TaskDefinitionId() {
8781
+ return this._taskDefinitionId;
8782
+ }
8782
8783
  constructor(cId, cParentObj, parType, val) {
8783
8784
  this._id = Int32.MinValue;
8784
8785
  this._dataType = StorageAttribute.NONE;
@@ -8803,9 +8804,6 @@ class Property {
8803
8804
  else
8804
8805
  this.constructor_2(cId, cParentObj, parType, val);
8805
8806
  }
8806
- get TaskDefinitionId() {
8807
- return this._taskDefinitionId;
8808
- }
8809
8807
  constructor_0() {
8810
8808
  this._prevValues = new List();
8811
8809
  }
@@ -9848,7 +9846,7 @@ class Property {
9848
9846
  return __awaiter(this, void 0, void 0, function* () {
9849
9847
  if (this._parentType === GuiConstants.PARENT_TYPE_CONTROL) {
9850
9848
  let ctrl = this._parentObj;
9851
- if (ctrl.isTextControl()) {
9849
+ if (ctrl.isTextControl() || ctrl.isChoiceControl() || ctrl.isCheckBox()) {
9852
9850
  let task = this.GetTaskByParentObject();
9853
9851
  let readOnlyValue = !this.GetComputedValueBoolean();
9854
9852
  if ((readOnlyValue || task.getMode() !== Constants.TASK_MODE_QUERY) && ctrl.GetCurrReadOnly() !== readOnlyValue) {
@@ -10439,7 +10437,7 @@ class FieldValidator {
10439
10437
  return valDet;
10440
10438
  }
10441
10439
  if (ctrl.DataType !== StorageAttribute.ALPHA && ctrl.DataType !== StorageAttribute.UNICODE && ctrl.DataType !== StorageAttribute.BLOB) {
10442
- if ((typeof this._newvalue === 'string' && this._newvalue.trim().length === 0) || (ctrl.DataType === StorageAttribute.DATE && (ctrl.isDateZero(this._newvalue) || this.isNullDisplayVal()))) {
10440
+ if ((typeof this._newvalue === 'string' && this._newvalue.trim().length === 0) || (ctrl.DataType == StorageAttribute.NUMERIC && this._newvalue == null) || (ctrl.DataType === StorageAttribute.DATE && (ctrl.isDateZero(this._newvalue) || this.isNullDisplayVal()))) {
10443
10441
  let field = ctrl.getField();
10444
10442
  let defaultValue = field.getDefaultValue();
10445
10443
  let text = null;
@@ -11096,6 +11094,15 @@ class FieldValidator {
11096
11094
  }
11097
11095
 
11098
11096
  class ValidationDetails extends ValidationDetailsBase {
11097
+ get ErrorMessage() {
11098
+ return this.errMessage;
11099
+ }
11100
+ set ErrorMessage(msg) {
11101
+ this.errMessage = msg;
11102
+ }
11103
+ get ValidationFailed() {
11104
+ return this._validationFailed;
11105
+ }
11099
11106
  constructor(oldvalueOrRangeStrOrVd, val, range, pic, control) {
11100
11107
  super();
11101
11108
  this._control = null;
@@ -11116,15 +11123,6 @@ class ValidationDetails extends ValidationDetailsBase {
11116
11123
  else if (arguments.length === 1 && (oldvalueOrRangeStrOrVd === null || oldvalueOrRangeStrOrVd instanceof ValidationDetails))
11117
11124
  this.constructor_2(oldvalueOrRangeStrOrVd);
11118
11125
  }
11119
- get ErrorMessage() {
11120
- return this.errMessage;
11121
- }
11122
- set ErrorMessage(msg) {
11123
- this.errMessage = msg;
11124
- }
11125
- get ValidationFailed() {
11126
- return this._validationFailed;
11127
- }
11128
11126
  constructor_0(oldvalue, val, range, pic, control) {
11129
11127
  this._picData = pic;
11130
11128
  this._oldvalue = oldvalue;
@@ -11341,6 +11339,9 @@ class ValidationDetails extends ValidationDetailsBase {
11341
11339
  const EMPTY_DCREF = -2;
11342
11340
  const NOT_FOUND = GuiConstants.DEFAULT_VALUE_INT;
11343
11341
  class DcValues {
11342
+ get HasReferences() {
11343
+ return this._refCount > 0;
11344
+ }
11344
11345
  constructor(empty) {
11345
11346
  this._id = 0;
11346
11347
  this._type = StorageAttribute.NONE;
@@ -11355,9 +11356,6 @@ class DcValues {
11355
11356
  }
11356
11357
  this._isNumericType = false;
11357
11358
  }
11358
- get HasReferences() {
11359
- return this._refCount > 0;
11360
- }
11361
11359
  GetAttr() {
11362
11360
  return this._type;
11363
11361
  }
@@ -11618,6 +11616,16 @@ class FocusManager {
11618
11616
  }
11619
11617
 
11620
11618
  class MgControlBase extends GuiControlPropertyAdapter {
11619
+ set Form(value) {
11620
+ this._form = value;
11621
+ this.GuiMgForm = value;
11622
+ }
11623
+ get Form() {
11624
+ return this._form;
11625
+ }
11626
+ get ControlIsn() {
11627
+ return this._controlIsn;
11628
+ }
11621
11629
  constructor(type, parentMgForm, parentControl) {
11622
11630
  super();
11623
11631
  this._ditIdx = 0;
@@ -11635,7 +11643,6 @@ class MgControlBase extends GuiControlPropertyAdapter {
11635
11643
  this._firstRefreshProperties = true;
11636
11644
  this._form = null;
11637
11645
  this._hasValidItmAndDispVal = false;
11638
- this._id = -1;
11639
11646
  this._controlIsn = -1;
11640
11647
  this._linkedParentDitIdx = -1;
11641
11648
  this._orgChoiceDisps = null;
@@ -11671,19 +11678,6 @@ class MgControlBase extends GuiControlPropertyAdapter {
11671
11678
  }
11672
11679
  this.constructor_1(type, parentMgForm, parentControl);
11673
11680
  }
11674
- set Form(value) {
11675
- this._form = value;
11676
- this.GuiMgForm = value;
11677
- }
11678
- get Form() {
11679
- return this._form;
11680
- }
11681
- get Id() {
11682
- return this._id;
11683
- }
11684
- get ControlIsn() {
11685
- return this._controlIsn;
11686
- }
11687
11681
  constructor_0() {
11688
11682
  this._linkedControls = new List();
11689
11683
  this.DataType = StorageAttribute.NONE;
@@ -11906,9 +11900,6 @@ class MgControlBase extends GuiControlPropertyAdapter {
11906
11900
  case XMLConstants.MG_ATTR_CONTAINER:
11907
11901
  this.setContainer(XmlParser.getInt(valueStr));
11908
11902
  break;
11909
- case XMLConstants.MG_ATTR_ID:
11910
- this._id = XmlParser.getInt(valueStr);
11911
- break;
11912
11903
  case XMLConstants.MG_ATTR_CONTROL_ISN:
11913
11904
  this._controlIsn = XmlParser.getInt(valueStr);
11914
11905
  break;
@@ -12043,6 +12034,8 @@ class MgControlBase extends GuiControlPropertyAdapter {
12043
12034
  }
12044
12035
  }
12045
12036
  getPIC() {
12037
+ if (this._picExpExists)
12038
+ this._pic.setFormatExp(this._picExpExists);
12046
12039
  return this._pic;
12047
12040
  }
12048
12041
  getParent() {
@@ -12121,7 +12114,7 @@ class MgControlBase extends GuiControlPropertyAdapter {
12121
12114
  }
12122
12115
  getRangedValue(newVal) {
12123
12116
  let vd;
12124
- vd = this.buildCopyPicture(this.Value, newVal);
12117
+ vd = this.buildPicture(this.Value, newVal);
12125
12118
  vd.evaluate();
12126
12119
  this.ModifiedByUser = true;
12127
12120
  let val = vd.getDispValue();
@@ -12131,7 +12124,7 @@ class MgControlBase extends GuiControlPropertyAdapter {
12131
12124
  let vd;
12132
12125
  let modified = this.ModifiedByUser;
12133
12126
  this.ModifiedByUser = true;
12134
- vd = this.buildCopyPicture(this.Value, newVal);
12127
+ vd = this.buildPicture(this.Value, newVal);
12135
12128
  vd.evaluate();
12136
12129
  this.ModifiedByUser = modified;
12137
12130
  if (vd.ValidationFailed)
@@ -13205,6 +13198,11 @@ class MgControlBase extends GuiControlPropertyAdapter {
13205
13198
  if (prevMustInput !== (yield this.checkProp(PropInterface.PROP_TYPE_MUST_INPUT, false)))
13206
13199
  Commands.addOperationWithLine(CommandType.SET_PROPERTY, this, this.getDisplayLine(false), HtmlProperties.MustInput, !prevMustInput);
13207
13200
  }
13201
+ else if (mustInputProperty != null) {
13202
+ let mustInputVal = this.GetComputedBooleanProperty(PropInterface.PROP_TYPE_MUST_INPUT, false);
13203
+ if (mustInputVal)
13204
+ Commands.addOperationWithLine(CommandType.SET_PROPERTY, this, this.getDisplayLine(false), HtmlProperties.MustInput, mustInputVal);
13205
+ }
13208
13206
  if (!this.GetComputedBooleanProperty(PropInterface.PROP_TYPE_TAB_IN, true))
13209
13207
  Commands.addOperationWithLine(CommandType.SET_PROPERTY, this, this.getDisplayLine(false), HtmlProperties.TabIndex, -1);
13210
13208
  }
@@ -13553,15 +13551,17 @@ class MgControlBase extends GuiControlPropertyAdapter {
13553
13551
  return __awaiter(this, void 0, void 0, function* () {
13554
13552
  if (this.isTextControl() && this.checkIfExistProp(PropInterface.PROP_TYPE_CONNECTED_ZOOM_CONTROL)) {
13555
13553
  let connectedButton = this.Form.CtrlTab.GetControlByIsn((yield (yield this.getProp(PropInterface.PROP_TYPE_CONNECTED_ZOOM_CONTROL)).getValueInt()));
13556
- let imageFileName = null;
13557
- if (connectedButton.IsImageButton() && connectedButton.PropertyExists(PropInterface.PROP_TYPE_IMAGE_FILENAME)) {
13558
- imageFileName = yield (yield connectedButton.getProp(PropInterface.PROP_TYPE_IMAGE_FILENAME)).getValue();
13559
- if (!Misc.IsWebUrl(imageFileName))
13560
- imageFileName = "./assets/images/" + imageFileName;
13561
- Commands.addOperationWithLine(CommandType.SET_STYLE, this, 0, MagicProperties.ImageFile, imageFileName);
13554
+ if (connectedButton) {
13555
+ let imageFileName = null;
13556
+ if (connectedButton.IsImageButton() && connectedButton.PropertyExists(PropInterface.PROP_TYPE_IMAGE_FILENAME)) {
13557
+ imageFileName = yield (yield connectedButton.getProp(PropInterface.PROP_TYPE_IMAGE_FILENAME)).getValue();
13558
+ if (!Misc.IsWebUrl(imageFileName))
13559
+ imageFileName = "./assets/images/" + imageFileName;
13560
+ Commands.addOperationWithLine(CommandType.SET_STYLE, this, 0, MagicProperties.ImageFile, imageFileName);
13561
+ }
13562
+ this.ConnectedControl = connectedButton;
13563
+ connectedButton.ConnectedControl = this;
13562
13564
  }
13563
- this.ConnectedControl = connectedButton;
13564
- connectedButton.ConnectedControl = this;
13565
13565
  }
13566
13566
  });
13567
13567
  }
@@ -14123,13 +14123,8 @@ class MgFormBase extends GuiFormPropertyAdapter {
14123
14123
  if (idx >= 0 && idx < this.Rows.length)
14124
14124
  this.Rows.set_Item(idx, new Row(false, false));
14125
14125
  }
14126
- SelectRow(sendAlwaysOrRowIdx, sendAlways) {
14127
- if (arguments.length === 0)
14128
- this.SelectRow_0();
14129
- else if (arguments.length === 1)
14130
- this.SelectRow_1(sendAlwaysOrRowIdx);
14131
- else
14132
- this.SelectRow_2(sendAlwaysOrRowIdx, sendAlways);
14126
+ SelectRow() {
14127
+ this.SelectRowByIdx(this.DisplayLine);
14133
14128
  }
14134
14129
  getRowsInPage() {
14135
14130
  return this._rowsInPage;
@@ -14369,19 +14364,13 @@ class MgFormBase extends GuiFormPropertyAdapter {
14369
14364
  this.Rows.SetSize(idx + 1);
14370
14365
  this.Rows.set_Item(idx, new Row(true, true));
14371
14366
  }
14372
- SelectRow_0() {
14373
- this.SelectRow(false);
14374
- }
14375
- SelectRow_1(sendAlways) {
14376
- this.SelectRow(this.DisplayLine, sendAlways);
14377
- }
14378
- SelectRow_2(rowIdx, sendAlways) {
14367
+ SelectRowByIdx(rowIdx) {
14379
14368
  let mainControl = this.getMainControl();
14380
14369
  if (mainControl !== null && this.RefreshRepeatableAllowed) {
14381
14370
  let index = rowIdx;
14382
14371
  if (this._task.DataView.isEmptyDataview())
14383
14372
  index = GuiConstants.NO_ROW_SELECTED;
14384
- if (sendAlways || index !== this._prevSelIndex) {
14373
+ if (index !== this._prevSelIndex) {
14385
14374
  this._prevSelIndex = index;
14386
14375
  Commands.addOperationWithLine(CommandType.SET_PROPERTY, mainControl, 0, HtmlProperties.SelectedRow, index);
14387
14376
  }
@@ -15545,6 +15534,9 @@ class ExpVal {
15545
15534
  class MagicHelp {
15546
15535
  }
15547
15536
  class InternalHelp extends MagicHelp {
15537
+ GetHelpType() {
15538
+ return HelpType.Internal;
15539
+ }
15548
15540
  constructor() {
15549
15541
  super();
15550
15542
  this.val = null;
@@ -15561,47 +15553,44 @@ class InternalHelp extends MagicHelp {
15561
15553
  this.TitleBar = 0;
15562
15554
  this.FontTableIndex = 0;
15563
15555
  }
15564
- GetHelpType() {
15565
- return HelpType.Internal;
15566
- }
15567
15556
  }
15568
15557
  class PromptpHelp extends MagicHelp {
15558
+ GetHelpType() {
15559
+ return HelpType.Prompt;
15560
+ }
15569
15561
  constructor() {
15570
15562
  super();
15571
15563
  this.PromptHelpText = null;
15572
15564
  }
15573
- GetHelpType() {
15574
- return HelpType.Prompt;
15575
- }
15576
15565
  }
15577
15566
  class ToolTipHelp extends MagicHelp {
15567
+ GetHelpType() {
15568
+ return HelpType.Tooltip;
15569
+ }
15578
15570
  constructor() {
15579
15571
  super();
15580
15572
  this.tooltipHelpText = null;
15581
15573
  }
15582
- GetHelpType() {
15583
- return HelpType.Tooltip;
15584
- }
15585
15574
  }
15586
15575
  class URLHelp extends MagicHelp {
15576
+ GetHelpType() {
15577
+ return HelpType.URL;
15578
+ }
15587
15579
  constructor() {
15588
15580
  super();
15589
15581
  this.urlHelpText = null;
15590
15582
  }
15591
- GetHelpType() {
15592
- return HelpType.URL;
15593
- }
15594
15583
  }
15595
15584
  class WindowsHelp extends MagicHelp {
15585
+ GetHelpType() {
15586
+ return HelpType.Windows;
15587
+ }
15596
15588
  constructor() {
15597
15589
  super();
15598
15590
  this.FilePath = null;
15599
15591
  this.HelpCommand = 0;
15600
15592
  this.HelpKey = null;
15601
15593
  }
15602
- GetHelpType() {
15603
- return HelpType.Windows;
15604
- }
15605
15594
  }
15606
15595
  class Helps {
15607
15596
  constructor() {
@@ -15615,9 +15604,16 @@ class Helps {
15615
15604
  initInnerObjects(foundTagName, parser) {
15616
15605
  if (foundTagName === null)
15617
15606
  return false;
15618
- if (foundTagName === XMLConstants.MG_TAG_HELPTABLE)
15607
+ if (foundTagName === XMLConstants.MG_TAG_HELPTABLE) {
15608
+ let currrentIndex = parser.getCurrIndex();
15609
+ let encoded = parser.ReadContentOfCurrentElement().trim();
15610
+ let decoded = Base64.decode(encoded.substr(0, encoded.length).trim());
15611
+ let newXmlData = parser.getXMLdata().replace(encoded.trim(), decoded);
15612
+ parser.setXMLdata(newXmlData);
15613
+ parser.setCurrIndex(currrentIndex);
15619
15614
  parser.setCurrIndex(parser.getXMLdata().indexOf(XMLConstants.TAG_CLOSE, parser.getCurrIndex()) +
15620
15615
  1);
15616
+ }
15621
15617
  else if (foundTagName === XMLConstants.MG_TAG_HELPITEM) {
15622
15618
  let endContext = parser.getXMLdata().indexOf(XMLConstants.TAG_TERM, parser.getCurrIndex());
15623
15619
  if (endContext !== -1 && endContext < parser.getXMLdata().length) {
@@ -15774,19 +15770,35 @@ class GuiDataCollection {
15774
15770
  GuiDataCollection.MGDataTable = null;
15775
15771
 
15776
15772
  class GuiTaskBase {
15773
+ Init() {
15774
+ this.DataView.Init();
15775
+ }
15776
+ get RouterPath() {
15777
+ return this.routerPath;
15778
+ }
15779
+ get RouterParams() {
15780
+ return this.routeParams;
15781
+ }
15782
+ get InDefaultRouterOutlet() {
15783
+ return this.inDefaultRouterOutlet;
15784
+ }
15785
+ get IsBlockingBatch() {
15786
+ return !this._isMainPrg && this.isOpenWin() && !this._allowEvents && !this.IsInteractive;
15787
+ }
15777
15788
  constructor() {
15778
15789
  this._flowMonitor = null;
15779
15790
  this._keyboardMappingState = 0xFFFF0000;
15780
- this._refreshType = 'T';
15791
+ this._refreshType = "T";
15781
15792
  this._lastParkedCtrl = null;
15782
15793
  this._brkLevel = null;
15783
15794
  this._brkLevelIndex = -1;
15784
15795
  this._mainLevel = null;
15785
- this._level = '\0';
15796
+ this._level = "\0";
15786
15797
  this._enteredRecLevel = false;
15787
15798
  this._currParkedFld = null;
15788
15799
  this.isInRecompute = false;
15789
15800
  this.CurrentEditingControl = null;
15801
+ this.shouldResumeSubformLayout = true;
15790
15802
  this.ApplicationGuid = null;
15791
15803
  this.ProgramIsn = 0;
15792
15804
  this.TaskIsn = 0;
@@ -15817,21 +15829,6 @@ class GuiTaskBase {
15817
15829
  this._nullArithmetic = Constants.NULL_ARITH_USE_DEF;
15818
15830
  this._propTab = new PropTable(this);
15819
15831
  }
15820
- Init() {
15821
- this.DataView.Init();
15822
- }
15823
- get RouterPath() {
15824
- return this.routerPath;
15825
- }
15826
- get RouterParams() {
15827
- return this.routeParams;
15828
- }
15829
- get InDefaultRouterOutlet() {
15830
- return this.inDefaultRouterOutlet;
15831
- }
15832
- get IsBlockingBatch() {
15833
- return !this._isMainPrg && this.isOpenWin() && !this._allowEvents && !this.IsInteractive;
15834
- }
15835
15832
  getTaskTag() {
15836
15833
  return this._taskTag;
15837
15834
  }
@@ -15936,7 +15933,7 @@ class GuiTaskBase {
15936
15933
  return this._helpTab.getHelp(idx);
15937
15934
  }
15938
15935
  setProp(propId, val) {
15939
- this._propTab.setProp(propId, val, this, 'T');
15936
+ this._propTab.setProp(propId, val, this, "T");
15940
15937
  }
15941
15938
  setBrkLevel(cBrkLevel, NewBrkLevelIndex) {
15942
15939
  this._brkLevel = cBrkLevel;
@@ -16044,6 +16041,15 @@ class GuiTaskBase {
16044
16041
  }
16045
16042
  });
16046
16043
  }
16044
+ ResumeSubformLayout() {
16045
+ if (this.Form !== null) {
16046
+ let subFormCtrl = this.Form.getSubFormCtrl();
16047
+ if (subFormCtrl !== null && this.shouldResumeSubformLayout) {
16048
+ Commands.addOperationWithLine(CommandType.SET_PROPERTY, subFormCtrl, 0, HtmlProperties.Visible, subFormCtrl.isVisible());
16049
+ this.shouldResumeSubformLayout = false;
16050
+ }
16051
+ }
16052
+ }
16047
16053
  GetLastParkedCtrlName(depth) {
16048
16054
  let ancestor = this.GetTaskAncestor(depth);
16049
16055
  if (ancestor === null || ancestor._lastParkedCtrl === null)
@@ -16107,7 +16113,7 @@ class GuiTaskBase {
16107
16113
  }
16108
16114
  CalculateExpression(expId, resType, length) {
16109
16115
  return __awaiter(this, void 0, void 0, function* () {
16110
- return Promise.resolve('');
16116
+ return Promise.resolve("");
16111
16117
  });
16112
16118
  }
16113
16119
  isStarted() {
@@ -16195,7 +16201,8 @@ class GuiTaskBase {
16195
16201
  this.IsParallel = XmlParser.getBoolean(valueStr);
16196
16202
  break;
16197
16203
  case XMLConstants.MG_ATTR_ROUTER_PATH:
16198
- this.routerPath = valueStr;
16204
+ if (valueStr.trim() != "")
16205
+ this.routerPath = valueStr;
16199
16206
  break;
16200
16207
  case XMLConstants.MG_ATTR_IN_DEFAULT_ROUTER_OUTLET:
16201
16208
  this.inDefaultRouterOutlet = XmlParser.getBoolean(valueStr);