@ibiz-template/vue3-components 0.6.2-dev.0 → 0.6.3

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 (113) hide show
  1. package/dist/chart-IsmrW_d0.js +1 -0
  2. package/dist/index-9YFoUwI0.js +4 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/{xlsx-util-HHwgsM7j.js → xlsx-util-c9vmypX3.js} +1 -1
  6. package/es/common/action-toolbar/action-toolbar.css +1 -1
  7. package/es/common/action-toolbar/action-toolbar.mjs +6 -2
  8. package/es/common/carousel/carousel.css +1 -0
  9. package/es/common/carousel/carousel.d.ts +133 -0
  10. package/es/common/carousel/carousel.mjs +78 -0
  11. package/es/common/index.mjs +2 -0
  12. package/es/control/calendar/calendar.css +1 -1
  13. package/es/control/calendar/calendar.mjs +22 -19
  14. package/es/control/caption-bar/caption-bar.d.ts +1 -1
  15. package/es/control/caption-bar/caption-bar.mjs +3 -8
  16. package/es/control/chart/chart.css +1 -1
  17. package/es/control/chart/chart.mjs +5 -2
  18. package/es/control/dashboard/dashboard.mjs +3 -1
  19. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +7 -0
  20. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  21. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.d.ts +1 -0
  22. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +51 -12
  23. package/es/control/form/form-detail/form-tab-panel/index.d.ts +1 -0
  24. package/es/control/gantt/gantt.css +1 -1
  25. package/es/control/gantt/gantt.mjs +2 -1
  26. package/es/control/search-bar/index.d.ts +1 -0
  27. package/es/control/search-bar/search-bar.d.ts +1 -0
  28. package/es/control/search-bar/search-bar.mjs +10 -0
  29. package/es/control/tab-exp-panel/tab-exp-panel.mjs +16 -9
  30. package/es/editor/carousel/carousel-editor.controller.d.ts +10 -0
  31. package/es/editor/carousel/carousel-editor.controller.mjs +7 -0
  32. package/es/editor/carousel/carousel-editor.provider.d.ts +17 -0
  33. package/es/editor/carousel/carousel-editor.provider.mjs +22 -0
  34. package/es/editor/carousel/ibiz-carousel/ibiz-carousel.css +0 -0
  35. package/es/editor/carousel/ibiz-carousel/ibiz-carousel.d.ts +76 -0
  36. package/es/editor/carousel/ibiz-carousel/ibiz-carousel.mjs +64 -0
  37. package/es/editor/carousel/index.d.ts +3 -0
  38. package/es/editor/carousel/index.mjs +5 -0
  39. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +20 -6
  40. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +1 -0
  41. package/es/editor/index.mjs +8 -0
  42. package/es/panel-component/index.mjs +2 -0
  43. package/es/panel-component/panel-static-carousel/index.d.ts +31 -0
  44. package/es/panel-component/panel-static-carousel/index.mjs +18 -0
  45. package/es/panel-component/panel-static-carousel/panel-static-carousel.css +0 -0
  46. package/es/panel-component/panel-static-carousel/panel-static-carousel.d.ts +34 -0
  47. package/es/panel-component/panel-static-carousel/panel-static-carousel.mjs +80 -0
  48. package/es/panel-component/panel-static-carousel/panel-static-carousel.provider.d.ts +15 -0
  49. package/es/panel-component/panel-static-carousel/panel-static-carousel.provider.mjs +21 -0
  50. package/es/panel-component/user-message/index.d.ts +2 -2
  51. package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.css +1 -1
  52. package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.mjs +9 -3
  53. package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.d.ts +1 -0
  54. package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.mjs +8 -1
  55. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.mjs +20 -1
  56. package/es/panel-component/user-message/user-message.d.ts +2 -2
  57. package/es/panel-component/user-message/user-message.mjs +32 -5
  58. package/es/util/app-modal/app-modal-component.d.ts +1 -0
  59. package/es/util/app-modal/app-modal-component.mjs +1 -1
  60. package/es/util/notification-util/notification-util.d.ts +1 -0
  61. package/es/util/notification-util/notification-util.mjs +4 -0
  62. package/es/view-engine/calendar-view.engine.d.ts +3 -1
  63. package/es/view-engine/calendar-view.engine.mjs +11 -0
  64. package/es/view-engine/gantt-view.engine.d.ts +2 -1
  65. package/es/view-engine/gantt-view.engine.mjs +3 -0
  66. package/es/view-engine/opt-view.engine.mjs +1 -1
  67. package/es/view-engine/tree-grid-view.engine.d.ts +1 -0
  68. package/es/view-engine/tree-grid-view.engine.mjs +8 -0
  69. package/es/web-app/components/modal-router-shell/modal-router-shell.mjs +2 -1
  70. package/lib/common/action-toolbar/action-toolbar.cjs +6 -2
  71. package/lib/common/action-toolbar/action-toolbar.css +1 -1
  72. package/lib/common/carousel/carousel.cjs +80 -0
  73. package/lib/common/carousel/carousel.css +1 -0
  74. package/lib/common/index.cjs +2 -0
  75. package/lib/control/calendar/calendar.cjs +22 -19
  76. package/lib/control/calendar/calendar.css +1 -1
  77. package/lib/control/caption-bar/caption-bar.cjs +3 -8
  78. package/lib/control/chart/chart.cjs +5 -2
  79. package/lib/control/chart/chart.css +1 -1
  80. package/lib/control/dashboard/dashboard.cjs +2 -0
  81. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +50 -11
  82. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  83. package/lib/control/gantt/gantt.cjs +2 -1
  84. package/lib/control/gantt/gantt.css +1 -1
  85. package/lib/control/search-bar/search-bar.cjs +10 -0
  86. package/lib/control/tab-exp-panel/tab-exp-panel.cjs +15 -8
  87. package/lib/editor/carousel/carousel-editor.controller.cjs +9 -0
  88. package/lib/editor/carousel/carousel-editor.provider.cjs +24 -0
  89. package/lib/editor/carousel/ibiz-carousel/ibiz-carousel.cjs +66 -0
  90. package/lib/editor/carousel/ibiz-carousel/ibiz-carousel.css +0 -0
  91. package/lib/editor/carousel/index.cjs +11 -0
  92. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +20 -6
  93. package/lib/editor/index.cjs +8 -0
  94. package/lib/panel-component/index.cjs +2 -0
  95. package/lib/panel-component/panel-static-carousel/index.cjs +23 -0
  96. package/lib/panel-component/panel-static-carousel/panel-static-carousel.cjs +82 -0
  97. package/lib/panel-component/panel-static-carousel/panel-static-carousel.css +0 -0
  98. package/lib/panel-component/panel-static-carousel/panel-static-carousel.provider.cjs +23 -0
  99. package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.cjs +8 -2
  100. package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.css +1 -1
  101. package/lib/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.cjs +8 -1
  102. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.cjs +19 -0
  103. package/lib/panel-component/user-message/user-message.cjs +30 -3
  104. package/lib/util/app-modal/app-modal-component.cjs +1 -1
  105. package/lib/util/notification-util/notification-util.cjs +4 -0
  106. package/lib/view-engine/calendar-view.engine.cjs +11 -0
  107. package/lib/view-engine/gantt-view.engine.cjs +3 -0
  108. package/lib/view-engine/opt-view.engine.cjs +1 -1
  109. package/lib/view-engine/tree-grid-view.engine.cjs +8 -0
  110. package/lib/web-app/components/modal-router-shell/modal-router-shell.cjs +2 -1
  111. package/package.json +8 -8
  112. package/dist/chart-fWcrZRts.js +0 -1
  113. package/dist/index-NdPkOMvL.js +0 -4
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-action-toolbar{--ibiz-action-toolbar-item-margin:0 0 0 4px;--ibiz-action-toolbar-separator-height:20px;--ibiz-action-toolbar-separator-width:2px;--ibiz-action-toolbar-separator-color:var(--ibiz-color-border);--ibiz-action-toolbar-popover-padding:8px 0;--ibiz-action-toolbar-popover-button-padding:8px 20px;--ibiz-action-toolbar-popover-button-color:var(--ibiz-color-text-2);--ibiz-action-toolbar-popover-button-hover-bg:var(--ibiz-color-bg-0)}.ibiz-action-toolbar__item{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-action-toolbar__item+.ibiz-action-toolbar__item{margin:var(--ibiz-action-toolbar-item-margin)}.ibiz-action-toolbar__item .ibiz-icon{margin-right:3px}.ibiz-action-toolbar__popover{--ibiz-action-toolbar-item-margin:0 0 0 4px;--ibiz-action-toolbar-separator-height:20px;--ibiz-action-toolbar-separator-width:2px;--ibiz-action-toolbar-separator-color:var(--ibiz-color-border);--ibiz-action-toolbar-popover-padding:8px 0;--ibiz-action-toolbar-popover-button-padding:8px 20px;--ibiz-action-toolbar-popover-button-color:var(--ibiz-color-text-2);--ibiz-action-toolbar-popover-button-hover-bg:var(--ibiz-color-bg-0);width:auto!important;min-width:150px;--el-popover-padding:var(--ibiz-action-toolbar-popover-padding)}.ibiz-action-toolbar__popover .el-button{--el-button-size:40px;display:block;width:100%;padding:var(--ibiz-action-toolbar-popover-button-padding);margin:0;font-size:14px;color:var(--ibiz-action-toolbar-popover-button-color);text-align:left;border-radius:0}.ibiz-action-toolbar__popover .el-button:hover{background-color:var(--ibiz-action-toolbar-popover-button-hover-bg)}.ibiz-action-toolbar__popover .el-button .ibiz-icon{margin-right:6px}.ibiz-action-toolbar__separator{margin:0}.ibiz-action-toolbar--dropdown .ibiz-action-toolbar__caption{cursor:pointer}.ibiz-action-toolbar--dropdown .ibiz-action-toolbar__caption-icon{vertical-align:bottom}
1
+ @charset "UTF-8";.ibiz-action-toolbar{--ibiz-action-toolbar-item-margin:0 4px 0 0;--ibiz-action-toolbar-separator-height:20px;--ibiz-action-toolbar-separator-width:2px;--ibiz-action-toolbar-separator-color:var(--ibiz-color-border);--ibiz-action-toolbar-popover-padding:8px 0;--ibiz-action-toolbar-popover-button-padding:8px 20px;--ibiz-action-toolbar-popover-button-color:var(--ibiz-color-text-2);--ibiz-action-toolbar-popover-button-hover-bg:var(--ibiz-color-bg-0);display:flex;flex-wrap:wrap}.ibiz-action-toolbar__item{padding:var(--ibiz-spacing-extra-tight) 0;margin:var(--ibiz-action-toolbar-item-margin)}.ibiz-action-toolbar__item--icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:3px;font-size:14px}.ibiz-action-toolbar__item+.ibiz-action-toolbar__item{margin:var(--ibiz-action-toolbar-item-margin)}.ibiz-action-toolbar__popover{--ibiz-action-toolbar-item-margin:0 4px 0 0;--ibiz-action-toolbar-separator-height:20px;--ibiz-action-toolbar-separator-width:2px;--ibiz-action-toolbar-separator-color:var(--ibiz-color-border);--ibiz-action-toolbar-popover-padding:8px 0;--ibiz-action-toolbar-popover-button-padding:8px 20px;--ibiz-action-toolbar-popover-button-color:var(--ibiz-color-text-2);--ibiz-action-toolbar-popover-button-hover-bg:var(--ibiz-color-bg-0);width:auto!important;min-width:150px;--el-popover-padding:var(--ibiz-action-toolbar-popover-padding)}.ibiz-action-toolbar__popover .el-button{--el-button-size:40px;display:block;width:100%;padding:var(--ibiz-action-toolbar-popover-button-padding);margin:0;font-size:14px;color:var(--ibiz-action-toolbar-popover-button-color);text-align:left;border-radius:0}.ibiz-action-toolbar__popover .el-button:hover{background-color:var(--ibiz-action-toolbar-popover-button-hover-bg)}.ibiz-action-toolbar__popover .el-button .ibiz-icon{margin-right:6px}.ibiz-action-toolbar__separator{margin:0}.ibiz-action-toolbar--dropdown .ibiz-action-toolbar__caption{cursor:pointer}.ibiz-action-toolbar--dropdown .ibiz-action-toolbar__caption-icon{vertical-align:bottom}
@@ -100,9 +100,13 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
100
100
  "disabled": this.actionsState[detail.id].disabled,
