UNPKG

@vuesax-alpha/nightly

Version:
1 lines 3.42 kB
{"version":3,"file":"use-table.mjs","sources":["../../../../../../../packages/components/table/src/composables/use-table.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, onMounted, ref } from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@vuesax-alpha/constants'\nimport { isArray } from '@vuesax-alpha/utils'\nimport { useNamespace } from '@vuesax-alpha/hooks'\nimport type { TableEmitFn, TableProps } from './../table'\n\nexport const useTable = (props: TableProps, emit: TableEmitFn) => {\n const ns = useNamespace('table')\n\n const colspan = ref<number>(0)\n\n // DOM refs\n const theadRef = ref<HTMLElement>()\n\n const isMultipleSelected = computed(\n () => props.multiple && isArray(props.modelValue)\n )\n\n const tableKls = computed(() => [\n ns.b(),\n ns.is('striped', props.striped),\n ns.is('multiple', props.multiple),\n ])\n\n const selectedMultiple = (val: any) => {\n const newVal = props.modelValue\n\n if (props.modelValue.includes(val)) {\n newVal.splice(props.modelValue.indexOf(val), 1)\n } else {\n newVal.push(val)\n }\n\n emit(UPDATE_MODEL_EVENT, newVal)\n }\n\n const selected = (val: any) => {\n if (isMultipleSelected.value) {\n selectedMultiple(val)\n } else {\n emit(UPDATE_MODEL_EVENT, val)\n }\n }\n\n onMounted(() => {\n if (props.multiple) {\n if (!isArray(props.modelValue)) {\n const value = props.modelValue ? [props.modelValue] : []\n emit(UPDATE_MODEL_EVENT, [...value])\n }\n }\n const tds = theadRef.value?.querySelectorAll('th')\n colspan.value = tds?.length || 0\n })\n\n return {\n tableKls,\n colspan,\n isMultipleSelected,\n selected,\n\n theadRef,\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAOa,MAAA,QAAA,GAAW,CAAC,KAAA,EAAmB,IAAsB,KAAA;AAChE,EAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAE/B,EAAM,MAAA,OAAA,GAAU,IAAY,CAAC,CAAA,CAAA;AAG7B,EAAA,MAAM,WAAW,GAAiB,EAAA,CAAA;AAElC,EAAA,MAAM,kBAAqB,GAAA,QAAA;AAAA,IACzB,MAAM,KAAA,CAAM,QAAY,IAAA,OAAA,CAAQ,MAAM,UAAU,CAAA;AAAA,GAClD,CAAA;AAEA,EAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAAA,IAC9B,GAAG,CAAE,EAAA;AAAA,IACL,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,KAAA,CAAM,OAAO,CAAA;AAAA,IAC9B,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,GACjC,CAAA,CAAA;AAED,EAAM,MAAA,gBAAA,GAAmB,CAAC,GAAa,KAAA;AACrC,IAAA,MAAM,SAAS,KAAM,CAAA,UAAA,CAAA;AAErB,IAAA,IAAI,KAAM,CAAA,UAAA,CAAW,QAAS,CAAA,GAAG,CAAG,EAAA;AAClC,MAAA,MAAA,CAAO,OAAO,KAAM,CAAA,UAAA,CAAW,OAAQ,CAAA,GAAG,GAAG,CAAC,CAAA,CAAA;AAAA,KACzC,MAAA;AACL,MAAA,MAAA,CAAO,KAAK,GAAG,CAAA,CAAA;AAAA,KACjB;AAEA,IAAA,IAAA,CAAK,oBAAoB,MAAM,CAAA,CAAA;AAAA,GACjC,CAAA;AAEA,EAAM,MAAA,QAAA,GAAW,CAAC,GAAa,KAAA;AAC7B,IAAA,IAAI,mBAAmB,KAAO,EAAA;AAC5B,MAAA,gBAAA,CAAiB,GAAG,CAAA,CAAA;AAAA,KACf,MAAA;AACL,MAAA,IAAA,CAAK,oBAAoB,GAAG,CAAA,CAAA;AAAA,KAC9B;AAAA,GACF,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AA7ClB,IAAA,IAAA,EAAA,CAAA;AA8CI,IAAA,IAAI,MAAM,QAAU,EAAA;AAClB,MAAA,IAAI,CAAC,OAAA,CAAQ,KAAM,CAAA,UAAU,CAAG,EAAA;AAC9B,QAAA,MAAM,QAAQ,KAAM,CAAA,UAAA,GAAa,CAAC,KAAM,CAAA,UAAU,IAAI,EAAC,CAAA;AACvD,QAAA,IAAA,CAAK,kBAAoB,EAAA,CAAC,GAAG,KAAK,CAAC,CAAA,CAAA;AAAA,OACrC;AAAA,KACF;AACA,IAAA,MAAM,GAAM,GAAA,CAAA,EAAA,GAAA,QAAA,CAAS,KAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgB,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAC7C,IAAQ,OAAA,CAAA,KAAA,GAAA,CAAQ,2BAAK,MAAU,KAAA,CAAA,CAAA;AAAA,GAChC,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,OAAA;AAAA,IACA,kBAAA;AAAA,IACA,QAAA;AAAA,IAEA,QAAA;AAAA,GACF,CAAA;AACF;;;;"}