qidian-vue-ui 1.1.17 → 1.1.18
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./list.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const QdServiceList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const QdServiceList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0b051d29"]]);
|
|
5
5
|
export {
|
|
6
6
|
QdServiceList as default
|
|
7
7
|
};
|
|
@@ -103,18 +103,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
103
103
|
});
|
|
104
104
|
const empty = computed(() => noMore.value && !data.value.length);
|
|
105
105
|
const listLoad = computed(() => {
|
|
106
|
+
const loading2 = data.value.length ? reProps.value.externalLoad || firstLoad.value : false;
|
|
106
107
|
return {
|
|
107
|
-
loading:
|
|
108
|
+
loading: loading2,
|
|
108
109
|
size: "small",
|
|
109
110
|
...props.loadingProps
|
|
110
111
|
};
|
|
111
112
|
});
|
|
112
113
|
const listAsyncLoad = computed(() => {
|
|
113
114
|
const { externalLoad, externalAsyncLoad } = reProps.value;
|
|
114
|
-
if (externalLoad || firstLoad.value) return "";
|
|
115
115
|
if (externalAsyncLoad) return externalAsyncLoad;
|
|
116
|
+
if (firstLoad.value || externalLoad) {
|
|
117
|
+
if (data.value.length) return "";
|
|
118
|
+
return "loading";
|
|
119
|
+
}
|
|
116
120
|
if (loading.value) return "loading";
|
|
117
|
-
return "";
|
|
121
|
+
return noMore.value ? "" : "load-more";
|
|
118
122
|
});
|
|
119
123
|
function onScroll({
|
|
120
124
|
scrollTop,
|
|
@@ -203,7 +207,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
203
207
|
ref: "list",
|
|
204
208
|
class: "qd-service-list",
|
|
205
209
|
"async-loading": listAsyncLoad.value
|
|
206
|
-
}, reProps.value.listOptions, {
|
|
210
|
+
}, reProps.value.listOptions, {
|
|
211
|
+
onScroll,
|
|
212
|
+
onLoadMore: unref(loadMore)
|
|
213
|
+
}), createSlots({
|
|
207
214
|
default: withCtx(() => [
|
|
208
215
|
!listLoad.value.loading && !listAsyncLoad.value && empty.value ? renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
|
|
209
216
|
createVNode(unref(Empty), {
|
|
@@ -223,7 +230,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
223
230
|
])
|
|
224
231
|
};
|
|
225
232
|
})
|
|
226
|
-
]), 1040, ["async-loading"])), [
|
|
233
|
+
]), 1040, ["async-loading", "onLoadMore"])), [
|
|
227
234
|
[_directive_loading, listLoad.value]
|
|
228
235
|
]);
|
|
229
236
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.vue2.mjs","sources":["../../../src/components/service/list.vue"],"sourcesContent":["<template>\n <t-list\n ref=\"list\"\n class=\"qd-service-list\"\n v-loading=\"listLoad\"\n :async-loading=\"listAsyncLoad\"\n v-bind=\"reProps.listOptions\"\n @scroll=\"onScroll\"\n >\n <slot v-if=\"!listLoad.loading && !listAsyncLoad && empty\" name=\"empty\">\n <t-empty class=\"qd-service-list__empty\" :title=\"t('emptyText')\" />\n </slot>\n\n <slot :data=\"data\" />\n\n <template v-for=\"name in filterSlots($slots, ['default', 'empty'])\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-list>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type { ComponentPublicInstance } from 'vue'\n import type { ListInstanceFunctions, TableRowData, TdListProps } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type { QdServiceListInstanceFunctions, QdServiceListProps } from './types'\n import {\n computed,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n onMounted,\n useTemplateRef\n } from 'vue'\n import { List as TList, Empty as TEmpty } from 'tdesign-vue-next'\n import { qdServiceListProps } from './props'\n import { filterSlots, useServiceLoadMore } from 'qidian-shared'\n import { useVModels } from '@vueuse/core'\n import { useConfig } from '../config-provider/useConfig'\n\n defineOptions({\n name: 'QdServiceList'\n })\n\n type Props = QdServiceListProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceListProps)\n const emit = defineEmits<{\n 'update:data': [Props['data']]\n }>()\n const { data } = useVModels<\n {\n data: NonNullable<Props['data']>\n },\n keyof typeof emit\n >(props, emit, { passive: true })\n\n const { t } = useConfig('crud')\n const listRef = useTemplateRef<ListInstanceFunctions & ComponentPublicInstance>('list')\n let scrollTopRecord = 0\n\n const reProps = computed(() => {\n const {\n service,\n manual,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError,\n\n data,\n\n loading: externalLoad,\n asyncLoading: externalAsyncLoad,\n scroll,\n ...listOptions\n } = props\n\n return {\n scrollTarget: scroll?.target,\n externalLoad,\n externalAsyncLoad,\n listOptions: {\n ...listOptions,\n scroll\n } as TdListProps,\n serviceOptions: {\n service,\n manual,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError\n },\n models: {\n data\n }\n }\n })\n\n const {\n data: serviceData,\n firstLoad,\n manualTriggerLoad,\n loading,\n loadingMore,\n noMore,\n error,\n refresh,\n refreshAsync,\n cancel,\n loadMore,\n loadMoreAsync,\n mutate\n } = useServiceLoadMore({\n ...reProps.value.serviceOptions,\n onSuccess: (res) => {\n reProps.value.serviceOptions.onSuccess?.(res)\n\n data.value = (serviceData.value?.list || []) as D[]\n }\n })\n\n const empty = computed(() => noMore.value && !data.value.length)\n const listLoad = computed(() => {\n return {\n loading: reProps.value.externalLoad || firstLoad.value,\n size: 'small',\n ...props.loadingProps\n }\n })\n const listAsyncLoad = computed(() => {\n const { externalLoad, externalAsyncLoad } = reProps.value\n if (externalLoad || firstLoad.value) return ''\n if (externalAsyncLoad) return externalAsyncLoad\n if (loading.value) return 'loading'\n return ''\n })\n\n function onScroll({\n scrollTop,\n scrollBottom\n }: {\n e: Event | WheelEvent\n scrollTop: number\n scrollBottom: number\n }) {\n scrollTopRecord = scrollTop\n\n if (\n loading.value ||\n noMore.value ||\n scrollBottom > (reProps.value.listOptions.scroll?.rowHeight ?? 100)\n ) {\n return\n }\n\n loadMore()\n }\n\n function getScrollTargetEl() {\n const { scrollTarget } = reProps.value\n if (!scrollTarget) return null\n\n if (typeof scrollTarget !== 'string') return scrollTarget\n return document.querySelector(scrollTarget)\n }\n\n function onTargetScroll(evt: Event) {\n const { scrollHeight, clientHeight, scrollTop } = evt.target as HTMLElement\n const scrollBottom = scrollHeight - clientHeight - scrollTop\n onScroll({ scrollTop, scrollBottom, e: evt })\n }\n\n function addListerTarget() {\n const el = getScrollTargetEl()\n if (!el) return\n\n removeListerTarget()\n el.addEventListener('scroll', onTargetScroll)\n }\n\n function removeListerTarget() {\n const el = getScrollTargetEl()\n if (!el) return\n\n el.removeEventListener('scroll', onTargetScroll)\n }\n\n function resumeScrollTopRecord() {\n let el = getScrollTargetEl()\n if (!el) el = listRef.value?.$el\n if (!el) return\n\n const { scrollTop } = el\n const currentScrollTopRecord = scrollTopRecord\n if (currentScrollTopRecord === scrollTop) return\n\n const core = () => {\n el.scrollTo({ top: currentScrollTopRecord })\n setTimeout(() => {\n if (!el) return\n const { scrollTop, scrollHeight } = el\n if (scrollHeight < currentScrollTopRecord) return\n if (scrollTop >= currentScrollTopRecord) return\n core()\n }, 50)\n }\n\n core()\n }\n\n const expose = {\n data: serviceData,\n firstLoad,\n manualTriggerLoad,\n loading,\n loadingMore,\n noMore,\n error,\n refresh,\n refreshAsync,\n cancel,\n loadMore,\n loadMoreAsync,\n mutate\n } as QdServiceListInstanceFunctions<D, R, P, TP, Pag>\n\n onMounted(() => {\n addListerTarget()\n Object.assign(expose, listRef.value)\n })\n\n onActivated(() => {\n resumeScrollTopRecord()\n addListerTarget()\n })\n\n onDeactivated(() => {\n removeListerTarget()\n })\n\n onBeforeUnmount(() => {\n removeListerTarget()\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-service-list {\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n\n & > :deep(.t-list__load) {\n color: var(--td-text-color-secondary);\n background-color: transparent;\n }\n\n &__empty {\n padding: var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);\n }\n }\n</style>\n"],"names":["data","scrollTop","_withDirectives","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","_renderSlot","_createVNode","TEmpty","$slots","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"list.vue2.mjs","sources":["../../../src/components/service/list.vue"],"sourcesContent":["<template>\n <t-list\n ref=\"list\"\n class=\"qd-service-list\"\n v-loading=\"listLoad\"\n :async-loading=\"listAsyncLoad\"\n v-bind=\"reProps.listOptions\"\n @scroll=\"onScroll\"\n @load-more=\"loadMore\"\n >\n <slot v-if=\"!listLoad.loading && !listAsyncLoad && empty\" name=\"empty\">\n <t-empty class=\"qd-service-list__empty\" :title=\"t('emptyText')\" />\n </slot>\n\n <slot :data=\"data\" />\n\n <template v-for=\"name in filterSlots($slots, ['default', 'empty'])\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-list>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type { ComponentPublicInstance } from 'vue'\n import type { ListInstanceFunctions, TableRowData, TdListProps } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type { QdServiceListInstanceFunctions, QdServiceListProps } from './types'\n import {\n computed,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n onMounted,\n useTemplateRef\n } from 'vue'\n import { List as TList, Empty as TEmpty } from 'tdesign-vue-next'\n import { qdServiceListProps } from './props'\n import { filterSlots, useServiceLoadMore } from 'qidian-shared'\n import { useVModels } from '@vueuse/core'\n import { useConfig } from '../config-provider/useConfig'\n\n defineOptions({\n name: 'QdServiceList'\n })\n\n type Props = QdServiceListProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceListProps)\n const emit = defineEmits<{\n 'update:data': [Props['data']]\n }>()\n const { data } = useVModels<\n {\n data: NonNullable<Props['data']>\n },\n keyof typeof emit\n >(props, emit, { passive: true })\n\n const { t } = useConfig('crud')\n const listRef = useTemplateRef<ListInstanceFunctions & ComponentPublicInstance>('list')\n let scrollTopRecord = 0\n\n const reProps = computed(() => {\n const {\n service,\n manual,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError,\n\n data,\n\n loading: externalLoad,\n asyncLoading: externalAsyncLoad,\n scroll,\n ...listOptions\n } = props\n\n return {\n scrollTarget: scroll?.target,\n externalLoad,\n externalAsyncLoad,\n listOptions: {\n ...listOptions,\n scroll\n } as TdListProps,\n serviceOptions: {\n service,\n manual,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError\n },\n models: {\n data\n }\n }\n })\n\n const {\n data: serviceData,\n firstLoad,\n manualTriggerLoad,\n loading,\n loadingMore,\n noMore,\n error,\n refresh,\n refreshAsync,\n cancel,\n loadMore,\n loadMoreAsync,\n mutate\n } = useServiceLoadMore({\n ...reProps.value.serviceOptions,\n onSuccess: (res) => {\n reProps.value.serviceOptions.onSuccess?.(res)\n\n data.value = (serviceData.value?.list || []) as D[]\n }\n })\n\n const empty = computed(() => noMore.value && !data.value.length)\n const listLoad = computed(() => {\n const loading = data.value.length ? reProps.value.externalLoad || firstLoad.value : false\n return {\n loading,\n size: 'small',\n ...props.loadingProps\n }\n })\n const listAsyncLoad = computed(() => {\n const { externalLoad, externalAsyncLoad } = reProps.value\n if (externalAsyncLoad) return externalAsyncLoad\n if (firstLoad.value || externalLoad) {\n if (data.value.length) return ''\n return 'loading'\n }\n if (loading.value) return 'loading'\n return noMore.value ? '' : 'load-more'\n })\n\n function onScroll({\n scrollTop,\n scrollBottom\n }: {\n e: Event | WheelEvent\n scrollTop: number\n scrollBottom: number\n }) {\n scrollTopRecord = scrollTop\n\n if (\n loading.value ||\n noMore.value ||\n scrollBottom > (reProps.value.listOptions.scroll?.rowHeight ?? 100)\n ) {\n return\n }\n\n loadMore()\n }\n\n function getScrollTargetEl() {\n const { scrollTarget } = reProps.value\n if (!scrollTarget) return null\n\n if (typeof scrollTarget !== 'string') return scrollTarget\n return document.querySelector(scrollTarget)\n }\n\n function onTargetScroll(evt: Event) {\n const { scrollHeight, clientHeight, scrollTop } = evt.target as HTMLElement\n const scrollBottom = scrollHeight - clientHeight - scrollTop\n onScroll({ scrollTop, scrollBottom, e: evt })\n }\n\n function addListerTarget() {\n const el = getScrollTargetEl()\n if (!el) return\n\n removeListerTarget()\n el.addEventListener('scroll', onTargetScroll)\n }\n\n function removeListerTarget() {\n const el = getScrollTargetEl()\n if (!el) return\n\n el.removeEventListener('scroll', onTargetScroll)\n }\n\n function resumeScrollTopRecord() {\n let el = getScrollTargetEl()\n if (!el) el = listRef.value?.$el\n if (!el) return\n\n const { scrollTop } = el\n const currentScrollTopRecord = scrollTopRecord\n if (currentScrollTopRecord === scrollTop) return\n\n const core = () => {\n el.scrollTo({ top: currentScrollTopRecord })\n setTimeout(() => {\n if (!el) return\n const { scrollTop, scrollHeight } = el\n if (scrollHeight < currentScrollTopRecord) return\n if (scrollTop >= currentScrollTopRecord) return\n core()\n }, 50)\n }\n\n core()\n }\n\n const expose = {\n data: serviceData,\n firstLoad,\n manualTriggerLoad,\n loading,\n loadingMore,\n noMore,\n error,\n refresh,\n refreshAsync,\n cancel,\n loadMore,\n loadMoreAsync,\n mutate\n } as QdServiceListInstanceFunctions<D, R, P, TP, Pag>\n\n onMounted(() => {\n addListerTarget()\n Object.assign(expose, listRef.value)\n })\n\n onActivated(() => {\n resumeScrollTopRecord()\n addListerTarget()\n })\n\n onDeactivated(() => {\n removeListerTarget()\n })\n\n onBeforeUnmount(() => {\n removeListerTarget()\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-service-list {\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n\n & > :deep(.t-list__load) {\n color: var(--td-text-color-secondary);\n background-color: transparent;\n }\n\n &__empty {\n padding: var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);\n }\n }\n</style>\n"],"names":["data","loading","scrollTop","_withDirectives","_openBlock","_createBlock","_unref","_mergeProps","_renderSlot","_createVNode","TEmpty","$slots","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
|
package/dist/qidian-vue-ui.css
CHANGED
|
@@ -98,6 +98,12 @@ p {
|
|
|
98
98
|
.t-submenu__item .t-icon {
|
|
99
99
|
margin-right: var(--td-comp-margin-s);
|
|
100
100
|
}
|
|
101
|
+
.t-button.t-size-s .t-icon + .t-button__text:not(:empty) {
|
|
102
|
+
margin-left: var(--td-comp-margin-xs);
|
|
103
|
+
}
|
|
104
|
+
.t-button.t-size-s .t-button__suffix:not(:empty) {
|
|
105
|
+
margin-left: var(--td-comp-margin-xs);
|
|
106
|
+
}
|
|
101
107
|
.qd-auto-tooltip[data-v-41eb5480] {
|
|
102
108
|
width: 100%;
|
|
103
109
|
display: flex;
|
|
@@ -143,17 +149,17 @@ p {
|
|
|
143
149
|
.qd-service-table__empty[data-v-5a4b2682] {
|
|
144
150
|
padding: var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);
|
|
145
151
|
}
|
|
146
|
-
.qd-service-list[data-v-
|
|
152
|
+
.qd-service-list[data-v-0b051d29] {
|
|
147
153
|
height: 100%;
|
|
148
154
|
display: flex;
|
|
149
155
|
flex-direction: column;
|
|
150
156
|
background-color: transparent;
|
|
151
157
|
}
|
|
152
|
-
.qd-service-list[data-v-
|
|
158
|
+
.qd-service-list[data-v-0b051d29] > .t-list__load {
|
|
153
159
|
color: var(--td-text-color-secondary);
|
|
154
160
|
background-color: transparent;
|
|
155
161
|
}
|
|
156
|
-
.qd-service-list__empty[data-v-
|
|
162
|
+
.qd-service-list__empty[data-v-0b051d29] {
|
|
157
163
|
padding: var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);
|
|
158
164
|
}
|
|
159
165
|
.qd-service-select__load[data-v-b3729d31] {
|