@ibiz-template/runtime 0.7.13 → 0.7.15

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 (74) hide show
  1. package/dist/index.esm.js +180 -74
  2. package/dist/index.system.min.js +1 -1
  3. package/out/controller/common/index.d.ts +0 -1
  4. package/out/controller/common/index.d.ts.map +1 -1
  5. package/out/controller/common/index.js +0 -1
  6. package/out/controller/common/view/app-data-upload-view.controller.js +1 -1
  7. package/out/controller/control/dashboard/custom-dashboard.controller.d.ts +8 -1
  8. package/out/controller/control/dashboard/custom-dashboard.controller.d.ts.map +1 -1
  9. package/out/controller/control/dashboard/custom-dashboard.controller.js +13 -0
  10. package/out/controller/control/panel/panel/panel-item.controller.d.ts +7 -0
  11. package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
  12. package/out/controller/control/panel/panel/panel-item.controller.js +14 -0
  13. package/out/controller/control/panel/panel/panel.controller.d.ts +27 -0
  14. package/out/controller/control/panel/panel/panel.controller.d.ts.map +1 -1
  15. package/out/controller/control/panel/panel/panel.controller.js +29 -0
  16. package/out/controller/control/search-bar/interface-util.d.ts.map +1 -1
  17. package/out/controller/control/search-bar/interface-util.js +5 -1
  18. package/out/controller/control/toolbar/toolbar.controllerr.d.ts +28 -1
  19. package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
  20. package/out/controller/control/toolbar/toolbar.controllerr.js +38 -0
  21. package/out/controller/utils/data-file-util/data-file-util.d.ts +1 -1
  22. package/out/controller/utils/data-file-util/data-file-util.d.ts.map +1 -1
  23. package/out/controller/utils/data-file-util/data-file-util.js +6 -2
  24. package/out/interface/controller/controller/control/i-panel.controller.d.ts +23 -0
  25. package/out/interface/controller/controller/control/i-panel.controller.d.ts.map +1 -1
  26. package/out/interface/controller/controller/control/i-toolbar.controller.d.ts +11 -0
  27. package/out/interface/controller/controller/control/i-toolbar.controller.d.ts.map +1 -1
  28. package/out/interface/controller/controller/control/panel-item/i-panel-item.controller.d.ts +7 -0
  29. package/out/interface/controller/controller/control/panel-item/i-panel-item.controller.d.ts.map +1 -1
  30. package/out/interface/controller/controller/view/index.d.ts +0 -1
  31. package/out/interface/controller/controller/view/index.d.ts.map +1 -1
  32. package/out/interface/controller/event/argument/index.d.ts +1 -0
  33. package/out/interface/controller/event/argument/index.d.ts.map +1 -1
  34. package/out/interface/controller/event/argument/login-view.event.d.ts +25 -0
  35. package/out/interface/controller/event/argument/login-view.event.d.ts.map +1 -0
  36. package/out/interface/controller/event/view/i-app-login-view.event.d.ts +26 -0
  37. package/out/interface/controller/event/view/i-app-login-view.event.d.ts.map +1 -0
  38. package/out/interface/controller/event/view/i-app-login-view.event.js +1 -0
  39. package/out/interface/controller/event/view/index.d.ts +1 -0
  40. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  41. package/out/interface/controller/event/view/index.js +1 -0
  42. package/out/interface/controller/state/view/i-app-login-view.state.d.ts +11 -0
  43. package/out/interface/controller/state/view/i-app-login-view.state.d.ts.map +1 -0
  44. package/out/interface/controller/state/view/i-app-login-view.state.js +1 -0
  45. package/out/interface/controller/state/view/index.d.ts +1 -0
  46. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  47. package/out/interface/controller/state/view/index.js +1 -0
  48. package/out/interface/provider/i-toolbar-item.provider.d.ts +19 -0
  49. package/out/interface/provider/i-toolbar-item.provider.d.ts.map +1 -0
  50. package/out/interface/provider/i-toolbar-item.provider.js +1 -0
  51. package/out/interface/provider/index.d.ts +1 -0
  52. package/out/interface/provider/index.d.ts.map +1 -1
  53. package/out/interface/util/i-short-cut/i-short-cut.d.ts +32 -10
  54. package/out/interface/util/i-short-cut/i-short-cut.d.ts.map +1 -1
  55. package/out/interface/util/index.d.ts +1 -1
  56. package/out/interface/util/index.d.ts.map +1 -1
  57. package/out/register/helper/index.d.ts +1 -0
  58. package/out/register/helper/index.d.ts.map +1 -1
  59. package/out/register/helper/index.js +1 -0
  60. package/out/register/helper/toolbar-item-register.d.ts +25 -0
  61. package/out/register/helper/toolbar-item-register.d.ts.map +1 -0
  62. package/out/register/helper/toolbar-item-register.js +55 -0
  63. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  64. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +1 -1
  65. package/out/utils/short-cut/short-cut-util.d.ts +23 -8
  66. package/out/utils/short-cut/short-cut-util.d.ts.map +1 -1
  67. package/out/utils/short-cut/short-cut-util.js +39 -16
  68. package/package.json +3 -3
  69. package/out/controller/common/view/app-login-view.controller.d.ts +0 -54
  70. package/out/controller/common/view/app-login-view.controller.d.ts.map +0 -1
  71. package/out/controller/common/view/app-login-view.controller.js +0 -62
  72. package/out/interface/controller/controller/view/i-app-login-view.controller.d.ts +0 -40
  73. package/out/interface/controller/controller/view/i-app-login-view.controller.d.ts.map +0 -1
  74. /package/out/interface/controller/{controller/view/i-app-login-view.controller.js → event/argument/login-view.event.js} +0 -0