101
101
  "class": this.calcActionItemClass(detail)
102
102
  }, {
103
- default: () => [detail.showIcon && detail.sysImage && createVNode(resolveComponent("iBizIcon"), {
103
+ default: () => [createVNode("div", {
104
+ "class": this.ns.em("item", "icon")
105
+ }, [detail.showIcon && detail.sysImage && createVNode(resolveComponent("iBizIcon"), {
104
106
  "icon": detail.sysImage
105
- }, null), detail.showCaption ? detail.caption : ""]
107
+ }, null)]), createVNode("div", {
108
+ "class": this.ns.em("item", "label")
109
+ }, [detail.showCaption ? detail.caption : ""])]
106
110
  })];
107
111
  }
108
112
  return null;
@@ -0,0 +1 @@
1
+ .ibiz-carousel-component .el-carousel__container .el-carousel__item{display:flex;align-items:center;justify-content:center}.ibiz-carousel-component .el-carousel__container .el-carousel__item img{display:inline-block;width:100%;height:100%}
@@ -0,0 +1,133 @@
1
+ import { Ref } from 'vue';
2
+ import './carousel.scss';
3
+ export declare const IBizCarouselComponent: import("vue").DefineComponent<{
4
+ carouselData: {
5
+ type: {
6
+ (arrayLength: number): {
7
+ id?: string | undefined;
8
+ name?: string | undefined;
9
+ imgUrl?: string | undefined;
10
+ linkPath?: string | undefined;
11
+ cssClass?: string | undefined;
12
+ }[][];
13
+ (...items: {
14
+ id?: string | undefined;
15
+ name?: string | undefined;
16
+ imgUrl?: string | undefined;
17
+ linkPath?: string | undefined;
18
+ cssClass?: string | undefined;
19
+ }[][]): {
20
+ id?: string | undefined;
21
+ name?: string | undefined;
22
+ imgUrl?: string | undefined;
23
+ linkPath?: string | undefined;
24
+ cssClass?: string | undefined;
25
+ }[][];
26
+ new (arrayLength: number): {
27
+ id?: string | undefined;
28
+ name?: string | undefined;
29
+ imgUrl?: string | undefined;
30
+ linkPath?: string | undefined;
31
+ cssClass?: string | undefined;
32
+ }[][];
33
+ new (...items: {
34
+ id?: string | undefined;
35
+ name?: string | undefined;
36
+ imgUrl?: string | undefined;
37
+ linkPath?: string | undefined;
38
+ cssClass?: string | undefined;
39
+ }[][]): {
40
+ id?: string | undefined;
41
+ name?: string | undefined;
42
+ imgUrl?: string | undefined;
43
+ linkPath?: string | undefined;
44
+ cssClass?: string | undefined;
45
+ }[][];
46
+ isArray(arg: any): arg is any[];
47
+ readonly prototype: any[];
48
+ from<T>(arrayLike: ArrayLike<T>): T[];
49
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
50
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
51
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
52
+ of<T_4>(...items: T_4[]): T_4[];
53
+ readonly [Symbol.species]: ArrayConstructor;
54
+ };
55
+ required: true;
56
+ };
57
+ isAuto: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
61
+ timeSpan: {
62
+ type: NumberConstructor;
63
+ default: number;
64
+ };
65
+ }, {
66
+ ns: import("@ibiz-template/core").Namespace;
67
+ swipeData: Ref<IData[]>;
68
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
69
+ carouselData: {
70
+ type: {
71
+ (arrayLength: number): {
72
+ id?: string | undefined;
73
+ name?: string | undefined;
74
+ imgUrl?: string | undefined;
75
+ linkPath?: string | undefined;
76
+ cssClass?: string | undefined;
77
+ }[][];
78
+ (...items: {
79
+ id?: string | undefined;
80
+ name?: string | undefined;
81
+ imgUrl?: string | undefined;
82
+ linkPath?: string | undefined;
83
+ cssClass?: string | undefined;
84
+ }[][]): {
85
+ id?: string | undefined;
86
+ name?: string | undefined;
87
+ imgUrl?: string | undefined;
88
+ linkPath?: string | undefined;
89
+ cssClass?: string | undefined;
90
+ }[][];
91
+ new (arrayLength: number): {
92
+ id?: string | undefined;
93
+ name?: string | undefined;
94
+ imgUrl?: string | undefined;
95
+ linkPath?: string | undefined;
96
+ cssClass?: string | undefined;
97
+ }[][];
98
+ new (...items: {
99
+ id?: string | undefined;
100
+ name?: string | undefined;
101
+ imgUrl?: string | undefined;
102
+ linkPath?: string | undefined;
103
+ cssClass?: string | undefined;
104
+ }[][]): {
105
+ id?: string | undefined;
106
+ name?: string | undefined;
107
+ imgUrl?: string | undefined;
108
+ linkPath?: string | undefined;
109
+ cssClass?: string | undefined;
110
+ }[][];
111
+ isArray(arg: any): arg is any[];
112
+ readonly prototype: any[];
113
+ from<T>(arrayLike: ArrayLike<T>): T[];
114
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
115
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
116
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
117
+ of<T_4>(...items: T_4[]): T_4[];
118
+ readonly [Symbol.species]: ArrayConstructor;
119
+ };
120
+ required: true;
121
+ };
122
+ isAuto: {
123
+ type: BooleanConstructor;
124
+ default: boolean;
125
+ };
126
+ timeSpan: {
127
+ type: NumberConstructor;
128
+ default: number;
129
+ };
130
+ }>>, {
131
+ isAuto: boolean;
132
+ timeSpan: number;
133
+ }, {}>;
@@ -0,0 +1,78 @@
1
+ import { isVNode, ref, watch, createVNode, resolveComponent, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './carousel.css';
4
+
5
+ "use strict";
6
+ function _isSlot(s) {
7
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
8
+ }
9
+ const IBizCarouselComponent = /* @__PURE__ */ defineComponent({
10
+ name: "IBizCarouselComponent",
11
+ props: {
12
+ carouselData: {
13
+ type: Array,
14
+ required: true
15
+ },
16
+ isAuto: {
17
+ type: Boolean,
18
+ default: true
19
+ },
20
+ timeSpan: {
21
+ type: Number,
22
+ default: 3e3
23
+ }
24
+ },
25
+ setup(props) {
26
+ const ns = useNamespace("carousel-component");
27
+ const swipeData = ref([]);
28
+ watch(() => props.carouselData, (newVal, oldVal) => {
29
+ if (newVal !== oldVal) {
30
+ swipeData.value = newVal;
31
+ }
32
+ }, {
33
+ immediate: true
34
+ });
35
+ return {
36
+ ns,
37
+ swipeData
38
+ };
39
+ },
40
+ render() {
41
+ let _slot;
42
+ const renderPic = (item) => {
43
+ if (item.cssClass) {
44
+ if (item.cssClass.indexOf("fa-") !== -1) {
45
+ return createVNode("i", {
46
+ "class": [item.cssClass]
47
+ }, null);
48
+ }
49
+ return createVNode("ion-icon", {
50
+ "name": item.cssClass
51
+ }, null);
52
+ }
53
+ if (item.imgUrl) {
54
+ return createVNode("img", {
55
+ "src": item.imgUrl,
56
+ "alt": item.name
57
+ }, null);
58
+ }
59
+ };
60
+ return createVNode("div", null, [createVNode(resolveComponent("el-carousel"), {
61
+ "class": this.ns.b(),
62
+ "autoplay": this.isAuto,
63
+ "interval": this.timeSpan
64
+ }, _isSlot(_slot = this.swipeData.map((item) => {
65
+ return createVNode(resolveComponent("el-carousel-item"), {
66
+ "key": item.id
67
+ }, {
68
+ default: () => [item.linkPath ? createVNode("a", {
69
+ "href": item.linkPath
70
+ }, [renderPic(item)]) : renderPic(item)]
71
+ });
72
+ })) ? _slot : {
73
+ default: () => [_slot]
74
+ })]);
75
+ }
76
+ });
77
+
78
+ export { IBizCarouselComponent };
@@ -17,6 +17,7 @@ import { DataImport2Table } from './data-import2-table/data-import2-table.mjs';
17
17
  import { DataImport2Select } from './data-import2-select/data-import2-select.mjs';
18
18
  import { IBizGridSetting } from './grid-setting/grid-setting.mjs';
19
19
  import { DoingNotice } from './doing-notice/doing-notice.mjs';
20
+ import { IBizCarouselComponent } from './carousel/carousel.mjs';
20
21
 
21
22
  "use strict";
22
23
  const IBizCommonComponents = {
@@ -51,6 +52,7 @@ const IBizCommonComponents = {
51
52
  })
52
53
  );
