UNPKG

@antdv/pro-list

Version:

@antdv/pro-list

267 lines (266 loc) 9.18 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __getProtoOf = Object.getPrototypeOf; 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; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var stdin_exports = {}; __export(stdin_exports, { BaseProList: () => BaseProList, ProList: () => ProList, default: () => stdin_default, proListProps: () => proListProps }); module.exports = __toCommonJS(stdin_exports); var import_vue = require("vue"); var import_pro_provider = require("@antdv/pro-provider"); var import_pro_table = __toESM(require("@antdv/pro-table")); var import_pro_utils = require("@antdv/pro-utils"); var import_list = require("ant-design-vue/es/list"); var import_context = require("ant-design-vue/lib/config-provider/context"); var import_vue2 = require("vue"); var import_ListView = __toESM(require("./ListView")); var import_style = require("./style/index"); function proListProps() { return __spreadProps(__spreadValues(__spreadValues({}, (0, import_pro_utils.omit)((0, import_pro_table.proTableProps)(), ["size", "footer"])), (0, import_pro_utils.omit)((0, import_list.listProps)(), ["rowKey"])), { tooltip: (0, import_pro_utils.oneOfType)([Object, String]), metas: (0, import_pro_utils.objectType)(), showActions: (0, import_pro_utils.stringType)(), showExtra: (0, import_pro_utils.stringType)(), onRow: (0, import_pro_utils.funcType)(), onItem: (0, import_pro_utils.funcType)(), itemCardProps: (0, import_pro_utils.objectType)(), rowClassName: (0, import_pro_utils.oneOfType)([String, Function]), itemHeaderRender: (0, import_pro_utils.oneOfType)([Function, Boolean]).def(void 0), itemTitleRender: (0, import_pro_utils.oneOfType)([Function, Boolean]).def(void 0) }); } const NoProVideProList = (0, import_vue2.defineComponent)({ name: "NoProVideProList", props: proListProps(), inheritAttrs: false, setup(props, { expose, attrs }) { const actionRef = (0, import_vue2.ref)(); const { getPrefixCls } = (0, import_context.useConfigContextInject)(); const prefixCls = (0, import_vue2.computed)(() => getPrefixCls("pro-list", props.prefixCls)); const { wrapSSR, hashId } = (0, import_style.useStyle)(prefixCls); const proTableColumns = (0, import_vue2.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 = (0, import_pro_utils.classNames)(prefixCls.value, hashId.value, { [`${prefixCls.value}-no-split`]: !split }); return wrapSSR((0, import_vue.createVNode)(import_pro_table.default, (0, import_vue.mergeProps)({ "tooltip": tooltip }, rest, { "actionRef": actionRef, "pagination": propsPagination, "type": "list", "rowSelection": propRowSelection, "search": search, "options": options, "className": (0, import_pro_utils.classNames)(prefixCls.value, attrs.class || "", listClassName), "columns": proTableColumns.value, "rowKey": rowKey, "tableViewRender": ({ columns, size, pagination, rowSelection, dataSource, loading }) => { return (0, import_vue.createVNode)(import_ListView.default, { "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 = (0, import_vue2.defineComponent)({ name: "BaseProList", props: proListProps(), setup(props) { return () => { return (0, import_vue.createVNode)(import_pro_provider.ProConfigProvider, { "needDeps": true }, { default: () => [(0, import_vue.createVNode)(NoProVideProList, (0, import_vue.mergeProps)({ "cardProps": false, "search": false, "toolBarRender": false }, props), null)] }); }; } }); const ProList = (0, import_vue2.defineComponent)({ name: "ProList", props: proListProps(), setup(props, { slots }) { return () => { return (0, import_vue.createVNode)(import_pro_provider.ProConfigProvider, { "needDeps": true }, { default: () => [(0, import_vue.createVNode)(NoProVideProList, props, slots)] }); }; } }); var stdin_default = ProList;