@magic-xpa/engine 4.1000.0-dev4100.9 → 4.1000.0-dev4100.91

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.
@@ -6918,7 +6918,7 @@ ExpressionDict.expDesc = [
6918
6918
  null,
6919
6919
  new ExpDesc('N', 0, 0, 0, "", false),
6920
6920
  null,
6921
- new ExpDesc('B', 0, 2, 2, "BN", false),
6921
+ null,
6922
6922
  new ExpDesc('B', 0, 2, 2, "V ", false),
6923
6923
  null,
6924
6924
  null,
@@ -7367,12 +7367,12 @@ ExpressionDict.expDesc = [
7367
7367
  null,
7368
7368
  new ExpDesc('A', 0, 1, 1, "A", false),
7369
7369
  new ExpDesc('N', 0, 2, 2, "AA", false),
7370
- new ExpDesc('B', 0, -2, -2, "V ", false),
7371
- new ExpDesc('B', 0, 1, 1, "N", false),
7372
- new ExpDesc('B', 0, -2, -2, "V ", false),
7373
- new ExpDesc('B', 0, 1, 1, "N", false),
7374
- new ExpDesc('B', 0, 2, 2, "VB", false),
7375
- new ExpDesc('B', 0, 1, 1, "N", false),
7370
+ null,
7371
+ null,
7372
+ null,
7373
+ null,
7374
+ null,
7375
+ null,
7376
7376
  new ExpDesc('N', 0, 1, 1, "N", false),
7377
7377
  null,
7378
7378
  null,
@@ -7459,48 +7459,6 @@ ExpressionDict.expDesc = [
7459
7459
  new ExpDesc('U', 0, 0, 0, '', false),
7460
7460
  ];
7461
7461
 
7462
- var DataViewCommandType;
7463
- (function (DataViewCommandType) {
7464
- DataViewCommandType[DataViewCommandType["Init"] = 0] = "Init";
7465
- DataViewCommandType[DataViewCommandType["Clear"] = 1] = "Clear";
7466
- DataViewCommandType[DataViewCommandType["Prepare"] = 2] = "Prepare";
7467
- DataViewCommandType[DataViewCommandType["FirstChunk"] = 3] = "FirstChunk";
7468
- DataViewCommandType[DataViewCommandType["RecomputeUnit"] = 4] = "RecomputeUnit";
7469
- DataViewCommandType[DataViewCommandType["ExecuteLocalUpdates"] = 5] = "ExecuteLocalUpdates";
7470
- DataViewCommandType[DataViewCommandType["InitDataControlViews"] = 6] = "InitDataControlViews";
7471
- DataViewCommandType[DataViewCommandType["OpenTransaction"] = 7] = "OpenTransaction";
7472
- DataViewCommandType[DataViewCommandType["CloseTransaction"] = 8] = "CloseTransaction";
7473
- DataViewCommandType[DataViewCommandType["SetTransactionState"] = 9] = "SetTransactionState";
7474
- DataViewCommandType[DataViewCommandType["AddUserRange"] = 10] = "AddUserRange";
7475
- DataViewCommandType[DataViewCommandType["ResetUserRange"] = 11] = "ResetUserRange";
7476
- DataViewCommandType[DataViewCommandType["DbDisconnect"] = 12] = "DbDisconnect";
7477
- DataViewCommandType[DataViewCommandType["AddUserLocate"] = 13] = "AddUserLocate";
7478
- DataViewCommandType[DataViewCommandType["ResetUserLocate"] = 14] = "ResetUserLocate";
7479
- DataViewCommandType[DataViewCommandType["AddUserSort"] = 15] = "AddUserSort";
7480
- DataViewCommandType[DataViewCommandType["ResetUserSort"] = 16] = "ResetUserSort";
7481
- DataViewCommandType[DataViewCommandType["DataViewToDataSource"] = 17] = "DataViewToDataSource";
7482
- DataViewCommandType[DataViewCommandType["DbDelete"] = 18] = "DbDelete";
7483
- DataViewCommandType[DataViewCommandType["ControlItemsRefresh"] = 19] = "ControlItemsRefresh";
7484
- DataViewCommandType[DataViewCommandType["SQLExecute"] = 20] = "SQLExecute";
7485
- })(DataViewCommandType || (DataViewCommandType = {}));
7486
- class DataviewCommand extends ClientOriginatedCommandTaskTag {
7487
- constructor() {
7488
- super();
7489
- this.CommandType = 0;
7490
- this.TaskTag = null;
7491
- }
7492
- get CommandTypeAttribute() {
7493
- throw new NotImplementedException();
7494
- }
7495
- SerializeCommandData() {
7496
- Debug.Assert(false, "Dataview commands need not be serialized");
7497
- return null;
7498
- }
7499
- get ShouldSerialize() {
7500
- return false;
7501
- }
7502
- }
7503
-
7504
7462
  class EventHandlerPosition {
7505
7463
  constructor() {
7506
7464
  this._handlerIdx = 0;
@@ -7697,6 +7655,48 @@ EventHandlerPosition.PHASE_CONTROL_NON_SPECIFIC = 2;
7697
7655
  EventHandlerPosition.PHASE_GLOBAL = 3;
7698
7656
  EventHandlerPosition.PHASE_GLOBAL_SPECIFIC = 4;
7699
7657
 
7658
+ var DataViewCommandType;
7659
+ (function (DataViewCommandType) {
7660
+ DataViewCommandType[DataViewCommandType["Init"] = 0] = "Init";
7661
+ DataViewCommandType[DataViewCommandType["Clear"] = 1] = "Clear";
7662
+ DataViewCommandType[DataViewCommandType["Prepare"] = 2] = "Prepare";
7663
+ DataViewCommandType[DataViewCommandType["FirstChunk"] = 3] = "FirstChunk";
7664
+ DataViewCommandType[DataViewCommandType["RecomputeUnit"] = 4] = "RecomputeUnit";
7665
+ DataViewCommandType[DataViewCommandType["ExecuteLocalUpdates"] = 5] = "ExecuteLocalUpdates";
7666
+ DataViewCommandType[DataViewCommandType["InitDataControlViews"] = 6] = "InitDataControlViews";
7667
+ DataViewCommandType[DataViewCommandType["OpenTransaction"] = 7] = "OpenTransaction";
7668
+ DataViewCommandType[DataViewCommandType["CloseTransaction"] = 8] = "CloseTransaction";
7669
+ DataViewCommandType[DataViewCommandType["SetTransactionState"] = 9] = "SetTransactionState";
7670
+ DataViewCommandType[DataViewCommandType["AddUserRange"] = 10] = "AddUserRange";
7671
+ DataViewCommandType[DataViewCommandType["ResetUserRange"] = 11] = "ResetUserRange";
7672
+ DataViewCommandType[DataViewCommandType["DbDisconnect"] = 12] = "DbDisconnect";
7673
+ DataViewCommandType[DataViewCommandType["AddUserLocate"] = 13] = "AddUserLocate";
7674
+ DataViewCommandType[DataViewCommandType["ResetUserLocate"] = 14] = "ResetUserLocate";
7675
+ DataViewCommandType[DataViewCommandType["AddUserSort"] = 15] = "AddUserSort";
7676
+ DataViewCommandType[DataViewCommandType["ResetUserSort"] = 16] = "ResetUserSort";
7677
+ DataViewCommandType[DataViewCommandType["DataViewToDataSource"] = 17] = "DataViewToDataSource";
7678
+ DataViewCommandType[DataViewCommandType["DbDelete"] = 18] = "DbDelete";
7679
+ DataViewCommandType[DataViewCommandType["ControlItemsRefresh"] = 19] = "ControlItemsRefresh";
7680
+ DataViewCommandType[DataViewCommandType["SQLExecute"] = 20] = "SQLExecute";
7681
+ })(DataViewCommandType || (DataViewCommandType = {}));
7682
+ class DataviewCommand extends ClientOriginatedCommandTaskTag {
7683
+ constructor() {
7684
+ super();
7685
+ this.CommandType = 0;
7686
+ this.TaskTag = null;
7687
+ }
7688
+ get CommandTypeAttribute() {
7689
+ throw new NotImplementedException();
7690
+ }
7691
+ SerializeCommandData() {
7692
+ Debug.Assert(false, "Dataview commands need not be serialized");
7693
+ return null;
7694
+ }
7695
+ get ShouldSerialize() {
7696
+ return false;
7697
+ }
7698
+ }
7699
+
7700
7700
  class AddUserRangeDataviewCommand extends DataviewCommand {
7701
7701
  constructor() {
7702
7702
  super();
@@ -8095,6 +8095,13 @@ class SelectProgramCommand extends ExecOperCommand {
8095
8095
  }
8096
8096
  }
8097
8097
 
8098
+ class ControlItemsRefreshCommand extends DataviewCommand {
8099
+ constructor() {
8100
+ super();
8101
+ this.Control = null;
8102
+ }
8103
+ }
8104
+
8098
8105
  class CommandFactory {
8099
8106
  static CreateEventCommand(taskTag, magicEvent) {
8100
8107
  let eventCommand = new EventCommand(magicEvent);
@@ -8113,6 +8120,13 @@ class CommandFactory {
8113
8120
  dataviewCommand.TaskTag = taskId;
8114
8121
  return dataviewCommand;
8115
8122
  }
8123
+ static CreateControlItemsRefreshCommand(taskId, control) {
8124
+ let command = new ControlItemsRefreshCommand();
8125
+ command.CommandType = DataViewCommandType.ControlItemsRefresh;
8126
+ command.TaskTag = taskId;
8127
+ command.Control = control;
8128
+ return command;
8129
+ }
8116
8130
  static CreateAddUserRangeDataviewCommand(taskId, userRange) {
8117
8131
  let addUserRangeDataviewCommand = new AddUserRangeDataviewCommand();
8118
8132
  addUserRangeDataviewCommand.TaskTag = taskId;
@@ -8322,13 +8336,6 @@ class CommandFactory {
8322
8336
  }
8323
8337
  }
8324
8338
 
8325
- class Sort {
8326
- constructor() {
8327
- this.fldIdx = 0;
8328
- this.dir = false;
8329
- }
8330
- }
8331
-
8332
8339
  var ParamParseResult;
8333
8340
  (function (ParamParseResult) {
8334
8341
  ParamParseResult[ParamParseResult["OK"] = 0] = "OK";
@@ -11090,6 +11097,11 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
11090
11097
  this.eval_op_VarDisplayName(resVal, val1);
11091
11098
  expStrTracker.resetNullResult();
11092
11099
  break;
11100
+ case ExpressionInterface.EXP_OP_CONTROL_ITEMS_REFRESH:
11101
+ val2 = valStack.pop();
11102
+ val1 = valStack.pop();
11103
+ yield this.eval_op_controlItemRefresh(val1, val2, resVal);
11104
+ break;
11093
11105
  case ExpressionInterface.EXP_OP_VARCONTROLID:
11094
11106
  val1 = valStack.pop();
11095
11107
  this.eval_op_VarControlID(resVal, val1);
@@ -11478,11 +11490,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
11478
11490
  val1 = valStack.pop();
11479
11491
  this.eval_op_eoy(resVal, val1);
11480
11492
  break;
11481
- case ExpressionInterface.EXP_OP_ROLLBACK:
11482
- val2 = valStack.pop();
11483
- val1 = valStack.pop();
11484
- yield this.eval_op_rollback(resVal);
11485
- break;
11486
11493
  case ExpressionInterface.EXP_OP_VARSET:
11487
11494
  val2 = valStack.pop();
11488
11495
  val1 = valStack.pop();
@@ -11847,41 +11854,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
11847
11854
  val1 = valStack.pop();
11848
11855
  this.eval_op_taskType(resVal, val1);
11849
11856
  break;
11850
- case ExpressionInterface.EXP_OP_RANGE_ADD:
11851
- nArgs = valStack.pop();
11852
- if (nArgs > 0) {
11853
- Exp_params = new Array(nArgs);
11854
- for (j = 0; j < nArgs; j++)
11855
- Exp_params[nArgs - 1 - j] = valStack.pop();
11856
- yield this.eval_op_range_add(resVal, Exp_params);
11857
- }
11858
- break;
11859
- case ExpressionInterface.EXP_OP_RANGE_RESET:
11860
- val1 = valStack.pop();
11861
- yield this.eval_op_range_reset(resVal, val1);
11862
- break;
11863
- case ExpressionInterface.EXP_OP_LOCATE_ADD:
11864
- nArgs = valStack.pop();
11865
- if (nArgs > 0) {
11866
- Exp_params = new Array(nArgs);
11867
- for (j = 0; j < nArgs; j++)
11868
- Exp_params[nArgs - 1 - j] = valStack.pop();
11869
- yield this.eval_op_locate_add(resVal, Exp_params);
11870
- }
11871
- break;
11872
- case ExpressionInterface.EXP_OP_LOCATE_RESET:
11873
- val1 = valStack.pop();
11874
- yield this.eval_op_locate_reset(resVal, val1);
11875
- break;
11876
- case ExpressionInterface.EXP_OP_SORT_ADD:
11877
- val2 = valStack.pop();
11878
- val1 = valStack.pop();
11879
- yield this.eval_op_sort_add(resVal, val1, val2);
11880
- break;
11881
- case ExpressionInterface.EXP_OP_SORT_RESET:
11882
- val1 = valStack.pop();
11883
- yield this.eval_op_sort_reset(resVal, val1);
11884
- break;
11885
11857
  case ExpressionInterface.EXP_OP_TSK_INSTANCE:
11886
11858
  val1 = valStack.pop();
11887
11859
  this.eval_op_tsk_instance(resVal, val1);
@@ -13234,6 +13206,28 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
13234
13206
  resVal.StrVal = fld.VarDisplayName;
13235
13207
  }
13236
13208
  }
13209
+ eval_op_controlItemRefresh(val1, val2, resVal) {
13210
+ const _super = Object.create(null, {
13211
+ GetContextTask: { get: () => super.GetContextTask }
13212
+ });
13213
+ return __awaiter(this, void 0, void 0, function* () {
13214
+ let success = false;
13215
+ let parent = val2.MgNumVal.NUM_2_LONG();
13216
+ resVal.Attr = StorageAttribute.BOOLEAN;
13217
+ if ((parent >= 0 && parent < (this.ExpTask.getTaskDepth(false))) || parent === ExpressionEvaluator.TRIGGER_TASK) {
13218
+ let tsk = _super.GetContextTask.call(this, parent);
13219
+ if (tsk != null && tsk.getForm() != null) {
13220
+ let control = tsk.getForm().GetCtrl(val1.StrVal);
13221
+ if (control != null && control.isChoiceControl() && control.isDataCtrl()) {
13222
+ let command = CommandFactory.CreateControlItemsRefreshCommand(tsk.getTaskTag(), control);
13223
+ yield tsk.DataviewManager.CurrentDataviewManager.Execute(command);
13224
+ success = true;
13225
+ }
13226
+ }
13227
+ }
13228
+ resVal.BoolVal = success;
13229
+ });
13230
+ }
13237
13231
  eval_op_VarControlID(resVal, val1) {
13238
13232
  let ret = 0;
13239
13233
  if (val1.MgNumVal !== null) {
@@ -13528,14 +13522,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
13528
13522
  yield fld.updateDisplay();
13529
13523
  });
13530
13524
  }
13531
- eval_op_rollback(resVal) {
13532
- return __awaiter(this, void 0, void 0, function* () {
13533
- let task = this.ExpTask.GetContextTask() || this.ExpTask;
13534
- yield AccessHelper.eventsManager.handleInternalEventWithTask(task, InternalInterface.MG_ACT_ROLLBACK);
13535
- resVal.Attr = StorageAttribute.BOOLEAN;
13536
- resVal.BoolVal = true;
13537
- });
13538
- }
13539
13525
  eval_op_like(source, maskOrg, resVal) {
13540
13526
  let i;
13541
13527
  let j;
@@ -14096,75 +14082,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
14096
14082
  resultStr.Replace('\\@', '@');
14097
14083
  resVal.StrVal = resultStr.ToString();
14098
14084
  }
14099
- eval_op_range_add(resVal, Exp_params) {
14100
- return __awaiter(this, void 0, void 0, function* () {
14101
- resVal.Attr = StorageAttribute.BOOLEAN;
14102
- resVal.BoolVal = yield this.add_rt_ranges(Exp_params, false);
14103
- });
14104
- }
14105
- eval_op_range_reset(resVal, parent) {
14106
- const _super = Object.create(null, {
14107
- GetContextTask: { get: () => super.GetContextTask }
14108
- });
14109
- return __awaiter(this, void 0, void 0, function* () {
14110
- resVal.Attr = StorageAttribute.BOOLEAN;
14111
- let iParent = parent.MgNumVal.NUM_2_LONG();
14112
- if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
14113
- let task = _super.GetContextTask.call(this, iParent);
14114
- if (task !== null) {
14115
- let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserRange);
14116
- yield task.DataviewManager.Execute(command);
14117
- resVal.BoolVal = true;
14118
- }
14119
- }
14120
- });
14121
- }
14122
- eval_op_locate_add(resVal, Exp_params) {
14123
- return __awaiter(this, void 0, void 0, function* () {
14124
- resVal.Attr = StorageAttribute.BOOLEAN;
14125
- resVal.BoolVal = yield this.add_rt_ranges(Exp_params, true);
14126
- });
14127
- }
14128
- eval_op_locate_reset(resVal, parent) {
14129
- const _super = Object.create(null, {
14130
- GetContextTask: { get: () => super.GetContextTask }
14131
- });
14132
- return __awaiter(this, void 0, void 0, function* () {
14133
- resVal.Attr = StorageAttribute.BOOLEAN;
14134
- let iParent = parent.MgNumVal.NUM_2_LONG();
14135
- if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
14136
- let task = _super.GetContextTask.call(this, iParent);
14137
- if (task !== null) {
14138
- let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserLocate);
14139
- yield task.DataviewManager.Execute(command);
14140
- resVal.BoolVal = true;
14141
- }
14142
- }
14143
- });
14144
- }
14145
- eval_op_sort_add(resVal, varnum, dir) {
14146
- return __awaiter(this, void 0, void 0, function* () {
14147
- resVal.Attr = StorageAttribute.BOOLEAN;
14148
- resVal.BoolVal = yield this.add_sort(varnum, dir);
14149
- });
14150
- }
14151
- eval_op_sort_reset(resVal, parent) {
14152
- const _super = Object.create(null, {
14153
- GetContextTask: { get: () => super.GetContextTask }
14154
- });
14155
- return __awaiter(this, void 0, void 0, function* () {
14156
- resVal.Attr = StorageAttribute.BOOLEAN;
14157
- let iParent = parent.MgNumVal.NUM_2_LONG();
14158
- if ((iParent >= 0 && iParent < (this.ExpTask.getTaskDepth(false))) || iParent === ExpressionEvaluator.TRIGGER_TASK) {
14159
- let task = _super.GetContextTask.call(this, iParent);
14160
- if (task !== null) {
14161
- let command = CommandFactory.CreateDataViewCommand(task.getTaskTag(), DataViewCommandType.ResetUserSort);
14162
- yield task.DataviewManager.Execute(command);
14163
- resVal.BoolVal = true;
14164
- }
14165
- }
14166
- });
14167
- }
14168
14085
  eval_op_tsk_instance(resVal, Parent) {
14169
14086
  let tag = 0;
14170
14087
  let iParent = Parent.MgNumVal.NUM_2_LONG();
@@ -14178,88 +14095,6 @@ class ExpressionEvaluator extends GuiExpressionEvaluator {
14178
14095
  resVal.MgNumVal = new NUM_TYPE();
14179
14096
  resVal.MgNumVal.NUM_4_LONG(tag);
14180
14097
  }
14181
- add_sort(varnum, dir) {
14182
- return __awaiter(this, void 0, void 0, function* () {
14183
- if (varnum.MgNumVal === null)
14184
- return false;
14185
- let itm = varnum.MgNumVal.NUM_2_LONG();
14186
- if (itm === 0)
14187
- return false;
14188
- let fld = this.GetFieldOfContextTask(itm);
14189
- if (fld === null)
14190
- return false;
14191
- let task = fld.getTask();
14192
- let vee_idx = fld.getId() + 1;
14193
- let expr_64 = new Sort();
14194
- expr_64.fldIdx = vee_idx;
14195
- expr_64.dir = dir.BoolVal;
14196
- let sort = expr_64;
14197
- let command = CommandFactory.CreateAddUserSortDataviewCommand(task.getTaskTag(), sort);
14198
- yield task.DataviewManager.Execute(command);
14199
- return true;
14200
- });
14201
- }
14202
- add_rt_ranges(Exp_params, locate) {
14203
- return __awaiter(this, void 0, void 0, function* () {
14204
- let varnum = Exp_params[0];
14205
- let min = Exp_params[1];
14206
- if (varnum.MgNumVal === null)
14207
- return false;
14208
- let itm = varnum.MgNumVal.NUM_2_LONG();
14209
- if (itm === 0)
14210
- return false;
14211
- let fld = this.GetFieldOfContextTask(itm);
14212
- if (fld === null)
14213
- return false;
14214
- let task = fld.getTask();
14215
- let vee_idx = fld.getId() + 1;
14216
- let expr_78 = new UserRange();
14217
- expr_78.veeIdx = vee_idx;
14218
- let rng = expr_78;
14219
- if (min.IsNull)
14220
- rng.nullMin = true;
14221
- if (!rng.nullMin && (min.Attr === StorageAttribute.ALPHA || min.Attr === StorageAttribute.UNICODE) && min.StrVal.length === 0)
14222
- rng.discardMin = true;
14223
- else {
14224
- if (!rng.nullMin) {
14225
- if (!StorageAttributeCheck.isTheSameType(fld.getType(), min.Attr))
14226
- return false;
14227
- if (StorageAttributeCheck.StorageFldAlphaUnicodeOrBlob(fld.getType(), min.Attr))
14228
- this.ConvertExpVal(min, fld.getType());
14229
- rng.min = min.ToMgVal();
14230
- }
14231
- }
14232
- if (Exp_params.length === 3) {
14233
- let max = Exp_params[2];
14234
- if (max.IsNull)
14235
- rng.nullMax = true;
14236
- if (!rng.nullMax && (max.Attr === StorageAttribute.ALPHA || max.Attr === StorageAttribute.UNICODE) && max.StrVal.length === 0)
14237
- rng.discardMax = true;
14238
- else {
14239
- if (!rng.nullMax) {
14240
- if (!StorageAttributeCheck.isTheSameType(fld.getType(), max.Attr))
14241
- return false;
14242
- if (StorageAttributeCheck.StorageFldAlphaUnicodeOrBlob(fld.getType(), max.Attr))
14243
- this.ConvertExpVal(max, fld.getType());
14244
- rng.max = max.ToMgVal();
14245
- }
14246
- }
14247
- }
14248
- else
14249
- rng.discardMax = true;
14250
- if (!rng.discardMin || !rng.discardMax) {
14251
- if (locate) {
14252
- let command = CommandFactory.CreateAddUserLocateDataviewCommand(task.getTaskTag(), rng);
14253
- yield task.DataviewManager.Execute(command);
14254
- }
14255
- else {
14256
- let command2 = CommandFactory.CreateAddUserRangeDataviewCommand(task.getTaskTag(), rng);
14257
- yield task.DataviewManager.Execute(command2);
14258
- }
14259
- }
14260
- return true;
14261
- });
14262
- }
14263
14098
  eval_op_getParam(resVal, name) {
14264
14099
  Debug.Assert(!name.IsNull && name.StrVal !== null);
14265
14100
  let expVal = GlobalParams.Instance.get(name.StrVal);
@@ -19595,6 +19430,13 @@ class DataviewManager extends DataviewManagerBase {
19595
19430
  }
19596
19431
  }
19597
19432
 
19433
+ class Sort {
19434
+ constructor() {
19435
+ this.fldIdx = 0;
19436
+ this.dir = false;
19437
+ }
19438
+ }
19439
+
19598
19440
  class SortCollection {
19599
19441
  constructor() {
19600
19442
  this._sortTab = null;
@@ -19830,7 +19672,11 @@ class MgForm extends MgFormBase {
19830
19672
  this.GetDataview().setTopRecIdxModified(true);
19831
19673
  try {
19832
19674
  this._suffixDone = false;
19833
- yield this.setCurrRowByDisplayLine(this.GetDataview().getCurrRecIdx() + size, true, false);
19675
+ let newDisplayLine = this.GetDataview().getCurrRecIdx() + size;
19676
+ if (unit === Constants.MOVE_UNIT_PAGE && this.isLineMode())
19677
+ if (newDisplayLine > this.GetDataview().getSize() - 1)
19678
+ visibleLine -= newDisplayLine - (this.GetDataview().getSize() - 1);
19679
+ yield this.setCurrRowByDisplayLine(newDisplayLine, true, false);
19834
19680
  this.GetDataview().setTopRecIdxModified(false);
19835
19681
  yield this.RefreshDisplay(Constants.TASK_REFRESH_FORM);
19836
19682
  }
@@ -30387,7 +30233,7 @@ class CommandsTable {
30387
30233
  }
30388
30234
  }
30389
30235
 
30390
- let CurrentClientVersion = '4.1000.0-dev4100.9';
30236
+ let CurrentClientVersion = '4.1000.0-dev4100.91';
30391
30237
 
30392
30238
  class ClientManager {
30393
30239
  constructor() {
@@ -30828,13 +30674,6 @@ class MagicBridge {
30828
30674
  }
30829
30675
  }
30830
30676
 
30831
- class ControlItemsRefreshCommand extends DataviewCommand {
30832
- constructor() {
30833
- super();
30834
- this.Control = null;
30835
- }
30836
- }
30837
-
30838
30677
  class DataViewOutputCommand extends DataviewCommand {
30839
30678
  constructor(OutputCommandType) {
30840
30679
  super();