53
54
  v.component(IBizBadge.name, IBizBadge);
55
+ v.component(IBizCarouselComponent.name, IBizCarouselComponent);
54
56
  }
55
57
  };
56
58
 
@@ -1 +1 @@
1
- .ibiz-control-calendar{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);width:100%;height:100%}.ibiz-control-calendar__calendar-item{display:flex;align-items:center;padding:var(--ibiz-control-calendar-item-padding)}.ibiz-control-calendar__icon{width:10px;height:10px;margin-right:var(--ibiz-spacing-base-tight);border-radius:50%}.ibiz-control-calendar-content{display:flex;flex-direction:column;width:100%;height:100%}.ibiz-control-calendar-content .el-calendar{display:flex;flex-direction:column}.ibiz-control-calendar-content .el-calendar-table,.ibiz-control-calendar-content .el-calendar-table .el-calendar-day{width:100%;height:100%;cursor:pointer}.ibiz-control-calendar-content .el-calendar-table{flex:1;width:-moz-fit-content;width:fit-content}.ibiz-control-calendar-content .el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.ibiz-control-calendar-content .el-calendar__body{display:flex;flex:1;padding:0}.ibiz-control-calendar-item{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);height:100%;padding:var(--ibiz-control-calendar-item-padding);margin-bottom:var(--ibiz-control-calendar-margin);overflow:hidden;font-size:var(--ibiz-control-calendar-font-size);color:var(--ibiz-control-calendar-text-color);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:solid .5px transparent;border-radius:var(--ibiz-control-calendar-border-radius)}.ibiz-control-calendar-item:hover{background-color:var(--ibiz-control-calendar-hover-bg-color)}.ibiz-control-calendar-item.is-active{background-color:var(--ibiz-control-calendar-active-bg-color);border:solid .5px var(--ibiz-control-calendar-border-color)}.ibiz-control-calendar-date-text{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);padding:var(--ibiz-control-calendar-item-padding);margin-top:0}.ibiz-control-calendar-day{height:-moz-fit-content;height:fit-content}.ibiz-control-calendar-content-header{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);display:flex;align-items:center}.ibiz-control-calendar-content-header>*+*{margin-left:var(--ibiz-control-calendar-item-padding)}.ibiz-control-calendar-footer{display:flex;justify-content:flex-end}.ibiz-control-calendar-footer>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-control-calendar-timeline-content .el-timeline{padding-left:0}
1
+ .ibiz-control-calendar{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);width:100%;height:100%}.ibiz-control-calendar__calendar-item{display:flex;align-items:center;padding:var(--ibiz-control-calendar-item-padding)}.ibiz-control-calendar__icon{width:10px;height:10px;margin-right:var(--ibiz-spacing-base-tight);border-radius:50%}.ibiz-control-calendar-content{display:flex;flex-direction:column;width:100%;height:100%}.ibiz-control-calendar-content .el-calendar{display:flex;flex-direction:column}.ibiz-control-calendar-content .el-calendar__header{flex-wrap:wrap}.ibiz-control-calendar-content .el-calendar-table,.ibiz-control-calendar-content .el-calendar-table .el-calendar-day{width:100%;height:100%;cursor:pointer}.ibiz-control-calendar-content .el-calendar-table{flex:1;width:-moz-fit-content;width:fit-content}.ibiz-control-calendar-content .el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.ibiz-control-calendar-content .el-calendar__body{display:flex;flex:1;padding:0}.ibiz-control-calendar-item{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);height:100%;padding:var(--ibiz-control-calendar-item-padding);margin-bottom:var(--ibiz-control-calendar-margin);overflow:hidden;font-size:var(--ibiz-control-calendar-font-size);color:var(--ibiz-control-calendar-text-color);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:solid .5px transparent;border-radius:var(--ibiz-control-calendar-border-radius)}.ibiz-control-calendar-item:hover{background-color:var(--ibiz-control-calendar-hover-bg-color)}.ibiz-control-calendar-item.is-active{background-color:var(--ibiz-control-calendar-active-bg-color);border:solid .5px var(--ibiz-control-calendar-border-color)}.ibiz-control-calendar-date-text{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);padding:var(--ibiz-control-calendar-item-padding);margin-top:0}.ibiz-control-calendar-day{height:-moz-fit-content;height:fit-content}.ibiz-control-calendar-content-title{line-height:var(--ibiz-editor-default-line-height)}.ibiz-control-calendar-content-header{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);display:flex;align-items:center}.ibiz-control-calendar-content-header>*+*{margin-left:var(--ibiz-control-calendar-item-padding)}.ibiz-control-calendar-legend{display:flex;justify-content:flex-end;width:100%}.ibiz-control-calendar-legend>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-control-calendar-timeline-content .el-timeline{padding-left:0}
@@ -105,6 +105,7 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
105
105
  "class": itemClass,
