@ibiz-template/vue3-components 0.7.13-alpha.0 → 0.7.14

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 (95) hide show
  1. package/dist/{index-WP6TUdg-.js → index-8Lu2Ax-_.js} +1 -1
  2. package/dist/index-8tvyarHw.js +4 -0
  3. package/dist/{index-kgWpXafW.js → index-Hg_8xCYx.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-OSsMvylt.js → xlsx-util-OfvrEAre.js} +1 -1
  7. package/es/common/carousel/carousel.d.ts +8 -0
  8. package/es/common/carousel/carousel.mjs +9 -1
  9. package/es/common/carousel-card/carousel-card.css +1 -0
  10. package/es/common/carousel-card/carousel-card.d.ts +41 -0
  11. package/es/common/carousel-card/carousel-card.mjs +218 -0
  12. package/es/common/index.mjs +2 -0
  13. package/es/control/app-menu/app-menu.mjs +1 -1
  14. package/es/control/context-menu/context-menu.css +1 -1
  15. package/es/control/context-menu/context-menu.d.ts +1 -0
  16. package/es/control/context-menu/context-menu.mjs +64 -7
  17. package/es/control/context-menu/index.d.ts +1 -0
  18. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +76 -1
  19. package/es/control/form/form/form.css +1 -1
  20. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +74 -0
  21. package/es/control/form/form-detail/form-page/form-page.css +1 -1
  22. package/es/control/form/form-detail/form-page/form-page.d.ts +1 -0
  23. package/es/control/form/form-detail/form-page/form-page.mjs +10 -4
  24. package/es/control/form/form-detail/form-page/index.d.ts +1 -0
  25. package/es/control/search-bar/filter-tree/filter-tree.mjs +19 -20
  26. package/es/control/toolbar/short-cut-button/short-cut-button.css +0 -0
  27. package/es/control/toolbar/short-cut-button/short-cut-button.d.ts +48 -0
  28. package/es/control/toolbar/short-cut-button/short-cut-button.mjs +71 -0
  29. package/es/control/toolbar/toolbar.mjs +38 -2
  30. package/es/control/tree/tree.css +1 -1
  31. package/es/control/tree/tree.mjs +2 -1
  32. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.css +1 -1
  33. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -0
  34. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +25 -13
  35. package/es/index.mjs +1 -0
  36. package/es/locale/en/index.d.ts +1 -0
  37. package/es/locale/en/index.mjs +2 -1
  38. package/es/locale/zh-CN/index.d.ts +1 -0
  39. package/es/locale/zh-CN/index.mjs +2 -1
  40. package/es/panel-component/auth-captcha/auth-captcha.controller.d.ts +13 -0
  41. package/es/panel-component/auth-captcha/auth-captcha.controller.mjs +15 -11
  42. package/es/panel-component/auth-userinfo/auth-userinfo.d.ts +1 -1
  43. package/es/panel-component/auth-userinfo/auth-userinfo.mjs +2 -7
  44. package/es/panel-component/auth-userinfo/index.d.ts +1 -1
  45. package/es/panel-component/panel-button/panel-button.controller.d.ts +1 -1
  46. package/es/panel-component/panel-button/panel-button.controller.mjs +6 -9
  47. package/es/panel-component/panel-static-carousel/index.d.ts +1 -0
  48. package/es/panel-component/panel-static-carousel/panel-static-carousel.d.ts +1 -0
  49. package/es/panel-component/panel-static-carousel/panel-static-carousel.mjs +13 -2
  50. package/es/panel-component/short-cut/index.d.ts +21 -4
  51. package/es/panel-component/short-cut/short-cut.css +1 -1
  52. package/es/panel-component/short-cut/short-cut.d.ts +21 -4
  53. package/es/panel-component/short-cut/short-cut.mjs +62 -42
  54. package/es/util/app-util/app-util.d.ts +90 -0
  55. package/es/util/app-util/app-util.mjs +152 -0
  56. package/es/util/index.d.ts +1 -0
  57. package/es/util/index.mjs +1 -0
  58. package/es/view-engine/login-view.engine.d.ts +31 -3
  59. package/es/view-engine/login-view.engine.mjs +32 -12
  60. package/es/web-app/components/modal-router-shell/modal-router-shell.mjs +19 -5
  61. package/es/web-app/main.mjs +2 -0
  62. package/lib/common/carousel/carousel.cjs +9 -1
  63. package/lib/common/carousel-card/carousel-card.cjs +220 -0
  64. package/lib/common/carousel-card/carousel-card.css +1 -0
  65. package/lib/common/index.cjs +2 -0
  66. package/lib/control/app-menu/app-menu.cjs +1 -1
  67. package/lib/control/context-menu/context-menu.cjs +63 -6
  68. package/lib/control/context-menu/context-menu.css +1 -1
  69. package/lib/control/form/form/form.css +1 -1
  70. package/lib/control/form/form-detail/form-page/form-page.cjs +10 -4
  71. package/lib/control/form/form-detail/form-page/form-page.css +1 -1
  72. package/lib/control/search-bar/filter-tree/filter-tree.cjs +19 -20
  73. package/lib/control/toolbar/short-cut-button/short-cut-button.cjs +73 -0
  74. package/lib/control/toolbar/short-cut-button/short-cut-button.css +0 -0
  75. package/lib/control/toolbar/toolbar.cjs +37 -1
  76. package/lib/control/tree/tree.cjs +2 -1
  77. package/lib/control/tree/tree.css +1 -1
  78. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +24 -12
  79. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.css +1 -1
  80. package/lib/index.cjs +2 -0
  81. package/lib/locale/en/index.cjs +2 -1
  82. package/lib/locale/zh-CN/index.cjs +2 -1
  83. package/lib/panel-component/auth-captcha/auth-captcha.controller.cjs +15 -11
  84. package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +2 -7
  85. package/lib/panel-component/panel-button/panel-button.controller.cjs +6 -9
  86. package/lib/panel-component/panel-static-carousel/panel-static-carousel.cjs +13 -2
  87. package/lib/panel-component/short-cut/short-cut.cjs +61 -41
  88. package/lib/panel-component/short-cut/short-cut.css +1 -1
  89. package/lib/util/app-util/app-util.cjs +154 -0
  90. package/lib/util/index.cjs +2 -0
  91. package/lib/view-engine/login-view.engine.cjs +32 -12
  92. package/lib/web-app/components/modal-router-shell/modal-router-shell.cjs +17 -3
  93. package/lib/web-app/main.cjs +2 -0
  94. package/package.json +7 -7
  95. package/dist/index-Ky5xo5V5.js +0 -4
