Vulture/VApp/node_modules/vuetify/lib/components/VDataTable/VDataTableRow.mjs.map

1 line
8.7 KiB
Plaintext

{"version":3,"file":"VDataTableRow.mjs","names":["VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","VDataTableColumn","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","isSelected","toggleSelect","isExpanded","toggleExpand","columns","_createVNode","value","map","column","i","slotName","key","slotProps","raw","internalItem","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","width","default","selectable"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>\n 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>\n} & { [key: `item.${string}`]: ItemKeySlot<T> }\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { isSelected, toggleSelect } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\n <VDataTableColumn\n align={ column.align }\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n width={ column.width }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(() => toggleSelect(item), ['stop']) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n return toDisplayString(slotProps.value)\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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"}