@ibiz-template/vue3-components 0.1.12-dev.0 → 0.1.13

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 (171) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/index.system.min.js +3 -3
  3. package/dist/index.system.min.js.map +1 -1
  4. package/dist/wang-editor-0c05cd5f.js +2 -0
  5. package/dist/wang-editor-0c05cd5f.js.map +1 -0
  6. package/es/common/action-toolbar/action-toolbar.mjs +1 -1
  7. package/es/common/no-data/no-data.mjs +1 -1
  8. package/es/common/rawitem/rawitem.css +1 -1
  9. package/es/common/split/split.css +1 -1
  10. package/es/control/app-menu/app-menu.css +1 -1
  11. package/es/control/app-menu/app-menu.mjs +1 -1
  12. package/es/control/app-menu-icon-view/app-menu-icon-view.mjs +1 -1
  13. package/es/control/calendar/calendar.mjs +1 -1
  14. package/es/control/dashboard/portlet/container-portlet/container-portlet.css +1 -0
  15. package/es/control/dashboard/portlet/container-portlet/container-portlet.d.ts +1 -0
  16. package/es/control/dashboard/portlet/container-portlet/container-portlet.mjs +1 -0
  17. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
  18. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.mjs +1 -1
  19. package/es/control/data-view/data-view.css +1 -1
  20. package/es/control/drbar/drbar.controller.mjs +2 -8
  21. package/es/control/drtab/drtab.controller.mjs +2 -8
  22. package/es/control/exp-bar/data-view-exp-bar/data-view-exp-bar.css +1 -1
  23. package/es/control/exp-bar/grid-exp-bar/grid-exp-bar.css +1 -1
  24. package/es/control/exp-bar/list-exp-bar/list-exp-bar.css +1 -1
  25. package/es/control/exp-bar/render-util.mjs +2 -2
  26. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.css +1 -1
  27. package/es/control/form/form/form.mjs +1 -1
  28. package/es/control/form/form-detail/form-button/form-button.css +1 -1
  29. package/es/control/form/form-detail/form-button/form-button.mjs +6 -5
  30. package/es/control/form/form-detail/form-group-panel/form-group-panel.mjs +1 -1
  31. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.d.ts +72 -0
  32. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.mjs +157 -0
  33. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.d.ts +1 -3
  34. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.mjs +17 -100
  35. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.d.ts +1 -3
  36. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.mjs +19 -85
  37. package/es/control/form/form-detail/form-mdctrl/index.mjs +2 -0
  38. package/es/control/form/form-detail/form-page/form-page.css +1 -1
  39. package/es/control/form/search-form/search-form.css +1 -1
  40. package/es/control/form/search-form/search-form.mjs +10 -3
  41. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +2 -0
  42. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +7 -4
  43. package/es/control/grid/grid-column/grid-field-column/index.d.ts +2 -0
  44. package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.mjs +2 -1
  45. package/es/control/panel/view-layout-panel/index.d.ts +10 -0
  46. package/es/control/panel/view-layout-panel/view-layout-panel.d.ts +11 -3
  47. package/es/control/panel/view-layout-panel/view-layout-panel.mjs +48 -42
  48. package/es/control/toolbar/toolbar.mjs +1 -1
  49. package/es/control/tree/tree.css +1 -1
  50. package/es/devtool/devtool-action.css +1 -0
  51. package/es/devtool/devtool-action.d.ts +26 -0
  52. package/es/devtool/devtool-action.mjs +218 -0
  53. package/es/devtool/index.d.ts +50 -0
  54. package/es/devtool/index.mjs +80 -0
  55. package/es/devtool/interface/devtool-event.d.ts +12 -0
  56. package/es/devtool/interface/devtool-event.mjs +1 -0
  57. package/es/devtool/interface/devtool-view.d.ts +15 -0
  58. package/es/devtool/interface/devtool-view.mjs +1 -0
  59. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.mjs +1 -1
  60. package/es/editor/html/wang-editor/wang-editor.mjs +5 -0
  61. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  62. package/es/editor/text-box/input/input.d.ts +2 -2
  63. package/es/editor/text-box/input/input.mjs +1 -1
  64. package/es/index.d.ts +1 -0
  65. package/es/index.mjs +3 -0
  66. package/es/node_modules/.pnpm/element-plus@2.3.9_vue@3.3.4/node_modules/element-plus/dist/locale/zh-cn.mjs +131 -0
  67. package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  68. package/es/panel-component/auth-userinfo/auth-userinfo.d.ts +3 -0
  69. package/es/panel-component/auth-userinfo/auth-userinfo.mjs +29 -6
  70. package/es/panel-component/auth-userinfo/index.d.ts +3 -0
  71. package/es/panel-component/index.d.ts +1 -0
  72. package/es/panel-component/index.mjs +4 -1
  73. package/es/panel-component/nav-tabs/nav-tabs.css +1 -1
  74. package/es/panel-component/panel-app-header/panel-app-header.css +1 -1
  75. package/es/panel-component/panel-app-title/panel-app-title.css +1 -1
  76. package/es/panel-component/panel-button/panel-button.css +1 -1
  77. package/es/panel-component/panel-button/panel-button.mjs +5 -4
  78. package/es/panel-component/panel-exp-header/panel-exp-header.css +1 -1
  79. package/es/panel-component/panel-index-view-search/index.d.ts +28 -0
  80. package/es/panel-component/panel-index-view-search/index.mjs +17 -0
  81. package/es/panel-component/panel-index-view-search/panel-index-view-search.css +1 -0
  82. package/es/panel-component/panel-index-view-search/panel-index-view-search.d.ts +30 -0
  83. package/es/panel-component/panel-index-view-search/panel-index-view-search.mjs +82 -0
  84. package/es/panel-component/panel-index-view-search/panel-index-view-search.provider.d.ts +13 -0
  85. package/es/panel-component/panel-index-view-search/panel-index-view-search.provider.mjs +20 -0
  86. package/es/panel-component/single-data-container/index.d.ts +10 -0
  87. package/es/panel-component/single-data-container/single-data-container.controller.d.ts +37 -2
  88. package/es/panel-component/single-data-container/single-data-container.controller.mjs +75 -1
  89. package/es/panel-component/single-data-container/single-data-container.d.ts +11 -2
  90. package/es/panel-component/single-data-container/single-data-container.mjs +34 -21
  91. package/es/util/app-drawer/app-drawer-component.css +1 -1
  92. package/es/view/common/index.d.ts +1 -0
  93. package/es/view/common/view.css +1 -1
  94. package/es/view/common/view.d.ts +1 -0
  95. package/es/view/common/view.mjs +13 -1
  96. package/es/view-engine/tab-exp-view.engine.d.ts +1 -0
  97. package/es/view-engine/tab-exp-view.engine.mjs +8 -1
  98. package/lib/common/action-toolbar/action-toolbar.cjs +1 -1
  99. package/lib/common/no-data/no-data.cjs +1 -1
  100. package/lib/common/rawitem/rawitem.css +1 -1
  101. package/lib/common/split/split.css +1 -1
  102. package/lib/control/app-menu/app-menu.cjs +1 -1
  103. package/lib/control/app-menu/app-menu.css +1 -1
  104. package/lib/control/app-menu-icon-view/app-menu-icon-view.cjs +1 -1
  105. package/lib/control/calendar/calendar.cjs +1 -1
  106. package/lib/control/dashboard/portlet/container-portlet/container-portlet.cjs +1 -0
  107. package/lib/control/dashboard/portlet/container-portlet/container-portlet.css +1 -0
  108. package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.cjs +1 -1
  109. package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
  110. package/lib/control/data-view/data-view.css +1 -1
  111. package/lib/control/drbar/drbar.controller.cjs +2 -8
  112. package/lib/control/drtab/drtab.controller.cjs +2 -8
  113. package/lib/control/exp-bar/data-view-exp-bar/data-view-exp-bar.css +1 -1
  114. package/lib/control/exp-bar/grid-exp-bar/grid-exp-bar.css +1 -1
  115. package/lib/control/exp-bar/list-exp-bar/list-exp-bar.css +1 -1
  116. package/lib/control/exp-bar/render-util.cjs +2 -2
  117. package/lib/control/exp-bar/tree-exp-bar/tree-exp-bar.css +1 -1
  118. package/lib/control/form/form/form.cjs +1 -1
  119. package/lib/control/form/form-detail/form-button/form-button.cjs +6 -5
  120. package/lib/control/form/form-detail/form-button/form-button.css +1 -1
  121. package/lib/control/form/form-detail/form-group-panel/form-group-panel.cjs +1 -1
  122. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.cjs +159 -0
  123. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.cjs +16 -99
  124. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.cjs +18 -84
  125. package/lib/control/form/form-detail/form-mdctrl/index.cjs +2 -0
  126. package/lib/control/form/form-detail/form-page/form-page.css +1 -1
  127. package/lib/control/form/search-form/search-form.cjs +10 -3
  128. package/lib/control/form/search-form/search-form.css +1 -1
  129. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +7 -4
  130. package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.cjs +2 -1
  131. package/lib/control/panel/view-layout-panel/view-layout-panel.cjs +47 -41
  132. package/lib/control/toolbar/toolbar.cjs +1 -1
  133. package/lib/control/tree/tree.css +1 -1
  134. package/lib/devtool/devtool-action.cjs +220 -0
  135. package/lib/devtool/devtool-action.css +1 -0
  136. package/lib/devtool/index.cjs +83 -0
  137. package/lib/devtool/interface/devtool-event.cjs +2 -0
  138. package/lib/devtool/interface/devtool-view.cjs +2 -0
  139. package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.cjs +1 -1
  140. package/lib/editor/html/wang-editor/wang-editor.cjs +5 -0
  141. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  142. package/lib/editor/text-box/input/input.cjs +1 -1
  143. package/lib/index.cjs +165 -159
  144. package/lib/node_modules/.pnpm/element-plus@2.3.9_vue@3.3.4/node_modules/element-plus/dist/locale/zh-cn.cjs +135 -0
  145. package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +28 -5
  146. package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  147. package/lib/panel-component/index.cjs +19 -14
  148. package/lib/panel-component/nav-tabs/nav-tabs.css +1 -1
  149. package/lib/panel-component/panel-app-header/panel-app-header.css +1 -1
  150. package/lib/panel-component/panel-app-title/panel-app-title.css +1 -1
  151. package/lib/panel-component/panel-button/panel-button.cjs +5 -4
  152. package/lib/panel-component/panel-button/panel-button.css +1 -1
  153. package/lib/panel-component/panel-exp-header/panel-exp-header.css +1 -1
  154. package/lib/panel-component/panel-index-view-search/index.cjs +23 -0
  155. package/lib/panel-component/panel-index-view-search/panel-index-view-search.cjs +84 -0
  156. package/lib/panel-component/panel-index-view-search/panel-index-view-search.css +1 -0
  157. package/lib/panel-component/panel-index-view-search/panel-index-view-search.provider.cjs +22 -0
  158. package/lib/panel-component/single-data-container/single-data-container.cjs +33 -20
  159. package/lib/panel-component/single-data-container/single-data-container.controller.cjs +74 -0
  160. package/lib/util/app-drawer/app-drawer-component.css +1 -1
  161. package/lib/util/confirm-util/confirm-util.cjs +5 -5
  162. package/lib/util/loading-util/loading-util.cjs +2 -2
  163. package/lib/util/message-util/message-util.cjs +5 -5
  164. package/lib/util/modal-util/modal-util.cjs +6 -6
  165. package/lib/util/notification-util/notification-util.cjs +5 -5
  166. package/lib/view/common/view.cjs +12 -0
  167. package/lib/view/common/view.css +1 -1
  168. package/lib/view-engine/tab-exp-view.engine.cjs +7 -0
  169. package/package.json +6 -6
  170. package/dist/wang-editor-675011c6.js +0 -2
  171. package/dist/wang-editor-675011c6.js.map +0 -1
