@ibiz-template/runtime 0.7.41-alpha.14 → 0.7.41-alpha.16

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 (71) hide show
  1. package/dist/index.esm.js +284 -66
  2. package/dist/index.system.min.js +1 -1
  3. package/out/config/global-config.d.ts +2 -1
  4. package/out/config/global-config.d.ts.map +1 -1
  5. package/out/config/global-config.js +5 -0
  6. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  7. package/out/controller/common/view/view.controller.js +6 -2
  8. package/out/controller/control/calendar/calendar.controller.d.ts.map +1 -1
  9. package/out/controller/control/calendar/calendar.controller.js +8 -1
  10. package/out/controller/control/data-view/data-view.controller.d.ts +17 -4
  11. package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
  12. package/out/controller/control/data-view/data-view.controller.js +27 -5
  13. package/out/controller/control/exp-bar/calendar-exp-bar.controller.d.ts.map +1 -1
  14. package/out/controller/control/exp-bar/calendar-exp-bar.controller.js +2 -0
  15. package/out/controller/control/form/edit-form/edit-form.controller.js +2 -2
  16. package/out/controller/control/form/form/form.controller.d.ts +22 -2
  17. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  18. package/out/controller/control/form/form/form.controller.js +33 -2
  19. package/out/controller/control/kanban/kanban.controller.d.ts +21 -17
  20. package/out/controller/control/kanban/kanban.controller.d.ts.map +1 -1
  21. package/out/controller/control/kanban/kanban.controller.js +59 -30
  22. package/out/controller/control/list/list.controller.d.ts +22 -0
  23. package/out/controller/control/list/list.controller.d.ts.map +1 -1
  24. package/out/controller/control/list/list.controller.js +60 -0
  25. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +25 -9
  26. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -1
  27. package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +49 -21
  28. package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts.map +1 -1
  29. package/out/controller/control/wizard-panel/wizard-panel.controller.js +1 -1
  30. package/out/controller/utils/button-state/ui-action-button.state.d.ts.map +1 -1
  31. package/out/controller/utils/button-state/ui-action-button.state.js +4 -1
  32. package/out/interface/api/common/global-config/i-api-global-config.d.ts +7 -0
  33. package/out/interface/api/common/global-config/i-api-global-config.d.ts.map +1 -1
  34. package/out/interface/api/common/global-config/i-api-global-kanban-config.d.ts +20 -0
  35. package/out/interface/api/common/global-config/i-api-global-kanban-config.d.ts.map +1 -0
  36. package/out/interface/api/common/global-config/i-api-global-kanban-config.js +1 -0
  37. package/out/interface/api/common/global-config/index.d.ts +1 -0
  38. package/out/interface/api/common/global-config/index.d.ts.map +1 -1
  39. package/out/interface/api/common/i-api-map-options.d.ts +62 -0
  40. package/out/interface/api/common/i-api-map-options.d.ts.map +1 -0
  41. package/out/interface/api/common/i-api-map-options.js +1 -0
  42. package/out/interface/api/common/index.d.ts +1 -0
  43. package/out/interface/api/common/index.d.ts.map +1 -1
  44. package/out/interface/api/controller/control/i-api-form.controller.d.ts +12 -0
  45. package/out/interface/api/controller/control/i-api-form.controller.d.ts.map +1 -1
  46. package/out/interface/api/controller/control/i-api-map.controller.d.ts +2 -2
  47. package/out/interface/api/controller/control/i-api-medit-view-panel.controller.d.ts +27 -1
  48. package/out/interface/api/controller/control/i-api-medit-view-panel.controller.d.ts.map +1 -1
  49. package/out/interface/api/state/control/i-api-data-view-control.state.d.ts +14 -0
  50. package/out/interface/api/state/control/i-api-data-view-control.state.d.ts.map +1 -1
  51. package/out/interface/api/state/control/i-api-form.state.d.ts +7 -0
  52. package/out/interface/api/state/control/i-api-form.state.d.ts.map +1 -1
  53. package/out/interface/api/state/control/i-api-kanban.state.d.ts +0 -14
  54. package/out/interface/api/state/control/i-api-kanban.state.d.ts.map +1 -1
  55. package/out/interface/api/state/control/i-api-list.state.d.ts +9 -0
  56. package/out/interface/api/state/control/i-api-list.state.d.ts.map +1 -1
  57. package/out/interface/controller/event/control/i-drbar.event.d.ts +2 -8
  58. package/out/interface/controller/event/control/i-drbar.event.d.ts.map +1 -1
  59. package/out/interface/controller/event/control/i-drtab.event.d.ts +2 -8
  60. package/out/interface/controller/event/control/i-drtab.event.d.ts.map +1 -1
  61. package/out/interface/controller/event/control/i-medit-view-panel.event.d.ts +25 -0
  62. package/out/interface/controller/event/control/i-medit-view-panel.event.d.ts.map +1 -1
  63. package/out/interface/controller/event/control/i-wizard-panel.event.d.ts +12 -0
  64. package/out/interface/controller/event/control/i-wizard-panel.event.d.ts.map +1 -1
  65. package/out/interface/controller/state/control/i-kanban.state.d.ts +15 -9
  66. package/out/interface/controller/state/control/i-kanban.state.d.ts.map +1 -1
  67. package/out/service/vo/calendar-item-data/calendar-item-data.d.ts +4 -0
  68. package/out/service/vo/calendar-item-data/calendar-item-data.d.ts.map +1 -1
  69. package/out/service/vo/calendar-item-data/calendar-item-data.js +14 -6
  70. package/out/service/vo/control.vo.js +1 -1
  71. package/package.json +2 -2
