@ibiz-template/runtime 0.7.41-alpha.35 → 0.7.41-alpha.36

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 (56) hide show
  1. package/dist/index.esm.js +324 -41
  2. package/dist/index.system.min.js +1 -1
  3. package/out/config/global-config.d.ts.map +1 -1
  4. package/out/config/global-config.js +1 -0
  5. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  6. package/out/controller/common/control/control.controller.js +7 -3
  7. package/out/controller/control/calendar/calendar.controller.d.ts +19 -1
  8. package/out/controller/control/calendar/calendar.controller.d.ts.map +1 -1
  9. package/out/controller/control/calendar/calendar.controller.js +31 -1
  10. package/out/controller/control/calendar/calendar.service.d.ts +64 -10
  11. package/out/controller/control/calendar/calendar.service.d.ts.map +1 -1
  12. package/out/controller/control/calendar/calendar.service.js +62 -20
  13. package/out/controller/control/dashboard/dashboard.controller.d.ts +19 -0
  14. package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
  15. package/out/controller/control/dashboard/dashboard.controller.js +16 -0
  16. package/out/controller/control/dashboard/index.d.ts +1 -0
  17. package/out/controller/control/dashboard/index.d.ts.map +1 -1
  18. package/out/controller/control/dashboard/index.js +1 -0
  19. package/out/controller/control/dashboard/mob-custom-dashboard.controller.d.ts +102 -0
  20. package/out/controller/control/dashboard/mob-custom-dashboard.controller.d.ts.map +1 -0
  21. package/out/controller/control/dashboard/mob-custom-dashboard.controller.js +153 -0
  22. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts.map +1 -1
  23. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.js +9 -0
  24. package/out/controller/control/form/search-form/search-form.controller.d.ts.map +1 -1
  25. package/out/controller/control/form/search-form/search-form.controller.js +4 -1
  26. package/out/controller/control/md-ctrl/md-ctrl.controller.d.ts.map +1 -1
  27. package/out/controller/control/md-ctrl/md-ctrl.controller.js +0 -12
  28. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts.map +1 -1
  29. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.js +0 -6
  30. package/out/controller/control/toolbar/toolbar.controller.d.ts +19 -0
  31. package/out/controller/control/toolbar/toolbar.controller.d.ts.map +1 -1
  32. package/out/controller/control/toolbar/toolbar.controller.js +23 -0
  33. package/out/interface/api/call/i-api-mob-wizard-view.call.d.ts +20 -0
  34. package/out/interface/api/call/i-api-mob-wizard-view.call.d.ts.map +1 -0
  35. package/out/interface/api/call/i-api-mob-wizard-view.call.js +1 -0
  36. package/out/interface/api/call/index.d.ts +1 -0
  37. package/out/interface/api/call/index.d.ts.map +1 -1
  38. package/out/interface/api/common/global-config/i-api-global-view-config.d.ts +9 -0
  39. package/out/interface/api/common/global-config/i-api-global-view-config.d.ts.map +1 -1
  40. package/out/interface/api/controller/control/i-api-app-menu.controller.d.ts +1 -1
  41. package/out/interface/api/controller/control/i-api-calendar.controller.d.ts +1 -0
  42. package/out/interface/api/controller/control/i-api-calendar.controller.d.ts.map +1 -1
  43. package/out/interface/api/controller/control/i-api-control.controller.d.ts +1 -0
  44. package/out/interface/api/controller/control/i-api-control.controller.d.ts.map +1 -1
  45. package/out/interface/api/controller/control/i-api-md-control.controller.d.ts +1 -1
  46. package/out/interface/api/controller/control/i-api-toolbar.controller.d.ts +2 -0
  47. package/out/interface/api/controller/control/i-api-toolbar.controller.d.ts.map +1 -1
  48. package/out/interface/controller/common/index.d.ts +1 -0
  49. package/out/interface/controller/common/index.d.ts.map +1 -1
  50. package/out/interface/controller/common/index.js +1 -0
  51. package/out/interface/controller/common/mob-custom-design/mob-custom-design.d.ts +32 -0
  52. package/out/interface/controller/common/mob-custom-design/mob-custom-design.d.ts.map +1 -0
  53. package/out/interface/controller/common/mob-custom-design/mob-custom-design.js +1 -0
  54. package/out/interface/controller/controller/control/i-dashboard.controller.d.ts +13 -1
  55. package/out/interface/controller/controller/control/i-dashboard.controller.d.ts.map +1 -1
  56. package/package.json +2 -2
