forked from frappe/builder
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNewFolder.vue
More file actions
54 lines (52 loc) · 1.15 KB
/
NewFolder.vue
File metadata and controls
54 lines (52 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<template>
<Dialog
class="overscroll-none"
v-model="showModel"
:options="{
title: 'Create New Folder',
size: 'sm',
actions: [
{
label: 'Create Folder',
variant: 'solid',
loading: builderProjectFolder.loading,
onClick: createFolder,
},
],
}">
<template #body-content>
<BuilderInput
@input="folderName = $event"
:modelValue="folderName"
type="Input"
:autofocus="true"
label="Folder Name"
:required="true"></BuilderInput>
</template>
</Dialog>
</template>
<script setup lang="ts">
import Dialog from "@/components/Controls/Dialog.vue";
import builderProjectFolder from "@/data/builderProjectFolder";
import { useVModel } from "@vueuse/core";
import { ref } from "vue";
const folderName = ref("");
const props = defineProps<{
modelValue: boolean;
}>();
const emit = defineEmits(["update:modelValue"]);
const showModel = useVModel(props, "modelValue", emit);
const createFolder = () => {
if (!folderName.value) {
return;
}
builderProjectFolder.insert
.submit({
folder_name: folderName.value,
})
.then(() => {
folderName.value = "";
showModel.value = false;
});
};
</script>