@ditari/bsui 5.1.0 → 5.1.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 (88) hide show
  1. package/dist/cjs/components/date/RangePicker.vue2.cjs +3 -2
  2. package/dist/cjs/components/date/RangePicker.vue2.cjs.map +1 -1
  3. package/dist/cjs/components/index.cjs +2 -0
  4. package/dist/cjs/components/index.cjs.map +1 -1
  5. package/dist/cjs/components/layout/AppContext.cjs.map +1 -1
  6. package/dist/cjs/components/layout/Layout.vue2.cjs +14 -4
  7. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
  8. package/dist/cjs/components/layout/List.cjs +33 -28
  9. package/dist/cjs/components/layout/List.cjs.map +1 -1
  10. package/dist/cjs/components/layout/components/layout/RouterContent.vue2.cjs +41 -11
  11. package/dist/cjs/components/layout/components/layout/RouterContent.vue2.cjs.map +1 -1
  12. package/dist/cjs/components/layout/components/layout/RouterContentName.vue.cjs +10 -0
  13. package/dist/cjs/components/layout/components/layout/RouterContentName.vue.cjs.map +1 -0
  14. package/dist/cjs/components/layout/components/layout/RouterContentName.vue2.cjs +52 -0
  15. package/dist/cjs/components/layout/components/layout/RouterContentName.vue2.cjs.map +1 -0
  16. package/dist/cjs/components/layout/components/menu/Menu.cjs +3 -2
  17. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
  18. package/dist/cjs/components/layout/index.cjs +2 -0
  19. package/dist/cjs/components/layout/index.cjs.map +1 -1
  20. package/dist/cjs/components/tab/Tab.vue2.cjs +137 -28
  21. package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -1
  22. package/dist/cjs/components/table-form/interface.cjs +1 -1
  23. package/dist/cjs/components/table-form/interface.cjs.map +1 -1
  24. package/dist/cjs/index.cjs +2 -0
  25. package/dist/cjs/index.cjs.map +1 -1
  26. package/dist/esm/components/date/RangePicker.vue2.mjs +4 -3
  27. package/dist/esm/components/date/RangePicker.vue2.mjs.map +1 -1
  28. package/dist/esm/components/index.mjs +1 -0
  29. package/dist/esm/components/index.mjs.map +1 -1
  30. package/dist/esm/components/layout/AppContext.mjs.map +1 -1
  31. package/dist/esm/components/layout/Layout.vue2.mjs +15 -5
  32. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
  33. package/dist/esm/components/layout/List.mjs +34 -29
  34. package/dist/esm/components/layout/List.mjs.map +1 -1
  35. package/dist/esm/components/layout/components/layout/RouterContent.vue2.mjs +43 -13
  36. package/dist/esm/components/layout/components/layout/RouterContent.vue2.mjs.map +1 -1
  37. package/dist/esm/components/layout/components/layout/RouterContentName.vue.mjs +6 -0
  38. package/dist/esm/components/layout/components/layout/RouterContentName.vue.mjs.map +1 -0
  39. package/dist/esm/components/layout/components/layout/RouterContentName.vue2.mjs +48 -0
  40. package/dist/esm/components/layout/components/layout/RouterContentName.vue2.mjs.map +1 -0
  41. package/dist/esm/components/layout/components/menu/Menu.mjs +3 -2
  42. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
  43. package/dist/esm/components/layout/index.mjs +1 -0
  44. package/dist/esm/components/layout/index.mjs.map +1 -1
  45. package/dist/esm/components/tab/Tab.vue2.mjs +139 -30
  46. package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -1
  47. package/dist/esm/components/table-form/interface.mjs +1 -1
  48. package/dist/esm/components/table-form/interface.mjs.map +1 -1
  49. package/dist/esm/index.mjs +1 -0
  50. package/dist/esm/index.mjs.map +1 -1
  51. package/dist/types/components/date/RangePicker.vue.d.ts +3 -0
  52. package/dist/types/components/date/RangePicker.vue.d.ts.map +1 -1
  53. package/dist/types/components/layout/AppContext.d.ts +3 -0
  54. package/dist/types/components/layout/AppContext.d.ts.map +1 -1
  55. package/dist/types/components/layout/Layout.vue.d.ts +51 -3
  56. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
  57. package/dist/types/components/layout/List.d.ts.map +1 -1
  58. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts +11 -0
  59. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts.map +1 -1
  60. package/dist/types/components/layout/components/layout/RouterContent.vue.d.ts +4 -14
  61. package/dist/types/components/layout/components/layout/RouterContent.vue.d.ts.map +1 -1
  62. package/dist/types/components/layout/components/layout/RouterContentName.vue.d.ts +19 -0
  63. package/dist/types/components/layout/components/layout/RouterContentName.vue.d.ts.map +1 -0
  64. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
  65. package/dist/types/components/layout/index.d.ts +1 -0
  66. package/dist/types/components/layout/index.d.ts.map +1 -1
  67. package/dist/types/components/tab/Tab.vue.d.ts +11 -0
  68. package/dist/types/components/tab/Tab.vue.d.ts.map +1 -1
  69. package/dist/types/components/table-form/TableFormItem.d.ts +4 -4
  70. package/dist/types/components/table-form/interface.d.ts +2 -2
  71. package/dist/types/components/table-form/interface.d.ts.map +1 -1
  72. package/package.json +3 -3
  73. package/dist/cjs/_virtual/_commonjsHelpers.cjs +0 -47
  74. package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +0 -1
  75. package/dist/cjs/_virtual/dayjs.min.cjs +0 -12
  76. package/dist/cjs/_virtual/dayjs.min.cjs.map +0 -1
  77. package/dist/cjs/_virtual/dayjs.min2.cjs +0 -6
  78. package/dist/cjs/_virtual/dayjs.min2.cjs.map +0 -1
  79. package/dist/cjs/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.cjs +0 -20
  80. package/dist/cjs/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.cjs.map +0 -1
  81. package/dist/esm/_virtual/_commonjsHelpers.mjs +0 -41
  82. package/dist/esm/_virtual/_commonjsHelpers.mjs.map +0 -1
  83. package/dist/esm/_virtual/dayjs.min.mjs +0 -8
  84. package/dist/esm/_virtual/dayjs.min.mjs.map +0 -1
  85. package/dist/esm/_virtual/dayjs.min2.mjs +0 -4
  86. package/dist/esm/_virtual/dayjs.min2.mjs.map +0 -1
  87. package/dist/esm/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.mjs +0 -18
  88. package/dist/esm/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.mjs.map +0 -1
@@ -1,20 +1,25 @@
1
- import { defineComponent, computed, watch, resolveComponent, createElementBlock, openBlock, normalizeClass, unref, createVNode, createElementVNode, isRef, withCtx, Fragment, renderList, createBlock, createCommentVNode, toDisplayString } from 'vue';
1
+ import { defineComponent, computed, watch, inject, resolveComponent, createElementBlock, openBlock, normalizeClass, unref, createVNode, createElementVNode, isRef, withCtx, Fragment, renderList, createBlock, createCommentVNode, toDisplayString, createTextVNode } from 'vue';
2
2
  import { useRoute, useRouter } from 'vue-router';
