Cleanup linting messages. Also, break some things
This commit is contained in:
@@ -133,7 +133,7 @@
|
||||
<q-separator />
|
||||
<q-list dense>
|
||||
<q-item
|
||||
v-for="col in props.cols.filter((col) => col.name !== 'desc')"
|
||||
v-for="col in props.cols.filter((col:Boat) => col.name !== 'desc')"
|
||||
:key="col.name"
|
||||
>
|
||||
<q-item-section>
|
||||
@@ -215,10 +215,8 @@
|
||||
import { computed, defineProps, ref } from 'vue';
|
||||
import { useTaskStore, Task, SkillTag, TaskTag } from 'src/stores/task';
|
||||
import { QTableProps, date, useQuasar } from 'quasar';
|
||||
import { useBoatStore } from 'src/stores/boat';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { Boat, useBoatStore } from 'src/stores/boat';
|
||||
|
||||
const router = useRouter();
|
||||
const selected = ref([]);
|
||||
const loading = ref(false); // Placeholder
|
||||
const fabShow = ref(false);
|
||||
@@ -266,7 +264,7 @@ const columns = <QTableProps['columns']>[
|
||||
align: 'left',
|
||||
label: 'Boat',
|
||||
field: (row) =>
|
||||
useBoatStore().boats.find((boat) => boat.$id === row.boat)?.name,
|
||||
useBoatStore().boats.value.find((boat) => boat.$id === row.boat)?.name,
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
@@ -301,44 +299,51 @@ const columns = <QTableProps['columns']>[
|
||||
{ name: 'actions', align: 'center', label: 'Actions', field: '$id' },
|
||||
];
|
||||
|
||||
const props = defineProps<{ tasks: Task[] }>();
|
||||
defineProps<{ tasks: Task[] }>();
|
||||
const taskStore = useTaskStore();
|
||||
const $q = useQuasar();
|
||||
|
||||
const searchFilter = ref({
|
||||
interface SearchObject {
|
||||
title: string;
|
||||
skillTags: SkillTag[];
|
||||
taskTags: TaskTag[];
|
||||
}
|
||||
|
||||
const searchFilter = ref<SearchObject>({
|
||||
title: '',
|
||||
skillTags: <SkillTag[]>[],
|
||||
taskTags: <TaskTag[]>[],
|
||||
skillTags: [],
|
||||
taskTags: [],
|
||||
});
|
||||
|
||||
const skillTagOptions = ref<SkillTag[]>(taskStore.skillTags);
|
||||
const taskTagOptions = ref<TaskTag[]>(taskStore.taskTags);
|
||||
|
||||
function onRowClick(evt: Event, row: Task) {
|
||||
router.push({ name: 'edit-task', params: { id: row.$id } });
|
||||
}
|
||||
// function onRowClick(evt: Event, row: Task) {
|
||||
// router.push({ name: 'edit-task', params: { id: row.$id } });
|
||||
// }
|
||||
// TODO: Implement server side search
|
||||
const filterRows = computed(
|
||||
() => (rows: readonly Task[], terms: any, cols: any, cellValueFn: any) => {
|
||||
let result = rows;
|
||||
result = rows.filter((row) =>
|
||||
terms.title
|
||||
? row.title.toLowerCase().includes(terms.title.toLowerCase())
|
||||
: true
|
||||
);
|
||||
result = result.filter((row) =>
|
||||
terms.skillTags && terms.skillTags.length > 0
|
||||
? row.required_skills.some((req_skill) =>
|
||||
terms.skillTags.map((t) => t.$id).includes(req_skill)
|
||||
)
|
||||
: true
|
||||
);
|
||||
result = result.filter((row) =>
|
||||
terms.taskTags && terms.taskTags.length > 0
|
||||
? row.tags.some((tag) => terms.taskTags.map((t) => t.$id).includes(tag))
|
||||
: true
|
||||
);
|
||||
return result;
|
||||
() => (rows: readonly Task[], terms: SearchObject) => {
|
||||
return rows
|
||||
.filter((row) =>
|
||||
terms.title
|
||||
? row.title.toLowerCase().includes(terms.title.toLowerCase())
|
||||
: true
|
||||
)
|
||||
.filter((row) =>
|
||||
terms.skillTags && terms.skillTags.length > 0
|
||||
? row.required_skills.some((req_skill) =>
|
||||
terms.skillTags.map((t) => t.$id).includes(req_skill)
|
||||
)
|
||||
: true
|
||||
)
|
||||
.filter((row) =>
|
||||
terms.taskTags && terms.taskTags.length > 0
|
||||
? row.tags.some((tag) =>
|
||||
terms.taskTags.map((t) => t.$id).includes(tag)
|
||||
)
|
||||
: true
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user