@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
@@ -19,6 +19,7 @@ export declare const IBizSearchBarControl: import("@ibiz-template/vue3-util").Ty
19
19
  ns: import("@ibiz-template/core").Namespace;
20
20
  cssVars: import("vue").ComputedRef<Record<string, string>>;
21
21
  filterButtonRef: import("vue").Ref<any>;
22
+ onClear: () => void;
22
23
  onSearch: () => void;
23
24
  onKeydown: (e: KeyboardEvent) => void;
24
25
  onGroupClick: (item: import("@ibiz/model-core").ISearchBarGroup) => void;
@@ -23,6 +23,7 @@ export declare const SearchBarControl: import("vue").DefineComponent<{
23
23
  ns: import("@ibiz-template/core").Namespace;
24
24
  cssVars: import("vue").ComputedRef<Record<string, string>>;
25
25
  filterButtonRef: import("vue").Ref<any>;
26
+ onClear: () => void;
26
27
  onSearch: () => void;
27
28
  onKeydown: (e: KeyboardEvent) => void;
28
29
  onGroupClick: (item: ISearchBarGroup) => void;
@@ -27,9 +27,17 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
27
27
  var _a;
28
28
  const c = useControlController((...args) => new SearchBarController(...args));
29
29
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
30
+ let isSearch = false;
30
31
  const onSearch = () => {
32
+ isSearch = true;
31
33
  c.onSearch();
32
34
  };
35
+ const onClear = () => {
36
+ if (isSearch === true) {
37
+ isSearch = false;
38
+ c.onSearch();
39
+ }
40
+ };
33
41
  const onKeydown = (e) => {
34
42
  if (e.code === "Enter") {
35
43
  onSearch();
@@ -91,6 +99,7 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
91
99
  ns,
92
100
  cssVars,
93
101
  filterButtonRef,
102
+ onClear,
94
103
  onSearch,
95
104
  onKeydown,
96
105
  onGroupClick,
@@ -131,6 +140,7 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
131
140
  "placeholder": this.c.placeHolder,
132
141
  "clearable": true,
133
142
  "onKeydown": this.onKeydown,
143
+ "onClear": this.onClear,
134
144
  "suffix-icon": createVNode("ion-icon", {
135
145
  "onClick": this.onSearch,
136
146
  "class": this.ns.e("search-icon"),
@@ -1,5 +1,5 @@
1
1
  import { isVNode, watch, resolveComponent, createVNode, defineComponent } from 'vue';
2
- import { useControlController, useNamespace, route2routePath } from '@ibiz-template/vue3-util';
2
+ import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
3
3
  import './tab-exp-panel.css';
4
4
  import { TabExpPanelController } from '@ibiz-template/runtime';
5
5
  import { useRoute } from 'vue-router';
@@ -40,17 +40,24 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
40
40
  };
41
41
  const tabPosition = ((_a = c.view.model.tabLayout) == null ? void 0 : _a.toLowerCase()) || "top";
42
42
  const route = useRoute();
43
+ let expViewRoutePath = "";
44
+ if (c.routeDepth) {
45
+ expViewRoutePath = getNestedRoutePath(route, c.routeDepth);
46
+ }
43
47
  watch(() => route.fullPath, (newVal, oldVal) => {
44
48
  if (newVal !== oldVal) {
45
- const depth = c.view.modal.routeDepth;
49
+ const depth = c.routeDepth;
46
50
  if (depth) {
47
- const routePath = route2routePath(route);
48
- const {
49
- srfnav
50
- } = routePath.pathNodes[depth - 1];
51
- if (c.view.isActive && srfnav && c.state.activeName && c.state.activeName !== srfnav) {
52
- c.state.activeName = srfnav;
53
- c.handleTabChange();
51
+ const currentRoutePath = getNestedRoutePath(route, c.routeDepth);
52
+ if (currentRoutePath === expViewRoutePath) {
53
+ const routePath = route2routePath(route);
54
+ const {
55
+ srfnav
56
+ } = routePath.pathNodes[depth - 1];
57
+ if (srfnav && c.state.activeName && c.state.activeName !== srfnav) {
58
+ c.state.activeName = srfnav;
59
+ c.handleTabChange();
60
+ }
54
61
  }
55
62
  }
56
63
  }
@@ -0,0 +1,10 @@
1
+ import { EditorController } from '@ibiz-template/runtime';
2
+ import { IFileUploader } from '@ibiz/model-core';
3
+ /**
4
+ * 轮播图控制器
5
+ * @return {*}
6
+ * @author: zhujiamin
7
+ * @Date: 2022-08-25 10:57:58
8
+ */
9
+ export declare class CarouselEditorController extends EditorController<IFileUploader> {
10
+ }
@@ -0,0 +1,7 @@
1
+ import { EditorController } from '@ibiz-template/runtime';
2
+
3
+ "use strict";
4
+ class CarouselEditorController extends EditorController {
5
+ }
6
+
7
+ export { CarouselEditorController };
@@ -0,0 +1,17 @@
1
+ import { IEditorContainerController, IEditorProvider } from '@ibiz-template/runtime';
2
+ import { IFileUploader } from '@ibiz/model-core';
3
+ import { CarouselEditorController } from './carousel-editor.controller';
4
+ /**
5
+ * 轮播图适配器
6
+ *
7
+ * @author lxm
8
+ * @date 2022-09-19 22:09:03
9
+ * @export
10
+ * @class CarouselEditorProvider
11
+ * @implements {EditorProvider}
12
+ */
13
+ export declare class CarouselEditorProvider implements IEditorProvider {
14
+ formEditor: string;
15
+ gridEditor: string;
16
+ createController(editorModel: IFileUploader, parentController: IEditorContainerController): Promise<CarouselEditorController>;
17
+ }
@@ -0,0 +1,22 @@
1
+ import { CarouselEditorController } from './carousel-editor.controller.mjs';
2
+
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => {
7
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
+ return value;
9
+ };
10
+ class CarouselEditorProvider {
11
+ constructor() {
12
+ __publicField(this, "formEditor", "IBizCarousel");
13
+ __publicField(this, "gridEditor", "IBizCarousel");
14
+ }
15
+ async createController(editorModel, parentController) {
16
+ const c = new CarouselEditorController(editorModel, parentController);
17
+ await c.init();
18
+ return c;
19
+ }
20
+ }
21
+
22
+ export { CarouselEditorProvider };
@@ -0,0 +1,76 @@
1
+ import { Ref } from 'vue';
2
+ import './ibiz-carousel.scss';
3
+ import { CarouselEditorController } from '../carousel-editor.controller';
4
+ export declare const IBizCarousel: import("vue").DefineComponent<{
5
+ value: (StringConstructor | NumberConstructor)[];
6
+ controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<CarouselEditorController>, undefined, undefined>;
7
+ data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
8
+ disabled: {
9
+ type: BooleanConstructor;
10
+ };
11
+ readonly: {
12
+ type: BooleanConstructor;
13
+ default: boolean;
14
+ };
15
+ autoFocus: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
19
+ overflowMode: {
20
+ type: StringConstructor;
21
+ };
22
+ controlParams: {
23
+ type: ObjectConstructor;
24
+ required: boolean;
25
+ };
26
+ }, {
27
+ ns: import("@ibiz-template/core").Namespace;
28
+ c: CarouselEditorController;
29
+ editorModel: import("@ibiz/model-core").IFileUploader;
30
+ downloadUrl: Ref<string>;
31
+ carouselData: Ref<{
32
+ id: string;
33
+ name: string;
34
+ imgUrl?: string | undefined;
35
+ }[]>;
36
+ isAuto: Ref<boolean>;
37
+ timeSpan: Ref<number>;
38
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
+ change: (_value: unknown, _name?: string | undefined) => boolean;
40
+ blur: (_event?: IData | undefined) => boolean;
41
+ focus: (_event?: IData | undefined) => boolean;
42
+ enter: (_event?: IData | undefined) => boolean;
43
+ infoTextChange: (_text: string) => boolean;
44
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
45
+ value: (StringConstructor | NumberConstructor)[];
46
+ controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<CarouselEditorController>, undefined, undefined>;
47
+ data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
48
+ disabled: {
49
+ type: BooleanConstructor;
50
+ };
51
+ readonly: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
55
+ autoFocus: {
56
+ type: BooleanConstructor;
57
+ default: boolean;
58
+ };
59
+ overflowMode: {
60
+ type: StringConstructor;
61
+ };
62
+ controlParams: {
63
+ type: ObjectConstructor;
64
+ required: boolean;
65
+ };
66
+ }>> & {
67
+ onFocus?: ((_event?: IData | undefined) => any) | undefined;
68
+ onBlur?: ((_event?: IData | undefined) => any) | undefined;
69
+ onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
70
+ onInfoTextChange?: ((_text: string) => any) | undefined;
71
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
72
+ }, {
73
+ disabled: boolean;
74
+ autoFocus: boolean;
75
+ readonly: boolean;
76
+ }, {}>;
@@ -0,0 +1,64 @@
1
+ import { ref, watch, resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { getDatePickerProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
+ import './ibiz-carousel.css';
4
+
5
+ "use strict";
6
+ const IBizCarousel = /* @__PURE__ */ defineComponent({
7
+ name: "IBizCarousel",
8
+ props: getDatePickerProps(),
9
+ emits: getEditorEmits(),
10
+ setup(props) {
11
+ const ns = useNamespace("carousel");
12
+ const c = props.controller;
13
+ const editorModel = c.model;
14
+ const carouselData = ref([]);
15
+ const isAuto = ref(true);
16
+ const timeSpan = ref(3e3);
17
+ const downloadUrl = ref("");
18
+ watch(() => props.value, (newVal) => {
19
+ if (typeof newVal === "string") {
20
+ carouselData.value = !newVal ? [] : JSON.parse(newVal);
21
+ }
22
+ }, {
23
+ immediate: true
24
+ });
25
+ watch(() => props.data, (newVal) => {
26
+ if (newVal) {
27
+ const urls = ibiz.util.file.calcFileUpDownUrl(c.context, c.params, newVal, c.editorParams);
28
+ downloadUrl.value = urls.downloadUrl;
29
+ }
30
+ }, {
31
+ immediate: true,
32
+ deep: true
33
+ });
34
+ watch(carouselData, (newVal) => {
35
+ if ((newVal == null ? void 0 : newVal.length) && downloadUrl.value) {
36
+ newVal.forEach((carousel) => {
37
+ carousel.imgUrl = carousel.imgUrl || downloadUrl.value.replace("%fileId%", carousel.id);
38
+ });
39
+ }
40
+ }, {
41
+ immediate: true
42
+ });
43
+ return {
44
+ ns,
45
+ c,
46
+ editorModel,
47
+ downloadUrl,
48
+ carouselData,
49
+ isAuto,
50
+ timeSpan
51
+ };
52
+ },
53
+ render() {
54
+ return createVNode("div", {
55
+ "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.e(this.editorModel.editorType)]
56
+ }, [createVNode(resolveComponent("iBizCarouselComponent"), {
57
+ "carouselData": this.carouselData,
58
+ "isAuto": this.isAuto,
59
+ "timeSpan": this.timeSpan
60
+ }, null)]);
61
+ }
62
+ });
63
+
64
+ export { IBizCarousel };
@@ -0,0 +1,3 @@
1
+ export { IBizCarousel } from './ibiz-carousel/ibiz-carousel';
2
+ export * from './carousel-editor.controller';
3
+ export * from './carousel-editor.provider';
@@ -0,0 +1,5 @@
1
+ export { IBizCarousel } from './ibiz-carousel/ibiz-carousel.mjs';
2
+ export { CarouselEditorController } from './carousel-editor.controller.mjs';
3
+ export { CarouselEditorProvider } from './carousel-editor.provider.mjs';
4
+
5
+ "use strict";
@@ -198,6 +198,25 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
198
198
  };
199
199
  },
200
200
  render() {
201
+ const itemContent = (item) => {
202
+ var _a;
203
+ const panel = (_a = this.c.deACMode) == null ? void 0 : _a.itemLayoutPanel;
204
+ const {
205
+ context,
206
+ params
207
+ } = this.c;
208
+ return panel ? createVNode(resolveComponent("iBizControlShell"), {
209
+ "data": item,
210
+ "modelData": panel,
211
+ "context": context,
212
+ "params": params
213
+ }, null) : createVNode("div", {
214
+ "class": this.ns.e("transfer-item"),
215
+ "onClick": () => {
216
+ this.onACSelect(item);
217
+ }
218
+ }, [item[this.c.textName]]);
219
+ };
201
220
  const editContent = this.c.noAC ? createVNode(resolveComponent("el-input"), {
202
221
  "ref": "editorRef",
203
222
  "class": [this.ns.b("input")],
@@ -250,12 +269,7 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
250
269
  if (this.$slots.append) {
251
270
  return this.$slots.append({});
252
271
  }
253
- return createVNode("div", {
254
- "class": this.ns.e("transfer-item"),
255
- "onClick": () => {
256
- this.onACSelect(item);
257
- }
258
- }, [item[this.c.textName]]);
272
+ return itemContent(item);
259
273
  },
260
274
  suffix: () => {
261
275
  if (this.c.noButton) {
@@ -31,6 +31,7 @@ export declare const IBizPickerEmbedView: import("vue").DefineComponent<{
31
31
  [x: symbol]: any;
32
32
  srfsessionid: string;
33
33
  srfappid: string;
34
+ srfsimple?: boolean | undefined;
34
35
  }>;
35
36
  params: import("vue").Ref<IParams>;
36
37
  onSelectionChange: (event: EventBase) => void;
@@ -26,6 +26,7 @@ import './array/index.mjs';
26
26
  import './cascader/index.mjs';
27
27
  import './color-picker/index.mjs';
28
28
  import './preset/index.mjs';
29
+ import './carousel/index.mjs';
29
30
  import './user/ibiz-searchcond-edit/index.mjs';
30
31
  import { IBizSpan } from './span/span/span.mjs';
31
32
  import { IBizSpanLink } from './span/span-link/span-link.mjs';
@@ -61,6 +62,7 @@ import { IBizCascader } from './cascader/ibiz-cascader/ibiz-cascader.mjs';
61
62
  import { IBizColorPicker } from './color-picker/ibiz-color-picker/ibiz-color-picker.mjs';
62
63
  import { IBizPresetRawitem } from './preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.mjs';
63
64
  import { IBizSearchCondEdit } from './user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs';
65
+ import { IBizCarousel } from './carousel/ibiz-carousel/ibiz-carousel.mjs';
64
66
  import { SpanEditorProvider } from './span/span-editor.provider.mjs';
65
67
  import { TextBoxEditorProvider } from './text-box/text-box-editor.provider.mjs';
66
68
  import { DropDownListEditorProvider } from './dropdown-list/dropdown-list-editor.provider.mjs';
@@ -86,6 +88,7 @@ import { ArrayEditorProvider } from './array/array-editor.provider.mjs';
86
88
  import { CascaderEditorProvider } from './cascader/cascader-editor.provider.mjs';
87
89
  import { ColorPickerEditorProvider } from './color-picker/color-picker-editor.provider.mjs';
88
90
  import { SearchCondEditEditorProvider } from './user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.mjs';
91
+ import { CarouselEditorProvider } from './carousel/carousel-editor.provider.mjs';
89
92
 
90
93
  "use strict";
91
94
  const IBizEditor = {
@@ -125,6 +128,7 @@ const IBizEditor = {
125
128
  v.component(IBizColorPicker.name, IBizColorPicker);
126
129
  v.component(IBizPresetRawitem.name, IBizPresetRawitem);
127
130
  v.component(IBizSearchCondEdit.name, IBizSearchCondEdit);
131
+ v.component(IBizCarousel.name, IBizCarousel);
128
132
  v.component(
129
133
  "IBizHtml",
130
134
  defineAsyncComponent(() => import('./html/wang-editor/wang-editor.mjs'))
@@ -363,6 +367,10 @@ const IBizEditor = {
363
367
  "AUTH_PASSWORD_PASSWORD",
364
368
  () => textBoxEditorProvider
365
369
  );
370
+ registerEditorProvider(
371
+ "FIELD_CAROUSEL_PICTURE",
372
+ () => new CarouselEditorProvider()
373
+ );
366
374
  }
367
375
  };
368
376
 
@@ -17,6 +17,7 @@ import { IBizIndexActions } from './index-actions/index.mjs';
17
17
  import { IBizUserMessage } from './user-message/index.mjs';
18
18
  import { IBizSearchFormButtons } from './searchform-buttons/index.mjs';
19
19
  import { IBizViewMessage } from './view-message/index.mjs';
20
+ import { IBizPanelStaticCarousel } from './panel-static-carousel/index.mjs';
20
21
  export { NavPosIndexState } from './nav-pos-index/nav-pos-index.state.mjs';
21
22
  export { NavPosIndexController } from './nav-pos-index/nav-pos-index.controller.mjs';
22
23
  export { PanelButtonController } from './panel-button/panel-button.controller.mjs';
@@ -57,6 +58,7 @@ const IBizPanelComponents = {
57
58
  v.use(IBizSearchFormButtons);
58
59
  v.use(IBizPanelItemRender);
59
60
  v.use(IBizViewMessage);
61
+ v.use(IBizPanelStaticCarousel);
60
62
  }
61
63
  };
62
64
 
@@ -0,0 +1,31 @@
1
+ export declare const IBizPanelStaticCarousel: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
2
+ modelData: {
3
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
4
+ required: true;
5
+ };
6
+ controller: {
7
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
8
+ required: true;
9
+ };
10
+ }, {
11
+ ns: import("@ibiz-template/core").Namespace;
12
+ carouselData: import("vue").Ref<{
13
+ id?: string | undefined;
14
+ name?: string | undefined;
15
+ imgUrl?: string | undefined;
16
+ linkPath?: string | undefined;
17
+ cssClass?: string | undefined;
18
+ }[]>;
19
+ isAuto: import("vue").Ref<boolean>;
20
+ timeSpan: import("vue").Ref<number>;
21
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
22
+ modelData: {
23
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
24
+ required: true;
25
+ };
26
+ controller: {
27
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
28
+ required: true;
29
+ };
30
+ }>>, {}, {}>>;
31
+ export default IBizPanelStaticCarousel;
@@ -0,0 +1,18 @@
1
+ import { withInstall } from '@ibiz-template/vue3-util';
2
+ import { registerPanelItemProvider } from '@ibiz-template/runtime';
3
+ import { PanelStaticCarousel } from './panel-static-carousel.mjs';
4
+ import { PanelStaticCarouselProvider } from './panel-static-carousel.provider.mjs';
5
+
6
+ "use strict";
7
+ const IBizPanelStaticCarousel = withInstall(
8
+ PanelStaticCarousel,
9
+ function(v) {
10
+ v.component(PanelStaticCarousel.name, PanelStaticCarousel);
11
+ registerPanelItemProvider(
12
+ "RAWITEM_STATIC_CAROUSEL",
13
+ () => new PanelStaticCarouselProvider()
14
+ );
15
+ }
16
+ );
17
+
18
+ export { IBizPanelStaticCarousel, IBizPanelStaticCarousel as default };
@@ -0,0 +1,34 @@
1
+ import { PanelItemController } from '@ibiz-template/runtime';
2
+ import { IPanelRawItem } from '@ibiz/model-core';
3
+ import { PropType, Ref } from 'vue';
4
+ import './panel-static-carousel.scss';
5
+ export declare const PanelStaticCarousel: import("vue").DefineComponent<{
6
+ modelData: {
7
+ type: PropType<IPanelRawItem>;
8
+ required: true;
9
+ };
10
+ controller: {
11
+ type: typeof PanelItemController;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ carouselData: Ref<{
17
+ id?: string | undefined;
18
+ name?: string | undefined;
19
+ imgUrl?: string | undefined;
20
+ linkPath?: string | undefined;
21
+ cssClass?: string | undefined;
22
+ }[]>;
23
+ isAuto: Ref<boolean>;
24
+ timeSpan: 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
+ modelData: {
27
+ type: PropType<IPanelRawItem>;
28
+ required: true;
29
+ };
30
+ controller: {
31
+ type: typeof PanelItemController;
32
+ required: true;
33
+ };
34
+ }>>, {}, {}>;
@@ -0,0 +1,80 @@
1
+ import { ref, resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { PanelItemController } from '@ibiz-template/runtime';
3
+ import { useNamespace } from '@ibiz-template/vue3-util';
4
+ import './panel-static-carousel.css';
5
+
6
+ "use strict";
7
+ const PanelStaticCarousel = /* @__PURE__ */ defineComponent({
8
+ name: "IBizPanelStaticCarousel",
9
+ props: {
10
+ modelData: {
11
+ type: Object,
12
+ required: true
13
+ },
14
+ controller: {
15
+ type: PanelItemController,
16
+ required: true
17
+ }
18
+ },
19
+ setup(props) {
20
+ var _a;
21
+ const ns = useNamespace("panel-static-carousel");
22
+ const model = props.modelData;
23
+ const carouselData = ref([]);
24
+ const isAuto = ref(true);
25
+ const timeSpan = ref(3e3);
26
+ const getSwipeConfig = (swipeData) => {
27
+ const autoPlay = swipeData.find((item) => Object.is(item.key, "autoplay"));
28
+ if (autoPlay) {
29
+ isAuto.value = !!Object.is(autoPlay.value, "1");
30
+ }
31
+ const span = swipeData.find((item) => Object.is(item.key, "timespan"));
32
+ if (span) {
33
+ timeSpan.value = Number(span.value) || 0;
34
+ }
35
+ };
36
+ if ((_a = model.rawItem) == null ? void 0 : _a.rawItemParams) {
37
+ let swipeData = [];
38
+ const imgData = model.rawItem.rawItemParams;
39
+ const configItem = imgData.findIndex((item) => Object.is(item.key, "autoplay"));
40
+ if (configItem > -1) {
41
+ swipeData = imgData.slice(0, -2);
42
+ getSwipeConfig(imgData.slice(-2));
43
+ } else {
44
+ swipeData = imgData;
45
+ getSwipeConfig(imgData);
46
+ }
47
+ carouselData.value = swipeData.map((item) => {
48
+ const {
49
+ id,
50
+ key,
51
+ sysImage
52
+ } = item;
53
+ return {
54
+ id,
55
+ name: key,
56
+ imgUrl: sysImage == null ? void 0 : sysImage.imagePath,
57
+ cssClass: sysImage == null ? void 0 : sysImage.cssClass,
58
+ linkPath: item.linkPath
59
+ };
60
+ });
61
+ }
62
+ return {
63
+ ns,
64
+ carouselData,
65
+ isAuto,
66
+ timeSpan
67
+ };
68
+ },
69
+ render() {
70
+ return createVNode("div", {
71
+ "class": this.ns.b()
72
+ }, [createVNode(resolveComponent("iBizCarouselComponent"), {
73
+ "carouselData": this.carouselData,
74
+ "isAuto": this.isAuto,
75
+ "timeSpan": this.timeSpan
76
+ }, null)]);
77
+ }
78
+ });
79
+
80
+ export { PanelStaticCarousel };
@@ -0,0 +1,15 @@
1
+ import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
2
+ import { IPanelRawItem } from '@ibiz/model-core';
3
+ /**
4
+ * 面板静态轮播图适配器
5
+ *
6
+ * @author lxm
7
+ * @date 2022-09-19 22:09:03
8
+ * @export
9
+ * @class PanelStaticCarouselProvider
10
+ * @implements {EditorProvider}
11
+ */
12
+ export declare class PanelStaticCarouselProvider implements IPanelItemProvider {
13
+ component: string;
14
+ createController(panelItem: IPanelRawItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelItemController>;
15
+ }
@@ -0,0 +1,21 @@
1
+ import { PanelItemController } from '@ibiz-template/runtime';
2
+
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => {
7
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
+ return value;
9
+ };
10
+ class PanelStaticCarouselProvider {
11
+ constructor() {
12
+ __publicField(this, "component", "IBizPanelStaticCarousel");
13
+ }
14
+ async createController(panelItem, panel, parent) {
15
+ const c = new PanelItemController(panelItem, panel, parent);
16
+ await c.init();
17
+ return c;
18
+ }
19
+ }
20
+
21
+ export { PanelStaticCarouselProvider };
@@ -4,7 +4,7 @@ export declare const IBizUserMessage: import("@ibiz-template/vue3-util").TypeWit
4
4
  required: true;
5
5
  };
6
6
  controller: {
7
- type: typeof import("@ibiz-template/runtime").PanelItemController;
7
+ type: import("vue").PropType<import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>>;
8
8
  required: true;
9
9
  };
10
10
  }, {
@@ -26,7 +26,7 @@ export declare const IBizUserMessage: import("@ibiz-template/vue3-util").TypeWit
26
26
  required: true;
27
27
  };
28
28
  controller: {
29
- type: typeof import("@ibiz-template/runtime").PanelItemController;
29
+ type: import("vue").PropType<import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>>;
30
30
  required: true;
31
31
  };
32
32
  }>>, {}, {}>>;
@@ -1 +1 @@
1
- .ibiz-internal-message-container{position:relative}.ibiz-internal-message-container--clickable{cursor:pointer}.ibiz-internal-message-container:hover .ibiz-internal-message-container-toolbar{display:block}.ibiz-internal-message-container__unread-tag{position:absolute;top:8px;right:8px;display:none;align-self:flex-start;width:10px;height:10px;background-color:var(--ibiz-color-danger);border-radius:50%}.ibiz-internal-message-container--unread .ibiz-internal-message-container__unread-tag{display:block}.ibiz-internal-message-container--unread:hover .ibiz-internal-message-container__unread-tag{display:none}.ibiz-internal-message-container-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-container-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-container-toolbar__button:hover{color:var(--ibiz-color-primary)}
1
+ .ibiz-internal-message-container{position:relative}.ibiz-internal-message-container--clickable{cursor:pointer}.ibiz-internal-message-container:hover .ibiz-internal-message-container-toolbar{display:block}.ibiz-internal-message-container__unread-tag{position:absolute;top:8px;right:8px;display:none;align-self:flex-start;width:10px;height:10px;background-color:var(--ibiz-color-danger);border-radius:50%}.ibiz-internal-message-container__click-tag{position:absolute;top:50%;right:4px;font-size:18px;transform:translateY(-50%)}.ibiz-internal-message-container--unread .ibiz-internal-message-container__unread-tag{display:block}.ibiz-internal-message-container--unread:hover .ibiz-internal-message-container__unread-tag{display:none}.ibiz-internal-message-container-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-container-toolbar__button{margin-left:10px;cursor:pointer}.ibiz-internal-message-container-toolbar__button:hover{color:var(--ibiz-color-primary)}