@ibiz-template/mob-vue3-components 0.7.41-alpha.13 → 0.7.41-alpha.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/{index-OsiEgFnw.js → index-5DjmQP8W.js} +2 -2
  2. package/dist/index-5DjmQP8W.js.map +1 -0
  3. package/dist/index-fAu1z4L0.js +2 -0
  4. package/dist/index-fAu1z4L0.js.map +1 -0
  5. package/dist/index-yjjy8EQH.js +76 -0
  6. package/dist/index-yjjy8EQH.js.map +1 -0
  7. package/dist/index.min.css +4 -4
  8. package/dist/index.system.min.js +1 -1
  9. package/dist/{quill-editor-VqApoQJq.js → quill-editor-6a0LLTGQ.js} +2 -2
  10. package/dist/{quill-editor-VqApoQJq.js.map → quill-editor-6a0LLTGQ.js.map} +1 -1
  11. package/dist/{quill-editor-preview-G0MpMJzC.js → quill-editor-preview-PFiM-IPE.js} +2 -2
  12. package/dist/{quill-editor-preview-G0MpMJzC.js.map → quill-editor-preview-PFiM-IPE.js.map} +1 -1
  13. package/dist/{quill-wfN-3C_3.js → quill-n54HJUg2.js} +2 -2
  14. package/dist/{quill-wfN-3C_3.js.map → quill-n54HJUg2.js.map} +1 -1
  15. package/dist/tree-4CqtwsXL.js +2 -0
  16. package/dist/tree-4CqtwsXL.js.map +1 -0
  17. package/es/common/action-group/action-group.css +1 -0
  18. package/es/common/action-group/action-group.d.ts +55 -0
  19. package/es/common/action-group/action-group.mjs +174 -0
  20. package/es/common/action-toolbar/action-toolbar.d.ts +1 -0
  21. package/es/common/action-toolbar/action-toolbar.mjs +20 -8
  22. package/es/common/button-list/button-list.css +1 -1
  23. package/es/common/button-list/button-list.d.ts +3 -2
  24. package/es/common/button-list/button-list.mjs +83 -63
  25. package/es/common/index.mjs +2 -0
  26. package/es/common/rawitem/rawitem.mjs +2 -2
  27. package/es/control/list/md-ctrl/md-ctrl.mjs +13 -15
  28. package/es/control/tab-exp-panel/index.d.ts +1 -0
  29. package/es/control/tab-exp-panel/tab-exp-panel.css +1 -0
  30. package/es/control/tab-exp-panel/tab-exp-panel.d.ts +2 -0
  31. package/es/control/tab-exp-panel/tab-exp-panel.mjs +28 -1
  32. package/es/control/tree/tree.css +1 -1
  33. package/es/control/tree/tree.d.ts +15 -0
  34. package/es/control/tree/tree.mjs +14 -2
  35. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.d.ts +5 -7
  36. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.mjs +18 -0
  37. package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +2 -1
  38. package/es/editor/rate/ibiz-rate/ibiz-rate.mjs +3 -0
  39. package/es/editor/raw/ibiz-raw/ibiz-raw.d.ts +2 -2
  40. package/es/editor/span/span/span.d.ts +5 -3
  41. package/es/editor/span/span/span.mjs +5 -5
  42. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +4 -3
  43. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.mjs +9 -0
  44. package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +1 -0
  45. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +2 -1
  46. package/es/editor/text-box/input/input.d.ts +2 -0
  47. package/es/editor/upload/upload-editor.controller.d.ts +23 -2
  48. package/es/editor/upload/upload-editor.controller.mjs +46 -15
  49. package/es/editor/upload/use/use-van-upload.mjs +35 -3
  50. package/es/locale/en/index.d.ts +2 -0
  51. package/es/locale/en/index.mjs +2 -1
  52. package/es/locale/zh-CN/index.d.ts +2 -0
  53. package/es/locale/zh-CN/index.mjs +2 -1
  54. package/es/panel-component/panel-button-list/panel-button-list.controller.d.ts +1 -1
  55. package/es/panel-component/panel-button-list/panel-button-list.controller.mjs +19 -18
  56. package/es/util/store/view-stack/view-stack.mjs +11 -1
  57. package/lib/common/action-group/action-group.cjs +176 -0
  58. package/lib/common/action-group/action-group.css +1 -0
  59. package/lib/common/action-toolbar/action-toolbar.cjs +20 -8
  60. package/lib/common/button-list/button-list.cjs +82 -62
  61. package/lib/common/button-list/button-list.css +1 -1
  62. package/lib/common/index.cjs +2 -0
  63. package/lib/common/rawitem/rawitem.cjs +2 -2
  64. package/lib/control/list/md-ctrl/md-ctrl.cjs +12 -14
  65. package/lib/control/tab-exp-panel/tab-exp-panel.cjs +27 -0
  66. package/lib/control/tab-exp-panel/tab-exp-panel.css +1 -0
  67. package/lib/control/tree/tree.cjs +14 -2
  68. package/lib/control/tree/tree.css +1 -1
  69. package/lib/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.cjs +18 -0
  70. package/lib/editor/rate/ibiz-rate/ibiz-rate.cjs +3 -0
  71. package/lib/editor/span/span/span.cjs +5 -5
  72. package/lib/editor/stepper/ibiz-stepper/ibiz-stepper.cjs +9 -0
  73. package/lib/editor/upload/upload-editor.controller.cjs +46 -15
  74. package/lib/editor/upload/use/use-van-upload.cjs +35 -3
  75. package/lib/locale/en/index.cjs +2 -1
  76. package/lib/locale/zh-CN/index.cjs +2 -1
  77. package/lib/panel-component/panel-button-list/panel-button-list.controller.cjs +18 -17
  78. package/lib/util/store/view-stack/view-stack.cjs +11 -1
  79. package/package.json +6 -6
  80. package/dist/index-JSf84k9b.js +0 -2
  81. package/dist/index-JSf84k9b.js.map +0 -1
  82. package/dist/index-OsiEgFnw.js.map +0 -1
  83. package/dist/index-TTGYeV0q.js +0 -76
  84. package/dist/index-TTGYeV0q.js.map +0 -1
  85. package/dist/tree-nburezSg.js +0 -2
  86. package/dist/tree-nburezSg.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { ref, computed, resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { debounce } from 'lodash-es';
4
- import { MDCtrlController } from '@ibiz-template/runtime';
4
+ import { MDCtrlController, getAllUIActionItems } from '@ibiz-template/runtime';
5
5
  import { useListRender } from '../list-render-util.mjs';
6
6
  import '../../../util/index.mjs';
7
7
  import './md-ctrl.css';
@@ -147,24 +147,22 @@ const MDCtrlControl = /* @__PURE__ */ defineComponent({
147
147
  const leftSlidingActionGroup = c.model.deuiactionGroup;
148
148
  const rightSlidingActionGroup = c.model.deuiactionGroup2;
149
149
  const renderSlidingActionGroup = (group, data) => {
150
- const groupDetails = group.uiactionGroupDetails || [];
151
- if (!groupDetails || groupDetails.length === 0) {
150
+ const groupDetails = getAllUIActionItems(group.uiactionGroupDetails);
151
+ if (!groupDetails || groupDetails.length === 0)
152
152
  return null;
153
- }
154
153
  const row = c.state.rows.find((rowData) => data.srfkey === rowData.data.srfkey);
155
154
  const btnContainer = row.uaColStates[group.id];
156
155
  return groupDetails.map((detail) => {
157
- const btn = btnContainer[detail.id];
158
- if (btn.visible === false) {
159
- return null;
160
- }
161
- return createVNode(resolveComponent("van-button"), {
162
- "square": true,
163
- "type": "primary",
164
- "text": detail.caption,
165
- "disabled": btn.disabled || btn.loading,
166
- "onClick": (e) => c.onActionClick(detail, row, e)
167
- }, null);
156
+ const btn = btnContainer == null ? void 0 : btnContainer[detail.id];
157
+ if (btn == null ? void 0 : btn.visible)
158
+ return createVNode(resolveComponent("van-button"), {
159
+ "square": true,
160
+ "type": "primary",
161
+ "text": detail.caption,
162
+ "disabled": btn.disabled || btn.loading,
163
+ "onClick": (e) => c.onActionClick(detail, row, e)
164
+ }, null);
165
+ return null;
168
166
  });
169
167
  };
170
168
  const renderDefaultItem = (data) => {
@@ -22,6 +22,7 @@ export declare const IBizTabExpPanelControl: import("@ibiz-template/vue3-util").
22
22
  }, {
23
23
  c: import("@ibiz-template/runtime").TabExpPanelController;
24
24
  ns: import("@ibiz-template/core").Namespace;
25
+ tabPosition: string;
25
26
  onTabChange: (value: string) => void;
26
27
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
28
  modelData: {
@@ -0,0 +1 @@
1
+ .ibiz-control-tabexppanel-tab-item-header{padding:.5rem 1rem;overflow:hidden;font-size:var(--ibiz-font-size-regular);line-height:var(--van-cell-line-height);color:var(--ibiz-color-text-2);text-overflow:ellipsis;white-space:nowrap;background:var(--ibiz-color-bg-0)}
@@ -1,6 +1,7 @@
1
1
  import { PropType } from 'vue';
2
2
  import { ITabExpPanel } from '@ibiz/model-core';
3
3
  import { IControlProvider, TabExpPanelController } from '@ibiz-template/runtime';
4
+ import './tab-exp-panel.scss';
4
5
  export declare const TabExpPanelControl: import("vue").DefineComponent<{
5
6
  /**
6
7
  * @description 分页导航面板模型数据
@@ -40,6 +41,7 @@ export declare const TabExpPanelControl: import("vue").DefineComponent<{
40
41
  }, {
41
42
  c: TabExpPanelController;
42
43
  ns: import("@ibiz-template/core").Namespace;
44
+ tabPosition: string;
43
45
  onTabChange: (value: string) => void;
44
46
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
45
47
  /**
@@ -1,6 +1,7 @@
1
- import { isVNode, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { isVNode, createVNode, resolveComponent, h, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { TabExpPanelController } from '@ibiz-template/runtime';
4
+ import './tab-exp-panel.css';
4
5
 
5
6
  "use strict";
6
7
  function _isSlot(s) {
@@ -46,8 +47,11 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
46
47
  }
47
48
  },
48
49
  setup() {
50
+ var _a, _b;
49
51
  const c = useControlController((...args) => new TabExpPanelController(...args));
50
52
  const ns = useNamespace(`control-${c.model.controlType.toLowerCase()}`);
53
+ const model = (_a = c.view) == null ? void 0 : _a.model;
54
+ const tabPosition = ((_b = model == null ? void 0 : model.tabLayout) == null ? void 0 : _b.toLowerCase()) || "top";
51
55
  const onTabChange = (value) => {
52
56
  c.state.activeName = value;
53
57
  c.handleTabChange();
@@ -55,6 +59,7 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
55
59
  return {
56
60
  c,
57
61
  ns,
62
+ tabPosition,
58
63
  onTabChange
59
64
  };
60
65
  },
@@ -64,6 +69,28 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
64
69
  isCreated,
65
70
  tabPages
66
71
  } = this.c.state;
72
+ if (this.tabPosition === "flow" || this.tabPosition === "flow_noheader") {
73
+ if (!isCreated) {
74
+ return;
75
+ }
76
+ return createVNode("div", {
77
+ "class": this.ns.b()
78
+ }, [tabPages.map((page) => {
79
+ var _a;
80
+ const target = (_a = this.c.model.controls) == null ? void 0 : _a.find((tab) => tab.id === page.tabTag);
81
+ return createVNode("div", {
82
+ "class": this.ns.b("tab-item")
83
+ }, [createVNode("div", {
84
+ "class": this.ns.b("tab-item-header")
85
+ }, [page.caption]), createVNode("div", {
86
+ "class": this.ns.b("tab-item-content")
87
+ }, [h(resolveComponent("IBizViewShell"), {
88
+ context: this.context,
89
+ params: this.params,
90
+ viewId: target == null ? void 0 : target.embeddedAppDEViewId
91
+ })])]);
92
+ })]);
93
+ }
67
94
  return isCreated && createVNode(resolveComponent("van-tabs"), {
68
95
  "class": [this.ns.b("header")],
69
96
  "active": this.c.state.activeName,
@@ -1 +1 @@
1
- .ibiz-control-treeview{--ibiz-control-treeview-text-color:var(--ibiz-color-text);--ibiz-control-treeview-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-active-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-padding:0.625rem;--ibiz-control-treeview-bg-color:var(--ibiz-color-bg-2);--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);height:100%;padding:0 var(--ibiz-control-treeview-padding);background:var(--ibiz-control-treeview-bg-color)}.ibiz-control-treeview-content{--ibiz-control-treeview-text-color:var(--ibiz-color-text);--ibiz-control-treeview-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-active-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-padding:0.625rem;--ibiz-control-treeview-bg-color:var(--ibiz-color-bg-2);height:100%}.ibiz-control-treeview-content .vs-tree-node{position:relative;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview-content .vs-tree-node .vs-tree-inner{display:flex;align-items:center}.ibiz-control-treeview-content .vs-tree-node .vs-icon-leaf,.ibiz-control-treeview-content .vs-tree-node .vs-icon-parent{width:auto;margin-right:0}.ibiz-control-treeview-content .vs-tree-node .ibiz-icon{display:inline-flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right)}.ibiz-control-treeview-content .vs-tree-node .ibiz-icon>svg{width:100%;height:100%}.ibiz-control-treeview-content .tree-button{color:var(--ibiz-color-primary)}.ibiz-control-treeview-header{--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);--ibiz-control-treeview-crumb-icon-top:0.1875rem}.ibiz-control-treeview-header__crumb{display:inline-flex;align-items:center;height:var(--ibiz-height-control-small)}.ibiz-control-treeview-header__crumb .ibiz-icon{display:inline-flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right);margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-treeview-header__crumb .ibiz-icon>svg{width:100%;height:100%}.ibiz-control-treeview-header__crumb>span:has(img),.ibiz-control-treeview-header__crumb>span:has(svg){position:relative}.ibiz-control-treeview-header__crumb>span:has(img) .ibiz-icon,.ibiz-control-treeview-header__crumb>span:has(svg) .ibiz-icon{position:absolute;top:var(--ibiz-control-treeview-crumb-icon-top)}.ibiz-control-treeview-header__crumb>span:has(img)::after,.ibiz-control-treeview-header__crumb>span:has(svg)::after{display:inline-block;width:var(--ibiz-control-treeview-node-icon-width);margin-right:var(--ibiz-spacing-extra-tight);content:"\e710";opacity:0}.ibiz-control-treeview-header.is-no-root>span:has(.ibiz-control-treeview-header__crumb.is-root){display:none}
1
+ .ibiz-control-treeview{--ibiz-control-treeview-text-color:var(--ibiz-color-text);--ibiz-control-treeview-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-active-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-padding:0.625rem;--ibiz-control-treeview-bg-color:var(--ibiz-color-bg-2);--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);height:100%;padding:0 var(--ibiz-control-treeview-padding);background:var(--ibiz-control-treeview-bg-color)}.ibiz-control-treeview-content{--ibiz-control-treeview-text-color:var(--ibiz-color-text);--ibiz-control-treeview-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-active-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-padding:0.625rem;--ibiz-control-treeview-bg-color:var(--ibiz-color-bg-2);height:100%}.ibiz-control-treeview-content .vs-tree-node{position:relative;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview-content .vs-tree-node .vs-tree-inner{display:flex;align-items:center}.ibiz-control-treeview-content .vs-tree-node .vs-icon-leaf,.ibiz-control-treeview-content .vs-tree-node .vs-icon-parent{width:auto;margin-right:0}.ibiz-control-treeview-content .vs-tree-node .ibiz-icon{display:inline-flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right)}.ibiz-control-treeview-content .vs-tree-node .ibiz-icon>svg{width:100%;height:100%}.ibiz-control-treeview-content .tree-button{color:var(--ibiz-color-primary)}.ibiz-control-treeview-header{--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);--ibiz-control-treeview-crumb-icon-top:0.1875rem}.ibiz-control-treeview-header__crumb{display:inline-flex;align-items:center;height:var(--ibiz-height-control-small)}.ibiz-control-treeview-header__crumb .ibiz-icon{display:inline-flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right);margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-treeview-header__crumb .ibiz-icon>svg{width:100%;height:100%}.ibiz-control-treeview-header__crumb>span:has(img),.ibiz-control-treeview-header__crumb>span:has(svg){position:relative}.ibiz-control-treeview-header__crumb>span:has(img) .ibiz-icon,.ibiz-control-treeview-header__crumb>span:has(svg) .ibiz-icon{position:absolute;top:var(--ibiz-control-treeview-crumb-icon-top)}.ibiz-control-treeview-header__crumb>span:has(img)::after,.ibiz-control-treeview-header__crumb>span:has(svg)::after{display:inline-block;width:var(--ibiz-control-treeview-node-icon-width);margin-right:var(--ibiz-spacing-extra-tight);content:"\e710";opacity:0}.ibiz-control-treeview-header__container{height:auto}.ibiz-control-treeview-header__container .van-sticky,.ibiz-control-treeview-header__container>div{height:auto!important}.ibiz-control-treeview-header.is-no-root>span:has(.ibiz-control-treeview-header__crumb.is-root){display:none}.ibiz-control-treeview-container{width:100%;height:100%;display:flex;flex-direction:column}
@@ -47,6 +47,13 @@ export declare const TreeControl: import("vue").DefineComponent<{
47
47
  type: BooleanConstructor;
48
48
  default: boolean;
49
49
  };
50
+ /**
51
+ * @description 是否是导航内的(即树导航里的树)
52
+ */
53
+ navigational: {
54
+ type: BooleanConstructor;
55
+ default: undefined;
56
+ };
50
57
  }, {
51
58
  c: TreeController<IDETree, import("@ibiz-template/runtime").ITreeState, import("@ibiz-template/runtime").ITreeEvent>;
52
59
  ns: import("@ibiz-template/core").Namespace;
@@ -122,9 +129,17 @@ export declare const TreeControl: import("vue").DefineComponent<{
122
129
  type: BooleanConstructor;
123
130
  default: boolean;
124
131
  };
132
+ /**
133
+ * @description 是否是导航内的(即树导航里的树)
134
+ */
135
+ navigational: {
136
+ type: BooleanConstructor;
137
+ default: undefined;
138
+ };
125
139
  }>>, {
126
140
  params: import("@ibiz-template/core").IApiParams;
127
141
  mdctrlActiveMode: number;
128
142
  singleSelect: boolean;
143
+ navigational: boolean;
129
144
  }, {}>;
130
145
  export default TreeControl;
@@ -59,6 +59,13 @@ const TreeControl = /* @__PURE__ */ defineComponent({
59
59
  singleSelect: {
60
60
  type: Boolean,
61
61
  default: true
62
+ },
63
+ /**
64
+ * @description 是否是导航内的(即树导航里的树)
65
+ */
66
+ navigational: {
67
+ type: Boolean,
68
+ default: void 0
62
69
  }
63
70
  },
64
71
  setup() {
@@ -306,12 +313,14 @@ const TreeControl = /* @__PURE__ */ defineComponent({
306
313
  };
307
314
  const key = this.c.controlPanel ? "tree" : "default";
308
315
  slots[key] = () => {
309
- return [this.breadcrumb && createVNode(resolveComponent("van-sticky"), null, {
316
+ const content = [this.breadcrumb && createVNode("div", {
317
+ "class": this.ns.be("header", "container")
318
+ }, [createVNode(resolveComponent("van-sticky"), null, {
310
319
  default: () => [createVNode("div", {
311
320
  "id": `breadcrumb${this.uuid}`,
312
321
  "class": [this.ns.b("header"), this.ns.is("no-root", !this.c.model.rootVisible)]
313
322
  }, null)]
314
- }), this.c.state.isCreated && this.c.state.isLoaded && createVNode(resolveComponent("vs-tree"), {
323
+ })]), this.c.state.isCreated && this.c.state.isLoaded && createVNode(resolveComponent("vs-tree"), {
315
324
  "show-line": true,
316
325
  "ref": "treeRef",
317
326
  "key": this.treeRefreshKey,
@@ -328,6 +337,9 @@ const TreeControl = /* @__PURE__ */ defineComponent({
328
337
  "load": this.loadData,
329
338
  "onCheck": this.onNodeCheck
330
339
  }, null)];
340
+ return createVNode("div", {
341
+ "class": this.ns.b("container")
342
+ }, [content]);
331
343
  };
332
344
  return createVNode(resolveComponent("iBizControlBase"), {
333
345
  "controller": this.c
@@ -5,13 +5,11 @@ import { NumberRangeEditorController } from '../number-range-editor.controller';
5
5
  * 移动端数值范围编辑框
6
6
  * @primary
7
7
  * @description 使用van-field组件,用于指定数值范围的场景。支持编辑器类型包含:`移动端数值范围编辑框`
8
- * @editorparams {name:maxValue,parameterType:string,defaultvalue:Infinity,description:最大值}
9
- * @editorparams {name:minValue,parameterType:string,defaultvalue:-Infinity,description:最小值}
10
- * @editorparams {name:valueSeparator,parameterType:string,defaultvalue:'-',description:值分割符}
11
- * @editorparams {name:rangeSeparator,parameterType:string,defaultvalue:'~',description:选择范围的分隔符}
12
- * @editorparams {name:startPlaceHolder,parameterType:string,defaultvalue:'',description:选择范围开始占位提示,van-field组件的placeholder属性}
13
- * @editorparams {name:endPlaceHolder,parameterType:string,defaultvalue:'',description:选择范围结束占位提示,van-field组件的placeholder属性}
14
- * @editorparams {name:precision,parameterType:number,defaultvalue:0,description:数值精度}
8
+ * @editorparams {name:valueseparator,parameterType:string,defaultvalue:'-',description:值分隔符}
9
+ * @editorparams {name:rangeseparator,parameterType:string,defaultvalue:'~',description:选择范围时的分隔符}
10
+ * @editorparams {name:startplaceholder,parameterType:string,defaultvalue:'',description:选择范围开始占位提示,van-field组件的placeholder属性}
11
+ * @editorparams {name:endplaceholder,parameterType:string,defaultvalue:'',description:选择范围结束占位提示,van-field组件的placeholder属性}
12
+ * @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
15
13
  * @ignoreprops autoFocus | overflowMode
16
14
  * @ignoreemits infoTextChange | enter
17
15
  */
@@ -26,24 +26,42 @@ const IBizNumberRangePicker = /* @__PURE__ */ defineComponent({
26
26
  if (editorModel.editorParams.maxValue) {
27
27
  max = toNumber(editorModel.editorParams.maxValue);
28
28
  }
29
+ if (editorModel.editorParams.maxvalue) {
30
+ max = toNumber(editorModel.editorParams.maxvalue);
31
+ }
29
32
  if (editorModel.editorParams.minValue) {
30
33
  min = toNumber(editorModel.editorParams.minValue);
31
34
  }
35
+ if (editorModel.editorParams.minvalue) {
36
+ min = toNumber(editorModel.editorParams.minvalue);
37
+ }
32
38
  if (editorModel.editorParams.precision) {
33
39
  precision = toNumber(editorModel.editorParams.precision);
34
40
  }
35
41
  if (editorModel.editorParams.valueSeparator) {
36
42
  valueSeparator = editorModel.editorParams.valueSeparator;
37
43
  }
44
+ if (editorModel.editorParams.valueseparator) {
45
+ valueSeparator = editorModel.editorParams.valueseparator;
46
+ }
38
47
  if (editorModel.editorParams.startPlaceHolder) {
39
48
  startPlaceHolder = editorModel.editorParams.startPlaceHolder;
40
49
  }
50
+ if (editorModel.editorParams.startplaceholder) {
51
+ startPlaceHolder = editorModel.editorParams.startplaceholder;
52
+ }
41
53
  if (editorModel.editorParams.endPlaceHolder) {
42
54
  endPlaceHolder = editorModel.editorParams.endPlaceHolder;
43
55
  }
56
+ if (editorModel.editorParams.endplaceholder) {
57
+ endPlaceHolder = editorModel.editorParams.endplaceholder;
58
+ }
44
59
  if (editorModel.editorParams.rangeSeparator) {
45
60
  rangeSeparator = editorModel.editorParams.rangeSeparator;
46
61
  }
62
+ if (editorModel.editorParams.rangeseparator) {
63
+ rangeSeparator = editorModel.editorParams.rangeseparator;
64
+ }
47
65
  }
48
66
  const refFormItem = ref([]);
49
67
  const editorItems = editorModel.editorItems;
@@ -4,7 +4,8 @@ import './ibiz-rate.scss';
4
4
  * 移动端评分器
5
5
  * @primary
6
6
  * @description 使用van-rate组件,用于给某些东西进行评分。支持编辑器类型包含:`移动端评分器`
7
- * @editorparams {name:maxValue,parameterType:number,defaultvalue:5,description:设置最大评分值,van-rate组件的count属性}
7
+ * @editorparams {name:maxvalue,parameterType:number,defaultvalue:5,description:设置最大评分值,van-rate组件的count属性}
8
+ * @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
8
9
  * @ignoreprops autoFocus | overflowMode
9
10
  * @ignoreemits infoTextChange | enter
10
11
  */
@@ -20,6 +20,9 @@ const IBizRate = /* @__PURE__ */ defineComponent({
20
20
  if (editorModel.editorParams.maxValue) {
21
21
  max = toNumber(editorModel.editorParams.maxValue);
22
22
  }
23
+ if (editorModel.editorParams.maxvalue) {
24
+ max = toNumber(editorModel.editorParams.maxvalue);
25
+ }
23
26
  }
24
27
  watch(() => props.value, (newVal, oldVal) => {
25
28
  if (newVal !== oldVal) {
@@ -5,8 +5,8 @@ import './ibiz-raw.scss';
5
5
  * 直接内容
6
6
  * @primary
7
7
  * @description 用于绘制配置的直接内容,如HTML内容、视频内容、图片内容等。支持编辑器类型包含:`直接内容`
8
- * @editorparams {name:contenttype,parameterType:string,defaultvalue:TEXT,description:内容类型}
9
- * @editorparams {name:template,parameterType:string,description:配置的handlerBars模版,用于将组件输入参数中的value值解析并转换为HTML内容,实现动态内容的渲染}
8
+ * @editorparams {name:contenttype,parameterType:'IMAGE' | 'TEXT' | 'RAW' | 'HEADING1' | 'HEADING2' | 'HEADING3' | 'HEADING4' | 'HEADING5' | 'HEADING6' | 'PARAGRAPH' | 'HTML' | 'VIDEO' | 'DIVIDER' | 'INFO' | 'WARNING' | 'ERROR' | 'MARKDOWN' | 'PLACEHOLDER',defaultvalue:'TEXT',description:定义组件展示的内容类型。包含`IMAGE`(图片)、`TEXT`(文本)、`RAW`(直接内容)、`HEADING1`-`HEADING6`(各级标题)、`PARAGRAPH`(段落)、`HTML`(Html内容)、`VIDEO`(视频)、`DIVIDER`(分割线)、`INFO`(常规提示)、`WARNING`(警告提示)、`ERROR`(错误提示)、`MARKDOWN`(Markdown内容)、`PLACEHOLDER`(占位)}
9
+ * @editorparams {name:template,parameterType:string,description:配置的handlerBars模板内容,用于将组件输入参数中的value值解析并转换为HTML内容,实现动态内容的渲染}
10
10
  * @ignoreprops autoFocus | overflowMode
11
11
  * @ignoreemits infoTextChange | enter
12
12
  */
@@ -5,9 +5,11 @@ import { SpanEditorController } from '../span-editor.controller';
5
5
  * 标签
6
6
  * @primary
7
7
  * @description 直接呈现文本内容,可配置单位。支持编辑器类型包含:`标签`
8
- * @editorparams {name:TEXTSEPARATOR,parameterType:string,defaultvalue:'',description:文本分隔符。如果是数组数据,在呈现时用逗号分隔并且转换为字符串显示}
9
- * @editorparams {name:REVERSECOLOR,parameterType:boolean,description:是否反转颜色,即代码表项的color是否用于代码表项的背景色}
10
- * @editorparams {name:SHOWMODE,parameterType:'DEFAULT' | 'ICON' | 'TEXT',defaultvalue:'DEFAULT',description:显示模式,即代码表项的显示情况,值为DEFAULT:显示图标和文本,值为ICON:只显示图标,值为TEXT:只显示文本}
8
+ * @editorparams {"name":"textseparator","parameterType":"string","defaultvalue":"','","description":"文本分隔符。如果是数组数据,在呈现时会使用文本分隔符拼接为字符串显示"}
9
+ * @editorparams {name:reversecolor,parameterType:boolean,description:是否反转颜色,即代码表项的color是否用于代码表项的背景色}
10
+ * @editorparams {name:showmode,parameterType:'DEFAULT' | 'ICON' | 'TEXT',defaultvalue:'DEFAULT',description:显示模式,即代码表项的显示情况,值为DEFAULT:显示图标和文本,值为ICON:只显示图标,值为TEXT:只显示文本}
11
+ * @editorparams {"name":"valuetype","parameterType":"string","description":"编辑器的值类型"}
12
+ * @editorparams {"name":"objectnamefield","parameterType":"string","defaultvalue":"'srfmajortext'","description":"值类型为OBJECT、OBJECTS时显示的对象属性"}
11
13
  * @ignoreprops autoFocus | overflowMode
12
14
  * @ignoreemits infoTextChange | enter | change | blur | focus
13
15
  */
@@ -20,12 +20,12 @@ const IBizSpan = /* @__PURE__ */ defineComponent({
20
20
  setup(props, {
21
21
  emit
22
22
  }) {
23
- var _a;
23
+ var _a, _b;
24
24
  const ns = useNamespace("span");
25
25
  const c = props.controller;
26
26
  const text = ref("");
27
27
  const codeList = c.codeList;
28
- const textSeparator = c.model.textSeparator || ((_a = c.editorParams) == null ? void 0 : _a.TEXTSEPARATOR) || ",";
28
+ const textSeparator = c.model.textSeparator || ((_a = c.editorParams) == null ? void 0 : _a.TEXTSEPARATOR) || ((_b = c.editorParams) == null ? void 0 : _b.textseparator) || ",";
29
29
  watch(() => props.value, (newVal, oldVal) => {
30
30
  if (newVal !== oldVal) {
31
31
  if (isNil(newVal)) {
@@ -109,14 +109,14 @@ const IBizSpan = /* @__PURE__ */ defineComponent({
109
109
  };
110
110
  },
111
111
  render() {
112
- var _a, _b;
112
+ var _a, _b, _c, _d;
113
113
  let content = null;
114
114
  if (this.c.codeList && this.items.length > 0) {
115
115
  content = createVNode(resolveComponent("iBizCodeList"), {
116
- "class": [this.ns.e("code-list"), this.ns.is("reverse-color", !!((_a = this.c.editorParams) == null ? void 0 : _a.REVERSECOLOR))],
116
+ "class": [this.ns.e("code-list"), this.ns.is("reverse-color", !!((_a = this.c.editorParams) == null ? void 0 : _a.REVERSECOLOR) || !!((_b = this.c.editorParams) == null ? void 0 : _b.reversecolor))],
117
117
  "codeListItems": this.items,
118
118
  "codeList": this.c.codeList,
119
- "showMode": (_b = this.c.editorParams) == null ? void 0 : _b.SHOWMODE,
119
+ "showMode": ((_c = this.c.editorParams) == null ? void 0 : _c.SHOWMODE) || ((_d = this.c.editorParams) == null ? void 0 : _d.showmode),
120
120
  "value": this.text
121
121
  }, null);
122
122
  } else if (this.text) {
@@ -5,10 +5,11 @@ import './ibiz-stepper.scss';
5
5
  *
6
6
  * @description 使用van-stepper组件,用于在一定范围内调整数字的场景。支持编辑器类型包含:`移动端步进器`
7
7
  * @primary
8
- * @editorparams {name:stepValue,parameterType:number,defaultvalue:1,description:设置递增或递减的步长,van-stepper组件的step属性}
8
+ * @editorparams {name:stepvalue,parameterType:number,defaultvalue:1,description:设置递增或递减的步长,van-stepper组件的step属性}
9
9
  * @editorparams {name:precision,parameterType:number,defaultvalue:0,description:设置数值精度,van-stepper组件的decimal-length属性}
10
- * @editorparams {name:maxValue,parameterType:number,defaultvalue:Infinity,description:设置步进器允许的最大值,van-stepper组件的max属性}
11
- * @editorparams {name:minValue,parameterType:number,defaultvalue:-Infinity,description:设置步进器允许的最小值,van-stepper组件的min属性}
10
+ * @editorparams {name:maxvalue,parameterType:number,defaultvalue:Infinity,description:设置步进器允许的最大值,van-stepper组件的max属性}
11
+ * @editorparams {name:minvalue,parameterType:number,defaultvalue:-Infinity,description:设置步进器允许的最小值,van-stepper组件的min属性}
12
+ * @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
12
13
  * @ignoreprops autoFocus | overflowMode
13
14
  * @ignoreemits enter | infoTextChange
14
15
  */
@@ -25,15 +25,24 @@ const IBizStepper = /* @__PURE__ */ defineComponent({
25
25
  if (editorModel.editorParams.stepValue) {
26
26
  step = toNumber(editorModel.editorParams.stepValue);
27
27
  }
28
+ if (editorModel.editorParams.stepvalue) {
29
+ step = toNumber(editorModel.editorParams.stepvalue);
30
+ }
28
31
  if (editorModel.editorParams.precision) {
29
32
  precision = toNumber(editorModel.editorParams.precision);
30
33
  }
31
34
  if (editorModel.editorParams.maxValue) {
32
35
  max = toNumber(editorModel.editorParams.maxValue);
33
36
  }
37
+ if (editorModel.editorParams.maxvalue) {
38
+ max = toNumber(editorModel.editorParams.maxvalue);
39
+ }
34
40
  if (editorModel.editorParams.minValue) {
35
41
  min = toNumber(editorModel.editorParams.minValue);
36
42
  }
43
+ if (editorModel.editorParams.minvalue) {
44
+ min = toNumber(editorModel.editorParams.minvalue);
45
+ }
37
46
  }
38
47
  const handleChange = (e) => {
39
48
  if (e == props.value) {
@@ -5,6 +5,7 @@ import { SwitchEditorController } from '../switch-editor.controller';
5
5
  *
6
6
  * @description 使用van-switch组件,表示两种相互对立的状态间的切换,多用于触发「开/关」。支持编辑器类型包含:`移动端开关部件`
7
7
  * @primary
8
+ * @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
8
9
  * @ignoreprops overflowMode | autoFocus
9
10
  * @ignoreemits enter | infoTextChange
10
11
  */
@@ -5,7 +5,8 @@ import { TextBoxEditorController } from '../text-box-editor.controller';
5
5
  *
6
6
  * @description 使用van-field组件,用于仅允许输入标准的数字值的场景。支持编辑器类型包含:`移动端数值框`
7
7
  * @primary
8
- * @editorparams {name:precision,parameterType:number,description:设置数值精度,van-field组件的precision属性}
8
+ * @editorparams {name:precision,parameterType:number,description:设置数值精度}
9
+ * @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
9
10
  * @ignoreprops overflowMode
10
11
  * @ignoreemits infoTextChange | enter
11
12
  */
@@ -5,6 +5,8 @@ import { TextBoxEditorController } from '../text-box-editor.controller';
5
5
  *
6
6
  * @description 使用van-field组件,用于数据录入,通过键盘输入字符。支持编辑器类型包含:`移动端文本框`、`移动端多行文本`、`移动端密码框`
7
7
  * @primary
8
+ * @editorparams {name:enableshowpwd,parameterType:boolean,defaultvalue:false,description:控制密码框是否可以切换密码的显示与隐藏}
9
+ * @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
8
10
  * @ignoreprops overflowMode
9
11
  * @ignoreemits infoTextChange
10
12
  */
@@ -28,9 +28,30 @@ export declare class UploadEditorController extends EditorController<IFileUpload
28
28
  */
29
29
  exportParams?: IParams;
30
30
  /**
31
- * 显示加载动画
31
+ * @description 是否显示加载动画
32
+ * @readonly
33
+ * @type {boolean}
34
+ * @memberof UploadEditorController
35
+ */
36
+ get showLoading(): boolean;
37
+ /**
38
+ * @description 图片压缩范围(超过该范围进行压缩,单位kb)
39
+ * @readonly
40
+ * @memberof UploadEditorController
41
+ */
42
+ get imgCompressLimit(): number;
43
+ /**
44
+ * @description 图片压缩质量(0-1,为0时不压缩,默认为0)
45
+ * @readonly
46
+ * @memberof UploadEditorController
47
+ */
48
+ get imgCompressQuality(): number;
49
+ /**
50
+ * @description 压缩图片最大宽度,默认为1280px
51
+ * @readonly
52
+ * @memberof UploadEditorController
32
53
  */
33
- showLoading: boolean;
54
+ get imgCompressMaxWidth(): number;
34
55
  /**
35
56
  * 文件类型
36
57
  *
@@ -31,10 +31,6 @@ class UploadEditorController extends EditorController {
31
31
  * 下载参数
32
32
  */
33
33
  __publicField(this, "exportParams");
34
- /**
35
- * 显示加载动画
36
- */
37
- __publicField(this, "showLoading", false);
38
34
  /**
39
35
  * 文件类型
40
36
  *
@@ -86,6 +82,51 @@ class UploadEditorController extends EditorController {
86
82
  ["tar", "zip"]
87
83
  ]));
88
84
  }
85
+ /**
86
+ * @description 是否显示加载动画
87
+ * @readonly
88
+ * @type {boolean}
89
+ * @memberof UploadEditorController
90
+ */
91
+ get showLoading() {
92
+ if (this.editorParams.showloading) {
93
+ return Boolean(this.editorParams.showloading);
94
+ }
95
+ return ibiz.config.mob.showUploadLoading;
96
+ }
97
+ /**
98
+ * @description 图片压缩范围(超过该范围进行压缩,单位kb)
99
+ * @readonly
100
+ * @memberof UploadEditorController
101
+ */
102
+ get imgCompressLimit() {
103
+ if (this.editorParams.imgcompresslimit) {
104
+ return Number(this.editorParams.imgcompresslimit);
105
+ }
106
+ return ibiz.config.imgCompressConfig.limit;
107
+ }
108
+ /**
109
+ * @description 图片压缩质量(0-1,为0时不压缩,默认为0)
110
+ * @readonly
111
+ * @memberof UploadEditorController
112
+ */
113
+ get imgCompressQuality() {
114
+ if (this.editorParams.imgcompressquality) {
115
+ return Number(this.editorParams.imgcompressquality);
116
+ }
117
+ return ibiz.config.imgCompressConfig.quality;
118
+ }
119
+ /**
120
+ * @description 压缩图片最大宽度,默认为1280px
121
+ * @readonly
122
+ * @memberof UploadEditorController
123
+ */
124
+ get imgCompressMaxWidth() {
125
+ if (this.editorParams.imgcompressmaxwidth) {
126
+ return Number(this.editorParams.imgcompressmaxwidth);
127
+ }
128
+ return ibiz.config.imgCompressConfig.maxWidth;
129
+ }
89
130
  async onInit() {
90
131
  var _a;
91
132
  await super.onInit();
@@ -103,14 +144,7 @@ class UploadEditorController extends EditorController {
103
144
  this.multiple = false;
104
145
  }
105
146
  if (this.editorParams) {
106
- const {
107
- isDrag,
108
- multiple,
109
- accept,
110
- uploadParams,
111
- exportParams,
112
- showloading
113
- } = this.editorParams;
147
+ const { isDrag, multiple, accept, uploadParams, exportParams } = this.editorParams;
114
148
  if (isDrag) {
115
149
  this.isDrag = Boolean(isDrag);
116
150
  }
@@ -120,9 +154,6 @@ class UploadEditorController extends EditorController {
120
154
  if (accept) {
121
155
  this.accept = accept;
122
156
  }
123
- if (showloading) {
124
- this.showLoading = Boolean(showloading);
125
- }
126
157
  if (uploadParams) {
127
158
  try {
128
159
  this.uploadParams = JSON.parse(uploadParams);
@@ -39,6 +39,22 @@ function useVanUpload(props, valueChange, c) {
39
39
  if ((newVal == null ? void 0 : newVal.length) && downloadUrl.value) {
40
40
  newVal.forEach((file) => {
41
41
  file.url = file.url || downloadUrl.value.replace("%fileId%", file.id);
42
+ if (ibiz.config.common.enableDownloadTicket)
43
+ ibiz.util.file.getDownloadTicket(
44
+ c.context,
45
+ c.params,
46
+ props.data,
47
+ {
48
+ fileId: file.id
49
+ },
50
+ c.downloadTicketParams
51
+ ).then((downloadTicket) => {
52
+ if (downloadTicket && downloadTicket.ticket)
53
+ file.url = downloadUrl.value.replace(
54
+ "%fileId%",
55
+ downloadTicket.ticket
56
+ );
57
+ });
42
58
  });
43
59
  }
44
60
  },
@@ -67,8 +83,10 @@ function useVanUpload(props, valueChange, c) {
67
83
  return true;
68
84
  };
69
85
  const onSuccess = (response) => {
70
- if (!response) {
86
+ if (!response)
71
87
  return;
88
+ if (ibiz.config.common.enableDownloadTicket && response.ticket) {
89
+ ibiz.util.file.setDownloadTicket(response.id, response.ticket);
72
90
  }
73
91
  files.value.push({
74
92
  name: response.filename,
@@ -92,9 +110,23 @@ function useVanUpload(props, valueChange, c) {
92
110
  }
93
111
  emitValue();
94
112
  };
95
- const uploadFile = (file) => {
113
+ const uploadFile = async (file) => {
114
+ const size = file.file.size;
115
+ const sizeKB = size / 1024;
116
+ let curFile = file.file;
117
+ if (c.imgCompressQuality && c.imgCompressLimit && sizeKB > c.imgCompressLimit) {
118
+ try {
119
+ curFile = await ibiz.util.file.compressImg(
120
+ curFile,
121
+ c.imgCompressMaxWidth,
122
+ c.imgCompressQuality
123
+ );
124
+ } catch (e) {
125
+ ibiz.log.error(ibiz.i18n.t("editor.upload.compressError"));
126
+ }
127
+ }
96
128
  const formData = new FormData();
97
- formData.append("file", file.file);
129
+ formData.append("file", curFile);
98
130
  return new Promise((resolve, reject) => {
99
131
  ibiz.net.axios({
100
132
  url: uploadUrl.value,
@@ -102,6 +102,7 @@ declare const _default: {
102
102
  };
103
103
  runtime: {
104
104
  common: {
105
+ undefined: string;
105
106
  unrealized: string;
106
107
  noExplanation: string;
107
108
  };
@@ -947,6 +948,7 @@ declare const _default: {
947
948
  uploadJsonFormatErr: string;
948
949
  exportJsonFormatErr: string;
949
950
  cancelUpload: string;
951
+ compressError: string;
950
952
  };
951
953
  emojiPicker: {
952
954
  addEmoji: string;