homemanager-fe/src/views/Dashboard.vue

74 lines
1.9 KiB
Vue
Raw Normal View History

2023-01-16 19:37:39 +00:00
<template>
<StandardLayout>
<h1>Dashboard</h1>
<p>Hello, {{ user.name }}</p>
2023-01-27 16:27:14 +00:00
<Form @submit="test" :validators="validators">
<FormDateField
name="date"
label="datepicker"
locale="en-UK"
clearable
:enable-time-picker="false"
/>
<FormField name="test" label="test" />
<FormAutocompleteField
:search-fn="searchFn"
name="autocomplete"
label="autocomplete"
/>
2023-01-27 18:11:20 +00:00
<FormTextareaField name="textarea" label="textarea" rows="3" />
2023-01-27 16:27:14 +00:00
<button type="submit">test</button>
</Form>
2023-01-16 19:37:39 +00:00
</StandardLayout>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { useUserStore } from '../store/user.store';
import StandardLayout from '../components/StandardLayout.vue';
2023-01-27 16:27:14 +00:00
import FormDateField from '../components/form/fields/FormDateField.vue';
import Form from '../components/form/Form.vue';
import FormField from '../components/form/FormField.vue';
import { IsRequired } from '../components/form/validators';
import FormAutocompleteField from '../components/form/fields/FormAutocompleteField.vue';
2023-01-27 18:11:20 +00:00
import FormTextareaField from '../components/form/fields/FormTextareaField.vue';
2023-01-16 19:37:39 +00:00
const userStore = useUserStore();
const user = ref(userStore.user);
2023-01-27 16:27:14 +00:00
const test = console.log;
const validators = [{ field: 'date', validators: [IsRequired()] }];
const autocompleteTest = [
{
id: 1,
displayName: 'search things',
},
{
id: 2,
displayName: 'potato',
},
{
id: 3,
displayName: 'carrot',
},
{
id: 4,
displayName: 'beet',
},
];
const searchFn = async (query: string) => {
await new Promise((resolve) => setTimeout(resolve, 800));
return query === ''
? autocompleteTest
: autocompleteTest.filter((person) =>
person.displayName
.toLowerCase()
.replace(/\s+/g, '')
.includes(query.toLowerCase().replace(/\s+/g, ''))
);
};
2023-01-16 19:37:39 +00:00
</script>