@ibiz-template/vue3-components 0.5.7-alpha.9 → 0.6.0-alpha.2

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 (287) hide show
  1. package/dist/index-V5mBTTSl.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/{xlsx-util-gM6xqNsx.js → xlsx-util-GpIzYBZB.js} +1 -1
  5. package/es/_virtual/nprogress.mjs +3 -0
  6. package/es/common/action-toolbar/action-toolbar.d.ts +9 -0
  7. package/es/common/action-toolbar/action-toolbar.mjs +8 -1
  8. package/es/control/context-menu/context-menu.css +1 -1
  9. package/es/control/context-menu/context-menu.mjs +8 -2
  10. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +26 -0
  11. package/es/control/dashboard/portlet/chart-portlet/chart-portlet.mjs +1 -1
  12. package/es/control/dashboard/portlet/list-portlet/list-portlet.mjs +1 -1
  13. package/es/control/form/form-detail/form-item/form-item.css +1 -1
  14. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.css +1 -1
  15. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +220 -0
  16. package/es/control/form/form-detail/form-rawitem/form-rawitem.css +1 -1
  17. package/es/control/form/form-detail/form-rawitem/form-rawitem.d.ts +1 -0
  18. package/es/control/form/form-detail/form-rawitem/form-rawitem.mjs +11 -4
  19. package/es/control/form/form-detail/form-rawitem/index.d.ts +1 -0
  20. package/es/control/grid/grid/grid.mjs +9 -2
  21. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +1 -0
  22. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +5 -2
  23. package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -0
  24. package/es/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.css +1 -1
  25. package/es/control/search-bar/filter-tree/filter-tree.mjs +8 -10
  26. package/es/editor/array/ibiz-array/ibiz-array.d.ts +1 -0
  27. package/es/editor/array/ibiz-array/ibiz-array.mjs +10 -3
  28. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.css +1 -1
  29. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.css +1 -1
  30. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.css +1 -0
  31. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.d.ts +2 -0
  32. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.mjs +10 -2
  33. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.css +1 -1
  34. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +1 -0
  35. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +10 -3
  36. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.css +1 -1
  37. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.d.ts +1 -0
  38. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.mjs +10 -3
  39. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  40. package/es/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  41. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.css +1 -1
  42. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.css +1 -1
  43. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.d.ts +1 -0
  44. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.mjs +10 -3
  45. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.css +1 -1
  46. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.css +1 -1
  47. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  48. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +1 -1
  49. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.css +1 -1
  50. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.d.ts +1 -0
  51. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.mjs +10 -3
  52. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.css +1 -1
  53. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.d.ts +1 -0
  54. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +9 -2
  55. package/es/editor/rate/ibiz-rate/ibiz-rate.css +1 -0
  56. package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +2 -0
  57. package/es/editor/rate/ibiz-rate/ibiz-rate.mjs +11 -3
  58. package/es/editor/raw/ibiz-raw/ibiz-raw.css +1 -1
  59. package/es/editor/raw/ibiz-raw/ibiz-raw.d.ts +1 -0
  60. package/es/editor/raw/ibiz-raw/ibiz-raw.mjs +10 -3
  61. package/es/editor/slider/ibiz-slider/ibiz-slider.css +1 -1
  62. package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +1 -0
  63. package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +10 -3
  64. package/es/editor/span/span/span.css +1 -1
  65. package/es/editor/span/span/span.d.ts +1 -0
  66. package/es/editor/span/span/span.mjs +10 -3
  67. package/es/editor/span/span-link/span-link.css +1 -1
  68. package/es/editor/span/span-link/span-link.d.ts +1 -0
  69. package/es/editor/span/span-link/span-link.mjs +10 -3
  70. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.css +1 -0
  71. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +2 -0
  72. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.mjs +11 -3
  73. package/es/editor/switch/ibiz-switch/ibiz-switch.css +1 -0
  74. package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +2 -0
  75. package/es/editor/switch/ibiz-switch/ibiz-switch.mjs +11 -3
  76. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.css +1 -1
  77. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.d.ts +1 -0
  78. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.mjs +10 -3
  79. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
  80. package/es/editor/text-box/input/input.css +1 -1
  81. package/es/editor/text-box/input/input.mjs +1 -1
  82. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.css +1 -1
  83. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -0
  84. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.mjs +9 -2
  85. package/es/editor/upload/ibiz-image-preview/ibiz-image-preview.css +1 -1
  86. package/es/editor/upload/ibiz-image-preview/ibiz-image-preview.d.ts +1 -0
  87. package/es/editor/upload/ibiz-image-preview/ibiz-image-preview.mjs +10 -3
  88. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.css +1 -1
  89. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -0
  90. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.mjs +9 -2
  91. package/es/ibiz-vue3.d.ts +5 -0
  92. package/es/ibiz-vue3.mjs +99 -0
  93. package/es/index.d.ts +1 -5
  94. package/es/index.mjs +43 -96
  95. package/es/node_modules/.pnpm/element-plus@2.4.2_vue@3.3.8/node_modules/element-plus/dist/locale/zh-cn.mjs +131 -0
  96. package/es/node_modules/.pnpm/nprogress@0.2.0/node_modules/nprogress/nprogress.mjs +486 -0
  97. package/es/panel-component/user-message/index.mjs +3 -16
  98. package/es/panel-component/user-message/internal-message/common/index.d.ts +3 -0
  99. package/es/panel-component/user-message/internal-message/common/index.mjs +5 -0
  100. package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.css +1 -0
  101. package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.d.ts +104 -0
  102. package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.mjs +99 -0
  103. package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.css +1 -0
  104. package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.d.ts +29 -0
  105. package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.mjs +81 -0
  106. package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.d.ts +19 -0
  107. package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.mjs +66 -0
  108. package/es/panel-component/user-message/internal-message/index.d.ts +2 -4
  109. package/es/panel-component/user-message/internal-message/index.mjs +35 -4
  110. package/es/panel-component/user-message/internal-message/internal-message-html/internal-message-html.css +1 -0
  111. package/es/panel-component/user-message/internal-message/internal-message-html/internal-message-html.d.ts +29 -0
  112. package/es/panel-component/user-message/internal-message/internal-message-html/internal-message-html.mjs +42 -0
  113. package/es/panel-component/user-message/internal-message/internal-message-html/internal-message-html.provider.d.ts +30 -0
  114. package/es/panel-component/user-message/internal-message/internal-message-html/internal-message-html.provider.mjs +30 -0
  115. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -1
  116. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.d.ts +10 -5
  117. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.mjs +38 -28
  118. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.d.ts +12 -11
  119. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.mjs +10 -35
  120. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.css +1 -1
  121. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.d.ts +4 -0
  122. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.mjs +41 -6
  123. package/es/panel-component/user-message/internal-message/internal-message-text/internal-message-text.css +1 -0
  124. package/es/panel-component/user-message/internal-message/internal-message-text/internal-message-text.d.ts +29 -0
  125. package/es/panel-component/user-message/internal-message/internal-message-text/internal-message-text.mjs +50 -0
  126. package/es/panel-component/user-message/internal-message/internal-message-text/internal-message-text.provider.d.ts +28 -0
  127. package/es/panel-component/user-message/internal-message/internal-message-text/internal-message-text.provider.mjs +19 -0
  128. package/es/panel-component/user-message/user-message.css +1 -1
  129. package/es/panel-component/user-message/user-message.mjs +9 -2
  130. package/es/util/notification-util/notification-util.mjs +1 -0
  131. package/es/util/open-view-util/open-view-util.mjs +4 -2
  132. package/es/view/404-view/404-view.css +1 -1
  133. package/es/view/404-view/404-view.d.ts +1 -1
  134. package/es/view/404-view/404-view.mjs +6 -5
  135. package/es/view/login-view/login-view.css +1 -1
  136. package/es/view/login-view/login-view.mjs +9 -1
  137. package/es/web-app/App.css +1 -0
  138. package/es/web-app/App.d.ts +6 -0
  139. package/es/web-app/App.mjs +34 -0
  140. package/es/web-app/attach-environment-config.d.ts +1 -0
  141. package/es/web-app/attach-environment-config.mjs +51 -0
  142. package/es/web-app/components/index.d.ts +2 -0
  143. package/es/web-app/components/index.mjs +4 -0
  144. package/es/web-app/components/modal-router-shell/modal-router-shell.d.ts +13 -0
  145. package/es/web-app/components/modal-router-shell/modal-router-shell.mjs +119 -0
  146. package/es/web-app/components/router-shell/router-shell.d.ts +3864 -0
  147. package/es/web-app/components/router-shell/router-shell.mjs +106 -0
  148. package/es/web-app/create-vue-app.d.ts +13 -0
  149. package/es/web-app/create-vue-app.mjs +37 -0
  150. package/es/web-app/guard/auth-guard/auth-guard.d.ts +9 -0
  151. package/es/web-app/guard/auth-guard/auth-guard.mjs +169 -0
  152. package/es/web-app/guard/index.d.ts +1 -0
  153. package/es/web-app/guard/index.mjs +3 -0
  154. package/es/web-app/index.d.ts +1 -0
  155. package/es/web-app/index.mjs +3 -0
  156. package/es/web-app/main.d.ts +2 -0
  157. package/es/web-app/main.mjs +63 -0
  158. package/es/web-app/router/index.d.ts +6 -0
  159. package/es/web-app/router/index.mjs +200 -0
  160. package/es/web-app/util/index.d.ts +1 -0
  161. package/es/web-app/util/index.mjs +3 -0
  162. package/es/web-app/util/unauthorized-handler/unauthorized-handler.d.ts +46 -0
  163. package/es/web-app/util/unauthorized-handler/unauthorized-handler.mjs +107 -0
  164. package/lib/_virtual/nprogress.cjs +5 -0
  165. package/lib/common/action-toolbar/action-toolbar.cjs +8 -1
  166. package/lib/control/context-menu/context-menu.cjs +8 -2
  167. package/lib/control/context-menu/context-menu.css +1 -1
  168. package/lib/control/dashboard/portlet/chart-portlet/chart-portlet.cjs +1 -1
  169. package/lib/control/dashboard/portlet/list-portlet/list-portlet.cjs +1 -1
  170. package/lib/control/form/form-detail/form-item/form-item.css +1 -1
  171. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.css +1 -1
  172. package/lib/control/form/form-detail/form-rawitem/form-rawitem.cjs +10 -3
  173. package/lib/control/form/form-detail/form-rawitem/form-rawitem.css +1 -1
  174. package/lib/control/grid/grid/grid.cjs +7 -0
  175. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +5 -2
  176. package/lib/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.css +1 -1
  177. package/lib/control/search-bar/filter-tree/filter-tree.cjs +8 -10
  178. package/lib/control/search-bar/search-groups/search-groups.cjs +2 -2
  179. package/lib/editor/array/ibiz-array/ibiz-array.cjs +9 -2
  180. package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.css +1 -1
  181. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.css +1 -1
  182. package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.cjs +10 -2
  183. package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.css +1 -0
  184. package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +9 -2
  185. package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.css +1 -1
  186. package/lib/editor/color-picker/ibiz-color-picker/ibiz-color-picker.cjs +9 -2
  187. package/lib/editor/color-picker/ibiz-color-picker/ibiz-color-picker.css +1 -1
  188. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  189. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  190. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.css +1 -1
  191. package/lib/editor/data-picker/ibiz-picker-link/ibiz-picker-link.cjs +9 -2
  192. package/lib/editor/data-picker/ibiz-picker-link/ibiz-picker-link.css +1 -1
  193. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.css +1 -1
  194. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.css +1 -1
  195. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +1 -1
  196. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  197. package/lib/editor/html/wang-editor/wang-editor.cjs +2 -2
  198. package/lib/editor/list-box/ibiz-list-box/ibiz-list-box.cjs +9 -2
  199. package/lib/editor/list-box/ibiz-list-box/ibiz-list-box.css +1 -1
  200. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +9 -2
  201. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.css +1 -1
  202. package/lib/editor/rate/ibiz-rate/ibiz-rate.cjs +10 -2
  203. package/lib/editor/rate/ibiz-rate/ibiz-rate.css +1 -0
  204. package/lib/editor/raw/ibiz-raw/ibiz-raw.cjs +9 -2
  205. package/lib/editor/raw/ibiz-raw/ibiz-raw.css +1 -1
  206. package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +9 -2
  207. package/lib/editor/slider/ibiz-slider/ibiz-slider.css +1 -1
  208. package/lib/editor/span/span/span.cjs +9 -2
  209. package/lib/editor/span/span/span.css +1 -1
  210. package/lib/editor/span/span-link/span-link.cjs +9 -2
  211. package/lib/editor/span/span-link/span-link.css +1 -1
  212. package/lib/editor/stepper/ibiz-stepper/ibiz-stepper.cjs +10 -2
  213. package/lib/editor/stepper/ibiz-stepper/ibiz-stepper.css +1 -0
  214. package/lib/editor/switch/ibiz-switch/ibiz-switch.cjs +10 -2
  215. package/lib/editor/switch/ibiz-switch/ibiz-switch.css +1 -0
  216. package/lib/editor/text-box/ibiz-input-ip/ibiz-input-ip.cjs +9 -2
  217. package/lib/editor/text-box/ibiz-input-ip/ibiz-input-ip.css +1 -1
  218. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
  219. package/lib/editor/text-box/input/input.cjs +1 -1
  220. package/lib/editor/text-box/input/input.css +1 -1
  221. package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.cjs +9 -2
  222. package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.css +1 -1
  223. package/lib/editor/upload/ibiz-image-preview/ibiz-image-preview.cjs +9 -2
  224. package/lib/editor/upload/ibiz-image-preview/ibiz-image-preview.css +1 -1
  225. package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.cjs +9 -2
  226. package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.css +1 -1
  227. package/lib/ibiz-vue3.cjs +103 -0
  228. package/lib/index.cjs +143 -195
  229. package/lib/node_modules/.pnpm/element-plus@2.4.2_vue@3.3.8/node_modules/element-plus/dist/locale/zh-cn.cjs +135 -0
  230. package/lib/node_modules/.pnpm/nprogress@0.2.0/node_modules/nprogress/nprogress.cjs +490 -0
  231. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +2 -2
  232. package/lib/panel-component/user-message/index.cjs +2 -15
  233. package/lib/panel-component/user-message/internal-message/common/index.cjs +11 -0
  234. package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.cjs +101 -0
  235. package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.css +1 -0
  236. package/lib/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.cjs +83 -0
  237. package/lib/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.css +1 -0
  238. package/lib/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.cjs +68 -0
  239. package/lib/panel-component/user-message/internal-message/index.cjs +33 -7
  240. package/lib/panel-component/user-message/internal-message/internal-message-html/internal-message-html.cjs +44 -0
  241. package/lib/panel-component/user-message/internal-message/internal-message-html/internal-message-html.css +1 -0
  242. package/lib/panel-component/user-message/internal-message/internal-message-html/internal-message-html.provider.cjs +32 -0
  243. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.cjs +37 -27
  244. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -1
  245. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.cjs +10 -35
  246. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.cjs +40 -5
  247. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.css +1 -1
  248. package/lib/panel-component/user-message/internal-message/internal-message-text/internal-message-text.cjs +52 -0
  249. package/lib/panel-component/user-message/internal-message/internal-message-text/internal-message-text.css +1 -0
  250. package/lib/panel-component/user-message/internal-message/internal-message-text/internal-message-text.provider.cjs +21 -0
  251. package/lib/panel-component/user-message/user-message.cjs +8 -1
  252. package/lib/panel-component/user-message/user-message.css +1 -1
  253. package/lib/util/confirm-util/confirm-util.cjs +5 -5
  254. package/lib/util/loading-util/loading-util.cjs +2 -2
  255. package/lib/util/message-util/message-util.cjs +5 -5
  256. package/lib/util/modal-util/modal-util.cjs +6 -6
  257. package/lib/util/notice-util/notice-util.cjs +3 -3
  258. package/lib/util/notification-util/notification-util.cjs +3 -2
  259. package/lib/util/open-view-util/open-view-util.cjs +4 -2
  260. package/lib/view/404-view/404-view.cjs +6 -5
  261. package/lib/view/404-view/404-view.css +1 -1
  262. package/lib/view/login-view/login-view.cjs +9 -1
  263. package/lib/view/login-view/login-view.css +1 -1
  264. package/lib/web-app/App.cjs +38 -0
  265. package/lib/web-app/App.css +1 -0
  266. package/lib/web-app/attach-environment-config.cjs +53 -0
  267. package/lib/web-app/components/index.cjs +9 -0
  268. package/lib/web-app/components/modal-router-shell/modal-router-shell.cjs +121 -0
  269. package/lib/web-app/components/router-shell/router-shell.cjs +108 -0
  270. package/lib/web-app/create-vue-app.cjs +39 -0
  271. package/lib/web-app/guard/auth-guard/auth-guard.cjs +171 -0
  272. package/lib/web-app/guard/index.cjs +7 -0
  273. package/lib/web-app/index.cjs +7 -0
  274. package/lib/web-app/main.cjs +65 -0
  275. package/lib/web-app/router/index.cjs +202 -0
  276. package/lib/web-app/util/index.cjs +7 -0
  277. package/lib/web-app/util/unauthorized-handler/unauthorized-handler.cjs +109 -0
  278. package/package.json +10 -6
  279. package/dist/index-vJ69ZIJV.js +0 -1
  280. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +0 -1
  281. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.d.ts +0 -17
  282. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.mjs +0 -83
  283. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.d.ts +0 -22
  284. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.mjs +0 -23
  285. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.cjs +0 -85
  286. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +0 -1
  287. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.cjs +0 -25
