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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,99 @@
1
+ import { computed, createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './internal-message-container.css';
4
+
5
+ "use strict";
6
+ const InternalMessageContainer = /* @__PURE__ */ defineComponent({
7
+ name: "IBizInternalMessageContainer",
8
+ props: {
9
+ message: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ provider: {
14
+ type: Object,
15
+ required: true
16
+ },
17
+ clickable: {
18
+ type: Boolean,
19
+ default: void 0
20
+ },
21
+ toolbarItems: {
22
+ type: Array,
23
+ default: () => []
24
+ }
25
+ },
26
+ emits: {
27
+ toolbarClick: (_key) => true,
28
+ close: () => true
29
+ },
30
+ setup(props, {
31
+ emit
32
+ }) {
33
+ const ns = useNamespace("internal-message-container");
34
+ const isUnread = computed(() => {
35
+ return props.message.status === "RECEIVED";
36
+ });
37
+ const finalToolbarItems = computed(() => {
38
+ const toolbarItems = [...props.toolbarItems];
39
+ if (isUnread.value) {
40
+ toolbarItems.push({
41
+ key: "read",
42
+ icon: "checkmark-done-outline",
43
+ tooltip: "\u6807\u8BB0\u4E3A\u5DF2\u8BFB"
44
+ });
45
+ }
46
+ return toolbarItems;
47
+ });
48
+ const onToolbarClick = (event, key) => {
49
+ event.stopPropagation();
50
+ if (key === "read") {
51
+ ibiz.hub.notice.internalMessage.markRead(props.message);
52
+ } else {
53
+ emit("toolbarClick", key);
54
+ }
55
+ };
56
+ const isClickable = computed(() => {
57
+ if (props.clickable === void 0) {
58
+ return ibiz.env.isMob ? !!props.message.mobile_url : !!props.message.url;
59
+ }
60
+ return props.clickable;
61
+ });
62
+ const onClick = async (event) => {
63
+ if (isClickable.value && props.provider.onClick) {
64
+ const isClose = await props.provider.onClick(props.message, event);
65
+ if (isClose) {
66
+ emit("close");
67
+ }
68
+ }
69
+ };
70
+ return {
71
+ ns,
72
+ isUnread,
73
+ isClickable,
74
+ finalToolbarItems,
75
+ onToolbarClick,
76
+ onClick
77
+ };
78
+ },
79
+ render() {
80
+ var _a, _b;
81
+ return createVNode("div", {
82
+ "class": [this.ns.b(), this.isClickable ? this.ns.m("clickable") : "", this.isUnread ? this.ns.m("unread") : ""],
83
+ "onClick": this.onClick
84
+ }, [(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a), createVNode("div", {
85
+ "class": this.ns.b("toolbar")
86
+ }, [this.finalToolbarItems.map((item) => {
87
+ return createVNode("ion-icon", {
88
+ "class": this.ns.be("toolbar", "button"),
89
+ "name": item.icon,
90
+ "title": item.tooltip,
91
+ "onClick": (e) => this.onToolbarClick(e, item.key)
92
+ }, null);
93
+ })]), createVNode("div", {
94
+ "class": this.ns.e("unread-tag")
95
+ }, null)]);
96
+ }
97
+ });
98
+
99
+ export { InternalMessageContainer };
@@ -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,29 @@
1
+ import { PropType } from 'vue';
2
+ import { IInternalMessage } from '@ibiz-template/core';
3
+ import './internal-message-default.scss';
4
+ import { IInternalMessageProvider } from '@ibiz-template/runtime';
5
+ export declare const InternalMessageDefault: import("vue").DefineComponent<{
6
+ message: {
7
+ type: PropType<IInternalMessage>;
8
+ required: true;
9
+ };
10
+ provider: {
11
+ type: PropType<IInternalMessageProvider>;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ close: () => true;
18
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
+ message: {
20
+ type: PropType<IInternalMessage>;
21
+ required: true;
22
+ };
23
+ provider: {
24
+ type: PropType<IInternalMessageProvider>;
25
+ required: true;
26
+ };
27
+ }>> & {
28
+ onClose?: (() => any) | undefined;
29
+ }, {}, {}>;
@@ -0,0 +1,81 @@
1
+ import { createVNode, resolveComponent, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './internal-message-default.css';
4
+
5
+ "use strict";
6
+ const stateTexts = {
7
+ READ: "\u5DF2\u9605\u8BFB",
8
+ SENT: "\u5DF2\u53D1\u9001",
9
+ RECEIVED: "\u5DF2\u63A5\u6536",
10
+ REPLIED: "\u5DF2\u56DE\u590D",
11
+ SEND_FAILED: "\u53D1\u9001\u5931\u8D25",
12
+ NOT_SENT: "\u672A\u53D1\u9001",
13
+ DELETED: "\u5DF2\u5220\u9664"
14
+ };
15
+ const stateType = {
16
+ READ: "",
17
+ SENT: "success",
18
+ RECEIVED: "success",
19
+ REPLIED: "warning",
20
+ SEND_FAILED: "danger",
21
+ NOT_SENT: "info",
22
+ DELETED: "info"
23
+ };
24
+ const InternalMessageDefault = /* @__PURE__ */ defineComponent({
25
+ name: "IBizInternalMessageDefault",
26
+ props: {
27
+ message: {
28
+ type: Object,
29
+ required: true
30
+ },
31
+ provider: {
32
+ type: Object,
33
+ required: true
34
+ }
35
+ },
36
+ emits: {
37
+ close: () => true
38
+ },
39
+ setup() {
40
+ const ns = useNamespace("internal-message");
41
+ return {
42
+ ns
43
+ };
44
+ },
45
+ render() {
46
+ const {
47
+ title,
48
+ create_time,
49
+ content: msgContent,
50
+ status
51
+ } = this.message;
52
+ const content = createVNode("div", {
53
+ "class": this.ns.e("short-content")
54
+ }, [msgContent]);
55
+ return createVNode(resolveComponent("iBizInternalMessageContainer"), {
56
+ "class": [this.ns.b()],
57
+ "message": this.message,
58
+ "provider": this.provider,
59
+ "onClose": () => this.$emit("close")
60
+ }, {
61
+ default: () => [createVNode("div", {
62
+ "class": this.ns.b("left")
63
+ }, [createVNode("ion-icon", {
64
+ "name": "list-outline"
65
+ }, null)]), createVNode("div", {
66
+ "class": this.ns.b("center")
67
+ }, [createVNode("div", {
68
+ "class": this.ns.e("caption")
69
+ }, [createVNode(resolveComponent("el-tag"), {
70
+ "class": this.ns.e("status"),
71
+ "type": stateType[status]
72
+ }, {
73
+ default: () => [stateTexts[status]]
74
+ }), title]), content, createVNode("div", {
75
+ "class": this.ns.e("create-time")
76
+ }, [create_time])])]
77
+ });
78
+ }
79
+ });
80
+
81
+ export { InternalMessageDefault };
@@ -0,0 +1,19 @@
1
+ import { IInternalMessage } from '@ibiz-template/core';
2
+ import { IInternalMessageProvider } from '@ibiz-template/runtime';
3
+ import { VNode } from 'vue';
4
+ export declare class InternalMessageDefaultProvider implements IInternalMessageProvider {
5
+ component: unknown;
6
+ render(props: IData & {
7
+ message: IInternalMessage;
8
+ }): VNode;
9
+ onClick(message: IInternalMessage, _event: MouseEvent): Promise<boolean>;
10
+ /**
11
+ * 解析url并打开对应视图,打开视图前会先标记已读
12
+ * @author lxm
13
+ * @date 2024-02-02 11:56:07
14
+ * @param {IInternalMessage} msg
15
+ * @param {string} redirectUrl
16
+ * @return {*} {Promise<void>}
17
+ */
18
+ openRedirectView(msg: IInternalMessage, redirectUrl: string): Promise<void>;
19
+ }
@@ -0,0 +1,66 @@
1
+ import { IBizContext } from '@ibiz-template/core';
2
+ import { OpenAppViewCommand } from '@ibiz-template/runtime';
3
+ import { h } from 'vue';
4
+ import { InternalMessageDefault } from './internal-message-default.mjs';
5
+
6
+ "use strict";
7
+ var __defProp = Object.defineProperty;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __publicField = (obj, key, value) => {
10
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
+ return value;
12
+ };
13
+ class InternalMessageDefaultProvider {
14
+ constructor() {
15
+ __publicField(this, "component", InternalMessageDefault);
16
+ }
17
+ render(props) {
18
+ return h(this.component, {
19
+ provider: this,
20
+ ...props
21
+ });
22
+ }
23
+ async onClick(message, _event) {
24
+ await ibiz.hub.notice.internalMessage.markRead(message);
25
+ const redirectUrl = ibiz.env.isMob ? message.mobile_url : message.url;
26
+ if (redirectUrl) {
27
+ this.openRedirectView(message, redirectUrl);
28
+ return true;
29
+ }
30
+ return false;
31
+ }
32
+ /**
33
+ * 解析url并打开对应视图,打开视图前会先标记已读
34
+ * @author lxm
35
+ * @date 2024-02-02 11:56:07
36
+ * @param {IInternalMessage} msg
37
+ * @param {string} redirectUrl
38
+ * @return {*} {Promise<void>}
39
+ */
40
+ async openRedirectView(msg, redirectUrl) {
41
+ await ibiz.hub.notice.internalMessage.markRead(msg);
42
+ let viewId = "";
43
+ const params = {};
44
+ const url = new URL(redirectUrl);
45
+ if (url.searchParams.size > 0) {
46
+ url.searchParams.forEach((value, _key) => {
47
+ params[_key] = value;
48
+ });
49
+ }
50
+ const rdTagItems = url.pathname.replace("//", "").split("/");
51
+ const [appOrViewTag, viewTag] = rdTagItems;
52
+ if (viewTag) {
53
+ viewId = viewTag;
54
+ } else {
55
+ viewId = appOrViewTag;
56
+ }
57
+ ibiz.commands.execute(
58
+ OpenAppViewCommand.TAG,
59
+ viewId,
60
+ IBizContext.create({}),
61
+ params
62
+ );
63
+ }
64
+ }
65
+
66
+ export { InternalMessageDefaultProvider };
@@ -1,5 +1,3 @@
1
+ import { App } from 'vue';
1
2
  export { InternalMessageTab } from './internal-message-tab/internal-message-tab';
2
- export { InternalMessageDefaultProvider } from './internal-message-default/internal-message-default.provider';
3
- export { InternalMessageDefault } from './internal-message-default/internal-message-default';
4
- export { InternalMessageJSONtProvider } from './internal-message-json/internal-message-json.provider';
5
- export { InternalMessageJSON } from './internal-message-json/internal-message-json';
3
+ export declare function installInternalMessage(v: App): void;
@@ -1,7 +1,38 @@
1
+ import { registerInternalMessageProvider } from '@ibiz-template/runtime';
2
+ import { InternalMessageDefaultProvider } from './common/internal-message-default/internal-message-default.provider.mjs';
3
+ import { InternalMessageDefault } from './common/internal-message-default/internal-message-default.mjs';
4
+ import { InternalMessageJSONtProvider } from './internal-message-json/internal-message-json.provider.mjs';
5
+ import { InternalMessageJSON } from './internal-message-json/internal-message-json.mjs';
6
+ import { InternalMessageContainer } from './common/internal-message-container/internal-message-container.mjs';
7
+ import { InternalMessageHTML } from './internal-message-html/internal-message-html.mjs';
8
+ import { InternalMessageHTMLtProvider } from './internal-message-html/internal-message-html.provider.mjs';
9
+ import { InternalMessageTextProvider } from './internal-message-text/internal-message-text.provider.mjs';
10
+ import { InternalMessageText } from './internal-message-text/internal-message-text.mjs';
1
11
  export { InternalMessageTab } from './internal-message-tab/internal-message-tab.mjs';
2
- export { InternalMessageDefaultProvider } from './internal-message-default/internal-message-default.provider.mjs';
3
- export { InternalMessageDefault } from './internal-message-default/internal-message-default.mjs';
4
- export { InternalMessageJSONtProvider } from './internal-message-json/internal-message-json.provider.mjs';
5
- export { InternalMessageJSON } from './internal-message-json/internal-message-json.mjs';
6
12
 
7
13
  "use strict";
14
+ function installInternalMessage(v) {
15
+ v.component(InternalMessageContainer.name, InternalMessageContainer);
16
+ v.component(InternalMessageDefault.name, InternalMessageDefault);
17
+ v.component(InternalMessageJSON.name, InternalMessageJSON);
18
+ v.component(InternalMessageHTML.name, InternalMessageHTML);
19
+ v.component(InternalMessageText.name, InternalMessageText);
20
+ registerInternalMessageProvider(
21
+ "DEFAULT",
22
+ () => new InternalMessageDefaultProvider()
23
+ );
24
+ registerInternalMessageProvider(
25
+ "JSON",
26
+ () => new InternalMessageJSONtProvider()
27
+ );
28
+ registerInternalMessageProvider(
29
+ "HTML",
30
+ () => new InternalMessageHTMLtProvider()
31
+ );
32
+ registerInternalMessageProvider(
33
+ "TEXT",
34
+ () => new InternalMessageTextProvider()
35
+ );
36
+ }
37
+
38
+ export { installInternalMessage };
@@ -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,29 @@
1
+ import { PropType } from 'vue';
2
+ import { IInternalMessage } from '@ibiz-template/core';
3
+ import './internal-message-html.scss';
4
+ import { InternalMessageHTMLtProvider } from './internal-message-html.provider';
5
+ export declare const InternalMessageHTML: import("vue").DefineComponent<{
6
+ message: {
7
+ type: PropType<IInternalMessage>;
8
+ required: true;
9
+ };
10
+ provider: {
11
+ type: PropType<InternalMessageHTMLtProvider>;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ close: () => true;
18
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
+ message: {
20
+ type: PropType<IInternalMessage>;
21
+ required: true;
22
+ };
23
+ provider: {
24
+ type: PropType<InternalMessageHTMLtProvider>;
25
+ required: true;
26
+ };
27
+ }>> & {
28
+ onClose?: (() => any) | undefined;
29
+ }, {}, {}>;
@@ -0,0 +1,42 @@
1
+ import { resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './internal-message-html.css';
4
+
5
+ "use strict";
6
+ const InternalMessageHTML = /* @__PURE__ */ defineComponent({
7
+ name: "IBizInternalMessageHTML",
8
+ props: {
9
+ message: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ provider: {
14
+ type: Object,
15
+ required: true
16
+ }
17
+ },
18
+ emits: {
19
+ close: () => true
20
+ },
21
+ setup() {
22
+ const ns = useNamespace("internal-message-html");
23
+ return {
24
+ ns
25
+ };
26
+ },
27
+ render() {
28
+ return createVNode(resolveComponent("iBizInternalMessageContainer"), {
29
+ "class": [this.ns.b()],
30
+ "message": this.message,
31
+ "provider": this.provider,
32
+ "onClose": () => this.$emit("close")
33
+ }, {
34
+ default: () => [createVNode("div", {
35
+ "class": this.ns.e("content"),
36
+ "innerHTML": this.message.content
37
+ }, null)]
38
+ });
39
+ }
40
+ });
41
+
42
+ export { InternalMessageHTML };
@@ -0,0 +1,30 @@
1
+ import { IInternalMessage } from '@ibiz-template/core/src/interface';
2
+ import { InternalMessageDefaultProvider } from '../common';
3
+ export declare class InternalMessageHTMLtProvider extends InternalMessageDefaultProvider {
4
+ component: import("vue").DefineComponent<{
5
+ message: {
6
+ type: import("vue").PropType<import("@ibiz-template/core").IInternalMessage>;
7
+ required: true;
8
+ };
9
+ provider: {
10
+ type: import("vue").PropType<InternalMessageHTMLtProvider>;
11
+ required: true;
12
+ };
13
+ }, {
14
+ ns: import("@ibiz-template/core").Namespace;
15
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
+ close: () => true;
17
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ message: {
19
+ type: import("vue").PropType<import("@ibiz-template/core").IInternalMessage>;
20
+ required: true;
21
+ };
22
+ provider: {
23
+ type: import("vue").PropType<InternalMessageHTMLtProvider>;
24
+ required: true;
25
+ };
26
+ }>> & {
27
+ onClose?: (() => any) | undefined;
28
+ }, {}, {}>;
29
+ onClick(message: IInternalMessage, event: MouseEvent): Promise<boolean>;
30
+ }
@@ -0,0 +1,30 @@
1
+ import { InternalMessageHTML } from './internal-message-html.mjs';
2
+ import '../common/index.mjs';
3
+ import { InternalMessageDefaultProvider } from '../common/internal-message-default/internal-message-default.provider.mjs';
4
+
5
+ "use strict";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => {
9
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ return value;
11
+ };
12
+ class InternalMessageHTMLtProvider extends InternalMessageDefaultProvider {
13
+ constructor() {
14
+ super(...arguments);
15
+ __publicField(this, "component", InternalMessageHTML);
16
+ }
17
+ async onClick(message, event) {
18
+ const result = await super.onClick(message, event);
19
+ if (!result && message.content_type === "JSON" && message.content) {
20
+ const json = JSON.parse(message.content);
21
+ if (json.redirecturl) {
22
+ this.openRedirectView(message, json.redirecturl);
23
+ return true;
24
+ }
25
+ }
26
+ return true;
27
+ }
28
+ }
29
+
30
+ export { InternalMessageHTMLtProvider };
@@ -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,24 +1,29 @@
1
1
  import { PropType } from 'vue';
2
2
  import { IInternalMessage } from '@ibiz-template/core';
3
3
  import './internal-message-json.scss';
4
- import { IInternalMessageProvider } from '@ibiz-template/runtime';
4
+ import { InternalMessageJSONtProvider } from './internal-message-json.provider';
5
5
  export declare const InternalMessageJSON: import("vue").DefineComponent<{
6
6
  message: {
7
7
  type: PropType<IInternalMessage>;
8
8
  required: true;
9
9
  };
10
10
  provider: {
11
- type: PropType<IInternalMessageProvider>;
11
+ type: PropType<InternalMessageJSONtProvider>;
12
12
  required: true;
13
13
  };
14
14
  }, {
15
15
  ns: import("@ibiz-template/core").Namespace;
16
- clickable: import("vue").ComputedRef<boolean>;
17
16
  jsonContent: import("vue").ComputedRef<{
18
17
  html?: string | undefined;
19
18
  redirecturl?: string | undefined;
20
19
  } | null>;
21
- onClick: (event: MouseEvent) => Promise<void>;
20
+ toolbarItems: import("vue").ComputedRef<{
21
+ icon: string;
22
+ key: string;
23
+ tooltip: string;
24
+ }[] | undefined>;
25
+ redirectUrl: import("vue").ComputedRef<string | undefined>;
26
+ onToolbarClick: (key: string) => void;
22
27
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
28
  close: () => true;
24
29
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -27,7 +32,7 @@ export declare const InternalMessageJSON: import("vue").DefineComponent<{
27
32
  required: true;
28
33
  };
29
34
  provider: {
30
- type: PropType<IInternalMessageProvider>;
35
+ type: PropType<InternalMessageJSONtProvider>;
31
36
  required: true;
32
37
  };
33
38
  }>> & {
@@ -1,8 +1,11 @@
1
- import { computed, createVNode, createTextVNode, defineComponent } from 'vue';
1
+ import { isVNode, computed, createVNode, createTextVNode, resolveComponent, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './internal-message-json.css';
4
4
 
5
5
  "use strict";
6
+ function _isSlot(s) {
7
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
8
+ }
6
9
  const InternalMessageJSON = /* @__PURE__ */ defineComponent({
7
10
  name: "IBizInternalMessageJSON",
8
11
  props: {
@@ -23,28 +26,38 @@ const InternalMessageJSON = /* @__PURE__ */ defineComponent({
23
26
  }) {
24
27
  const ns = useNamespace("internal-message-json");
25
28
  const jsonContent = computed(() => {
26
- if (props.message.short_content && props.message.content_type === "JSON") {
27
- return JSON.parse(props.message.short_content);
29
+ if (props.message.content && props.message.content_type === "JSON") {
30
+ return JSON.parse(props.message.content);
28
31
  }
29
32
  return null;
30
33
  });
31
- const clickable = computed(() => {
34
+ const redirectUrl = computed(() => {
32
35
  var _a;
33
- return !!((_a = jsonContent.value) == null ? void 0 : _a.redirecturl);
36
+ const url = ibiz.env.isMob ? props.message.mobile_url : props.message.url;
37
+ return url || ((_a = jsonContent.value) == null ? void 0 : _a.redirecturl);
34
38
  });
35
- const onClick = async (event) => {
36
- if (props.provider.onClick) {
37
- const isClose = await props.provider.onClick(props.message, event);
38
- if (isClose) {
39
- emit("close");
40
- }
39
+ const toolbarItems = computed(() => {
40
+ if (!redirectUrl.value) {
41
+ return void 0;
42
+ }
43
+ return [{
44
+ icon: "link-outline",
45
+ key: "openRedirectView",
46
+ tooltip: "\u8DF3\u8F6C\u5230\u89C6\u56FE"
47
+ }];
48
+ });
49
+ const onToolbarClick = (key) => {
50
+ if (key === "openRedirectView") {
51
+ props.provider.openRedirectView(props.message, redirectUrl.value);
52
+ emit("close");
41
53
  }
42
54
  };
43
55
  return {
44
56
  ns,
45
- clickable,
46
57
  jsonContent,
47
- onClick
58
+ toolbarItems,
59
+ redirectUrl,
60
+ onToolbarClick
48
61
  };
49
62
  },
50
63
  render() {
@@ -58,22 +71,19 @@ const InternalMessageJSON = /* @__PURE__ */ defineComponent({
58
71
  } else {
59
72
  content = createVNode("div", {
60
73
  "class": this.ns.e("content")
61
- }, [createTextVNode("\u6570\u636E\u7684short_content\u91CC\u7F3A\u5C11html")]);
74
+ }, [createTextVNode("\u6570\u636E\u7684content\u91CC\u7F3A\u5C11html")]);
62
75
  }
63
- return createVNode("div", {
64
- "class": [this.ns.b(), this.clickable ? this.ns.m("clickable") : ""],
65
- "onClick": this.onClick
66
- }, [content, createVNode("div", {
67
- "class": this.ns.b("toolbar")
68
- }, [createVNode("ion-icon", {
69
- "class": this.ns.be("toolbar", "button"),
70
- "name": "timer-outline",
71
- "title": "\u7A0D\u540E\u5904\u7406"
72
- }, null), createVNode("ion-icon", {
73
- "class": this.ns.be("toolbar", "button"),
74
- "name": "checkmark-done-outline",
75
- "title": "\u5DF2\u8BFB"
76
- }, null)])]);
76
+ return createVNode(resolveComponent("iBizInternalMessageContainer"), {
77
+ "class": [this.ns.b()],
78
+ "message": this.message,
79
+ "provider": this.provider,
80
+ "clickable": !!this.redirectUrl,
81
+ "toolbarItems": this.toolbarItems,
82
+ "onToolbarClick": this.onToolbarClick,
83
+ "onClose": () => this.$emit("close")
84
+ }, _isSlot(content) ? content : {
85
+ default: () => [content]
86
+ });
77
87
  }
78
88
  });
79
89