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

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 (168) hide show
  1. package/dist/index-Ky5xo5V5.js +4 -0
  2. package/dist/index-WP6TUdg-.js +1 -0
  3. package/dist/index-kgWpXafW.js +1 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/wang-editor-PQvDXaA9.js +1 -0
  7. package/dist/{xlsx-util-lBpTaCO_.js → xlsx-util-OSsMvylt.js} +1 -1
  8. package/es/control/context-menu/context-menu.d.ts +1 -0
  9. package/es/control/context-menu/context-menu.mjs +8 -0
  10. package/es/control/context-menu/index.d.ts +1 -0
  11. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +2 -0
  12. package/es/control/form/form-detail/form-group-panel/form-group-panel.mjs +1 -1
  13. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +2 -0
  14. package/es/control/grid/grid/grid.mjs +0 -1
  15. package/es/control/kanban/kanban.mjs +1 -1
  16. package/es/control/list/list.mjs +2 -2
  17. package/es/control/search-bar/filter-tree/filter-tree.mjs +2 -2
  18. package/es/control/toolbar/export-excel/export-excel.css +1 -1
  19. package/es/editor/autocomplete/autocomplete-editor.controller.mjs +4 -1
  20. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.mjs +3 -1
  21. package/es/editor/code/monaco-editor/monaco-editor.mjs +3 -3
  22. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +1 -1
  23. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +2 -1
  24. package/es/editor/data-picker/picker-editor.controller.mjs +12 -3
  25. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +1 -1
  26. package/es/editor/html/wang-editor/wang-editor.mjs +7 -7
  27. package/es/editor/list-box/list-box-picker-editor.controller.mjs +4 -1
  28. package/es/editor/markdown/markdown-editor.controller.mjs +2 -2
  29. package/es/editor/not-supported-editor/not-supported-editor.mjs +4 -2
  30. package/es/editor/preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.mjs +4 -2
  31. package/es/editor/span/span-editor.controller.mjs +4 -1
  32. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.mjs +3 -1
  33. package/es/editor/text-box/text-box-editor.controller.mjs +4 -4
  34. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.mjs +7 -3
  35. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +1 -1
  36. package/es/locale/en/index.d.ts +550 -44
  37. package/es/locale/en/index.mjs +554 -48
  38. package/es/locale/zh-CN/index.d.ts +548 -44
  39. package/es/locale/zh-CN/index.mjs +552 -48
  40. package/es/panel-component/auth-captcha/auth-captcha.controller.d.ts +57 -0
  41. package/es/panel-component/auth-captcha/auth-captcha.controller.mjs +123 -0
  42. package/es/panel-component/auth-captcha/auth-captcha.css +1 -0
  43. package/es/panel-component/auth-captcha/auth-captcha.d.ts +29 -0
  44. package/es/panel-component/auth-captcha/auth-captcha.mjs +72 -0
  45. package/es/panel-component/auth-captcha/auth-captcha.provider.d.ts +14 -0
  46. package/es/panel-component/auth-captcha/auth-captcha.provider.mjs +21 -0
  47. package/es/panel-component/auth-captcha/auth-captcha.state.d.ts +45 -0
  48. package/es/panel-component/auth-captcha/auth-captcha.state.mjs +51 -0
  49. package/es/panel-component/auth-captcha/index.d.ts +26 -0
  50. package/es/panel-component/auth-captcha/index.mjs +15 -0
  51. package/es/panel-component/auth-userinfo/auth-userinfo.mjs +1 -1
  52. package/es/panel-component/index.mjs +4 -0
  53. package/es/panel-component/nav-pos-index/nav-pos-index.mjs +2 -2
  54. package/es/panel-component/nav-tabs/nav-tabs.mjs +4 -4
  55. package/es/panel-component/panel-button/panel-button.controller.mjs +7 -1
  56. package/es/panel-component/panel-remember-me/panel-remember-me.mjs +1 -1
  57. package/es/panel-component/panel-tab-panel/index.d.ts +4 -2
  58. package/es/panel-component/panel-tab-panel/panel-tab-panel.controller.d.ts +31 -0
  59. package/es/panel-component/panel-tab-panel/panel-tab-panel.controller.mjs +42 -0
  60. package/es/panel-component/panel-tab-panel/panel-tab-panel.d.ts +5 -3
  61. package/es/panel-component/panel-tab-panel/panel-tab-panel.mjs +14 -5
  62. package/es/panel-component/panel-tab-panel/panel-tab-panel.provider.d.ts +2 -1
  63. package/es/panel-component/panel-tab-panel/panel-tab-panel.provider.mjs +2 -2
  64. package/es/panel-component/panel-tab-panel/panel-tab-panel.state.d.ts +20 -0
  65. package/es/panel-component/panel-tab-panel/panel-tab-panel.state.mjs +24 -0
  66. package/es/panel-component/searchform-buttons/searchform-buttons.controller.mjs +3 -1
  67. package/es/panel-component/searchform-buttons/searchform-buttons.mjs +16 -11
  68. package/es/panel-component/short-cut/index.d.ts +43 -0
  69. package/es/panel-component/short-cut/index.mjs +12 -0
  70. package/es/panel-component/short-cut/short-cut.css +1 -0
  71. package/es/panel-component/short-cut/short-cut.d.ts +46 -0
  72. package/es/panel-component/short-cut/short-cut.mjs +190 -0
  73. package/es/panel-component/short-cut/short-cut.provider.d.ts +12 -0
  74. package/es/panel-component/short-cut/short-cut.provider.mjs +21 -0
  75. package/es/panel-component/user-message/async-action/async-action-preview/async-action-preview.mjs +20 -14
  76. package/es/panel-component/user-message/async-action/async-action-tab/async-action-tab.mjs +5 -3
  77. package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.mjs +1 -1
  78. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.mjs +3 -3
  79. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.mjs +9 -5
  80. package/es/panel-component/user-message/user-message.mjs +4 -4
  81. package/es/view/403-view/403-view.mjs +4 -4
  82. package/es/view/404-view/404-view.mjs +4 -4
  83. package/es/view/error-view/error-view.mjs +3 -1
  84. package/es/view/login-view/login-view.mjs +27 -23
  85. package/es/view/sub-app-ref-view/sub-app-ref-view.mjs +1 -1
  86. package/es/view-engine/edit-view.engine.mjs +22 -18
  87. package/es/view-engine/exp-view.engine.mjs +1 -1
  88. package/es/view-engine/login-view.engine.d.ts +3 -1
  89. package/es/view-engine/login-view.engine.mjs +20 -4
  90. package/es/view-engine/mpickup-view-engine.mjs +1 -1
  91. package/es/view-engine/opt-view.engine.mjs +2 -2
  92. package/es/view-engine/tab-exp-view.engine.mjs +2 -2
  93. package/es/view-engine/wf-dyna-edit-view.engine.mjs +5 -2
  94. package/es/web-app/guard/auth-guard/auth-guard.mjs +2 -2
  95. package/es/web-app/util/unauthorized-handler/unauthorized-handler.mjs +3 -1
  96. package/lib/control/context-menu/context-menu.cjs +8 -0
  97. package/lib/control/form/form-detail/form-group-panel/form-group-panel.cjs +1 -1
  98. package/lib/control/grid/grid/grid.cjs +0 -1
  99. package/lib/control/kanban/kanban.cjs +1 -1
  100. package/lib/control/list/list.cjs +1 -1
  101. package/lib/control/search-bar/filter-tree/filter-tree.cjs +2 -2
  102. package/lib/control/toolbar/export-excel/export-excel.css +1 -1
  103. package/lib/editor/autocomplete/autocomplete-editor.controller.cjs +4 -1
  104. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.cjs +3 -1
  105. package/lib/editor/code/monaco-editor/monaco-editor.cjs +3 -3
  106. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +1 -1
  107. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +2 -1
  108. package/lib/editor/data-picker/picker-editor.controller.cjs +12 -3
  109. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +1 -1
  110. package/lib/editor/html/wang-editor/wang-editor.cjs +6 -6
  111. package/lib/editor/list-box/list-box-picker-editor.controller.cjs +4 -1
  112. package/lib/editor/markdown/markdown-editor.controller.cjs +2 -2
  113. package/lib/editor/not-supported-editor/not-supported-editor.cjs +3 -1
  114. package/lib/editor/preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.cjs +3 -1
  115. package/lib/editor/span/span-editor.controller.cjs +4 -1
  116. package/lib/editor/text-box/ibiz-input-ip/ibiz-input-ip.cjs +3 -1
  117. package/lib/editor/text-box/text-box-editor.controller.cjs +4 -4
  118. package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.cjs +6 -2
  119. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +1 -1
  120. package/lib/locale/en/index.cjs +554 -48
  121. package/lib/locale/zh-CN/index.cjs +552 -48
  122. package/lib/panel-component/auth-captcha/auth-captcha.cjs +74 -0
  123. package/lib/panel-component/auth-captcha/auth-captcha.controller.cjs +125 -0
  124. package/lib/panel-component/auth-captcha/auth-captcha.css +1 -0
  125. package/lib/panel-component/auth-captcha/auth-captcha.provider.cjs +23 -0
  126. package/lib/panel-component/auth-captcha/auth-captcha.state.cjs +53 -0
  127. package/lib/panel-component/auth-captcha/index.cjs +20 -0
  128. package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +1 -1
  129. package/lib/panel-component/index.cjs +4 -0
  130. package/lib/panel-component/nav-pos-index/nav-pos-index.cjs +1 -1
  131. package/lib/panel-component/nav-tabs/nav-tabs.cjs +3 -3
  132. package/lib/panel-component/panel-button/panel-button.controller.cjs +7 -1
  133. package/lib/panel-component/panel-remember-me/panel-remember-me.cjs +1 -1
  134. package/lib/panel-component/panel-tab-panel/panel-tab-panel.cjs +14 -5
  135. package/lib/panel-component/panel-tab-panel/panel-tab-panel.controller.cjs +44 -0
  136. package/lib/panel-component/panel-tab-panel/panel-tab-panel.provider.cjs +2 -2
  137. package/lib/panel-component/panel-tab-panel/panel-tab-panel.state.cjs +26 -0
  138. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +15 -10
  139. package/lib/panel-component/searchform-buttons/searchform-buttons.controller.cjs +3 -1
  140. package/lib/panel-component/short-cut/index.cjs +17 -0
  141. package/lib/panel-component/short-cut/short-cut.cjs +192 -0
  142. package/lib/panel-component/short-cut/short-cut.css +1 -0
  143. package/lib/panel-component/short-cut/short-cut.provider.cjs +23 -0
  144. package/lib/panel-component/user-message/async-action/async-action-preview/async-action-preview.cjs +19 -13
  145. package/lib/panel-component/user-message/async-action/async-action-tab/async-action-tab.cjs +4 -2
  146. package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.cjs +1 -1
  147. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.cjs +2 -2
  148. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.cjs +8 -4
  149. package/lib/panel-component/user-message/user-message.cjs +4 -4
  150. package/lib/view/403-view/403-view.cjs +3 -3
  151. package/lib/view/404-view/404-view.cjs +3 -3
  152. package/lib/view/error-view/error-view.cjs +3 -1
  153. package/lib/view/login-view/login-view.cjs +26 -22
  154. package/lib/view/sub-app-ref-view/sub-app-ref-view.cjs +1 -1
  155. package/lib/view-engine/edit-view.engine.cjs +22 -18
  156. package/lib/view-engine/exp-view.engine.cjs +1 -1
  157. package/lib/view-engine/login-view.engine.cjs +20 -4
  158. package/lib/view-engine/mpickup-view-engine.cjs +1 -1
  159. package/lib/view-engine/opt-view.engine.cjs +2 -2
  160. package/lib/view-engine/tab-exp-view.engine.cjs +2 -2
  161. package/lib/view-engine/wf-dyna-edit-view.engine.cjs +5 -2
  162. package/lib/web-app/guard/auth-guard/auth-guard.cjs +2 -2
  163. package/lib/web-app/util/unauthorized-handler/unauthorized-handler.cjs +3 -1
  164. package/package.json +6 -5
  165. package/dist/index-0Z8KS6t6.js +0 -1
  166. package/dist/index-GZW20-jI.js +0 -4
  167. package/dist/index-OkS9bkdl.js +0 -1
  168. package/dist/wang-editor-HlmvPsb1.js +0 -1