@@ -0,0 +1,101 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ require('./internal-message-container.css');
6
+
7
+ "use strict";
8
+ const InternalMessageContainer = /* @__PURE__ */ vue.defineComponent({
9
+ name: "IBizInternalMessageContainer",
10
+ props: {
11
+ message: {
12
+ type: Object,
13
+ required: true
14
+ },
15
+ provider: {
16
+ type: Object,
17
+ required: true
18
+ },
19
+ clickable: {
20
+ type: Boolean,
21
+ default: void 0
22
+ },
23
+ toolbarItems: {
24
+ type: Array,
25
+ default: () => []
26
+ }
27
+ },
28
+ emits: {
29
+ toolbarClick: (_key) => true,
30
+ close: () => true
31
+ },
32
+ setup(props, {
33
+ emit
34
+ }) {
35
+ const ns = vue3Util.useNamespace("internal-message-container");
36
+ const isUnread = vue.computed(() => {
37
+ return props.message.status === "RECEIVED";
38
+ });
39
+ const finalToolbarItems = vue.computed(() => {
40
+ const toolbarItems = [...props.toolbarItems];
41
+ if (isUnread.value) {
42
+ toolbarItems.push({
43
+ key: "read",
44
+ icon: "checkmark-done-outline",
45
+ tooltip: "\u6807\u8BB0\u4E3A\u5DF2\u8BFB"
46
+ });
47
+ }
48
+ return toolbarItems;
49
+ });
50
+ const onToolbarClick = (event, key) => {
51
+ event.stopPropagation();
52
+ if (key === "read") {
53
+ ibiz.hub.notice.internalMessage.markRead(props.message);
54
+ } else {
55
+ emit("toolbarClick", key);
56
+ }
57
+ };
58
+ const isClickable = vue.computed(() => {
59
+ if (props.clickable === void 0) {
60
+ return ibiz.env.isMob ? !!props.message.mobile_url : !!props.message.url;
61
+ }
62
+ return props.clickable;
63
+ });
64
+ const onClick = async (event) => {
65
+ if (isClickable.value && props.provider.onClick) {
66
+ const isClose = await props.provider.onClick(props.message, event);
67
+ if (isClose) {
68
+ emit("close");
69
+ }
70
+ }
71
+ };
72
+ return {
73
+ ns,
74
+ isUnread,
75
+ isClickable,
76
+ finalToolbarItems,
77
+ onToolbarClick,
78
+ onClick
79
+ };
80
+ },
81
+ render() {
82
+ var _a, _b;
83
+ return vue.createVNode("div", {
84
+ "class": [this.ns.b(), this.isClickable ? this.ns.m("clickable") : "", this.isUnread ? this.ns.m("unread") : ""],
85
+ "onClick": this.onClick
86
+ }, [(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a), vue.createVNode("div", {
87
+ "class": this.ns.b("toolbar")
88
+ }, [this.finalToolbarItems.map((item) => {
89
+ return vue.createVNode("ion-icon", {
90
+ "class": this.ns.be("toolbar", "button"),
91
+ "name": item.icon,
92
+ "title": item.tooltip,
93
+ "onClick": (e) => this.onToolbarClick(e, item.key)
94
+ }, null);
95
+ })]), vue.createVNode("div", {
96
+ "class": this.ns.e("unread-tag")
97
+ }, null)]);
98
+ }
99
+ });
100
+
101
+ exports.InternalMessageContainer = InternalMessageContainer;
@@ -0,0 +1 @@
1
+ .ibiz-internal-message-container{position:relative}.ibiz-internal-message-container--clickable{cursor:pointer}.ibiz-internal-message-container:hover .ibiz-internal-message-container-toolbar{display:block}.ibiz-internal-message-container__unread-tag{position:absolute;top:8px;right:8px;display:none;align-self:flex-start;width:10px;height:10px;background-color:var(--ibiz-color-danger);border-radius:50%}.ibiz-internal-message-container--unread .ibiz-internal-message-container__unread-tag{display:block}.ibiz-internal-message-container--unread:hover .ibiz-internal-message-container__unread-tag{display:none}.ibiz-internal-message-container-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-container-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-container-toolbar__button:hover{color:var(--ibiz-color-primary)}
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ require('./internal-message-default.css');
6
+
7
+ "use strict";
8
+ const stateTexts = {
9
+ READ: "\u5DF2\u9605\u8BFB",
10
+ SENT: "\u5DF2\u53D1\u9001",
11
+ RECEIVED: "\u5DF2\u63A5\u6536",
12
+ REPLIED: "\u5DF2\u56DE\u590D",
13
+ SEND_FAILED: "\u53D1\u9001\u5931\u8D25",
14
+ NOT_SENT: "\u672A\u53D1\u9001",
15
+ DELETED: "\u5DF2\u5220\u9664"
16
+ };
17
+ const stateType = {
18
+ READ: "",
19
+ SENT: "success",
20
+ RECEIVED: "success",
21
+ REPLIED: "warning",
22
+ SEND_FAILED: "danger",
23
+ NOT_SENT: "info",
24
+ DELETED: "info"
25
+ };
26
+ const InternalMessageDefault = /* @__PURE__ */ vue.defineComponent({
27
+ name: "IBizInternalMessageDefault",
28
+ props: {
29
+ message: {
30
+ type: Object,
31
+ required: true
32
+ },
33
+ provider: {
34
+ type: Object,
35
+ required: true
36
+ }
37
+ },
38
+ emits: {
39
+ close: () => true
40
+ },
41
+ setup() {
42
+ const ns = vue3Util.useNamespace("internal-message");
43
+ return {
44
+ ns
45
+ };
46
+ },
47
+ render() {
48
+ const {
49
+ title,
50
+ create_time,
51
+ content: msgContent,
52
+ status
53
+ } = this.message;
54
+ const content = vue.createVNode("div", {
55
+ "class": this.ns.e("short-content")
56
+ }, [msgContent]);
57
+ return vue.createVNode(vue.resolveComponent("iBizInternalMessageContainer"), {
58
+ "class": [this.ns.b()],
59
+ "message": this.message,
60
+ "provider": this.provider,
61
+ "onClose": () => this.$emit("close")
62
+ }, {
63
+ default: () => [vue.createVNode("div", {
64
+ "class": this.ns.b("left")
65
+ }, [vue.createVNode("ion-icon", {
66
+ "name": "list-outline"
67
+ }, null)]), vue.createVNode("div", {
68
+ "class": this.ns.b("center")
69
+ }, [vue.createVNode("div", {
70
+ "class": this.ns.e("caption")
71
+ }, [vue.createVNode(vue.resolveComponent("el-tag"), {
72
+ "class": this.ns.e("status"),
73
+ "type": stateType[status]
74
+ }, {
75
+ default: () => [stateTexts[status]]
76
+ }), title]), content, vue.createVNode("div", {
77
+ "class": this.ns.e("create-time")
78
+ }, [create_time])])]
79
+ });
80
+ }
81
+ });
82
+
83
+ exports.InternalMessageDefault = InternalMessageDefault;
@@ -0,0 +1 @@
1
+ .ibiz-internal-message{--ibiz-internal-message-loading-warp-bg-color:linear-gradient(90deg, var(--ibiz-color-primary-light-hover), var(--ibiz-color-primary));display:flex;align-items:center;justify-content:space-between}.ibiz-internal-message__caption{margin-bottom:8px;font-weight:var(--ibiz-font-weight-bold)}.ibiz-internal-message__short-content{margin-bottom:8px}.ibiz-internal-message__status{margin-right:8px}.ibiz-internal-message-left{flex-grow:0;flex-shrink:0;align-self:flex-start;width:50px;font-size:var(--ibiz-font-size-header-3);text-align:center}.ibiz-internal-message-center{flex-grow:1;width:342px}
@@ -0,0 +1,68 @@
1
+ 'use strict';
2
+
3
+ var core = require('@ibiz-template/core');
4
+ var runtime = require('@ibiz-template/runtime');
5
+ var vue = require('vue');
6
+ var internalMessageDefault = require('./internal-message-default.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 InternalMessageDefaultProvider {
16
+ constructor() {
17
+ __publicField(this, "component", internalMessageDefault.InternalMessageDefault);
18
+ }
19
+ render(props) {
20
+ return vue.h(this.component, {
21
+ provider: this,
22
+ ...props
23
+ });
24
+ }
25
+ async onClick(message, _event) {
26
+ await ibiz.hub.notice.internalMessage.markRead(message);
27
+ const redirectUrl = ibiz.env.isMob ? message.mobile_url : message.url;
28
+ if (redirectUrl) {
29
+ this.openRedirectView(message, redirectUrl);
30
+ return true;
31
+ }
32
+ return false;
33
+ }
34
+ /**
35
+ * 解析url并打开对应视图,打开视图前会先标记已读
36
+ * @author lxm
37
+ * @date 2024-02-02 11:56:07
38
+ * @param {IInternalMessage} msg
39
+ * @param {string} redirectUrl
40
+ * @return {*} {Promise<void>}
41
+ */
42
+ async openRedirectView(msg, redirectUrl) {
43
+ await ibiz.hub.notice.internalMessage.markRead(msg);
44
+ let viewId = "";
45
+ const params = {};
46
+ const url = new URL(redirectUrl);
47
+ if (url.searchParams.size > 0) {
48
+ url.searchParams.forEach((value, _key) => {
49
+ params[_key] = value;
50
+ });
51
+ }
52
+ const rdTagItems = url.pathname.replace("//", "").split("/");
53
+ const [appOrViewTag, viewTag] = rdTagItems;
54
+ if (viewTag) {
55
+ viewId = viewTag;
56
+ } else {
57
+ viewId = appOrViewTag;
58
+ }
59
+ ibiz.commands.execute(
60
+ runtime.OpenAppViewCommand.TAG,
61
+ viewId,
62
+ core.IBizContext.create({}),
63
+ params
64
+ );
65
+ }
66
+ }
67
+
68
+ exports.InternalMessageDefaultProvider = InternalMessageDefaultProvider;
@@ -1,15 +1,41 @@
1
1
  'use strict';
