From c5a21ad9254894c4351d866cc935905ab4f3379b Mon Sep 17 00:00:00 2001 From: Connor Abbas <89364288+connorabbas@users.noreply.github.com> Date: Tue, 7 Jan 2025 12:19:35 -0600 Subject: [PATCH 01/23] default filters fix --- resources/js/Composables/useLazyDataTable.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/js/Composables/useLazyDataTable.js b/resources/js/Composables/useLazyDataTable.js index 68e14db8..5b02407c 100644 --- a/resources/js/Composables/useLazyDataTable.js +++ b/resources/js/Composables/useLazyDataTable.js @@ -116,7 +116,10 @@ export function useLazyDataTable( * WIP, parse url params into useable filters */ function parseUrlParams(urlParams) { - filters.value = urlParams?.filters || dataTableDefaults.filters; + filters.value = { + ...dataTableDefaults.filters, + ...urlParams?.filters, + }; Object.keys(filters.value).forEach((key) => { const filter = filters.value[key]; if (!filter?.value || !filter?.matchMode) { From bdcbbc8a18c977c5248337c6f13f55c764d15715 Mon Sep 17 00:00:00 2001 From: Connor Abbas <89364288+connorabbas@users.noreply.github.com> Date: Sat, 11 Jan 2025 08:23:20 -0600 Subject: [PATCH 02/23] TS --- eslint.config.js | 26 +++ .../Components/PrimeVue/LinksBreadcrumb.vue | 45 +++++ .../js/Components/PrimeVue/LinksMenu.vue | 6 +- .../js/Components/PrimeVue/LinksMenuBar.vue | 6 +- resources/js/Composables/useLazyDataTable.js | 179 ----------------- resources/js/Composables/useLazyDataTable.ts | 71 +++++++ resources/js/Composables/usePaginatedData.ts | 188 ++++++++++++++++++ resources/js/types/global.d.ts | 23 +++ resources/js/types/index.d.ts | 14 ++ resources/js/types/paginiation.d.ts | 42 ++++ resources/js/types/primevue.d.ts | 19 ++ tsconfig.json | 29 +++ 12 files changed, 465 insertions(+), 183 deletions(-) create mode 100644 eslint.config.js create mode 100644 resources/js/Components/PrimeVue/LinksBreadcrumb.vue delete mode 100644 resources/js/Composables/useLazyDataTable.js create mode 100644 resources/js/Composables/useLazyDataTable.ts create mode 100644 resources/js/Composables/usePaginatedData.ts create mode 100644 resources/js/types/global.d.ts create mode 100644 resources/js/types/index.d.ts create mode 100644 resources/js/types/paginiation.d.ts create mode 100644 resources/js/types/primevue.d.ts create mode 100644 tsconfig.json diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..7ae51a48 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,26 @@ +// https://eslint.vuejs.org/user-guide/ +// https://www.npmjs.com/package/@vue/eslint-config-typescript +// https://typescript-eslint.io/rules/?=recommended + +import js from '@eslint/js'; +import pluginVue from 'eslint-plugin-vue'; +import vueTsEslintConfig from '@vue/eslint-config-typescript'; + +export default [ + js.configs.recommended, + ...pluginVue.configs['flat/essential'], + ...vueTsEslintConfig(), + { + languageOptions: { + ecmaVersion: 'latest', + globals: { + Ziggy: 'readonly', + }, + }, + rules: { + 'vue/multi-word-component-names': 'off', + 'vue/block-lang': 'off', + '@typescript-eslint/no-explicit-any': 'off', + }, + }, +]; diff --git a/resources/js/Components/PrimeVue/LinksBreadcrumb.vue b/resources/js/Components/PrimeVue/LinksBreadcrumb.vue new file mode 100644 index 00000000..c16294d1 --- /dev/null +++ b/resources/js/Components/PrimeVue/LinksBreadcrumb.vue @@ -0,0 +1,45 @@ + + + diff --git a/resources/js/Components/PrimeVue/LinksMenu.vue b/resources/js/Components/PrimeVue/LinksMenu.vue index df05d795..7325724b 100644 --- a/resources/js/Components/PrimeVue/LinksMenu.vue +++ b/resources/js/Components/PrimeVue/LinksMenu.vue @@ -1,11 +1,13 @@ -