package/dist/index.esm.js CHANGED
@@ -19366,7 +19366,8 @@ var GlobalConfig = class {
19366
19366
  mobShowPresetBack: true,
19367
19367
  mobShowViewHeader: true,
19368
19368
  timeoutDuration: 5 * 60 * 1e3,
19369
- onlyShowDataInfo: false
19369
+ onlyShowDataInfo: false,
19370
+ viewAccUserMode: 3
19370
19371
  };
19371
19372
  // 全局表格配置
19372
19373
  this.grid = {
@@ -38029,8 +38030,10 @@ var ControlController = class extends BaseController {
38029
38030
  const codeName = calcDeCodeNameById(this.model.appDataEntityId);
38030
38031
  this.triggerKey = "".concat(this.view.name, "@").concat(codeName, "@").concat(this.model.controlType, "@").concat(this.model.codeName);
38031
38032
  }
38032
- this.onDEDataChange = this.onDEDataChange.bind(this);
38033
- ibiz.mc.command.change.on(this.onDEDataChange);
38033
+ if (this.controlParams.ignoremcmsg !== "true") {
38034
+ this.onDEDataChange = this.onDEDataChange.bind(this);
38035
+ ibiz.mc.command.change.on(this.onDEDataChange);
38036
+ }
38034
38037
  }