106
106
  "key": item.deData.srfkey,
107
107
  "style": style,
108
+ "title": item.tips || item.text,
108
109
  "onClick": () => this.c.onRowClick(item),
109
110
  "onDblclick": () => this.c.onDbRowClick(item)
110
111
  }, [item.text]);
@@ -128,7 +129,6 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
128
129
  return renderCalendarList(items);
129
130
  };
130
131
  const renderElCalender = () => {
131
- var _a;
132
132
  return createVNode("div", {
133
133
  "class": this.ns.b("content")
134
134
  }, [createVNode(resolveComponent("el-calendar"), {
@@ -139,8 +139,11 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
139
139
  header: ({
140
140
  date
141
141
  }) => {
142
+ var _a;
142
143
  let _slot, _slot2, _slot3, _slot4, _slot5;
143
- return [createVNode("span", null, [date]), createVNode("div", {
144
+ return [createVNode("span", {
145
+ "class": this.ns.b("content-title")
146
+ }, [date]), createVNode("div", {
144
147
  "class": this.ns.b("content-header")
145
148
  }, [createVNode(resolveComponent("el-date-picker"), {
146
149
  "modelValue": this.c.state.selectedDate,
@@ -183,6 +186,22 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
183
186
  }, _isSlot(_slot5 = ibiz.i18n.t("control.calendar.nextYear")) ? _slot5 : {
184
187
  default: () => [_slot5]
185
188
  })]
189
+ })]), createVNode("div", {
190
+ "class": this.ns.b("legend")
191
+ }, [(_a = this.c.model.sysCalendarItems) == null ? void 0 : _a.map((calendarItem) => {
192
+ let label = calendarItem.name;
193
+ if (calendarItem.nameLanguageRes) {
194
+ label = ibiz.i18n.t(calendarItem.nameLanguageRes.lanResTag, calendarItem.name);
195
+ }
196
+ return createVNode("div", {
197
+ "class": this.ns.e("calendar-item")
198
+ }, [createVNode("div", {
199
+ "class": this.ns.e("icon"),
200
+ "style": {
201
+ background: calendarItem.bkcolor,
202
+ color: calendarItem.color
203
+ }
204
+ }, null), label]);
186
205
  })])];
187
206
  },
188
207
  "date-cell": ({
@@ -199,23 +218,7 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
199
218
  "class": this.ns.b("items")
200
219
  }, [renderCalendarItems(date)])]);
201
220
  }
202
- }), createVNode("div", {
203
- "class": this.ns.b("footer")
204
- }, [(_a = this.c.model.sysCalendarItems) == null ? void 0 : _a.map((calendarItem) => {
205
- let label = calendarItem.name;
206
- if (calendarItem.nameLanguageRes) {
207
- label = ibiz.i18n.t(calendarItem.nameLanguageRes.lanResTag, calendarItem.name);
208
- }
209
- return createVNode("div", {
210
- "class": this.ns.e("calendar-item")
211
- }, [createVNode("div", {
212
- "class": this.ns.e("icon"),
213
- "style": {
214
- background: calendarItem.bkcolor,
215
- color: calendarItem.color
216
- }
217
- }, null), label]);
218
- })])]);
221
+ })]);
219
222
  };
