1<template>
2 <Holidays v-if="holidayListActiveScreen.screen == 'list'" />
3 <HolidayView v-else-if="holidayListActiveScreen.screen == 'view'" />
4</template>
5
6<script setup lang="ts">
7import { holidayListActiveScreen } from "@/stores/holidayList";
8import Holidays from "./Holidays.vue";
9import HolidayView from "./HolidayView.vue";
10import { createListResource } from "frappe-ui";
11import { onUnmounted, provide, ref } from "vue";
12import { HolidayListResourceSymbol } from "@/types";
13
14const holidayListData = createListResource({
15 doctype: "OD Service Holiday List",
16 fields: ["name", "description"],
17 cache: ["HolidayList"],
18 orderBy: "modified desc",
19 start: 0,
20 pageLength: 999,
21 auto: true,
22});
23const holidaySearchRef = ref("");
24
25provide("holidaySearchRef", holidaySearchRef);
26provide(HolidayListResourceSymbol, holidayListData);
27
28onUnmounted(() => {
29 holidaySearchRef.value = "";
30 holidayListData.filters = {};
31});
32</script>
33