2
2
 
3
- var internalMessageTab = require('./internal-message-tab/internal-message-tab.cjs');
4
- var internalMessageDefault_provider = require('./internal-message-default/internal-message-default.provider.cjs');
5
- var internalMessageDefault = require('./internal-message-default/internal-message-default.cjs');
3
+ var runtime = require('@ibiz-template/runtime');
4
+ var internalMessageDefault_provider = require('./common/internal-message-default/internal-message-default.provider.cjs');
5
+ var internalMessageDefault = require('./common/internal-message-default/internal-message-default.cjs');
6
6
  var internalMessageJson_provider = require('./internal-message-json/internal-message-json.provider.cjs');
7
7
  var internalMessageJson = require('./internal-message-json/internal-message-json.cjs');
8
+ var internalMessageContainer = require('./common/internal-message-container/internal-message-container.cjs');
9
+ var internalMessageHtml = require('./internal-message-html/internal-message-html.cjs');
10
+ var internalMessageHtml_provider = require('./internal-message-html/internal-message-html.provider.cjs');
11
+ var internalMessageText_provider = require('./internal-message-text/internal-message-text.provider.cjs');
12
+ var internalMessageText = require('./internal-message-text/internal-message-text.cjs');
13
+ var internalMessageTab = require('./internal-message-tab/internal-message-tab.cjs');
8
14
 
