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 @@
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+ {{ item.label }}
+
+
+ /
+
+
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 @@
-
-