package/dist/index.esm.js CHANGED
@@ -5206,7 +5206,10 @@ var ShortCutUtil = class {
5206
5206
  * @type {IShortCut[]}
5207
5207
  * @memberof ShortCutUtil
5208
5208
  */
5209
- this.$ShortCut = [];
5209
+ this.$ShortCut = {
5210
+ items: [],
5211
+ mode: "vertical"
5212
+ };
5210
5213
  /**
5211
5214
  * 事件监听器
5212
5215
  *
@@ -5222,7 +5225,17 @@ var ShortCutUtil = class {
5222
5225
  * @memberof ShortCutUtil
5223
5226
  */
5224
5227
  get data() {
5225
- return this.$ShortCut;
5228
+ return this.$ShortCut.items;
5229
+ }
5230
+ /**
5231
+ * 快捷方式模式
5232
+ *
5233
+ * @readonly
5234
+ * @type {string}
5235
+ * @memberof ShortCutUtil
5236
+ */
5237
+ get mode() {
5238
+ return this.$ShortCut.mode;
5226
5239
  }
5227
5240
  /**
5228
5241
  * 初始化快捷方式数据
@@ -5231,7 +5244,7 @@ var ShortCutUtil = class {
5231
5244
  * @memberof ShortCutUtil
5232
5245
  */
5233
5246
  initShortCut() {
5234
- const shortcut = window.localStorage.getItem("IbizShortCut");
5247
+ const shortcut = window.localStorage.getItem("IBizShortCut");
5235
5248
  if (shortcut) {
5236
5249
  this.$ShortCut = JSON.parse(shortcut);
5237
5250
  }
@@ -5242,13 +5255,23 @@ var ShortCutUtil = class {
5242
5255
  * @memberof ShortCutUtil
5243
5256
  */
5244
5257
  saveShortCut() {
5245
- this.evt.emit("change", this.$ShortCut);
5246
- window.localStorage.setItem("IbizShortCut", JSON.stringify(this.$ShortCut));
5258
+ this.evt.emit("change", [...this.$ShortCut.items]);
5259
+ window.localStorage.setItem("IBizShortCut", JSON.stringify(this.$ShortCut));
5260
+ }
5261
+ /**
5262
+ * 设置快捷方式模式
5263
+ *
5264
+ * @param {('horizontal' | 'vertical')} mode
5265
+ * @memberof ShortCutUtil
5266
+ */
5267
+ setShortCutMode(mode) {
5268
+ this.$ShortCut.mode = mode;
5269
+ window.localStorage.setItem("IBizShortCut", JSON.stringify(this.$ShortCut));
5247
5270
  }
5248
5271
  /**
5249
5272
  * 订阅数据改变事件
5250
5273
  *
5251
- * @param {(data: IShortCut) => void} callback 回调
5274
+ * @param {(data: IShortCutData) => void} callback 回调
5252
5275
  * @memberof ShortCutUtil
5253
5276
  */
5254
5277
  onChange(callback) {
@@ -5257,7 +5280,7 @@ var ShortCutUtil = class {
5257
5280
  /**
5258
5281
  * 取消订阅
5259
5282
  *
5260
- * @param {(data: IShortCut) => void} callback
5283
+ * @param {(data: IShortCutData) => void} callback
5261
5284
  * @memberof ShortCutUtil
5262
5285
  */
5263
5286
  offChange(callback) {
@@ -5295,11 +5318,13 @@ var ShortCutUtil = class {
5295
5318
  * @memberof ShortCutUtil
5296
5319
  */
5297
5320
  addShortCut(shortCut) {
5298
- const index = this.$ShortCut.findIndex((item) => item.key === shortCut.key);
5321
+ const index = this.$ShortCut.items.findIndex(
5322
+ (item) => item.key === shortCut.key
5323
+ );
5299
5324
  if (index > -1) {
5300
- this.$ShortCut.splice(index, 1, shortCut);
5325
+ this.$ShortCut.items.splice(index, 1, shortCut);
5301
5326
  } else {
5302
- this.$ShortCut.push(shortCut);
5327
+ this.$ShortCut.items.push(shortCut);
5303
5328
  }
5304
5329
  this.saveShortCut();
5305
5330
  }
@@ -5310,9 +5335,9 @@ var ShortCutUtil = class {
5310
5335
  * @memberof ShortcutUtil
5311
5336
  */
5312
5337
  removeShortCut(key) {
5313
- const index = this.$ShortCut.findIndex((item) => item.key === key);
5338
+ const index = this.$ShortCut.items.findIndex((item) => item.key === key);
5314
5339
  if (index > -1) {
5315
- this.$ShortCut.splice(index, 1);
5340
+ this.$ShortCut.items.splice(index, 1);
5316
5341
  this.saveShortCut();
5317
5342
  }
5318
5343
  }
@@ -5324,7 +5349,7 @@ var ShortCutUtil = class {
5324
5349
  * @memberof ShortcutUtil
5325
5350
  */
5326
5351
  changeIndex(newIndex, oldIndex) {
5327
- const { length } = this.$ShortCut;
5352
+ const { length } = this.$ShortCut.items;
5328
5353
  if (oldIndex < 0 || oldIndex >= length || newIndex < 0 || newIndex >= length) {
5329
5354
  throw new Error(
5330
5355
  ibiz.i18n.t("runtime.utils.shortCut.invalidIndexNewIndex", {
@@ -5334,8 +5359,8 @@ var ShortCutUtil = class {
5334
5359
  })
5335
5360
  );
5336
5361
  }
5337
- const removedItem = this.$ShortCut.splice(oldIndex, 1)[0];
5338
- this.$ShortCut.splice(newIndex, 0, removedItem);
5362
+ const removedItem = this.$ShortCut.items.splice(oldIndex, 1)[0];
5363
+ this.$ShortCut.items.splice(newIndex, 0, removedItem);
5339
5364
  this.saveShortCut();
5340
5365
  }
5341
5366
  /**
@@ -5346,7 +5371,7 @@ var ShortCutUtil = class {
5346
5371
  * @memberof ShortCutUtil
5347
5372
  */
5348
5373
  isExist(key) {
5349
- const index = this.$ShortCut.findIndex((item) => item.key === key);
5374
+ const index = this.$ShortCut.items.findIndex((item) => item.key === key);
5350
5375
  if (index >= 0) {
5351
5376
  return true;
5352
5377
  }
@@ -6700,6 +6725,37 @@ function getErrorViewProvider(code) {
6700
6725
  return provider;
6701
6726
  }
6702
6727
 
6728
+ // src/register/helper/toolbar-item-register.ts
6729
+ var TOOLBAR_ITEM_PROVIDER_PREFIX = "TOOLBAR_ITEM";
6730
+ function registerToolbarItemProvider(key, callback) {
6731
+ ibiz.register.register("".concat(TOOLBAR_ITEM_PROVIDER_PREFIX, "_").concat(key), callback);
6732
+ }
6733
+ function getProvider17(key) {
6734
+ return ibiz.register.get(
6735
+ "".concat(TOOLBAR_ITEM_PROVIDER_PREFIX, "_").concat(key)
6736
+ );
6737
+ }
6738
+ async function getToolbarItemProvider(model) {
6739
+ let provider;
6740
+ const { sysPFPluginId, appId: appId2 } = model;
6741
+ if (sysPFPluginId) {
6742
+ const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId2);
6743
+ if (pluginKey) {
6744
+ provider = getProvider17(pluginKey);
6745
+ }
6746
+ if (!provider) {
6747
+ ibiz.log.error(
6748
+ ibiz.i18n.t("runtime.register.helper.toolbarItem", {
6749
+ pluginKey
6750
+ })
6751
+ );
6752
+ } else {
6753
+ return provider;
6754
+ }
6755
+ }
6756
+ return provider;
6757
+ }
6758
+
6703
6759
  // src/service/utils/app-counter/app-counter.ts
6704
6760
  import { IBizContext, RuntimeError as RuntimeError14 } from "@ibiz-template/core";
6705
6761
  import { notNilEmpty as notNilEmpty5, QXEvent as QXEvent3 } from "qx-util";
@@ -7210,7 +7266,8 @@ var DynamicCodeListCache = class {
7210
7266
  if (dataAppDEFieldId && data[dataAppDEFieldId]) {
7211
7267
  try {
7212
7268
  result.data = ScriptFactory.execSingleLine(
7213
- data[dataAppDEFieldId]
7269
+ dataAppDEFieldId,
7270
+ data
7214
7271
  );
7215
7272
  } catch (error) {
7216
7273
  ibiz.log.error(ibiz.i18n.t("runtime.service.dynamicCodeTable"));
@@ -16218,12 +16275,16 @@ async function openDataImport(opts) {
16218
16275
  modal.present();
16219
16276
  await modal.onWillDismiss();
16220
16277
  }
16221
- async function downloadImportTemplate(appDataEntity, dataImport) {
16278
+ async function downloadImportTemplate(appDataEntity, dataImport, context) {
16222
16279
  var _a;
16223
- let templateUrl = "".concat(appDataEntity.codeName2.toLowerCase(), "/importtemplate");
16280
+ let templateUrl = "/".concat(appDataEntity.codeName2.toLowerCase(), "/importtemplate");
16224
16281
  if (dataImport == null ? void 0 : dataImport.codeName) {
16225
16282
  templateUrl += "?srfimporttag=".concat(dataImport.codeName);
16226
16283
  }
16284
+ if (context) {
16285
+ const resPath = calcResPath(context, appDataEntity);
16286
+ templateUrl = resPath + templateUrl;
16287
+ }
16227
16288
  const res = await ibiz.net.request(templateUrl, {
16228
16289
  responseType: "blob"
16229
16290
  });
@@ -17453,7 +17514,7 @@ var AppDataUploadViewController = class extends ViewController {
17453
17514
  */
17454
17515
  downloadTemplate() {
17455
17516
  const { appDataEntity, deDataImport } = this.state;
17456
- downloadImportTemplate(appDataEntity, deDataImport);
17517
+ downloadImportTemplate(appDataEntity, deDataImport, this.context);
17457
17518
  }
17458
17519
  /**
17459
17520
  * 选中导入文件并导入
@@ -17496,58 +17557,6 @@ var AppDataUploadViewController = class extends ViewController {
17496
17557
  var MobViewController = class extends ViewController {
17497
17558
  };
17498
17559
 
17499
- // src/controller/common/view/app-login-view.controller.ts
17500
- import { AsyncSeriesHook as AsyncSeriesHook2 } from "qx-util";
17501
- var AppLoginViewController = class extends ViewController {
17502
- constructor() {
17503
- super(...arguments);
17504
- /**
17505
- * 钩子
17506
- *
17507
- * @memberof AppLoginViewController
17508
- */
17509
- this.hooks = {
17510
- beforeLogin: new AsyncSeriesHook2(),
17511
- afterLogin: new AsyncSeriesHook2()
17512
- };
17513
- }
17514
- /**
17515
- * 校验登录视图
17516
- *
17517
- * @return {*} {Promise<boolean>}
17518
- * @memberof AppLoginViewController
17519
- */
17520
- async validate(parentId) {
17521
- const context = {
17522
- validate: true,
17523
- parentId
17524
- };
17525
- await this.hooks.beforeLogin.call(context);
17526
- return context.validate;
17527
- }
17528
- /**
17529
- * 销毁Hooks钩子
17530
- *
17531
- * @protected
17532
- * @memberof AppLoginViewController
17533
- */
17534
- destroyHooks() {
17535
- this.hooks.beforeLogin.clear();
17536
- this.hooks.afterLogin.clear();
17537
- }
17538
- /**
17539
- * 生命周期-销毁完成
17540
- *
17541
- * @protected
17542
- * @return {*} {Promise<void>}
17543
- * @memberof AppLoginViewController
17544
- */
17545
- async onDestroyed() {
17546
- await super.onDeactivated();
17547
- this.destroyHooks();
17548
- }
17549
- };
17550
-
17551
17560
  // src/controller/common/view/wf-step-trace-view.controller.ts
17552
17561
  var WFStepTraceViewController = class extends ViewController {
17553
17562
  initState() {
@@ -23517,6 +23526,25 @@ function presetUIActionProvider() {
23517
23526
 
23518
23527
  // src/controller/control/toolbar/toolbar.controllerr.ts
23519
23528
  var ToolbarController = class extends ControlController {
23529
+ constructor() {
23530
+ super(...arguments);
23531
+ /**
23532
+ * 所有工具栏项
23533
+ *
23534
+ * @author zhanghengfeng
23535
+ * @date 2024-05-15 18:05:07
23536
+ * @type {IDEToolbarItem[]}
23537
+ */
23538
+ this.allToolbarItems = [];
23539
+ /**
23540
+ * 工具栏项适配器集合
23541
+ *
23542
+ * @author zhanghengfeng
23543
+ * @date 2024-05-15 18:05:25
23544
+ * @type {{ [key: string]: IToolbarItemProvider }}
23545
+ */
23546
+ this.itemProviders = {};
23547
+ }
23520
23548
  get _evt() {
23521
23549
  return this.evt;
23522
23550
  }
@@ -23574,12 +23602,31 @@ var ToolbarController = class extends ControlController {
23574
23602
  }
23575
23603
  }
23576
23604
  }
23605
+ /**
23606
+ * 初始化工具栏项适配器
23607
+ *
23608
+ * @author zhanghengfeng
23609
+ * @date 2024-05-15 18:05:08
23610
+ * @protected
23611
+ * @return {*} {Promise<void>}
23612
+ */
23613
+ async initToolbarItemProviders() {
23614
+ await Promise.all(
23615
+ this.allToolbarItems.map(async (item) => {
23616
+ const provider = await getToolbarItemProvider(item);
23617
+ if (provider) {
23618
+ this.itemProviders[item.id] = provider;
23619
+ }
23620
+ })
23621
+ );
23622
+ }
23577
23623
  async onCreated() {
23578
23624
  await super.onCreated();
23579
23625
  this.state.viewMode = this.ctx.view.modal.mode;
23580
23626
  recursiveIterate2(
23581
23627
  this.model,
23582
23628
  (item) => {
23629
+ this.allToolbarItems.push(item);
23583
23630
  if (item.itemType) {
23584
23631
  const uiItem = item;
23585
23632
  const buttonState = new UIActionButtonState(
@@ -23602,6 +23649,7 @@ var ToolbarController = class extends ControlController {
23602
23649
  },
23603
23650
  { childrenFields: ["detoolbarItems"] }
23604
23651
  );
23652
+ await this.initToolbarItemProviders();
23605
23653
  if (!this.state.manualCalcButtonState) {
23606
23654
  await this.calcButtonState(void 0, this.model.appDataEntityId);
23607
23655
  } else {
@@ -23917,6 +23965,13 @@ var CustomDashboardController = class {
23917
23965
  * @type {string}
23918
23966
  */
23919
23967
  this.ownerId = "";
23968
+ /**
23969
+ * 是否多模式
23970
+ *
23971
+ * @type {boolean}
23972
+ * @memberof CustomDashboardController
23973
+ */
23974
+ this.multiMode = false;
23920
23975
  this.context = dashboard.context;
23921
23976
  this.params = dashboard.params;
23922
23977
  this.init(dashboard.controlParams);
@@ -23941,6 +23996,10 @@ var CustomDashboardController = class {
23941
23996
  if (controlParams.owner_id) {
23942
23997
  this.ownerId = this.context[controlParams.owner_id];
23943
23998
  }
23999
+ if (controlParams.multimode === "true") {
24000
+ this.multiMode = true;
24001
+ this.type = "dynamic";
24002
+ }
23944
24003
  if (this.model.appDynaDashboardUtilId) {
23945
24004
  const app = ibiz.hub.getApp(this.context.srfappid);
23946
24005
  this.util = new UtilService(
@@ -23970,6 +24029,8 @@ var CustomDashboardController = class {
23970
24029
  return "".concat(base, "_").concat(this.context.srfpersonid);
23971
24030
  case "data":
23972
24031
  return "".concat(base, "_").concat(this.ownerType, "_").concat(this.ownerId);
24032
+ case "dynamic":
24033
+ return "".concat(base, "_").concat(this.context.srfdynadashboardid);
23973
24034
  default:
23974
24035
  return base;
23975
24036
  }
@@ -31690,9 +31751,18 @@ var ListController = class extends MDControlController {
31690
31751
 
31691
31752
  // src/controller/control/panel/panel/panel.controller.ts
31692
31753
  import { recursiveIterate as recursiveIterate8, RuntimeError as RuntimeError58 } from "@ibiz-template/core";
31754
+ import { AsyncSeriesHook as AsyncSeriesHook2 } from "qx-util";
31693
31755
  var PanelController = class extends ControlController {
31694
31756
  constructor(model, context, params, ctx, container) {
31695
31757
  super(model, context, params, ctx);
31758
+ /**
31759
+ * 面板钩子
31760
+ *
31761
+ * @memberof PanelController
31762
+ */
31763
+ this.hooks = {
31764
+ validate: new AsyncSeriesHook2()
31765
+ };
31696
31766
  /**
31697
31767
  * 所有面板成员的控制器
31698
31768
  *
@@ -31752,14 +31822,34 @@ var PanelController = class extends ControlController {
31752
31822
  async onMounted() {
31753
31823
  this.load();
31754
31824
  }
31825
+ /**
31826
+ * 生命周期-销毁完成
31827
+ *
31828
+ * @protected
31829
+ * @return {*} {Promise<void>}
31830
+ * @memberof PanelController
31831
+ */
31755
31832
  async onDestroyed() {
31756
31833
  var _a, _b;
31757
31834
  await super.onDestroyed();
31758
31835
  (_b = (_a = this.data).destroy) == null ? void 0 : _b.call(_a);
31836
+ this.hooks.validate.clear();
31759
31837
  Object.values(this.panelItems).forEach((item) => {
31760
31838
  item.destroy();
31761
31839
  });
31762
31840
  }
31841
+ /**
31842
+ * 值校验
31843
+ *
31844
+ * @param {string} [parentId] 数据父容器标识
31845
+ * @return {*} {Promise<boolean>}
31846
+ * @memberof PanelController
31847
+ */
31848
+ async validate(parentId) {
31849
+ const result = [];
31850
+ await this.hooks.validate.call({ result, parentId });
31851
+ return result.every((value) => value);
31852
+ }
31763
31853
  /**
31764
31854
  * 初始化面板成员控制器
31765
31855
  *
@@ -32141,6 +32231,11 @@ var PanelItemController = class {
32141
32231
  if (hasVisibleLogic) {
32142
32232
  this.state.visible = false;
32143
32233
  }
32234
+ this.panel.hooks.validate.tapPromise(async (context) => {
32235
+ if (!context.parentId || context.parentId === this.dataParent.model.id) {
32236
+ context.result.push(await this.validate());
32237
+ }
32238
+ });
32144
32239
  await this.onInit();
32145
32240
  }
32146
32241
  async onInit() {
@@ -32159,6 +32254,15 @@ var PanelItemController = class {
32159
32254
  }
32160
32255
  destroy() {
32161
32256
  }
32257
+ /**
32258
+ * 值校验
32259
+ * 由子类具体实现
32260
+ * @return {*} {Promise<boolean>}
32261
+ * @memberof PanelItemController
32262
+ */
32263
+ async validate() {
32264
+ return true;
32265
+ }
32162
32266
  /**
32163
32267
  * 创建面板状态对象
32164
32268
  *
@@ -33099,7 +33203,7 @@ function validateFilterNodes(filterNodes) {
33099
33203
  }
33100
33204
  if (node.nodeType === "FIELD") {
33101
33205
  hasFilter = true;
33102
- hasError = !node.field || !node.valueOP || isNil30(node.value);
33206
+ hasError = !node.field || !node.valueOP || !ExcludeOPs.includes(node.valueOP) && isNil30(node.value);
33103
33207
  } else if (node.nodeType === "ITEMS") {
33104
33208
  hasError = !node.field || !node.valueOP;
33105
33209
  } else {
@@ -42423,7 +42527,6 @@ export {
42423
42527
  AppDataEntity,
42424
42528
  AppDataUploadViewController,
42425
42529
  AppFuncCommand,
42426
- AppLoginViewController,
42427
42530
  AppMenuController,
42428
42531
  AppMenuIconViewController,
42429
42532
  Application,
@@ -42600,6 +42703,7 @@ export {
42600
42703
  StudioViewEvents,
42601
42704
  SysUIActionProvider,
42602
42705
  SysUIActionTag,
42706
+ TOOLBAR_ITEM_PROVIDER_PREFIX,
42603
42707
  TREEGRIDEX_COLUMN_PROVIDER_PREFIX,
42604
42708
  TabExpPanelController,
42605
42709
  TextUtil,
@@ -42728,6 +42832,7 @@ export {
42728
42832
  getPlatformType,
42729
42833
  getPortletProvider,
42730
42834
  getRootNode,
42835
+ getToolbarItemProvider,
42731
42836
  getTreeGridExColumnProvider,
42732
42837
  getTreeNode,
42733
42838
  getUIActionById,
@@ -42773,6 +42878,7 @@ export {
42773
42878
  registerPanelItemProvider,
42774
42879
  registerPlatformProvider,
42775
42880
  registerPortletProvider,
42881
+ registerToolbarItemProvider,
42776
42882
  registerTreeGridExColumnProvider,
42777
42883
  registerUIActionProvider,
42778
42884
  registerUILogicNodeProvider,