@@ -17,7 +17,7 @@ import {
1717 withMapProps ,
1818} from ' @hungpvq/vue-map-core' ;
1919import SvgIcon from ' @jamescoyle/vue-icon' ;
20- import { mdiDatabaseOutline , mdiInformation } from ' @mdi/js' ;
20+ import { mdiDatabaseOutline , mdiDelete , mdiInformation } from ' @mdi/js' ;
2121import { computed , onMounted , shallowRef , watch } from ' vue' ;
2222import type { IDataset } from ' ../../interfaces/dataset.base' ;
2323import { handleMenuActionClick } from ' ../../model/menu' ;
@@ -39,9 +39,12 @@ setLocaleDefault({
3939const path = {
4040 icon: mdiDatabaseOutline ,
4141 detail: mdiInformation ,
42+ delete: mdiDelete ,
4243};
4344const [show, toggleShow] = useShow (props .show );
44- const { getDatasets, getDatasetIds } = useMapDataset (mapId .value );
45+ const { getDatasets, getDatasetIds, removeDataset } = useMapDataset (
46+ mapId .value ,
47+ );
4548const datasetIds = computed (() => {
4649 return getDatasetIds ().value ;
4750});
@@ -82,6 +85,9 @@ function onShowDetail(view: IDataset) {
8285 view ,
8386 );
8487}
88+ function onRemove(view : IDataset ) {
89+ removeDataset (view );
90+ }
8591onMounted (() => {
8692 updateList ();
8793});
@@ -118,6 +124,10 @@ defineSlots<{
118124 <BaseButton @click .stop =" onShowDetail (view )" >
119125 <SvgIcon size="16" type="mdi" :path =" path .detail " />
120126 </BaseButton >
127+
128+ <BaseButton @click .stop =" onRemove (view )" >
129+ <SvgIcon size="16" type="mdi" :path =" path .delete " />
130+ </BaseButton >
121131 </div >
122132 </div >
123133 </slot >
0 commit comments