3
3
  import { theme } from 'ant-design-vue';
4
4
  import { storeToRefs } from 'pinia';
5
+ import { AppContextKey } from '../layout/AppContext.mjs';
5
6
  import Search from './Search.mjs';
6
- import { CloseOutlined } from '@ant-design/icons-vue';
7
+ import { ReloadOutlined, CloseOutlined } from '@ant-design/icons-vue';
7
8
  import { useNavTabStore } from '@ditari/store';
8
9
  import { css } from '@emotion/css';
9
10
 
10
11
  "use strict";
11
12
  const _hoisted_1 = { class: "d-tabs-nav" };
12
- const _hoisted_2 = { class: "tab-item" };
13
- const _hoisted_3 = {
13
+ const _hoisted_2 = {
14
14
  key: 0,
15
+ class: "tab-item"
16
+ };
17
+ const _hoisted_3 = { class: "tab-item" };
18
+ const _hoisted_4 = {
19
+ key: 2,
15
20
  class: "tab-close"
16
21
  };
17
- const _hoisted_4 = ["onClick"];
22
+ const _hoisted_5 = ["onClick"];
18
23
  var _sfc_main = /* @__PURE__ */ defineComponent({
19
24
  __name: "Tab",
20
25
  setup(__props) {
@@ -26,6 +31,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
26
31
  onChange,
27
32
  onClose
28
33
  } = useTab();
34
+ const { enableTabContextMenu, onContextMenuClick } = useTabsContextMenu();
29
35
  function useStyle() {
30
36
  const { useToken } = theme;
31
37
  const { token } = useToken();
@@ -113,7 +119,49 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
113
119
  onClose: onClose2
114
120
  };
115
121
  }
122
+ function useTabsContextMenu() {
123
+ const appContext = inject(
124
+ AppContextKey,
125
+ null
126
+ );
127
+ const store = useNavTabStore();
128
+ const router = useRouter();
129
+ const onContextMenuClick2 = ({ key }, targetKey) => {
130
+ var _a, _b, _c, _d;
131
+ switch (key) {
132
+ case "reload":
133
+ if (targetKey !== activeKey.value) {
134
+ router.push(targetKey).then(() => {
135
+ var _a2;
136
+ return (_a2 = appContext == null ? void 0 : appContext.onReloadPage) == null ? void 0 : _a2.call(appContext);
137
+ });
138
+ } else {
139
+ (_a = appContext == null ? void 0 : appContext.onReloadPage) == null ? void 0 : _a.call(appContext);
140
+ }
141
+ break;
142
+ case "other":
143
+ (_b = store.closeOtherTabs) == null ? void 0 : _b.call(store, targetKey);
144
+ router.push(targetKey);
145
+ break;
146
+ case "left":
147
+ (_c = store.closeLeftTabs) == null ? void 0 : _c.call(store, targetKey);
148
+ router.push(targetKey);
149
+ break;
150
+ case "right":
151
+ (_d = store.closeRightTabs) == null ? void 0 : _d.call(store, targetKey);
152
+ router.push(targetKey);
153
+ break;
154
+ }
155
+ };
156
+ return {
157
+ enableTabContextMenu: (appContext == null ? void 0 : appContext.enableTabContextMenu) || false,
158
+ onContextMenuClick: onContextMenuClick2
159
+ };
160
+ }
116
161
  return (_ctx, _cache) => {
162
+ const _component_a_menu_item = resolveComponent("a-menu-item");
163
+ const _component_a_menu = resolveComponent("a-menu");
164
+ const _component_a_dropdown = resolveComponent("a-dropdown");
117
165
  const _component_a_tab_pane = resolveComponent("a-tab-pane");
118
166
  const _component_a_tabs = resolveComponent("a-tabs");
119
167
  return openBlock(), createElementBlock(
@@ -154,47 +202,108 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
154
202
  2
155
203
  /* CLASS */
156
204
  ),
157
- _cache[1] || (_cache[1] = createElementVNode(
205
+ _cache[5] || (_cache[5] = createElementVNode(
158
206
  "div",
159
207
  { class: "tab-dividers" },
160
208
  null,
161
209
  -1
162
210
  /* CACHED */
163
211
  )),
164
- createCommentVNode(` <a-dropdown :trigger="['contextmenu']">`),
165
- createElementVNode(
212
+ !unref(enableTabContextMenu) ? (openBlock(), createElementBlock(
166
213
  "div",
167
214
  _hoisted_2,
168
215
  toDisplayString(((_a = item.meta) == null ? void 0 : _a.title) || "\u65E0\u6807\u9898"),
169
216
  1
170
217
  /* TEXT */
171
- ),
172
- createCommentVNode(" <template #overlay>"),
173
- createCommentVNode(" <a-menu>"),
174
- createCommentVNode(' <a-menu-item key="1">'),
175
- createCommentVNode(" <ReloadOutlined />"),
176
- createCommentVNode(" \u91CD\u65B0\u52A0\u8F7D"),
177
- createCommentVNode(" </a-menu-item>"),
178
- createCommentVNode(' <a-menu-item key="2">'),
179
- createCommentVNode(" <CloseOutlined />"),
180
- createCommentVNode(" \u5173\u95ED\u5176\u4ED6"),
181
- createCommentVNode(" </a-menu-item>"),
182
- createCommentVNode(' <a-menu-item key="3"'),
183
- createCommentVNode(" >\u5173\u95ED\u53F3\u4FA7\u6807\u7B7E"),
184
- createCommentVNode(" </a-menu-item>"),
185
- createCommentVNode(' <a-menu-item key="3"'),
186
- createCommentVNode(" >\u5173\u95ED\u5DE6\u4FA7\u6807\u7B7E"),
187
- createCommentVNode(" </a-menu-item>"),
188
- createCommentVNode(" </a-menu>"),
189
- createCommentVNode(" </template>"),
190
- createCommentVNode(" </a-dropdown>"),
191
- unref(closeBtnStatus)(item) ? (openBlock(), createElementBlock("div", _hoisted_3, [
218
+ )) : createCommentVNode("v-if", true),
219
+ unref(enableTabContextMenu) ? (openBlock(), createBlock(
220
+ _component_a_dropdown,
221
+ {
222
+ key: 1,
223
+ trigger: ["contextmenu"]
224
+ },
225
+ {
226
+ overlay: withCtx(() => [
227
+ createVNode(_component_a_menu, {
228
+ onClick: (e) => unref(onContextMenuClick)(e, item.fullPath)
229
+ }, {
230
+ default: withCtx(() => [
231
+ createVNode(_component_a_menu_item, { key: "reload" }, {
232
+ default: withCtx(() => [
233
+ createVNode(unref(ReloadOutlined)),
234
+ _cache[1] || (_cache[1] = createTextVNode(
235
+ " \u91CD\u65B0\u52A0\u8F7D ",
236
+ -1
237
+ /* CACHED */
238
+ ))
239
+ ]),
240
+ _: 1
241
+ /* STABLE */
242
+ }),
243
+ createVNode(_component_a_menu_item, { key: "other" }, {
244
+ default: withCtx(() => [
245
+ createVNode(unref(CloseOutlined)),
246
+ _cache[2] || (_cache[2] = createTextVNode(
247
+ " \u5173\u95ED\u5176\u4ED6 ",
248
+ -1
249
+ /* CACHED */
250
+ ))
251
+ ]),
252
+ _: 1
253
+ /* STABLE */
254
+ }),
255
+ createVNode(_component_a_menu_item, { key: "right" }, {
256
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [
257
+ createTextVNode(
258
+ "\u5173\u95ED\u53F3\u4FA7\u6807\u7B7E ",
259
+ -1
260
+ /* CACHED */
261
+ )
262
+ ])]),
263
+ _: 1
264
+ /* STABLE */
265
+ }),
266
+ createVNode(_component_a_menu_item, { key: "left" }, {
267
+ default: withCtx(() => [..._cache[4] || (_cache[4] = [
268
+ createTextVNode(
269
+ "\u5173\u95ED\u5DE6\u4FA7\u6807\u7B7E ",
270
+ -1
271
+ /* CACHED */
272
+ )
273
+ ])]),
274
+ _: 1
275
+ /* STABLE */
276
+ })
277
+ ]),
278
+ _: 1
279
+ /* STABLE */
280
+ }, 8, ["onClick"])
281
+ ]),
282
+ default: withCtx(() => {
283
+ var _a2;
284
+ return [
285
+ createElementVNode(
286
+ "div",
287
+ _hoisted_3,
288
+ toDisplayString(((_a2 = item.meta) == null ? void 0 : _a2.title) || "\u65E0\u6807\u9898"),
289
+ 1
290
+ /* TEXT */
291
+ )
292
+ ];
293
+ }),
294
+ _: 2
295
+ /* DYNAMIC */
296
+ },
297
+ 1024
298
+ /* DYNAMIC_SLOTS */
299
+ )) : createCommentVNode("v-if", true),
300
+ unref(closeBtnStatus)(item) ? (openBlock(), createElementBlock("div", _hoisted_4, [
192
301
  createElementVNode("div", {
193
302
  class: normalizeClass(["close-btn", unref(closeBtnStyle)]),
194
303
  onClick: ($event) => unref(onClose)($event, item.fullPath)
195
304
  }, [
196
305
  createVNode(unref(CloseOutlined))
197
- ], 10, _hoisted_4)
306
+ ], 10, _hoisted_5)
198
307
  ])) : createCommentVNode("v-if", true)
199
308
  ];
200
309
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.vue2.mjs","sources":["../../../../src/components/tab/Tab.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, type ComputedRef, watch } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport Search from \"./Search\";\r\nimport {\r\n CloseOutlined,\r\n ReloadOutlined\r\n} from \"@ant-design/icons-vue\";\r\nimport {\r\n type NavTabsState,\r\n useNavTabStore\r\n} from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nconst { tabsNavStyle, tabHoverBgStyle, closeBtnStyle } =\r\n useStyle();\r\n\r\nconst {\r\n activeKey,\r\n list,\r\n closeBtnStatus,\r\n onChange,\r\n onClose\r\n} = useTab();\r\n\r\nfunction useStyle(): {\r\n tabsNavStyle: ComputedRef<string>;\r\n tabHoverBgStyle: ComputedRef<string>;\r\n closeBtnStyle: ComputedRef<string>;\r\n} {\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const activeTabColor = computed(\r\n () => token.value.colorBgLayout\r\n );\r\n const splitColor = computed(\r\n () => token.value.colorBorderSecondary\r\n );\r\n\r\n const tabsNavStyle = computed(() => {\r\n return css`\r\n --active-tab-color: ${activeTabColor.value};\r\n --splitColor: ${splitColor.value};\r\n padding-top: 10px;\r\n display: flex;\r\n `;\r\n });\r\n\r\n const tabHoverBgStyle = computed(() => {\r\n return css`\r\n &:before {\r\n background: ${token.value.colorPrimaryBgHover};\r\n }\r\n `;\r\n });\r\n\r\n const closeBtnStyle = computed(() => {\r\n return css`\r\n &:hover {\r\n background: ${token.value.colorPrimaryBorderHover};\r\n border-radius: 50%;\r\n }\r\n `;\r\n });\r\n\r\n return {\r\n tabsNavStyle,\r\n tabHoverBgStyle,\r\n closeBtnStyle\r\n };\r\n}\r\n\r\nfunction useTab() {\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n const store = useNavTabStore();\r\n const { list, activeKey } = storeToRefs(store);\r\n const { save, deleteTabs } = store;\r\n\r\n watch(\r\n () => route.fullPath,\r\n val => {\r\n save(route);\r\n activeKey.value = val;\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n const onChange = (key: string) => {\r\n if (key !== route.path) {\r\n // 匹配打开的标签路由数据\r\n const rs = list.value.filter(\r\n item => item.fullPath === key\r\n )[0];\r\n router.push(rs);\r\n }\r\n };\r\n\r\n const onClose = (\r\n $event: Event,\r\n key: string | undefined\r\n ) => {\r\n if (!key) return;\r\n //阻止冒泡\r\n $event.stopPropagation();\r\n // 删除标签\r\n deleteTabs(key);\r\n // 重新push已打开的路由\r\n const backRoute = list.value[list.value.length - 1];\r\n if (backRoute.fullPath) {\r\n router.push(backRoute.fullPath);\r\n }\r\n };\r\n\r\n const closeBtnStatus = (item: NavTabsState) => {\r\n // 如果meta有设置keepOpen则隐藏关闭按钮\r\n if (item.meta?.keepOpen) {\r\n return false;\r\n } else {\r\n // 如果只有一个标签,则隐藏关闭按钮\r\n return list.value.length !== 1;\r\n }\r\n };\r\n\r\n return {\r\n activeKey,\r\n list,\r\n closeBtnStatus,\r\n onChange,\r\n onClose\r\n };\r\n}\r\n</script>\r\n<template>\r\n <div class=\"tabs-nav-wrapper\" :class=\"tabsNavStyle\">\r\n <Search />\r\n <div class=\"d-tabs-nav\">\r\n <a-tabs\r\n size=\"small\"\r\n v-model:activeKey=\"activeKey\"\r\n type=\"card\"\r\n hide-add\r\n @change=\"onChange\"\r\n >\r\n <a-tab-pane\r\n :key=\"item.fullPath\"\r\n :closable=\"false\"\r\n v-for=\"item in list\"\r\n :class=\"{ active: activeKey === item.fullPath }\"\r\n >\r\n <template #tab>\r\n <div\r\n class=\"tab-hover-bg\"\r\n :class=\"tabHoverBgStyle\"\r\n ></div>\r\n <div class=\"tab-dividers\"></div>\r\n <!-- <a-dropdown :trigger=\"['contextmenu']\">-->\r\n <div class=\"tab-item\">\r\n {{ item.meta?.title || \"无标题\" }}\r\n </div>\r\n <!-- <template #overlay>-->\r\n <!-- <a-menu>-->\r\n <!-- <a-menu-item key=\"1\">-->\r\n <!-- <ReloadOutlined />-->\r\n <!-- 重新加载-->\r\n <!-- </a-menu-item>-->\r\n <!-- <a-menu-item key=\"2\">-->\r\n <!-- <CloseOutlined />-->\r\n <!-- 关闭其他-->\r\n <!-- </a-menu-item>-->\r\n <!-- <a-menu-item key=\"3\"-->\r\n <!-- >关闭右侧标签-->\r\n <!-- </a-menu-item>-->\r\n <!-- <a-menu-item key=\"3\"-->\r\n <!-- >关闭左侧标签-->\r\n <!-- </a-menu-item>-->\r\n <!-- </a-menu>-->\r\n <!-- </template>-->\r\n <!-- </a-dropdown>-->\r\n\r\n <div\r\n class=\"tab-close\"\r\n v-if=\"closeBtnStatus(item)\"\r\n >\r\n <div\r\n class=\"close-btn\"\r\n :class=\"closeBtnStyle\"\r\n @click=\"onClose($event, item.fullPath)\"\r\n >\r\n <CloseOutlined />\r\n </div>\r\n </div>\r\n </template>\r\n </a-tab-pane>\r\n </a-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style lang=\"scss\"></style>\r\n"],"names":["tabsNavStyle","tabHoverBgStyle","closeBtnStyle","list","activeKey","onChange","onClose","closeBtnStatus","_createElementBlock","_normalizeClass","_unref","_createVNode","_createElementVNode","_Fragment","_renderList","_createBlock","_createCommentVNode","_toDisplayString","_openBlock"],"mappings":"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"}
1
+ {"version":3,"file":"Tab.vue2.mjs","sources":["../../../../src/components/tab/Tab.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport {\r\n computed,\r\n type ComputedRef,\r\n inject,\r\n watch\r\n} from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport {\r\n AppContext,\r\n AppContextKey\r\n} from \"../layout/AppContext\";\r\nimport Search from \"./Search\";\r\nimport {\r\n CloseOutlined,\r\n ReloadOutlined\r\n} from \"@ant-design/icons-vue\";\r\nimport {\r\n type NavTabsState,\r\n useNavTabStore\r\n} from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nconst { tabsNavStyle, tabHoverBgStyle, closeBtnStyle } =\r\n useStyle();\r\n\r\nconst {\r\n activeKey,\r\n list,\r\n closeBtnStatus,\r\n onChange,\r\n onClose\r\n} = useTab();\r\n\r\nconst { enableTabContextMenu, onContextMenuClick } =\r\n useTabsContextMenu();\r\n\r\nfunction useStyle(): {\r\n tabsNavStyle: ComputedRef<string>;\r\n tabHoverBgStyle: ComputedRef<string>;\r\n closeBtnStyle: ComputedRef<string>;\r\n} {\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const activeTabColor = computed(\r\n () => token.value.colorBgLayout\r\n );\r\n const splitColor = computed(\r\n () => token.value.colorBorderSecondary\r\n );\r\n\r\n const tabsNavStyle = computed(() => {\r\n return css`\r\n --active-tab-color: ${activeTabColor.value};\r\n --splitColor: ${splitColor.value};\r\n padding-top: 10px;\r\n display: flex;\r\n `;\r\n });\r\n\r\n const tabHoverBgStyle = computed(() => {\r\n return css`\r\n &:before {\r\n background: ${token.value.colorPrimaryBgHover};\r\n }\r\n `;\r\n });\r\n\r\n const closeBtnStyle = computed(() => {\r\n return css`\r\n &:hover {\r\n background: ${token.value.colorPrimaryBorderHover};\r\n border-radius: 50%;\r\n }\r\n `;\r\n });\r\n\r\n return {\r\n tabsNavStyle,\r\n tabHoverBgStyle,\r\n closeBtnStyle\r\n };\r\n}\r\n\r\nfunction useTab() {\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n const store = useNavTabStore();\r\n const { list, activeKey } = storeToRefs(store);\r\n const { save, deleteTabs } = store;\r\n\r\n watch(\r\n () => route.fullPath,\r\n val => {\r\n save(route);\r\n activeKey.value = val;\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n const onChange = (key: string) => {\r\n if (key !== route.path) {\r\n // 匹配打开的标签路由数据\r\n const rs = list.value.filter(\r\n item => item.fullPath === key\r\n )[0];\r\n router.push(rs);\r\n }\r\n };\r\n\r\n const onClose = (\r\n $event: Event,\r\n key: string | undefined\r\n ) => {\r\n if (!key) return;\r\n //阻止冒泡\r\n $event.stopPropagation();\r\n // 删除标签\r\n deleteTabs(key);\r\n // 重新push已打开的路由\r\n const backRoute = list.value[list.value.length - 1];\r\n if (backRoute.fullPath) {\r\n router.push(backRoute.fullPath);\r\n }\r\n };\r\n\r\n const closeBtnStatus = (item: NavTabsState) => {\r\n // 如果meta有设置keepOpen则隐藏关闭按钮\r\n if (item.meta?.keepOpen) {\r\n return false;\r\n } else {\r\n // 如果只有一个标签,则隐藏关闭按钮\r\n return list.value.length !== 1;\r\n }\r\n };\r\n\r\n return {\r\n activeKey,\r\n list,\r\n closeBtnStatus,\r\n onChange,\r\n onClose\r\n };\r\n}\r\n\r\nfunction useTabsContextMenu() {\r\n const appContext = inject<AppContext | null>(\r\n AppContextKey,\r\n null\r\n );\r\n const store = useNavTabStore();\r\n const router = useRouter();\r\n\r\n const onContextMenuClick = (\r\n { key }: { key: string },\r\n targetKey: string\r\n ) => {\r\n switch (key) {\r\n case \"reload\":\r\n // 如果点击的不是当前激活页,先跳转再刷新\r\n if (targetKey !== activeKey.value) {\r\n router\r\n .push(targetKey)\r\n .then(() => appContext?.onReloadPage?.());\r\n } else {\r\n appContext?.onReloadPage?.();\r\n }\r\n break;\r\n case \"other\":\r\n store.closeOtherTabs?.(targetKey);\r\n router.push(targetKey);\r\n break;\r\n case \"left\":\r\n store.closeLeftTabs?.(targetKey);\r\n router.push(targetKey);\r\n break;\r\n case \"right\":\r\n store.closeRightTabs?.(targetKey);\r\n router.push(targetKey);\r\n break;\r\n }\r\n };\r\n\r\n return {\r\n enableTabContextMenu:\r\n appContext?.enableTabContextMenu || false,\r\n onContextMenuClick\r\n };\r\n}\r\n</script>\r\n<template>\r\n <div class=\"tabs-nav-wrapper\" :class=\"tabsNavStyle\">\r\n <Search />\r\n <div class=\"d-tabs-nav\">\r\n <a-tabs\r\n size=\"small\"\r\n v-model:activeKey=\"activeKey\"\r\n type=\"card\"\r\n hide-add\r\n @change=\"onChange\"\r\n >\r\n <a-tab-pane\r\n :key=\"item.fullPath\"\r\n :closable=\"false\"\r\n v-for=\"item in list\"\r\n :class=\"{ active: activeKey === item.fullPath }\"\r\n >\r\n <template #tab>\r\n <div\r\n class=\"tab-hover-bg\"\r\n :class=\"tabHoverBgStyle\"\r\n ></div>\r\n <div class=\"tab-dividers\"></div>\r\n <div\r\n class=\"tab-item\"\r\n v-if=\"!enableTabContextMenu\"\r\n >\r\n {{ item.meta?.title || \"无标题\" }}\r\n </div>\r\n <a-dropdown\r\n :trigger=\"['contextmenu']\"\r\n v-if=\"enableTabContextMenu\"\r\n >\r\n <div class=\"tab-item\">\r\n {{ item.meta?.title || \"无标题\" }}\r\n </div>\r\n <template #overlay>\r\n <a-menu\r\n @click=\"\r\n e =>\r\n onContextMenuClick(e, item.fullPath)\r\n \"\r\n >\r\n <a-menu-item key=\"reload\">\r\n <ReloadOutlined />\r\n 重新加载\r\n </a-menu-item>\r\n <a-menu-item key=\"other\">\r\n <CloseOutlined />\r\n 关闭其他\r\n </a-menu-item>\r\n <a-menu-item key=\"right\"\r\n >关闭右侧标签\r\n </a-menu-item>\r\n <a-menu-item key=\"left\"\r\n >关闭左侧标签\r\n </a-menu-item>\r\n </a-menu>\r\n </template>\r\n </a-dropdown>\r\n\r\n <div\r\n class=\"tab-close\"\r\n v-if=\"closeBtnStatus(item)\"\r\n >\r\n <div\r\n class=\"close-btn\"\r\n :class=\"closeBtnStyle\"\r\n @click=\"onClose($event, item.fullPath)\"\r\n >\r\n <CloseOutlined />\r\n </div>\r\n </div>\r\n </template>\r\n </a-tab-pane>\r\n </a-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style lang=\"scss\"></style>\r\n"],"names":["tabsNavStyle","tabHoverBgStyle","closeBtnStyle","list","activeKey","onChange","onClose","closeBtnStatus","onContextMenuClick","_a","_createElementBlock","_normalizeClass","_unref","_createVNode","_createElementVNode","_Fragment","_renderList","_createBlock","_openBlock","_toDisplayString"],"mappings":"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"}
@@ -24,7 +24,7 @@ const tableFormItemProps = {
24
24
  format: {
25
25
  type: Function,
26
26
  // 默认值
27
- default: (value, _name) => value
27
+ default: void 0
28
28
  }
29
29
  };