@@ -57,17 +57,28 @@ const ContextMenuControl = /* @__PURE__ */ vue.defineComponent({
57
57
  const groupButtonRef = vue.ref();
58
58
  const dropdownRef = vue.ref();
59
59
  const popoverVisible = vue.ref(false);
60
- if (actionDetails) {
61
- actionDetails == null ? void 0 : actionDetails.forEach((detail) => {
60
+ const visible = vue.computed(() => {
61
+ const index = groupDetails.value.findIndex((item) => c.state.buttonsState[item.id].visible);
62
+ return index !== -1;
63
+ });
64
+ const transformLanguage = (items) => {
65
+ if (!Array.isArray(items)) {
66
+ return;
67
+ }
68
+ items.forEach((detail) => {
62
69
  if (detail.capLanguageRes && detail.capLanguageRes.lanResTag) {
63
70
  detail.caption = ibiz.i18n.t(detail.capLanguageRes.lanResTag, detail.caption);
64
71
  }
65
72
  if (detail.tooltipLanguageRes && detail.tooltipLanguageRes.lanResTag) {
66
73
  detail.tooltip = ibiz.i18n.t(detail.tooltipLanguageRes.lanResTag, detail.tooltip);
67
74
  }
75
+ transformLanguage(detail.detoolbarItems);
68
76
  });
77
+ };
78
+ if (actionDetails) {
79
+ transformLanguage(actionDetails);
69
80
  actionDetails.forEach((detail) => {
70
- if (props.groupLevelKeys.findIndex((item) => item === detail.actionLevel) !== -1) {
81
+ if (!detail.actionLevel || props.groupLevelKeys.findIndex((item) => item === detail.actionLevel) !== -1) {
71
82
  groupDetails.value.push(detail);
72
83
  } else {
73
84
  expandDetails.value.push(detail);
@@ -95,11 +106,13 @@ const ContextMenuControl = /* @__PURE__ */ vue.defineComponent({
95
106
  dropdownRef.value.handleClose();
96
107
  }
97
108
  e.stopPropagation();
109
+ popoverVisible.value = false;
98
110
  emit("action-click", detail, e);
99
111
  };
100
112
  return {
101
113
  c,
102
114
  ns,
115
+ visible,
103
116
  expandDetails,
104
117
  groupDetails,
105
118
  groupButtonRef,
@@ -121,8 +134,14 @@ const ContextMenuControl = /* @__PURE__ */ vue.defineComponent({
121
134
  };
122
135
  const renderActions = (items, isExpand = true) => {
123
136
  return items.map((detail) => {
124
- var _a;
125
- if ((_a = this.c.state.buttonsState[detail.id]) == null ? void 0 : _a.visible) {
137
+ var _a, _b;
138
+ if (!((_a = this.c.state.buttonsState[detail.id]) == null ? void 0 : _a.visible)) {
139
+ return null;
140
+ }
141
+ if (detail.itemType === "SEPERATOR") {
142
+ return renderDivider(isExpand);
143
+ }
144
+ if (detail.itemType === "DEUIACTION" || detail.itemType === "ITEMS" && !((_b = detail.detoolbarItems) == null ? void 0 : _b.length)) {
126
145
  return [detail.addSeparator && renderDivider(isExpand), vue.createVNode(vue.resolveComponent("el-button"), {
127
146
  "text": true,
128
147
  "size": "small",
@@ -142,9 +161,46 @@ const ContextMenuControl = /* @__PURE__ */ vue.defineComponent({
142
161
  }, [detail.caption]) : ""])]
143
162
  })];
144
163
  }
164
+ if (detail.itemType === "ITEMS") {
165
+ return vue.createVNode(vue.resolveComponent("el-popover"), {
166
+ "placement": "right-start",
167
+ "popper-class": this.ns.e("popover"),
168
+ "teleported": false
169
+ }, {
170
+ reference: () => {
171
+ return [detail.addSeparator && renderDivider(isExpand), vue.createVNode(vue.resolveComponent("el-button"), {
172
+ "text": true,
173
+ "size": "small",
174
+ "onClick": (e) => this.handleClick(detail, e),
175
+ "title": detail.tooltip,
176
+ "disabled": this.c.state.buttonsState[detail.id].disabled,
177
+ "class": this.calcActionItemClass(detail)
178
+ }, {
179
+ default: () => [vue.createVNode("div", {
180
+ "class": this.ns.e("action-content")
181
+ }, [detail.showIcon && detail.sysImage && vue.createVNode("div", {
182
+ "class": this.ns.e("action-content-icon")
183
+ }, [vue.createVNode(vue.resolveComponent("iBizIcon"), {
184
+ "icon": detail.sysImage
185
+ }, null)]), detail.showCaption ? vue.createVNode("div", {
186
+ "class": [this.ns.e("action-content-caption"), this.ns.e("action-content-group-caption")]
187
+ }, [detail.caption]) : "", vue.createVNode("ion-icon", {
188
+ "class": this.ns.e("action-content-group-icon"),
189
+ "name": "chevron-forward-outline"
190
+ }, null)])]
191
+ })];
192
+ },
193
+ default: () => {
194
+ return renderActions(detail.detoolbarItems || [], isExpand);
195
+ }
196
+ });
197
+ }
145
198
  return null;
146
199
  });
147
200
  };
201
+ if (!this.visible) {
202
+ return;
203
+ }
148
204
  if (this.mode === "buttons") {
149
205
  let _slot;
150
206
  return vue.createVNode("div", {
@@ -167,7 +223,8 @@ const ContextMenuControl = /* @__PURE__ */ vue.defineComponent({
167
223
  "visible": this.popoverVisible,
168
224
  "onUpdate:visible": ($event) => this.popoverVisible = $event,
169
225
  "popper-class": this.ns.e("popover"),
170
- "virtual-triggering": true
226
+ "virtual-triggering": true,
227
+ "transition": "none"
171
228
  }, _isSlot(_slot = renderActions(this.groupDetails, false)) ? _slot : {
172
229
  default: () => [_slot]
173
230
  })]]);
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-context-menu{--ibiz-context-menu-item-margin:0 0 0 4px;--ibiz-context-menu-separator-height:20px;--ibiz-context-menu-separator-width:2px;--ibiz-context-menu-separator-color:var(--ibiz-color-border);--ibiz-context-menu-popover-padding:8px 0;--ibiz-context-menu-popover-button-padding:8px 20px;--ibiz-context-menu-popover-button-color:var(--ibiz-color-text-2);--ibiz-context-menu-popover-button-hover-bg:var(--ibiz-color-bg-0)}.ibiz-context-menu__item{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-context-menu__item+.ibiz-context-menu__item{margin:var(--ibiz-context-menu-item-margin)}.ibiz-context-menu__item .ibiz-context-menu__action-content-icon{margin-right:3px}.ibiz-context-menu__action-content{display:flex}.ibiz-context-menu__action-content-icon{display:flex;align-items:center;justify-content:center;width:20px}.ibiz-context-menu__action-content-caption{display:flex;align-items:center;justify-content:center}.ibiz-context-menu__popover{--ibiz-context-menu-item-margin:0 0 0 4px;--ibiz-context-menu-separator-height:20px;--ibiz-context-menu-separator-width:2px;--ibiz-context-menu-separator-color:var(--ibiz-color-border);--ibiz-context-menu-popover-padding:8px 0;--ibiz-context-menu-popover-button-padding:8px 20px;--ibiz-context-menu-popover-button-color:var(--ibiz-color-text-2);--ibiz-context-menu-popover-button-hover-bg:var(--ibiz-color-bg-0);width:auto!important;min-width:150px;--el-popover-padding:var(--ibiz-context-menu-popover-padding)}.ibiz-context-menu__popover .el-button{--el-button-size:40px;display:block;width:100%;padding:var(--ibiz-context-menu-popover-button-padding);margin:0;font-size:14px;color:var(--ibiz-context-menu-popover-button-color);text-align:left;border-radius:0}.ibiz-context-menu__popover .el-button:hover{background-color:var(--ibiz-context-menu-popover-button-hover-bg)}.ibiz-context-menu__popover .el-button .ibiz-context-menu__action-content-icon{margin-right:6px}.ibiz-context-menu__separator{margin:0}.ibiz-context-menu--dropdown .ibiz-context-menu__caption{cursor:pointer}.ibiz-context-menu--dropdown .ibiz-context-menu__caption-icon{vertical-align:bottom}
1
+ @charset "UTF-8";.ibiz-context-menu{--ibiz-context-menu-item-margin:0 0 0 4px;--ibiz-context-menu-separator-height:20px;--ibiz-context-menu-separator-width:2px;--ibiz-context-menu-separator-color:var(--ibiz-color-border);--ibiz-context-menu-popover-padding:8px 0;--ibiz-context-menu-popover-button-padding:8px 20px;--ibiz-context-menu-popover-button-color:var(--ibiz-color-text-2);--ibiz-context-menu-popover-button-hover-bg:var(--ibiz-color-bg-0)}.ibiz-context-menu__item{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-context-menu__item+.ibiz-context-menu__item{margin:var(--ibiz-context-menu-item-margin)}.ibiz-context-menu__item .ibiz-context-menu__action-content-icon{margin-right:3px}.ibiz-context-menu__action-content{display:flex}.ibiz-context-menu__action-content-icon{display:flex;align-items:center;justify-content:center;width:20px}.ibiz-context-menu__action-content-caption{display:flex;align-items:center;justify-content:center}.ibiz-context-menu__popover{--ibiz-context-menu-item-margin:0 0 0 4px;--ibiz-context-menu-separator-height:20px;--ibiz-context-menu-separator-width:2px;--ibiz-context-menu-separator-color:var(--ibiz-color-border);--ibiz-context-menu-popover-padding:8px 0;--ibiz-context-menu-popover-button-padding:8px 20px;--ibiz-context-menu-popover-button-color:var(--ibiz-color-text-2);--ibiz-context-menu-popover-button-hover-bg:var(--ibiz-color-bg-0);width:auto!important;min-width:150px;--el-popover-padding:var(--ibiz-context-menu-popover-padding)}.ibiz-context-menu__popover .el-button{--el-button-size:40px;display:block;width:100%;padding:var(--ibiz-context-menu-popover-button-padding);margin:0;font-size:14px;color:var(--ibiz-context-menu-popover-button-color);text-align:left;border-radius:0}.ibiz-context-menu__popover .el-button:hover{background-color:var(--ibiz-context-menu-popover-button-hover-bg)}.ibiz-context-menu__popover .el-button .ibiz-context-menu__action-content-icon{margin-right:6px}.ibiz-context-menu__popover .el-button .ibiz-context-menu__action-content-group-caption{margin-right:var(--ibiz-spacing-base-loose)}.ibiz-context-menu__popover .el-button .ibiz-context-menu__action-content-group-icon{position:absolute;right:var(--ibiz-spacing-base-loose);font-size:var(--ibiz-font-size-header-6)}.ibiz-context-menu__separator{margin:0}.ibiz-context-menu__separator.el-divider--horizontal{width:calc(100% - 2 * var(--ibiz-spacing-base-loose));margin:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-base-loose)}.ibiz-context-menu--dropdown .ibiz-context-menu__caption{cursor:pointer}.ibiz-context-menu--dropdown .ibiz-context-menu__caption-icon{vertical-align:bottom}
@@ -1 +1 @@
1
- .ibiz-control-form{width:100%;padding-bottom:var(--ibiz-spacing-tight)}
1
+ .ibiz-control-form{width:100%;height:100%;padding-bottom:var(--ibiz-spacing-tight)}
@@ -18,10 +18,15 @@ const FormPage = /* @__PURE__ */ vue.defineComponent({
18
18
  required: true
19
19
  }
20
20
  },
21
- setup() {
21
+ setup(props) {
22
22
  const ns = vue3Util.useNamespace("form-page");
23
+ let position = "top";
24
+ if (props.modelData.tabHeaderPos) {
25
+ position = props.modelData.tabHeaderPos.toLowerCase();
26
+ }
23
27
  return {
24
- ns
28
+ ns,
29
+ position
25
30
  };
26
31
  },
27
32
  render() {
@@ -37,8 +42,9 @@ const FormPage = /* @__PURE__ */ vue.defineComponent({
37
42
  }, [defaultSlots]);
38
43
  }
39
44
  return vue.createVNode(vue.resolveComponent("el-tabs"), {
40
- "class": [this.ns.b(), this.ns.b("tab")],
41
- "model-value": (_d = defaultSlots[0]) == null ? void 0 : _d.key
45
+ "class": [this.ns.b(), this.ns.b("tab"), this.ns.e(this.position)],
46
+ "model-value": (_d = defaultSlots[0]) == null ? void 0 : _d.key,
47
+ "tab-position": this.position
42
48
  }, _isSlot(_slot = defaultSlots.map((slot) => {
43
49
  const props = slot.props;
44
50
  if (!props || !props.controller) {
@@ -1 +1 @@
1
- .ibiz-form-page{--ibiz-form-page-font-size:var(--ibiz-font-size-header-4);--ibiz-form-page-header-border-color:var(--ibiz-color-border);--ibiz-form-page-text-color:var(--ibiz-color-text-2);--ibiz-form-page-bg-color:transparent;--ibiz-form-page-hover-text-color:var(--ibiz-color-primary);--ibiz-form-page-hover-bg-color:transparent;--ibiz-form-page-active-text-color:var(--ibiz-color-primary);--ibiz-form-page-active-bg-color:transparent;--ibiz-form-page-active-border-color:var(--ibiz-color-primary)}.ibiz-form-page--no-tab-header .ibiz-form-page-item{padding-top:0}.ibiz-form-page-tab>.el-tabs__header.is-top{margin-bottom:var(--ibiz-spacing-tight)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-page-font-size);color:var(--ibiz-form-page-text-color);background-color:var(--ibiz-form-page-bg-color)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-page-hover-text-color);background-color:var(--ibiz-form-page-hover-bg-color)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-page-active-text-color);background-color:var(--ibiz-form-page-active-bg-color)}.ibiz-form-page-tab .el-tabs__nav-wrap::after{background-color:var(--ibiz-form-page-header-border-color)}.ibiz-form-page-tab .el-tabs__active-bar{background-color:var(--ibiz-form-page-active-border-color)}.ibiz-form-page-item{padding-top:var(--ibiz-padding-top)}.ibiz-form-page-item-child{margin-bottom:var(--ibiz-margin-bottom)}
1
+ .ibiz-form-page{--ibiz-form-page-font-size:var(--ibiz-font-size-header-4);--ibiz-form-page-header-border-color:var(--ibiz-color-border);--ibiz-form-page-text-color:var(--ibiz-color-text-2);--ibiz-form-page-bg-color:transparent;--ibiz-form-page-hover-text-color:var(--ibiz-color-primary);--ibiz-form-page-hover-bg-color:transparent;--ibiz-form-page-active-text-color:var(--ibiz-color-primary);--ibiz-form-page-active-bg-color:transparent;--ibiz-form-page-active-border-color:var(--ibiz-color-primary)}.ibiz-form-page__left{height:100%}.ibiz-form-page__left>.el-tabs__header{height:100%}.ibiz-form-page__left>.el-tabs__content{height:100%;overflow:auto}.ibiz-form-page__right{height:100%}.ibiz-form-page__right>.el-tabs__header{height:100%}.ibiz-form-page__right>.el-tabs__content{height:100%;overflow:auto}.ibiz-form-page--no-tab-header .ibiz-form-page-item{padding-top:0}.ibiz-form-page-tab>.el-tabs__header.is-top{margin-bottom:var(--ibiz-spacing-tight)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-page-font-size);color:var(--ibiz-form-page-text-color);background-color:var(--ibiz-form-page-bg-color)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-page-hover-text-color);background-color:var(--ibiz-form-page-hover-bg-color)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-page-active-text-color);background-color:var(--ibiz-form-page-active-bg-color)}.ibiz-form-page-tab .el-tabs__nav-wrap::after{background-color:var(--ibiz-form-page-header-border-color)}.ibiz-form-page-tab .el-tabs__active-bar{background-color:var(--ibiz-form-page-active-border-color)}.ibiz-form-page-item{padding-top:var(--ibiz-padding-top)}.ibiz-form-page-item-child{margin-bottom:var(--ibiz-margin-bottom)}
@@ -56,7 +56,7 @@ const FilterModes = [{
56
56
  valueOP: runtime.ValueOP.NOT_EXISTS,
57
57
  label: "\u4E0D\u5B58\u5728(NOTEXISTS)"
58
58
  }];
59
- const ExcludeOPs = [runtime.ValueOP.IS_NULL, runtime.ValueOP.IS_NOT_NULL];
59
+ const ExcludeOPs = [runtime.ValueOP.IS_NULL, runtime.ValueOP.IS_NOT_NULL, runtime.ValueOP.EXISTS, runtime.ValueOP.NOT_EXISTS];
60
60
  const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
61
61
  name: "IBizFilterTreeControl",
62
62
  props: {
@@ -242,7 +242,6 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
242
242
  }, [editor]);
243
243
  };
244
244
  const renderFilterItem = (node, itemsC) => {
245
- let _slot;
246
245
  if (node.hidden) {
247
246
  return;
248
247
  }
@@ -273,14 +272,14 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
273
272
  "onChange": (field) => {
274
273
  onFieldSelect(node, field, fieldInfos);
275
274
  }
276
- }, _isSlot(_slot = fieldInfos.map((field) => {
277
- return vue.createVNode(vue.resolveComponent("el-option"), {
278
- "key": field.name,
279
- "value": field.name,
280
- "label": field.label
281
- }, null);
282
- })) ? _slot : {
283
- default: () => [_slot]
275
+ }, {
276
+ default: () => [fieldInfos == null ? void 0 : fieldInfos.map((field) => {
277
+ return vue.createVNode(vue.resolveComponent("el-option"), {
278
+ "key": field.name,
279
+ "value": field.name,
280
+ "label": field.label
281
+ }, null);
282
+ })]
284
283
  }), availableModes && availableModes.length > 0 && vue.createVNode(vue.resolveComponent("iBizFilterModeSelect"), {
285
284
  "disabled": node.disabled,
286
285
  "class": ns.e("mode-select"),
@@ -358,10 +357,10 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
358
357
  })])]);
359
358
  };
360
359
  renderFilterItems = (node) => {
361
- let _slot3;
360
+ let _slot2;
362
361
  const itemsC = findFilterController(node);
363
362
  if (node.simple) {
364
- let _slot2;
363
+ let _slot;
365
364
  const child = node.children[0];
366
365
  if (!child) {
367
366
  return;
@@ -373,14 +372,14 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
373
372
  "onChange": (field) => {
374
373
  onFieldSelect(node, field);
375
374
  }
376
- }, _isSlot(_slot2 = allFields.map((field) => {
375
+ }, _isSlot(_slot = allFields.map((field) => {
377
376
  return vue.createVNode(vue.resolveComponent("el-option"), {
378
377
  "key": field.name,
379
378
  "value": field.name,
380
379
  "label": field.label
381
380
  }, null);
382
- })) ? _slot2 : {
383
- default: () => [_slot2]
381
+ })) ? _slot : {
382
+ default: () => [_slot]
384
383
  }), vue.createVNode(vue.resolveComponent("iBizFilterModeSelect"), {
385
384
  "disabled": true,
386
385
  "class": ns.e("mode-select"),
@@ -397,8 +396,8 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
397
396
  "onClick": () => {
398
397
  addItem(node);
399
398
  }
400
- }, _isSlot(_slot3 = ibiz.i18n.t("control.searchBar.filterTree.addItem")) ? _slot3 : {
401
- default: () => [_slot3]
399
+ }, _isSlot(_slot2 = ibiz.i18n.t("control.searchBar.filterTree.addItem")) ? _slot2 : {
400
+ default: () => [_slot2]
402
401
  })]), vue.createVNode("div", {
403
402
  "class": ns.be("group", "list")
404
403
  }, [node.children.length > 0 && node.children.map((child, index) => {
@@ -435,7 +434,7 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
435
434
  };
436
435
  },
437
436
  render() {
438
- let _slot4;
437
+ let _slot3;
439
438
  return vue.createVNode("div", {
440
439
  "class": [this.ns.b()]
441
440
  }, [this.UiFilterNodes.length > 0 && this.UiFilterNodes.map((node) => {
@@ -455,8 +454,8 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
455
454
  "onClick": () => {
456
455
  this.onCancel();
457
456
  }
458
- }, _isSlot(_slot4 = ibiz.i18n.t("app.reset")) ? _slot4 : {
459
- default: () => [_slot4]
457
+ }, _isSlot(_slot3 = ibiz.i18n.t("app.reset")) ? _slot3 : {
458
+ default: () => [_slot3]
460
459
  })])]);
461
460
  }
462
461
  });
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ require('./short-cut-button.css');
6
+
7
+ "use strict";
8
+ const IBizShortCutButton = /* @__PURE__ */ vue.defineComponent({
9
+ name: "IBizShortCutButton",
10
+ props: {
11
+ mode: {
12
+ type: String,
13
+ required: false
14
+ },
15
+ size: {
16
+ type: String,
17
+ required: false
18
+ },
19
+ item: {
20
+ type: Object,
21
+ required: true
22
+ },
23
+ controller: {
24
+ type: Object,
25
+ required: true
26
+ }
27
+ },
28
+ emits: ["click"],
29
+ setup(props, {
30
+ emit
31
+ }) {
32
+ var _a;
33
+ const ns = vue3Util.useNamespace("short-cut-button");
34
+ const ns2 = vue3Util.useNamespace("toolbar-item");
35
+ const onClick = (e) => {
36
+ emit("click", e);
37
+ };
38
+ const buttonType = (_a = props.item.buttonStyle) == null ? void 0 : _a.toLowerCase();
39
+ const buttonState = vue.computed(() => props.controller.state.buttonsState[props.item.id]);
40
+ const isShortCut = vue.computed(() => props.controller.view.state.isShortCut);
41
+ return {
42
+ ns,
43
+ ns2,
44
+ buttonState,
45
+ buttonType,
46
+ isShortCut,
47
+ onClick
48
+ };
49
+ },
50
+ render() {
51
+ return vue.createVNode("div", {
52
+ "class": [this.ns.b(), this.ns.is("short-cut", this.isShortCut)]
53
+ }, [vue.createVNode(vue.resolveComponent("el-button"), {
54
+ "title": this.isShortCut ? "".concat(ibiz.i18n.t("app.cancel")).concat(this.item.tooltip) : this.item.tooltip,
55
+ "size": this.size,
56
+ "text": Object.is(this.buttonType, "inverse"),
57
+ "type": this.buttonType,
58
+ "loading": this.buttonState.loading,
59
+ "disabled": this.buttonState.disabled,
60
+ "onClick": this.onClick
61
+ }, {
62
+ default: () => [this.item.showIcon && this.item.sysImage && vue.createVNode("span", {
63
+ "class": this.ns2.b("icon")
64
+ }, [vue.createVNode(vue.resolveComponent("iBizIcon"), {
65
+ "icon": this.item.sysImage
66
+ }, null)]), this.item.showCaption && vue.createVNode("span", {
67
+ "class": this.ns2.b("text")
68
+ }, [this.isShortCut ? "".concat(ibiz.i18n.t("app.cancel")).concat(this.item.caption) : this.item.caption])]
69
+ })]);
70
+ }
71
+ });
72
+
73
+ exports.IBizShortCutButton = IBizShortCutButton;
@@ -4,6 +4,7 @@ var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var runtime = require('@ibiz-template/runtime');
6
6
  var exportExcel = require('./export-excel/export-excel.cjs');