@@ -1,26 +1,28 @@
1
1
  import { IPanelTabPanel } from '@ibiz/model-core';
2
2
  import { PropType } from 'vue';
3
- import { PanelItemController } from '@ibiz-template/runtime';
4
3
  import './panel-tab-panel.scss';
4
+ import { PanelTabPanelController } from './panel-tab-panel.controller';
5
5
  export declare const PanelTabPanel: import("vue").DefineComponent<{
6
6
  modelData: {
7
7
  type: PropType<IPanelTabPanel>;
8
8
  required: true;
9
9
  };
10
10
  controller: {
11
- type: typeof PanelItemController;
11
+ type: typeof PanelTabPanelController;
12
12
  required: true;
13
13
  };
14
14
  }, {
15
15
  ns: import("@ibiz-template/core").Namespace;
16
+ state: import("./panel-tab-panel.state").PanelTabPanelState;
16
17
  classArr: import("vue").ComputedRef<(string | false)[]>;
18
+ onTabClick: (tabIns: IData, event: MouseEvent) => void;
17
19
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
20
  modelData: {
19
21
  type: PropType<IPanelTabPanel>;
20
22
  required: true;
21
23
  };
22
24
  controller: {
23
- type: typeof PanelItemController;
25
+ type: typeof PanelTabPanelController;
24
26
  required: true;
25
27
  };
26
28
  }>>, {}, {}>;