9
15
  "use strict";
16
+ function installInternalMessage(v) {
17
+ v.component(internalMessageContainer.InternalMessageContainer.name, internalMessageContainer.InternalMessageContainer);
18
+ v.component(internalMessageDefault.InternalMessageDefault.name, internalMessageDefault.InternalMessageDefault);
19
+ v.component(internalMessageJson.InternalMessageJSON.name, internalMessageJson.InternalMessageJSON);
20
+ v.component(internalMessageHtml.InternalMessageHTML.name, internalMessageHtml.InternalMessageHTML);
21
+ v.component(internalMessageText.InternalMessageText.name, internalMessageText.InternalMessageText);
22
+ runtime.registerInternalMessageProvider(
23
+ "DEFAULT",
24
+ () => new internalMessageDefault_provider.InternalMessageDefaultProvider()
25
+ );
26
+ runtime.registerInternalMessageProvider(
27
+ "JSON",
28
+ () => new internalMessageJson_provider.InternalMessageJSONtProvider()
29
+ );
30
+ runtime.registerInternalMessageProvider(
31
+ "HTML",
32
+ () => new internalMessageHtml_provider.InternalMessageHTMLtProvider()
33
+ );
34
+ runtime.registerInternalMessageProvider(
35
+ "TEXT",
36
+ () => new internalMessageText_provider.InternalMessageTextProvider()
37
+ );
38
+ }
10
39
 
