@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
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ var authCaptcha_controller = require('./auth-captcha.controller.cjs');
6
+ require('./auth-captcha.css');
7
+
8
+ "use strict";
9
+ const AuthCaptcha = /* @__PURE__ */ vue.defineComponent({
10
+ name: "IBizAuthCaptcha",
11
+ props: {
12
+ modelData: {
13
+ type: Object,
14
+ required: true
15
+ },
16
+ controller: {
17
+ type: authCaptcha_controller.AuthCaptchaController,
18
+ required: true
19
+ }
20
+ },
21
+ setup(props) {
22
+ const ns = vue3Util.useNamespace("auth-captcha");
23
+ const c = props.controller;
24
+ const classArr = vue.computed(() => {
25
+ let result = [ns.b(), ns.m(c.model.id)];
26
+ result = [...result, ...props.controller.containerClass, ns.is("hidden", !props.controller.state.visible), ns.is("error", !!c.state.error)];
27
+ return result;
28
+ });
29
+ const onClick = () => {
30
+ if (!c.state.loading) {
31
+ c.loadCaptcha();
32
+ }
33
+ };
34
+ const onChange = () => {
35
+ c.onChange();
36
+ c.validate();
37
+ };
38
+ return {
39
+ c,
40
+ ns,
41
+ classArr,
42
+ onClick,
43
+ onChange
44
+ };
45
+ },
46
+ render() {
47
+ return vue.createVNode("div", {
48
+ "class": this.classArr
49
+ }, [vue.createVNode(vue.resolveComponent("el-input"), {
50
+ "modelValue": this.c.state.code,
51
+ "onUpdate:modelValue": ($event) => this.c.state.code = $event,
52
+ "class": this.ns.e("captcha"),
53
+ "onInput": this.onChange,
54
+ "onBlur": this.onChange,
55
+ "placeholder": "\u9A8C\u8BC1\u7801"
56
+ }, null), vue.withDirectives(vue.createVNode(vue.resolveComponent("el-image"), {
57
+ "src": this.c.state.image,
58
+ "class": this.ns.e("image"),
59
+ "onClick": this.onClick,
60
+ "title": "\u70B9\u51FB\u56FE\u7247\u5237\u65B0"
61
+ }, {
62
+ error: () => {
63
+ return vue.createVNode("div", {
64
+ "onClick": this.onClick,
65
+ "class": [this.ns.em("image", "hint"), this.ns.is("loading", this.c.state.loading)]
66
+ }, [this.c.state.loading ? "\u52A0\u8F7D\u4E2D..." : "\u52A0\u8F7D\u5931\u8D25"]);
67
+ }
68
+ }), [[vue.resolveDirective("loading"), this.c.state.loading]]), this.c.state.error && vue.createVNode("div", {
69
+ "class": this.ns.e("error")
70
+ }, [this.c.state.error])]);
71
+ }
72
+ });
73
+
74
+ exports.AuthCaptcha = AuthCaptcha;
@@ -0,0 +1,125 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var runtime = require('@ibiz-template/runtime');
5
+ var axios = require('axios');
6
+ var authCaptcha_state = require('./auth-captcha.state.cjs');
7
+
8
+ "use strict";
9
+ var __defProp = Object.defineProperty;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __publicField = (obj, key, value) => {
12
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
13
+ return value;
14
+ };
15
+ class AuthCaptchaController extends runtime.PanelItemController {
16
+ constructor() {
17
+ super(...arguments);
18
+ /**
19
+ * 验证码数据
20
+ *
21
+ * @private
22
+ * @memberof AuthCaptchaController
23
+ */
24
+ __publicField(this, "captcha", vue.reactive({
25
+ "Captcha-State": "",
26
+ "Captcha-Code": ""
27
+ }));
28
+ }
29
+ createState() {
30
+ var _a;
31
+ return new authCaptcha_state.AuthCaptchaState((_a = this.parent) == null ? void 0 : _a.state);
32
+ }
33
+ /**
34
+ * 面板状态变更通知
35
+ *
36
+ * @param {PanelNotifyState} _state
37
+ * @return {*} {Promise<void>}
38
+ * @memberof AuthCaptchaController
39
+ */
40
+ async panelStateNotify(_state) {
41
+ super.panelStateNotify(_state);
42
+ this.data.captcha = this.captcha;
43
+ }
44
+ /**
45
+ * 初始化
46
+ *
47
+ * @protected
48
+ * @return {*} {Promise<void>}
49
+ * @memberof AuthCaptchaController
50
+ */
51
+ async onInit() {
52
+ super.onInit();
53
+ 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 = "";
64
+ }
65
+ });
66
+ }
67
+ /**
68
+ * 值校验
69
+ *
70
+ * @return {*} {Promise<boolean>}
71
+ * @memberof AuthCaptchaController
72
+ */
73
+ async validate() {
74
+ if (this.state.code) {
75
+ this.state.error = void 0;
76
+ return true;
77
+ }
78
+ this.state.error = "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801";
79
+ return false;
80
+ }
81
+ /**
82
+ * 值改变
83
+ *
84
+ * @memberof AuthCaptchaController
85
+ */
86
+ onChange() {
87
+ Object.assign(this.captcha, {
88
+ "Captcha-State": this.state.state,
89
+ "Captcha-Code": this.state.code
90
+ });
91
+ }
92
+ /**
93
+ * 加载验证码
94
+ *
95
+ * @return {*} {Promise<void>}ss
96
+ * @memberof AuthCaptchaController
97
+ */
98
+ async loadCaptcha() {
99
+ this.state.loading = true;
100
+ const requestConfig = {
101
+ url: "".concat(ibiz.env.baseUrl, "/").concat(ibiz.env.appId, "/auths/captcha"),
102
+ method: "post",
103
+ headers: {
104
+ "Content-Type": "application/json;charset=UTF-8",
105
+ Accept: "application/json"
106
+ },
107
+ data: {}
108
+ };
109
+ try {
110
+ const res = await axios(requestConfig);
111
+ if (res.status === 200 && res.data) {
112
+ this.state.state = res.data.state;
113
+ this.state.image = res.data.image;
114
+ }
115
+ } catch (error) {
116
+ this.state.state = "";
117
+ this.state.image = "";
118
+ } finally {
119
+ this.state.loading = false;
120
+ this.onChange();
121
+ }
122
+ }
123
+ }
124
+
125
+ exports.AuthCaptchaController = AuthCaptchaController;
@@ -0,0 +1 @@
1
+ .ibiz-auth-captcha{display:flex;position:relative}.ibiz-auth-captcha__captcha{width:calc(100% - 120px)}.ibiz-auth-captcha__image{flex-shrink:0;width:120px;height:100%;cursor:pointer}.ibiz-auth-captcha__image--hint{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--ibiz-color-text-3);background-color:var(--ibiz-color-fill-0)}.ibiz-auth-captcha__error{left:0;top:100%;line-height:1;font-size:12px;padding-top:2px;position:absolute;color:var(--ibiz-color-danger)}.ibiz-auth-captcha.is-error .el-input__wrapper{box-shadow:0 0 0 1px var(--ibiz-color-danger) inset}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var authCaptcha_controller = require('./auth-captcha.controller.cjs');
4
+
5
+ "use strict";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => {
9
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ return value;
11
+ };
12
+ class AuthCaptchaProvider {
13
+ constructor() {
14
+ __publicField(this, "component", "IBizAuthCaptcha");
15
+ }
16
+ async createController(panelItem, panel, parent) {
17
+ const c = new authCaptcha_controller.AuthCaptchaController(panelItem, panel, parent);
18
+ await c.init();
19
+ return c;
20
+ }
21
+ }
22
+
23
+ exports.AuthCaptchaProvider = AuthCaptchaProvider;
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var runtime = require('@ibiz-template/runtime');
4
+
5
+ "use strict";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => {
9
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ return value;
11
+ };
12
+ class AuthCaptchaState extends runtime.PanelItemState {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * 验证码
17
+ *
18
+ * @type {string}
19
+ * @memberof AuthCaptchaState
20
+ */
21
+ __publicField(this, "code", "");
22
+ /**
23
+ * 验证图片
24
+ *
25
+ * @type {string}
26
+ * @memberof AuthCaptchaState
27
+ */
28
+ __publicField(this, "image", "");
29
+ /**
30
+ * 验证UUID码
31
+ *
32
+ * @type {string}
33
+ * @memberof AuthCaptchaState
34
+ */
35
+ __publicField(this, "state", "");
36
+ /**
37
+ * 加载状态
38
+ *
39
+ * @type {boolean}
40
+ * @memberof AuthCaptchaState
41
+ */
42
+ __publicField(this, "loading", false);
43
+ /**
44
+ * 错误信息
45
+ *
46
+ * @type {string}
47
+ * @memberof AuthCaptchaState
48
+ */
49
+ __publicField(this, "error");
50
+ }
51
+ }
52
+
53
+ exports.AuthCaptchaState = AuthCaptchaState;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue3Util = require('@ibiz-template/vue3-util');
6
+ var runtime = require('@ibiz-template/runtime');
7
+ var authCaptcha = require('./auth-captcha.cjs');
8
+ var authCaptcha_provider = require('./auth-captcha.provider.cjs');
9
+
10
+ "use strict";
11
+ const IBizAuthCaptcha = vue3Util.withInstall(authCaptcha.AuthCaptcha, function(v) {
12
+ v.component(authCaptcha.AuthCaptcha.name, authCaptcha.AuthCaptcha);
13
+ runtime.registerPanelItemProvider(
14
+ "RAWITEM_AUTH_CAPTCHA",
15
+ () => new authCaptcha_provider.AuthCaptchaProvider()
16
+ );
17
+ });
18
+
19
+ exports.IBizAuthCaptcha = IBizAuthCaptcha;
20
+ exports.default = IBizAuthCaptcha;
@@ -24,7 +24,7 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
24
24
  const ns = vue3Util.useNamespace("user-info");
