@@ -241,20 +241,17 @@ import {
241241} from ' ./composables/helpers' ;
242242import {
243243 Column ,
244+ DataTableItem ,
244245 DrilldownEvent ,
245246 LoadedDrilldown ,
246- SearchProps ,
247247 SearchPropCols ,
248+ SearchProps ,
248249 SortItem ,
249250} from ' @/types/types' ;
250251import {
251252 HeadersSlot ,
252253 TfootSlot ,
253254} from ' ./slots' ;
254- import {
255- DataTableItem ,
256- } from ' vuetify/dist/vuetify-labs.esm' ;
257-
258255
259256
260257// -------------------------------------------------- Emits & Slots & Injects //
@@ -305,8 +302,7 @@ const loadedDrilldown = ref<LoadedDrilldown>({
305302 customFilter : () => { }, // ? Needs Testing
306303 customKeyFilter: [], // ? Needs Testing
307304 debounceDelay: 750 , // * Custom Prop
308- // dense: false, // ? Missing in Docs, but is in code base
309- density: ' comfortable' , // * Works - Missing in Docs
305+ density: ' comfortable' , // * Works
310306 drilldownKey: ' ' , // * Custom Prop
311307 elevation: 1 , // * Custom Prop
312308 expandOnClick: false , // * Works
@@ -330,6 +326,8 @@ const loadedDrilldown = ref<LoadedDrilldown>({
330326 items: [], // * Works
331327 itemsLength: 0 ,
332328 itemsPerPage: 10 , // * Works
329+ level: 0 ,
330+ levels: 0 ,
333331 // ! Not working yet `loading` & `loadingText`: https://github.com/vuetifyjs/vuetify/issues/16811 //
334332 // loading: false,
335333 // loadingText: 'Loading...',
@@ -373,7 +371,7 @@ const slots = useSlots();
373371
374372// -------------------------------------------------- Watch //
375373watch (props , useDrilldownDebounce (() => {
376- if (props .level !== 0 || typeof loadedDrilldown .value .level === ' undefined ' ) {
374+ if (props .level !== 0 || loadedDrilldown .value .level === 0 ) {
377375 setLoadedDrilldown ();
378376 }
379377}, props .debounceDelay , props .level === 0 ), { deep: true });
@@ -441,41 +439,37 @@ const searchFieldClasses = computed<object>(() => {
441439
442440// -------------------------------------------------- Methods #
443441function setLoadedDrilldown(): void {
444- // console.log('----------------------------- setLoadedDrilldown', props.level);
445-
446442 if (props .drilldown ) {
447- loadedDrilldown .value = useMergeDeep (loadedDrilldown .value , props .drilldown );
443+ loadedDrilldown .value = useMergeDeep (loadedDrilldown .value , props .drilldown ) as LoadedDrilldown ;
448444
449- const drilldownItem = loadedDrilldown .value .items .find ((item ) => {
450- return item [ loadedDrilldown . value . drilldownKey ] === props . item . raw [loadedDrilldown .value .drilldownKey ];
451- }) ;
445+ const drilldownItem = loadedDrilldown .value .items .find (< T , K extends keyof T > (item : T ) => {
446+ const thisItem = item [loadedDrilldown .value .drilldownKey as K ];
447+ const propsItem = props . item . raw [ loadedDrilldown . value . drilldownKey ] ;
452448
453- // console.log({ drilldownItem });
449+ return thisItem === propsItem ;
450+ }) as LoadedDrilldown ;
454451
455452 loadedDrilldown .value = useMergeDeep (
456453 loadedDrilldown .value ,
457- drilldownItem [loadedDrilldown .value .itemChildrenKey ],
458- );
454+ drilldownItem [loadedDrilldown .value .itemChildrenKey as keyof LoadedDrilldown ],
455+ ) as LoadedDrilldown ;
459456
460457 // Hide expand icon if this is the last drilldown level //
461458 if (props .levels === props .level ) {
462459 loadedDrilldown .value .showExpand = false ;
463460 }
464461
465- // console.log('loadedDrilldown', loadedDrilldown.value);
466-
467462 return ;
468463 }
469464
470- loadedDrilldown .value = useMergeDeep (loadedDrilldown .value , props );
465+ loadedDrilldown .value = useMergeDeep (loadedDrilldown .value , props ) as LoadedDrilldown ;
471466}
472467
473468function renderCellItem(item : DataTableItem , column : Column , index : number ): unknown {
474469 return useRenderCellItem (item .raw , column , index );
475470}
476471
477472
478-
479473// ------------------------- Table Events //
480474function drilldownEvent(data : DrilldownEvent ): void {
481475 // console.log('1 ---------------------------------------- drilldownEvent', { data });
0 commit comments