11
40
  exports.InternalMessageTab = internalMessageTab.InternalMessageTab;
12
- exports.InternalMessageDefaultProvider = internalMessageDefault_provider.InternalMessageDefaultProvider;
13
- exports.InternalMessageDefault = internalMessageDefault.InternalMessageDefault;
14
- exports.InternalMessageJSONtProvider = internalMessageJson_provider.InternalMessageJSONtProvider;
15
- exports.InternalMessageJSON = internalMessageJson.InternalMessageJSON;
41
+ exports.installInternalMessage = installInternalMessage;
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ require('./internal-message-html.css');
6
+
7
+ "use strict";
8
+ const InternalMessageHTML = /* @__PURE__ */ vue.defineComponent({
9
+ name: "IBizInternalMessageHTML",
10
+ props: {
11
+ message: {
12
+ type: Object,
13
+ required: true
14
+ },
15
+ provider: {
16
+ type: Object,
17
+ required: true
18
+ }
19
+ },
20
+ emits: {
21
+ close: () => true
22
+ },
23
+ setup() {
24
+ const ns = vue3Util.useNamespace("internal-message-html");
25
+ return {
26
+ ns
27
+ };
28
+ },
29
+ render() {
30
+ return vue.createVNode(vue.resolveComponent("iBizInternalMessageContainer"), {
31
+ "class": [this.ns.b()],
32
+ "message": this.message,
33
+ "provider": this.provider,
34
+ "onClose": () => this.$emit("close")
35
+ }, {
36
+ default: () => [vue.createVNode("div", {
37
+ "class": this.ns.e("content"),
38
+ "innerHTML": this.message.content
39
+ }, null)]
40
+ });
41
+ }
42
+ });
43
+
44
+ exports.InternalMessageHTML = InternalMessageHTML;
@@ -0,0 +1 @@
1
+ .ibiz-internal-message-html{display:flex;flex-flow:column nowrap}.ibiz-internal-message-html__content{flex-grow:1}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var internalMessageHtml = require('./internal-message-html.cjs');
4
+ require('../common/index.cjs');
5
+ var internalMessageDefault_provider = require('../common/internal-message-default/internal-message-default.provider.cjs');
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __publicField = (obj, key, value) => {
11
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
12
+ return value;
13
+ };
14
+ class InternalMessageHTMLtProvider extends internalMessageDefault_provider.InternalMessageDefaultProvider {
15
+ constructor() {
16
+ super(...arguments);
17
+ __publicField(this, "component", internalMessageHtml.InternalMessageHTML);
18
+ }
19
+ async onClick(message, event) {
20
+ const result = await super.onClick(message, event);
21
+ if (!result && message.content_type === "JSON" && message.content) {
22
+ const json = JSON.parse(message.content);
23
+ if (json.redirecturl) {
24
+ this.openRedirectView(message, json.redirecturl);
25
+ return true;
26
+ }
27
+ }
28
+ return true;
29
+ }
30
+ }
31
+
32
+ exports.InternalMessageHTMLtProvider = InternalMessageHTMLtProvider;
@@ -5,6 +5,9 @@ var vue3Util = require('@ibiz-template/vue3-util');
5
5
  require('./internal-message-json.css');