25
25
  const c = prop.controller;
26
26
  const {
27
- srfusername = "\u6E38\u5BA2",
27
+ srfusername = ibiz.i18n.t("panelComponent.authUserinfo.visitor"),
28
28
  srfpersonname
29
29
  } = ((_a = ibiz.appData) == null ? void 0 : _a.context) || {};
30
30
  const router = vueRouter.useRouter();
@@ -26,6 +26,8 @@ var index$k = require('./coop-pos/index.cjs');
26
26
  var index$l = require('./view-msg-pos/index.cjs');
27
27
  var index$8 = require('./user-action/index.cjs');
28
28
  var index$m = require('./data-import/index.cjs');
29
+ var index$n = require('./short-cut/index.cjs');
30
+ var index$o = require('./auth-captcha/index.cjs');
29
31
  var navPosIndex_state = require('./nav-pos-index/nav-pos-index.state.cjs');
30
32
  var navPosIndex_controller = require('./nav-pos-index/nav-pos-index.controller.cjs');
31
33
  var panelButton_controller = require('./panel-button/panel-button.controller.cjs');
@@ -73,6 +75,8 @@ const IBizPanelComponents = {
73
75
  v.use(index$l.IBizViewMsgPos);
74
76
  v.use(index$8.IBizUserAction);
75
77
  v.use(index$m.IBizDataImport);
78
+ v.use(index$n.IBizShortCut);
79
+ v.use(index$o.IBizAuthCaptcha);
76
80
  }
