@done-coding/admin-core 0.8.3-alpha.0 → 0.9.1-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 (127) hide show
  1. package/docs/nested-config-paradigm.md +80 -0
  2. package/es/bridge/config-hook.mjs +37 -0
  3. package/es/bridge/index.mjs +157 -62
  4. package/es/bridge/plugin.mjs +29 -0
  5. package/es/bridge/theme.mjs +65 -0
  6. package/es/components/app-layout/AppBody.vue.mjs +1 -1
  7. package/es/components/app-layout/AppBody.vue2.mjs +47 -49
  8. package/es/components/app-layout/AppBreadcrumb.vue.mjs +1 -1
  9. package/es/components/app-layout/AppBreadcrumb.vue2.mjs +35 -41
  10. package/es/components/app-layout/AppFooter.vue.mjs +2 -2
  11. package/es/components/app-layout/AppFooter.vue2.mjs +8 -8
  12. package/es/components/app-layout/AppHeader.vue.mjs +1 -1
  13. package/es/components/app-layout/AppHeader.vue2.mjs +60 -69
  14. package/es/components/app-layout/AppLayout.vue.mjs +2 -2
  15. package/es/components/app-layout/AppLayout.vue2.mjs +95 -93
  16. package/es/components/app-layout/AppSidebar.vue.mjs +2 -2
  17. package/es/components/app-layout/AppSidebar.vue2.mjs +79 -82
  18. package/es/components/app-layout/AppTheme.vue.mjs +7 -0
  19. package/es/components/app-layout/AppTheme.vue2.mjs +38 -0
  20. package/es/components/data-view/DataListView.vue.mjs +2 -2
  21. package/es/components/data-view/DataListView.vue2.mjs +36 -36
  22. package/es/components/display/ActionConfirm.vue2.mjs +16 -16
  23. package/es/components/display/HeightProvider.vue.mjs +10 -10
  24. package/es/components/display/TabsHeader.vue.mjs +4 -4
  25. package/es/components/display/TabsHeader.vue2.mjs +34 -34
  26. package/es/components/display/TabsMain.vue.mjs +40 -39
  27. package/es/components/display/TabsRefineFlow.vue.mjs +30 -28
  28. package/es/components/form/FormItem.vue.mjs +1 -1
  29. package/es/components/form/FormItem.vue2.mjs +75 -81
  30. package/es/components/form/FormItemNestForm.vue.mjs +7 -0
  31. package/es/components/form/FormItemNestForm.vue2.mjs +49 -0
  32. package/es/components/form/FormItemNestFormList.vue.mjs +7 -0
  33. package/es/components/form/FormItemNestFormList.vue2.mjs +137 -0
  34. package/es/components/form/FormMain.vue.mjs +5 -147
  35. package/es/components/form/FormMain.vue2.mjs +160 -2
  36. package/es/components/form/FormRadioGroup.vue.mjs +42 -49
  37. package/es/components/form/FormSearch.vue.mjs +2 -2
  38. package/es/components/form/FormSearch.vue2.mjs +122 -128
  39. package/es/components/form/FormSelect.vue.mjs +34 -40
  40. package/es/components/form/FormSubmitBtn.vue.mjs +23 -28
  41. package/es/components/form/FormSubmitPanel.vue.mjs +2 -2
  42. package/es/components/form/FormSubmitPanel.vue2.mjs +29 -28
  43. package/es/components/form/FormTree.vue.mjs +16 -21
  44. package/es/components/form/FormVerifyCode.vue.mjs +37 -43
  45. package/es/components/form/FormVerifyImage.vue.mjs +2 -2
  46. package/es/components/form/FormVerifyImage.vue2.mjs +36 -41
  47. package/es/components/form/nest-form-item-list.mjs +71 -0
  48. package/es/components/form/nest-form-item.mjs +42 -0
  49. package/es/components/form/nest-registry.mjs +7 -0
  50. package/es/components/form/use-nest-form-list.mjs +22 -0
  51. package/es/components/form/use-nest-form.mjs +34 -0
  52. package/es/components/form/use-nest-layout-scale.mjs +14 -0
  53. package/es/components/form/utils.mjs +77 -61
  54. package/es/components/list-page/ListPage.vue.mjs +2 -2
  55. package/es/components/list-page/ListPage.vue2.mjs +134 -139
  56. package/es/components/menu/MenuItemSub.vue.mjs +41 -48
  57. package/es/components/menu/MenuTree.vue.mjs +58 -65
  58. package/es/components/misc/AutoRefresh.vue.mjs +2 -2
  59. package/es/components/misc/AutoRefresh.vue2.mjs +44 -51
  60. package/es/components/misc/AutoRefreshGroup.vue.mjs +2 -2
  61. package/es/components/misc/AutoRefreshGroup.vue2.mjs +37 -43
  62. package/es/components/modal/ConfirmModal.vue.mjs +3 -4
  63. package/es/components/modal/ConfirmModal.vue2.mjs +83 -111
  64. package/es/components/modal/DetailModal.vue.mjs +38 -41
  65. package/es/components/panel/PanelEditSwitch.vue.mjs +1 -1
  66. package/es/components/panel/PanelEditSwitch.vue2.mjs +50 -55
  67. package/es/components/panel/PanelItemNestForm.vue.mjs +7 -0
  68. package/es/components/panel/PanelItemNestForm.vue2.mjs +69 -0
  69. package/es/components/panel/PanelItemNestPanel.vue.mjs +34 -0
  70. package/es/components/panel/PanelItemNestPanel.vue2.mjs +4 -0
  71. package/es/components/panel/PanelMain.vue.mjs +1 -1
  72. package/es/components/panel/PanelMain.vue2.mjs +72 -72
  73. package/es/components/panel/nest-panel-form.mjs +53 -0
  74. package/es/components/panel/nest-panel-item.mjs +25 -0
  75. package/es/components/table/TableMain.vue.mjs +2 -2
  76. package/es/components/table/TableMain.vue2.mjs +221 -229
  77. package/es/components/table/TableToolbar.vue.mjs +2 -2
  78. package/es/components/table/TableToolbar.vue2.mjs +115 -126
  79. package/es/hooks/use-admin-theme-apply.mjs +84 -0
  80. package/es/hooks/use-admin-viewport-apply.mjs +27 -0
  81. package/es/index.mjs +190 -153
  82. package/es/inject/key.mjs +15 -6
  83. package/es/store/app.mjs +75 -84
  84. package/es/style.css +1 -1
  85. package/es/utils/theme-scale.mjs +37 -0
  86. package/package.json +2 -4
  87. package/types/bridge/config-hook.d.ts +91 -0
  88. package/types/bridge/index.d.ts +108 -8
  89. package/types/bridge/plugin.d.ts +39 -0
  90. package/types/bridge/theme.d.ts +85 -0
  91. package/types/components/app-layout/AppTheme.vue.d.ts +2 -0
  92. package/types/components/app-layout/types.d.ts +1 -1
  93. package/types/components/form/FormItem.vue.d.ts +12 -12
  94. package/types/components/form/FormItemNestForm.vue.d.ts +36 -0
  95. package/types/components/form/FormItemNestFormList.vue.d.ts +63 -0
  96. package/types/components/form/FormMain.vue.d.ts +2 -2
  97. package/types/components/form/FormSearch.vue.d.ts +2 -2
  98. package/types/components/form/FormTree.vue.d.ts +50 -50
  99. package/types/components/form/index.d.ts +9 -1
  100. package/types/components/form/nest-form-item-list.d.ts +63 -0
  101. package/types/components/form/nest-form-item.d.ts +36 -0
  102. package/types/components/form/nest-registry.d.ts +22 -0
  103. package/types/components/form/types.d.ts +2 -0
  104. package/types/components/form/use-nest-form-list.d.ts +20 -0
  105. package/types/components/form/use-nest-form.d.ts +26 -0
  106. package/types/components/form/use-nest-layout-scale.d.ts +17 -0
  107. package/types/components/form/utils.d.ts +26 -1
  108. package/types/components/menu/MenuTree.vue.d.ts +10 -10
  109. package/types/components/modal/ModalShelf.vue.d.ts +1 -1
  110. package/types/components/panel/PanelItemNestForm.vue.d.ts +35 -0
  111. package/types/components/panel/PanelItemNestPanel.vue.d.ts +22 -0
  112. package/types/components/panel/index.d.ts +5 -1
  113. package/types/components/panel/nest-panel-form.d.ts +38 -0
  114. package/types/components/panel/nest-panel-item.d.ts +28 -0
  115. package/types/components/panel/types.d.ts +2 -0
  116. package/types/components/table/TableMain.vue.d.ts +3 -3
  117. package/types/hooks/activated.d.ts +2 -2
  118. package/types/hooks/feel-size.d.ts +1 -1
  119. package/types/hooks/index.d.ts +2 -0
  120. package/types/hooks/menus-dispatch.d.ts +5 -5
  121. package/types/hooks/use-admin-theme-apply.d.ts +17 -0
  122. package/types/hooks/use-admin-viewport-apply.d.ts +15 -0
  123. package/types/hooks/use-breakpoint.d.ts +1 -1
  124. package/types/inject/key.d.ts +46 -1
  125. package/types/store/app.d.ts +138 -59
  126. package/types/utils/index.d.ts +1 -0
  127. package/types/utils/theme-scale.d.ts +35 -0