7
+ var shortCutButton = require('./short-cut-button/short-cut-button.cjs');
7
8
  require('./toolbar.css');
8
9
 
9
10
  "use strict";
@@ -81,6 +82,11 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
81
82
  };
82
83
  const renderSubmenu = (item) => {
83
84
  const detoolbarItems = item.detoolbarItems || [];
85
+ const curVisible = c.state.buttonsState[item.id].visible;
86
+ const curDisabled = c.state.buttonsState[item.id].disabled;
87
+ if (!curVisible) {
88
+ return null;
89
+ }
84
90
  const ploading = detoolbarItems.findIndex((item2) => c.state.buttonsState[item2.id].loading) !== -1;
85
91
  const pvisible = detoolbarItems.findIndex((item2) => {
86
92
  return c.state.buttonsState[item2.id].visible === true;
@@ -88,7 +94,7 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
88
94
  if (!pvisible) {
89
95
  return null;
90
96
  }
91
- const pdisabled = detoolbarItems.findIndex((item2) => {
97
+ const pdisabled = curDisabled || detoolbarItems.findIndex((item2) => {
92
98
  return c.state.buttonsState[item2.id].disabled === false;
93
99
  }) === -1;
94
100
  const groupButtonStyle = item.buttonStyle || "";
@@ -103,9 +109,19 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
103
109
  var _a2, _b;
104
110
  const actionId = item2.uiactionId;
105
111
  const visible = (_a2 = c.state.buttonsState[item2.id]) == null ? void 0 : _a2.visible;
112
+ const provider = c.itemProviders[item2.id];
106
113
  if (!visible) {
107
114
  return null;
108
115
  }
116
+ if (provider) {
117
+ const component = vue.resolveComponent(provider.component);
118
+ return vue.h(component, {
119
+ key: item2.id,
120
+ class: [ns.e("item")],
121
+ item,
122
+ controller: c
123
+ });
124
+ }
109
125
  if (item2.itemType === "SEPERATOR") {
110
126
  return;
111
127
  }
@@ -171,9 +187,19 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
171
187
  var _a2, _b;
172
188
  const itemId = item.id;
173
189
  const visible = (_a2 = c.state.buttonsState[itemId]) == null ? void 0 : _a2.visible;
190
+ const provider = c.itemProviders[itemId];
174
191
  if (!visible) {
175
192
  return null;
176
193
  }
194
+ if (provider) {
195
+ const component = vue.resolveComponent(provider.component);
196
+ return vue.h(component, {
197
+ key: itemId,
198
+ class: [ns.e("item")],
199
+ item,
200
+ controller: c
201
+ });
202
+ }
177
203
  if (item.itemType === "SEPERATOR") {
178
204
  return vue.createVNode("div", {
179
205
  "key": itemId,
@@ -204,6 +230,16 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
204
230
  }
205
231
  }, null);
206
232
  }
233
+ if (actionId === "shortcut") {
234
+ return vue.createVNode(shortCutButton.IBizShortCutButton, {
235
+ "key": itemId,
236
+ "class": [ns.e("item"), ns.e("item-deuiaction"), ns.em("item", buttonType), calcCssName(item)],
237
+ "item": item,
238
+ "controller": c,
239
+ "size": btnSize.value,
240
+ "onClick": (e) => handleClick(item, e)
241
+ }, null);
242
+ }
207
243
  return vue.createVNode("div", {
208
244
  "key": itemId,
209
245
  "class": [ns.e("item"), ns.e("item-deuiaction"), ns.em("item", buttonType), calcCssName(item), ns.is("loading", c.state.buttonsState[itemId].loading)]
@@ -443,7 +443,7 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
443
443
  }
444
444
  return vue.createVNode(vue.resolveComponent("el-input"), {
445
445
  "model-value": this.c.state.query,
446
- "class": [this.ns.b("quick-search"), this.ns.b("quick-search")],
446
+ "class": this.ns.b("quick-search"),
447
447
  "placeholder": this.c.state.placeHolder,
448
448
  "onInput": this.onInput
449
449
  }, {
@@ -461,6 +461,7 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
461
461
  if (this.c.state.isLoaded && this.treeRefreshKey) {
462
462
  return vue.createVNode(vue.resolveComponent("el-tree"), {
463
463
  "ref": "treeRef",
464
+ "class": this.ns.b("tree"),
464
465
  "key": this.treeRefreshKey,
465
466
  "node-key": "_id",
466
467
  "highlight-current": true,
@@ -1 +1 @@
1
- .ibiz-control-treeview{--ibiz-control-treeview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-treeview-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-icon-width:var(--ibiz-spacing-base);height:100%;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%}.ibiz-control-treeview-node__icon{display:inline-block;width:var(--ibiz-control-treeview-icon-width);height:var(--ibiz-control-treeview-icon-height);margin-right:var(--ibiz-spacing-tight)}.ibiz-control-treeview-node__icon>svg{width:100%;height:100%}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-node--disabled{color:var(--ibiz-color-disabled-text);cursor:not-allowed}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:30px;text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-treeview-context-menu.mx-context-menu{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item{padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base)}.ibiz-control-treeview-quick-search{margin-bottom:var(--ibiz-spacing-tight)}
1
+ .ibiz-control-treeview{--ibiz-control-treeview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-treeview-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-icon-width:var(--ibiz-spacing-base);height:100%;padding:var(--ibiz-spacing-tight) 0}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%}.ibiz-control-treeview-node__icon{display:inline-block;width:var(--ibiz-control-treeview-icon-width);height:var(--ibiz-control-treeview-icon-height);margin-right:var(--ibiz-spacing-tight)}.ibiz-control-treeview-node__icon>svg{width:100%;height:100%}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-node--disabled{color:var(--ibiz-color-disabled-text);cursor:not-allowed}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:30px;text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-treeview-context-menu.mx-context-menu{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item{padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base)}.ibiz-control-treeview-quick-search{padding:0 var(--ibiz-spacing-base) var(--ibiz-spacing-tight)}.ibiz-control-treeview-tree{padding:0 var(--ibiz-spacing-base)}
@@ -249,6 +249,16 @@ const IBizPickerSelectView = /* @__PURE__ */ vue.defineComponent({
249
249
  keySet.value = items.value.map((item) => item.srfkey);
250
250
  }
251
251
  }
252
+ if (!singleSelect.value) {
253
+ if (c.model.valueType === "OBJECTS") {
254
+ emit("change", multipleObjs.value);
255
+ } else {
256
+ if (c.valueItem) {
257
+ emit("change", multipleTempValue.value, c.valueItem);
258
+ }
259
+ emit("change", multipleTempText.value);
260
+ }
261
+ }
252
262
  };
253
263
  const openLinkView = async (e) => {
254
264
  e.stopPropagation();
@@ -337,16 +347,6 @@ const IBizPickerSelectView = /* @__PURE__ */ vue.defineComponent({
337
347
  });
338
348
  const onVisibleChange = (e) => {
339
349
  showView.value = e;
340
- if (!e && !singleSelect.value) {
341
- if (c.model.valueType === "OBJECTS") {
342
- emit("change", multipleObjs.value);
343
- } else {
344
- if (c.valueItem) {
345
- emit("change", multipleTempValue.value, c.valueItem);
346
- }
347
- emit("change", multipleTempText.value);
348
- }
349
- }
350
350
  if (e === false) {
351
351
  onBlur({});
352
352
  }
@@ -359,6 +359,15 @@ const IBizPickerSelectView = /* @__PURE__ */ vue.defineComponent({
359
359
  }
360
360
  }
361
361
  };
362
+ const arrow = () => {
363
+ return vue.createVNode("svg", {
364
+ "viewBox": "0 0 1024 1024",
365
+ "xmlns": "http://www.w3.org/2000/svg"
366
+ }, [vue.createVNode("path", {
367
+ "fill": "currentColor",
368
+ "d": "M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"
369
+ }, null)]);
370
+ };
362
371
  return {
363
372
  ns,
364
373
  c,
@@ -390,7 +399,8 @@ const IBizPickerSelectView = /* @__PURE__ */ vue.defineComponent({
390
399
  onVisibleChange,
391
400
  showView,
392
401
  selectedData,
393
- handleDropDownKeyDown
402
+ handleDropDownKeyDown,
403
+ arrow
394
404
  };
395
405
  },
396
406
  render() {
@@ -425,7 +435,9 @@ const IBizPickerSelectView = /* @__PURE__ */ vue.defineComponent({
425
435
  }, null), this.c.model.linkAppViewId && vue.createVNode("ion-icon", {
426
436
  "onClick": this.openLinkView,
427
437
  "name": "link-arrow"
428
- }, null)];
438
+ }, null), this.c.model.showTrigger && vue.createVNode("div", {
439
+ "class": [this.ns.e("arrow"), this.showView ? "overturn" : ""]
440
+ }, [this.arrow()])];
429
441
  }
430
442
  }) : vue.createVNode(vue.resolveComponent("el-select"), {
431
443
  "popper-class": this.ns.b("select-popover"),
@@ -1 +1 @@
1
- .ibiz-picker-select-view{width:100%}.ibiz-picker-select-view .el-dropdown{width:100%}.ibiz-picker-select-view .el-select{width:100%}.ibiz-picker-select-view--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-select-view-popper.el-popper.el-dropdown__popper{width:100%;min-height:100px;max-height:500px;overflow:auto}.ibiz-picker-select-view-popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list{background:var(--ibiz-color-primary-text)}.ibiz-picker-select-view-popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list .el-dropdown-menu{background:var(--ibiz-color-primary-text)}.ibiz-picker-select-view-form-default-content{display:none}.ibiz-form-item .ibiz-picker-select-view.is-show-default:hover .ibiz-picker-select-view-form-default-content{display:none}.ibiz-form-item .ibiz-picker-select-view.is-show-default:hover .ibiz-picker-select-view-select{display:block}.ibiz-form-item .ibiz-picker-select-view.is-show-default .ibiz-picker-select-view-form-default-content{display:flex;align-items:center;width:100%;height:var(--ibiz-editor-default-line-height);padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-picker-select-view.is-show-default .ibiz-picker-select-view-form-default-content .ibiz-picker-select-view-content-item{height:22px;padding:0 9px;margin:2px 6px 2px 0;font-size:var(--ibiz-font-size-small);line-height:22px;color:var(--ibiz-editor-default-text-color);background-color:var(--ibiz-color-fill-0);border:1px solid transparent;border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item .ibiz-picker-select-view.is-show-default .ibiz-picker-select-view-select{display:none}.ibiz-form-item .ibiz-picker-select-view.is-show-default.is-editable .ibiz-picker-select-view-form-default-content{display:none}.ibiz-form-item .ibiz-picker-select-view.is-show-default.is-editable .ibiz-picker-select-view-select{display:block}.ibiz-picker-select-view-select-popover{display:none}
1
+ .ibiz-picker-select-view{width:100%}.ibiz-picker-select-view .el-dropdown{width:100%}.ibiz-picker-select-view .el-select{width:100%}.ibiz-picker-select-view__arrow{display:flex;transition:transform .3s;transform:rotateZ(0);transform-origin:center center}.ibiz-picker-select-view__arrow>svg{width:14px;height:14px}.ibiz-picker-select-view__arrow.overturn{transform:rotateZ(-180deg)}.ibiz-picker-select-view--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-select-view-popper.el-popper.el-dropdown__popper{width:100%;min-height:100px;max-height:500px;overflow:auto}.ibiz-picker-select-view-popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list{background:var(--ibiz-color-primary-text)}.ibiz-picker-select-view-popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list .el-dropdown-menu{background:var(--ibiz-color-primary-text)}.ibiz-picker-select-view-form-default-content{display:none}.ibiz-form-item .ibiz-picker-select-view.is-show-default:hover .ibiz-picker-select-view-form-default-content{display:none}.ibiz-form-item .ibiz-picker-select-view.is-show-default:hover .ibiz-picker-select-view-select{display:block}.ibiz-form-item .ibiz-picker-select-view.is-show-default .ibiz-picker-select-view-form-default-content{display:flex;align-items:center;width:100%;height:var(--ibiz-editor-default-line-height);padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-picker-select-view.is-show-default .ibiz-picker-select-view-form-default-content .ibiz-picker-select-view-content-item{height:22px;padding:0 9px;margin:2px 6px 2px 0;font-size:var(--ibiz-font-size-small);line-height:22px;color:var(--ibiz-editor-default-text-color);background-color:var(--ibiz-color-fill-0);border:1px solid transparent;border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item .ibiz-picker-select-view.is-show-default .ibiz-picker-select-view-select{display:none}.ibiz-form-item .ibiz-picker-select-view.is-show-default.is-editable .ibiz-picker-select-view-form-default-content{display:none}.ibiz-form-item .ibiz-picker-select-view.is-show-default.is-editable .ibiz-picker-select-view-select{display:block}.ibiz-picker-select-view-select-popover{display:none}
package/lib/index.cjs CHANGED
@@ -123,6 +123,7 @@ var overlayController = require('./util/overlay-controller/overlay-controller.cj
123
123
  var usePagination = require('./util/pagination/use-pagination.cjs');
124
124
  var noticeUtil = require('./util/notice-util/notice-util.cjs');
125
125
  var renderUtil = require('./util/render-util/render-util.cjs');
126
+ var appUtil = require('./util/app-util/app-util.cjs');
126
127
  var authGuard = require('./web-app/guard/auth-guard/auth-guard.cjs');
127
128
  var main = require('./web-app/main.cjs');
128
129
  var index$17 = require('./web-app/router/index.cjs');
@@ -252,6 +253,7 @@ exports.OverlayController = overlayController.OverlayController;
252
253
  exports.usePagination = usePagination.usePagination;
253
254
  exports.NoticeUtil = noticeUtil.NoticeUtil;
254
255
  exports.RenderUtil = renderUtil.RenderUtil;
256
+ exports.AppUtil = appUtil.AppUtil;
255
257
  exports.AuthGuard = authGuard.AuthGuard;
256
258
  exports.runApp = main.runApp;
257
259
  exports.AppRouter = index$17.AppRouter;
@@ -741,7 +741,8 @@ var index = {
741
741
  interfaceBehaviorMode: "Find the adapter that does not correspond to the interface behavior mode {uiactionMode}.",
742
742
  frontEndPluginNode: "Cannot find interface logic front-end plugin node, plugin {pluginKey} corresponding adapter",
743
743
  viewPlugin: "Cannot find the adapter corresponding to the view plugin {pluginKey}.",
744
- correspondViewTypeStyle: "Cannot find an adapter for view type: [{viewType}] corresponding to view style: [{viewStyle}]."
744
+ correspondViewTypeStyle: "Cannot find an adapter for view type: [{viewType}] corresponding to view style: [{viewStyle}].",
745
+ toolbarItem: "Cannot find the adapter corresponding to the toolbar item plugin {pluginKey}."
745
746
  }
746
747
  },
747
748
  service: {
@@ -739,7 +739,8 @@ var index = {
739
739
  interfaceBehaviorMode: "\u627E\u4E0D\u754C\u9762\u884C\u4E3A\u6A21\u5F0F{uiactionMode}\u5BF9\u5E94\u7684\u9002\u914D\u5668",
740
740
  frontEndPluginNode: "\u627E\u4E0D\u5230\u754C\u9762\u903B\u8F91\u524D\u7AEF\u63D2\u4EF6\u8282\u70B9\uFF0C\u63D2\u4EF6{pluginKey}\u5BF9\u5E94\u7684\u9002\u914D\u5668",
741
741
  viewPlugin: "\u627E\u4E0D\u5230\u89C6\u56FE\u63D2\u4EF6{pluginKey}\u5BF9\u5E94\u7684\u9002\u914D\u5668",
742
- correspondViewTypeStyle: "\u627E\u4E0D\u5230\u89C6\u56FE\u7C7B\u578B\uFF1A[{viewType}]\u7684\u89C6\u56FE\u6837\u5F0F\uFF1A[{viewStyle}]\u5BF9\u5E94\u7684\u9002\u914D\u5668"
742
+ correspondViewTypeStyle: "\u627E\u4E0D\u5230\u89C6\u56FE\u7C7B\u578B\uFF1A[{viewType}]\u7684\u89C6\u56FE\u6837\u5F0F\uFF1A[{viewStyle}]\u5BF9\u5E94\u7684\u9002\u914D\u5668",
743
+ toolbarItem: "\u627E\u4E0D\u5230\u5DE5\u5177\u680F\u9879\u63D2\u4EF6{pluginKey}\u5BF9\u5E94\u7684\u9002\u914D\u5668"
743
744
  }
744
745
  },
745
746
  service: {
@@ -26,6 +26,13 @@ class AuthCaptchaController extends runtime.PanelItemController {
26
26
  "Captcha-Code": ""
27
27
  }));
28
28
  }
29
+ /**
30
+ * 创建人机识别状态对象
31
+ *
32
+ * @protected
33
+ * @return {*} {AuthCaptchaState}
34
+ * @memberof AuthCaptchaController
35
+ */
29
36
  createState() {
30
37
  var _a;
31
38
  return new authCaptcha_state.AuthCaptchaState((_a = this.parent) == null ? void 0 : _a.state);
@@ -51,18 +58,15 @@ class AuthCaptchaController extends runtime.PanelItemController {
51
58
  async onInit() {
52
59
  super.onInit();
53
60
  await this.loadCaptcha();
54
- const view = this.panel.view;
55
- view.hooks.beforeLogin.tapPromise(async (context) => {
56
- if (!context.parentId || context.parentId === this.dataParent.model.id) {
57
- context.validate = context.validate && await this.validate();
58
- }
59
- });
60
- view.hooks.afterLogin.tap((context) => {
61
- if (!context.ok) {
62
- this.loadCaptcha();
63
- this.state.code = "";
61
+ this.panel.view.evt.on(
62
+ "onAfterLogin",
63
+ (evt) => {
64
+ if (!evt.ok && (!evt.panelDataParent || evt.panelDataParent === this.dataParent.model.id)) {
65
+ this.loadCaptcha();
66
+ this.state.code = "";
67
+ }
64
68
  }
65
- });
69
+ );
66
70
  }
67
71
  /**
68
72
  * 值校验
@@ -35,13 +35,8 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
35
35
  }
36
36
  return "LEFT";
37
37
  });
38
- const onClick = async () => {
39
- const bol = await ibiz.hub.controller.logout();
40
- if (bol) {
41
- await router.push("/login?ru=".concat(encodeURIComponent(window.location.hash.replace("#/", "/"))));
42
- ibiz.util.showAppLoading();
43
- window.location.reload();
44
- }
38
+ const onClick = () => {
39
+ ibiz.hub.controller.logout();
45
40
  };
46
41
  const isCollapse = vue.computed(() => {
47
42
  return c.panel.view.state.isCollapse;