38035
38038
  async onMounted() {
38036
38039
  var _a3;
@@ -38038,7 +38041,9 @@ var ControlController = class extends BaseController {
38038
38041
  (_a3 = this.scheduler) == null ? void 0 : _a3.startTimerTrigger();
38039
38042
  }
38040
38043
  async onDestroyed() {
38041
- ibiz.mc.command.change.off(this.onDEDataChange);
38044
+ if (this.controlParams.ignoremcmsg !== "true") {
38045
+ ibiz.mc.command.change.off(this.onDEDataChange);
38046
+ }
38042
38047
  await super.onDestroyed();
38043
38048
  if (this.scheduler) {
38044
38049
  this.scheduler.destroy();
@@ -39956,6 +39961,17 @@ import { RuntimeError as RuntimeError45, RuntimeModelError as RuntimeModelError4
39956
39961
  import { RuntimeError as RuntimeError35 } from "@ibiz-template/core";
39957
39962
  import { clone as clone21 } from "ramda";
39958
39963
  var CalendarService = class extends MDControlService {
39964
+ constructor() {
39965
+ super(...arguments);
39966
+ /**
39967
+ * @description 加载更多信息数据
39968
+ * @type {{
39969
+ * [modelId: string]: ILoadMoreItem;
39970
+ * }}
39971
+ * @memberof CalendarService
39972
+ */
39973
+ this.loadMore = {};
39974
+ }
39959
39975
  /**
39960
39976
  * @description 删除单条数据
39961
39977
  * @param {string} appDataEntityId 实体标识
@@ -39981,23 +39997,23 @@ var CalendarService = class extends MDControlService {
39981
39997
  * @author zk
39982
39998
  * @date 2023-08-08 10:08:47
39983
39999
  * @param {IContext} context
39984
- * @param {IParams} [params={}]
40000
+ * @param {IParams} params
39985
40001
  * @return {*} Promise<ICalendarItemData[]>
39986
40002
  * @memberof CalendarService
39987
40003
  */
39988
- async search(context, params = {}) {
40004
+ async search(context, params, opts) {
39989
40005
  const { sysCalendarItems } = this.model;
39990
- if (!sysCalendarItems) {
40006
+ if (!sysCalendarItems)
39991
40007
  return [];
39992
- }
39993
40008
  const promises = sysCalendarItems.map(
39994
40009
  async (item) => {
39995
40010
  const fetchAction = item.appDEDataSetId || "fetchdefault";
39996
40011
  const tempContext = context.clone();
39997
- const tempParams = this.handleRequestParams(item, params);
39998
- if (item.maxSize) {
39999
- tempParams.size = item.maxSize;
40000
- }
40012
+ const tempParams = this.handleRequestParams(
40013
+ item,
40014
+ params,
40015
+ opts
40016
+ );
40001
40017
  return this.exec2(
40002
40018
  fetchAction,
40003
40019
  tempContext,
@@ -40010,22 +40026,29 @@ var CalendarService = class extends MDControlService {
40010
40026
  const resArray = await Promise.all(promises);
40011
40027
  const twoDimensionalArray = resArray.map(
40012
40028
  (res, index) => {
40013
- return this.setCalendarConfigData(res.data, index);
40029
+ var _a3;
40030
+ return this.setCalendarConfigData(
40031
+ res.data,
40032
+ index,
40033
+ Number((_a3 = res.headers) == null ? void 0 : _a3["x-total-pages"]) || 0,
40034
+ opts == null ? void 0 : opts.isLoadMore
40035
+ );
40014
40036
  }
40015
40037
  );
40016
40038
  return twoDimensionalArray.flat();
40017
40039
  }
40018
40040
  /**
40019
- * 设置日历项配置
40020
- *
40021
- * @author zk
40022
- * @date 2023-08-08 06:08:14
40041
+ * @description 设置日历项配置
40042
+ * @private
40023
40043
  * @param {IData[]} items
40024
40044
  * @param {number} index
40025
- * @return {*} {ICalendarItemData[]}
40045
+ * @param {number} totalPage
40046
+ * @param {boolean} [isLoadMore=false]
40047
+ * @returns {*} {ICalendarItemData[]}
40026
40048
  * @memberof CalendarService
40027
40049
  */
40028
- setCalendarConfigData(items, index) {
40050
+ setCalendarConfigData(items, index, totalPage, isLoadMore = false) {
40051
+ var _a3, _b2;
40029
40052
  const { sysCalendarItems } = this.model;
40030
40053
  if (!sysCalendarItems) {
40031
40054
  throw new RuntimeError35(
@@ -40038,9 +40061,24 @@ var CalendarService = class extends MDControlService {
40038
40061
  ibiz.i18n.t("runtime.controller.control.calendar.noFoundModel")
40039
40062
  );
40040
40063
  }
40041
- return items.map((item) => {
40064
+ const itemType = calendarItem.itemType;
40065
+ (_b2 = (_a3 = this.loadMore)[itemType]) != null ? _b2 : _a3[itemType] = {
40066
+ curPage: 0,
40067
+ totalPage: 0,
40068
+ items: []
40069
+ };
40070
+ const moreData = this.loadMore[itemType];
40071
+ moreData.totalPage = totalPage;
40072
+ const data = items.map((item) => {
40042
40073
  return new CalendarItemData(calendarItem, item);
40043
40074
  });
40075
+ if (isLoadMore) {
40076
+ moreData.curPage += 1;
40077
+ moreData.items.push(...data);
40078
+ } else {
40079
+ moreData.items = [...data];
40080
+ }
40081
+ return [...moreData.items];
40044
40082
  }
40045
40083
  /**
40046
40084
  * 执行方法实体方法(通过实体id和方法名)
@@ -40140,15 +40178,16 @@ var CalendarService = class extends MDControlService {
40140
40178
  ];
40141
40179
  }
40142
40180
  /**
40143
- * 处理请求参数
40144
- *
40181
+ * @description 处理请求参数
40145
40182
  * @private
40146
40183
  * @param {ISysCalendarItem} item
40147
40184
  * @param {IParams} params
40148
- * @return {*} {IParams}
40185
+ * @param {CalendarFetchOpts} [opts]
40186
+ * @returns {*} {IParams}
40149
40187
  * @memberof CalendarService
40150
40188
  */
40151
- handleRequestParams(item, params) {
40189
+ handleRequestParams(item, params, opts) {
40190
+ var _a3, _b2;
40152
40191
  const tempParams = clone21(params);
40153
40192
  const { srfstartdate, srfenddate } = tempParams;
40154
40193
  if (srfstartdate && srfenddate) {
@@ -40156,8 +40195,22 @@ var CalendarService = class extends MDControlService {
40156
40195
  searchconds: this.getSearchConds(item, params)
40157
40196
  });
40158
40197
  }
40198
+ const { maxSize, itemType, endTimeAppDEFieldId, beginTimeAppDEFieldId } = item;
40159
40199
  delete tempParams.srfstartdate;
40160
40200
  delete tempParams.srfenddate;
40201
+ tempParams.size = maxSize || 1e3;
40202
+ if (opts) {
40203
+ const { isLoadMore, sortField } = opts;
40204
+ if (isLoadMore) {
40205
+ (_b2 = (_a3 = this.loadMore)[itemType]) != null ? _b2 : _a3[itemType] = {
40206
+ curPage: 0,
40207
+ totalPage: 0,
40208
+ items: []
40209
+ };
40210
+ tempParams.page = this.loadMore[itemType].curPage;
40211
+ }
40212
+ tempParams.sort = "".concat(sortField === "beginTime" ? beginTimeAppDEFieldId == null ? void 0 : beginTimeAppDEFieldId.toLowerCase() : endTimeAppDEFieldId == null ? void 0 : endTimeAppDEFieldId.toLowerCase(), ",desc");
40213
+ }
40161
40214
  return tempParams;
40162
40215
  }
40163
40216
  };
@@ -43108,6 +43161,29 @@ var ToolbarController = class extends ControlController {
43108
43161
  get _evt() {
43109
43162
  return this.evt;
43110
43163
  }
43164
+ /**
43165
+ * @description 控制移动端工具栏在屏幕中的位置,仅工具栏样式设为自定义时生效
43166
+ * @readonly
43167
+ * @type {('LEFTSTART'
43168
+ * | 'LEFT'
43169
+ * | 'LEFTEND'
43170
+ * | 'RIGHT'
43171
+ * | 'RIGHTSTART'
43172
+ * | 'RIGHTEND')}
43173
+ * @memberof ToolbarController
43174
+ */
43175
+ get placement() {
43176
+ return this.controlParams.placement || "RIGHTEND";
43177
+ }
43178
+ /**
43179
+ * @description 控制移动端工具栏项的排列方向,仅工具栏样式设为自定义时生效
43180
+ * @readonly
43181
+ * @type {('VERTICAL' | 'HORIZONTAL')}
43182
+ * @memberof ToolbarController
43183
+ */
43184
+ get direction() {
43185
+ return this.controlParams.direction || "HORIZONTAL";
43186
+ }
43111
43187
  /**
43112
43188
  * @description 数据部件控制器
43113
43189
  * @readonly
@@ -43492,6 +43568,28 @@ var CalendarController = class extends MDControlController {
43492
43568
  */
43493
43569
  this.timelineCaptionFormat = "YYYY-MM-DD";
43494
43570
  }
43571
+ /**
43572
+ * @description 获取加载更多信息数据
43573
+ * @readonly
43574
+ * @type {{
43575
+ * [modelId: string]: ILoadMoreItem;
43576
+ * }}
43577
+ * @memberof CalendarController
43578
+ */
43579
+ get loadMoreItems() {
43580
+ return this.service.loadMore;
43581
+ }
43582
+ /**
43583
+ * @description 分组时间属性
43584
+ * @readonly
43585
+ * @type {('beginTime' | 'endTime')} 开始时间 | 结束时间
43586
+ * @memberof CalendarController
43587
+ */
43588
+ get groupTimeField() {
43589
+ if (this.controlParams.grouptimefield)
43590
+ return this.controlParams.grouptimefield;
43591
+ return "beginTime";
43592
+ }
43495
43593
  /**
43496
43594
  * 初始化状态
43497
43595
  *
@@ -43761,17 +43859,23 @@ var CalendarController = class extends MDControlController {
43761
43859
  return [];
43762
43860
  }
43763
43861
  const isInitialLoad = args.isInitialLoad === true;
43862
+ let isLoadMore = args.isLoadMore === true;
43764
43863
  const { context } = this.handlerAbilityParams(args);
43765
43864
  const params = await this.getFetchParams(args == null ? void 0 : args.viewParam);
43766
43865
  const { calendarStyle } = this.model;
43767
43866
  if (calendarStyle === "USER") {
43768
43867
  const { srfstartdate } = params;
43769
43868
  this.state.selectedDate = new Date(srfstartdate);
43869
+ } else if (calendarStyle === "TIMELINE" && isInitialLoad) {
43870
+ isLoadMore = true;
43770
43871
  }
43771
43872
  await this.startLoading();
43772
43873
  let items;
43773
43874
  try {
43774
- items = await this.service.search(context, params);
43875
+ items = await this.service.search(context, params, {
43876
+ isLoadMore,
43877
+ sortField: this.groupTimeField
43878
+ });
43775
43879
  } finally {
43776
43880
  await this.endLoading();
43777
43881
  }
@@ -47181,6 +47285,22 @@ var DashboardController = class extends ControlController {
47181
47285
  getCustomDashboard() {
47182
47286
  return this.customDashboard;
47183
47287
  }
47288
+ /**
47289
+ * @description 设置移动端自定义数据看板部件控制器
47290
+ * @param {MobCustomDashboardController} mobCustomDashboard
47291
+ * @memberof DashboardController
47292
+ */
47293
+ setMobCustomDashboard(mobCustomDashboard) {
47294
+ this.mobCustomDashboard = mobCustomDashboard;
47295
+ }
47296
+ /**
47297
+ * @description 获取移动端自定义数据看板部件控制器
47298
+ * @returns {*} {(MobCustomDashboardController | undefined)}
47299
+ * @memberof DashboardController
47300
+ */
47301
+ getMobCustomDashboard() {
47302
+ return this.mobCustomDashboard;
47303
+ }
47184
47304
  /**
47185
47305
  * 初始化子门户部件
47186
47306
  *
@@ -50480,6 +50600,174 @@ var FilterPortletController = class extends PortletPartController {
50480
50600
  }
50481
50601
  };
50482
50602
 
50603
+ // src/controller/control/dashboard/mob-custom-dashboard.controller.ts
50604
+ var MobCustomDashboardController = class {
50605
+ constructor(model, dashboard) {
50606
+ this.model = model;
50607
+ this.dashboard = dashboard;
50608
+ /**
50609
+ * @description 忽略的门户部件类型列表
50610
+ * @type {string[]}
50611
+ * @memberof MobCustomDashboardController
50612
+ */
50613
+ this.ignoreType = ["CONTAINER"];
50614
+ /**
50615
+ * @description 自定义定制范围类型(public:公开,personal:个人,data:数据,默认是按照个人区分,配置了应用功能组件才生效)
50616
+ * @type {('public' | 'personal' | 'data')}
50617
+ * @memberof MobCustomDashboardController
50618
+ */
50619
+ this.type = "personal";
50620
+ /**
50621
+ * @description 所属数据类型(仅限自定义定制为data类型时生效,配置了应用功能组件才生效)
50622
+ * @type {string}
50623
+ * @memberof MobCustomDashboardController
50624
+ */
50625
+ this.ownerType = "";
50626
+ /**
50627
+ * @description 所属数据标识(仅限自定义定制为data类型时生效,配置了应用功能组件才生效)
50628
+ * @type {string}
50629
+ * @memberof MobCustomDashboardController
50630
+ */
50631
+ this.ownerId = "";
50632
+ /**
50633
+ * @description 多数据模式,启用时请求参数从上下文中获取srfdynadashboardid的值
50634
+ * @type {boolean}
50635
+ * @memberof MobCustomDashboardController
50636
+ */
50637
+ this.multiMode = false;
50638
+ this.context = dashboard.context;
50639
+ this.params = dashboard.params;
50640
+ this.init(dashboard.controlParams);
50641
+ }
50642
+ /**
50643
+ * @description 初始化
50644
+ * @private
50645
+ * @param {IData} controlParams
50646
+ * @memberof MobCustomDashboardController
50647
+ */
50648
+ init(controlParams) {
50649
+ var _a3, _b2;
50650
+ this.type = "personal";
50651
+ this.ownerId = this.context.srfpersonid;
50652
+ if (controlParams.type) {
50653
+ this.type = controlParams.type;
50654
+ }
50655
+ if (controlParams.owner_type) {
50656
+ this.ownerType = controlParams.owner_type;
50657
+ }
50658
+ if (controlParams.owner_id) {
50659
+ this.ownerId = this.context[controlParams.owner_id];
50660
+ }
50661
+ if (controlParams.multimode === "true") {
50662
+ this.multiMode = true;
50663
+ }
50664
+ if (this.model.appDynaDashboardUtilId) {
50665
+ const app = ibiz.hub.getApp(this.context.srfappid);
50666
+ this.util = new UtilService(
50667
+ app.getAppUtil(this.model.appDynaDashboardUtilId)
50668
+ );
50669
+ } else {
50670
+ this.config = new ConfigService(
50671
+ this.model.appId,
50672
+ "dynadashboard",
50673
+ "dashboard_".concat(((_a3 = this.model.appDataEntityId) == null ? void 0 : _a3.toLowerCase()) || "app", "_").concat((_b2 = this.model.codeName) == null ? void 0 : _b2.toLowerCase())
50674
+ );
50675
+ }
50676
+ }
50677
+ /**
50678
+ * @description 获取资源标识(仅用于功能组件服务)
50679
+ * @private
50680
+ * @returns {*} {string}
50681
+ * @memberof MobCustomDashboardController
50682
+ */
50683
+ getResourceTag() {
50684
+ var _a3, _b2;
50685
+ if (this.multiMode) {
50686
+ return this.context.srfdynadashboardid;
50687
+ }
50688
+ const base = "".concat(this.context.srfappid, "_dashboard_").concat(((_a3 = this.model.appDataEntityId) == null ? void 0 : _a3.toLowerCase()) || "app", "_").concat((_b2 = this.model.codeName) == null ? void 0 : _b2.toLowerCase());
50689
+ switch (this.type) {
50690
+ case "personal":
50691
+ return "".concat(base, "_").concat(this.context.srfpersonid);
50692
+ case "data":
50693
+ return "".concat(base, "_").concat(this.ownerType, "_").concat(this.ownerId);
50694
+ default:
50695
+ return base;
50696
+ }
50697
+ }
50698
+ /**
50699
+ * @description 更新门户部件状态
50700
+ * @memberof MobCustomDashboardController
50701
+ */
50702
+ updatePortletState() {
50703
+ if (this.portlets) {
50704
+ const portlets = new Set(this.portlets);
50705
+ Object.entries(this.dashboard.portlets).forEach(([key, portlet]) => {
50706
+ if (this.ignoreType.includes(portlet.model.portletType)) {
50707
+ return;
50708
+ }
50709
+ portlet.state.visible = portlets.has(key);
50710
+ });
50711
+ }
50712
+ }
50713
+ /**
50714
+ * @description 加载门户部件数据
50715
+ * @returns {*} {Promise<void>}
50716
+ * @memberof MobCustomDashboardController
50717
+ */
50718
+ async load() {
50719
+ let res;
50720
+ if (this.util) {
50721
+ res = await this.util.load(
50722
+ this.getResourceTag(),
50723
+ this.context,
50724
+ this.params
50725
+ );
50726
+ } else if (this.config) {
50727
+ res = await this.config.load();
50728
+ }
50729
+ if (res && Array.isArray(res.portlets)) {
50730
+ this.portlets = res.portlets;
50731
+ this.updatePortletState();
50732
+ }
50733
+ }
50734
+ /**
50735
+ * @description 保存门户部件数据
50736
+ * @param {string[]} portlets
50737
+ * @returns {*} {Promise<void>}
50738
+ * @memberof MobCustomDashboardController
50739
+ */
50740
+ async save(portlets) {
50741
+ const data = {
50742
+ portlets
50743
+ };
50744
+ if (this.util) {
50745
+ const res = await this.util.save(
50746
+ this.getResourceTag(),
50747
+ this.context,
50748
+ {
50749
+ ...this.params,
50750
+ type: this.type,
50751
+ ownerType: this.ownerType,
50752
+ ownerId: this.ownerId,
50753
+ modelId: this.model.id
50754
+ },
50755
+ data
50756
+ );
50757
+ if (res && res.ok) {
50758
+ this.portlets = portlets;
50759
+ this.updatePortletState();
50760
+ }
50761
+ } else if (this.config) {
50762
+ const res = await this.config.save(data);
50763
+ if (res) {
50764
+ this.portlets = portlets;
50765
+ this.updatePortletState();
50766
+ }
50767
+ }
50768
+ }
50769
+ };
50770
+
50483
50771
  // src/controller/control/data-view/data-view.controller.ts
50484
50772
  import {
50485
50773
  clone as clone36,
@@ -53289,7 +53577,7 @@ var SearchFormController = class extends FormController {
53289
53577
  } else {
53290
53578
  Object.keys(this.state.data).forEach((key) => {
53291
53579
  const value = this.state.data[key];
53292
- if (value !== null && value !== void 0 && value !== "") {
53580
+ if (value !== null && value !== void 0 && value !== "" && key !== "$srfuf") {
53293
53581
  filterParams[key] = value;
53294
53582
  }
53295
53583
  });
@@ -55854,6 +56142,15 @@ var FormMDCtrlRepeaterController = class extends FormMDCtrlController {
55854
56142
  id,
55855
56143
  codeName: id,
55856
56144
  name: id,
56145
+ // 重复器忽略消息中心通知变更
56146
+ controlParam: {
56147
+ ctrlParams: {
56148
+ ignoremcmsg: "true",
56149
+ appId: this.model.appId
56150
+ },
56151
+ id,
56152
+ appId: this.model.appId
56153
+ },
55857
56154
  deformPages: [
55858
56155
  {
55859
56156
  appId: this.model.appId,
@@ -62922,10 +63219,6 @@ var TabExpPanelController = class extends ControlController {
62922
63219
  refresh() {
62923
63220
  const navViewMsg = this.getNavViewMsg(this.activeTabViewPanelModel);
62924
63221
  navViewMsg.key += createUUID18();
62925
- if (ibiz.env.isMob) {
62926
- navViewMsg.isCache = false;
62927
- navViewMsg.isRoutePushed = !!(this.routeDepth !== void 0 && hasSubRoute(this.routeDepth));
62928
- }
62929
63222
  this.evt.emit("onNavViewChange", { navViewMsg });
62930
63223
  }
62931
63224
  /**
@@ -65825,11 +66118,6 @@ var MDCtrlController = class extends MDControlController {
65825
66118
  }
65826
66119
  const { items } = this.state;
65827
66120
  const groupMap = /* @__PURE__ */ new Map();
65828
- const unclassified = {
65829
- key: createUUID19(),
65830
- caption: ibiz.i18n.t("runtime.controller.common.md.unclassified"),
65831
- children: []
65832
- };
65833
66121
  this.groupCodeListItems.forEach((item) => {
65834
66122
  groupMap.set(item.value, []);
65835
66123
  });
@@ -65838,10 +66126,6 @@ var MDCtrlController = class extends MDControlController {
65838
66126
  const groupArr = groupMap.get(groupVal);
65839
66127
  if (groupArr) {
65840
66128
  groupArr.push(new MobMDCtrlRowState(item, this));
65841
- } else {
65842
- unclassified.children.push(
65843
- new MobMDCtrlRowState(item, this)
65844
- );
65845
66129
  }
65846
66130
  });
65847
66131
  const groups = [];
@@ -65855,8 +66139,6 @@ var MDCtrlController = class extends MDControlController {
65855
66139
  children: arr
65856
66140
  });
65857
66141
  });
65858
- if (unclassified.children.length)
65859
- groups.push(unclassified);
65860
66142
  this.state.groups = groups;
65861
66143
  }
65862
66144
  changeCollapse(params = {}) {
@@ -88527,6 +88809,7 @@ export {
88527
88809
  MethodDto,
88528
88810
  MethodInput,
88529
88811
  MethodReturn,
88812
+ MobCustomDashboardController,
88530
88813
  MobMDCtrlRowState,
88531
88814
  MobViewController,
88532
88815
  Modal,