yuyeon 0.3.2-rc.10 → 0.3.2-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/yuyeon.js +1009 -1009
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/components/table/YDataTableBody.js +6 -17
- package/lib/components/table/YDataTableBody.js.map +1 -1
- package/lib/components/table/composables/items.js +8 -2
- package/lib/components/table/composables/items.js.map +1 -1
- package/lib/components/table/types/item.js.map +1 -1
- package/package.json +1 -1
- package/types/components/table/YDataTableBody.d.ts +1 -3
- package/types/components/table/types/item.d.ts +1 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { Fragment, mergeProps } from 'vue';
|
|
3
|
+
import { useExpand } from "./composables/expand.js";
|
|
4
|
+
import { useHeader } from "./composables/header.js";
|
|
5
|
+
import { useSelection } from "./composables/selection.js";
|
|
3
6
|
import { useRender } from "../../composables/component.js";
|
|
4
7
|
import { defineComponent, propsFactory } from "../../util/component/index.js";
|
|
5
8
|
import { YDataTableRow } from "./YDataTableRow.js";
|
|
6
|
-
import { useHeader } from "./composables/header.js";
|
|
7
|
-
import { useSelection } from "./composables/selection.js";
|
|
8
|
-
import { useExpand } from "./composables/expand.js";
|
|
9
9
|
export const pressYDataTableBodyProps = propsFactory({
|
|
10
10
|
items: {
|
|
11
11
|
type: Array,
|
|
@@ -34,10 +34,8 @@ export const YDataTableBody = defineComponent({
|
|
|
34
34
|
emits: ['click:row', 'dblclick:row', 'contextmenu:row', 'mousedown:row'],
|
|
35
35
|
setup(props, _ref) {
|
|
36
36
|
let {
|
|
37
|
-
slots
|
|
38
|
-
expose
|
|
37
|
+
slots
|
|
39
38
|
} = _ref;
|
|
40
|
-
const rowRefs = ref([]);
|
|
41
39
|
const {
|
|
42
40
|
columns
|
|
43
41
|
} = useHeader();
|
|
@@ -124,8 +122,7 @@ export const YDataTableBody = defineComponent({
|
|
|
124
122
|
};
|
|
125
123
|
return _createVNode(_Fragment, null, [slots.item ? slots.item(slotProps) : _createVNode(YDataTableRow, _mergeProps({
|
|
126
124
|
"ref": el => {
|
|
127
|
-
|
|
128
|
-
item.rowRef = el;
|
|
125
|
+
item._bindRowRef(el);
|
|
129
126
|
}
|
|
130
127
|
}, slotProps.props, {
|
|
131
128
|
"onClick": props['onClick:row'] && onClick,
|
|
@@ -136,14 +133,6 @@ export const YDataTableBody = defineComponent({
|
|
|
136
133
|
}), slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
|
|
137
134
|
})]);
|
|
138
135
|
});
|
|
139
|
-
expose({
|
|
140
|
-
rowRefs
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
// end
|
|
144
|
-
return {
|
|
145
|
-
rowRefs
|
|
146
|
-
};
|
|
147
136
|
}
|
|
148
137
|
});
|
|
149
138
|
//# sourceMappingURL=YDataTableBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDataTableBody.js","names":["mergeProps","ref","Fragment","useRender","defineComponent","propsFactory","YDataTableRow","useHeader","useSelection","useExpand","pressYDataTableBodyProps","items","type","Array","default","loading","Boolean","String","loadingText","hideNoData","noDataText","rowProps","Function","Object","rowHeight","Number","YDataTableBody","name","props","emits","setup","_ref","slots","expose","rowRefs","columns","isSelected","toggleSelect","isExpanded","toggleExpand","_createVNode","value","length","_Fragment","body","map","item","index","stateProps","raw","internalItem","onClick","event","el","onDblclick","onContextmenu","onMousedown","onKeydown","slotProps","key","_mergeProps","push","rowRef"],"sources":["../../../src/components/table/YDataTableBody.tsx"],"sourcesContent":["import { type PropType, mergeProps, ref, Fragment } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YDataTableRow } from './YDataTableRow';\nimport { useHeader } from '@/components/table/composables/header';\nimport { useSelection } from '@/components/table/composables/selection';\nimport { DataTableItem, RowProps } from './types';\nimport { useExpand } from '@/components/table/composables/expand';\n\nexport const pressYDataTableBodyProps = propsFactory(\n {\n items: {\n type: Array as PropType<readonly DataTableItem[]>,\n default: () => [],\n },\n loading: [Boolean, String],\n loadingText: String,\n hideNoData: Boolean,\n noDataText: {\n type: String,\n default: '',\n },\n rowProps: [Function, Object] as PropType<RowProps<any>>,\n rowHeight: Number,\n 'onClick:row': Function as PropType<(e: Event, value: any) => void>,\n 'onDblclick:row': Function as PropType<(e: Event, value: any) => void>,\n 'onContextmenu:row': Function as PropType<(e: Event, value: any) => void>,\n 'onMousedown:row': Function as PropType<(e: Event, value: any) => void>,\n 'onKeydown:row': Function as PropType<(e: Event, value: any) => void>,\n },\n 'YDataTableBody',\n);\n\nexport const YDataTableBody = defineComponent({\n name: 'YDataTableBody',\n props: {\n ...pressYDataTableBodyProps(),\n },\n emits: ['click:row', 'dblclick:row', 'contextmenu:row', 'mousedown:row'],\n setup(props, { slots, expose }) {\n const rowRefs = ref<any[]>([]);\n const { columns } = useHeader();\n const { isSelected, toggleSelect } = useSelection();\n const { isExpanded, toggleExpand } = useExpand();\n\n useRender(() => {\n if (props.loading) {\n return (\n <tr>\n <td colspan={columns.value.length} class={'y-data-table__loading'}>\n {slots.loading ? slots.loading() : <div>{props.loadingText}</div>}\n </td>\n </tr>\n );\n }\n if (!props.loading && props.items.length < 1 && !props.hideNoData) {\n return (\n <tr key=\"no-data\" class=\"y-data-table__no-data\">\n <td colspan={columns.value.length}>\n {slots['no-data']?.() ?? props.noDataText}\n </td>\n </tr>\n );\n }\n return (\n <>\n {slots.body\n ? slots.body?.(props)\n : props.items.map((item, index) => {\n const stateProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n };\n\n function onClick(event: Event, el: null | Element) {\n props['onClick:row']?.(event, { ...stateProps, el });\n }\n\n function onDblclick(event: Event, el: null | Element) {\n props['onDblclick:row']?.(event, { ...stateProps, el });\n }\n\n function onContextmenu(event: Event, el: null | Element) {\n props['onContextmenu:row']?.(event, {\n ...stateProps,\n el,\n });\n }\n\n function onMousedown(event: Event, el: null | Element) {\n props['onMousedown:row']?.(event, { ...stateProps, el });\n }\n\n function onKeydown(event: Event, el: null | Element) {\n props['onKeydown:row']?.(event, { ...stateProps, el });\n }\n\n const slotProps = {\n ...stateProps,\n props: mergeProps(\n {\n key: `item__${item.key ?? item.index}`,\n item,\n index,\n },\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: stateProps.item,\n index: stateProps.index,\n internalItem: stateProps.internalItem,\n })\n : props.rowProps,\n ),\n onClick,\n onContextmenu,\n onDblclick,\n onMousedown,\n onKeydown,\n };\n\n return (\n <Fragment>\n {slots.item ? (\n slots.item(slotProps)\n ) : (\n <YDataTableRow\n ref={(el) => {\n rowRefs.value.push(el);\n item.rowRef = el;\n }}\n v-slots={slots}\n {...slotProps.props}\n onClick={props['onClick:row'] && onClick}\n onContextmenu={\n props['onContextmenu:row'] && onContextmenu\n }\n onDblclick={props['onDblclick:row'] && onDblclick}\n onMousedown={props['onMousedown:row'] && onMousedown}\n onKeydown={props['onKeydown:row'] && onKeydown}\n ></YDataTableRow>\n )}\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n );\n })}\n </>\n );\n });\n\n expose({\n rowRefs,\n });\n\n // end\n return {\n rowRefs,\n };\n },\n});\n\nexport type YDataTableBody = InstanceType<typeof YDataTableBody>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YDataTableBody.js","names":["Fragment","mergeProps","useExpand","useHeader","useSelection","useRender","defineComponent","propsFactory","YDataTableRow","pressYDataTableBodyProps","items","type","Array","default","loading","Boolean","String","loadingText","hideNoData","noDataText","rowProps","Function","Object","rowHeight","Number","YDataTableBody","name","props","emits","setup","_ref","slots","columns","isSelected","toggleSelect","isExpanded","toggleExpand","_createVNode","value","length","_Fragment","body","map","item","index","stateProps","raw","internalItem","onClick","event","el","onDblclick","onContextmenu","onMousedown","onKeydown","slotProps","key","_mergeProps","_bindRowRef"],"sources":["../../../src/components/table/YDataTableBody.tsx"],"sourcesContent":["import { Fragment, type PropType, mergeProps, ref } from 'vue';\n\nimport { useExpand } from '@/components/table/composables/expand';\nimport { useHeader } from '@/components/table/composables/header';\nimport { useSelection } from '@/components/table/composables/selection';\nimport { useRender } from '@/composables/component';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YDataTableRow } from './YDataTableRow';\nimport { DataTableItem, RowProps } from './types';\n\nexport const pressYDataTableBodyProps = propsFactory(\n {\n items: {\n type: Array as PropType<readonly DataTableItem[]>,\n default: () => [],\n },\n loading: [Boolean, String],\n loadingText: String,\n hideNoData: Boolean,\n noDataText: {\n type: String,\n default: '',\n },\n rowProps: [Function, Object] as PropType<RowProps<any>>,\n rowHeight: Number,\n 'onClick:row': Function as PropType<(e: Event, value: any) => void>,\n 'onDblclick:row': Function as PropType<(e: Event, value: any) => void>,\n 'onContextmenu:row': Function as PropType<(e: Event, value: any) => void>,\n 'onMousedown:row': Function as PropType<(e: Event, value: any) => void>,\n 'onKeydown:row': Function as PropType<(e: Event, value: any) => void>,\n },\n 'YDataTableBody',\n);\n\nexport const YDataTableBody = defineComponent({\n name: 'YDataTableBody',\n props: {\n ...pressYDataTableBodyProps(),\n },\n emits: ['click:row', 'dblclick:row', 'contextmenu:row', 'mousedown:row'],\n setup(props, { slots }) {\n const { columns } = useHeader();\n const { isSelected, toggleSelect } = useSelection();\n const { isExpanded, toggleExpand } = useExpand();\n\n useRender(() => {\n if (props.loading) {\n return (\n <tr>\n <td colspan={columns.value.length} class={'y-data-table__loading'}>\n {slots.loading ? slots.loading() : <div>{props.loadingText}</div>}\n </td>\n </tr>\n );\n }\n if (!props.loading && props.items.length < 1 && !props.hideNoData) {\n return (\n <tr key=\"no-data\" class=\"y-data-table__no-data\">\n <td colspan={columns.value.length}>\n {slots['no-data']?.() ?? props.noDataText}\n </td>\n </tr>\n );\n }\n return (\n <>\n {slots.body\n ? slots.body?.(props)\n : props.items.map((item, index) => {\n const stateProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n };\n\n function onClick(event: Event, el: null | Element) {\n props['onClick:row']?.(event, { ...stateProps, el });\n }\n\n function onDblclick(event: Event, el: null | Element) {\n props['onDblclick:row']?.(event, { ...stateProps, el });\n }\n\n function onContextmenu(event: Event, el: null | Element) {\n props['onContextmenu:row']?.(event, {\n ...stateProps,\n el,\n });\n }\n\n function onMousedown(event: Event, el: null | Element) {\n props['onMousedown:row']?.(event, { ...stateProps, el });\n }\n\n function onKeydown(event: Event, el: null | Element) {\n props['onKeydown:row']?.(event, { ...stateProps, el });\n }\n\n const slotProps = {\n ...stateProps,\n props: mergeProps(\n {\n key: `item__${item.key ?? item.index}`,\n item,\n index,\n },\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: stateProps.item,\n index: stateProps.index,\n internalItem: stateProps.internalItem,\n })\n : props.rowProps,\n ),\n onClick,\n onContextmenu,\n onDblclick,\n onMousedown,\n onKeydown,\n };\n\n return (\n <Fragment>\n {slots.item ? (\n slots.item(slotProps)\n ) : (\n <YDataTableRow\n ref={(el) => {\n item._bindRowRef(el);\n }}\n v-slots={slots}\n {...slotProps.props}\n onClick={props['onClick:row'] && onClick}\n onContextmenu={\n props['onContextmenu:row'] && onContextmenu\n }\n onDblclick={props['onDblclick:row'] && onDblclick}\n onMousedown={props['onMousedown:row'] && onMousedown}\n onKeydown={props['onKeydown:row'] && onKeydown}\n ></YDataTableRow>\n )}\n {isExpanded(item) && slots['expanded-row']?.(slotProps)}\n </Fragment>\n );\n })}\n </>\n );\n });\n },\n});\n\nexport type YDataTableBody = InstanceType<typeof YDataTableBody>;\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed } from 'vue';
|
|
1
|
+
import { computed, ref } from 'vue';
|
|
2
2
|
import { getPropertyFromItem } from "../../../util/common.js";
|
|
3
3
|
import { propsFactory } from "../../../util/component/index.js";
|
|
4
4
|
export const pressDataTableItemsProps = propsFactory({
|
|
@@ -17,6 +17,7 @@ export const pressDataTableItemsProps = propsFactory({
|
|
|
17
17
|
returnItem: Boolean
|
|
18
18
|
}, 'YDataTable--items');
|
|
19
19
|
export function updateItem(props, item, index, columns) {
|
|
20
|
+
const rowRef = ref(null);
|
|
20
21
|
const key = getPropertyFromItem(item, props.itemKey);
|
|
21
22
|
const value = props.returnItem ? item : key;
|
|
22
23
|
let selectable;
|
|
@@ -29,13 +30,18 @@ export function updateItem(props, item, index, columns) {
|
|
|
29
30
|
acc[column.key] = getPropertyFromItem(item, column.value ?? column.key);
|
|
30
31
|
return acc;
|
|
31
32
|
}, {});
|
|
33
|
+
function _bindRowRef(el) {
|
|
34
|
+
rowRef.value = el;
|
|
35
|
+
}
|
|
32
36
|
return {
|
|
33
37
|
index,
|
|
34
38
|
key,
|
|
35
39
|
value,
|
|
36
40
|
selectable,
|
|
37
41
|
columns: itemColumns,
|
|
38
|
-
raw: item
|
|
42
|
+
raw: item,
|
|
43
|
+
rowRef,
|
|
44
|
+
_bindRowRef
|
|
39
45
|
};
|
|
40
46
|
}
|
|
41
47
|
export function updateItems(props, items, columns) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.js","names":["computed","getPropertyFromItem","propsFactory","pressDataTableItemsProps","items","type","Array","default","itemKey","String","Function","itemSelectable","returnItem","Boolean","updateItem","props","item","index","columns","key","value","selectable","itemColumns","reduce","acc","column","raw","updateItems","map","useItems"],"sources":["../../../../src/components/table/composables/items.ts"],"sourcesContent":["import { type PropType, type Ref, computed } from 'vue';\r\n\r\nimport { getPropertyFromItem } from '@/util/common';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { DataTableItem, InternalDataTableHeader } from '../types';\r\n\r\nexport type DataTableItemsProps = {\r\n items: any[];\r\n itemKey: any;\r\n itemSelectable: any;\r\n returnItem: boolean;\r\n};\r\n\r\nexport const pressDataTableItemsProps = propsFactory(\r\n {\r\n items: {\r\n type: Array as PropType<DataTableItemsProps['items']>,\r\n default: () => [],\r\n },\r\n itemKey: {\r\n type: [String, Array, Function] as PropType<any>,\r\n default: 'id',\r\n },\r\n itemSelectable: {\r\n type: [String, Array, Function] as PropType<any>,\r\n default: null,\r\n },\r\n returnItem: Boolean,\r\n },\r\n 'YDataTable--items',\r\n);\r\n\r\nexport function updateItem(\r\n props: Omit<DataTableItemsProps, 'items'>,\r\n item: any,\r\n index: number,\r\n columns: InternalDataTableHeader[],\r\n): DataTableItem {\r\n const key = getPropertyFromItem(item, props.itemKey);\r\n const value = props.returnItem ? item : key;\r\n let selectable;\r\n if (typeof props.itemSelectable === 'function') {\r\n selectable = !!props.itemSelectable(item);\r\n } else {\r\n selectable = getPropertyFromItem(item, props.itemSelectable, true);\r\n }\r\n\r\n const itemColumns = columns.reduce(\r\n (acc, column) => {\r\n acc[column.key] = getPropertyFromItem(item, column.value ?? column.key);\r\n return acc;\r\n },\r\n {} as Record<string, unknown>,\r\n );\r\n\r\n return {\r\n index,\r\n key,\r\n value,\r\n selectable,\r\n columns: itemColumns,\r\n raw: item,\r\n };\r\n}\r\n\r\nexport function updateItems(\r\n props: Omit<DataTableItemsProps, 'items'>,\r\n items: DataTableItemsProps['items'],\r\n columns: InternalDataTableHeader[],\r\n): DataTableItem[] {\r\n return items.map((item, index) => updateItem(props, item, index, columns));\r\n}\r\n\r\nexport function useItems(\r\n props: DataTableItemsProps,\r\n columns: Ref<InternalDataTableHeader[]>,\r\n) {\r\n const items = computed(() => {\r\n return updateItems(props, props.items, columns.value);\r\n });\r\n return { items };\r\n}\r\n"],"mappings":"AAAA,SAAkCA,QAAQ,QAAQ,KAAK;AAAC,
|
|
1
|
+
{"version":3,"file":"items.js","names":["computed","ref","getPropertyFromItem","propsFactory","pressDataTableItemsProps","items","type","Array","default","itemKey","String","Function","itemSelectable","returnItem","Boolean","updateItem","props","item","index","columns","rowRef","key","value","selectable","itemColumns","reduce","acc","column","_bindRowRef","el","raw","updateItems","map","useItems"],"sources":["../../../../src/components/table/composables/items.ts"],"sourcesContent":["import { type PropType, type Ref, computed, ref } from 'vue';\r\n\r\nimport { getPropertyFromItem } from '@/util/common';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { DataTableItem, InternalDataTableHeader } from '../types';\r\n\r\nexport type DataTableItemsProps = {\r\n items: any[];\r\n itemKey: any;\r\n itemSelectable: any;\r\n returnItem: boolean;\r\n};\r\n\r\nexport const pressDataTableItemsProps = propsFactory(\r\n {\r\n items: {\r\n type: Array as PropType<DataTableItemsProps['items']>,\r\n default: () => [],\r\n },\r\n itemKey: {\r\n type: [String, Array, Function] as PropType<any>,\r\n default: 'id',\r\n },\r\n itemSelectable: {\r\n type: [String, Array, Function] as PropType<any>,\r\n default: null,\r\n },\r\n returnItem: Boolean,\r\n },\r\n 'YDataTable--items',\r\n);\r\n\r\nexport function updateItem(\r\n props: Omit<DataTableItemsProps, 'items'>,\r\n item: any,\r\n index: number,\r\n columns: InternalDataTableHeader[],\r\n): DataTableItem {\r\n const rowRef = ref<any | null>(null);\r\n const key = getPropertyFromItem(item, props.itemKey);\r\n const value = props.returnItem ? item : key;\r\n let selectable;\r\n if (typeof props.itemSelectable === 'function') {\r\n selectable = !!props.itemSelectable(item);\r\n } else {\r\n selectable = getPropertyFromItem(item, props.itemSelectable, true);\r\n }\r\n\r\n const itemColumns = columns.reduce(\r\n (acc, column) => {\r\n acc[column.key] = getPropertyFromItem(item, column.value ?? column.key);\r\n return acc;\r\n },\r\n {} as Record<string, unknown>,\r\n );\r\n\r\n function _bindRowRef(el: any | null) {\r\n rowRef.value = el;\r\n }\r\n\r\n return {\r\n index,\r\n key,\r\n value,\r\n selectable,\r\n columns: itemColumns,\r\n raw: item,\r\n rowRef,\r\n _bindRowRef,\r\n };\r\n}\r\n\r\nexport function updateItems(\r\n props: Omit<DataTableItemsProps, 'items'>,\r\n items: DataTableItemsProps['items'],\r\n columns: InternalDataTableHeader[],\r\n): DataTableItem[] {\r\n return items.map((item, index) => updateItem(props, item, index, columns));\r\n}\r\n\r\nexport function useItems(\r\n props: DataTableItemsProps,\r\n columns: Ref<InternalDataTableHeader[]>,\r\n) {\r\n const items = computed(() => {\r\n return updateItems(props, props.items, columns.value);\r\n });\r\n return { items };\r\n}\r\n"],"mappings":"AAAA,SAAkCA,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AAAC,SAEpDC,mBAAmB;AAAA,SACnBC,YAAY;AAWrB,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,KAAK,EAAE;IACLC,IAAI,EAAEC,KAA+C;IACrDC,OAAO,EAAEA,CAAA,KAAM;EACjB,CAAC;EACDC,OAAO,EAAE;IACPH,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAAkB;IAChDH,OAAO,EAAE;EACX,CAAC;EACDI,cAAc,EAAE;IACdN,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAAkB;IAChDH,OAAO,EAAE;EACX,CAAC;EACDK,UAAU,EAAEC;AACd,CAAC,EACD,mBACF,CAAC;AAED,OAAO,SAASC,UAAUA,CACxBC,KAAyC,EACzCC,IAAS,EACTC,KAAa,EACbC,OAAkC,EACnB;EACf,MAAMC,MAAM,GAAGnB,GAAG,CAAa,IAAI,CAAC;EACpC,MAAMoB,GAAG,GAAGnB,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACP,OAAO,CAAC;EACpD,MAAMa,KAAK,GAAGN,KAAK,CAACH,UAAU,GAAGI,IAAI,GAAGI,GAAG;EAC3C,IAAIE,UAAU;EACd,IAAI,OAAOP,KAAK,CAACJ,cAAc,KAAK,UAAU,EAAE;IAC9CW,UAAU,GAAG,CAAC,CAACP,KAAK,CAACJ,cAAc,CAACK,IAAI,CAAC;EAC3C,CAAC,MAAM;IACLM,UAAU,GAAGrB,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACJ,cAAc,EAAE,IAAI,CAAC;EACpE;EAEA,MAAMY,WAAW,GAAGL,OAAO,CAACM,MAAM,CAChC,CAACC,GAAG,EAAEC,MAAM,KAAK;IACfD,GAAG,CAACC,MAAM,CAACN,GAAG,CAAC,GAAGnB,mBAAmB,CAACe,IAAI,EAAEU,MAAM,CAACL,KAAK,IAAIK,MAAM,CAACN,GAAG,CAAC;IACvE,OAAOK,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EAED,SAASE,WAAWA,CAACC,EAAc,EAAE;IACnCT,MAAM,CAACE,KAAK,GAAGO,EAAE;EACnB;EAEA,OAAO;IACLX,KAAK;IACLG,GAAG;IACHC,KAAK;IACLC,UAAU;IACVJ,OAAO,EAAEK,WAAW;IACpBM,GAAG,EAAEb,IAAI;IACTG,MAAM;IACNQ;EACF,CAAC;AACH;AAEA,OAAO,SAASG,WAAWA,CACzBf,KAAyC,EACzCX,KAAmC,EACnCc,OAAkC,EACjB;EACjB,OAAOd,KAAK,CAAC2B,GAAG,CAAC,CAACf,IAAI,EAAEC,KAAK,KAAKH,UAAU,CAACC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,OAAO,CAAC,CAAC;AAC5E;AAEA,OAAO,SAASc,QAAQA,CACtBjB,KAA0B,EAC1BG,OAAuC,EACvC;EACA,MAAMd,KAAK,GAAGL,QAAQ,CAAC,MAAM;IAC3B,OAAO+B,WAAW,CAACf,KAAK,EAAEA,KAAK,CAACX,KAAK,EAAEc,OAAO,CAACG,KAAK,CAAC;EACvD,CAAC,CAAC;EACF,OAAO;IAAEjB;EAAM,CAAC;AAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","names":[],"sources":["../../../../src/components/table/types/item.ts"],"sourcesContent":["import { SelectableItem, provideSelection } from '@/components/table/composables/selection';\nimport { InternalDataTableHeader } from './header';\n\ntype ItemSlotBase<T> = {\n index: number;\n item: T;\n internalItem: DataTableItem<T>;\n selected: boolean;\n isSelected: ReturnType<typeof provideSelection>['isSelected'];\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect'];\n};\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any;\n column: InternalDataTableHeader;\n};\n\nexport interface DataTableItem<T = any> extends SelectableItem {\n index: number;\n columns: Record<string, any>;\n raw: T;\n rowRef?: any\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"item.js","names":[],"sources":["../../../../src/components/table/types/item.ts"],"sourcesContent":["import { SelectableItem, provideSelection } from '@/components/table/composables/selection';\nimport { InternalDataTableHeader } from './header';\n\ntype ItemSlotBase<T> = {\n index: number;\n item: T;\n internalItem: DataTableItem<T>;\n selected: boolean;\n isSelected: ReturnType<typeof provideSelection>['isSelected'];\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect'];\n};\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any;\n column: InternalDataTableHeader;\n};\n\nexport interface DataTableItem<T = any> extends SelectableItem {\n index: number;\n columns: Record<string, any>;\n raw: T;\n rowRef?: any\n readonly _bindRowRef: (el: any | null) => void;\n}\n"],"mappings":""}
|
package/package.json
CHANGED
|
@@ -95,7 +95,5 @@ export declare const YDataTableBody: import('vue').DefineComponent<{
|
|
|
95
95
|
'onContextmenu:row': PropType<(e: Event, value: any) => void>;
|
|
96
96
|
'onMousedown:row': PropType<(e: Event, value: any) => void>;
|
|
97
97
|
'onKeydown:row': PropType<(e: Event, value: any) => void>;
|
|
98
|
-
}, {
|
|
99
|
-
rowRefs: import('vue').Ref<any[], any[]>;
|
|
100
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("click:row" | "dblclick:row" | "contextmenu:row" | "mousedown:row")[], "click:row" | "dblclick:row" | "contextmenu:row" | "mousedown:row">;
|
|
98
|
+
}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("click:row" | "dblclick:row" | "contextmenu:row" | "mousedown:row")[], "click:row" | "dblclick:row" | "contextmenu:row" | "mousedown:row">;
|
|
101
99
|
export type YDataTableBody = InstanceType<typeof YDataTableBody>;
|