@ibiz-template/vue3-components 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 (70) hide show
  1. package/dist/{index-WP6TUdg-.js → index-8Lu2Ax-_.js} +1 -1
  2. package/dist/{index-kgWpXafW.js → index-Hg_8xCYx.js} +1 -1
  3. package/dist/index-vUHyK4p8.js +4 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{wang-editor-PQvDXaA9.js → wang-editor-XpJH4SXt.js} +1 -1
  7. package/dist/{xlsx-util-8i01yifN.js → xlsx-util-5nNxB32e.js} +1 -1
  8. package/es/common/carousel/carousel.d.ts +9 -1
  9. package/es/common/carousel/carousel.mjs +9 -1
  10. package/es/common/carousel-card/carousel-card.css +1 -0
  11. package/es/common/carousel-card/carousel-card.d.ts +41 -0
  12. package/es/common/carousel-card/carousel-card.mjs +218 -0
  13. package/es/common/index.mjs +2 -0
  14. package/es/control/context-menu/context-menu.mjs +25 -6
  15. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +76 -1
  16. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +74 -0
  17. package/es/control/search-bar/filter-tree/filter-tree.mjs +19 -20
  18. package/es/control/toolbar/toolbar.mjs +27 -2
  19. package/es/control/tree/tree.css +1 -1
  20. package/es/control/tree/tree.mjs +2 -1
  21. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.css +1 -1
  22. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +11 -12
  23. package/es/editor/html/wang-editor/wang-editor.css +1 -1
  24. package/es/editor/html/wang-editor/wang-editor.mjs +2 -2
  25. package/es/editor/text-box/input/input.css +1 -1
  26. package/es/locale/en/index.d.ts +1 -0
  27. package/es/locale/en/index.mjs +2 -1
  28. package/es/locale/zh-CN/index.d.ts +1 -0
  29. package/es/locale/zh-CN/index.mjs +2 -1
  30. package/es/panel-component/auth-captcha/auth-captcha.controller.d.ts +13 -0
  31. package/es/panel-component/auth-captcha/auth-captcha.controller.mjs +15 -11
  32. package/es/panel-component/panel-button/panel-button.controller.d.ts +1 -1
  33. package/es/panel-component/panel-button/panel-button.controller.mjs +6 -9
  34. package/es/panel-component/panel-static-carousel/index.d.ts +1 -0
  35. package/es/panel-component/panel-static-carousel/panel-static-carousel.css +1 -0
  36. package/es/panel-component/panel-static-carousel/panel-static-carousel.d.ts +1 -0
  37. package/es/panel-component/panel-static-carousel/panel-static-carousel.mjs +13 -2
  38. package/es/panel-component/short-cut/index.d.ts +2 -2
  39. package/es/panel-component/short-cut/short-cut.css +1 -1
  40. package/es/panel-component/short-cut/short-cut.d.ts +2 -2
  41. package/es/panel-component/short-cut/short-cut.mjs +42 -36
  42. package/es/view-engine/login-view.engine.d.ts +31 -3
  43. package/es/view-engine/login-view.engine.mjs +32 -12
  44. package/es/web-app/components/modal-router-shell/modal-router-shell.mjs +19 -5
  45. package/lib/common/carousel/carousel.cjs +9 -1
  46. package/lib/common/carousel-card/carousel-card.cjs +220 -0
  47. package/lib/common/carousel-card/carousel-card.css +1 -0
  48. package/lib/common/index.cjs +2 -0
  49. package/lib/control/context-menu/context-menu.cjs +25 -6
  50. package/lib/control/search-bar/filter-tree/filter-tree.cjs +19 -20
  51. package/lib/control/toolbar/toolbar.cjs +26 -1
  52. package/lib/control/tree/tree.cjs +2 -1
  53. package/lib/control/tree/tree.css +1 -1
  54. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +11 -12
  55. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.css +1 -1
  56. package/lib/editor/html/wang-editor/wang-editor.cjs +2 -2
  57. package/lib/editor/html/wang-editor/wang-editor.css +1 -1
  58. package/lib/editor/text-box/input/input.css +1 -1
  59. package/lib/locale/en/index.cjs +2 -1
  60. package/lib/locale/zh-CN/index.cjs +2 -1
  61. package/lib/panel-component/auth-captcha/auth-captcha.controller.cjs +15 -11
  62. package/lib/panel-component/panel-button/panel-button.controller.cjs +6 -9
  63. package/lib/panel-component/panel-static-carousel/panel-static-carousel.cjs +13 -2
  64. package/lib/panel-component/panel-static-carousel/panel-static-carousel.css +1 -0
  65. package/lib/panel-component/short-cut/short-cut.cjs +42 -36
  66. package/lib/panel-component/short-cut/short-cut.css +1 -1
  67. package/lib/view-engine/login-view.engine.cjs +32 -12
  68. package/lib/web-app/components/modal-router-shell/modal-router-shell.cjs +17 -3
  69. package/package.json +7 -7
  70. package/dist/index-5IjaPupj.js +0 -4
