1<template>
2 <SlaPolicies v-if="slaActiveScreen.screen == 'list'" />
3 <SlaPolicyView v-else-if="slaActiveScreen.screen == 'view'" />
4</template>
5
6<script setup lang="ts">
7import { slaActiveScreen } from "@/stores/sla";
8import SlaPolicies from "./SlaPolicies.vue";
9import SlaPolicyView from "./SlaPolicyView.vue";
10import { createListResource } from "frappe-ui";
11import { onUnmounted, provide, ref } from "vue";
12import { SlaPolicyListResourceSymbol } from "@/types";
13
14const slaPolicyListData = createListResource({
15 doctype: "OD Service Level Agreement",
16 fields: ["name", "default_sla", "enabled", "description", "rank", "creation"],
17 cache: ["SLAPolicyList"],
18 orderBy: "modified desc",
19 start: 0,
20 pageLength: 999,
21 auto: true,
22});
23const slaSearchQuery = ref("");
24
25provide("slaSearchQuery", slaSearchQuery);
26provide(SlaPolicyListResourceSymbol, slaPolicyListData);
27
28onUnmounted(() => {
29 slaSearchQuery.value = "";
30 slaPolicyListData.filters = {};
31});
32</script>
33