@@ -20,11 +20,13 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
20
20
  required: true
21
21
  }
22
22
  },
23
- setup() {
23
+ setup(prop) {
24
24
  var _a;
25
25
  const ns = vue3Util.useNamespace("user-info");
26
+ const c = prop.controller;
26
27
  const {
27
- srfusername = "\u6E38\u5BA2"
28
+ srfusername = "\u6E38\u5BA2",
29
+ srfpersonname
28
30
  } = ((_a = ibiz.appData) == null ? void 0 : _a.context) || {};
29
31
  const router = vueRouter.useRouter();
30
32
  const isDarkTheme = vue.ref(false);
@@ -48,11 +50,21 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
48
50
  htmlDom.classList.add(addClass);
49
51
  }
50
52
  };
53
+ const ctx = vue.inject("ctx", void 0);
54
+ const menuAlign = vue.computed(() => {
55
+ if (ctx == null ? void 0 : ctx.view) {
56
+ return ctx.view.model.mainMenuAlign || "LEFT";
57
+ }
58
+ return "LEFT";
59
+ });
51
60
  return {
52
61
  ns,
62
+ c,
53
63
  srfusername,
64
+ srfpersonname,
54
65
  router,
55
66
  isDarkTheme,
67
+ menuAlign,
56
68
  handleSwitchChange
57
69
  };
