@magic-xpa/gui 4.900.0-dev490.21 → 4.900.0-dev490.210
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/Commands.mjs +2 -4
- package/esm2020/src/Manager.mjs +2 -2
- package/esm2020/src/management/gui/DisplayConvertor.mjs +6 -15
- package/esm2020/src/management/gui/FieldValidator.mjs +2 -2
- package/esm2020/src/management/gui/Helps.mjs +10 -3
- package/esm2020/src/management/gui/MgControlBase.mjs +20 -24
- package/esm2020/src/management/gui/Property.mjs +2 -2
- package/esm2020/src/management/tasks/GuiTaskBase.mjs +18 -6
- package/fesm2015/magic-xpa-gui.mjs +52 -49
- package/fesm2015/magic-xpa-gui.mjs.map +1 -1
- package/fesm2020/magic-xpa-gui.mjs +52 -49
- package/fesm2020/magic-xpa-gui.mjs.map +1 -1
- package/package.json +2 -2
- package/src/Commands.d.ts +1 -1
- package/src/management/gui/MgControlBase.d.ts +0 -2
- package/src/management/tasks/GuiTaskBase.d.ts +2 -0
|
@@ -1235,13 +1235,11 @@ class Commands {
|
|
|
1235
1235
|
guiCommand.number = num;
|
|
1236
1236
|
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
1237
1237
|
}
|
|
1238
|
-
static addValueWithLine(commandType, obj, line, value
|
|
1238
|
+
static addValueWithLine(commandType, obj, line, value) {
|
|
1239
1239
|
let guiCommand = new GuiCommand(obj, commandType);
|
|
1240
1240
|
guiCommand.value = value;
|
|
1241
1241
|
guiCommand.line = line;
|
|
1242
1242
|
if (commandType === CommandType.SET_VALUE) {
|
|
1243
|
-
if (reset)
|
|
1244
|
-
guiCommand.Bool1 = reset;
|
|
1245
1243
|
if (obj instanceof GuiMgControl && obj.isChoiceControl()) {
|
|
1246
1244
|
if (value < 0)
|
|
1247
1245
|
guiCommand.value = '';
|
|
@@ -1597,7 +1595,7 @@ class Manager {
|
|
|
1597
1595
|
return Commands.getValue(ctrl, ctrl.getDisplayLine(true));
|
|
1598
1596
|
}
|
|
1599
1597
|
static async SetReadOnlyControl(ctrl, isReadOnly) {
|
|
1600
|
-
if (ctrl.isTextControl() || ctrl.IsRepeatable) {
|
|
1598
|
+
if (ctrl.isTextControl() || ctrl.IsRepeatable || ctrl.isComboBox() || ctrl.isListBox() || ctrl.isCheckBox() || ctrl.isRadio()) {
|
|
1601
1599
|
if (UtilStrByteMode.isLocaleDefLangDBCS()) {
|
|
1602
1600
|
if (await ctrl.getForm().getTask().checkProp(PropInterface.PROP_TYPE_ALLOW_LOCATE_IN_QUERY, false))
|
|
1603
1601
|
return;
|
|
@@ -5640,25 +5638,16 @@ class DisplayConvertor {
|
|
|
5640
5638
|
case PICInterface.PIC_YY:
|
|
5641
5639
|
{
|
|
5642
5640
|
this.int_2_a(outVal, outIdx, 2, breakParams.year, '0');
|
|
5643
|
-
let yearStr = NString.FromChars(outVal);
|
|
5644
|
-
year = +yearStr
|
|
5645
|
-
outIdx += 2;
|
|
5646
|
-
len -= 2;
|
|
5647
|
-
}
|
|
5648
|
-
break;
|
|
5649
|
-
case PICInterface.PIC_YY:
|
|
5650
|
-
{
|
|
5651
|
-
this.int_2_a(outVal, outIdx, 2, breakParams.year, '0');
|
|
5652
|
-
let yearStr = NString.FromChars(outVal);
|
|
5653
|
-
year = +yearStr.substr(outIdx);
|
|
5641
|
+
let yearStr = NString.FromChars(outVal, outIdx, 2);
|
|
5642
|
+
year = +yearStr;
|
|
5654
5643
|
outIdx += 2;
|
|
5655
5644
|
len -= 2;
|
|
5656
5645
|
}
|
|
5657
5646
|
break;
|
|
5658
5647
|
case PICInterface.PIC_YYYY:
|
|
5659
|
-
this.int_2_a(outVal, outIdx, 4, year, '0');
|
|
5660
|
-
let yearStr = NString.FromChars(outVal);
|
|
5661
|
-
year = +yearStr
|
|
5648
|
+
this.int_2_a(outVal, outIdx, 4, breakParams.year, '0');
|
|
5649
|
+
let yearStr = NString.FromChars(outVal, outIdx, 4);
|
|
5650
|
+
year = +yearStr;
|
|
5662
5651
|
outIdx += 4;
|
|
5663
5652
|
len -= 4;
|
|
5664
5653
|
break;
|
|
@@ -9812,7 +9801,7 @@ class Property {
|
|
|
9812
9801
|
async onModifiable() {
|
|
9813
9802
|
if (this._parentType === GuiConstants.PARENT_TYPE_CONTROL) {
|
|
9814
9803
|
let ctrl = this._parentObj;
|
|
9815
|
-
if (ctrl.isTextControl()) {
|
|
9804
|
+
if (ctrl.isTextControl() || ctrl.isChoiceControl() || ctrl.isCheckBox()) {
|
|
9816
9805
|
let task = this.GetTaskByParentObject();
|
|
9817
9806
|
let readOnlyValue = !this.GetComputedValueBoolean();
|
|
9818
9807
|
if ((readOnlyValue || task.getMode() !== Constants.TASK_MODE_QUERY) && ctrl.GetCurrReadOnly() !== readOnlyValue) {
|
|
@@ -10388,7 +10377,7 @@ class FieldValidator {
|
|
|
10388
10377
|
return valDet;
|
|
10389
10378
|
}
|
|
10390
10379
|
if (ctrl.DataType !== StorageAttribute.ALPHA && ctrl.DataType !== StorageAttribute.UNICODE && ctrl.DataType !== StorageAttribute.BLOB) {
|
|
10391
|
-
if ((typeof this._newvalue === 'string' && this._newvalue.trim().length === 0) || (ctrl.DataType === StorageAttribute.DATE && (ctrl.isDateZero(this._newvalue) || this.isNullDisplayVal()))) {
|
|
10380
|
+
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()))) {
|
|
10392
10381
|
let field = ctrl.getField();
|
|
10393
10382
|
let defaultValue = field.getDefaultValue();
|
|
10394
10383
|
let text = null;
|
|
@@ -11578,7 +11567,6 @@ class MgControlBase extends GuiControlPropertyAdapter {
|
|
|
11578
11567
|
this._firstRefreshProperties = true;
|
|
11579
11568
|
this._form = null;
|
|
11580
11569
|
this._hasValidItmAndDispVal = false;
|
|
11581
|
-
this._id = -1;
|
|
11582
11570
|
this._controlIsn = -1;
|
|
11583
11571
|
this._linkedParentDitIdx = -1;
|
|
11584
11572
|
this._orgChoiceDisps = null;
|
|
@@ -11621,9 +11609,6 @@ class MgControlBase extends GuiControlPropertyAdapter {
|
|
|
11621
11609
|
get Form() {
|
|
11622
11610
|
return this._form;
|
|
11623
11611
|
}
|
|
11624
|
-
get Id() {
|
|
11625
|
-
return this._id;
|
|
11626
|
-
}
|
|
11627
11612
|
get ControlIsn() {
|
|
11628
11613
|
return this._controlIsn;
|
|
11629
11614
|
}
|
|
@@ -11845,9 +11830,6 @@ class MgControlBase extends GuiControlPropertyAdapter {
|
|
|
11845
11830
|
case XMLConstants.MG_ATTR_CONTAINER:
|
|
11846
11831
|
this.setContainer(XmlParser.getInt(valueStr));
|
|
11847
11832
|
break;
|
|
11848
|
-
case XMLConstants.MG_ATTR_ID:
|
|
11849
|
-
this._id = XmlParser.getInt(valueStr);
|
|
11850
|
-
break;
|
|
11851
11833
|
case XMLConstants.MG_ATTR_CONTROL_ISN:
|
|
11852
11834
|
this._controlIsn = XmlParser.getInt(valueStr);
|
|
11853
11835
|
break;
|
|
@@ -12060,7 +12042,7 @@ class MgControlBase extends GuiControlPropertyAdapter {
|
|
|
12060
12042
|
}
|
|
12061
12043
|
getRangedValue(newVal) {
|
|
12062
12044
|
let vd;
|
|
12063
|
-
vd = this.
|
|
12045
|
+
vd = this.buildPicture(this.Value, newVal);
|
|
12064
12046
|
vd.evaluate();
|
|
12065
12047
|
this.ModifiedByUser = true;
|
|
12066
12048
|
let val = vd.getDispValue();
|
|
@@ -12070,7 +12052,7 @@ class MgControlBase extends GuiControlPropertyAdapter {
|
|
|
12070
12052
|
let vd;
|
|
12071
12053
|
let modified = this.ModifiedByUser;
|
|
12072
12054
|
this.ModifiedByUser = true;
|
|
12073
|
-
vd = this.
|
|
12055
|
+
vd = this.buildPicture(this.Value, newVal);
|
|
12074
12056
|
vd.evaluate();
|
|
12075
12057
|
this.ModifiedByUser = modified;
|
|
12076
12058
|
if (vd.ValidationFailed)
|
|
@@ -12386,12 +12368,8 @@ class MgControlBase extends GuiControlPropertyAdapter {
|
|
|
12386
12368
|
if (super.isButton()) {
|
|
12387
12369
|
mlsTranslatedValue = Events.Translate(this.Value);
|
|
12388
12370
|
}
|
|
12389
|
-
if (this.isTextControl() || this.isButton())
|
|
12390
|
-
|
|
12391
|
-
Commands.addValueWithLine(CommandType.SET_VALUE, this, displayLine, mlsTranslatedValue, true);
|
|
12392
|
-
else
|
|
12393
|
-
Commands.addValueWithLine(CommandType.SET_VALUE, this, displayLine, mlsTranslatedValue);
|
|
12394
|
-
}
|
|
12371
|
+
if (this.isTextControl() || this.isButton())
|
|
12372
|
+
Commands.addValueWithLine(CommandType.SET_VALUE, this, displayLine, mlsTranslatedValue);
|
|
12395
12373
|
else
|
|
12396
12374
|
Commands.addOperationWithLine(CommandType.SET_PROPERTY, this, displayLine, HtmlProperties.Text, mlsTranslatedValue);
|
|
12397
12375
|
}
|
|
@@ -13082,6 +13060,11 @@ class MgControlBase extends GuiControlPropertyAdapter {
|
|
|
13082
13060
|
if (prevMustInput !== await this.checkProp(PropInterface.PROP_TYPE_MUST_INPUT, false))
|
|
13083
13061
|
Commands.addOperationWithLine(CommandType.SET_PROPERTY, this, this.getDisplayLine(false), HtmlProperties.MustInput, !prevMustInput);
|
|
13084
13062
|
}
|
|
13063
|
+
else if (mustInputProperty != null) {
|
|
13064
|
+
let mustInputVal = this.GetComputedBooleanProperty(PropInterface.PROP_TYPE_MUST_INPUT, false);
|
|
13065
|
+
if (mustInputVal)
|
|
13066
|
+
Commands.addOperationWithLine(CommandType.SET_PROPERTY, this, this.getDisplayLine(false), HtmlProperties.MustInput, mustInputVal);
|
|
13067
|
+
}
|
|
13085
13068
|
if (!this.GetComputedBooleanProperty(PropInterface.PROP_TYPE_TAB_IN, true))
|
|
13086
13069
|
Commands.addOperationWithLine(CommandType.SET_PROPERTY, this, this.getDisplayLine(false), HtmlProperties.TabIndex, -1);
|
|
13087
13070
|
}
|
|
@@ -13398,15 +13381,17 @@ class MgControlBase extends GuiControlPropertyAdapter {
|
|
|
13398
13381
|
async ZoomButtonInitialization() {
|
|
13399
13382
|
if (this.isTextControl() && this.checkIfExistProp(PropInterface.PROP_TYPE_CONNECTED_ZOOM_CONTROL)) {
|
|
13400
13383
|
let connectedButton = this.Form.CtrlTab.GetControlByIsn((await (await this.getProp(PropInterface.PROP_TYPE_CONNECTED_ZOOM_CONTROL)).getValueInt()));
|
|
13401
|
-
|
|
13402
|
-
|
|
13403
|
-
|
|
13404
|
-
|
|
13405
|
-
|
|
13406
|
-
|
|
13384
|
+
if (connectedButton) {
|
|
13385
|
+
let imageFileName = null;
|
|
13386
|
+
if (connectedButton.IsImageButton() && connectedButton.PropertyExists(PropInterface.PROP_TYPE_IMAGE_FILENAME)) {
|
|
13387
|
+
imageFileName = await (await connectedButton.getProp(PropInterface.PROP_TYPE_IMAGE_FILENAME)).getValue();
|
|
13388
|
+
if (!Misc.IsWebUrl(imageFileName))
|
|
13389
|
+
imageFileName = "./assets/images/" + imageFileName;
|
|
13390
|
+
Commands.addOperationWithLine(CommandType.SET_STYLE, this, 0, MagicProperties.ImageFile, imageFileName);
|
|
13391
|
+
}
|
|
13392
|
+
this.ConnectedControl = connectedButton;
|
|
13393
|
+
connectedButton.ConnectedControl = this;
|
|
13407
13394
|
}
|
|
13408
|
-
this.ConnectedControl = connectedButton;
|
|
13409
|
-
connectedButton.ConnectedControl = this;
|
|
13410
13395
|
}
|
|
13411
13396
|
}
|
|
13412
13397
|
}
|
|
@@ -15445,9 +15430,16 @@ class Helps {
|
|
|
15445
15430
|
initInnerObjects(foundTagName, parser) {
|
|
15446
15431
|
if (foundTagName === null)
|
|
15447
15432
|
return false;
|
|
15448
|
-
if (foundTagName === XMLConstants.MG_TAG_HELPTABLE)
|
|
15433
|
+
if (foundTagName === XMLConstants.MG_TAG_HELPTABLE) {
|
|
15434
|
+
let currrentIndex = parser.getCurrIndex();
|
|
15435
|
+
let encoded = parser.ReadContentOfCurrentElement().trim();
|
|
15436
|
+
let decoded = Base64.decode(encoded.substr(0, encoded.length).trim());
|
|
15437
|
+
let newXmlData = parser.getXMLdata().replace(encoded.trim(), decoded);
|
|
15438
|
+
parser.setXMLdata(newXmlData);
|
|
15439
|
+
parser.setCurrIndex(currrentIndex);
|
|
15449
15440
|
parser.setCurrIndex(parser.getXMLdata().indexOf(XMLConstants.TAG_CLOSE, parser.getCurrIndex()) +
|
|
15450
15441
|
1);
|
|
15442
|
+
}
|
|
15451
15443
|
else if (foundTagName === XMLConstants.MG_TAG_HELPITEM) {
|
|
15452
15444
|
let endContext = parser.getXMLdata().indexOf(XMLConstants.TAG_TERM, parser.getCurrIndex());
|
|
15453
15445
|
if (endContext !== -1 && endContext < parser.getXMLdata().length) {
|
|
@@ -15607,16 +15599,17 @@ class GuiTaskBase {
|
|
|
15607
15599
|
constructor() {
|
|
15608
15600
|
this._flowMonitor = null;
|
|
15609
15601
|
this._keyboardMappingState = 0xFFFF0000;
|
|
15610
|
-
this._refreshType =
|
|
15602
|
+
this._refreshType = "T";
|
|
15611
15603
|
this._lastParkedCtrl = null;
|
|
15612
15604
|
this._brkLevel = null;
|
|
15613
15605
|
this._brkLevelIndex = -1;
|
|
15614
15606
|
this._mainLevel = null;
|
|
15615
|
-
this._level =
|
|
15607
|
+
this._level = "\0";
|
|
15616
15608
|
this._enteredRecLevel = false;
|
|
15617
15609
|
this._currParkedFld = null;
|
|
15618
15610
|
this.isInRecompute = false;
|
|
15619
15611
|
this.CurrentEditingControl = null;
|
|
15612
|
+
this.shouldResumeSubformLayout = true;
|
|
15620
15613
|
this.ApplicationGuid = null;
|
|
15621
15614
|
this.ProgramIsn = 0;
|
|
15622
15615
|
this.TaskIsn = 0;
|
|
@@ -15764,7 +15757,7 @@ class GuiTaskBase {
|
|
|
15764
15757
|
return this._helpTab.getHelp(idx);
|
|
15765
15758
|
}
|
|
15766
15759
|
setProp(propId, val) {
|
|
15767
|
-
this._propTab.setProp(propId, val, this,
|
|
15760
|
+
this._propTab.setProp(propId, val, this, "T");
|
|
15768
15761
|
}
|
|
15769
15762
|
setBrkLevel(cBrkLevel, NewBrkLevelIndex) {
|
|
15770
15763
|
this._brkLevel = cBrkLevel;
|
|
@@ -15870,6 +15863,15 @@ class GuiTaskBase {
|
|
|
15870
15863
|
this.Form.InInitForm = false;
|
|
15871
15864
|
}
|
|
15872
15865
|
}
|
|
15866
|
+
ResumeSubformLayout() {
|
|
15867
|
+
if (this.Form !== null) {
|
|
15868
|
+
let subFormCtrl = this.Form.getSubFormCtrl();
|
|
15869
|
+
if (subFormCtrl !== null && this.shouldResumeSubformLayout) {
|
|
15870
|
+
Commands.addOperationWithLine(CommandType.SET_PROPERTY, subFormCtrl, 0, HtmlProperties.Visible, subFormCtrl.isVisible());
|
|
15871
|
+
this.shouldResumeSubformLayout = false;
|
|
15872
|
+
}
|
|
15873
|
+
}
|
|
15874
|
+
}
|
|
15873
15875
|
GetLastParkedCtrlName(depth) {
|
|
15874
15876
|
let ancestor = this.GetTaskAncestor(depth);
|
|
15875
15877
|
if (ancestor === null || ancestor._lastParkedCtrl === null)
|
|
@@ -15930,7 +15932,7 @@ class GuiTaskBase {
|
|
|
15930
15932
|
return this.GetExpressionStorage(expId);
|
|
15931
15933
|
}
|
|
15932
15934
|
async CalculateExpression(expId, resType, length) {
|
|
15933
|
-
return Promise.resolve(
|
|
15935
|
+
return Promise.resolve("");
|
|
15934
15936
|
}
|
|
15935
15937
|
isStarted() {
|
|
15936
15938
|
return true;
|
|
@@ -16017,7 +16019,8 @@ class GuiTaskBase {
|
|
|
16017
16019
|
this.IsParallel = XmlParser.getBoolean(valueStr);
|
|
16018
16020
|
break;
|
|
16019
16021
|
case XMLConstants.MG_ATTR_ROUTER_PATH:
|
|
16020
|
-
|
|
16022
|
+
if (valueStr.trim() != "")
|
|
16023
|
+
this.routerPath = valueStr;
|
|
16021
16024
|
break;
|
|
16022
16025
|
case XMLConstants.MG_ATTR_IN_DEFAULT_ROUTER_OUTLET:
|
|
16023
16026
|
this.inDefaultRouterOutlet = XmlParser.getBoolean(valueStr);
|