220
223
  const renderNoData = () => {
221
224
  const {
@@ -1,7 +1,7 @@
1
1
  import { PropType } from 'vue';
2
2
  import { ICaptionBar } from '@ibiz/model-core';
3
- import './caption-bar.scss';
4
3
  import { CaptionBarController, IControlProvider } from '@ibiz-template/runtime';
4
+ import './caption-bar.scss';
5
5
  export declare const CaptionBarControl: import("vue").DefineComponent<{
6
6
  modelData: {
7
7
  type: PropType<ICaptionBar>;
@@ -1,7 +1,7 @@
1
1
  import { onActivated, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
- import './caption-bar.css';
4
3
  import { CaptionBarController } from '@ibiz-template/runtime';
4
+ import './caption-bar.css';
5
5
 
6
6
  "use strict";
7
7
  const CaptionBarControl = /* @__PURE__ */ defineComponent({
@@ -26,14 +26,9 @@ const CaptionBarControl = /* @__PURE__ */ defineComponent({
26
26
  setup() {
27
27
  const c = useControlController((...args) => new CaptionBarController(...args));
28
28
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
29
- const modalMode = c.view.modal.mode;
30
- if (modalMode === "ROUTE") {
31
- ibiz.util.setBrowserTitle(c.state.caption);
32
- }
29
+ c.setBrowserTabTitle();
33
30
  onActivated(() => {
34
- if (modalMode === "ROUTE") {
35
- ibiz.util.setBrowserTitle(c.state.caption);
36
- }
31
+ c.setBrowserTabTitle();
37
32
  });
38
33
  return {
39
34
  c,
@@ -1 +1 @@
1
- .ibiz-control-chart{width:100%;height:100%}.ibiz-control-chart__chart{width:100%;height:100%}
1
+ .ibiz-control-chart{width:100%;height:100%}.ibiz-control-chart__chart{width:100%;height:100%}.ibiz-control-chart__chart.is-no-data{display:none}.ibiz-control-chart__empty{display:none;height:100%}.ibiz-control-chart__empty.is-no-data{display:flex}
@@ -50,9 +50,12 @@ const ChartControl = /* @__PURE__ */ defineComponent({
50
50
  return createVNode(resolveComponent("iBizControlBase"), {
51
51
  "controller": this.c
52
52
  }, {
53
- default: () => [createVNode("div", {
53
+ default: () => [createVNode(resolveComponent("el-empty"), {
54
+ "class": [this.ns.e("empty"), this.ns.is("no-data", this.c.state.items.length === 0)],
55
+ "description": "\u6682\u65E0\u6570\u636E"
56
+ }, null), createVNode("div", {
54
57
  "ref": "chartRef",
55
- "class": this.ns.e("chart")
58
+ "class": [this.ns.e("chart"), this.ns.is("no-data", this.c.state.items.length === 0)]
56
59
  }, [ibiz.i18n.t("control.chart.chartPlaceholder")])]
57
60
  });
58
61
  }
@@ -1,4 +1,4 @@
1
- import { isVNode, createVNode, resolveComponent, h, ref, reactive, defineComponent } from 'vue';
1
+ import { isVNode, createVNode, resolveComponent, h, getCurrentInstance, ref, reactive, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './dashboard.css';
4
4
  import { DashboardController } from '@ibiz-template/runtime';
@@ -56,6 +56,7 @@ const DashboardControl = /* @__PURE__ */ defineComponent({
56
56
  },
57
57
  setup() {
58
58
  const c = useControlController((...args) => new DashboardController(...args));
59
+ const vue = getCurrentInstance().proxy;
59
60
  const customModelDatas = ref([]);
60
61
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
61
62
  c.evt.on("onCreated", () => {
@@ -66,6 +67,7 @@ const DashboardControl = /* @__PURE__ */ defineComponent({
66
67
  const handleCustomModelChange = async (args) => {
67
68
  customModelDatas.value = args.model;
68
69
  await c.initPortlets(customModelDatas.value);
70
+ vue.$forceUpdate();
69
71
  };
70
72
  return {
71
73
  c,
@@ -119,6 +119,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
119
119
  [x: symbol]: any;
120
120
  srfsessionid: string;
121
121
  srfappid: string;
122
+ srfsimple?: boolean | undefined;
122
123
  };
123
124
  readonly params: IParams;
124
125
  childNames: string[];
@@ -3061,6 +3062,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
3061
3062
  [x: symbol]: any;
3062
3063
  srfsessionid: string;
3063
3064
  srfappid: string;
3065
+ srfsimple?: boolean | undefined;
3064
3066
  };
3065
3067
  readonly params: IParams;
3066
3068
  childNames: string[];
@@ -7108,6 +7110,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
7108
7110
  [x: symbol]: any;
7109
7111
  srfsessionid: string;
7110
7112
  srfappid: string;
7113
+ srfsimple?: boolean | undefined;
7111
7114
  };
7112
7115
  readonly params: IParams;
7113
7116
  childNames: string[];
@@ -7147,6 +7150,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
7147
7150
  [x: symbol]: any;
7148
7151
  srfsessionid: string;
7149
7152
  srfappid: string;
7153
+ srfsimple?: boolean | undefined;
7150
7154
  };
7151
7155
  readonly params: IParams;
7152
7156
  childNames: string[];
@@ -11210,6 +11214,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
11210
11214
  [x: symbol]: any;
11211
11215
  srfsessionid: string;
11212
11216
  srfappid: string;
11217
+ srfsimple?: boolean | undefined;
11213
11218
  };
11214
11219
  readonly params: IParams;
11215
11220
  childNames: string[];
@@ -14148,6 +14153,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
14148
14153
  [x: symbol]: any;
14149
14154
  srfsessionid: string;
14150
14155
  srfappid: string;
14156
+ srfsimple?: boolean | undefined;
14151
14157
  };
14152
14158
  readonly params: IParams;
14153
14159
  childNames: string[];
@@ -18478,6 +18484,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
18478
18484
  [x: symbol]: any;
18479
18485
  srfsessionid: string;
18480
18486
  srfappid: string;
18487
+ srfsimple?: boolean | undefined;
18481
18488
  };
18482
18489
  readonly params: IParams;
18483
18490
  childNames: string[];
@@ -1 +1 @@
1
- .ibiz-form-tab-panel{width:100%;height:100%;--ibiz-form-tab-panel-font-size:var(--ibiz-font-size-header-4);--ibiz-form-tab-panel-header-border-color:var(--ibiz-color-border);--ibiz-form-tab-panel-text-color:var(--ibiz-color-text-2);--ibiz-form-tab-panel-bg-color:transparent;--ibiz-form-tab-panel-hover-text-color:var(--ibiz-color-primary);--ibiz-form-tab-panel-hover-bg-color:transparent;--ibiz-form-tab-panel-active-text-color:var(--ibiz-color-primary);--ibiz-form-tab-panel-active-bg-color:transparent;--ibiz-form-tab-panel-active-border-color:var(--ibiz-color-primary)}.ibiz-form-tab-panel>.el-tabs__header.is-top{margin-bottom:var(--ibiz-spacing-tight)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-tab-panel-font-size);color:var(--ibiz-form-tab-panel-text-color);background-color:var(--ibiz-form-tab-panel-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-tab-panel-hover-text-color);background-color:var(--ibiz-form-tab-panel-hover-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-tab-panel-active-text-color);background-color:var(--ibiz-form-tab-panel-active-bg-color)}.ibiz-form-tab-panel .el-tabs__nav-wrap::after{background-color:var(--ibiz-form-tab-panel-header-border-color)}.ibiz-form-tab-panel .el-tabs__active-bar{background-color:var(--ibiz-form-tab-panel-active-border-color)}
1
+ .ibiz-form-tab-panel{width:100%;height:100%;--ibiz-form-tab-panel-font-size:var(--ibiz-font-size-header-4);--ibiz-form-tab-panel-header-border-color:var(--ibiz-color-border);--ibiz-form-tab-panel-text-color:var(--ibiz-color-text-2);--ibiz-form-tab-panel-bg-color:transparent;--ibiz-form-tab-panel-hover-text-color:var(--ibiz-color-primary);--ibiz-form-tab-panel-hover-bg-color:transparent;--ibiz-form-tab-panel-active-text-color:var(--ibiz-color-primary);--ibiz-form-tab-panel-active-bg-color:transparent;--ibiz-form-tab-panel-active-border-color:var(--ibiz-color-primary)}.ibiz-form-tab-panel>.el-tabs__header.is-top{margin-bottom:var(--ibiz-spacing-tight)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-tab-panel-font-size);color:var(--ibiz-form-tab-panel-text-color);background-color:var(--ibiz-form-tab-panel-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-tab-panel-hover-text-color);background-color:var(--ibiz-form-tab-panel-hover-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-tab-panel-active-text-color);background-color:var(--ibiz-form-tab-panel-active-bg-color)}.ibiz-form-tab-panel .el-tabs__nav-wrap::after{background-color:var(--ibiz-form-tab-panel-header-border-color)}.ibiz-form-tab-panel .el-tabs__active-bar{background-color:var(--ibiz-form-tab-panel-active-border-color)}.ibiz-form-tab-panel__badge .el-badge__content{padding:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-small);background-color:var(--ibiz-color-danger)}
@@ -14,6 +14,7 @@ export declare const FormTabPanel: import("vue").DefineComponent<{
14
14
  }, {
15
15
  ns: import("@ibiz-template/core").Namespace;
16
16
  onTabClick: (tabIns: IData, event: MouseEvent) => void;
17
+ counterData: IData;
17
18
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
19
  modelData: {
19
20
  type: PropType<IDEFormTabPanel>;
@@ -1,4 +1,4 @@
1
- import { isVNode, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { isVNode, reactive, ref, onMounted, onUnmounted, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace, useController } from '@ibiz-template/vue3-util';
3
3
  import './form-tab-panel.css';
4
4
  import { FormTabPanelController } from '@ibiz-template/runtime';
@@ -19,9 +19,14 @@ const FormTabPanel = /* @__PURE__ */ defineComponent({
19
19
  required: true
20
20
  }
21
21
  },
22
- setup(props) {
22
+ setup(props, {
23
+ slots
24
+ }) {
23
25
  const ns = useNamespace("form-tab-panel");
24
26
  useController(props.controller);
27
+ let counter = null;
28
+ const counterData = reactive({});
29
+ const counterRefId = ref("");
25
30
  const onTabClick = (tabIns, event) => {
26
31
  props.controller.onTabChange(tabIns.props.name);
27
32
  const pageC = props.controller.form.details[tabIns.props.name];
@@ -29,20 +34,51 @@ const FormTabPanel = /* @__PURE__ */ defineComponent({
29
34
  pageC.onClick(event);
30
35
  }
31
36
  };
37
+ onMounted(() => {
38
+ var _a, _b;
39
+ const defaultSlots = ((_a = slots.default) == null ? void 0 : _a.call(slots)) || [];
40
+ for (let i = 0; i < defaultSlots.length; i++) {
41
+ const slot = defaultSlots[i];
42
+ const pagePropsC = (_b = slot.props) == null ? void 0 : _b.controller;
43
+ if (pagePropsC && pagePropsC.model && pagePropsC.model.appCounterRefId) {
44
+ counterRefId.value = pagePropsC.model.appCounterRefId;
45
+ break;
46
+ }
47
+ }
48
+ if (counterRefId.value) {
49
+ counter = props.controller.getCounter(counterRefId.value);
50
+ if (counter) {
51
+ counter.onChange((data) => {
52
+ counterData.value = data;
53
+ });
54
+ }
55
+ }
56
+ });
57
+ onUnmounted(() => {
58
+ counter == null ? void 0 : counter.destroy();
59
+ });
32
60
  return {
33
61
  ns,
34
- onTabClick
62
+ onTabClick,
63
+ counterData
35
64
  };
36
65
  },
37
66
  render() {
38
67
  var _a, _b;
39
- let _slot;
68
+ let _slot2;
40
69
  const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
70
+ const renderItemText = (c) => {
71
+ return createVNode("span", {
72
+ "class": [this.ns.b("tab-item-content"), ...c.labelClass]
73
+ }, [c.model.sysImage && createVNode(resolveComponent("iBizIcon"), {
74
+ "icon": c.model.sysImage
75
+ }, null), c.model.showCaption && c.model.caption]);
76
+ };
41
77
  return createVNode(resolveComponent("el-tabs"), {
42
78
  "class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass],
43
79
  "model-value": this.controller.state.activeTab,
44
80
  "onTabClick": this.onTabClick
45
- }, _isSlot(_slot = defaultSlots.map((slot) => {
81
+ }, _isSlot(_slot2 = defaultSlots.map((slot) => {
46
82
  const props = slot.props;
47
83
  if (!props || !props.controller) {
48
84
  return slot;
@@ -59,15 +95,18 @@ const FormTabPanel = /* @__PURE__ */ defineComponent({
59
95
  }, {
60
96
  default: () => slot,
61
97
  label: () => {
62
- return createVNode("span", {
63
- "class": c.labelClass
64
- }, [c.model.sysImage && createVNode(resolveComponent("iBizIcon"), {
65
- "icon": c.model.sysImage
66
- }, null), c.model.showCaption && c.model.caption]);
98
+ let _slot;
99
+ return c.model.counterId ? createVNode(resolveComponent("el-badge"), {
100
+ "class": this.ns.e("badge"),
101
+ "value": this.counterData.value[c.model.counterId],
102
+ "hidden": !this.counterData.value[c.model.counterId] || this.counterData.value[c.model.counterId] === 0
103
+ }, _isSlot(_slot = renderItemText(c)) ? _slot : {
104
+ default: () => [_slot]
105
+ }) : renderItemText(c);
67
106
  }
68
107
  });
69
- })) ? _slot : {
70
- default: () => [_slot]
108
+ })) ? _slot2 : {
109
+ default: () => [_slot2]
71
110
  });
72
111
  }
73
112
  });
@@ -10,6 +10,7 @@ export declare const IBizFormTabPanel: import("@ibiz-template/vue3-util").TypeWi
10
10
  }, {
11
11
  ns: import("@ibiz-template/core").Namespace;
12
12
  onTabClick: (tabIns: IData, event: MouseEvent) => void;
13
+ counterData: IData;
13
14
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
15
  modelData: {
15
16
  type: import("vue").PropType<import("@ibiz/model-core").IDEFormTabPanel>;
@@ -1 +1 @@
1
- .ibiz-control-gantt{height:100%;width:100%}.ibiz-control-gantt--empty .xg-table-body{height:calc(100% - 86px)!important}.ibiz-control-gantt__slider{height:100%;padding:0 12px;border-radius:4px}.ibiz-control-gantt__slider--container-title .icon{margin-right:6px}.ibiz-control-gantt__slider--container-title .number{display:flex;align-items:center}.ibiz-control-gantt__slider--container-title .caption{font-size:16px;font-weight:400;margin:8px}.ibiz-control-gantt__slider--container-content{display:flex;justify-content:space-between}.ibiz-control-gantt__slider--container-content .caption{margin:4px;color:var(--ibiz-color-disabled-text)}.ibiz-control-gantt__slider--container-content .detail{flex-grow:1;display:flex;flex-direction:column;align-items:center}.ibiz-control-gantt .ibiz-tree-grid-ex-field-column-text-container{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
1
+ .ibiz-control-gantt{width:100%;height:100%}.ibiz-control-gantt .xg-root .xg-table-body .xg-table-row{cursor:pointer}.ibiz-control-gantt .xg-root .xg-table-body .xg-table-row .xg-table-cell:not(:first-child)>div{padding:0}.ibiz-control-gantt .xg-root .xg-table-cell>div{width:100%}.ibiz-control-gantt .xg-root .xg-table-cell>div .cell{height:100%}.ibiz-control-gantt--empty .xg-table-body{height:calc(100% - 86px)!important}.ibiz-control-gantt__slider{height:100%;padding:0 12px;cursor:pointer;border-radius:4px}.ibiz-control-gantt__slider--container-title .icon{margin-right:6px}.ibiz-control-gantt__slider--container-title .number{display:flex;align-items:center}.ibiz-control-gantt__slider--container-title .caption{margin:8px;font-size:16px;font-weight:400}.ibiz-control-gantt__slider--container-content{display:flex;justify-content:space-between}.ibiz-control-gantt__slider--container-content .caption{margin:4px;color:var(--ibiz-color-disabled-text)}.ibiz-control-gantt__slider--container-content .detail{display:flex;flex-direction:column;flex-grow:1;align-items:center}.ibiz-control-gantt .ibiz-tree-grid-ex-field-column--ellipsis .ibiz-tree-grid-ex-field-column-text-container{min-width:0}.ibiz-control-gantt .ibiz-tree-grid-ex-field-column-toolbar-container{flex-shrink:0}.ibiz-control-gantt .ibiz-tree-grid-ex-edit-column__editor{min-height:32px}
@@ -266,7 +266,6 @@ const GanttControl = /* @__PURE__ */ defineComponent({
266
266
  "label": caption,
267
267
  "prop": codeName,
268
268
  "width": width && width > 30 ? width : 30,
269
- "ellipsis": true,
270
269
  "center": (align == null ? void 0 : align.toLowerCase()) === "center"
271
270
  }, {
272
271
  title: ({
@@ -357,6 +356,8 @@ const GanttControl = /* @__PURE__ */ defineComponent({
357
356
  "style": {
358
357
  background: sliderColor.value[row._nodeId]
359
358
  },
359
+ "onClick": (evt) => onNodeClick(row, evt),
360
+ "onDblclick": () => onNodeDbClick(row),
360
361
  "onContextmenu": (evt) => onNodeContextmenu(row, evt)
361
362
  }, null);
362
363
  },