@@ -1,4 +1,4 @@
1
- import { Ref } from 'vue';
1
+ import { Ref, PropType } from 'vue';
2
2
  import './carousel.scss';
3
3
  export declare const IBizCarouselComponent: import("vue").DefineComponent<{
4
4
  carouselData: {
@@ -62,6 +62,10 @@ export declare const IBizCarouselComponent: import("vue").DefineComponent<{
62
62
  type: NumberConstructor;
63
63
  default: number;
64
64
  };
65
+ showMode: {
66
+ type: PropType<"DEFAULT" | "CARD">;
67
+ required: true;
68
+ };
65
69
  }, {
66
70
  ns: import("@ibiz-template/core").Namespace;
67
71
  swipeData: Ref<IData[]>;
@@ -127,6 +131,10 @@ export declare const IBizCarouselComponent: import("vue").DefineComponent<{
127
131
  type: NumberConstructor;
128
132
  default: number;
129
133
  };
134
+ showMode: {
135
+ type: PropType<"DEFAULT" | "CARD">;
136
+ required: true;
137
+ };
130
138
  }>>, {
131
139
  isAuto: boolean;
132
140
  timeSpan: number;
@@ -20,6 +20,10 @@ const IBizCarouselComponent = /* @__PURE__ */ defineComponent({
20
20
  timeSpan: {
21
21
  type: Number,
22
22
  default: 3e3
23
+ },
24
+ showMode: {
25
+ type: String,
26
+ required: true
23
27
  }
24
28
  },
25
29
  setup(props) {
@@ -57,7 +61,11 @@ const IBizCarouselComponent = /* @__PURE__ */ defineComponent({
57
61
  }, null);
58
62
  }
59
63
  };
60
- return createVNode("div", null, [createVNode(resolveComponent("el-carousel"), {
64
+ return createVNode("div", null, [this.showMode === "CARD" ? createVNode(resolveComponent("IBizCarousel-card"), {
65
+ "swipeData": this.swipeData,
66
+ "isAuto": this.isAuto,
67
+ "timeSpan": this.timeSpan
68
+ }, null) : createVNode(resolveComponent("el-carousel"), {
61
69
  "class": this.ns.b(),
62
70
  "autoplay": this.isAuto,
63
71
  "interval": this.timeSpan
@@ -0,0 +1 @@
1
+ .ibiz-carousel-card{position:relative;z-index:1;padding:0;margin-right:auto;margin-left:auto;overflow:hidden;list-style:none}.ibiz-carousel-card__swiper-list{position:relative;z-index:1;padding:0;margin-right:auto;margin-left:auto;overflow:hidden;list-style:none}.ibiz-carousel-card__swiper-main{position:relative;z-index:1;box-sizing:content-box;display:flex;width:100%;height:100%;transition:transform .5s ease-in-out;transition-property:transform}.ibiz-carousel-card__swiper-main img{display:block;display:inline-block;flex-shrink:0;border-radius:4px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.ibiz-carousel-card__leftBtn{position:absolute;top:0;left:0;z-index:2;height:100%;background-image:linear-gradient(90deg,#fff 0,rgba(255,255,255,0));transition:.4s}.ibiz-carousel-card__rightBtn{position:absolute;top:0;right:0;z-index:2;height:100%;background-image:linear-gradient(270deg,#fff 0,rgba(255,255,255,0));transition:.4s}.ibiz-carousel-card__dot{z-index:1;display:flex;justify-content:center;margin-top:20px}.ibiz-carousel-card__dot-item{width:8px;height:8px;margin-right:8px;cursor:pointer;background:#eee;border-radius:4px;transition:all .5s ease}.ibiz-carousel-card__dot-item.isActive{width:16px;background:#6698ff}
@@ -0,0 +1,41 @@
1
+ import { PropType, Ref } from 'vue';
2
+ import './carousel-card.scss';
3
+ export declare const IBizCarouselCard: import("vue").DefineComponent<{
4
+ swipeData: {
5
+ type: PropType<IData[]>;
6
+ required: true;
7
+ };
8
+ isAuto: {
9
+ type: BooleanConstructor;
10
+ default: boolean;
11
+ };
12
+ timeSpan: {
13
+ type: NumberConstructor;
14
+ default: number;
15
+ };
16
+ }, {
17
+ ns: import("@ibiz-template/core").Namespace;
18
+ btnClick: (pos: string) => void;
19
+ mainDom: Ref<any>;
20
+ listDom: Ref<any>;
21
+ imgWidth: Ref<number>;
22
+ resImgArr: import("vue").ComputedRef<IData[]>;
23
+ dotClick: (targetIndex: number) => void;
24
+ nowIndex: Ref<number>;
25
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
26
+ swipeData: {
27
+ type: PropType<IData[]>;
28
+ required: true;
29
+ };
30
+ isAuto: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
34
+ timeSpan: {
35
+ type: NumberConstructor;
36
+ default: number;
37
+ };
38
+ }>>, {
39
+ isAuto: boolean;
40
+ timeSpan: number;
41
+ }, {}>;
@@ -0,0 +1,218 @@
1
+ import { ref, computed, onMounted, onBeforeUnmount, nextTick, createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './carousel-card.css';
4
+
5
+ "use strict";
6
+ const IBizCarouselCard = /* @__PURE__ */ defineComponent({
7
+ name: "IBizCarouselCard",
8
+ props: {
9
+ swipeData: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ isAuto: {
14
+ type: Boolean,
15
+ default: true
16
+ },
17
+ timeSpan: {
18
+ type: Number,
19
+ default: 3e3
20
+ }
21
+ },
22
+ setup(props) {
23
+ const ns = useNamespace("carousel-card");
24
+ const nowIndex = ref(3);
25
+ const mainDom = ref();
26
+ const listDom = ref();
27
+ const gap = 0;
28
+ const imgWidth = ref(600);
29
+ const containerWidth = ref(0);
30
+ const diffLen = computed(() => {
31
+ return (containerWidth.value - imgWidth.value - gap * 2) / 2;
32
+ });
33
+ let timer = null;
34
+ const imgDoms = document.getElementsByClassName("swiper-slide-card");
35
+ const scale = 0.8;
36
+ const aniTime = 500;
37
+ const resImgArr = computed(() => {
38
+ if (props.swipeData.length > 2) {
39
+ return [...props.swipeData.slice(-2), ...props.swipeData, ...props.swipeData.slice(0, 2)];
40
+ }
41
+ return [...props.swipeData];
42
+ });
43
+ const setScale = () => {
44
+ for (let i = 0; i < imgDoms.length; i++) {
45
+ if (props.swipeData.length === 2) {
46
+ imgDoms[0].style.left = "".concat(containerWidth.value / 4 - imgWidth.value / 2, "px");
47
+ imgDoms[1].style.left = "".concat(containerWidth.value / 4 * 3 - imgWidth.value / 2, "px");
48
+ } else if (props.swipeData.length === 1) {
49
+ imgDoms[i].style.left = "".concat(containerWidth.value / 2 - imgWidth.value / 2, "px");
50
+ } else {
51
+ imgDoms[i].style.left = "".concat((i - 1) * (imgWidth.value + gap), "px");
52
+ }
53
+ if (i === nowIndex.value - 1) {
54
+ imgDoms[i].style.transform = "scale(1)";
55
+ } else {
56
+ imgDoms[i].style.transform = "scale(".concat(scale, ")");
57
+ }
58
+ }
59
+ };
60
+ const nextSlider = (anitime) => {
61
+ if (props.swipeData.length === 2) {
62
+ nowIndex.value = nowIndex.value ? 0 : 1;
63
+ setScale();
64
+ } else if (props.swipeData.length === 1) {
65
+ } else {
66
+ if (nowIndex.value >= 2) {
67
+ mainDom.value.style.transition = "left ".concat(anitime / 1e3, "s");
68
+ mainDom.value.style.left = "".concat(parseInt(mainDom.value.style.left, 10) - (gap + imgWidth.value), "px");
69
+ }
70
+ if (nowIndex.value === props.swipeData.length + 1) {
71
+ nowIndex.value = props.swipeData.length + 2;
72
+ setScale();
73
+ setTimeout(() => {
74
+ nowIndex.value = 2;
75
+ setScale();
76
+ mainDom.value.style.transitionProperty = "none";
77
+ mainDom.value.style.left = "".concat(-(imgWidth.value - diffLen.value), "px");
78
+ }, anitime);
79
+ } else {
80
+ nowIndex.value++;
81
+ setScale();
82
+ }
83
+ }
84
+ };
85
+ const prevSlider = (anitime) => {
86
+ if (props.swipeData.length === 2) {
87
+ nowIndex.value = nowIndex.value ? 0 : 1;
88
+ setScale();
89
+ } else if (props.swipeData.length === 1) {
90
+ } else {
91
+ nowIndex.value--;
92
+ mainDom.value.style.transition = "left ".concat(anitime / 1e3, "s");
93
+ mainDom.value.style.left = "".concat(parseInt(mainDom.value.style.left, 10) + (gap + imgWidth.value), "px");
94
+ if (nowIndex.value === 1) {
95
+ setScale();
96
+ setTimeout(() => {
97
+ nowIndex.value = props.swipeData.length + 1;
98
+ setScale();
99
+ mainDom.value.style.transitionProperty = "none";
100
+ mainDom.value.style.left = "".concat(-(parseInt(imgDoms[nowIndex.value].style.left, 10) - diffLen.value - gap), "px");
101
+ }, anitime);
102
+ } else {
103
+ setScale();
104
+ }
105
+ }
106
+ };
107
+ const startAutoplay = () => {
108
+ timer = window.setInterval(() => nextSlider(aniTime), props.timeSpan);
109
+ };
110
+ const stopAutoplay = () => {
111
+ if (timer) {
112
+ window.clearInterval(timer);
113
+ timer = null;
114
+ }
115
+ };
116
+ setScale();
117
+ onMounted(() => {
118
+ if (props.isAuto) {
119
+ startAutoplay();
120
+ }
121
+ });
122
+ onBeforeUnmount(() => {
123
+ stopAutoplay();
124
+ });
125
+ nextTick(() => {
126
+ containerWidth.value = listDom.value.clientWidth;
127
+ imgWidth.value = imgDoms[0].clientWidth;
128
+ if (mainDom.value) {
129
+ mainDom.value.style.left = "".concat(-(2 * imgWidth.value + gap - diffLen.value), "px");
130
+ mainDom.value.style.width = "".concat((props.swipeData.length + 2) * (imgWidth.value + gap / 2), "px");
131
+ }
132
+ setScale();
133
+ });
134
+ const btnClick = (pos) => {
135
+ if (pos === "left") {
136
+ prevSlider(aniTime);
137
+ } else if (pos === "right") {
138
+ nextSlider(aniTime);
139
+ }
140
+ };
141
+ const dotClick = (targetIndex) => {
142
+ nowIndex.value = targetIndex + 2 + 1;
143
+ if (nowIndex.value === props.swipeData.length + 2) {
144
+ nowIndex.value = 2;
145
+ }
146
+ mainDom.value.style.transition = "left ".concat(aniTime / 1e3, "s");
147
+ mainDom.value.style.left = "".concat(-((nowIndex.value - 1) * imgWidth.value + gap - diffLen.value), "px");
148
+ setScale();
149
+ };
150
+ return {
151
+ ns,
152
+ btnClick,
153
+ mainDom,
154
+ listDom,
155
+ imgWidth,
156
+ resImgArr,
157
+ dotClick,
158
+ nowIndex
159
+ };
160
+ },
161
+ render() {
162
+ const renderPic = (item) => {
163
+ if (item.cssClass) {
164
+ if (item.cssClass.indexOf("fa-") !== -1) {
165
+ return createVNode("i", {
166
+ "class": [item.cssClas, "swiper-slide-card"]
167
+ }, null);
168
+ }
169
+ return createVNode("ion-icon", {
170
+ "class": "swiper-slide-card",
171
+ "name": item.cssClass
172
+ }, null);
173
+ }
174
+ if (item.imgUrl) {
175
+ return createVNode("img", {
176
+ "class": "swiper-slide-card",
177
+ "style": "width: ".concat(this.imgWidth, "px"),
178
+ "alt": item.name,
179
+ "src": item.imgUrl
180
+ }, null);
181
+ }
182
+ };
183
+ let newIndex = this.nowIndex;
184
+ if (this.nowIndex < this.swipeData.length) {
185
+ newIndex = this.nowIndex + this.swipeData.length;
186
+ }
187
+ return createVNode("div", {
188
+ "class": this.ns.b()
189
+ }, [createVNode("div", {
190
+ "class": this.ns.e("swiper-list"),
191
+ "ref": "listDom"
192
+ }, [createVNode("div", {
193
+ "class": this.ns.e("swiper-main"),
194
+ "ref": "mainDom"
195
+ }, [this.resImgArr.map((item) => {
196
+ return renderPic(item);
197
+ })]), createVNode("div", {
198
+ "id": "prev-card",
199
+ "class": this.ns.e("leftBtn"),
200
+ "style": "width:".concat(this.imgWidth, "px"),
201
+ "onClick": () => this.btnClick("left")
202
+ }, null), createVNode("div", {
203
+ "id": "next-card",
204
+ "class": this.ns.e("rightBtn"),
205
+ "style": "width:".concat(this.imgWidth, "px"),
206
+ "onClick": () => this.btnClick("right")
207
+ }, null)]), createVNode("div", {
208
+ "class": this.ns.e("dot")
209
+ }, [this.swipeData.map((_item, index) => {
210
+ return createVNode("div", {
211
+ "class": [this.ns.e("dot-item"), index === newIndex - 3 ? "isActive" : ""],
212
+ "onClick": () => this.dotClick(index)
213
+ }, null);
214
+ })])]);
215
+ }
216
+ });
217
+
218
+ export { IBizCarouselCard };
@@ -19,6 +19,7 @@ import { IBizGridSetting } from './grid-setting/grid-setting.mjs';
19
19
  import { DoingNotice } from './doing-notice/doing-notice.mjs';
20
20
  import { IBizCarouselComponent } from './carousel/carousel.mjs';
21
21
  import { IBizCoopAlert } from './coop-alert/coop-alert.mjs';
22
+ import { IBizCarouselCard } from './carousel-card/carousel-card.mjs';
22
23
 
23
24
  "use strict";
24
25
  const IBizCommonComponents = {
@@ -55,6 +56,7 @@ const IBizCommonComponents = {
55
56
  v.component(IBizBadge.name, IBizBadge);
56
57
  v.component(IBizCarouselComponent.name, IBizCarouselComponent);
57
58
  v.component(IBizCoopAlert.name, IBizCoopAlert);
59
+ v.component(IBizCarouselCard.name, IBizCarouselCard);
58
60
  }
59
61
  };
60
62
 
@@ -191,14 +191,24 @@ const ContextMenuControl = /* @__PURE__ */ defineComponent({
191
191
  return null;
192
192
  });
193
193
  };
194
- if (this.mode === "buttons") {
194
+ const renderGroup = () => {
195
195
  let _slot;
196
- return createVNode("div", {
197
- "class": [this.ns.b(), this.ns.m("buttons")],
198
- "onClick": (e) => e.stopPropagation()
199
- }, [renderActions(this.expandDetails), this.groupDetails.length > 0 && [createVNode(resolveComponent("el-button"), {
196
+ if (this.groupDetails.length === 0) {
197
+ return null;
198
+ }
199
+ const pvisible = this.groupDetails.findIndex((item) => {
200
+ return this.c.state.buttonsState[item.id].visible === true;
201
+ }) !== -1;
202
+ if (!pvisible) {
203
+ return null;
204
+ }
205
+ const pdisabled = this.groupDetails.findIndex((item) => {
206
+ return this.c.state.buttonsState[item.id].disabled === false;
207
+ }) === -1;
208
+ return [createVNode(resolveComponent("el-button"), {
200
209
  "size": "small",
201
210
  "text": true,
211
+ "disabled": pdisabled,
202
212
  "ref": "groupButtonRef",
203
213
  "class": [this.ns.e("item"), this.ns.is("expand", this.popoverVisible)]
204
214
  }, {
@@ -217,7 +227,16 @@ const ContextMenuControl = /* @__PURE__ */ defineComponent({
217
227
  "transition": "none"
218
228
  }, _isSlot(_slot = renderActions(this.groupDetails, false)) ? _slot : {
219
229
  default: () => [_slot]
220
- })]]);
230
+ })];
231
+ };
232
+ if (!this.c.state.buttonsState.visible) {
233
+ return;
234
+ }
235
+ if (this.mode === "buttons") {
236
+ return createVNode("div", {
237
+ "class": [this.ns.b(), this.ns.m("buttons")],
238
+ "onClick": (e) => e.stopPropagation()
239
+ }, [renderActions(this.expandDetails), renderGroup()]);
221
240
  }
222
241
  return createVNode(resolveComponent("el-dropdown"), {
223
242
  "ref": "dropdownRef",
@@ -2113,6 +2113,42 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
2113
2113
  readonly parentView: any | undefined;
2114
2114
  readonly isActive: boolean;
2115
2115
  layoutPanel?: {
2116
+ hooks: {
2117
+ validate: {
2118
+ call: (context: {
2119
+ result: boolean[];
2120
+ parentId?: string | undefined;
2121
+ }) => Promise<{
2122
+ result: boolean[];
2123
+ parentId?: string | undefined;
2124
+ }>;
2125
+ tapPromise: (fn: (context: {
2126
+ result: boolean[];
2127
+ parentId?: string | undefined;
2128
+ }) => Promise<void>) => void;
2129
+ removeTapPromise: (callBack: (context: {
2130
+ result: boolean[];
2131
+ parentId?: string | undefined;
2132
+ }) => Promise<void>) => void;
2133
+ readonly size: number;
2134
+ callSync: (context: {
2135
+ result: boolean[];
2136
+ parentId?: string | undefined;
2137
+ }) => {
2138
+ result: boolean[];
2139
+ parentId?: string | undefined;
2140
+ };
2141
+ tap: (fn: (context: {
2142
+ result: boolean[];
2143
+ parentId?: string | undefined;
2144
+ }) => void) => void;
2145
+ removeTap: (callBack: (context: {
2146
+ result: boolean[];
2147
+ parentId?: string | undefined;
2148
+ }) => void) => void;
2149
+ clear: () => void;
2150
+ };
2151
+ };
2116
2152
  panelItems: {
2117
2153
  [key: string]: import("@ibiz-template/runtime").IPanelItemController;
2118
2154
  };
@@ -2155,6 +2191,7 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
2155
2191
  force: (_callback?: (() => void) | undefined) => void;
2156
2192
  } | undefined;
2157
2193
  load: () => Promise<void>;
2194
+ validate: (parentId?: string | undefined) => Promise<boolean>;
2158
2195
  setDataValue: (name: string, value: unknown) => Promise<void>;
2159
2196
  view: any;
2160
2197
  layoutPanel?: any | undefined;
@@ -12001,6 +12038,42 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
12001
12038
  } | undefined;
12002
12039
  } | undefined;
12003
12040
  layoutPanel?: {
12041
+ hooks: {
12042
+ validate: {
12043
+ call: (context: {
12044
+ result: boolean[];
12045
+ parentId?: string | undefined;
12046
+ }) => Promise<{
12047
+ result: boolean[];
12048
+ parentId?: string | undefined;
12049
+ }>;
12050
+ tapPromise: (fn: (context: {
12051
+ result: boolean[];
12052
+ parentId?: string | undefined;
12053
+ }) => Promise<void>) => void;
12054
+ removeTapPromise: (callBack: (context: {
12055
+ result: boolean[];
12056
+ parentId?: string | undefined;
12057
+ }) => Promise<void>) => void;
12058
+ readonly size: number;
12059
+ callSync: (context: {
12060
+ result: boolean[];
12061
+ parentId?: string | undefined;
12062
+ }) => {
12063
+ result: boolean[];
12064
+ parentId?: string | undefined;
12065
+ };
12066
+ tap: (fn: (context: {
12067
+ result: boolean[];
12068
+ parentId?: string | undefined;
12069
+ }) => void) => void;
12070
+ removeTap: (callBack: (context: {
12071
+ result: boolean[];
12072
+ parentId?: string | undefined;
12073
+ }) => void) => void;
12074
+ clear: () => void;
12075
+ };
12076
+ };
12004
12077
  panelItems: {
12005
12078
  [key: string]: import("@ibiz-template/runtime").IPanelItemController;
12006
12079
  };
@@ -12043,6 +12116,7 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
12043
12116
  force: (_callback?: (() => void) | undefined) => void;
12044
12117
  } | undefined;
12045
12118
  load: () => Promise<void>;
12119
+ validate: (parentId?: string | undefined) => Promise<boolean>;
12046
12120
  setDataValue: (name: string, value: unknown) => Promise<void>;
12047
12121
  view: {
12048
12122
  evt: {
@@ -21027,9 +21101,10 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
21027
21101
  srfpaginationviewid?: string | undefined;
21028
21102
  };
21029
21103
  params: IParams;
21030
- type: "data" | "public" | "personal";
21104
+ type: "data" | "public" | "personal" | "dynamic";
21031
21105
  ownerType: string;
21032
21106
  ownerId: string;
21107
+ multiMode: boolean;
21033
21108
  loadCustomModelData: () => Promise<IData>;
21034
21109
  resetCustomModelData: () => Promise<IData>;
21035
21110
  saveCustomModelData: (model: IData[], opts?: IData | undefined) => Promise<IData>;
@@ -92,6 +92,42 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
92
92
  readonly parentView: any | undefined;
93
93
  readonly isActive: boolean;
94
94
  layoutPanel?: {
95
+ hooks: {
96
+ validate: {
97
+ call: (context: {
98
+ result: boolean[];
99
+ parentId?: string | undefined;
100
+ }) => Promise<{
101
+ result: boolean[];
102
+ parentId?: string | undefined;
103
+ }>;
104
+ tapPromise: (fn: (context: {
105
+ result: boolean[];
106
+ parentId?: string | undefined;
107
+ }) => Promise<void>) => void;
108
+ removeTapPromise: (callBack: (context: {
109
+ result: boolean[];
110
+ parentId?: string | undefined;
111
+ }) => Promise<void>) => void;
112
+ readonly size: number;
113
+ callSync: (context: {
114
+ result: boolean[];
115
+ parentId?: string | undefined;
116
+ }) => {
117
+ result: boolean[];
118
+ parentId?: string | undefined;
119
+ };
120
+ tap: (fn: (context: {
121
+ result: boolean[];
122
+ parentId?: string | undefined;
123
+ }) => void) => void;
124
+ removeTap: (callBack: (context: {
125
+ result: boolean[];
126
+ parentId?: string | undefined;
127
+ }) => void) => void;
128
+ clear: () => void;
129
+ };
130
+ };
95
131
  panelItems: {
96
132
  [key: string]: import("@ibiz-template/runtime").IPanelItemController;
97
133
  };
@@ -134,6 +170,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
134
170
  force: (_callback?: (() => void) | undefined) => void;
135
171
  } | undefined;
136
172
  load: () => Promise<void>;
173
+ validate: (parentId?: string | undefined) => Promise<boolean>;
137
174
  setDataValue: (name: string, value: unknown) => Promise<void>;
138
175
  view: any;
139
176
  layoutPanel?: any | undefined;
@@ -7197,6 +7234,42 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
7197
7234
  force: (_callback?: (() => void) | undefined) => void;
7198
7235
  };
7199
7236
  layoutPanel?: {
7237
+ hooks: {
7238
+ validate: {
7239
+ call: (context: {
7240
+ result: boolean[];
7241
+ parentId?: string | undefined;
7242
+ }) => Promise<{
7243
+ result: boolean[];
7244
+ parentId?: string | undefined;
7245
+ }>;
7246
+ tapPromise: (fn: (context: {
7247
+ result: boolean[];
7248
+ parentId?: string | undefined;
7249
+ }) => Promise<void>) => void;
7250
+ removeTapPromise: (callBack: (context: {
7251
+ result: boolean[];
7252
+ parentId?: string | undefined;
7253
+ }) => Promise<void>) => void;
7254
+ readonly size: number;
7255
+ callSync: (context: {
7256
+ result: boolean[];
7257
+ parentId?: string | undefined;
7258
+ }) => {
7259
+ result: boolean[];
7260
+ parentId?: string | undefined;
7261
+ };
7262
+ tap: (fn: (context: {
7263
+ result: boolean[];
7264
+ parentId?: string | undefined;
7265
+ }) => void) => void;
7266
+ removeTap: (callBack: (context: {
7267
+ result: boolean[];
7268
+ parentId?: string | undefined;
7269
+ }) => void) => void;
7270
+ clear: () => void;
7271
+ };
7272
+ };
7200
7273
  panelItems: {
7201
7274
  [key: string]: import("@ibiz-template/runtime").IPanelItemController;
7202
7275
  };
@@ -7239,6 +7312,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
7239
7312
  force: (_callback?: (() => void) | undefined) => void;
7240
7313
  } | undefined;
7241
7314
  load: () => Promise<void>;
7315
+ validate: (parentId?: string | undefined) => Promise<boolean>;
7242
7316
  setDataValue: (name: string, value: unknown) => Promise<void>;
7243
7317
  view: {
7244
7318
  evt: {