30
30
  const DEFAULT_STYLES_CONFIG = {
@@ -1 +1 @@
1
- {"version":3,"file":"interface.mjs","sources":["../../../../src/components/table-form/interface.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from \"vue\";\r\n\r\n// 接口:定义你的 Props 应该有哪些属性和类型\r\nexport interface DTableFormItemProps {\r\n name: string;\r\n label?: string;\r\n required?: boolean;\r\n rules?: unknown[]; // 简化,实际应定义详细校验规则类型\r\n colon?: boolean;\r\n extra?: string;\r\n}\r\n\r\nexport type Formatter = (value: unknown, name: unknown) => unknown;\r\n\r\n// 运行时 Props 的定义 (常量)\r\nexport const tableFormItemProps = {\r\n // 字典名字\r\n dicName: {\r\n type: String,\r\n default: undefined\r\n },\r\n format: {\r\n type: Function as PropType<Formatter>,\r\n // 默认值\r\n default: (value: unknown, _name: unknown) => value\r\n }\r\n};\r\n\r\n// ⭐️ 导出默认值常量\r\nexport const DEFAULT_STYLES_CONFIG: StylesConfig = {\r\n rowHeight: 32,\r\n borderColor: \"#dfdfdf\",\r\n borderWidth: 1,\r\n labelBgColor: \"#EEEEEE\",\r\n focusBorderColor: \"#1677ff\"\r\n};\r\n\r\nexport interface StylesConfig {\r\n /**\r\n * 表格行高度\r\n */\r\n rowHeight?: number;\r\n // 边框颜色\r\n borderColor?: string;\r\n // 边框\r\n borderWidth?: number;\r\n // 标签颜色label\r\n labelBgColor?: string;\r\n //焦点边框颜色\r\n focusBorderColor?: string;\r\n}\r\n\r\nexport const tableFormProps = {\r\n colCount: {\r\n type: Number,\r\n default: 4,\r\n required: true as const\r\n },\r\n readonly: {\r\n type: Boolean,\r\n default: false\r\n },\r\n stylesConfig: {\r\n type: Object as PropType<StylesConfig>,\r\n default: () => ({ ...DEFAULT_STYLES_CONFIG })\r\n }\r\n};\r\n\r\n// 导出 Prop 类型,供外部使用 (例如,在 TSX 中使用)\r\nexport type TableFormItemProps = Partial<ExtractPropTypes<typeof tableFormItemProps>>;\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAeO,MAAM,kBAAA,GAAqB;AAAA;AAAA,EAEhC,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,KAAA;AAAA,GACX;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA;AAAA,IAEN,OAAA,EAAS,CAAC,KAAA,EAAgB,KAAA,KAAmB;AAAA;AAEjD;AAGO,MAAM,qBAAA,GAAsC;AAAA,EACjD,SAAA,EAAW,EAAA;AAAA,EACX,WAAA,EAAa,SAAA;AAAA,EACb,WAAA,EAAa,CAAA;AAAA,EACb,YAAA,EAAc,SAAA;AAAA,EACd,gBAAA,EAAkB;AACpB;AAiBO,MAAM,cAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,CAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,MAAO,cAAA,CAAA,EAAA,EAAK,qBAAA;AAAA;AAEzB;;;;"}
1
+ {"version":3,"file":"interface.mjs","sources":["../../../../src/components/table-form/interface.ts"],"sourcesContent":["import { isUndefined } from \"lodash\";\r\nimport type { ExtractPropTypes, PropType } from \"vue\";\r\n\r\n// 接口:定义你的 Props 应该有哪些属性和类型\r\nexport interface DTableFormItemProps {\r\n name: string;\r\n label?: string;\r\n required?: boolean;\r\n rules?: unknown[]; // 简化,实际应定义详细校验规则类型\r\n colon?: boolean;\r\n extra?: string;\r\n}\r\n\r\nexport type Formatter = (\r\n value: unknown,\r\n name: unknown\r\n) => unknown;\r\n\r\n// 运行时 Props 的定义 (常量)\r\nexport const tableFormItemProps = {\r\n // 字典名字\r\n dicName: {\r\n type: String,\r\n default: undefined\r\n },\r\n format: {\r\n type: Function as PropType<Formatter> | undefined,\r\n // 默认值\r\n default: undefined\r\n }\r\n};\r\n\r\n// ⭐️ 导出默认值常量\r\nexport const DEFAULT_STYLES_CONFIG: StylesConfig = {\r\n rowHeight: 32,\r\n borderColor: \"#dfdfdf\",\r\n borderWidth: 1,\r\n labelBgColor: \"#EEEEEE\",\r\n focusBorderColor: \"#1677ff\"\r\n};\r\n\r\nexport interface StylesConfig {\r\n /**\r\n * 表格行高度\r\n */\r\n rowHeight?: number;\r\n // 边框颜色\r\n borderColor?: string;\r\n // 边框\r\n borderWidth?: number;\r\n // 标签颜色label\r\n labelBgColor?: string;\r\n //焦点边框颜色\r\n focusBorderColor?: string;\r\n}\r\n\r\nexport const tableFormProps = {\r\n colCount: {\r\n type: Number,\r\n default: 4,\r\n required: true as const\r\n },\r\n readonly: {\r\n type: Boolean,\r\n default: false\r\n },\r\n stylesConfig: {\r\n type: Object as PropType<StylesConfig>,\r\n default: () => ({ ...DEFAULT_STYLES_CONFIG })\r\n }\r\n};\r\n\r\n// 导出 Prop 类型,供外部使用 (例如,在 TSX 中使用)\r\nexport type TableFormItemProps = Partial<\r\n ExtractPropTypes<typeof tableFormItemProps>\r\n>;\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAmBO,MAAM,kBAAA,GAAqB;AAAA;AAAA,EAEhC,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,KAAA;AAAA,GACX;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA;AAAA,IAEN,OAAA,EAAS,KAAA;AAAA;AAEb;AAGO,MAAM,qBAAA,GAAsC;AAAA,EACjD,SAAA,EAAW,EAAA;AAAA,EACX,WAAA,EAAa,SAAA;AAAA,EACb,WAAA,EAAa,CAAA;AAAA,EACb,YAAA,EAAc,SAAA;AAAA,EACd,gBAAA,EAAkB;AACpB;AAiBO,MAAM,cAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,CAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,MAAO,cAAA,CAAA,EAAA,EAAK,qBAAA;AAAA;AAEzB;;;;"}
@@ -8,6 +8,7 @@ export { default as RangePicker } from './components/date/RangePicker.vue2.mjs';
8
8
  export { default as FormLayout } from './components/form/FormLayout.mjs';
9
9
  export { default as Moon } from './components/icon/Moon.vue.mjs';
10
10
  export { default as Sun } from './components/icon/Sun.vue.mjs';
11
+ export { AppContextKey } from './components/layout/AppContext.mjs';
11
12
  export { default as AppTheme } from './components/layout/components/layout/ThemeApp.vue2.mjs';
12
13
  export { default as HeaderLayout } from './components/layout/components/layout/HeaderLayout.vue2.mjs';
13
14
  export { default as Menu } from './components/layout/components/menu/Menu.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import * as components from \"./components\";\r\nimport type { App, DefineComponent, Plugin } from \"vue\";\r\n\r\n// import { version } from \"../package.json\";\r\n\r\nexport * from \"./components\";\r\n\r\n// 定义组件类型,确保每个组件都可能具有 `install` 方法\r\ntype ComponentWithInstall = DefineComponent<\r\n never,\r\n never,\r\n never\r\n> & {\r\n install?: (app: App) => void;\r\n};\r\n\r\nexport const install = (app: App) => {\r\n Object.keys(components).forEach(key => {\r\n const component = components[\r\n key as keyof typeof components\r\n ] as ComponentWithInstall;\r\n // 类型断言,告诉 TypeScript component 可能是一个插件\r\n const plugin = component as Plugin;\r\n // 如果组件有 install 方法,则按插件安装\r\n if (plugin.install) {\r\n app.use(plugin);\r\n }\r\n });\r\n};\r\n\r\nexport default {\r\n // version,\r\n install\r\n};\r\n"],"names":["components"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,OAAA,GAAU,CAAC,GAAA,KAAa;AACnC,EAAA,MAAA,CAAO,IAAA,CAAKA,OAAU,CAAA,CAAE,OAAA,CAAQ,CAAA,GAAA,KAAO;AACrC,IAAA,MAAM,SAAA,GAAYA,QAChB,GACF,CAAA;AAEA,IAAA,MAAM,MAAA,GAAS,SAAA;AAEf,IAAA,IAAI,OAAO,OAAA,EAAS;AAClB,MAAA,GAAA,CAAI,IAAI,MAAM,CAAA;AAAA,IAChB;AAAA,EACF,CAAC,CAAA;AACH;AAEA,YAAe;AAAA;AAAA,EAEb;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import * as components from \"./components\";\r\nimport type { App, DefineComponent, Plugin } from \"vue\";\r\n\r\n// import { version } from \"../package.json\";\r\n\r\nexport * from \"./components\";\r\n\r\n// 定义组件类型,确保每个组件都可能具有 `install` 方法\r\ntype ComponentWithInstall = DefineComponent<\r\n never,\r\n never,\r\n never\r\n> & {\r\n install?: (app: App) => void;\r\n};\r\n\r\nexport const install = (app: App) => {\r\n Object.keys(components).forEach(key => {\r\n const component = components[\r\n key as keyof typeof components\r\n ] as ComponentWithInstall;\r\n // 类型断言,告诉 TypeScript component 可能是一个插件\r\n const plugin = component as Plugin;\r\n // 如果组件有 install 方法,则按插件安装\r\n if (plugin.install) {\r\n app.use(plugin);\r\n }\r\n });\r\n};\r\n\r\nexport default {\r\n // version,\r\n install\r\n};\r\n"],"names":["components"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,OAAA,GAAU,CAAC,GAAA,KAAa;AACnC,EAAA,MAAA,CAAO,IAAA,CAAKA,OAAU,CAAA,CAAE,OAAA,CAAQ,CAAA,GAAA,KAAO;AACrC,IAAA,MAAM,SAAA,GAAYA,QAChB,GACF,CAAA;AAEA,IAAA,MAAM,MAAA,GAAS,SAAA;AAEf,IAAA,IAAI,OAAO,OAAA,EAAS;AAClB,MAAA,GAAA,CAAI,IAAI,MAAM,CAAA;AAAA,IAChB;AAAA,EACF,CAAC,CAAA;AACH;AAEA,YAAe;AAAA;AAAA,EAEb;AACF,CAAA;;;;"}
@@ -25,6 +25,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
25
25
  setNestedValue: <T extends Record<string, unknown>>(obj: T, field: string | string[], value: string | null) => T;
26
26
  props: any;
27
27
  emits: (event: "update:value" | "change", ...args: any[]) => void;
28
+ attrs: {
29
+ [x: string]: unknown;
30
+ };
28
31
  innerValue: import("vue").Ref<any, any>;
29
32
  handleChange: (dates: [any, any]) => void;
30
33
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:value" | "change")[], "update:value" | "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/date/RangePicker.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;2BAwBS,MAAM,GAAG,MAAM,EAAE,KACvB,MAAM,EAAE;qBAKa,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAClD,CAAC,SACC,MAAM,GAAG,MAAM,EAAE,KACvB,MAAM,GAAG,IAAI,GAAG,SAAS;qBAmBJ,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAClD,CAAC,SACC,MAAM,GAAG,MAAM,EAAE,SACjB,MAAM,GAAG,IAAI,KACnB,CAAC;;;;0BAiDyB,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7FvC,wBAsIE"}
1
+ {"version":3,"file":"RangePicker.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/date/RangePicker.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;2BAwBS,MAAM,GAAG,MAAM,EAAE,KACvB,MAAM,EAAE;qBAKa,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAClD,CAAC,SACC,MAAM,GAAG,MAAM,EAAE,KACvB,MAAM,GAAG,IAAI,GAAG,SAAS;qBAmBJ,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAClD,CAAC,SACC,MAAM,GAAG,MAAM,EAAE,SACjB,MAAM,GAAG,IAAI,KACnB,CAAC;;;;;;;0BAmDyB,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/FvC,wBAwIE"}
@@ -7,5 +7,8 @@ export interface AppContext {
7
7
  renderMenuIcon?: (item: {
8
8
  icon: string;
9
9
  }) => VNode | VNode[];
10
+ keepAliveMode: "Name" | "Path";
11
+ onReloadPage?: () => void;
12
+ enableTabContextMenu?: boolean;
10
13
  }
11
14
  //# sourceMappingURL=AppContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/AppContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAEzC,eAAO,MAAM,aAAa,eAA2B,CAAC;AACtD,MAAM,WAAW,UAAU;IAEzB,gBAAgB,CAAC,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,KAAK,GAAG,KAAK,EAAE,CAAC;CACvB"}
1
+ {"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/AppContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAEzC,eAAO,MAAM,aAAa,eAA2B,CAAC;AACtD,MAAM,WAAW,UAAU;IAEzB,gBAAgB,CAAC,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,KAAK,GAAG,KAAK,EAAE,CAAC;IAEtB,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC"}
@@ -16,6 +16,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
16
16
  required: false;
17
17
  default: undefined;
18
18
  };
19
+ keepAliveMode: {
20
+ type: StringConstructor;
21
+ required: false;
22
+ default: string;
23
+ };
24
+ onReloadPage: {
25
+ type: FunctionConstructor;
26
+ required: false;
27
+ };
28
+ enableTabContextMenu: {
29
+ type: BooleanConstructor;
30
+ required: false;
31
+ default: boolean;
32
+ };
19
33
  }>, {
20
34
  props: any;
21
35
  emits: (event: "onMenuClick", ...args: any[]) => void;
@@ -160,6 +174,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
160
174
  closeBtnStatus: (item: import("@ditari/store").NavTabsState) => boolean;
161
175
  onChange: (key: string) => void;
162
176
  onClose: ($event: Event, key: string | undefined) => void;
177
+ enableTabContextMenu: boolean;
178
+ onContextMenuClick: ({ key }: {
179
+ key: string;
180
+ }, targetKey: string) => void;
163
181
  useStyle: () => {
164
182
  tabsNavStyle: import("vue").ComputedRef<string>;
165
183
  tabHoverBgStyle: import("vue").ComputedRef<string>;
@@ -172,12 +190,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
172
190
  onChange: (key: string) => void;
173
191
  onClose: ($event: Event, key: string | undefined) => void;
174
192
  };
193
+ useTabsContextMenu: () => {
194
+ enableTabContextMenu: boolean;
195
+ onContextMenuClick: ({ key }: {
196
+ key: string;
197
+ }, targetKey: string) => void;
198
+ };
175
199
  readonly Search: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
176
200
  readonly CloseOutlined: import("@ant-design/icons-vue/lib/icons/CloseOutlined").CloseOutlinedIconType;
201
+ readonly ReloadOutlined: import("@ant-design/icons-vue/lib/icons/ReloadOutlined").ReloadOutlinedIconType;
177
202
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
178
203
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
179
204
  RouterContent: import("vue").DefineComponent<{}, {
180
- pinia: import("pinia").Pinia | undefined;
205
+ list: import("vue").Ref<import("@ditari/store").NavTabsState[], import("@ditari/store").NavTabsState[]>;
206
+ route: import("vue-router").RouteLocationNormalizedLoadedGeneric;
207
+ cachedViews: import("vue").ComputedRef<string[]>;
208
+ wrapperMap: Map<any, any>;
209
+ getWrapper: (Component: any, route: any) => any;
210
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
211
+ RouterContentName: import("vue").DefineComponent<{}, {
181
212
  keepAliveStore: import("pinia").Store<"_STORE_KEEP_ALIVE_ID", {
182
213
  list: string[];
183
214
  }, {
@@ -189,8 +220,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
189
220
  }, {
190
221
  deleteKeepAlive(name: string): void;
191
222
  save(route: import("vue-router").RouteLocationNormalized): void;
192
- }> | null;
193
- keepAliveNames: import("vue").Ref<string[], string[]>;
223
+ }>;
224
+ get: import("vue").ComputedRef<string[]>;
225
+ keepAliveNames: import("vue").ComputedRef<string[]>;
194
226
  route: import("vue-router").RouteLocationNormalizedLoadedGeneric;
195
227
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
196
228
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "onMenuClick"[], "onMenuClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -211,12 +243,28 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
211
243
  required: false;
212
244
  default: undefined;
213
245
  };
246
+ keepAliveMode: {
247
+ type: StringConstructor;
248
+ required: false;
249
+ default: string;
250
+ };
251
+ onReloadPage: {
252
+ type: FunctionConstructor;
253
+ required: false;
254
+ };
255
+ enableTabContextMenu: {
256
+ type: BooleanConstructor;
257
+ required: false;
258
+ default: boolean;
259
+ };
214
260
  }>> & Readonly<{
215
261
  onOnMenuClick?: ((...args: any[]) => any) | undefined;
216
262
  }>, {
263
+ enableTabContextMenu: boolean;
217
264
  watermark: Record<string, any>;
218
265
  isSettings: boolean;
219
266
  renderMenuIcon: Function;
267
+ keepAliveMode: string;
220
268
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
221
269
  export default _default;
222
270
  //# sourceMappingURL=Layout.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Layout.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4H6B,KAAK;;;;;;;;;;;;;4BAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAtHhC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYT,wBAwHE"}
1
+ {"version":3,"file":"Layout.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Layout.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqI6B,KAAK;;;;;;;;;;;;;4BAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA/HhC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaT,wBAgIE"}
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/List.tsx"],"names":[],"mappings":"AAgCA,QAAA,MAAM,IAAI;;iFA2OR,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/List.tsx"],"names":[],"mappings":"AAiCA,QAAA,MAAM,IAAI;;iFAoPR,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -62,6 +62,10 @@ declare const _default: import("vue").DefineComponent<{}, {
62
62
  closeBtnStatus: (item: import("@ditari/store").NavTabsState) => boolean;
63
63
  onChange: (key: string) => void;
64
64
  onClose: ($event: Event, key: string | undefined) => void;
65
+ enableTabContextMenu: boolean;
66
+ onContextMenuClick: ({ key }: {
67
+ key: string;
68
+ }, targetKey: string) => void;
65
69
  useStyle: () => {
66
70
  tabsNavStyle: ComputedRef<string>;
67
71
  tabHoverBgStyle: ComputedRef<string>;
@@ -74,8 +78,15 @@ declare const _default: import("vue").DefineComponent<{}, {
74
78
  onChange: (key: string) => void;
75
79
  onClose: ($event: Event, key: string | undefined) => void;
76
80
  };
81
+ useTabsContextMenu: () => {
82
+ enableTabContextMenu: boolean;
83
+ onContextMenuClick: ({ key }: {
84
+ key: string;
85
+ }, targetKey: string) => void;
86
+ };
77
87
  readonly Search: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
78
88
  readonly CloseOutlined: import("@ant-design/icons-vue/lib/icons/CloseOutlined").CloseOutlinedIconType;
89
+ readonly ReloadOutlined: import("@ant-design/icons-vue/lib/icons/ReloadOutlined").ReloadOutlinedIconType;
79
90
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
80
91
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
81
92
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderLayout.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/layout/HeaderLayout.vue.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,WAAW,EAAO,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAwDjC;QACnB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7CD,wBAiHE"}
1
+ {"version":3,"file":"HeaderLayout.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/layout/HeaderLayout.vue.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,WAAW,EAAO,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAwDjC;QACnB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7CD,wBAiHE"}
@@ -1,19 +1,9 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- pinia: import("pinia").Pinia | undefined;
3
- keepAliveStore: import("pinia").Store<"_STORE_KEEP_ALIVE_ID", {
4
- list: string[];
5
- }, {
6
- get: (state: {
7
- list: string[];
8
- } & import("pinia").PiniaCustomStateProperties<{
9
- list: string[];
10
- }>) => string[];
11
- }, {
12
- deleteKeepAlive(name: string): void;
13
- save(route: import("vue-router").RouteLocationNormalized): void;
14
- }> | null;
15
- keepAliveNames: import("vue").Ref<string[], string[]>;
2
+ list: import("vue").Ref<import("@ditari/store").NavTabsState[], import("@ditari/store").NavTabsState[]>;
16
3
  route: import("vue-router").RouteLocationNormalizedLoadedGeneric;
4
+ cachedViews: import("vue").ComputedRef<string[]>;
5
+ wrapperMap: Map<any, any>;
6
+ getWrapper: (Component: any, route: any) => any;
17
7
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
8
  export default _default;
19
9
  //# sourceMappingURL=RouterContent.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouterContent.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/layout/RouterContent.vue.ts"],"names":[],"mappings":";;;;;;;mBAQ4B,OAAN;;;;;;;;;;AAAtB,wBAwBE"}
1
+ {"version":3,"file":"RouterContent.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/layout/RouterContent.vue.ts"],"names":[],"mappings":";;;;;4BA2B+B,GAAG,SAAS,GAAG;;AAnB9C,wBAyDE"}
@@ -0,0 +1,19 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ keepAliveStore: import("pinia").Store<"_STORE_KEEP_ALIVE_ID", {
3
+ list: string[];
4
+ }, {
5
+ get: (state: {
6
+ list: string[];
7
+ } & import("pinia").PiniaCustomStateProperties<{
8
+ list: string[];
9
+ }>) => string[];
10
+ }, {
11
+ deleteKeepAlive(name: string): void;
12
+ save(route: import("vue-router").RouteLocationNormalized): void;
13
+ }>;
14
+ get: import("vue").ComputedRef<string[]>;
15
+ keepAliveNames: import("vue").ComputedRef<string[]>;
16
+ route: import("vue-router").RouteLocationNormalizedLoadedGeneric;
17
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
+ export default _default;
19
+ //# sourceMappingURL=RouterContentName.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterContentName.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/layout/RouterContentName.vue.ts"],"names":[],"mappings":";;;;;;mBAQ6B,OAAO;;;;;;;;;;;AAApC,wBAgBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"names":[],"mappings":";;;AAkBA,wBA4PG"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"names":[],"mappings":";;;AAkBA,wBA8PG"}
@@ -1,6 +1,7 @@
1
1
  import List from "./List";
2
2
  import Show from "./Show";
3
3
  import Layout from "./Layout.vue";
4
+ export * from "./AppContext";
4
5
  export * from "./components";
5
6
  export { Layout, List, Show };
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAG1B,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,cAAc,cAAc,CAAC;AAgB7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAG1B,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAgB7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC"}
@@ -9,6 +9,10 @@ declare const _default: import("vue").DefineComponent<{}, {
9
9
  closeBtnStatus: (item: NavTabsState) => boolean;
10
10
  onChange: (key: string) => void;
11
11
  onClose: ($event: Event, key: string | undefined) => void;
12
+ enableTabContextMenu: boolean;
13
+ onContextMenuClick: ({ key }: {
14
+ key: string;
15
+ }, targetKey: string) => void;
12
16
  useStyle: () => {
13
17
  tabsNavStyle: ComputedRef<string>;
14
18
  tabHoverBgStyle: ComputedRef<string>;
@@ -21,8 +25,15 @@ declare const _default: import("vue").DefineComponent<{}, {
21
25
  onChange: (key: string) => void;
22
26
  onClose: ($event: Event, key: string | undefined) => void;
23
27
  };
28
+ useTabsContextMenu: () => {
29
+ enableTabContextMenu: boolean;
30
+ onContextMenuClick: ({ key }: {
31
+ key: string;
32
+ }, targetKey: string) => void;
33
+ };
24
34
  readonly Search: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
35
  readonly CloseOutlined: import("@ant-design/icons-vue/lib/icons/CloseOutlined").CloseOutlinedIconType;
36
+ readonly ReloadOutlined: import("@ant-design/icons-vue/lib/icons/ReloadOutlined").ReloadOutlinedIconType;
26
37
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
27
38
  export default _default;
28
39
  //# sourceMappingURL=Tab.vue.d.ts.map