6
6
 
7
7
  "use strict";
8
+ function _isSlot(s) {
9
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
10
+ }
8
11
  const InternalMessageJSON = /* @__PURE__ */ vue.defineComponent({
9
12
  name: "IBizInternalMessageJSON",
10
13
  props: {
@@ -25,28 +28,38 @@ const InternalMessageJSON = /* @__PURE__ */ vue.defineComponent({
25
28
  }) {
26
29
  const ns = vue3Util.useNamespace("internal-message-json");
27
30
  const jsonContent = vue.computed(() => {
28
- if (props.message.short_content && props.message.content_type === "JSON") {
29
- return JSON.parse(props.message.short_content);
31
+ if (props.message.content && props.message.content_type === "JSON") {
32
+ return JSON.parse(props.message.content);
30
33
  }
31
34
  return null;
32
35
  });
33
- const clickable = vue.computed(() => {
36
+ const redirectUrl = vue.computed(() => {
34
37
  var _a;
35
- return !!((_a = jsonContent.value) == null ? void 0 : _a.redirecturl);
38
+ const url = ibiz.env.isMob ? props.message.mobile_url : props.message.url;
39
+ return url || ((_a = jsonContent.value) == null ? void 0 : _a.redirecturl);
36
40
  });
37
- const onClick = async (event) => {
38
- if (props.provider.onClick) {
39
- const isClose = await props.provider.onClick(props.message, event);
40
- if (isClose) {
41
- emit("close");
42
- }
41
+ const toolbarItems = vue.computed(() => {
42
+ if (!redirectUrl.value) {
43
+ return void 0;
44
+ }
45
+ return [{
46
+ icon: "link-outline",
47
+ key: "openRedirectView",
48
+ tooltip: "\u8DF3\u8F6C\u5230\u89C6\u56FE"
49
+ }];
50
+ });
51
+ const onToolbarClick = (key) => {
52
+ if (key === "openRedirectView") {
53
+ props.provider.openRedirectView(props.message, redirectUrl.value);
54
+ emit("close");
43
55
  }
44
56
  };
45
57
  return {
46
58
  ns,
47
- clickable,
48
59
  jsonContent,
49
- onClick
60
+ toolbarItems,
61
+ redirectUrl,
62
+ onToolbarClick
50
63
  };
51
64
  },
52
65
  render() {
@@ -60,22 +73,19 @@ const InternalMessageJSON = /* @__PURE__ */ vue.defineComponent({
60
73
  } else {
61
74
  content = vue.createVNode("div", {
62
75
  "class": this.ns.e("content")
63
- }, [vue.createTextVNode("\u6570\u636E\u7684short_content\u91CC\u7F3A\u5C11html")]);
76
+ }, [vue.createTextVNode("\u6570\u636E\u7684content\u91CC\u7F3A\u5C11html")]);
64
77
  }
65
- return vue.createVNode("div", {
66
- "class": [this.ns.b(), this.clickable ? this.ns.m("clickable") : ""],
67
- "onClick": this.onClick
68
- }, [content, vue.createVNode("div", {
69
- "class": this.ns.b("toolbar")
70
- }, [vue.createVNode("ion-icon", {
71
- "class": this.ns.be("toolbar", "button"),
72
- "name": "timer-outline",
73
- "title": "\u7A0D\u540E\u5904\u7406"
74
- }, null), vue.createVNode("ion-icon", {
75
- "class": this.ns.be("toolbar", "button"),
76
- "name": "checkmark-done-outline",
77
- "title": "\u5DF2\u8BFB"
78
- }, null)])]);
78
+ return vue.createVNode(vue.resolveComponent("iBizInternalMessageContainer"), {
79
+ "class": [this.ns.b()],
80
+ "message": this.message,
81
+ "provider": this.provider,
82
+ "clickable": !!this.redirectUrl,
83
+ "toolbarItems": this.toolbarItems,
84
+ "onToolbarClick": this.onToolbarClick,
85
+ "onClose": () => this.$emit("close")
86
+ }, _isSlot(content) ? content : {
87
+ default: () => [content]
88
+ });
79
89
  }
80
90
  });
81
91
 
@@ -1 +1 @@
1
- .ibiz-internal-message-json{display:flex;flex-flow:column nowrap;position:relative}.ibiz-internal-message-json--clickable{cursor:pointer}.ibiz-internal-message-json__content{flex-grow:1}.ibiz-internal-message-json-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-json-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-json-toolbar__button:hover{color:var(--ibiz-color-primary)}
1
+ .ibiz-internal-message-json{display:flex;flex-flow:column nowrap}.ibiz-internal-message-json__content{flex-grow:1}
@@ -1,9 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var core = require('@ibiz-template/core');
4
- var runtime = require('@ibiz-template/runtime');
5
- var vue = require('vue');
6
3
  var internalMessageJson = require('./internal-message-json.cjs');
4
+ require('../common/index.cjs');
5
+ var internalMessageDefault_provider = require('../common/internal-message-default/internal-message-default.provider.cjs');
7
6
 
8
7
  "use strict";
9
8
  var __defProp = Object.defineProperty;
@@ -12,45 +11,21 @@ var __publicField = (obj, key, value) => {
12
11
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
13
12
  return value;
14
13
  };
15
- class InternalMessageJSONtProvider {
14
+ class InternalMessageJSONtProvider extends internalMessageDefault_provider.InternalMessageDefaultProvider {
16
15
  constructor() {
16
+ super(...arguments);
17
17
  __publicField(this, "component", internalMessageJson.InternalMessageJSON);
18
18
  }
19
- render(props) {
20
- return vue.h(this.component, {
21
- provider: this,
22
- ...props
23
- });
24
- }
25
- async onClick(msg, _event) {
26
- if (msg.content_type === "JSON" && msg.short_content) {
27
- const json = JSON.parse(msg.short_content);
19
+ async onClick(message, event) {
20
+ const result = await super.onClick(message, event);
21
+ if (!result && message.content_type === "JSON" && message.content) {
22
+ const json = JSON.parse(message.content);
28
23
  if (json.redirecturl) {
29
- let viewId = "";
30
- const params = {};
31
- const url = new URL(json.redirecturl);
32
- if (url.searchParams.size > 0) {
33
- url.searchParams.forEach((value, _key) => {
34
- params[_key] = value;
35
- });
36
- }
37
- const rdTagItems = url.pathname.replace("//", "").split("/");
38
- const [appOrViewTag, viewTag] = rdTagItems;
39
- if (viewTag) {
40
- viewId = viewTag;
41
- } else {
42
- viewId = appOrViewTag;
43
- }
44
- ibiz.commands.execute(
45
- runtime.OpenAppViewCommand.TAG,
46
- viewId,
47
- core.IBizContext.create({}),
48
- params
49
- );
24
+ this.openRedirectView(message, json.redirecturl);
50
25
  return true;
51
26
  }
52
27
  }
53
- return false;
28
+ return true;
54
29
  }
55
30
  }
56
31
 
@@ -30,10 +30,25 @@ const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
30
30
  emit("hiddenPopover");
31
31
  };
32
32
  const c = props.controller;
33
+ const hasNotice = vue.ref(false);
34
+ ibiz.mc.command.internalMessage.on(async (msg) => {
35
+ ibiz.log.debug("mqtt internalMessage: ", msg);
36
+ if (msg.subtype === "INTERNALMESSAGE") {
37
+ hasNotice.value = true;
38
+ }
39
+ });
40
+ vue.watch(() => props.showPopover, (newVal) => {
41
+ if (newVal && hasNotice.value) {
42
+ c.load();
43
+ c.refreshUnreadCount();
44
+ hasNotice.value = false;
45
+ }
46
+ });
33
47
  const allItems = vue.ref([]);
34
48
  const state = vue.reactive({
35
49
  total: 0,
36
- pageSize: 0
50
+ pageSize: 0,
51
+ unreadOnly: c.unreadOnly
37
52
  });
38
53
  const updateData = () => {
39
54
  allItems.value = ramda.clone(c.messages);
@@ -41,22 +56,36 @@ const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
41
56
  state.pageSize = c.size;
42
57
  };
43
58
  updateData();
59
+ const updateUnreadOnlyChange = (val) => {
60
+ state.unreadOnly = val;
61
+ };
44
62
  c.evt.on("dataChange", updateData);
63
+ c.evt.on("unreadOnlyChange", updateUnreadOnlyChange);
64
+ vue.onUnmounted(() => {
65
+ c.evt.off("dataChange", updateData);
66
+ c.evt.off("unreadOnlyChange", updateUnreadOnlyChange);
67
+ });
45
68
  const showMore = () => {
46
69
  c.loadMore();
47
70
  };
71
+ const switchChange = () => {
72
+ c.toggleUnReadOnly();
73
+ };
48
74
  return {
49
75
  ns,
50
76
  allItems,
51
77
  state,
52
78
  hiddenPopover,
53
- showMore
79
+ showMore,
80
+ switchChange
54
81
  };
55
82
  },
56
83
  render() {
57
84
  const restLength = this.state.total - this.allItems.length;
58
85
  return vue.createVNode("div", {
59
86
  "class": [this.ns.b()]
87
+ }, [vue.createVNode("div", {
88
+ "class": this.ns.b("content")
60
89
  }, [this.allItems.length > 0 && this.allItems.map((msg) => {
61
90
  let provider;
62
91
  try {
@@ -66,20 +95,26 @@ const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
66
95
  }
67
96
  if (provider) {
68
97
  return provider.render({
69
- class: this.ns.e("item"),
98
+ class: [this.ns.e("item")],
70
99
  message: msg,
71
100
  onClose: this.hiddenPopover
72
101
  });
73
102
  }
74
103
  return vue.createVNode("div", {
75
104
  "class": this.ns.e("item")
76
- }, ["\u7AD9\u5185\u6D88\u606F\u7C7B\u578B".concat(msg.message_type, "\u6682\u672A\u652F\u6301")]);
105
+ }, ["\u7AD9\u5185\u6D88\u606F\u7C7B\u578B".concat(msg.content_type, "\u6682\u672A\u652F\u6301")]);
77
106
  }), this.allItems.length === 0 && vue.createVNode("div", {
78
107
  "class": this.ns.e("nodata")
79
108
  }, [vue.createTextVNode("\u6682\u65E0\u901A\u77E5")]), restLength > 0 && vue.createVNode("div", {
80
109
  "class": this.ns.e("load-more"),
81
110
  "onClick": this.showMore
82
- }, [vue.createTextVNode("\u52A0\u8F7D\u66F4\u591A("), restLength, vue.createTextVNode(")")])]);
111
+ }, [vue.createTextVNode("\u52A0\u8F7D\u66F4\u591A("), restLength, vue.createTextVNode(")")])]), vue.createVNode("div", {
112
+ "class": this.ns.b("footer")
113
+ }, [vue.createVNode(vue.resolveComponent("el-switch"), {
114
+ "value": this.state.unreadOnly,
115
+ "onChange": this.switchChange,
116
+ "class": this.ns.be("footer", "switch")
117
+ }, null), " ", vue.createTextVNode("\u53EA\u663E\u793A\u672A\u8BFB")])]);
83
118
  }
