@done-coding/admin-core 0.19.0 → 0.19.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.
- package/es/components/display/TabsTile.vue.mjs +1 -1
- package/es/components/list-layout/ListLayout.vue.mjs +7 -0
- package/es/components/{list-page/ListPage.vue2.mjs → list-layout/ListLayout.vue2.mjs} +16 -16
- package/es/components/{list-page/use-sticky.mjs → list-layout/use-list-layout-sticky.mjs} +2 -2
- package/es/components/misc/AutoRefreshGroup.vue.mjs +1 -1
- package/es/components/misc/AutoRefreshGroup.vue2.mjs +2 -1
- package/es/components/modal/ModalConfirm.vue.mjs +1 -1
- package/es/components/panel/PanelMain.vue.mjs +1 -1
- package/es/components/panel/PanelMain.vue2.mjs +2 -2
- package/es/components/table/TableMain.vue.mjs +1 -1
- package/es/components/table/TableMain.vue2.mjs +1 -1
- package/es/components/view-layout/ViewLayout.vue.mjs +7 -0
- package/es/components/view-layout/ViewLayout.vue2.mjs +117 -0
- package/es/helpers/list-helper.mjs +1 -1
- package/es/index.mjs +17 -14
- package/es/style.css +49 -31
- package/package.json +2 -2
- package/src/components/README.md +8 -7
- package/src/components/app-layout/README.md +1 -1
- package/src/components/app-layout/docs/README-AppPage.md +3 -3
- package/src/components/data-view/README.md +1 -1
- package/src/components/data-view/docs/README-DataListView.md +2 -2
- package/src/components/display/docs/README-ActionBtnGroup.md +1 -1
- package/src/components/display/docs/README-HeightProvider.md +2 -2
- package/src/components/display/docs/README-TabsMain.md +1 -1
- package/src/components/display/docs/README-WatchSize.md +1 -1
- package/src/components/form/docs/README-FormSearch.md +6 -6
- package/src/components/list-layout/README.md +16 -0
- package/src/components/{list-page/docs/README-ListPage.md → list-layout/docs/README-ListLayout.md} +18 -17
- package/src/components/misc/docs/README-AutoRefreshGroup.md +1 -1
- package/src/components/modal/docs/README-ModalDetail.md +5 -5
- package/src/components/modal/docs/README-ModalPorter.md +1 -1
- package/src/components/panel/README.md +1 -1
- package/src/components/panel/docs/README-PanelMain.md +5 -5
- package/src/components/slot-layout/docs/README-SlotLayoutFlowAside.md +3 -3
- package/src/components/table/docs/README-TableMain.md +4 -4
- package/src/components/view-layout/README.md +11 -0
- package/src/components/view-layout/docs/README-ViewLayout.md +81 -0
- package/types/components/app-layout/app-page-geometry.d.ts +1 -1
- package/types/components/form/types.d.ts +1 -1
- package/types/components/{list-page/ListPage.vue.d.ts → list-layout/ListLayout.vue.d.ts} +6 -6
- package/types/components/list-layout/index.d.ts +5 -0
- package/types/components/{list-page → list-layout}/types.d.ts +13 -7
- package/types/components/{list-page/use-sticky.d.ts → list-layout/use-list-layout-sticky.d.ts} +10 -10
- package/types/components/table/types.d.ts +1 -1
- package/types/components/view-layout/ViewLayout.vue.d.ts +19 -0
- package/types/components/view-layout/index.d.ts +2 -0
- package/types/components/view-layout/types.d.ts +36 -0
- package/types/helpers/list-helper.d.ts +1 -1
- package/types/index.d.ts +2 -1
- package/types/inject/key.d.ts +2 -2
- package/types/injectInfo.json.d.ts +1 -1
- package/es/components/list-page/ListPage.vue.mjs +0 -7
- package/src/components/list-page/README.md +0 -16
- package/types/components/list-page/index.d.ts +0 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./TabsTile.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const TabsTile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const TabsTile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-efffefb9"]]);
|
|
5
5
|
export {
|
|
6
6
|
TabsTile as default
|
|
7
7
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _sfc_main from "./ListLayout.vue2.mjs";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
+
const ListLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5301293b"]]);
|
|
5
|
+
export {
|
|
6
|
+
ListLayout as default
|
|
7
|
+
};
|
|
@@ -2,7 +2,7 @@ import { defineComponent, useCssVars, unref, useSlots, computed, useModel, ref,
|
|
|
2
2
|
import { vLoading } from "element-plus";
|
|
3
3
|
import FormSearch from "../form/FormSearch.vue.mjs";
|
|
4
4
|
import { generateFormData, stringifyFormData } from "../form/utils.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { useListLayoutSticky } from "./use-list-layout-sticky.mjs";
|
|
6
6
|
import _sfc_main$1 from "../display/WatchSize.vue.mjs";
|
|
7
7
|
import TableMain from "../table/TableMain.vue.mjs";
|
|
8
8
|
import SlotLayoutFlowAside from "../slot-layout/SlotLayoutFlowAside.vue.mjs";
|
|
@@ -10,7 +10,7 @@ import _pick from "lodash/pick";
|
|
|
10
10
|
import _cloneDeep from "lodash/cloneDeep";
|
|
11
11
|
import { useChannelViewportHeight } from "../../hooks/use-channel-viewport-height.mjs";
|
|
12
12
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
13
|
-
__name: "
|
|
13
|
+
__name: "ListLayout",
|
|
14
14
|
props: /* @__PURE__ */ mergeModels({
|
|
15
15
|
staticQuery: { default: () => ({}) },
|
|
16
16
|
formSearchProps: {},
|
|
@@ -47,13 +47,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
47
47
|
emits: /* @__PURE__ */ mergeModels(["dataChange", "pageInfoChange"], ["update:isAutoRefresh", "update:refreshInterval", "update:customView"]),
|
|
48
48
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
49
49
|
useCssVars((_ctx) => ({
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
50
|
+
"ee852864": minHeight.value,
|
|
51
|
+
"v6179ebd9": unref(searchStickyTop),
|
|
52
|
+
"v0e6603c8": unref(toolbarStickyTop),
|
|
53
|
+
"v6d62e58c": unref(pagerStickyBottom)
|
|
54
54
|
}));
|
|
55
55
|
const props = __props;
|
|
56
|
-
const
|
|
56
|
+
const listLayoutEmits = __emit;
|
|
57
57
|
const slots = useSlots();
|
|
58
58
|
const hasHeader = computed(() => !!slots.header);
|
|
59
59
|
const hasOperation = computed(() => !!slots.operation);
|
|
@@ -94,7 +94,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
94
94
|
searchStickyTop,
|
|
95
95
|
toolbarStickyTop,
|
|
96
96
|
pagerStickyBottom
|
|
97
|
-
} =
|
|
97
|
+
} = useListLayoutSticky({
|
|
98
98
|
searchSticky: () => props.searchSticky,
|
|
99
99
|
toolbarSticky: () => props.toolbarSticky,
|
|
100
100
|
pagerSticky: () => props.pagerSticky,
|
|
@@ -158,10 +158,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
158
158
|
};
|
|
159
159
|
};
|
|
160
160
|
const onDataChange = (d) => {
|
|
161
|
-
|
|
161
|
+
listLayoutEmits("dataChange", d);
|
|
162
162
|
};
|
|
163
163
|
const onPageInfoChange = (info) => {
|
|
164
|
-
|
|
164
|
+
listLayoutEmits("pageInfoChange", info);
|
|
165
165
|
};
|
|
166
166
|
const onLoadingChange = (value) => {
|
|
167
167
|
loading.value = value;
|
|
@@ -272,10 +272,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
272
272
|
return withDirectives((openBlock(), createBlock(unref(SlotLayoutFlowAside), {
|
|
273
273
|
ref_key: "layoutRoot",
|
|
274
274
|
ref: layoutRoot,
|
|
275
|
-
class: normalizeClass(["dc-list-page list-page", {
|
|
276
|
-
"list-
|
|
277
|
-
"list-
|
|
278
|
-
"list-
|
|
275
|
+
class: normalizeClass(["dc-list-page list-page list-layout", {
|
|
276
|
+
"list-layout_search-sticky": unref(searchStickyActive),
|
|
277
|
+
"list-layout_toolbar-sticky": unref(toolbarStickyActive),
|
|
278
|
+
"list-layout_pager-sticky": unref(pagerStickyActive)
|
|
279
279
|
}]),
|
|
280
280
|
separate: __props.separateSearch,
|
|
281
281
|
type: (_a = __props.separateSearchConfig) == null ? void 0 : _a.type,
|
|
@@ -286,7 +286,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
286
286
|
aside: withCtx(() => [
|
|
287
287
|
hasHeader.value ? (openBlock(), createBlock(unref(_sfc_main$1), {
|
|
288
288
|
key: 0,
|
|
289
|
-
class: "list-
|
|
289
|
+
class: "list-layout-header",
|
|
290
290
|
"observe-resize": __props.headerObserveResize,
|
|
291
291
|
onHeightChange: onHeaderHeightChange
|
|
292
292
|
}, {
|
|
@@ -317,7 +317,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
317
317
|
]), 1040, ["list", "data", "compact"]),
|
|
318
318
|
hasOperation.value ? (openBlock(), createBlock(unref(_sfc_main$1), {
|
|
319
319
|
key: 1,
|
|
320
|
-
class: "list-
|
|
320
|
+
class: "list-layout-operation",
|
|
321
321
|
"observe-resize": __props.operationObserveResize,
|
|
322
322
|
onHeightChange: onOperateHeightChange
|
|
323
323
|
}, {
|
|
@@ -2,7 +2,7 @@ import { computed, shallowRef, inject, watch, nextTick } from "vue";
|
|
|
2
2
|
import { APP_PAGE_CONTENT_INSET } from "../../inject/key.mjs";
|
|
3
3
|
import { useActivated } from "../../hooks/activated.mjs";
|
|
4
4
|
import { domClosestStickyScrollport } from "../../utils/dom.mjs";
|
|
5
|
-
function
|
|
5
|
+
function useListLayoutSticky(options) {
|
|
6
6
|
const searchStickyActive = computed(
|
|
7
7
|
() => options.searchSticky() && !options.separateSearch()
|
|
8
8
|
);
|
|
@@ -49,5 +49,5 @@ function useListPageSticky(options) {
|
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
export {
|
|
52
|
-
|
|
52
|
+
useListLayoutSticky
|
|
53
53
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./AutoRefreshGroup.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const AutoRefreshGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const AutoRefreshGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0ebeb4c7"]]);
|
|
5
5
|
export {
|
|
6
6
|
AutoRefreshGroup as default
|
|
7
7
|
};
|
|
@@ -23,7 +23,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
23
23
|
const refreshInterval = useModel(__props, "interval");
|
|
24
24
|
return (_ctx, _cache) => {
|
|
25
25
|
return openBlock(), createBlock(unref(_sfc_main$1), {
|
|
26
|
-
disabled: !__props.needRootNode
|
|
26
|
+
disabled: !__props.needRootNode,
|
|
27
|
+
class: "auto-refresh-group-root"
|
|
27
28
|
}, {
|
|
28
29
|
default: withCtx(() => [
|
|
29
30
|
__props.showAutoRefresh ? (openBlock(), createBlock(AutoRefresh, {
|
|
@@ -2,7 +2,7 @@ import _sfc_main from "./ModalConfirm.vue2.mjs";
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
4
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
5
|
-
const ModalConfirm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
const ModalConfirm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-fca575ec"]]);
|
|
6
6
|
export {
|
|
7
7
|
ModalConfirm as default
|
|
8
8
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./PanelMain.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const PanelMain = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const PanelMain = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e74d05c3"]]);
|
|
5
5
|
export {
|
|
6
6
|
PanelMain as default
|
|
7
7
|
};
|
|
@@ -18,7 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
18
18
|
emits: ["submitSuccess"],
|
|
19
19
|
setup(__props, { emit: __emit }) {
|
|
20
20
|
useCssVars((_ctx) => ({
|
|
21
|
-
"
|
|
21
|
+
"v0799966c": cardLastMarginBottom.value
|
|
22
22
|
}));
|
|
23
23
|
const props = __props;
|
|
24
24
|
const emits = __emit;
|
|
@@ -30,7 +30,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
30
30
|
() => `panel-main-item-col-wrap_${itemWrapTag.value === ElCard ? "card" : "plain"}`
|
|
31
31
|
);
|
|
32
32
|
const cardLastMarginBottom = computed(
|
|
33
|
-
() => typeof props.itemCard === "object" && props.itemCard.lastMarginBottom ? props.itemCard.lastMarginBottom :
|
|
33
|
+
() => typeof props.itemCard === "object" && props.itemCard.lastMarginBottom !== void 0 ? props.itemCard.lastMarginBottom : "10px"
|
|
34
34
|
);
|
|
35
35
|
const isHidden = (config) => {
|
|
36
36
|
const { hide } = config;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./TableMain.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const TableMain = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const TableMain = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-54ab0e8e"]]);
|
|
5
5
|
export {
|
|
6
6
|
TableMain as default
|
|
7
7
|
};
|
|
@@ -51,7 +51,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
51
51
|
emits: /* @__PURE__ */ mergeModels(["pageChange", "pageSizeChange", "dataChange", "loadingChange", "pageInfoChange"], ["update:isAutoRefresh", "update:refreshInterval", "update:customView"]),
|
|
52
52
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
53
53
|
useCssVars((_ctx) => ({
|
|
54
|
-
"
|
|
54
|
+
"v6df3e765": unref(fillMinHeightCss)
|
|
55
55
|
}));
|
|
56
56
|
const props = __props;
|
|
57
57
|
const emits = __emit;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _sfc_main from "./ViewLayout.vue2.mjs";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
+
const ViewLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5e8f862f"]]);
|
|
5
|
+
export {
|
|
6
|
+
ViewLayout as default
|
|
7
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { defineComponent, shallowRef, ref, computed, provide, watch, openBlock, createElementBlock, createBlock, unref, withCtx, createElementVNode, normalizeStyle, renderSlot, createVNode, Fragment } from "vue";
|
|
2
|
+
import AutoRefreshGroup from "../misc/AutoRefreshGroup.vue.mjs";
|
|
3
|
+
import _sfc_main$1 from "../display/HeightProvider.vue.mjs";
|
|
4
|
+
import { useChannelViewportHeight } from "../../hooks/use-channel-viewport-height.mjs";
|
|
5
|
+
import { useActivated } from "../../hooks/activated.mjs";
|
|
6
|
+
import { SCOPE_VIEWPORT_MAX_HEIGHT } from "../../inject/key.mjs";
|
|
7
|
+
const _hoisted_1 = { class: "dc-view-layout view-layout" };
|
|
8
|
+
const _hoisted_2 = { class: "view-layout-toolbar" };
|
|
9
|
+
const _hoisted_3 = { class: "view-layout-toolbar" };
|
|
10
|
+
const _hoisted_4 = { class: "view-layout-content" };
|
|
11
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
12
|
+
__name: "ViewLayout",
|
|
13
|
+
props: {
|
|
14
|
+
api: {},
|
|
15
|
+
params: {},
|
|
16
|
+
refine: { type: Boolean, default: true },
|
|
17
|
+
viewportHeight: {},
|
|
18
|
+
channel: {},
|
|
19
|
+
parentChannel: {},
|
|
20
|
+
minHeight: { default: 100 },
|
|
21
|
+
showAutoRefresh: { type: Boolean, default: true },
|
|
22
|
+
showRefresh: { type: Boolean, default: true }
|
|
23
|
+
},
|
|
24
|
+
setup(__props) {
|
|
25
|
+
const props = __props;
|
|
26
|
+
const { viewportHeightFinal, nearestScope } = useChannelViewportHeight(props);
|
|
27
|
+
const data = shallowRef(void 0);
|
|
28
|
+
const loading = ref(false);
|
|
29
|
+
const fetch = async () => {
|
|
30
|
+
loading.value = true;
|
|
31
|
+
try {
|
|
32
|
+
data.value = await props.api(props.params);
|
|
33
|
+
} finally {
|
|
34
|
+
loading.value = false;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const refresh = fetch;
|
|
38
|
+
useActivated((info) => {
|
|
39
|
+
if (info.isActivated) void fetch();
|
|
40
|
+
});
|
|
41
|
+
const heightProviderViewportHeight = computed(() => viewportHeightFinal.value);
|
|
42
|
+
const contentStyle = (available) => ({
|
|
43
|
+
maxHeight: `${available}px`
|
|
44
|
+
});
|
|
45
|
+
const childViewportHeightChange = ref(0);
|
|
46
|
+
const onChildViewportHeightChange = (value) => {
|
|
47
|
+
childViewportHeightChange.value = value;
|
|
48
|
+
};
|
|
49
|
+
if (props.refine) {
|
|
50
|
+
provide(SCOPE_VIEWPORT_MAX_HEIGHT, {
|
|
51
|
+
scope: props.channel,
|
|
52
|
+
viewportMaxHeight: computed(() => childViewportHeightChange.value),
|
|
53
|
+
parent: nearestScope
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
watch(
|
|
57
|
+
// eslint-disable-next-line vue/no-setup-props-destructure
|
|
58
|
+
() => props.channel,
|
|
59
|
+
() => console.error("[ViewLayout] channel 不支持响应式变更,当前值已忽略。")
|
|
60
|
+
);
|
|
61
|
+
return (_ctx, _cache) => {
|
|
62
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
63
|
+
__props.refine ? (openBlock(), createBlock(unref(_sfc_main$1), {
|
|
64
|
+
key: 0,
|
|
65
|
+
viewportHeight: heightProviderViewportHeight.value,
|
|
66
|
+
minHeight: __props.minHeight,
|
|
67
|
+
onChildViewportHeightChange
|
|
68
|
+
}, {
|
|
69
|
+
header: withCtx(() => [
|
|
70
|
+
createElementVNode("div", _hoisted_2, [
|
|
71
|
+
createVNode(unref(AutoRefreshGroup), {
|
|
72
|
+
refreshFn: fetch,
|
|
73
|
+
loading: loading.value,
|
|
74
|
+
showAutoRefresh: __props.showAutoRefresh,
|
|
75
|
+
showRefresh: __props.showRefresh
|
|
76
|
+
}, null, 8, ["loading", "showAutoRefresh", "showRefresh"])
|
|
77
|
+
])
|
|
78
|
+
]),
|
|
79
|
+
default: withCtx(({ viewportHeight }) => [
|
|
80
|
+
createElementVNode("div", {
|
|
81
|
+
class: "view-layout-content",
|
|
82
|
+
style: normalizeStyle(contentStyle(viewportHeight))
|
|
83
|
+
}, [
|
|
84
|
+
renderSlot(_ctx.$slots, "default", {
|
|
85
|
+
data: data.value,
|
|
86
|
+
loading: loading.value,
|
|
87
|
+
refresh: unref(refresh),
|
|
88
|
+
viewportHeight
|
|
89
|
+
}, void 0, true)
|
|
90
|
+
], 4)
|
|
91
|
+
]),
|
|
92
|
+
_: 3
|
|
93
|
+
}, 8, ["viewportHeight", "minHeight"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
94
|
+
createElementVNode("div", _hoisted_3, [
|
|
95
|
+
createVNode(unref(AutoRefreshGroup), {
|
|
96
|
+
refreshFn: fetch,
|
|
97
|
+
loading: loading.value,
|
|
98
|
+
showAutoRefresh: __props.showAutoRefresh,
|
|
99
|
+
showRefresh: __props.showRefresh
|
|
100
|
+
}, null, 8, ["loading", "showAutoRefresh", "showRefresh"])
|
|
101
|
+
]),
|
|
102
|
+
createElementVNode("div", _hoisted_4, [
|
|
103
|
+
renderSlot(_ctx.$slots, "default", {
|
|
104
|
+
data: data.value,
|
|
105
|
+
loading: loading.value,
|
|
106
|
+
refresh: unref(refresh),
|
|
107
|
+
viewportHeight: void 0
|
|
108
|
+
}, void 0, true)
|
|
109
|
+
])
|
|
110
|
+
], 64))
|
|
111
|
+
]);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
export {
|
|
116
|
+
_sfc_main as default
|
|
117
|
+
};
|
package/es/index.mjs
CHANGED
|
@@ -46,15 +46,16 @@ import { default as default41 } from "./components/form/FormMain.vue.mjs";
|
|
|
46
46
|
import { default as default42 } from "./components/form/FormSearch.vue.mjs";
|
|
47
47
|
import { default as default43 } from "./components/form/FormSubmitPanel.vue.mjs";
|
|
48
48
|
import { default as default44 } from "./components/form/FormVerifyImage.vue.mjs";
|
|
49
|
-
import { default as default45 } from "./components/list-
|
|
50
|
-
import { default as
|
|
51
|
-
import { default as
|
|
52
|
-
import { default as
|
|
53
|
-
import { default as
|
|
49
|
+
import { default as default45, default as default46 } from "./components/list-layout/ListLayout.vue.mjs";
|
|
50
|
+
import { default as default47 } from "./components/panel/PanelEditSwitch.vue.mjs";
|
|
51
|
+
import { default as default48 } from "./components/panel/PanelItem.vue.mjs";
|
|
52
|
+
import { default as default49 } from "./components/panel/PanelItemNestForm.vue.mjs";
|
|
53
|
+
import { default as default50 } from "./components/panel/PanelMain.vue.mjs";
|
|
54
54
|
import { ROUTE_MODULE_LEVEL, TabsMainReplaceQueryKey } from "./config/route.mjs";
|
|
55
|
-
import { default as
|
|
55
|
+
import { default as default51 } from "./components/slot-layout/SlotLayoutFlowAside.vue.mjs";
|
|
56
56
|
import { TABLE_COLUMN_KEY_OPERATE, TABLE_COLUMN_KEY_SELECTION } from "./components/table/constants.mjs";
|
|
57
|
-
import { default as
|
|
57
|
+
import { default as default52 } from "./components/table/TableMain.vue.mjs";
|
|
58
|
+
import { default as default53 } from "./components/view-layout/ViewLayout.vue.mjs";
|
|
58
59
|
import { buildRhythmCss, useCoreThemeApply } from "./hooks/use-theme-apply.mjs";
|
|
59
60
|
import { checkLogin } from "./router/guard/login.mjs";
|
|
60
61
|
import { checkPermission } from "./router/guard/permission.mjs";
|
|
@@ -136,7 +137,8 @@ export {
|
|
|
136
137
|
default13 as FormVerifyCode,
|
|
137
138
|
default44 as FormVerifyImage,
|
|
138
139
|
default14 as HeightProvider,
|
|
139
|
-
default45 as
|
|
140
|
+
default45 as ListLayout,
|
|
141
|
+
default46 as ListPage,
|
|
140
142
|
default15 as MenuItemSub,
|
|
141
143
|
default16 as MenuTree,
|
|
142
144
|
default38 as ModalConfirm,
|
|
@@ -147,23 +149,24 @@ export {
|
|
|
147
149
|
NEST_LAYOUT_SCALE_KEY,
|
|
148
150
|
NEST_LAYOUT_TIERS,
|
|
149
151
|
OPERATE_COLUMN_PROP,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
152
|
+
default47 as PanelEditSwitch,
|
|
153
|
+
default48 as PanelItem,
|
|
154
|
+
default49 as PanelItemNestForm,
|
|
153
155
|
default19 as PanelItemNestPanel,
|
|
154
|
-
|
|
156
|
+
default50 as PanelMain,
|
|
155
157
|
ROUTE_MODULE_LEVEL,
|
|
156
158
|
SCOPE_VIEWPORT_MAX_HEIGHT,
|
|
157
159
|
default20 as SelectModule,
|
|
158
|
-
|
|
160
|
+
default51 as SlotLayoutFlowAside,
|
|
159
161
|
default21 as SlotLayoutTemplate,
|
|
160
162
|
TABLE_COLUMN_KEY_OPERATE,
|
|
161
163
|
TABLE_COLUMN_KEY_SELECTION,
|
|
162
164
|
TABS_MAIN_VISUAL_LEVEL,
|
|
163
|
-
|
|
165
|
+
default52 as TableMain,
|
|
164
166
|
default22 as TabsMain,
|
|
165
167
|
TabsMainReplaceQueryKey,
|
|
166
168
|
default23 as TriggerAutoImport,
|
|
169
|
+
default53 as ViewLayout,
|
|
167
170
|
default24 as WatchSize,
|
|
168
171
|
buildRhythmCss,
|
|
169
172
|
ceilToTier,
|
package/es/style.css
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
.confirm-modal__title[data-v-
|
|
1
|
+
.confirm-modal__title[data-v-fca575ec] {
|
|
2
2
|
font-size: 16px;
|
|
3
3
|
font-weight: 600;
|
|
4
4
|
line-height: 24px;
|
|
5
5
|
color: var(--el-text-color-primary);
|
|
6
6
|
text-align: left;
|
|
7
7
|
}
|
|
8
|
-
.confirm-modal__content[data-v-
|
|
8
|
+
.confirm-modal__content[data-v-fca575ec] {
|
|
9
9
|
overflow-x: hidden;
|
|
10
10
|
overflow-y: auto;
|
|
11
11
|
max-height: calc(100vh - 200px);
|
|
@@ -15,20 +15,20 @@
|
|
|
15
15
|
text-align: left;
|
|
16
16
|
word-break: break-word;
|
|
17
17
|
}
|
|
18
|
-
.confirm-modal__content_drawer[data-v-
|
|
18
|
+
.confirm-modal__content_drawer[data-v-fca575ec] {
|
|
19
19
|
max-height: none;
|
|
20
20
|
height: 100%;
|
|
21
21
|
}
|
|
22
|
-
.confirm-modal__footer[data-v-
|
|
22
|
+
.confirm-modal__footer[data-v-fca575ec] {
|
|
23
23
|
display: flex;
|
|
24
24
|
justify-content: flex-end;
|
|
25
25
|
align-items: center;
|
|
26
26
|
gap: 8px;
|
|
27
27
|
}
|
|
28
|
-
.confirm-modal__footer[data-v-
|
|
28
|
+
.confirm-modal__footer[data-v-fca575ec] .el-button {
|
|
29
29
|
min-width: 72px;
|
|
30
30
|
}
|
|
31
|
-
.confirm-modal__footer[reverse="true"][data-v-
|
|
31
|
+
.confirm-modal__footer[reverse="true"][data-v-fca575ec] {
|
|
32
32
|
flex-direction: row-reverse;
|
|
33
33
|
}
|
|
34
34
|
.dc-confirm-modal.el-drawer .el-drawer__header {
|
|
@@ -164,8 +164,8 @@
|
|
|
164
164
|
padding-right: 0;
|
|
165
165
|
padding-bottom: 4px;
|
|
166
166
|
}
|
|
167
|
-
.panel-main-item-col:not(:last-of-type) .panel-main-item-col-wrap_card[data-v-
|
|
168
|
-
margin-bottom: var(--
|
|
167
|
+
.panel-main-item-col:not(:last-of-type) .panel-main-item-col-wrap_card[data-v-e74d05c3] {
|
|
168
|
+
margin-bottom: var(--v0799966c);
|
|
169
169
|
}
|
|
170
170
|
.form-search_show[data-v-b96e10f6] {
|
|
171
171
|
margin-bottom: 10px;
|
|
@@ -300,23 +300,23 @@
|
|
|
300
300
|
color: var(--dc-core-primary-color);
|
|
301
301
|
font-weight: 600;
|
|
302
302
|
}
|
|
303
|
-
.dc-tabs-tile--nav-absolute[data-v-
|
|
304
|
-
.dc-tabs-tile--nav-fixed[data-v-
|
|
303
|
+
.dc-tabs-tile--nav-absolute[data-v-efffefb9],
|
|
304
|
+
.dc-tabs-tile--nav-fixed[data-v-efffefb9] {
|
|
305
305
|
position: relative;
|
|
306
306
|
}
|
|
307
|
-
.dc-tabs-tile--nav-sticky[data-v-
|
|
307
|
+
.dc-tabs-tile--nav-sticky[data-v-efffefb9] {
|
|
308
308
|
display: flex;
|
|
309
309
|
flex-direction: column;
|
|
310
310
|
}
|
|
311
|
-
.dc-tabs-tile__scroll[data-v-
|
|
311
|
+
.dc-tabs-tile__scroll[data-v-efffefb9] {
|
|
312
312
|
display: flex;
|
|
313
313
|
flex-direction: column;
|
|
314
314
|
gap: 12px;
|
|
315
315
|
}
|
|
316
|
-
.dc-tabs-tile__card[data-v-
|
|
316
|
+
.dc-tabs-tile__card[data-v-efffefb9] {
|
|
317
317
|
width: 100%;
|
|
318
318
|
}
|
|
319
|
-
.dc-tabs-tile__nav[data-v-
|
|
319
|
+
.dc-tabs-tile__nav[data-v-efffefb9] {
|
|
320
320
|
z-index: 2;
|
|
321
321
|
max-height: 60%;
|
|
322
322
|
overflow: auto;
|
|
@@ -551,10 +551,16 @@
|
|
|
551
551
|
color: var(--el-text-color-regular);
|
|
552
552
|
margin-bottom: 8px;
|
|
553
553
|
}
|
|
554
|
-
|
|
555
|
-
|
|
554
|
+
/* 有根节点时(needRootNode)按钮组横向排列 + 间距(参照 TableToolbar 按钮组内 gap:10px) */
|
|
555
|
+
.auto-refresh-group-root[data-v-0ebeb4c7] {
|
|
556
|
+
display: flex;
|
|
557
|
+
align-items: center;
|
|
558
|
+
gap: 10px;
|
|
559
|
+
}
|
|
560
|
+
.auto-refresh-group-icon--rotating[data-v-0ebeb4c7] {
|
|
561
|
+
animation: auto-refresh-rotating-0ebeb4c7 1s linear infinite;
|
|
556
562
|
}
|
|
557
|
-
@keyframes auto-refresh-rotating-
|
|
563
|
+
@keyframes auto-refresh-rotating-0ebeb4c7 {
|
|
558
564
|
from {
|
|
559
565
|
transform: rotate(0deg);
|
|
560
566
|
}
|
|
@@ -686,13 +692,13 @@ to {
|
|
|
686
692
|
min-height: 60px;
|
|
687
693
|
grid-column: 1 / -1;
|
|
688
694
|
}
|
|
689
|
-
.table-main-pagination[data-v-
|
|
695
|
+
.table-main-pagination[data-v-54ab0e8e] {
|
|
690
696
|
margin-top: 10px;
|
|
691
697
|
display: flex;
|
|
692
698
|
justify-content: flex-end;
|
|
693
699
|
}
|
|
694
|
-
.table-main_fill[data-v-
|
|
695
|
-
min-height: var(--
|
|
700
|
+
.table-main_fill[data-v-54ab0e8e] .el-table__body-wrapper {
|
|
701
|
+
min-height: var(--v6df3e765);
|
|
696
702
|
}
|
|
697
703
|
.dc-slot-layout-flow-aside_separate[data-v-5c6ef74b] {
|
|
698
704
|
position: relative;
|
|
@@ -722,40 +728,40 @@ to {
|
|
|
722
728
|
.dc-slot-layout-flow-aside-main[data-v-5c6ef74b] {
|
|
723
729
|
width: var(--v7e1d11ca);
|
|
724
730
|
}
|
|
725
|
-
.list-
|
|
726
|
-
min-height: var(--
|
|
731
|
+
.list-layout[data-v-5301293b] {
|
|
732
|
+
min-height: var(--ee852864);
|
|
727
733
|
}
|
|
728
|
-
.list-
|
|
734
|
+
.list-layout-header[data-v-5301293b] {
|
|
729
735
|
margin-bottom: 10px;
|
|
730
736
|
}
|
|
731
|
-
.list-
|
|
737
|
+
.list-layout-operation[data-v-5301293b] {
|
|
732
738
|
margin-bottom: 10px;
|
|
733
739
|
}
|
|
734
|
-
.list-
|
|
740
|
+
.list-layout_search-sticky[data-v-5301293b] .form-search {
|
|
735
741
|
position: sticky;
|
|
736
|
-
top: var(--
|
|
742
|
+
top: var(--v6179ebd9);
|
|
737
743
|
z-index: 10;
|
|
738
744
|
background: var(--dc-core-surface, var(--el-bg-color));
|
|
739
745
|
box-shadow: 0 1px 0 0 var(--dc-core-border-color, var(--el-border-color-lighter));
|
|
740
746
|
}
|
|
741
|
-
.list-
|
|
747
|
+
.list-layout_toolbar-sticky[data-v-5301293b] .dc-table-main__toolbar {
|
|
742
748
|
position: sticky;
|
|
743
|
-
top: var(--
|
|
749
|
+
top: var(--v0e6603c8);
|
|
744
750
|
z-index: 9;
|
|
745
751
|
padding-top: 10px;
|
|
746
752
|
background: var(--dc-core-surface, var(--el-bg-color));
|
|
747
753
|
box-shadow: 0 1px 0 0 var(--dc-core-border-color, var(--el-border-color-lighter));
|
|
748
754
|
}
|
|
749
|
-
.list-
|
|
755
|
+
.list-layout_pager-sticky[data-v-5301293b] .dc-table-main__pagination {
|
|
750
756
|
position: sticky;
|
|
751
|
-
bottom: var(--
|
|
757
|
+
bottom: var(--v6d62e58c);
|
|
752
758
|
z-index: 9;
|
|
753
759
|
margin-top: 0;
|
|
754
760
|
padding-top: 10px;
|
|
755
761
|
background: var(--dc-core-surface, var(--el-bg-color));
|
|
756
762
|
box-shadow: 0 -1px 0 0 var(--dc-core-border-color, var(--el-border-color-lighter));
|
|
757
763
|
}
|
|
758
|
-
.list-
|
|
764
|
+
.list-layout[data-v-5301293b] .el-loading-mask {
|
|
759
765
|
left: -10px;
|
|
760
766
|
top: -10px;
|
|
761
767
|
right: -10px;
|
|
@@ -767,3 +773,15 @@ to {
|
|
|
767
773
|
gap: 8px;
|
|
768
774
|
margin-top: 8px;
|
|
769
775
|
}
|
|
776
|
+
.view-layout[data-v-5e8f862f] {
|
|
777
|
+
display: flex;
|
|
778
|
+
flex-direction: column;
|
|
779
|
+
gap: 8px;
|
|
780
|
+
}
|
|
781
|
+
.view-layout-toolbar[data-v-5e8f862f] {
|
|
782
|
+
display: flex;
|
|
783
|
+
justify-content: flex-end;
|
|
784
|
+
}
|
|
785
|
+
.view-layout-content[data-v-5e8f862f] {
|
|
786
|
+
overflow: auto;
|
|
787
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@done-coding/admin-core",
|
|
3
|
-
"version": "0.19.0",
|
|
3
|
+
"version": "0.19.1-alpha.0",
|
|
4
4
|
"description": "内部前端库",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "es/index.mjs",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"node": ">=18.0.0",
|
|
81
81
|
"pnpm": ">=9.0.0"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "a18e4ec70e2ca8652f6a8b8a5a2ea0be298d9601"
|
|
84
84
|
}
|