ivue-material-plus
Version:
A high quality UI components Library with Vue.js
1 lines • 2.97 kB
Source Map (JSON)
{"version":3,"file":"colgroup.mjs","sources":["../../../../../src/components/ivue-table/colgroup.ts"],"sourcesContent":["import { h, defineComponent } from 'vue';\r\n\r\nimport { TableColumnCtx } from './table-column/defaults';\r\n\r\ntype Props = {\r\n columns: TableColumnCtx[];\r\n tableLayout?: string;\r\n};\r\n\r\nexport default defineComponent({\r\n props: {\r\n /**\r\n * 列数据\r\n *\r\n * @type {Array}\r\n */\r\n columns: {\r\n type: Array,\r\n default: () => [],\r\n },\r\n /**\r\n * 设置表格单元、行和列的布局方式\r\n *\r\n * @type {String}\r\n */\r\n tableLayout: {\r\n type: String,\r\n },\r\n },\r\n methods: {\r\n // 渲染col\r\n renderCol(column: TableColumnCtx) {\r\n // 是否是自动表格布局\r\n const isAuto = this.tableLayout === 'auto';\r\n\r\n const obj = {\r\n key: `${this.tableLayout}-${column.id}`,\r\n style: {},\r\n name: undefined,\r\n };\r\n\r\n // auto\r\n if (isAuto) {\r\n obj.style = {\r\n width: `${column.width}px`,\r\n };\r\n }\r\n // fixed\r\n else {\r\n obj.name = column.id;\r\n }\r\n\r\n return h('col', obj);\r\n },\r\n },\r\n render(props: Props) {\r\n // 是否是自动表格布局\r\n const isAuto = props.tableLayout === 'auto';\r\n\r\n // 列数量\r\n let columns = props.columns || [];\r\n\r\n // auto\r\n if (isAuto) {\r\n if (columns.every((column) => column.width === undefined)) {\r\n columns = [];\r\n }\r\n }\r\n\r\n return h(\r\n 'colgroup',\r\n {},\r\n columns.map((column) => this.renderCol(column))\r\n );\r\n },\r\n});\r\n"],"names":[],"mappings":";;AASA,mBAAe,eAAgB,CAAA;AAAA,EAC7B,KAAO,EAAA;AAAA,IAML,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,IAMA,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,MAAA;AAAA,KACR;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IAEP,UAAU,MAAwB,EAAA;AAEhC,MAAM,MAAA,MAAA,GAAS,KAAK,WAAgB,KAAA,MAAA,CAAA;AAEpC,MAAA,MAAM,GAAM,GAAA;AAAA,QACV,GAAK,EAAA,CAAA,EAAG,IAAK,CAAA,WAAA,CAAA,CAAA,EAAe,MAAO,CAAA,EAAA,CAAA,CAAA;AAAA,QACnC,OAAO,EAAC;AAAA,QACR,IAAM,EAAA,KAAA,CAAA;AAAA,OACR,CAAA;AAGA,MAAA,IAAI,MAAQ,EAAA;AACV,QAAA,GAAA,CAAI,KAAQ,GAAA;AAAA,UACV,KAAA,EAAO,GAAG,MAAO,CAAA,KAAA,CAAA,EAAA,CAAA;AAAA,SACnB,CAAA;AAAA,OAGG,MAAA;AACH,QAAA,GAAA,CAAI,OAAO,MAAO,CAAA,EAAA,CAAA;AAAA,OACpB;AAEA,MAAO,OAAA,CAAA,CAAE,OAAO,GAAG,CAAA,CAAA;AAAA,KACrB;AAAA,GACF;AAAA,EACA,OAAO,KAAc,EAAA;AAEnB,IAAM,MAAA,MAAA,GAAS,MAAM,WAAgB,KAAA,MAAA,CAAA;AAGrC,IAAI,IAAA,OAAA,GAAU,KAAM,CAAA,OAAA,IAAW,EAAC,CAAA;AAGhC,IAAA,IAAI,MAAQ,EAAA;AACV,MAAA,IAAI,QAAQ,KAAM,CAAA,CAAC,WAAW,MAAO,CAAA,KAAA,KAAU,MAAS,CAAG,EAAA;AACzD,QAAA,OAAA,GAAU,EAAC,CAAA;AAAA,OACb;AAAA,KACF;AAEA,IAAO,OAAA,CAAA;AAAA,MACL,UAAA;AAAA,MACA,EAAC;AAAA,MACD,QAAQ,GAAI,CAAA,CAAC,WAAW,IAAK,CAAA,SAAA,CAAU,MAAM,CAAC,CAAA;AAAA,KAChD,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}