77
81
  };
78
82
 
@@ -82,7 +82,7 @@ const NavPosIndex = /* @__PURE__ */ vue.defineComponent({
82
82
  default: () => [Component && vue.createVNode(Component, null, null)]
83
83
  });
84
84
  }
85
- }) : vue.createVNode("div", null, [vue.createTextVNode("\u975E\u8DEF\u7531\u6A21\u5F0F\u5BFC\u822A\u5360\u4F4D\u6682\u672A\u652F\u6301")])]);
85
+ }) : vue.createVNode("div", null, [ibiz.i18n.t("panelComponent.navPosIndex.noSupportPrompt")])]);
86
86
  }
87
87
  });
88
88
 
@@ -28,10 +28,10 @@ const NavTabs = /* @__PURE__ */ vue.defineComponent({
28
28
  state
29
29
  } = props.controller;
30
30
  const actions = [{
31
- text: "\u5173\u95ED\u6240\u6709",
31
+ text: ibiz.i18n.t("panelComponent.navTabs.closeAll"),
32
32
  value: "closeAll"
33
33
  }, {
34
- text: "\u5173\u95ED\u5176\u4ED6",
34
+ text: ibiz.i18n.t("panelComponent.navTabs.closeOther"),
35
35
  value: "closeOther"
36
36
  }];
37
37
  const changePage = (pane) => {
@@ -109,7 +109,7 @@ const NavTabs = /* @__PURE__ */ vue.defineComponent({
109
109
  "size": "small",
110
110
  "type": "primary"
111
111
  }, {
112
- default: () => [vue.createTextVNode("\u66F4\u591A "), vue.createVNode("ion-icon", {
112
+ default: () => [ibiz.i18n.t("app.more"), vue.createVNode("ion-icon", {
113
113
  "name": "arrow-down"
114
114
  }, null)]
115
115
  });
@@ -101,13 +101,19 @@ class PanelButtonController extends runtime.PanelItemController {
101
101
  }
102
102
  event.stopPropagation();
103
103
  event.preventDefault();
104
+ const view = this.panel.view;
105
+ if (actionType === "UIACTION" && uiactionId === "login" && view.model.viewType === "APPLOGINVIEW" && !await view.validate(
106
+ this.dataParent.model.id
107
+ )) {
108
+ return;
109
+ }
104
110
  await runtime.UIActionUtil.execAndResolved(
105
111
  uiactionId,
106
112
  {
107
113
  context: this.panel.context,
108
114
  params: this.panel.params,
109
115
  data: [this.data],
110
- view: this.panel.view,
116
+ view,
111
117
  event,
112
118
  noWaitRoute: true
113
119
  },
@@ -47,7 +47,7 @@ const PanelRememberMe = /* @__PURE__ */ vue.defineComponent({
47
47
  }, [vue.createVNode(vue.resolveComponent("el-checkbox"), {
48
48
  "modelValue": this.isRemember,
49
49
  "onUpdate:modelValue": ($event) => this.isRemember = $event,
50
- "label": "\u8BB0\u4F4F\u6211"
50
+ "label": ibiz.i18n.t("app.rememberMe")
51
51
  }, null)]);
52
52
  }
53
53
  });
@@ -2,8 +2,8 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
- var runtime = require('@ibiz-template/runtime');
6
5
  require('./panel-tab-panel.css');
6
+ var panelTabPanel_controller = require('./panel-tab-panel.controller.cjs');
7
7
 
8
8
  "use strict";
9
9
  function _isSlot(s) {
@@ -17,12 +17,15 @@ const PanelTabPanel = /* @__PURE__ */ vue.defineComponent({
17
17
  required: true
18
18
  },
19
19
  controller: {
20
- type: runtime.PanelItemController,
20
+ type: panelTabPanel_controller.PanelTabPanelController,
21
21
  required: true
22
22
  }
23
23
  },
24
24
  setup(props) {
25
25
  const ns = vue3Util.useNamespace("panel-tab-panel");
26
+ const {
27
+ state
28
+ } = props.controller;
26
29
  const classArr = vue.computed(() => {
27
30
  const {
28
31
  id
@@ -31,13 +34,18 @@ const PanelTabPanel = /* @__PURE__ */ vue.defineComponent({
31
34
  result.push(...props.controller.containerClass);
32
35
  return result;
33
36
  });
37
+ const onTabClick = (tabIns, event) => {
38
+ props.controller.onTabChange(tabIns.props.name);
39
+ };
34
40
  return {
35
41
  ns,
36
- classArr
42
+ state,
43
+ classArr,
44
+ onTabClick
37
45
  };
38
46
  },
39
47
  render() {
40
- var _a, _b, _c;
48
+ var _a, _b;
41
49
  let _slot;
42
50
  if (!this.controller.state.visible) {
43
51
  return;
@@ -45,7 +53,8 @@ const PanelTabPanel = /* @__PURE__ */ vue.defineComponent({
45
53
  const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
46
54
  return vue.createVNode(vue.resolveComponent("el-tabs"), {
47
55
  "class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass],
48
- "model-value": (_c = this.modelData.panelTabPages) == null ? void 0 : _c[0].id
56
+ "model-value": this.state.activeTab,
57
+ "onTabClick": this.onTabClick
49
58
  }, _isSlot(_slot = defaultSlots.map((slot) => {
50
59
  const props = slot.props;
51
60
  if (!props || !props.controller) {
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var runtime = require('@ibiz-template/runtime');
4
+ var panelTabPanel_state = require('./panel-tab-panel.state.cjs');
5
+
6
+ "use strict";
7
+ class PanelTabPanelController extends runtime.PanelItemController {
8
+ /**
9
+ * 新建状态
10
+ *
11
+ * @author tony001
12
+ * @date 2024-05-12 14:05:16
13
+ * @protected
14
+ * @return {*} {PanelTabPanelState}
15
+ */
16
+ createState() {
17
+ var _a;
18
+ return new panelTabPanel_state.PanelTabPanelState((_a = this.parent) == null ? void 0 : _a.state);
19
+ }
20
+ /**
21
+ * 初始化
22
+ *
23
+ * @author tony001
24
+ * @date 2024-05-12 14:05:51
25
+ * @return {*} {Promise<void>}
26
+ */
27
+ async onInit() {
28
+ var _a;
29
+ await super.onInit();
30
+ this.state.activeTab = ((_a = this.model.panelTabPages) == null ? void 0 : _a[0].id) || "";
31
+ }
32
+ /**
33
+ * 分页点击切换处理
34
+ *
35
+ * @author tony001
36
+ * @date 2024-05-12 14:05:11
37
+ * @param {string} tabId
38
+ */
39
+ onTabChange(tabId) {
40
+ this.state.activeTab = tabId;
41
+ }
42
+ }
43
+
44
+ exports.PanelTabPanelController = PanelTabPanelController;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var runtime = require('@ibiz-template/runtime');
3
+ var panelTabPanel_controller = require('./panel-tab-panel.controller.cjs');
4
4
 
5
5
  "use strict";
6
6
  var __defProp = Object.defineProperty;
@@ -14,7 +14,7 @@ class PanelTabPanelProvider {
14
14
  __publicField(this, "component", "IBizPanelTabPanel");
15
15
  }
16
16
  async createController(panelItem, panel, parent) {
17
- const c = new runtime.PanelItemController(panelItem, panel, parent);
17
+ const c = new panelTabPanel_controller.PanelTabPanelController(panelItem, panel, parent);
18
18
  await c.init();
19
19
  return c;
20
20
  }
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var runtime = require('@ibiz-template/runtime');
4
+
5
+ "use strict";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => {
9
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ return value;
11
+ };
12
+ class PanelTabPanelState extends runtime.PanelItemState {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * 当前激活分页
17
+ *
18
+ * @author tony001
19
+ * @date 2024-05-12 14:05:36
20
+ * @type {string}
21
+ */
22
+ __publicField(this, "activeTab", "");
23
+ }
24
+ }
25
+
26
+ exports.PanelTabPanelState = PanelTabPanelState;
@@ -7,6 +7,9 @@ var ElementPlus = require('element-plus');
7
7
  var searchformButtons_controller = require('./searchform-buttons.controller.cjs');
8
8
 
9
9
  "use strict";
10
+ function _isSlot(s) {
11
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
12
+ }
10
13
  const SearchFormButtons = /* @__PURE__ */ vue.defineComponent({
11
14
  name: "IBizSearchFormButtons",
12
15
  props: {
@@ -29,9 +32,9 @@ const SearchFormButtons = /* @__PURE__ */ vue.defineComponent({
29
32
  c.onResetButtonClick();
30
33
  };
31
34
  const saveFilterConfirm = () => {
32
- ElementPlus.ElMessageBox.prompt("\u8BF7\u8F93\u5165\u8981\u5B58\u50A8\u7684\u81EA\u5B9A\u4E49\u67E5\u8BE2\u540D\u79F0\uFF1A", "\u5B58\u50A8\u81EA\u5B9A\u4E49\u67E5\u8BE2", {
33
- confirmButtonText: "\u4FDD\u5B58",
34
- cancelButtonText: "\u53D6\u6D88"
35
+ ElementPlus.ElMessageBox.prompt(ibiz.i18n.t("panelComponent.searchformButtons.enterPrompt"), ibiz.i18n.t("panelComponent.searchformButtons.queryPrompt"), {
36
+ confirmButtonText: ibiz.i18n.t("app.save"),
37
+ cancelButtonText: ibiz.i18n.t("app.cancel")
35
38
  }).then(({
36
39
  value
37
40
  }) => {
@@ -47,12 +50,13 @@ const SearchFormButtons = /* @__PURE__ */ vue.defineComponent({
47
50
  };
48
51
  },
49
52
  render() {
53
+ let _slot;
50
54
  return vue.createVNode("div", {
51
55
  "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass]
52
56
  }, [this.controller.searchButtonStyle === "SEARCHONLY" ? vue.createVNode(vue.resolveComponent("el-button"), {
53
57
  "onClick": this.onSearchButtonClick
54
- }, {
55
- default: () => [vue.createTextVNode("\u641C\u7D22")]
58
+ }, _isSlot(_slot = ibiz.i18n.t("app.search")) ? _slot : {
59
+ default: () => [_slot]
56
60
  }) : vue.createVNode(vue.resolveComponent("el-dropdown"), {
57
61
  "split-button": true,
58
62
  "type": "primary",
@@ -60,17 +64,18 @@ const SearchFormButtons = /* @__PURE__ */ vue.defineComponent({
60
64
  }, {
61
65
  default: () => vue.createVNode("span", {
62
66
  "class": this.ns.b("label")
63
- }, [vue.createTextVNode("\u641C\u7D22")]),
67
+ }, [ibiz.i18n.t("app.search")]),
64
68
  dropdown: () => {
69
+ let _slot2, _slot3;
65
70
  return vue.createVNode(vue.resolveComponent("el-dropdown-menu"), null, {
66
71
  default: () => [vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
67
72
  "onClick": this.onResetButtonClick
68
- }, {
69
- default: () => [vue.createTextVNode("\u91CD\u7F6E")]
73
+ }, _isSlot(_slot2 = ibiz.i18n.t("app.reset")) ? _slot2 : {
74
+ default: () => [_slot2]
70
75
  }), vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
71
76
  "onClick": this.saveFilterConfirm
72
- }, {
73
- default: () => [vue.createTextVNode("\u4FDD\u5B58\u6761\u4EF6")]
77
+ }, _isSlot(_slot3 = ibiz.i18n.t("panelComponent.searchformButtons.saveCondition")) ? _slot3 : {
78
+ default: () => [_slot3]
74
79
  }), this.controller.storedFilters.length > 0 && this.controller.storedFilters.map((item, index) => {
75
80
  return vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
76
81
  "class": this.ns.b("filter-item"),
@@ -45,7 +45,9 @@ class SearchFormButtonsController extends runtime.PanelItemController {
45
45
  await super.onInit();
46
46
  const searchFrom = this.panel.container;
47
47
  if (!searchFrom) {
48
- throw new core.RuntimeError("\u5F53\u524D\u89C6\u56FE\u91CC\u6CA1\u6709\u627E\u5230\u53EBsearchform\u7684\u641C\u7D22\u8868\u5355");
48
+ throw new core.RuntimeError(
49
+ ibiz.i18n.t("panelComponent.searchformButtons.errMessage")
50
+ );
49
51
  }
50
52
  this.searchFrom = searchFrom;
51
53
  }
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue3Util = require('@ibiz-template/vue3-util');
6
+ var runtime = require('@ibiz-template/runtime');
7
+ var shortCut = require('./short-cut.cjs');
8
+ var shortCut_provider = require('./short-cut.provider.cjs');
9
+
10
+ "use strict";
11
+ const IBizShortCut = vue3Util.withInstall(shortCut.ShortCut, function(v) {
12
+ v.component(shortCut.ShortCut.name, shortCut.ShortCut);
13
+ runtime.registerPanelItemProvider("RAWITEM_SHORTCUT", () => new shortCut_provider.ShortCutProvider());
14
+ });
15
+
16
+ exports.IBizShortCut = IBizShortCut;
17
+ exports.default = IBizShortCut;