diff --git a/src/components/Employees/IndexSettingsModal.vue b/src/components/Employees/IndexSettingsModal.vue
new file mode 100644
index 0000000..afbc1c7
--- /dev/null
+++ b/src/components/Employees/IndexSettingsModal.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/Employees/EmployeesSimpleSearch.vue b/src/components/Employees/SimpleSearch.vue
similarity index 100%
rename from src/components/Employees/EmployeesSimpleSearch.vue
rename to src/components/Employees/SimpleSearch.vue
diff --git a/src/components/AddEmployeeModal.vue b/src/components/Schedule/AddEmployeeModal.vue
similarity index 100%
rename from src/components/AddEmployeeModal.vue
rename to src/components/Schedule/AddEmployeeModal.vue
diff --git a/src/components/Schedule.vue b/src/components/Schedule/Schedule.vue
similarity index 99%
rename from src/components/Schedule.vue
rename to src/components/Schedule/Schedule.vue
index 097b2c1..0cb936e 100644
--- a/src/components/Schedule.vue
+++ b/src/components/Schedule/Schedule.vue
@@ -1,6 +1,7 @@
AddEmployeeModal(
+
:searchData="rows"
:searchFields="['first_name', 'last_name']"
:searchRow="addEmployeeRow"
@@ -71,7 +72,7 @@ AddEmployeeModal(
import { useEmployees } from '@/stores/employees'
import { addMonths, eachMonthOfInterval, subDays, addDays, format, getISODay, getYear, getMonth, getDaysInMonth } from 'date-fns'
import { de } from 'date-fns/locale'
- import AddEmployeeModal from '@/components/AddEmployeeModal.vue'
+ import AddEmployeeModal from '@/components/Schedule/AddEmployeeModal.vue'
import Coordinates from '@/types/coordinates'
/*
diff --git a/src/main.ts b/src/main.ts
index 47e8432..ac77199 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -3,8 +3,6 @@ import { createPinia } from 'pinia'
import piniaPersist from 'pinia-plugin-persist'
import App from './App.vue'
import router from './router'
-import Oruga from '@oruga-ui/oruga-next'
-import '@oruga-ui/oruga-next/dist/oruga.css'
import 'bootstrap'
import "bootstrap/scss/bootstrap.scss"
import "bootstrap-icons/font/bootstrap-icons.css"
@@ -14,6 +12,5 @@ pinia.use(piniaPersist)
createApp(App)
.use(router)
-.use(Oruga)
.use(pinia)
.mount('#app')
diff --git a/src/stores/employees.ts b/src/stores/employees.ts
index 51f658f..deccb85 100644
--- a/src/stores/employees.ts
+++ b/src/stores/employees.ts
@@ -1,9 +1,11 @@
import { defineStore } from 'pinia'
import { useUser } from '@/stores/user'
+import { settingsEmployeesIndex } from './settings/employees-index'
import axios from '@/axios'
import _cloneDeep from 'lodash/cloneDeep'
const user = useUser()
+const settings = settingsEmployeesIndex()
export const useEmployees = defineStore('employees', {
state: () => {
@@ -57,6 +59,7 @@ export const useEmployees = defineStore('employees', {
this.rows = _cloneDeep(data.data)
this.columns = this.fetchColumns()
+ await settings.fetchFromApi()
}
catch(err) {
console.log(err)
diff --git a/src/stores/settings/employees-index.ts b/src/stores/settings/employees-index.ts
new file mode 100644
index 0000000..b62d5f4
--- /dev/null
+++ b/src/stores/settings/employees-index.ts
@@ -0,0 +1,47 @@
+import { defineStore } from "pinia";
+import { useEmployees } from "../employees";
+import _clone from "lodash/clone";
+import _difference from "lodash/difference";
+import _pull from "lodash/pull";
+
+
+
+export const settingsEmployeesIndex = defineStore({
+
+ id: "settings/employees-index",
+
+ state: () => {
+ return {
+ columnsSelected: Array(),
+ columnsNotSelected: Array()
+ }
+ },
+
+ actions: {
+ async fetchFromApi() {
+ const employees = useEmployees()
+
+ if (true){ //check, if api response contains any columns
+ this.columnsSelected = ['id', 'first_name']
+ }
+ else { // if api response does not contain any columns, set default columns
+ this.columnsSelected = _clone(employees.columns);
+ }
+ this.columnsNotSelected = _difference(employees.columns, this.columnsSelected);
+ },
+
+ async save() {
+
+ },
+
+ selectColumn(column: string) {
+ this.columnsSelected.push(column);
+ this.columnsNotSelected = _pull(this.columnsNotSelected, column);
+ },
+
+ deselectColumn(column: string) {
+ this.columnsNotSelected.push(column);
+ this.columnsSelected = _pull(this.columnsSelected, column);
+ }
+ }
+})
\ No newline at end of file
diff --git a/src/views/Employees/Index.vue b/src/views/Employees/Index.vue
index d67c5f6..0f7c8f2 100644
--- a/src/views/Employees/Index.vue
+++ b/src/views/Employees/Index.vue
@@ -1,16 +1,35 @@
-
+
-
+
+
+
+
- {{col}}
-
+
+
+
+
+
+ {{ col }}
+
+
+
+
+
+
+
+
|
@@ -38,7 +57,8 @@