package/dist/index.esm.js CHANGED
@@ -19195,6 +19195,11 @@ var GlobalConfig = class {
19195
19195
  emptyHiddenUnit: true,
19196
19196
  showTipsIcon: true
19197
19197
  };
19198
+ // 全局看板配置
19199
+ this.kanban = {
19200
+ enableFullScreen: true,
19201
+ enableGroupHidden: false
19202
+ };
19198
19203
  // 全局下拉选择类编辑器配置
19199
19204
  this.pickerEditor = {
19200
19205
  overflowMode: "auto"
@@ -24558,7 +24563,7 @@ var ControlVO = class _ControlVO {
24558
24563
  */
24559
24564
  clone() {
24560
24565
  const cloneOrigin = clone3(this.$origin);
24561
- const newVal = new _ControlVO(cloneOrigin, this.$dataUIMap);
24566
+ const newVal = new _ControlVO(cloneOrigin, new Map([...this.$dataUIMap]));
24562
24567
  Object.keys(this).forEach((key) => {
24563
24568
  newVal[key] = this[key];
24564
24569
  });
@@ -25043,7 +25048,10 @@ var CalendarItemData = class {
25043
25048
  }
25044
25049
  get bkColor() {
25045
25050
  const fieldName = this.model.bkcolorAppDEFieldId;
25046
- return fieldName && this.data[fieldName] ? this.data[fieldName] : this.model.bkcolor;
25051
+ return this._bkColor || (fieldName && this.data[fieldName] ? this.data[fieldName] : this.model.bkcolor);
25052
+ }
25053
+ set bkColor(_val) {
25054
+ this._bkColor = _val;
25047
25055
  }
25048
25056
  get beginTime() {
25049
25057
  const fieldName = this.model.beginTimeAppDEFieldId;
@@ -25051,7 +25059,10 @@ var CalendarItemData = class {
25051
25059
  }
25052
25060
  get color() {
25053
25061
  const fieldName = this.model.colorAppDEFieldId;
25054
- return fieldName && this.data[fieldName] ? this.data[fieldName] : this.model.color;
25062
+ return this._color || (fieldName && this.data[fieldName] ? this.data[fieldName] : this.model.color);
25063
+ }
25064
+ set color(_val) {
25065
+ this._color = _val;
25055
25066
  }
25056
25067
  get content() {
25057
25068
  const fieldName = this.model.contentAppDEFieldId;
@@ -34314,11 +34325,14 @@ var UIActionButtonState = class {
34314
34325
  // 计算启用逻辑
34315
34326
  async calcEnableScript(context, data) {
34316
34327
  if (this.model && this.model.enableScriptCode) {
34317
- this.disabled = ScriptFactory.execScriptFn(
34328
+ const dynaEnable = ScriptFactory.execScriptFn(
34318
34329
  { context, data },
34319
34330
  this.model.enableScriptCode,
34320
34331
  { singleRowReturn: true }
34321
34332
  );
34333
+ if (dynaEnable !== void 0) {
34334
+ this.disabled = !dynaEnable;
34335
+ }
34322
34336
  }
34323
34337
  }
34324
34338
  // 计算可见逻辑
@@ -36042,7 +36056,12 @@ var ViewController = class extends BaseController {
36042
36056
  this.ctx.init(this);
36043
36057
  this.initEngines();
36044
36058
  this.handleViewError = this.handleViewError.bind(this);
36045
- ibiz.appUtil.viewCacheCenter.set(this.model.codeName.toLowerCase(), this);
36059
+ if (this.model.codeName) {
36060
+ ibiz.appUtil.viewCacheCenter.set(
36061
+ this.model.codeName.toLowerCase(),
36062
+ this
36063
+ );
36064
+ }
36046
36065
  }
36047
36066
  get _evt() {
36048
36067
  return this.evt;
@@ -36325,7 +36344,9 @@ var ViewController = class extends BaseController {
36325
36344
  );
36326
36345
  ibiz.mc.error.off(this.handleViewError);
36327
36346
  ibiz.util.record.removeTriggerLogic(this.id);
36328
- ibiz.appUtil.viewCacheCenter.delete(this.model.codeName.toLowerCase());
36347
+ if (this.model.codeName) {
36348
+ ibiz.appUtil.viewCacheCenter.delete(this.model.codeName.toLowerCase());
36349
+ }
36329
36350
  }
36330
36351
  /**
36331
36352
  * 处理上下文和导航参数相关的,如自定义导航参数的处理
@@ -42593,7 +42614,15 @@ var CalendarController = class extends MDControlController {
42593
42614
  * @memberof CalendarController
42594
42615
  */
42595
42616
  async afterLoad(args, items) {
42596
- await super.afterLoad(args, items);
42617
+ if (args.isInitialLoad || this.refreshMode === "nocache") {
42618
+ this.state.selectedData = [];
42619
+ } else if (this.refreshMode === "cache") {
42620
+ this.state.selectedData = this.state.items.filter(
42621
+ (item) => this.state.selectedData.find(
42622
+ (select) => select.deData.tempsrfkey === item.deData.tempsrfkey
42623
+ )
42624
+ );
42625
+ }
42597
42626
  this.sortItems(this.state.items);
42598
42627
  this.calcShowMode(this.state.items);
42599
42628
  await this.handleDataGroup();
@@ -49022,15 +49051,32 @@ var DataViewControlService = class extends MDControlService {
49022
49051
  // src/controller/control/data-view/data-view.controller.ts
49023
49052
  var DataViewControlController = class extends MDControlController {
49024
49053
  /**
49025
- * 是否允许新建
49026
- * @author lxm
49027
- * @date 2023-09-11 04:05:25
49054
+ * @description 是否允许新建
49028
49055
  * @readonly
49029
49056
  * @type {boolean}
49057
+ * @memberof DataViewControlController
49030
49058
  */
49031
49059
  get enableNew() {
49032
49060
  return this.model.enableCardNew === true;
49033
49061
  }
49062
+ /**
49063
+ * @description 是否允许调整顺序
49064
+ * @readonly
49065
+ * @type {boolean}
49066
+ * @memberof DataViewControlController
49067
+ */
49068
+ get enableEditOrder() {
49069
+ return this.model.enableCardEditOrder === true;
49070
+ }
49071
+ /**
49072
+ * @description 是否支持调整分组
49073
+ * @readonly
49074
+ * @type {boolean}
49075
+ * @memberof DataViewControlController
49076
+ */
49077
+ get enableEditGroup() {
49078
+ return this.model.enableCardEditGroup === true;
49079
+ }
49034
49080
  /**
49035
49081
  * 初始化State
49036
49082
  *
@@ -49046,6 +49092,8 @@ var DataViewControlController = class extends MDControlController {
49046
49092
  this.state.collapseKeys = [];
49047
49093
  const { enablePagingBar } = this.model;
49048
49094
  this.state.enablePagingBar = enablePagingBar;
49095
+ this.state.readonly = !!(this.context.srfreadonly === true || this.context.srfreadonly === "true");
49096
+ this.state.draggable = this.enableEditOrder || this.enableEditGroup;
49049
49097
  this.state.uaState = {};
49050
49098
  }
49051
49099
  /**
@@ -49357,7 +49405,7 @@ var DataViewControlController = class extends MDControlController {
49357
49405
  * @memberof DataViewControlController
49358
49406
  */
49359
49407
  async handleAutoGroup() {
49360
- const { groupAppDEFieldId, groupCodeListId } = this.model;
49408
+ const { groupAppDEFieldId, groupCodeListId, groupTextAppDEFieldId } = this.model;
49361
49409
  let codeList = [];
49362
49410
  if (groupCodeListId) {
49363
49411
  const app = ibiz.hub.getApp(this.context.srfappid);
@@ -49369,7 +49417,7 @@ var DataViewControlController = class extends MDControlController {
49369
49417
  }
49370
49418
  if (groupAppDEFieldId) {
49371
49419
  const { items } = this.state;
49372
- const textDEFieldId = getParentTextAppDEFieldId(groupAppDEFieldId, this.dataEntity) || groupAppDEFieldId;
49420
+ const textDEFieldId = getParentTextAppDEFieldId(groupAppDEFieldId, this.dataEntity) || groupTextAppDEFieldId || groupAppDEFieldId;
49373
49421
  const dateFormat = this.groupDateFormat[0];
49374
49422
  const groupMap = /* @__PURE__ */ new Map();
49375
49423
  const unclassified = {
@@ -49480,7 +49528,9 @@ var DataViewControlController = class extends MDControlController {
49480
49528
  * @param {(string | number)} group 分组标识
49481
49529
  */
49482
49530
  onClickNew(event, group) {
49483
- const params = { ...this.params, srfgroup: group };
49531
+ const params = { ...this.params };
49532
+ if (group)
49533
+ Object.assign(params, { srfgroup: group });
49484
49534
  UIActionUtil.execAndResolved(
49485
49535
  "new",
49486
49536
  {
@@ -50105,13 +50155,15 @@ var CalendarExpBarController = class extends ExpBarControlController {
50105
50155
  key: item.navId,
50106
50156
  context,
50107
50157
  params,
50108
- viewId: itemModel.navAppViewId
50158
+ viewId: itemModel.navAppViewId,
50159
+ isCache: this.isCache
50109
50160
  };
50110
50161
  }
50111
50162
  return {
50112
50163
  key: item.navId,
50113
50164
  context: this.context,
50114
- params: this.params
50165
+ params: this.params,
50166
+ isCache: this.isCache
50115
50167
  };
50116
50168
  }
50117
50169
  };
@@ -50535,6 +50587,7 @@ var FormController = class extends ControlController {
50535
50587
  this.state.processing = false;
50536
50588
  this.state.modified = false;
50537
50589
  this.state.formIsDestroyed = false;
50590
+ this.state.simpleDataIndex = 0;
50538
50591
  }
50539
50592
  /**
50540
50593
  * 设置激活分页
@@ -50545,6 +50598,22 @@ var FormController = class extends ControlController {
50545
50598
  setActiveTab(name2) {
50546
50599
  this.state.activeTab = name2;
50547
50600
  }
50601
+ /**
50602
+ * @description 设置简单模式数据索引
50603
+ * @param {number} [index]
50604
+ * @memberof EditFormController
50605
+ */
50606
+ setSimpleDataIndex(index) {
50607
+ this.state.simpleDataIndex = index || 0;
50608
+ }
50609
+ /**
50610
+ * @description 获取简单模式数据索引
50611
+ * @returns {*} {number}
50612
+ * @memberof EditFormController
50613
+ */
50614
+ getSimpleDataIndex() {
50615
+ return this.state.simpleDataIndex;
50616
+ }
50548
50617
  /**
50549
50618
  * 更新表单分页面板
50550
50619
  *
@@ -50697,6 +50766,19 @@ var FormController = class extends ControlController {
50697
50766
  getData() {
50698
50767
  return [this.state.data];
50699
50768
  }
50769
+ /**
50770
+ * @description 获取原始实体数据
50771
+ * @returns {*} {IData[]}
50772
+ * @memberof FormController
50773
+ */
50774
+ getReal() {
50775
+ let formData = this.getData()[0] || {};
50776
+ formData = this.checkIgnoreInput(formData);
50777
+ const originData = formData instanceof ControlVO ? formData.getOrigin() : formData;
50778
+ const filterData = this.service.getFilteredData(formData);
50779
+ Object.assign(originData, filterData);
50780
+ return [originData];
50781
+ }
50700
50782
  /**
50701
50783
  * 设置表单数据的值
50702
50784
  *
@@ -50733,9 +50815,9 @@ var FormController = class extends ControlController {
50733
50815
  * @author tony001
50734
50816
  * @date 2025-01-09 16:01:29
50735
50817
  * @param {IData} data
50736
- * @return {*} {Promise<void>}
50818
+ * @return {*} {IData}
50737
50819
  */
50738
- async checkIgnoreInput(data) {
50820
+ checkIgnoreInput(data) {
50739
50821
  const formData = clone36(data);
50740
50822
  const formDataUIMap = formData.$dataUIMap;
50741
50823
  const isCreate = formData.srfuf === 0 /* CREATE */;
@@ -50762,6 +50844,7 @@ var FormController = class extends ControlController {
50762
50844
  break;
50763
50845
  }
50764
50846
  });
50847
+ return formData;
50765
50848
  }
50766
50849
  /**
50767
50850
  * 校验表单的全部表单项
@@ -54744,8 +54827,8 @@ var EditFormController = class extends FormController {
54744
54827
  srfactiontrusted: false
54745
54828
  });
54746
54829
  }
54747
- const saveData = data[0];
54748
- await this.checkIgnoreInput(saveData);
54830
+ let saveData = data[0];
54831
+ saveData = this.checkIgnoreInput(saveData);
54749
54832
  const isCreate = saveData.srfuf === 0 /* CREATE */;
54750
54833
  let res;
54751
54834
  try {
@@ -58585,6 +58668,7 @@ var ListController = class extends MDControlController {
58585
58668
  this.state.expandedKeys = [];
58586
58669
  const { enablePagingBar } = this.model;
58587
58670
  this.state.enablePagingBar = enablePagingBar;
58671
+ this.state.uaState = {};
58588
58672
  }
58589
58673
  async onCreated() {
58590
58674
  await super.onCreated();
@@ -58715,9 +58799,80 @@ var ListController = class extends MDControlController {
58715
58799
  super.afterLoad(args, items);
58716
58800
  await this.handleDataGroup();
58717
58801
  await this.initGroupActionStates();
58802
+ await this.calcOptItemState(items);
58718
58803
  this.calcShowMode(items);
58719
58804
  return items;
58720
58805
  }
58806
+ /**
58807
+ * @description 获取操作项行为集合模型
58808
+ * @returns {*} {IUIActionGroupDetail[]}
58809
+ * @memberof DataViewControlController
58810
+ */
58811
+ getOptItemModel() {
58812
+ const actions = [];
58813
+ const { delistItems } = this.model;
58814
+ delistItems == null ? void 0 : delistItems.forEach((item) => {
58815
+ if (item.itemType === "ACTIONITEM" && item.deuiactionGroup && item.deuiactionGroup.uiactionGroupDetails) {
58816
+ actions.push(...item.deuiactionGroup.uiactionGroupDetails);
58817
+ }
58818
+ });
58819
+ return actions;
58820
+ }
58821
+ /**
58822
+ * @description 计算操作项状态
58823
+ * @param {IData[]} items
58824
+ * @returns {*} {Promise<void>}
58825
+ * @memberof DataViewControlController
58826
+ */
58827
+ async calcOptItemState(items) {
58828
+ const actions = this.getOptItemModel();
58829
+ if (actions.length)
58830
+ await Promise.all(
58831
+ items.map(async (item) => {
58832
+ const containerState = new ButtonContainerState();
58833
+ actions.forEach((action) => {
58834
+ const actionid = action.uiactionId;
58835
+ if (actionid) {
58836
+ const buttonState = new UIActionButtonState(
58837
+ action.id,
58838
+ this.context.srfappid,
58839
+ actionid
58840
+ );
58841
+ containerState.addState(action.id, buttonState);
58842
+ }
58843
+ });
58844
+ await containerState.update(
58845
+ this.context,
58846
+ item.getOrigin(),
58847
+ this.model.appDataEntityId
58848
+ );
58849
+ this.state.uaState[item.srfkey] = containerState;
58850
+ })
58851
+ );
58852
+ }
58853
+ /**
58854
+ * @description 行为点击
58855
+ * @param {IUIActionGroupDetail} detail
58856
+ * @param {IData} item
58857
+ * @param {MouseEvent} event
58858
+ * @returns {*} {Promise<void>}
58859
+ * @memberof ListController
58860
+ */
58861
+ async onActionClick(detail, item, event) {
58862
+ const actionId = detail.uiactionId;
58863
+ await UIActionUtil.execAndResolved(
58864
+ actionId,
58865
+ {
58866
+ context: this.context,
58867
+ params: this.params,
58868
+ data: [item],
58869
+ view: this.view,
58870
+ ctrl: this,
58871
+ event
58872
+ },
58873
+ detail.appId
58874
+ );
58875
+ }
58721
58876
  /**
58722
58877
  * 设置列表数据
58723
58878
  *
@@ -62051,7 +62206,6 @@ var WizardPanelController = class extends ControlController {
62051
62206
  throw new RuntimeError59(
62052
62207
  ibiz.i18n.t("runtime.controller.control.wizardPanel.noConfiguration")
62053
62208
  );
62054
- return;
62055
62209
  }
62056
62210
  const wizardForm = this.model.dewizard.dewizardForms.find(
62057
62211
  (form) => {
@@ -62105,6 +62259,7 @@ var WizardPanelController = class extends ControlController {
62105
62259
  this.state.activeFormTag = this.firstForm.formTag;
62106
62260
  this.tagHistory.push(this.firstForm.formTag);
62107
62261
  }
62262
+ this.evt.emit("onInitialized", void 0);
62108
62263
  }
62109
62264
  /**
62110
62265
  * 执行完成操作
@@ -62664,6 +62819,7 @@ var MDCtrlController = class extends MDControlController {
62664
62819
  import {
62665
62820
  DataTypes as DataTypes6,
62666
62821
  RuntimeError as RuntimeError60,
62822
+ isElementSame as isElementSame5,
62667
62823
  RuntimeModelError as RuntimeModelError69
62668
62824
  } from "@ibiz-template/core";
62669
62825
  import { clone as clone46, isNil as isNil37 } from "ramda";
@@ -62711,24 +62867,26 @@ var KanbanService = class extends DataViewControlService {
62711
62867
  // src/controller/control/kanban/kanban.controller.ts
62712
62868
  var KanbanController = class extends DataViewControlController {
62713
62869
  /**
62714
- * 允许调整顺序
62715
- * @author lxm
62716
- * @date 2023-09-11 04:02:39
62870
+ * @description 是否支持全屏
62717
62871
  * @readonly
62718
62872
  * @type {boolean}
62873
+ * @memberof KanbanController
62719
62874
  */
62720
- get enableEditOrder() {
62721
- return this.model.enableCardEditOrder === true;
62875
+ get enableFullScreen() {
62876
+ if (this.controlParams.enablefullscreen)
62877
+ return this.controlParams.enablefullscreen === "true" || this.controlParams.enablefullscreen === true;
62878
+ return ibiz.config.kanban.enableFullScreen;
62722
62879
  }
62723
62880
  /**
62724
- * 是否支持调整分组。
62725
- * @author lxm
62726
- * @date 2023-09-11 04:04:00
62881
+ * @description 是否支持分组隐藏
62727
62882
  * @readonly
62728
62883
  * @type {boolean}
62884
+ * @memberof KanbanController
62729
62885
  */
62730
- get enableEditGroup() {
62731
- return this.model.enableCardEditGroup === true;
62886
+ get enableGroupHidden() {
62887
+ if (this.controlParams.enablegrouphidden)
62888
+ return this.controlParams.enablegrouphidden === "true" || this.controlParams.enablegrouphidden === true;
62889
+ return ibiz.config.kanban.enableGroupHidden;
62732
62890
  }
62733
62891
  /**
62734
62892
  * @description 拖拽模式
@@ -62766,9 +62924,7 @@ var KanbanController = class extends DataViewControlController {
62766
62924
  this.state.updating = false;
62767
62925
  this.state.batching = false;
62768
62926
  this.state.selectGroupKey = "";
62769
- this.state.readonly = !!(this.context.srfreadonly === true || this.context.srfreadonly === "true");
62770
- this.state.draggable = this.enableEditOrder || this.enableEditGroup;
62771
- this.state.lanes = [];
62927
+ this.state.swimlanes = [];
62772
62928
  }
62773
62929
  /**
62774
62930
  * 初始化
@@ -62854,7 +63010,7 @@ var KanbanController = class extends DataViewControlController {
62854
63010
  * @description 点击新建并设置设置选中分组
62855
63011
  * @param {MouseEvent} event
62856
63012
  * @param {(string | number)} group 分组
62857
- * @param {IKanbanLane} [lane] 泳道
63013
+ * @param {IKanbanSwimlane} [lane] 泳道
62858
63014
  * @memberof KanbanController
62859
63015
  */
62860
63016
  onClickNew(event, group, lane) {
@@ -62906,7 +63062,7 @@ var KanbanController = class extends DataViewControlController {
62906
63062
  * @param {IData} item
62907
63063
  * @param {MouseEvent} event
62908
63064
  * @param {IKanbanGroupState} group
62909
- * @param {IKanbanLane} [lane]
63065
+ * @param {IKanbanSwimlane} [lane]
62910
63066
  * @returns {*} {Promise<void>}
62911
63067
  * @memberof KanbanController
62912
63068
  */
@@ -62946,7 +63102,7 @@ var KanbanController = class extends DataViewControlController {
62946
63102
  const { swimlaneCodeListId, swimlaneAppDEFieldId } = this.model;
62947
63103
  if (!swimlaneAppDEFieldId)
62948
63104
  return;
62949
- let lanes = [];
63105
+ let swimlanes = [];
62950
63106
  const unclassified = {
62951
63107
  count: 0,
62952
63108
  key: void 0,
@@ -62961,7 +63117,7 @@ var KanbanController = class extends DataViewControlController {
62961
63117
  this.context,
62962
63118
  this.params
62963
63119
  );
62964
- lanes = codeListItems.map((item) => {
63120
+ swimlanes = codeListItems.map((item) => {
62965
63121
  var _a3;
62966
63122
  return {
62967
63123
  count: 0,
@@ -62971,7 +63127,7 @@ var KanbanController = class extends DataViewControlController {
62971
63127
  };
62972
63128
  });
62973
63129
  items.forEach((item) => {
62974
- const lane = lanes.find(
63130
+ const lane = swimlanes.find(
62975
63131
  (l) => {
62976
63132
  var _a3;
62977
63133
  return l.key === ((_a3 = item[swimlaneAppDEFieldId]) == null ? void 0 : _a3.toLowerCase());
@@ -62987,11 +63143,13 @@ var KanbanController = class extends DataViewControlController {
62987
63143
  const textDEFieldId = getParentTextAppDEFieldId(swimlaneAppDEFieldId, this.dataEntity) || swimlaneAppDEFieldId;
62988
63144
  items.forEach((item) => {
62989
63145
  if (item[swimlaneAppDEFieldId]) {
62990
- const lane = lanes.find((l) => l.key === item[swimlaneAppDEFieldId]);
63146
+ const lane = swimlanes.find(
63147
+ (l) => l.key === item[swimlaneAppDEFieldId]
63148
+ );
62991
63149
  if (lane) {
62992
63150
  lane.count += 1;
62993
63151
  } else {
62994
- lanes.push({
63152
+ swimlanes.push({
62995
63153
  count: 1,
62996
63154
  isExpand: true,
62997
63155
  key: item[swimlaneAppDEFieldId],
@@ -63004,8 +63162,8 @@ var KanbanController = class extends DataViewControlController {
63004
63162
  });
63005
63163
  }
63006
63164
  if (unclassified.count)
63007
- lanes.push(unclassified);
63008
- this.state.lanes = lanes;
63165
+ swimlanes.push(unclassified);
63166
+ this.state.swimlanes = swimlanes;
63009
63167
  }
63010
63168
  /**
63011
63169
  * 处理代码表分组
@@ -63048,11 +63206,10 @@ var KanbanController = class extends DataViewControlController {
63048
63206
  this.state.groups = groups;
63049
63207
  }
63050
63208
  /**
63051
- * 拖拽变更事件处理回调
63052
- * @author lxm
63053
- * @date 2023-09-11 04:12:58
63209
+ * @description 拖拽变更
63054
63210
  * @param {IDragChangeInfo} info
63055
- * @return {*} {Promise<void>}
63211
+ * @returns {*} {Promise<void>}
63212
+ * @memberof KanbanController
63056
63213
  */
63057
63214
  async onDragChange(info) {
63058
63215
  if (!this.enableEditGroup) {
@@ -63300,9 +63457,8 @@ var KanbanController = class extends DataViewControlController {
63300
63457
  * @memberof KanbanController
63301
63458
  */
63302
63459
  setSelectGroup(key) {
63303
- if (!this.state.batching) {
63460
+ if (!this.state.batching)
63304
63461
  this.state.selectGroupKey = key;
63305
- }
63306
63462
  }
63307
63463
  /**
63308
63464
  * 设置分组控制器
@@ -63400,6 +63556,38 @@ var KanbanController = class extends DataViewControlController {
63400
63556
  group.selectedData = [];
63401
63557
  });
63402
63558
  }
63559
+ /**
63560
+ * @description 设置选中
63561
+ * @param {IData[]} selection
63562
+ * @param {boolean} [isEmit=true]
63563
+ * @memberof KanbanController
63564
+ */
63565
+ setSelection(selection, isEmit = true) {
63566
+ const { selectedData } = this.state;
63567
+ if (!isElementSame5(selectedData, selection)) {
63568
+ this.state.selectedData = selection;
63569
+ if (isEmit) {
63570
+ this._evt.emit("onSelectionChange", {
63571
+ data: selection
63572
+ });
63573
+ }
63574
+ }
63575
+ const data = selection == null ? void 0 : selection[0];
63576
+ const batchtoolbar = this.view.getController(
63577
+ "".concat(this.model.name, "_batchtoolbar_").concat(this.state.selectGroupKey)
63578
+ );
63579
+ const quicktoolbar = this.view.getController(
63580
+ "".concat(this.model.name, "_quicktoolbar_").concat(this.state.selectGroupKey)
63581
+ );
63582
+ batchtoolbar == null ? void 0 : batchtoolbar.calcButtonState(data, this.model.appDataEntityId, {
63583
+ view: this.view,
63584
+ ctrl: this
63585
+ });
63586
+ quicktoolbar == null ? void 0 : quicktoolbar.calcButtonState(data, this.model.appDataEntityId, {
63587
+ view: this.view,
63588
+ ctrl: this
63589
+ });
63590
+ }
63403
63591
  };
63404
63592
 
63405
63593
  // src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts
@@ -64853,6 +65041,12 @@ var MEditViewPanelController = class extends MDControlController {
64853
65041
  *
64854
65042
  */
64855
65043
  this.parameters = [];
65044
+ /**
65045
+ * @description 嵌入视图
65046
+ * @type {Map<string, IViewController>}
65047
+ * @memberof MEditViewPanelController
65048
+ */
65049
+ this.embedViews = /* @__PURE__ */ new Map();
64856
65050
  }
64857
65051
  async onCreated() {
64858
65052
  await super.onCreated();
@@ -64980,6 +65174,10 @@ var MEditViewPanelController = class extends MDControlController {
64980
65174
  if (this.model.panelStyle === "TAB_TOP") {
64981
65175
  this.state.activeTab = this.state.panelUiItems[this.state.panelUiItems.length - 1].id;
64982
65176
  }
65177
+ const data = this.state.panelUiItems.find(
65178
+ (item) => item.id === this.state.activeTab
65179
+ );
65180
+ this.evt.emit("onAddSuccess", { data });
64983
65181
  }
64984
65182
  /**
64985
65183
  * 处理删除
@@ -64990,30 +65188,21 @@ var MEditViewPanelController = class extends MDControlController {
64990
65188
  */
64991
65189
  async handleDelete(item) {
64992
65190
  this.state.isNeedScroll = false;
64993
- if (item.data.srfuf === 0) {
64994
- const index = this.state.panelUiItems.findIndex((value) => {
64995
- return value === item;
64996
- });
64997
- this.state.panelUiItems.splice(index, 1);
64998
- } else {
64999
- await this.remove({ data: [item.data], notRefresh: true });
65000
- }
65001
- }
65002
- /**
65003
- * 处理tab删除
65004
- * @param {IPanelUiItem} item
65005
- * @return {*}
65006
- * @author: zhujiamin
65007
- * @Date: 2023-10-17 14:21:57
65008
- */
65009
- async handleTabDelete(item, index) {
65191
+ const index = this.state.panelUiItems.findIndex((value) => {
65192
+ return value === item;
65193
+ });
65010
65194
  let isBackToEnd = false;
65011
65195
  if (item.id === this.state.activeTab && index === this.state.panelUiItems.length - 1) {
65012
65196
  if (index > 0) {
65013
65197
  isBackToEnd = true;
65014
65198
  }
65015
65199
  }
65016
- await this.handleDelete(item);
65200
+ if (item.data.srfuf === 0) {
65201
+ this.state.panelUiItems.splice(index, 1);
65202
+ this.evt.emit("onRemoveSuccess", void 0);
65203
+ } else {
65204
+ await this.remove({ data: [item.data], notRefresh: true });
65205
+ }
65017
65206
  if (isBackToEnd) {
65018
65207
  this.state.activeTab = this.state.panelUiItems[this.state.panelUiItems.length - 1].id;
65019
65208
  }
@@ -65071,6 +65260,35 @@ var MEditViewPanelController = class extends MDControlController {
65071
65260
  this.state.activeTab = this.state.panelUiItems[panelUiItemIndex].id;
65072
65261
  }
65073
65262
  }
65263
+ /**
65264
+ * @description 切换标签页
65265
+ * @param {string} name
65266
+ * @memberof MEditViewPanelController
65267
+ */
65268
+ onTabChange(name2) {
65269
+ const data = this.state.panelUiItems.find((item) => item.id === name2);
65270
+ this.evt.emit("onTabChange", { data });
65271
+ }
65272
+ /**
65273
+ * @description 监听视图创建
65274
+ * @param {EventBase} event
65275
+ * @memberof MEditViewPanelController
65276
+ */
65277
+ onViewCreated(event, id) {
65278
+ const { view } = event;
65279
+ this.embedViews.set(id, view);
65280
+ view.evt.on("onDestroyed", () => {
65281
+ this.embedViews.delete(id);
65282
+ });
65283
+ }
65284
+ /**
65285
+ * @description 获取激活视图控制器
65286
+ * @returns {*} {(IViewController | undefined)}
65287
+ * @memberof MEditViewPanelController
65288
+ */
65289
+ getActiveView() {
65290
+ return this.embedViews.get(this.state.activeTab);
65291
+ }
65074
65292
  };
65075
65293
 
65076
65294
  // src/controller/control/map/map.service.ts