58
70
  },
@@ -66,14 +78,25 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
66
78
  },
67
79
  render() {
68
80
  return vue.createVNode("div", {
69
- "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass]
81
+ "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass, this.ns.is("left", this.menuAlign === "LEFT"), this.ns.is("top", this.menuAlign === "TOP")]
70
82
  }, [vue.createVNode(vue.resolveComponent("el-dropdown"), null, {
71
- default: () => vue.createVNode("span", {
83
+ default: () => vue.createVNode("div", {
84
+ "class": this.ns.b("info")
85
+ }, [vue.createVNode("div", {
72
86
  "class": this.ns.b("label")
73
87
  }, [vue.createVNode(vue.resolveComponent("el-avatar"), {
74
88
  "class": this.ns.b("avatar"),
75
89
  "src": "./assets/images/user-avatar.png"
76
- }, null), this.srfusername]),
90
+ }, null), vue.createVNode("div", {
91
+ "class": this.ns.b("name")
92
+ }, [vue.createVNode("div", {
93
+ "class": this.ns.be("name", "user-name")
94
+ }, [this.srfusername]), this.menuAlign === "LEFT" && vue.createVNode("div", {
95
+ "class": this.ns.be("name", "person-name")
96
+ }, [this.srfpersonname])])]), vue.createVNode("ion-icon", {
97
+ "class": this.ns.e("down"),
98
+ "name": "chevron-down-outline"
99
+ }, null)]),
77
100
  dropdown: () => vue.createVNode(vue.resolveComponent("el-dropdown-menu"), null, {
78
101
  default: () => [vue.createVNode(vue.resolveComponent("el-dropdown-item"), null, {
79
102
  default: () => [vue.createVNode("ion-icon", {
@@ -1 +1 @@
1
- .ibiz-user-info{--ibiz-user-info-padding:var(--ibiz-spacing-base);--ibiz-user-info-color:var(--ibiz-color-text-0);--ibiz-user-info-font-size:var(--ibiz-font-size-header-4);--ibiz-user-info-hover-color:var(--ibiz-color-text-0);--ibiz-user-info-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-user-info-border-radius:var(--ibiz-border-radius-medium);display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{padding:calc(var(--ibiz-user-info-padding)/ 2) var(--ibiz-user-info-padding);cursor:pointer;border-radius:var(--ibiz-user-info-border-radius)}.ibiz-user-info .el-dropdown:hover{color:var(--ibiz-user-info-hover-color);background-color:var(--ibiz-user-info-hover-bg-color)}.ibiz-user-info-avatar{margin-right:10px}.ibiz-user-info-label{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ibiz-user-info-font-size);color:var(--ibiz-user-info-color);outline:0}
1
+ .ibiz-user-info{--ibiz-user-info-padding:0 var(--ibiz-spacing-loose);--ibiz-user-info-color:var(--ibiz-color-text-0);display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{width:100%;padding:var(--ibiz-user-info-padding);cursor:pointer}.ibiz-user-info.is-left .ibiz-user-info__down{position:relative;top:12px}.ibiz-user-info.is-top .ibiz-user-info__down{margin-left:35px}.ibiz-user-info.is-top .ibiz-user-info-avatar{max-width:24px;max-height:24px}.ibiz-user-info-avatar{max-width:44px;max-height:44px;margin-right:10px}.ibiz-user-info-info{width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--ibiz-user-info-color)}.ibiz-user-info-name__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:var(--ibiz-font-size-header-6)}.ibiz-user-info-name__person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:10px;font-size:var(--ibiz-font-size-small)}.ibiz-user-info-label{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ibiz-user-info-font-size);color:var(--ibiz-user-info-color);outline:0}
@@ -4,24 +4,25 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var index$3 = require('./auth-userinfo/index.cjs');
6
6
  var index$4 = require('./nav-pos-index/index.cjs');
7
- var index$d = require('./nav-tabs/index.cjs');
7
+ var index$e = require('./nav-tabs/index.cjs');
8
8
  var index = require('./panel-container/index.cjs');
9
9
  var index$1 = require('./panel-ctrl-pos/index.cjs');
10
10
  var index$2 = require('./scroll-container/index.cjs');
11
11
  var index$5 = require('./panel-button/index.cjs');
12
12
  var index$6 = require('./nav-pos/index.cjs');
13
13
  var index$7 = require('./panel-app-title/index.cjs');
14
- var index$e = require('./single-data-container/index.cjs');
14
+ var index$f = require('./single-data-container/index.cjs');
15
15
  var index$8 = require('./panel-field/index.cjs');
16
- var index$f = require('./panel-app-header/index.cjs');
17
- var index$g = require('./panel-view-header/index.cjs');
18
- var index$h = require('./panel-exp-header/index.cjs');
16
+ var index$g = require('./panel-app-header/index.cjs');
17
+ var index$h = require('./panel-view-header/index.cjs');
18
+ var index$i = require('./panel-exp-header/index.cjs');
19
19
  var index$9 = require('./panel-rawitem/index.cjs');
20
- var index$j = require('./grid-container/index.cjs');
21
- var index$i = require('./panel-view-content/index.cjs');
20
+ var index$k = require('./grid-container/index.cjs');
21
+ var index$j = require('./panel-view-content/index.cjs');
22
22
  var index$a = require('./panel-tab-panel/index.cjs');
23
23
  var index$b = require('./panel-tab-page/index.cjs');
24
24
  var index$c = require('./split-container/index.cjs');
25
+ var index$d = require('./panel-index-view-search/index.cjs');
25
26
  var panelContainer_provider = require('./panel-container/panel-container.provider.cjs');
26
27
  var panelContainer_state = require('./panel-container/panel-container.state.cjs');
27
28
  var panelContainer_controller = require('./panel-container/panel-container.controller.cjs');
@@ -52,6 +53,7 @@ var panelTabPanel_provider = require('./panel-tab-panel/panel-tab-panel.provider
52
53
  var panelTabPage_provider = require('./panel-tab-page/panel-tab-page.provider.cjs');
53
54
  var splitContainer_provider = require('./split-container/split-container.provider.cjs');
54
55
  var splitContainer_controller = require('./split-container/split-container.controller.cjs');
56
+ var panelIndexViewSearch_provider = require('./panel-index-view-search/panel-index-view-search.provider.cjs');
55
57
 
56
58
  const IBizPanelComponents = {
57
59
  install: (v) => {
@@ -60,21 +62,22 @@ const IBizPanelComponents = {
60
62
  v.use(index$2.IBizScrollContainer);
61
63
  v.use(index$3.IBizAuthUserinfo);
62
64
  v.use(index$4.IBizNavPosIndex);
63
- v.use(index$d.IBizNavTabs);
65
+ v.use(index$e.IBizNavTabs);
64
66
  v.use(index$5.IBizPanelButton);
65
67
  v.use(index$6.IBizNavPos);
66
68
  v.use(index$7.IBizPanelAppTitle);
67
- v.use(index$e.IBizSingleDataContainer);
69
+ v.use(index$f.IBizSingleDataContainer);
68
70
  v.use(index$8.IBizPanelField);
69
- v.use(index$f.IBizPanelAppHeader);
70
- v.use(index$g.IBizPanelViewHeader);
71
- v.use(index$h.IBizPanelExpHeader);
71
+ v.use(index$g.IBizPanelAppHeader);
72
+ v.use(index$h.IBizPanelViewHeader);
73
+ v.use(index$i.IBizPanelExpHeader);
72
74
  v.use(index$9.IBizPanelRawItem);
73
- v.use(index$i.IBizPanelViewContent);
74
- v.use(index$j.IBizGridContainer);
75
+ v.use(index$j.IBizPanelViewContent);
76
+ v.use(index$k.IBizGridContainer);
75
77
  v.use(index$a.IBizPanelTabPanel);
76
78
  v.use(index$b.IBizPanelTabPage);
77
79
  v.use(index$c.IBizSplitContainer);
80
+ v.use(index$d.IBizPanelIndexViewSearch);
78
81
  }
79
82
  };
80
83
 
@@ -91,6 +94,7 @@ exports.IBizPanelRawItem = index$9.IBizPanelRawItem;
91
94
  exports.IBizPanelTabPanel = index$a.IBizPanelTabPanel;
92
95
  exports.IBizPanelTabPage = index$b.IBizPanelTabPage;
93
96
  exports.IBizSplitContainer = index$c.IBizSplitContainer;
97
+ exports.IBizPanelIndexViewSearch = index$d.IBizPanelIndexViewSearch;
94
98
  exports.PanelContainerProvider = panelContainer_provider.PanelContainerProvider;
95
99
  exports.PanelContainerState = panelContainer_state.PanelContainerState;
96
100
  exports.PanelContainerController = panelContainer_controller.PanelContainerController;
@@ -121,5 +125,6 @@ exports.PanelTabPanelProvider = panelTabPanel_provider.PanelTabPanelProvider;
121
125
  exports.PanelTabPageProvider = panelTabPage_provider.PanelTabPageProvider;
122
126
  exports.SplitContainerProvider = splitContainer_provider.SplitContainerProvider;
123
127
  exports.SplitContainerController = splitContainer_controller.SplitContainerController;
128
+ exports.PanelIndexViewSearchProvider = panelIndexViewSearch_provider.PanelIndexViewSearchProvider;
124
129
  exports.IBizPanelComponents = IBizPanelComponents;
125
130
  exports.default = IBizPanelComponents;
@@ -1 +1 @@
1
- .ibiz-nav-tabs{--ibiz-nav-tabs-padding:var(--ibiz-spacing-base-tight);--ibiz-nav-tabs-left-width:100%;--ibiz-nav-tabs-right-width:60px;--ibiz-nav-tabs-item-height:40px;--ibiz-nav-tabs-item-padding:0 var(--ibiz-spacing-base-loose);--ibiz-nav-tabs-item-margin:0 var(--ibiz-spacing-base) 0 0;--ibiz-nav-tabs-item-font-size:var(--ibiz-font-size-regular);--ibiz-nav-tabs-item-font-weight:var(--ibiz-font-weight-regular);--ibiz-nav-tabs-item-border-radius:var(--ibiz-border-radius-medium);--ibiz-nav-tabs-item-bg-color:transparent;--ibiz-nav-tabs-item-color:var(--ibiz-color-text-0);--ibiz-nav-tabs-item-hover-color:var(--ibiz-color-primary-hover);--ibiz-nav-tabs-item-active-color:var(--ibiz-color-primary);display:flex;align-items:center;justify-content:flex-start;position:relative;padding:var(--ibiz-nav-tabs-padding)}.ibiz-nav-tabs__left{display:flex;align-items:center;width:var(--ibiz-nav-tabs-left-width)}.ibiz-nav-tabs__left .el-tabs{width:100%;--el-tabs-header-height:40px}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav{border:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item{display:flex;align-items:center;height:var(--ibiz-nav-tabs-item-height);padding:var(--ibiz-nav-tabs-item-padding);margin:var(--ibiz-nav-tabs-item-margin);overflow:hidden;font-size:var(--ibiz-nav-tabs-item-font-size);font-weight:var(--ibiz-nav-tabs-item-font-weight);color:var(--ibiz-nav-tabs-item-color);vertical-align:middle;background-color:var(--ibiz-nav-tabs-item-bg-color);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-nav-tabs-item-border-radius);box-shadow:0 1px 2px 0 var(--ibiz-color-border);opacity:1}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover .is-icon-close{color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-color-white);background-color:var(--ibiz-nav-tabs-item-active-color);box-shadow:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active .is-icon-close{color:var(--ibiz-color-white)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable.hover{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item .is-icon-close{position:relative;top:1px}.ibiz-nav-tabs__left .el-tabs .el-tabs__header{margin-bottom:0;border-bottom:none}.ibiz-nav-tabs__right{display:none;width:var(--ibiz-nav-tabs-right-width)}
1
+ .ibiz-nav-tabs{--ibiz-nav-tabs-padding:var(--ibiz-spacing-base-tight);--ibiz-nav-tabs-left-width:calc(100% - 60px);--ibiz-nav-tabs-right-width:60px;--ibiz-nav-tabs-right-height:30px;--ibiz-nav-tabs-item-height:40px;--ibiz-nav-tabs-item-padding:0 var(--ibiz-spacing-base-loose);--ibiz-nav-tabs-item-margin:0 var(--ibiz-spacing-base) 0 0;--ibiz-nav-tabs-item-font-size:var(--ibiz-font-size-regular);--ibiz-nav-tabs-item-font-weight:var(--ibiz-font-weight-regular);--ibiz-nav-tabs-item-border-radius:var(--ibiz-border-radius-medium);--ibiz-nav-tabs-item-bg-color:transparent;--ibiz-nav-tabs-item-color:var(--ibiz-color-text-0);--ibiz-nav-tabs-item-hover-color:var(--ibiz-color-primary-hover);--ibiz-nav-tabs-item-active-color:var(--ibiz-color-primary);display:flex;align-items:center;justify-content:flex-start;position:relative;padding:var(--ibiz-nav-tabs-padding)}.ibiz-nav-tabs__left{display:flex;align-items:center;width:var(--ibiz-nav-tabs-left-width)}.ibiz-nav-tabs__left .el-tabs{width:100%;--el-tabs-header-height:40px}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav{border:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item{display:flex;align-items:center;height:var(--ibiz-nav-tabs-item-height);padding:var(--ibiz-nav-tabs-item-padding);margin:var(--ibiz-nav-tabs-item-margin);overflow:hidden;font-size:var(--ibiz-nav-tabs-item-font-size);font-weight:var(--ibiz-nav-tabs-item-font-weight);color:var(--ibiz-nav-tabs-item-color);vertical-align:middle;background-color:var(--ibiz-nav-tabs-item-bg-color);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-nav-tabs-item-border-radius);box-shadow:0 1px 2px 0 var(--ibiz-color-border);opacity:1}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover .is-icon-close{color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-color-white);background-color:var(--ibiz-nav-tabs-item-active-color);box-shadow:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active .is-icon-close{color:var(--ibiz-color-white)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable.hover{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item .is-icon-close{position:relative;top:1px}.ibiz-nav-tabs__left .el-tabs .el-tabs__header{margin-bottom:0;border-bottom:none}.ibiz-nav-tabs__right{width:var(--ibiz-nav-tabs-right-width)}.ibiz-nav-tabs__right .el-dropdown button{height:var(--ibiz-nav-tabs-right-height)}
@@ -1 +1 @@
1
- .ibiz-panel-app-header{--ibiz-panel-app-header-color:var(--ibiz-color-text-0);--ibiz-panel-app-header-bg-color:var(--ibiz-color-primary);--ibiz-panel-app-header-border-color:var(--ibiz-color-border);width:100%;height:100%;color:var(--ibiz-panel-app-header-color);background-color:var(--ibiz-panel-app-header-bg-color);border-bottom:1px solid var(--ibiz-panel-app-header-border-color)}.ibiz-panel-app-header>.ibiz-row{height:100%}
1
+ .ibiz-panel-app-header{--ibiz-panel-app-header-color:var(--ibiz-color-text-0);--ibiz-panel-app-header-bg-color:var(--ibiz-color-primary);--ibiz-panel-app-header-border-color:var(--ibiz-color-border);width:100%;height:100%;color:var(--ibiz-panel-app-header-color);background-color:var(--ibiz-panel-app-header-bg-color)}.ibiz-panel-app-header>.ibiz-row{height:100%}
@@ -1 +1 @@
1
- .ibiz-panel-app-title{--ibiz-panel-app-title-color:var(--ibiz-color-text-0);--ibiz-panel-app-title-font-size:var(--ibiz-font-size-header-2);--ibiz-panel-app-title-font-wight:var(--ibiz-font-weight-bold);display:flex;align-items:center;justify-content:center;height:100%}.ibiz-panel-app-title__title{font-size:var(--ibiz-panel-app-title-font-size);font-weight:700;color:var(--ibiz-panel-app-title-color)}.ibiz-panel-app-title__logo{padding:0 var(--ibiz-spacing-base);font-size:40px;display:flex;align-items:center;justify-content:center}.ibiz-panel-app-title__logo img{display:inline-block;width:20px;height:20px}.ibiz-panel-app-title--hidden_logo{padding-left:var(--ibiz-spacing-base)}
1
+ .ibiz-panel-app-title{--ibiz-panel-app-title-color:var(--ibiz-color-text-0);--ibiz-panel-app-title-font-size:var(--ibiz-font-size-header-3);--ibiz-panel-app-title-font-wight:var(--ibiz-font-weight-bold);--ibiz-panel-app-title-padding:0 var(--ibiz-spacing-loose);display:flex;align-items:center;justify-content:center;height:100%;padding:var(--ibiz-panel-app-title-padding)}.ibiz-panel-app-title__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-panel-app-title-font-size);font-weight:700;color:var(--ibiz-panel-app-title-color)}.ibiz-panel-app-title__logo{padding:0 var(--ibiz-spacing-base);font-size:40px;display:flex;align-items:center;justify-content:center}.ibiz-panel-app-title__logo img{display:inline-block;width:20px;height:20px}
@@ -89,13 +89,14 @@ const PanelButton = /* @__PURE__ */ vue.defineComponent({
89
89
  },
90
90
  render() {
91
91
  if (this.state.visible && this.buttonState.visible) {
92
- return vue.createVNode(vue.resolveComponent("el-button"), {
92
+ return vue.createVNode("div", {
93
+ "class": [this.ns.b(), this.ns.m(this.codeName), ...this.controller.containerClass]
94
+ }, [vue.createVNode(vue.resolveComponent("el-button"), {
93
95
  "type": this.buttonType,
94
96
  "text": this.isText,
95
97
  "disabled": this.state.disabled && this.buttonState.disabled,
96
98
  "loading": this.state.loading,
97
- "onClick": this.handleButtonClick,
98
- "class": [this.ns.b(), this.ns.m(this.codeName), ...this.controller.containerClass]
99
+ "onClick": this.handleButtonClick
99
100
  }, {
100
101
  default: () => [vue.createVNode("div", {
101
102
  "class": this.ns.b("content")
@@ -105,7 +106,7 @@ const PanelButton = /* @__PURE__ */ vue.defineComponent({
105
106
  }, null), vue.createVNode("span", {
106
107
  "class": this.ns.bm("content", "caption")
107
108
  }, [this.showCaption ? this.captionText : null])])]
108
- });
109
+ })]);
109
110
  }
110
111
  return null;
111
112
  }
@@ -1 +1 @@
1
- .ibiz-panel-button{--ibiz-panel-button-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-panel-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-panel-button-icon-max-height:var(--ibiz-width-icon-medium);width:100%;height:100%;overflow:hidden}.ibiz-panel-button i,.ibiz-panel-button img{display:inline-block;max-width:var(--ibiz-panel-button-icon-max-width);max-height:var(--ibiz-panel-button-icon-max-height);margin:var(--ibiz-panel-button-icon-margin)}
1
+ .ibiz-panel-button{--ibiz-panel-button-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-panel-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-panel-button-icon-max-height:var(--ibiz-width-icon-medium);padding:var(--ibiz-spacing-tight);overflow:hidden}.ibiz-panel-button .el-button{width:100%}.ibiz-panel-button .el-button i,.ibiz-panel-button .el-button img{display:inline-block;max-width:var(--ibiz-panel-button-icon-max-width);max-height:var(--ibiz-panel-button-icon-max-height);margin:var(--ibiz-panel-button-icon-margin)}
@@ -1 +1 @@
1
- .ibiz-panel-exp-header{width:auto;height:64px;border-bottom:1px solid var(--ibiz-color-border)}.ibiz-panel-exp-header .ibiz-row{height:100%}.ibiz-panel-exp-header .ibiz-panel-container--view_header_right{padding:0 var(--ibiz-spacing-base)}
1
+ .ibiz-panel-exp-header{width:auto;height:64px;padding:0 var(--ibiz-spacing-base);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-panel-exp-header .ibiz-row{height:100%}.ibiz-panel-exp-header .ibiz-panel-container--view_header_right{padding:0 var(--ibiz-spacing-base)}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var runtime = require('@ibiz-template/runtime');
6
+ var vue3Util = require('@ibiz-template/vue3-util');
7
+ var panelIndexViewSearch = require('./panel-index-view-search.cjs');
8
+ var panelIndexViewSearch_provider = require('./panel-index-view-search.provider.cjs');
9
+
10
+ const IBizPanelIndexViewSearch = vue3Util.withInstall(
11
+ panelIndexViewSearch.PanelIndexViewSearch,
12
+ function(v) {
13
+ v.component(panelIndexViewSearch.PanelIndexViewSearch.name, panelIndexViewSearch.PanelIndexViewSearch);
14
+ runtime.registerPanelItemProvider(
15
+ "RAWITEM_INDEX_VIEW_SEARCH",
16
+ () => new panelIndexViewSearch_provider.PanelIndexViewSearchProvider()
17
+ );
18
+ }
19
+ );
20
+
21
+ exports.PanelIndexViewSearchProvider = panelIndexViewSearch_provider.PanelIndexViewSearchProvider;
22
+ exports.IBizPanelIndexViewSearch = IBizPanelIndexViewSearch;
23
+ exports.default = IBizPanelIndexViewSearch;
@@ -0,0 +1,84 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ var runtime = require('@ibiz-template/runtime');
6
+ var lodashEs = require('lodash-es');
7
+ require('./panel-index-view-search.css');
8
+
9
+ const PanelIndexViewSearch = /* @__PURE__ */ vue.defineComponent({
10
+ name: "IBizPanelIndexViewSearch",
11
+ props: {
12
+ modelData: {
13
+ type: Object,
14
+ required: true
15
+ },
16
+ controller: {
17
+ type: runtime.PanelItemController,
18
+ required: true
19
+ }
20
+ },
21
+ setup(props) {
22
+ const ns = vue3Util.useNamespace("panel-index-view-search");
23
+ const c = props.controller;
24
+ const classArr = vue.computed(() => {
25
+ const {
26
+ id
27
+ } = props.modelData;
28
+ const result = [ns.b(), ns.m(id)];
29
+ result.push(...props.controller.containerClass);
30
+ return result;
31
+ });
32
+ const query = vue.ref("");
33
+ const debounceSearch = lodashEs.debounce(() => {
34
+ }, 500);
35
+ const onInput = (value) => {
36
+ query.value = value;
37
+ debounceSearch();
38
+ };
39
+ const ctx = vue.inject("ctx", void 0);
40
+ const menuAlign = vue.computed(() => {
41
+ if (ctx == null ? void 0 : ctx.view) {
42
+ return ctx.view.model.mainMenuAlign || "LEFT";
43
+ }
44
+ return "LEFT";
45
+ });
46
+ return {
47
+ ns,
48
+ classArr,
49
+ onInput,
50
+ c,
51
+ query,
52
+ menuAlign
53
+ };
54
+ },
55
+ render() {
56
+ if (!this.controller.state.visible) {
57
+ return;
58
+ }
59
+ return vue.createVNode("div", {
60
+ "class": this.classArr
61
+ }, [this.menuAlign === "LEFT" ? vue.createVNode(vue.resolveComponent("el-input"), {
62
+ "model-value": this.query,
63
+ "class": this.ns.b("search"),
64
+ "placeholder": "\u641C\u7D22\u5185\u5BB9",
65
+ "onInput": this.onInput
66
+ }, {
67
+ prefix: () => {
68
+ return vue.createVNode("ion-icon", {
69
+ "class": this.ns.e("search-icon"),
70
+ "name": "search"
71
+ }, null);
72
+ }
73
+ }) : vue.createVNode(vue.resolveComponent("el-button"), {
74
+ "class": this.ns.b("btn")
75
+ }, {
76
+ default: () => [vue.createVNode("ion-icon", {
77
+ "class": this.ns.e("search-icon"),
78
+ "name": "search"
79
+ }, null)]
80
+ })]);
81
+ }
82
+ });
83
+
84
+ exports.PanelIndexViewSearch = PanelIndexViewSearch;
@@ -0,0 +1 @@
1
+ .ibiz-panel-index-view-search{--ibiz-panel-index-view-search-text-color:var(--ibiz-color-text-0);--ibiz-panel-index-view-search-placeholder-text-color:var(--ibiz-color-text-2);--ibiz-panel-index-view-search-bg-color:var(--ibiz-color-fill-0);width:100%;height:100%}.ibiz-panel-index-view-search .el-input__wrapper{background-color:var(--ibiz-panel-index-view-search-bg-color)}.ibiz-panel-index-view-search .el-input__wrapper .el-input__prefix{color:var(--ibiz-panel-index-view-search-text-color)}.ibiz-panel-index-view-search .el-input__wrapper .el-input__inner{color:var(--ibiz-panel-index-view-search-text-color)}.ibiz-panel-index-view-search .el-input__wrapper .el-input__inner::-moz-placeholder{color:var(--ibiz-panel-index-view-search-placeholder-text-color)}.ibiz-panel-index-view-search .el-input__wrapper .el-input__inner::placeholder{color:var(--ibiz-panel-index-view-search-placeholder-text-color)}.ibiz-panel-index-view-search-btn{font-size:var(--ibiz-font-size-header-4)}.ibiz-panel-index-view-search-btn:hover{background-color:transparent}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var runtime = require('@ibiz-template/runtime');
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __publicField = (obj, key, value) => {
8
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
9
+ return value;
10
+ };
11
+ class PanelIndexViewSearchProvider {
12
+ constructor() {
13
+ __publicField(this, "component", "IBizPanelIndexViewSearch");
14
+ }
15
+ async createController(panelItem, panel, parent) {
16
+ const c = new runtime.PanelItemController(panelItem, panel, parent);
17
+ await c.init();
18
+ return c;
19
+ }
20
+ }
21
+
22
+ exports.PanelIndexViewSearchProvider = PanelIndexViewSearchProvider;
@@ -25,36 +25,49 @@ const SingleDataContainer = /* @__PURE__ */ vue.defineComponent({
25
25
  const {
26
26
  id
27
27
  } = props.modelData;
28
+ const keys = Object.keys(props.controller.panelItems);
29
+ keys.forEach((key) => {
30
+ const panelItem = props.controller.panelItems[key];
31
+ panelItem.state = vue.reactive(panelItem.state);
32
+ });
33
+ const renderPanelItem = vue.inject("renderPanelItem");
28
34
  const classArr = vue.computed(() => {
29
35
  const result = [ns.b(), ns.m(id), ...props.controller.containerClass];
30
36
  return result;
31
37
  });
32
38
  return {
33
39
  ns,
34
- classArr
40
+ classArr,
41
+ renderPanelItem
35
42
  };
36
43
  },
37
44
  render() {
38
- var _a, _b;
39
- let _slot;
40
- const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
41
- const content = vue.createVNode(vue.resolveComponent("iBizRow"), {
42
- "slot": "content",
43
- "layout": this.modelData.layout
44
- }, _isSlot(_slot = defaultSlots.map((slot) => {
45
- const props = slot.props;
46
- if (!props || !props.controller) {
47
- return slot;
48
- }
49
- return vue.createVNode(vue.resolveComponent("iBizCol"), {
50
- "layoutPos": props.modelData.layoutPos,
51
- "state": props.controller.state
52
- }, _isSlot(slot) ? slot : {
53
- default: () => [slot]
45
+ let content;
46
+ if (this.$slots.default) {
47
+ content = this.$slots.default();
48
+ } else {
49
+ content = vue.createVNode(vue.resolveComponent("iBizRow"), {
50
+ "class": this.ns.b("content"),
51
+ "layout": this.modelData.layout
52
+ }, {
53
+ default: () => {
54
+ var _a;
55
+ return [(_a = this.modelData.panelItems) == null ? void 0 : _a.map((panelItem) => {
56
+ let _slot;
57
+ const childController = this.controller.panelItems[panelItem.id];
58
+ return vue.createVNode(vue.resolveComponent("iBizCol"), {
59
+ "layoutPos": panelItem.layoutPos,
60
+ "state": childController.state
61
+ }, _isSlot(_slot = this.renderPanelItem(panelItem, {
62
+ providers: this.controller.providers,
63
+ panelItems: this.controller.panelItems
64
+ })) ? _slot : {
65
+ default: () => [_slot]
66
+ });
67
+ })];
68
+ }
54
69
  });
55
- })) ? _slot : {
56
- default: () => [_slot]
57
- });
70
+ }
58
71
  return vue.createVNode("div", {
59
72
  "class": this.classArr
60
73
  }, [content]);
@@ -14,6 +14,22 @@ class SingleDataContainerController extends runtime.PanelItemController {
14
14
  constructor() {
15
15
  super(...arguments);
16
16
  __publicField(this, "isDataContainer", true);
17
+ /**
18
+ * 所有面板成员的控制器
19
+ *
20
+ * @author lxm
21
+ * @date 2022-08-24 20:08:07
22
+ * @type {{ [key: string]: IPanelItemController }}
23
+ */
24
+ __publicField(this, "panelItems", {});
25
+ /**
26
+ * 所有面板成员的适配器
27
+ *
28
+ * @author lxm
29
+ * @date 2022-08-24 20:08:07
30
+ * @type {{ [key: string]: IPanelItemProvider }}
31
+ */
32
+ __publicField(this, "providers", {});
17
33
  }
18
34
  /**
19
35
  * 单项数据容器,根据数据模式
@@ -31,8 +47,51 @@ class SingleDataContainerController extends runtime.PanelItemController {
31
47
  }
32
48
  async onInit() {
33
49
  await super.onInit();
50
+ await this.initPanelItemControllers();
34
51
  this.initContainerData();
35
52
  }
53
+ /**
54
+ * 初始化面板成员控制器
55
+ *
56
+ * @author lxm
57
+ * @date 2022-08-24 21:08:48
58
+ * @protected
59
+ */
60
+ async initPanelItemControllers(panelItems = this.model.panelItems, panel = this.panel, parent = this) {
61
+ if (!panelItems) {
62
+ return;
63
+ }
64
+ await Promise.all(
65
+ panelItems.map(async (panelItem) => {
66
+ var _a, _b;
67
+ const panelItemProvider = await runtime.getPanelItemProvider(panelItem);
68
+ if (!panelItemProvider) {
69
+ return;
70
+ }
71
+ this.providers[panelItem.id] = panelItemProvider;
72
+ const panelItemController = await panelItemProvider.createController(
73
+ panelItem,
74
+ panel,
75
+ parent
76
+ );
77
+ this.panelItems[panelItem.id] = panelItemController;
78
+ if (((_a = panelItem.panelItems) == null ? void 0 : _a.length) && !panelItemController.isDataContainer) {
79
+ await this.initPanelItemControllers(
80
+ panelItem.panelItems,
81
+ panel,
82
+ panelItemController
83
+ );
84
+ }
85
+ if ((_b = panelItem.panelTabPages) == null ? void 0 : _b.length) {
86
+ await this.initPanelItemControllers(
87
+ panelItem.panelTabPages,
88
+ panel,
89
+ panelItemController
90
+ );
91
+ }
92
+ })
93
+ );
94
+ }
36
95
  /**
37
96
  * 根据来源类型初始化容器数据
38
97
  * @author lxm
@@ -70,6 +129,17 @@ class SingleDataContainerController extends runtime.PanelItemController {
70
129
  throw new core.ModelError(this.model, `\u6570\u636E\u6E90\u7C7B\u578B${dataSourceType}\u6682\u672A\u652F\u6301`);
71
130
  }
72
131
  }
132
+ /**
133
+ * 面板状态变更通知
134
+ *
135
+ * @author lxm
136
+ * @date 2022-09-20 18:09:07
137
+ */
138
+ childrenStateNotify(state) {
139
+ Object.values(this.panelItems).forEach((panelItem) => {
140
+ panelItem.panelStateNotify(state);
141
+ });
142
+ }
73
143
  /**
74
144
  * 通过实体设置视图逻辑
75
145
  * @author lxm
@@ -96,6 +166,7 @@ class SingleDataContainerController extends runtime.PanelItemController {
96
166
  throw new core.RuntimeError(`\u5B9E\u4F53\u903B\u8F91${appDELogicId}\u6CA1\u6709\u8FD4\u56DE\u503C`);
97
167
  }
98
168
  this.state.data = data;
169
+ this.childrenStateNotify(runtime.PanelNotifyState.LOAD);
99
170
  }
100
171
  /**
101
172
  * 设置全局变量为当前容器数据
@@ -108,6 +179,7 @@ class SingleDataContainerController extends runtime.PanelItemController {
108
179
  const originData = dataName ? ibiz.appData[dataName] : ibiz.appData;
109
180
  if (originData) {
110
181
  this.state.data = originData;
182
+ this.childrenStateNotify(runtime.PanelNotifyState.LOAD);
111
183
  } else {
112
184
  ibiz.log.error(`\u5168\u5C40\u53D8\u91CF\u91CC\u6CA1\u6709${dataName}\u5C5E\u6027`);
113
185
  }
@@ -137,6 +209,7 @@ class SingleDataContainerController extends runtime.PanelItemController {
137
209
  );
138
210
  if (res.ok && res.data) {
139
211
  this.state.data = res.data;
212
+ this.childrenStateNotify(runtime.PanelNotifyState.LOAD);
140
213
  }
141
214
  }
142
215
  /**
@@ -154,6 +227,7 @@ class SingleDataContainerController extends runtime.PanelItemController {
154
227
  }
155
228
  const updateData = () => {
156
229
  this.state.data = view.state[dataName];
230
+ this.childrenStateNotify(runtime.PanelNotifyState.LOAD);
157
231
  };
158
232
  updateData();
159
233
  view.evt.on("onDataChange", () => {
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-drawer{--ibiz-drawer-z-index:var(--ibiz-z-index-drawer)}.ibiz-drawer .el-drawer__header{position:absolute;padding:0;margin:0;right:0}
1
+ @charset "UTF-8";.ibiz-drawer{--ibiz-drawer-z-index:var(--ibiz-z-index-drawer)}.ibiz-drawer .el-drawer__header{position:absolute;right:0;z-index:999;padding:0;margin:0}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var elementPlus = require('element-plus');
3
+ var ElementPlus = require('element-plus');
4
4
 
5
5
  class ConfirmUtil {
6
6
  async info(params) {
7
7
  return new Promise((resolve) => {
8
- elementPlus.ElMessageBox.confirm(params.desc, params.title, {
8
+ ElementPlus.ElMessageBox.confirm(params.desc, params.title, {
9
9
  customClass: "confirm-info",
10
10
  ...params.options
11
11
  }).then(() => resolve(true)).catch(() => resolve(false));
@@ -13,7 +13,7 @@ class ConfirmUtil {
13
13
  }
14
14
  async success(params) {
15
15
  return new Promise((resolve) => {
16
- elementPlus.ElMessageBox.confirm(params.desc, params.title, {
16
+ ElementPlus.ElMessageBox.confirm(params.desc, params.title, {
17
17
  customClass: "confirm-success",
18
18
  ...params.options
19
19
  }).then(() => resolve(true)).catch(() => resolve(false));
@@ -21,7 +21,7 @@ class ConfirmUtil {
21
21
  }
22
22
  async warning(params) {
23
23
  return new Promise((resolve) => {
24
- elementPlus.ElMessageBox.confirm(params.desc, params.title, {
24
+ ElementPlus.ElMessageBox.confirm(params.desc, params.title, {
25
25
  customClass: "confirm-warning",
26
26
  ...params.options
27
27
  }).then(() => resolve(true)).catch(() => resolve(false));
@@ -29,7 +29,7 @@ class ConfirmUtil {
29
29
  }
30
30
  async error(params) {
31
31
  return new Promise((resolve) => {
32
- elementPlus.ElMessageBox.confirm(params.desc, params.title, {
32
+ ElementPlus.ElMessageBox.confirm(params.desc, params.title, {
33
33
  customClass: "confirm-error",
34
34
  ...params.options
35
35
  }).then(() => resolve(true)).catch(() => resolve(false));
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var elementPlus = require('element-plus');
3
+ var ElementPlus = require('element-plus');
4
4
 
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -43,7 +43,7 @@ class LoadingUtil {
43
43
  */
44
44
  show() {
45
45
  if (this.count === 0) {
46
- this.loading = elementPlus.ElLoading.service({ lock: true, fullscreen: true });
46
+ this.loading = ElementPlus.ElLoading.service({ lock: true, fullscreen: true });
47
47
  }
48
48
  this.count += 1;
49
49
  }
@@ -1,31 +1,31 @@
1
1
  'use strict';
2
2
 
3
- var elementPlus = require('element-plus');
3
+ var ElementPlus = require('element-plus');
4
4
 
5
5
  class MessageUtil {
6
6
  info(msg, duration, closable) {
7
- elementPlus.ElMessage.info({
7
+ ElementPlus.ElMessage.info({
8
8
  message: msg,
9
9
  duration: duration ? duration * 1e3 : duration,
10
10
  showClose: closable
11
11
  });
12
12
  }
13
13
  success(msg, duration, closable) {
14
- elementPlus.ElMessage.success({
14
+ ElementPlus.ElMessage.success({
15
15
  message: msg,
16
16
  duration: duration ? duration * 1e3 : duration,
17
17
  showClose: closable
18
18
  });
19
19
  }
20
20
  warning(msg, duration, closable) {
21
- elementPlus.ElMessage.warning({
21
+ ElementPlus.ElMessage.warning({
22
22
  message: msg,
23
23
  duration: duration ? duration * 1e3 : duration,
24
24
  showClose: closable
25
25
  });
26
26
  }
27
27
  error(msg, duration, closable) {
28
- elementPlus.ElMessage.error({
28
+ ElementPlus.ElMessage.error({
29
29
  message: msg,
30
30
  duration: duration ? duration * 1e3 : duration,
31
31
  showClose: closable