UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 2.28 kB
{"version":3,"file":"options.mjs","names":["computed","watch","deepEqual","getCurrentInstance","useOptions","page","itemsPerPage","sortBy","groupBy","vm","options","value","deep","oldOptions","emit","immediate"],"sources":["../../../../src/labs/VDataTable/composables/options.ts"],"sourcesContent":["// Utilities\nimport { computed, watch } from 'vue'\nimport { deepEqual, getCurrentInstance } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { SortItem } from './sort'\n\nexport function useOptions ({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n}: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n sortBy: Ref<readonly SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n}) {\n const vm = getCurrentInstance('VDataTable')\n\n const options = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n groupBy: groupBy.value,\n }))\n\n // Reset page when sorting changes\n watch(sortBy, () => {\n page.value = 1\n }, { deep: true })\n\n // Reset page when items-per-page changes\n watch(itemsPerPage, () => {\n page.value = 1\n })\n\n let oldOptions: unknown = null\n watch(options, () => {\n if (deepEqual(oldOptions, options.value)) return\n vm.emit('update:options', options.value)\n oldOptions = options.value\n }, { deep: true, immediate: true })\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,SAAS,EAAEC,kBAAkB,mCAEtC;AAIA,OAAO,SAASC,UAAU,OAUvB;EAAA,IAVyB;IAC1BC,IAAI;IACJC,YAAY;IACZC,MAAM;IACNC;EAMF,CAAC;EACC,MAAMC,EAAE,GAAGN,kBAAkB,CAAC,YAAY,CAAC;EAE3C,MAAMO,OAAO,GAAGV,QAAQ,CAAC,OAAO;IAC9BK,IAAI,EAAEA,IAAI,CAACM,KAAK;IAChBL,YAAY,EAAEA,YAAY,CAACK,KAAK;IAChCJ,MAAM,EAAEA,MAAM,CAACI,KAAK;IACpBH,OAAO,EAAEA,OAAO,CAACG;EACnB,CAAC,CAAC,CAAC;;EAEH;EACAV,KAAK,CAACM,MAAM,EAAE,MAAM;IAClBF,IAAI,CAACM,KAAK,GAAG,CAAC;EAChB,CAAC,EAAE;IAAEC,IAAI,EAAE;EAAK,CAAC,CAAC;;EAElB;EACAX,KAAK,CAACK,YAAY,EAAE,MAAM;IACxBD,IAAI,CAACM,KAAK,GAAG,CAAC;EAChB,CAAC,CAAC;EAEF,IAAIE,UAAmB,GAAG,IAAI;EAC9BZ,KAAK,CAACS,OAAO,EAAE,MAAM;IACnB,IAAIR,SAAS,CAACW,UAAU,EAAEH,OAAO,CAACC,KAAK,CAAC,EAAE;IAC1CF,EAAE,CAACK,IAAI,CAAC,gBAAgB,EAAEJ,OAAO,CAACC,KAAK,CAAC;IACxCE,UAAU,GAAGH,OAAO,CAACC,KAAK;EAC5B,CAAC,EAAE;IAAEC,IAAI,EAAE,IAAI;IAAEG,SAAS,EAAE;EAAK,CAAC,CAAC;AACrC"}