@@ -1,96 +1,96 @@
1
- import { ElRow as E, ElCol as M } from "element-plus/es";
2
- import "element-plus/es/components/base/style/css";
3
- import "element-plus/es/components/row/style/css";
4
- import "element-plus/es/components/col/style/css";
5
- import { defineComponent as x, useCssVars as F, unref as i, ref as L, computed as c, watch as j, openBlock as l, createBlock as u, withCtx as d, createElementBlock as P, Fragment as D, renderList as G, withDirectives as H, mergeProps as O, resolveDynamicComponent as R, normalizeClass as U, createVNode as V, vShow as W } from "vue";
6
- import $ from "./PanelItem.vue.mjs";
7
- import { ElCard as f } from "element-plus";
8
- import { resolveFormLayout as y } from "../form/utils.mjs";
9
- const Q = /* @__PURE__ */ x({
1
+ import { defineComponent as w, useCssVars as B, computed as s, provide as M, ref as L, watch as x, openBlock as l, createBlock as u, unref as d, withCtx as c, createElementBlock as F, Fragment as j, renderList as O, withDirectives as P, mergeProps as T, resolveDynamicComponent as U, normalizeClass as A, createVNode as D, vShow as G } from "vue";
2
+ import H from "./PanelItem.vue.mjs";
3
+ import { ElCard as f, ElRow as N, ElCol as V } from "element-plus";
4
+ import { NEST_LAYOUT_SCALE_KEY as W } from "../../inject/key.mjs";
5
+ import { resolveFormLayout as p } from "../form/utils.mjs";
6
+ const q = /* @__PURE__ */ w({
10
7
  name: "PanelMain",
11
8
  __name: "PanelMain",
12
9
  props: {
13
10
  data: {},
14
11
  rowGutter: { default: 8 },
15
12
  layout: { default: () => ({ span: 24 }) },
13
+ layoutScale: { default: 1 },
16
14
  list: {},
17
15
  itemCard: { type: [Boolean, Object], default: () => ({ lastMarginBottom: "8px" }) },
18
16
  refreshFn: {}
19
17
  },
20
18
  emits: ["submitSuccess"],
21
- setup(s, { emit: C }) {
22
- F((e) => ({
23
- v39ccf6bc: i(_)
19
+ setup(o, { emit: y }) {
20
+ B((a) => ({
21
+ v5b714e11: h.value
24
22
  }));
25
- const a = s, h = C, n = L({}), p = c(() => a.itemCard ? f : "span"), k = c(
26
- () => `panel-main-item-col-wrap_${p.value === f ? "card" : "span"}`
27
- ), _ = c(
28
- () => typeof a.itemCard == "object" && a.itemCard.lastMarginBottom ? a.itemCard.lastMarginBottom : 0
29
- ), v = (e) => {
30
- const { hide: t } = e;
23
+ const r = o, v = y, C = s(() => r.layoutScale ?? 1);
24
+ M(W, C);
25
+ const n = L({}), m = s(() => r.itemCard ? f : "span"), S = s(
26
+ () => `panel-main-item-col-wrap_${m.value === f ? "card" : "span"}`
27
+ ), h = s(
28
+ () => typeof r.itemCard == "object" && r.itemCard.lastMarginBottom ? r.itemCard.lastMarginBottom : 0
29
+ ), k = (a) => {
30
+ const { hide: t } = a;
31
31
  if (typeof t == "function") {
32
- const r = {
33
- data: a.data,
34
- value: a.data[e.key],
35
- config: e
32
+ const e = {
33
+ data: r.data,
34
+ value: r.data[a.key],
35
+ config: a
36
36
  };
37
- return !!t(r);
37
+ return !!t(e);
38
38
  }
39
39
  return !!t;
40
- }, b = (e) => ({
41
- ...y(a.layout),
42
- ...y(e)
43
- }), g = (e, t) => {
44
- n.value = {}, t && (n.value[e] = t);
45
- }, w = (e) => (t) => {
46
- var r;
47
- return (r = a.refreshFn) == null ? void 0 : r.call(a, t, e);
48
- }, S = (e, t) => {
49
- h("submitSuccess", t, e);
40
+ }, _ = (a) => {
41
+ const t = r.layoutScale ?? 1;
42
+ return {
43
+ ...p(r.layout, t),
44
+ ...p(a, t)
45
+ };
46
+ }, b = (a, t) => {
47
+ n.value = {}, t && (n.value[a] = t);
48
+ }, g = (a) => (t) => {
49
+ var e;
50
+ return (e = r.refreshFn) == null ? void 0 : e.call(r, t, a);
51
+ }, E = (a, t) => {
52
+ v("submitSuccess", t, a);
50
53
  };
51
- return j(
52
- () => a.list,
53
- (e) => {
54
- const t = e.map((r) => r.key);
55
- Object.keys(n.value).forEach((r) => {
56
- t.includes(r) || delete n.value[r];
54
+ return x(
55
+ () => r.list,
56
+ (a) => {
57
+ const t = a.map((e) => e.key);
58
+ Object.keys(n.value).forEach((e) => {
59
+ t.includes(e) || delete n.value[e];
57
60
  });
58
61
  },
59
62
  { immediate: !0 }
60
- ), (e, t) => {
61
- const r = M, B = E;
62
- return l(), u(B, { gutter: s.rowGutter }, {
63
- default: d(() => [
64
- (l(!0), P(D, null, G(s.list, (o) => H((l(), u(r, O({
65
- key: o.key
66
- }, { ref_for: !0 }, b(o.layout), { class: "panel-main-item-col" }), {
67
- default: d(() => [
68
- (l(), u(R(i(p)), {
69
- class: U(i(k))
70
- }, {
71
- default: d(() => [
72
- V($, {
73
- data: s.data,
74
- config: o,
75
- editing: i(n)[o.key] ?? !1,
76
- "refresh-fn": w(o.key),
77
- "onUpdate:editing": (m) => g(o.key, m),
78
- onSubmitSuccess: (m) => S(o.key, m)
79
- }, null, 8, ["data", "config", "editing", "refresh-fn", "onUpdate:editing", "onSubmitSuccess"])
80
- ]),
81
- _: 2
82
- }, 1032, ["class"]))
83
- ]),
84
- _: 2
85
- }, 1040)), [
86
- [W, !v(o)]
87
- ])), 128))
88
- ]),
89
- _: 1
90
- }, 8, ["gutter"]);
91
- };
63
+ ), (a, t) => (l(), u(d(N), { gutter: o.rowGutter }, {
64
+ default: c(() => [
65
+ (l(!0), F(j, null, O(o.list, (e) => P((l(), u(d(V), T({
66
+ key: e.key
67
+ }, { ref_for: !0 }, _(e.layout), { class: "panel-main-item-col" }), {
68
+ default: c(() => [
69
+ (l(), u(U(m.value), {
70
+ class: A(S.value)
71
+ }, {
72
+ default: c(() => [
73
+ D(H, {
74
+ data: o.data,
75
+ config: e,
76
+ editing: n.value[e.key] ?? !1,
77
+ "refresh-fn": g(e.key),
78
+ "onUpdate:editing": (i) => b(e.key, i),
79
+ onSubmitSuccess: (i) => E(e.key, i)
80
+ }, null, 8, ["data", "config", "editing", "refresh-fn", "onUpdate:editing", "onSubmitSuccess"])
81
+ ]),
82
+ _: 2
83
+ }, 1032, ["class"]))
84
+ ]),
85
+ _: 2
86
+ }, 1040)), [
87
+ [G, !k(e)]
88
+ ])), 128))
89
+ ]),
90
+ _: 1
91
+ }, 8, ["gutter"]));
92
92
  }
93
93
  });
94
94
  export {
95
- Q as default
95
+ q as default
96
96
  };
@@ -0,0 +1,53 @@
1
+ import { h as w } from "vue";
2
+ import E from "./PanelItemNestForm.vue.mjs";
3
+ import { resolveLayoutSpan as P } from "../form/utils.mjs";
4
+ function s(u) {
5
+ const {
6
+ key: m,
7
+ label: d,
8
+ list: o,
9
+ layout: n,
10
+ rowGutter: b,
11
+ submitText: f,
12
+ cancelText: y,
13
+ editable: v,
14
+ submitFn: F,
15
+ render: k,
16
+ rebase: x
17
+ } = u, g = P(n);
18
+ return {
19
+ key: m,
20
+ label: d,
21
+ layout: n,
22
+ render: k,
23
+ editable: v ?? !0,
24
+ submitFn: F,
25
+ editorRender: (t) => {
26
+ const r = t.data, e = t.config.key;
27
+ return (t.value === void 0 || t.value === null) && (r[e] = {}), [
28
+ w(E, {
29
+ data: r[e],
30
+ list: o,
31
+ rowGutter: b,
32
+ submitText: f,
33
+ cancelText: y,
34
+ // P3:父 item 代表 span + rebase 开关,供薄壳算子 FormMain 的 layoutScale
35
+ parentSpan: g,
36
+ rebase: x,
37
+ // wire:校验通过后由组件调 submit → submitFn(草稿) 回流父数据 → closeEdit 关编辑态
38
+ submit: async () => {
39
+ var a, i, l;
40
+ await ((i = (a = t.config).submitFn) == null ? void 0 : i.call(a, t.data)), (l = t.closeEdit) == null || l.call(t);
41
+ },
42
+ cancel: () => {
43
+ var a;
44
+ return (a = t.closeEdit) == null ? void 0 : a.call(t);
45
+ }
46
+ })
47
+ ];
48
+ }
49
+ };
50
+ }
51
+ export {
52
+ s as nestPanelForm
53
+ };
@@ -0,0 +1,25 @@
1
+ import { h as s } from "vue";
2
+ import u from "./PanelItemNestPanel.vue.mjs";
3
+ import { resolveLayoutSpan as f } from "../form/utils.mjs";
4
+ function b(e) {
5
+ const { key: r, label: o, list: a, layout: t, itemCard: n, rowGutter: m, rebase: i } = e, l = f(t);
6
+ return {
7
+ key: r,
8
+ label: o,
9
+ layout: t,
10
+ render: (p) => [
11
+ s(u, {
12
+ data: p.value ?? {},
13
+ list: a,
14
+ itemCard: n,
15
+ rowGutter: m,
16
+ // P3:父 item 代表 span + rebase 开关,供薄壳算子 PanelMain 的 layoutScale
17
+ parentSpan: l,
18
+ rebase: i
19
+ })
20
+ ]
21
+ };
22
+ }
23
+ export {
24
+ b as nestPanelItem
25
+ };
@@ -1,7 +1,7 @@
1
1
  import o from "./TableMain.vue2.mjs";
2
2
  /* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-05684b89"]]);
4
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-132febbc"]]);
5
5
  export {
6
- p as default
6
+ f as default
7
7
  };