@@ -1,7 +1,7 @@
1
1
  import { isVNode, computed, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
- import { PanelItemController } from '@ibiz-template/runtime';
4
3
  import './panel-tab-panel.css';
4
+ import { PanelTabPanelController } from './panel-tab-panel.controller.mjs';
5
5
 
6
6
  "use strict";
7
7
  function _isSlot(s) {
@@ -15,12 +15,15 @@ const PanelTabPanel = /* @__PURE__ */ defineComponent({
15
15
  required: true
16
16
  },
17
17
  controller: {
18
- type: PanelItemController,
18
+ type: PanelTabPanelController,
19
19
  required: true
20
20
  }
21
21
  },
22
22
  setup(props) {
23
23
  const ns = useNamespace("panel-tab-panel");
24
+ const {
25
+ state
26
+ } = props.controller;
24
27
  const classArr = computed(() => {
25
28
  const {
26
29
  id
@@ -29,13 +32,18 @@ const PanelTabPanel = /* @__PURE__ */ defineComponent({
29
32
  result.push(...props.controller.containerClass);
30
33
  return result;
31
34
  });
35
+ const onTabClick = (tabIns, event) => {
36
+ props.controller.onTabChange(tabIns.props.name);
37
+ };
32
38
  return {
33
39
  ns,
34
- classArr
40
+ state,
41
+ classArr,
42
+ onTabClick
35
43
  };
36
44
  },
37
45
  render() {
38
- var _a, _b, _c;
46
+ var _a, _b;
39
47
  let _slot;
40
48
  if (!this.controller.state.visible) {
41
49
  return;
@@ -43,7 +51,8 @@ const PanelTabPanel = /* @__PURE__ */ defineComponent({
43
51
  const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
44
52
  return createVNode(resolveComponent("el-tabs"), {
45
53
  "class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass],
46
- "model-value": (_c = this.modelData.panelTabPages) == null ? void 0 : _c[0].id
54
+ "model-value": this.state.activeTab,
55
+ "onTabClick": this.onTabClick
47
56
  }, _isSlot(_slot = defaultSlots.map((slot) => {
48
57
  const props = slot.props;
49
58
  if (!props || !props.controller) {
@@ -1,5 +1,6 @@
1
1
  import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
2
2
  import { IPanelItem } from '@ibiz/model-core';
3
+ import { PanelTabPanelController } from './panel-tab-panel.controller';
3
4
  /**
4
5
  * 面板分页面板适配器
5
6
  *
@@ -9,5 +10,5 @@ import { IPanelItem } from '@ibiz/model-core';
9
10
  */
10
11
  export declare class PanelTabPanelProvider implements IPanelItemProvider {
11
12
  component: string;
12
- createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelItemController>;
13
+ createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelTabPanelController>;
13
14
  }
@@ -1,4 +1,4 @@
1
- import { PanelItemController } from '@ibiz-template/runtime';
1
+ import { PanelTabPanelController } from './panel-tab-panel.controller.mjs';
2
2
 
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -12,7 +12,7 @@ class PanelTabPanelProvider {
12
12
  __publicField(this, "component", "IBizPanelTabPanel");
13
13
  }
14
14
  async createController(panelItem, panel, parent) {
15
- const c = new PanelItemController(panelItem, panel, parent);
15
+ const c = new PanelTabPanelController(panelItem, panel, parent);
16
16
  await c.init();
17
17
  return c;
18
18
  }
@@ -0,0 +1,20 @@
1
+ import { PanelItemState } from '@ibiz-template/runtime';
2
+ /**
3
+ * 分页面板状态
4
+ *
5
+ * @author tony001
6
+ * @date 2024-05-12 14:05:01
7
+ * @export
8
+ * @class PanelTabPanelState
9
+ * @extends {PanelItemState}
10
+ */
11
+ export declare class PanelTabPanelState extends PanelItemState {
12
+ /**
13
+ * 当前激活分页
14
+ *
15
+ * @author tony001
16
+ * @date 2024-05-12 14:05:36
17
+ * @type {string}
18
+ */
19
+ activeTab: string;
20
+ }
@@ -0,0 +1,24 @@
1
+ import { PanelItemState } 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 PanelTabPanelState extends PanelItemState {
11
+ constructor() {
12
+ super(...arguments);
13
+ /**
14
+ * 当前激活分页
15
+ *
16
+ * @author tony001
17
+ * @date 2024-05-12 14:05:36
18
+ * @type {string}
19
+ */
20
+ __publicField(this, "activeTab", "");
21
+ }
22
+ }
23
+
24
+ export { PanelTabPanelState };
@@ -43,7 +43,9 @@ class SearchFormButtonsController extends PanelItemController {
43
43
  await super.onInit();
44
44
  const searchFrom = this.panel.container;
45
45
  if (!searchFrom) {
46
- throw new RuntimeError("\u5F53\u524D\u89C6\u56FE\u91CC\u6CA1\u6709\u627E\u5230\u53EBsearchform\u7684\u641C\u7D22\u8868\u5355");
46
+ throw new RuntimeError(
47
+ ibiz.i18n.t("panelComponent.searchformButtons.errMessage")
48
+ );
47
49
  }
48
50
  this.searchFrom = searchFrom;
49
51
  }
@@ -1,10 +1,13 @@
1
- import { resolveComponent, createTextVNode, createVNode, defineComponent } from 'vue';
1
+ import { isVNode, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './searchform-buttons.css';
4
4
  import { ElMessageBox } from 'element-plus';
5
5
  import { SearchFormButtonsController } from './searchform-buttons.controller.mjs';
6
6
 
7
7
  "use strict";
8
+ function _isSlot(s) {
9
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
10
+ }
8
11
  const SearchFormButtons = /* @__PURE__ */ defineComponent({
9
12
  name: "IBizSearchFormButtons",
10
13
  props: {
@@ -27,9 +30,9 @@ const SearchFormButtons = /* @__PURE__ */ defineComponent({
27
30
  c.onResetButtonClick();
28
31
  };
29
32
  const saveFilterConfirm = () => {
30
- ElMessageBox.prompt("\u8BF7\u8F93\u5165\u8981\u5B58\u50A8\u7684\u81EA\u5B9A\u4E49\u67E5\u8BE2\u540D\u79F0\uFF1A", "\u5B58\u50A8\u81EA\u5B9A\u4E49\u67E5\u8BE2", {
31
- confirmButtonText: "\u4FDD\u5B58",
32
- cancelButtonText: "\u53D6\u6D88"
33
+ ElMessageBox.prompt(ibiz.i18n.t("panelComponent.searchformButtons.enterPrompt"), ibiz.i18n.t("panelComponent.searchformButtons.queryPrompt"), {
34
+ confirmButtonText: ibiz.i18n.t("app.save"),
35
+ cancelButtonText: ibiz.i18n.t("app.cancel")
33
36
  }).then(({
34
37
  value
35
38
  }) => {
@@ -45,12 +48,13 @@ const SearchFormButtons = /* @__PURE__ */ defineComponent({
45
48
  };
46
49
  },
47
50
  render() {
51
+ let _slot;
48
52
  return createVNode("div", {
49
53
  "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass]
50
54
  }, [this.controller.searchButtonStyle === "SEARCHONLY" ? createVNode(resolveComponent("el-button"), {
51
55
  "onClick": this.onSearchButtonClick
52
- }, {
53
- default: () => [createTextVNode("\u641C\u7D22")]
56
+ }, _isSlot(_slot = ibiz.i18n.t("app.search")) ? _slot : {
57
+ default: () => [_slot]
54
58
  }) : createVNode(resolveComponent("el-dropdown"), {
55
59
  "split-button": true,
56
60
  "type": "primary",
@@ -58,17 +62,18 @@ const SearchFormButtons = /* @__PURE__ */ defineComponent({
58
62
  }, {
59
63
  default: () => createVNode("span", {
60
64
  "class": this.ns.b("label")
61
- }, [createTextVNode("\u641C\u7D22")]),
65
+ }, [ibiz.i18n.t("app.search")]),
62
66
  dropdown: () => {
67
+ let _slot2, _slot3;
63
68
  return createVNode(resolveComponent("el-dropdown-menu"), null, {
64
69
  default: () => [createVNode(resolveComponent("el-dropdown-item"), {
65
70
  "onClick": this.onResetButtonClick
66
- }, {
67
- default: () => [createTextVNode("\u91CD\u7F6E")]
71
+ }, _isSlot(_slot2 = ibiz.i18n.t("app.reset")) ? _slot2 : {
72
+ default: () => [_slot2]
68
73
  }), createVNode(resolveComponent("el-dropdown-item"), {
69
74
  "onClick": this.saveFilterConfirm
70
- }, {
71
- default: () => [createTextVNode("\u4FDD\u5B58\u6761\u4EF6")]
75
+ }, _isSlot(_slot3 = ibiz.i18n.t("panelComponent.searchformButtons.saveCondition")) ? _slot3 : {
76
+ default: () => [_slot3]
72
77
  }), this.controller.storedFilters.length > 0 && this.controller.storedFilters.map((item, index) => {
73
78
  return createVNode(resolveComponent("el-dropdown-item"), {
74
79
  "class": this.ns.b("filter-item"),
@@ -0,0 +1,43 @@
1
+ export declare const IBizShortCut: 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
+ data: import("vue").Ref<{
13
+ key: string;
14
+ name: string;
15
+ appViewId: string;
16
+ context: {
17
+ [x: string]: any;
18
+ [x: symbol]: any;
19
+ srfsessionid: string;
20
+ srfappid: string;
21
+ srfsimple?: boolean | undefined;
22
+ srfpaginationviewid?: string | undefined;
23
+ };
24
+ params: IParams;
25
+ openMode: string;
26
+ icon?: string | undefined;
27
+ }[]>;
28
+ isShowToolbar: import("vue").Ref<boolean>;
29
+ onChange: (evt: IData) => void;
30
+ onShowChange: () => void;
31
+ renderDraggable: (isVertical: boolean) => JSX.Element;
32
+ renderMoreToolbar: () => JSX.Element;
33
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
34
+ modelData: {
35
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
36
+ required: true;
37
+ };
38
+ controller: {
39
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
40
+ required: true;
41
+ };
42
+ }>>, {}, {}>>;
43
+ export default IBizShortCut;
@@ -0,0 +1,12 @@
1
+ import { withInstall } from '@ibiz-template/vue3-util';
2
+ import { registerPanelItemProvider } from '@ibiz-template/runtime';
3
+ import { ShortCut } from './short-cut.mjs';
4
+ import { ShortCutProvider } from './short-cut.provider.mjs';
5
+
6
+ "use strict";
7
+ const IBizShortCut = withInstall(ShortCut, function(v) {
8
+ v.component(ShortCut.name, ShortCut);
9
+ registerPanelItemProvider("RAWITEM_SHORTCUT", () => new ShortCutProvider());
10
+ });
11
+
12
+ export { IBizShortCut, IBizShortCut as default };
@@ -0,0 +1 @@
1
+ .ibiz-short-cut{bottom:4px;right:4px;z-index:2;position:fixed;display:flex;align-items:center;border-radius:4px;box-shadow:0 0 16px rgba(0,0,0,.0784313725);border:1px solid var(--ibiz-color-border);background:var(--ibiz-color-bg-1)}.ibiz-short-cut.is-hidden{display:none}.ibiz-short-cut__more{padding:2px;cursor:pointer}.ibiz-short-cut__more .el-tooltip__trigger{padding:8px;line-height:18px}.ibiz-short-cut__more .el-tooltip__trigger:hover{border-radius:2px;color:var(--ibiz-color-primary);background-color:var(--ibiz-color-primary-light-default)}.ibiz-short-cut__more--icon{margin-left:8px}.ibiz-short-cut__recover{padding:2px;display:flex;cursor:pointer;align-items:center}.ibiz-short-cut__recover .el-tooltip__trigger{padding:8px;line-height:18px}.ibiz-short-cut__recover .el-tooltip__trigger:hover{border-radius:2px;color:var(--ibiz-color-primary);background-color:var(--ibiz-color-primary-light-default)}.ibiz-short-cut__item{display:flex;cursor:pointer;position:relative;align-items:center;flex-flow:row nowrap;place-content:center flex-start}.ibiz-short-cut__item .icon{flex-shrink:0}.ibiz-short-cut__item .icon.caption{margin-right:8px}.ibiz-short-cut__item .drag-icon{visibility:hidden}.ibiz-short-cut__item .close-icon{visibility:hidden;font-size:18px}.ibiz-short-cut__item .close-icon:hover{color:var(--ibiz-color-danger-hover)}.ibiz-short-cut__item--caption{flex-grow:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ibiz-short-cut__item:hover .close-icon,.ibiz-short-cut__item:hover .drag-icon{visibility:visible}.ibiz-short-cut .is-horizontal{display:flex;padding:8px}.ibiz-short-cut .is-horizontal .ibiz-short-cut__item{max-width:165px;border-right:1px solid var(--ibiz-color-border)}.ibiz-short-cut .is-horizontal .ibiz-short-cut__item--caption{margin:0 8px}.ibiz-short-cut__popover.el-popover.el-popper{padding:10px 0}.ibiz-short-cut__popover .is-vertical .ibiz-short-cut__item{width:225px;height:44px;padding:9px 20px}.ibiz-short-cut__popover .is-vertical .ibiz-short-cut__item .drag-icon{left:5px;position:absolute}.ibiz-short-cut__popover .is-vertical .ibiz-short-cut__item:hover{background-color:var(--ibiz-color-fill-1)}
@@ -0,0 +1,46 @@
1
+ import { PropType } from 'vue';
2
+ import { IPanelRawItem } from '@ibiz/model-core';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+ import './short-cut.scss';
5
+ export declare const ShortCut: 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
+ data: import("vue").Ref<{
17
+ key: string;
18
+ name: string;
19
+ appViewId: string;
20
+ context: {
21
+ [x: string]: any;
22
+ [x: symbol]: any;
23
+ srfsessionid: string;
24
+ srfappid: string;
25
+ srfsimple?: boolean | undefined;
26
+ srfpaginationviewid?: string | undefined;
27
+ };
28
+ params: IParams;
29
+ openMode: string;
30
+ icon?: string | undefined;
31
+ }[]>;
32
+ isShowToolbar: import("vue").Ref<boolean>;
33
+ onChange: (evt: IData) => void;
34
+ onShowChange: () => void;
35
+ renderDraggable: (isVertical: boolean) => JSX.Element;
36
+ renderMoreToolbar: () => JSX.Element;
37
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
+ modelData: {
39
+ type: PropType<IPanelRawItem>;
40
+ required: true;
41
+ };
42
+ controller: {
43
+ type: typeof PanelItemController;
44
+ required: true;
45
+ };
46
+ }>>, {}, {}>;
@@ -0,0 +1,190 @@
1
+ import { getCurrentInstance, ref, createVNode, resolveComponent, defineComponent } from 'vue';
2
+ import { PanelItemController, OpenAppViewCommand } from '@ibiz-template/runtime';
3
+ import { useNamespace } from '@ibiz-template/vue3-util';
4
+ import draggable from 'vuedraggable';
5
+ import './short-cut.css';
6
+ import { IBizContext } from '@ibiz-template/core';
7
+
8
+ "use strict";
9
+ const ShortCut = /* @__PURE__ */ defineComponent({
10
+ name: "IBizShortCut",
11
+ components: {
12
+ draggable
13
+ },
14
+ props: {
15
+ modelData: {
16
+ type: Object,
17
+ required: true
18
+ },
19
+ controller: {
20
+ type: PanelItemController,
21
+ required: true
22
+ }
23
+ },
24
+ setup(props) {
25
+ const ns = useNamespace("short-cut");
26
+ const vue = getCurrentInstance().proxy;
27
+ const isShowToolbar = ref(false);
28
+ const isShowMore = ref(false);
29
+ const data = ref(ibiz.util.shortCut.data);
30
+ const dragCache = {
31
+ newIndex: 0,
32
+ oldIndex: 0
33
+ };
34
+ const onShowChange = () => {
35
+ isShowToolbar.value = !isShowToolbar.value;
36
+ if (isShowToolbar.value) {
37
+ isShowMore.value = false;
38
+ }
39
+ };
40
+ const getOpenMode = (openMode) => {
41
+ switch (openMode) {
42
+ case "ROUTE_MODAL":
43
+ return "INDEXVIEWTAB_POPUPMODAL";
44
+ case "MODAL":
45
+ return "POPUPMODAL";
46
+ case "DRAWER":
47
+ return "DRAWER_RIGHT";
48
+ default:
49
+ }
50
+ };
51
+ const onClick = (item) => {
52
+ isShowMore.value = false;
53
+ ibiz.commands.execute(OpenAppViewCommand.TAG, item.appViewId, IBizContext.create(item.context), item.params, {
54
+ openMode: getOpenMode(item.openMode)
55
+ });
56
+ };
57
+ const onChange = (evt) => {
58
+ if (evt.moved) {
59
+ ibiz.util.shortCut.changeIndex(evt.moved.newIndex, evt.moved.oldIndex);
60
+ } else if (evt.added) {
61
+ dragCache.newIndex = evt.added.newIndex;
62
+ } else if (evt.removed) {
63
+ dragCache.oldIndex = evt.removed.oldIndex;
64
+ ibiz.util.shortCut.changeIndex(dragCache.newIndex, dragCache.oldIndex);
65
+ }
66
+ vue.$forceUpdate();
67
+ };
68
+ const onDelete = (event, key) => {
69
+ event.stopPropagation();
70
+ ibiz.util.shortCut.removeShortCut(key);
71
+ vue.$forceUpdate();
72
+ };
73
+ const renderDraggable = (isVertical) => {
74
+ return createVNode(draggable, {
75
+ "itemKey": "key",
76
+ "class": [ns.e("draggable"), ns.is("vertical", isVertical), ns.is("horizontal", !isVertical)],
77
+ "modelValue": data.value,
78
+ "group": props.controller.model.id,
79
+ "onChange": (evt) => onChange(evt)
80
+ }, {
81
+ item: ({
82
+ element,
83
+ index
84
+ }) => {
85
+ if (isVertical && !isShowToolbar.value || isVertical && isShowToolbar.value && index > 5 || !isVertical && index < 6) {
86
+ return createVNode("div", {
87
+ "class": ns.e("item"),
88
+ "onClick": () => onClick(element)
89
+ }, [createVNode("svg", {
90
+ "viewBox": "0 0 16 16",
91
+ "class": ["drag-icon", "icon"],
92
+ "xmlns": "http://www.w3.org/2000/svg",
93
+ "height": "14px",
94
+ "width": "14px",
95
+ "focusable": "false"
96
+ }, [createVNode("g", {
97
+ "id": "drag-icon/drag--",
98
+ "stroke-width": "1",
99
+ "fill-rule": "evenodd"
100
+ }, [createVNode("g", {
101
+ "id": "drag-icon",
102
+ "transform": "translate(5 1)",
103
+ "fill-rule": "nonzero"
104
+ }, [createVNode("path", {
105
+ "d": "M1 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM1 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2z",
106
+ "id": "drag-icon-air"
107
+ }, null)])])]), createVNode("ion-icon", {
108
+ "class": ["icon", "caption"],
109
+ "name": "ellipsis-horizontal-circle-outline"
110
+ }, null), createVNode("div", {
111
+ "class": ns.em("item", "caption")
112
+ }, [element.name]), createVNode("ion-icon", {
113
+ "class": ["close-icon", "icon"],
114
+ "name": "close-outline",
115
+ "onClick": (event) => onDelete(event, element.key)
116
+ }, null)]);
117
+ }
118
+ },
119
+ footer: () => {
120
+ if (isVertical && !isShowToolbar.value) {
121
+ return createVNode("div", {
122
+ "class": [ns.e("item"), ns.e("action")],
123
+ "onClick": onShowChange
124
+ }, [createVNode("ion-icon", {
125
+ "name": "chevron-back-outline"
126
+ }, null), createVNode("div", {
127
+ "class": ns.em("item", "caption")
128
+ }, [ibiz.i18n.t("panelComponent.shortCut.expandToolbar")])]);
129
+ }
130
+ }
131
+ });
132
+ };
133
+ const renderMoreToolbar = () => {
134
+ return createVNode(resolveComponent("el-popover"), {
135
+ "visible": isShowMore.value,
136
+ "onUpdate:visible": ($event) => isShowMore.value = $event,
137
+ "placement": "top-start",
138
+ "trigger": "click",
139
+ "width": "auto",
140
+ "popper-class": ns.e("popover")
141
+ }, {
142
+ reference: () => {
143
+ return createVNode("div", {
144
+ "class": ns.e("more")
145
+ }, [createVNode(resolveComponent("el-tooltip"), {
146
+ "content": ibiz.i18n.t("app.more"),
147
+ "placement": "top"
148
+ }, {
149
+ default: () => [createVNode("div", null, [createVNode("span", {
150
+ "class": ns.em("more", "caption")
151
+ }, [isShowToolbar.value ? "6/".concat(data.value.length) : data.value.length]), createVNode("i", {
152
+ "class": ["fa", ns.em("more", "icon"), isShowMore.value ? "fa-angle-double-down" : "fa-angle-double-up"],
153
+ "aria-hidden": "true"
154
+ }, null)])]
155
+ })]);
156
+ },
157
+ default: () => {
158
+ return renderDraggable(true);
159
+ }
160
+ });
161
+ };
162
+ return {
163
+ ns,
164
+ data,
165
+ isShowToolbar,
166
+ onChange,
167
+ onShowChange,
168
+ renderDraggable,
169
+ renderMoreToolbar
170
+ };
171
+ },
172
+ render() {
173
+ return createVNode("div", {
174
+ "class": [this.ns.b(), ...this.controller.containerClass, this.ns.is("hidden", this.data.length === 0)]
175
+ }, [this.isShowToolbar && this.renderDraggable(false), (!this.isShowToolbar || this.data.length > 6) && this.renderMoreToolbar(), this.isShowToolbar && createVNode("div", {
176
+ "class": this.ns.e("recover"),
177
+ "onClick": this.onShowChange
178
+ }, [createVNode(resolveComponent("el-tooltip"), {
179
+ "effect": "dark",
180
+ "content": ibiz.i18n.t("app.retract"),
181
+ "placement": "top"
182
+ }, {
183
+ default: () => [createVNode("ion-icon", {
184
+ "name": "chevron-forward-outline"
185
+ }, null)]
186
+ })])]);
187
+ }
188
+ });
189
+
190
+ export { ShortCut };
@@ -0,0 +1,12 @@
1
+ import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
2
+ import { IPanelItem } from '@ibiz/model-core';
3
+ /**
4
+ * 快捷方式组件适配器
5
+ *
6
+ * @class ShortCutProvider
7
+ * @implements {EditorProvider}
8
+ */
9
+ export declare class ShortCutProvider implements IPanelItemProvider {
10
+ component: string;
11
+ createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelItemController>;
12
+ }
@@ -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 ShortCutProvider {
11
+ constructor() {
12
+ __publicField(this, "component", "IBizShortCut");
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 { ShortCutProvider };