el-plus-powerful-table
Version:
## [DOCS](https://peng-xiao-shuai.github.io/vite-vue-admin-docs/zh-CN/component_directive/component/powerful-table-doc.html)
1 lines • 5 kB
Source Map (JSON)
{"version":3,"file":"tags.mjs","sources":["../../../packages/components/src/tags.tsx"],"sourcesContent":["import { ElTag } from 'element-plus'\nimport { filterFun } from './filter'\nimport type { App } from 'vue'\nimport type {\n PowerfulTableHeaderProps,\n SFCWithInstall,\n SetDataType,\n} from '~/index'\nimport {\n isProperty,\n powerfulTableComponentProp,\n useREmit,\n} from '~/powerful-table/src/powerful-table-data'\nimport { SizeSymbol } from '~/keys'\n\nconst Tags = defineComponent({\n name: 'PTTags',\n props: {\n ...powerfulTableComponentProp,\n prop: {\n type: Object as PropType<PowerfulTableHeaderProps>,\n default: () => ({}),\n },\n },\n emits: ['return-emit', 'component-emit'],\n setup(props, { emit }) {\n const data = props.prop.data as SetDataType<'tag'>\n const size = inject(SizeSymbol)\n const { REmit, event } = useREmit<'tag'>(\n emit as (event: 'component-emit', ...args: any[]) => void,\n 'tag',\n {\n row: props.row,\n index: props.index!,\n props: props.prop,\n }\n )\n\n /* ------ 标签string转array ------ */\n const tagToArray = (val: string | [], i: number) => {\n return typeof val !== 'string'\n ? [...val].splice(0, i)\n : val.split(',').splice(0, i)\n }\n\n return () => (\n <>\n {tagToArray(props.row[props.prop.prop], data?.number || 3).map(\n (tag) => (\n <ElTag\n style={{\n marginRight: '10px',\n borderColor:\n typeof data?.color == 'function' ? 'rgba(0,0,0,0)' : 'auto',\n ...data?.style,\n }}\n size={size}\n key={tag}\n type={'primary'}\n color={\n (typeof data?.color == 'function' &&\n data?.color(props.row, tag)) ||\n ''\n }\n onClick={(evt: Event) => {\n evt.stopPropagation()\n REmit('click', {\n row: props.row,\n index: props.index,\n prop: props.prop.prop,\n evt,\n })\n event('click', evt)\n }}\n onClose={(...arg: any) => {\n REmit('close', ...arg)\n event('close', ...arg)\n }}\n {...isProperty(\n { row: props.row, index: props.index!, props: props.prop },\n data?.property\n )}\n >\n {props.prop.filters\n ? typeof props.prop.filters == 'function'\n ? props.prop.filters(props.row, props.index)\n : filterFun(tag, props.prop.filters!)\n : tag}\n </ElTag>\n )\n )}\n </>\n )\n },\n})\n\nTags.install = (app: App) => {\n app.component(Tags.name!, Tags)\n}\nexport const PTTags = Tags as SFCWithInstall<typeof Tags>\nexport default Tags\n"],"names":["Tags","defineComponent","powerfulTableComponentProp","props","emit","data","size","inject","SizeSymbol","REmit","event","useREmit","tagToArray","val","i","_createVNode","_Fragment","tag","ElTag","_mergeProps","evt","arg","isProperty","filterFun","app","PTTags"],"mappings":";;;;;AAKA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,IACA,GAAAC;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,eAAA,gBAAA;AAAA,EACA,MAAAC,GAAA;AAAA,IACA,MAAAC;AAAA,EACA,GAAA;AACA,UAAAC,IAAAF,EAAA,KAAA,MACAG,IAAAC,EAAAC,CAAA,GACA;AAAA,MACA,OAAAC;AAAA,MACA,OAAAC;AAAA,IACA,IAAAC,EAAAP,GAAA,OAAA;AAAA,MACA,KAAAD,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,IACA,CAAA,GAGAS,IAAA,CAAAC,GAAAC,MACA,OAAAD,KAAA,WAAA,CAAA,GAAAA,CAAA,EAAA,OAAA,GAAAC,CAAA,IAAAD,EAAA,MAAA,GAAA,EAAA,OAAA,GAAAC,CAAA;AAEA,WAAA,MAAAC,EAAAC,GAAA,MAAA,CAAAJ,EAAAT,EAAA,IAAAA,EAAA,KAAA,IAAA,IAAAE,KAAA,gBAAAA,EAAA,WAAA,CAAA,EAAA,IAAA,CAAAY,MAAAF,EAAAG,GAAAC,EAAA;AAAA,MACA,OAAA;AAAA,QACA,aAAA;AAAA,QACA,aAAA,QAAAd,KAAA,gBAAAA,EAAA,UAAA,aAAA,kBAAA;AAAA,QACA,GAAAA,KAAA,gBAAAA,EAAA;AAAA,MACA;AAAA,MACA,MAAAC;AAAA,MACA,KAAAW;AAAA,MACA,MAAA;AAAA,MACA,OAAA,QAAAZ,KAAA,gBAAAA,EAAA,UAAA,eAAAA,KAAA,gBAAAA,EAAA,MAAAF,EAAA,KAAAc,OAAA;AAAA,MACA,SAAA,CAAAG,MAAA;AACA,QAAAA,EAAA,gBAAA,GACAX,EAAA,SAAA;AAAA,UACA,KAAAN,EAAA;AAAA,UACA,OAAAA,EAAA;AAAA,UACA,MAAAA,EAAA,KAAA;AAAA,UACA,KAAAiB;AAAA,QACA,CAAA,GACAV,EAAA,SAAAU,CAAA;AAAA,MACA;AAAA,MACA,SAAA,IAAAC,MAAA;AACA,QAAAZ,EAAA,SAAA,GAAAY,CAAA,GACAX,EAAA,SAAA,GAAAW,CAAA;AAAA,MACA;AAAA,IACA,GAAAC,EAAA;AAAA,MACA,KAAAnB,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,IACA,GAAAE,KAAA,gBAAAA,EAAA,QAAA,CAAA,GAAA;AAAA,MACA,SAAA,MAAA,CAAAF,EAAA,KAAA,UAAA,OAAAA,EAAA,KAAA,WAAA,aAAAA,EAAA,KAAA,QAAAA,EAAA,KAAAA,EAAA,KAAA,IAAAoB,EAAAN,GAAAd,EAAA,KAAA,OAAA,IAAAc,CAAA;AAAA,IACA,CAAA,CAAA,CAAA,CAAA;AAAA,EACA;AACA,CAAA;AACAjB,EAAA,UAAA,CAAAwB,MAAA;AACA,EAAAA,EAAA,UAAAxB,EAAA,MAAAA,CAAA;AACA;AACA,MAAAyB,IAAAzB;"}