84
119
  });
85
120
 
@@ -1 +1 @@
1
- .ibiz-internal-message-tab{--ibiz-internal-message-tab-load-more-height:30px;width:100%;height:100%}.ibiz-internal-message-tab__item{min-height:60px;padding:var(--ibiz-spacing-tight)}.ibiz-internal-message-tab__item:hover{background-color:var(--ibiz-color-fill-1)}.ibiz-internal-message-tab__nodata{display:flex;align-items:center;justify-content:center;height:calc(100% - var(--ibiz-internal-message-tab-load-more-height))}.ibiz-internal-message-tab__load-more{height:var(--ibiz-internal-message-tab-load-more-height);line-height:var(--ibiz-internal-message-tab-load-more-height);text-align:center}.ibiz-internal-message-tab__load-more:hover{color:var(--ibiz-color-primary-hover);cursor:pointer}
1
+ .ibiz-internal-message-tab{--ibiz-internal-message-tab-load-more-height:30px;--ibiz-internal-message-tab-footer-height:48px;width:100%;height:100%}.ibiz-internal-message-tab__item{min-height:60px;padding:var(--ibiz-spacing-tight)}.ibiz-internal-message-tab__item:hover{background-color:var(--ibiz-color-fill-1)}.ibiz-internal-message-tab__nodata{display:flex;align-items:center;justify-content:center;height:calc(100% - var(--ibiz-internal-message-tab-load-more-height))}.ibiz-internal-message-tab__load-more{height:var(--ibiz-internal-message-tab-load-more-height);line-height:var(--ibiz-internal-message-tab-load-more-height);text-align:center}.ibiz-internal-message-tab__load-more:hover{color:var(--ibiz-color-primary-hover);cursor:pointer}.ibiz-internal-message-tab-content{height:calc(100% - var(--ibiz-internal-message-tab-footer-height));padding-bottom:12px;overflow:auto}.ibiz-internal-message-tab-footer{display:flex;align-items:center;justify-content:flex-start;height:var(--ibiz-internal-message-tab-footer-height);border-top:1px solid var(--ibiz-color-border)}.ibiz-internal-message-tab-footer__switch{margin-right:8px}