UNPKG

@antdv/pro-list

Version:

@antdv/pro-list

240 lines (239 loc) 7.16 kB
var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __objRest = (source, exclude) => { var target = {}; for (var prop in source) if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop]; if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)) { if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop]; } return target; }; import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue"; import { ProConfigProvider } from "@antdv/pro-provider"; import ProTable, { proTableProps } from "@antdv/pro-table"; import { classNames, funcType, objectType, omit, oneOfType, stringType } from "@antdv/pro-utils"; import { listProps } from "ant-design-vue/es/list"; import { useConfigContextInject } from "ant-design-vue/lib/config-provider/context"; import { computed, defineComponent, ref } from "vue"; import ListView from "./ListView.mjs"; import { useStyle } from "./style/index.mjs"; function proListProps() { return __spreadProps(__spreadValues(__spreadValues({}, omit(proTableProps(), ["size", "footer"])), omit(listProps(), ["rowKey"])), { tooltip: oneOfType([Object, String]), metas: objectType(), showActions: stringType(), showExtra: stringType(), onRow: funcType(), onItem: funcType(), itemCardProps: objectType(), rowClassName: oneOfType([String, Function]), itemHeaderRender: oneOfType([Function, Boolean]).def(void 0), itemTitleRender: oneOfType([Function, Boolean]).def(void 0) }); } const NoProVideProList = defineComponent({ name: "NoProVideProList", props: proListProps(), inheritAttrs: false, setup(props, { expose, attrs }) { const actionRef = ref(); const { getPrefixCls } = useConfigContextInject(); const prefixCls = computed(() => getPrefixCls("pro-list", props.prefixCls)); const { wrapSSR, hashId } = useStyle(prefixCls); const proTableColumns = computed(() => { const columns = []; Object.keys(props.metas || {}).forEach((key) => { const meta = props.metas[key] || {}; let { valueType } = meta; if (!valueType) { if (key === "avatar") { valueType = "avatar"; } if (key === "actions") { valueType = "option"; } if (key === "description") { valueType = "textarea"; } } columns.push(__spreadProps(__spreadValues({ listKey: key, dataIndex: (meta == null ? void 0 : meta.dataIndex) || key }, meta), { valueType })); }); return columns; }); expose(actionRef.value); return () => { const _a = props, { metas: metals, split, footer, rowKey, tooltip, options = false, search = false, expandable, showActions, showExtra, rowSelection: propRowSelection = false, pagination: propsPagination = false, itemLayout, renderItem, grid, itemCardProps, onRow, onItem, rowClassName, locale, itemHeaderRender, itemTitleRender } = _a, rest = __objRest(_a, [ "metas", "split", "footer", "rowKey", "tooltip", "options", "search", "expandable", "showActions", "showExtra", "rowSelection", "pagination", "itemLayout", "renderItem", "grid", "itemCardProps", "onRow", "onItem", "rowClassName", "locale", "itemHeaderRender", "itemTitleRender" ]); const listClassName = classNames(prefixCls.value, hashId.value, { [`${prefixCls.value}-no-split`]: !split }); return wrapSSR(_createVNode(ProTable, _mergeProps({ "tooltip": tooltip }, rest, { "actionRef": actionRef, "pagination": propsPagination, "type": "list", "rowSelection": propRowSelection, "search": search, "options": options, "className": classNames(prefixCls.value, attrs.class || "", listClassName), "columns": proTableColumns.value, "rowKey": rowKey, "tableViewRender": ({ columns, size, pagination, rowSelection, dataSource, loading }) => { return _createVNode(ListView, { "grid": grid, "itemCardProps": itemCardProps, "itemTitleRender": itemTitleRender, "prefixCls": props.prefixCls, "columns": columns, "renderItem": renderItem, "dataSource": dataSource || [], "size": size, "footer": footer, "split": split, "rowKey": rowKey, "expandable": expandable, "rowSelection": propRowSelection === false ? void 0 : rowSelection, "showActions": showActions, "showExtra": showExtra, "pagination": pagination, "itemLayout": itemLayout, "loading": loading, "itemHeaderRender": itemHeaderRender, "onRow": onRow, "onItem": onItem, "rowClassName": rowClassName, "locale": locale }, null); } }), null)); }; } }); const BaseProList = defineComponent({ name: "BaseProList", props: proListProps(), setup(props) { return () => { return _createVNode(ProConfigProvider, { "needDeps": true }, { default: () => [_createVNode(NoProVideProList, _mergeProps({ "cardProps": false, "search": false, "toolBarRender": false }, props), null)] }); }; } }); const ProList = defineComponent({ name: "ProList", props: proListProps(), setup(props, { slots }) { return () => { return _createVNode(ProConfigProvider, { "needDeps": true }, { default: () => [_createVNode(NoProVideProList, props, slots)] }); }; } }); var stdin_default = ProList; export { BaseProList, ProList, stdin_default as default, proListProps };