@simitgroup/simpleapp-generator 1.3.1-alpha → 1.3.3-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generate.js +7 -3
- package/dist/generate.js.map +1 -1
- package/package.json +1 -1
- package/src/generate.ts +7 -3
- package/templates/basic/nest/apischema.ts.eta +2 -3
- package/templates/basic/nest/controller.ts.eta +3 -4
- package/templates/basic/nest/default.ts.eta +6 -0
- package/templates/basic/nest/jsonschema.ts.eta +3 -4
- package/templates/basic/nest/model.ts.eta +3 -5
- package/templates/basic/nest/processor.ts.eta +3 -4
- package/templates/basic/nest/service.ts.eta +8 -1
- package/templates/basic/nest/type.ts.eta +3 -4
- package/templates/basic/nuxt/default.ts.eta +6 -0
- package/templates/basic/nuxt/pages.form.vue.eta +2 -1
- package/templates/basic/nuxt/simpleapp.generate.client.ts.eta +3 -4
- package/templates/nest/.env._eta +2 -1
- package/templates/nest/.gitignore.eta +5 -0
- package/templates/nest/src/simpleapp/.gitignore.eta +5 -0
- package/templates/nest/src/simpleapp/apischemas/index.ts._eta +6 -1
- package/templates/nest/src/simpleapp/generate/apischemas/index.ts.eta +7 -0
- package/templates/nest/src/simpleapp/generate/apischemas/simpleapp.apischema.ts.eta +1 -1
- package/templates/nest/src/simpleapp/generate/workflow/formschema/index.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/workflow/workflow.apischema.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/workflow/workflow.config.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/workflow/workflow.controller.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/workflow/workflow.delegate.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/workflow/workflow.service.ts.eta +2 -4
- package/templates/nest/src/simpleapp/generate/workflow/workflow.type.ts.eta +4 -5
- package/templates/nest/src/simpleapp/generate/workflow/workflow.userservice.ts.eta +6 -0
- package/templates/nest/src/simpleapp/profile/profile.apischema.ts.eta +1 -1
- package/templates/nest/src/simpleapp/profile/profile.controller.ts.eta +1 -1
- package/templates/nest/src/simpleapp/profile/profile.service.ts.eta +1 -1
- package/templates/nest/src/simpleapp/profile/profile.types.ts.eta +1 -1
- package/templates/nest/src/simpleapp/services/autoinc.service.ts.eta +1 -1
- package/templates/nest/src/simpleapp/services/branch.service.ts.eta +1 -1
- package/templates/nest/src/simpleapp/services/docno.service.ts.eta +1 -1
- package/templates/nest/src/simpleapp/services/org.service.ts.eta +1 -1
- package/templates/nest/src/simpleapp/services/perm.service.ts.eta +1 -1
- package/templates/nest/src/simpleapp/services/tenant.service.ts.eta +1 -1
- package/templates/nest/src/simpleapp/services/user.service.ts.etax +1 -1
- package/templates/nest/src/simpleapp/types/index.ts._eta +6 -1
- package/templates/nest/src/simpleapp/workflows/listeners/simpleapp.listener.ts._eta +4 -5
- package/templates/nest/test/app.e2e-spec.ts.eta +6 -0
- package/templates/nest/test/setting.ts.eta +6 -0
- package/templates/nuxt/.env._eta +2 -1
- package/templates/nuxt/.gitignore.eta +5 -0
- package/templates/nuxt/{app.vue.eta → app.vue._eta} +14 -14
- package/templates/nuxt/assets/css/calendar.css._eta +6 -1
- package/templates/nuxt/assets/css/listview.css._eta +17 -0
- package/templates/nuxt/assets/css/style.css._eta +6 -4
- package/templates/nuxt/assets/css/tailwind.css._eta +6 -0
- package/templates/nuxt/assets/primevue/passthrough.ts._eta +13 -8
- package/templates/nuxt/components/button/ButtonDanger.vue._eta +16 -4
- package/templates/nuxt/components/button/ButtonDefault.vue._eta +17 -4
- package/templates/nuxt/components/button/ButtonMultiple.vue._eta +8 -2
- package/templates/nuxt/components/button/ButtonPrimary.vue._eta +17 -5
- package/templates/nuxt/components/button/ButtonText.vue._eta +21 -0
- package/templates/nuxt/components/button/ButtonWarning.vue._eta +17 -5
- package/templates/nuxt/components/calendar/CalendarByResource.vue.eta +7 -3
- package/templates/nuxt/components/calendar/CalendarSmall.vue.eta +6 -0
- package/templates/nuxt/components/debug/DebugDocumentData.vue.eta +3 -3
- package/templates/nuxt/components/event/EventDecision.vue._eta +3 -3
- package/templates/nuxt/components/event/EventDocumentViewer.vue._eta +3 -3
- package/templates/nuxt/components/event/EventNotification.vue._eta +3 -3
- package/templates/nuxt/components/form/FormBranch.vue.eta +4 -3
- package/templates/nuxt/components/header/HeaderBar.vue._eta +7 -1
- package/templates/nuxt/components/header/HeaderBreadcrumb.vue.eta +6 -0
- package/templates/nuxt/components/header/HeaderSelectBranch.vue.eta +6 -0
- package/templates/nuxt/components/header/button/HeaderButtonHome.vue.eta +6 -1
- package/templates/nuxt/components/header/button/HeaderButtonLogout.vue.eta +9 -1
- package/templates/nuxt/components/header/button/HeaderButtonMenuPicker.vue._eta +7 -0
- package/templates/nuxt/components/header/button/HeaderButtonProfile.vue.eta +6 -0
- package/templates/nuxt/components/header/button/task/HeaderButtonTaskItem.vue.eta +7 -0
- package/templates/nuxt/components/header/button/task/HeaderButtonTaskList.vue.eta +6 -0
- package/templates/nuxt/components/list/ListDocument.vue.eta +6 -0
- package/templates/nuxt/components/list/ListDocumentTable.vue.eta +6 -0
- package/templates/nuxt/components/list/ListView.vue.eta +60 -47
- package/templates/nuxt/components/mobile/MobileToolbar.vue.eta +9 -3
- package/templates/nuxt/components/overlay/OverlayPanelWithToolBar.vue.eta +44 -0
- package/templates/nuxt/components/overlay/OverlaySideBarCrud.vue.eta +10 -1
- package/templates/nuxt/components/overlay/OverlayViewer.vue.eta +7 -1
- package/templates/nuxt/components/page/PageDocList.vue.eta +23 -14
- package/templates/nuxt/components/renderer/index.ts._eta +3 -3
- package/templates/nuxt/components/session/SessionBlock.vue.eta +6 -0
- package/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta +7 -1
- package/templates/nuxt/components/simpleApp/SimpleAppDocumentNo.vue.eta +6 -0
- package/templates/nuxt/components/simpleApp/SimpleAppFieldContainer.vue.eta +6 -0
- package/templates/nuxt/components/simpleApp/SimpleAppForm.vue.eta +7 -2
- package/templates/nuxt/components/simpleApp/SimpleAppFormToolBar.vue.eta +21 -17
- package/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta +6 -0
- package/templates/nuxt/components/simpleApp/SimpleAppInputTable.vue.eta +6 -1
- package/templates/nuxt/components/simpleApp/SimpleAppJsonSchemaForm.vue.eta +6 -0
- package/templates/nuxt/components/table/TableDocuments.vue.eta +6 -0
- package/templates/nuxt/components/text/TextDanger.vue._eta +8 -0
- package/templates/nuxt/components/text/TextSubtitle.vue._eta +8 -0
- package/templates/nuxt/components/text/TextTitle.vue._eta +8 -0
- package/templates/nuxt/components/user/UserButtonCreateTenant.vue.eta +6 -0
- package/templates/nuxt/components/user/UserButtonPermissionInfo.vue.eta +6 -0
- package/templates/nuxt/components/user/UserInvitation.vue.eta +22 -16
- package/templates/nuxt/components/user/UserProfileListItem.vue.eta +6 -1
- package/templates/nuxt/components/user/UserTenantPicker.vue.eta +6 -1
- package/templates/nuxt/components/viewer/readme.md.eta +1 -0
- package/templates/nuxt/components/workflow/forms/dynamicfield.vue._eta +7 -0
- package/templates/nuxt/components/workflow/forms/index.ts._eta +7 -0
- package/templates/nuxt/components/workflow/forms/simpleapprove.vue._eta +6 -0
- package/templates/nuxt/composables/date.generate.ts.eta +6 -3
- package/templates/nuxt/composables/docformat.generate.ts.eta +6 -0
- package/templates/nuxt/composables/getDocument.generate.ts.eta +6 -0
- package/templates/nuxt/composables/getTenant.generate.ts.eta +6 -0
- package/templates/nuxt/composables/getUserStore.generate.ts.eta +6 -0
- package/templates/nuxt/composables/goTo.generate.ts.eta +6 -0
- package/templates/nuxt/composables/logout.generate.ts.eta +6 -0
- package/templates/nuxt/composables/notifications.generate.ts.eta +6 -0
- package/templates/nuxt/composables/refreshDocumentList.generate.ts.eta +6 -0
- package/templates/nuxt/composables/roles.generate.ts.eta +6 -0
- package/templates/nuxt/composables/screensize.generate.ts.eta +6 -0
- package/templates/nuxt/composables/stringHelper.generate.ts.eta +6 -0
- package/templates/nuxt/composables/themes.generate.ts.eta +6 -0
- package/templates/nuxt/composables/workflow.generate.ts.eta +6 -0
- package/templates/nuxt/error.vue._eta +6 -1
- package/templates/nuxt/i18n.config.ts.eta +6 -0
- package/templates/nuxt/lang/cn.ts._eta +6 -0
- package/templates/nuxt/lang/en.ts.eta +1 -0
- package/templates/nuxt/layouts/default.vue._eta +6 -0
- package/templates/nuxt/layouts/loginlayout.vue._eta +9 -1
- package/templates/nuxt/layouts/mobile.vue._eta +6 -0
- package/templates/nuxt/middleware/30.acl.global.ts.eta +1 -1
- package/templates/nuxt/nuxt.config.ts._eta +4 -5
- package/templates/nuxt/pages/[xorg]/docnoformat/[doctype]/[id].vue.eta +4 -5
- package/templates/nuxt/pages/[xorg]/docnoformat/[doctype]/new.vue.eta +7 -0
- package/templates/nuxt/pages/[xorg]/docnoformat/[doctype].vue.eta +6 -1
- package/templates/nuxt/pages/[xorg]/docnoformat/index.vue.eta +6 -1
- package/templates/nuxt/pages/[xorg]/docnoformat.vue.eta +4 -6
- package/templates/nuxt/pages/[xorg]/index.vue._eta +4 -5
- package/templates/nuxt/pages/[xorg]/organization/viewer.vue.eta +8 -0
- package/templates/nuxt/pages/[xorg]/organization.vue.eta +6 -1
- package/templates/nuxt/pages/[xorg]/profile.vue.eta +6 -0
- package/templates/nuxt/pages/[xorg]/reports/index.vue._eta +18 -0
- package/templates/nuxt/pages/[xorg]/user/[id].vue.eta +4 -5
- package/templates/nuxt/pages/[xorg]/user/form.vue.eta +6 -1
- package/templates/nuxt/pages/[xorg]/user/index.vue.eta +4 -5
- package/templates/nuxt/pages/[xorg]/user/new.vue.eta +4 -5
- package/templates/nuxt/pages/[xorg]/user/viewer.vue.eta +4 -5
- package/templates/nuxt/pages/[xorg]/user.vue.eta +4 -4
- package/templates/nuxt/pages/index.vue._eta +4 -4
- package/templates/nuxt/pages/login.vue._eta +4 -4
- package/templates/nuxt/pages/profile.vue.eta +8 -1
- package/templates/nuxt/pages/relogin.vue.eta +6 -0
- package/templates/nuxt/plugins/10.simpleapp-event.ts.eta +1 -1
- package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +1 -1
- package/templates/nuxt/plugins/50.simpleapp-client.ts.eta +1 -1
- package/templates/nuxt/server/api/[xorg]/[...].ts.eta +1 -1
- package/templates/nuxt/server/api/auth/[...].ts.eta +1 -1
- package/templates/nuxt/server/api/auth/logout.ts.eta +1 -1
- package/templates/nuxt/server/api/profile/[...].ts.eta +1 -2
- package/templates/nuxt/server/api/profile/index.ts.eta +1 -1
- package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +2 -4
- package/templates/nuxt/simpleapp/generate/commons/documents.ts.eta +2 -2
- package/templates/nuxt/simpleapp/generate/commons/groups.ts.eta +1 -1
- package/templates/nuxt/simpleapp/generate/commons/roles.ts.eta +1 -1
- package/templates/nuxt/simpleapp/generate/defaults/index.ts.eta +7 -0
- package/templates/nuxt/simpleapp/generate/types/index.ts.eta +7 -0
- package/templates/nuxt/simpleapp/workflows/forms/index.ts._eta +6 -0
- package/templates/nuxt/simpleapp/workflows/forms/simpleapprove.jsonschema.ts._eta +6 -0
- package/templates/nuxt/tailwind.config.ts._eta +6 -0
- package/templates/nuxt/types/calendar.ts.eta +2 -3
- package/templates/nuxt/types/documentlist.ts.eta +3 -3
- package/templates/nuxt/types/events.ts.eta +2 -2
- package/templates/nuxt/types/index.ts._eta +4 -5
- package/templates/nuxt/types/listview.ts.eta +2 -2
- package/templates/nuxt/types/notifications.ts.eta +2 -2
- package/templates/nuxt/types/others.ts.eta +2 -2
- package/templates/nuxt/types/schema.ts.eta +2 -2
- package/templates/nuxt/types/simpleappinput.ts.eta +2 -2
- package/templates/nuxt/types/user.ts.eta +2 -2
- package/templates/nuxt/types/workflow.ts.eta +2 -2
- package/templates/project/lang/default._json +1 -1
- package/templates/project/sharelibs/hello.ts._eta +6 -0
- package/templates/project/sharelibs/index.ts.eta +5 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/templates/nuxt/components/simpleApp/pending/SimpleAppAutocomplete.vue +0 -135
- package/templates/nuxt/components/simpleApp/pending/SimpleAppAutocompletemulti.vue +0 -73
- package/templates/nuxt/components/simpleApp/pending/SimpleAppCalendar.vue +0 -55
- package/templates/nuxt/components/simpleApp/pending/SimpleAppCheckbox.vue +0 -29
- package/templates/nuxt/components/simpleApp/pending/SimpleAppChip.vue +0 -28
- package/templates/nuxt/components/simpleApp/pending/SimpleAppColor.vue +0 -41
- package/templates/nuxt/components/simpleApp/pending/SimpleAppDocumentNo.vue +0 -90
- package/templates/nuxt/components/simpleApp/pending/SimpleAppDynamicInput.vue +0 -29
- package/templates/nuxt/components/simpleApp/pending/SimpleAppEditor.vue +0 -31
- package/templates/nuxt/components/simpleApp/pending/SimpleAppInputTable.vue +0 -83
- package/templates/nuxt/components/simpleApp/pending/SimpleAppList.vue +0 -38
- package/templates/nuxt/components/simpleApp/pending/SimpleAppListmulti.vue +0 -41
- package/templates/nuxt/components/simpleApp/pending/SimpleAppNumber.vue +0 -43
- package/templates/nuxt/components/simpleApp/pending/SimpleAppPassword.vue +0 -41
- package/templates/nuxt/components/simpleApp/pending/SimpleAppRadio.vue +0 -42
- package/templates/nuxt/components/simpleApp/pending/SimpleAppRating.vue +0 -41
- package/templates/nuxt/components/simpleApp/pending/SimpleAppSelect.vue +0 -48
- package/templates/nuxt/components/simpleApp/pending/SimpleAppSelectmulti.vue +0 -39
- package/templates/nuxt/components/simpleApp/pending/SimpleAppSlider.vue +0 -42
- package/templates/nuxt/components/simpleApp/pending/SimpleAppSwitch.vue +0 -30
- package/templates/nuxt/components/simpleApp/pending/SimpleAppText.vue +0 -59
- package/templates/nuxt/components/simpleApp/pending/SimpleAppTextarea.vue +0 -41
- package/templates/nuxt/components/simpleApp/pending/SimpleAppValue.vue +0 -86
- package/templates/nuxt/components/simpleApp/pending/helper.ts-backup +0 -90
- package/templates/nuxt/components/simpleApp/pending/type.ts-backup +0 -32
- package/templates/nuxt/components/suspended/CrudNestedDoc.vue.eta +0 -172
- package/templates/nuxt/components/suspended/CrudSimple.vue.eta +0 -181
- package/templates/nuxt/components/suspended/Menus.vue.eta +0 -58
- package/templates/nuxt/components/suspended/Spinner.vue.eta +0 -9
- package/templates/nuxt/lang/df.ts.etaxxxx +0 -16
- package/templates/project/sharelibs/hello.ts.eta +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="relative
|
|
3
|
-
<div v-if="withFilter" class="flex flex-row
|
|
2
|
+
<div class="relative">
|
|
3
|
+
<div v-if="withFilter" class="flex flex-row">
|
|
4
4
|
<InputText
|
|
5
5
|
placeholder="search"
|
|
6
6
|
v-model="searchvalue"
|
|
@@ -11,18 +11,34 @@
|
|
|
11
11
|
><i class="pi pi-plus"></i
|
|
12
12
|
></ButtonPrimary>
|
|
13
13
|
</div>
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
<div
|
|
16
|
+
v-if="showIndex"
|
|
17
|
+
class="flex flex-col fixed left-1 top-1/5 gap-2 z-10 rounded border bg-white dark:bg-black opacity-90"
|
|
18
|
+
>
|
|
19
|
+
<NuxtLink
|
|
20
|
+
class="text-primary-600 dark:text-primary-400 text-lg p-2"
|
|
21
|
+
:url="'#' + l"
|
|
22
|
+
v-for="l in allLetters"
|
|
23
|
+
>{{ l }}</NuxtLink
|
|
24
|
+
>
|
|
16
25
|
</div>
|
|
17
|
-
|
|
18
|
-
<div
|
|
19
|
-
<div
|
|
20
|
-
<div v-for="(item, index) in filterlist"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<div
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
|
|
27
|
+
<div v-if="filterlist && filterlist.length > 0">
|
|
28
|
+
<div>
|
|
29
|
+
<div v-for="(item, index) in filterlist">
|
|
30
|
+
<!-- :class="isMobile() ? '' : 'overflow overflow-y-scroll overflow-auto '" -->
|
|
31
|
+
<div :id="titleField && item[titleField][0]"></div>
|
|
32
|
+
<div
|
|
33
|
+
class="w-full bg-gray-400 dark:bg-gray-500 p-1 pl-2 top-0 sticky opacity-90"
|
|
34
|
+
v-if="
|
|
35
|
+
showIndex && titleField && showCategoryBar(item[titleField][0])
|
|
36
|
+
"
|
|
37
|
+
>
|
|
38
|
+
<span>{{ item[titleField][0] }}</span>
|
|
39
|
+
</div>
|
|
40
|
+
<div class=" border-l-none border-r-none listview-item border-t-2 dark:border-t-gray-700 hover:" >
|
|
41
|
+
<NuxtLink :to="url ? `${url}/${item[idField]}` : undefined" class="p-2">
|
|
26
42
|
<slot name="default" :item="item" :index="index">
|
|
27
43
|
<div class="flex flex-row">
|
|
28
44
|
<div class="flex-1 mr-2 dark:text-white">
|
|
@@ -40,7 +56,7 @@
|
|
|
40
56
|
</div>
|
|
41
57
|
<div v-else>
|
|
42
58
|
<div
|
|
43
|
-
class="w-full h-20 p-2 border-l-none border-r-none
|
|
59
|
+
class="w-full h-20 p-2 border-l-none border-r-none "
|
|
44
60
|
>
|
|
45
61
|
<slot name="nodata">
|
|
46
62
|
<div class="border-round border-1 surface-border p-4 surface-card">
|
|
@@ -52,6 +68,12 @@
|
|
|
52
68
|
</div>
|
|
53
69
|
</template>
|
|
54
70
|
<script setup lang="ts" generic="T extends { [key: string]: any }">
|
|
71
|
+
/**
|
|
72
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
73
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
74
|
+
* last change 2023-10-28
|
|
75
|
+
* Author: Ks Tan
|
|
76
|
+
*/
|
|
55
77
|
import { ref } from "vue";
|
|
56
78
|
import { ListItem } from "~/types/listview";
|
|
57
79
|
const props = withDefaults(
|
|
@@ -63,14 +85,14 @@ const props = withDefaults(
|
|
|
63
85
|
subTitleField?: string;
|
|
64
86
|
withFilter?: boolean;
|
|
65
87
|
withAddNew?: boolean;
|
|
66
|
-
showIndex?:boolean
|
|
88
|
+
showIndex?: boolean;
|
|
67
89
|
}>(),
|
|
68
90
|
{
|
|
69
91
|
idField: "_id",
|
|
70
92
|
},
|
|
71
93
|
);
|
|
72
|
-
const letters =ref<string[]>
|
|
73
|
-
let lastchar=
|
|
94
|
+
const letters = ref<string[]>([]);
|
|
95
|
+
let lastchar = "";
|
|
74
96
|
|
|
75
97
|
const emits = defineEmits(["add"]);
|
|
76
98
|
const searchvalue = ref("");
|
|
@@ -99,39 +121,30 @@ const filterlist = computed(() => {
|
|
|
99
121
|
|
|
100
122
|
return newlist;
|
|
101
123
|
});
|
|
102
|
-
const getSelectedCSS = (item: T) => {
|
|
103
|
-
if (selecteditem.value == item.code) {
|
|
104
|
-
return "p-2 border-l-none border-r-none bg-sky-200 border-t-2";
|
|
105
|
-
} else {
|
|
106
|
-
return "p-2 border-l-none border-r-none hover-list-primary border-t-2 dark:border-t-gray-700";
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
124
|
|
|
110
125
|
|
|
111
|
-
const allLetters = computed(()=>{
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return []
|
|
126
|
+
const allLetters = computed(() => {
|
|
127
|
+
if (props.titleField && props.list) {
|
|
128
|
+
return props.list
|
|
129
|
+
.filter((item) => {
|
|
130
|
+
const titlevalue: string = item[props.titleField as keyof typeof item];
|
|
131
|
+
if (titlevalue[0] != lastchar) {
|
|
132
|
+
lastchar = item[props.titleField as keyof typeof item][0];
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
})
|
|
136
|
+
.map((item) => item[props.titleField as keyof typeof item][0]);
|
|
137
|
+
} else {
|
|
138
|
+
return [];
|
|
125
139
|
}
|
|
140
|
+
});
|
|
126
141
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return
|
|
133
|
-
}else{
|
|
134
|
-
return false
|
|
142
|
+
const showCategoryBar = (letter: string) => {
|
|
143
|
+
if (lastchar != letter && letter.length > 0) {
|
|
144
|
+
lastchar = letter;
|
|
145
|
+
return true;
|
|
146
|
+
} else {
|
|
147
|
+
return false;
|
|
135
148
|
}
|
|
136
|
-
}
|
|
149
|
+
};
|
|
137
150
|
</script>
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
class="w-full dark:bg-gray-800 z-20 bg-white justify justify-between absolute h h-14 flex flex-row place-items-center opacity-90 dark:text-white"
|
|
2
|
+
<div class="w-full dark:bg-gray-800 z-20 justify justify-between absolute h h-14 flex flex-row place-items-center opacity-90 dark:text-white"
|
|
4
3
|
>
|
|
5
4
|
<div class="w-full text-left"><slot name="start"></slot></div>
|
|
6
5
|
<div class="w-full text-center"><slot name="center"></slot></div>
|
|
7
6
|
<div class="w-full text-right"><slot name="end"></slot></div>
|
|
8
7
|
</div>
|
|
9
|
-
<div class="h-14"></div>
|
|
10
8
|
</template>
|
|
9
|
+
<script setup lang="ts">
|
|
10
|
+
/**
|
|
11
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
12
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
13
|
+
* last change 2023-10-28
|
|
14
|
+
* Author: Ks Tan
|
|
15
|
+
*/
|
|
16
|
+
</script>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<Sidebar
|
|
3
|
+
position="right"
|
|
4
|
+
v-if="showDialog"
|
|
5
|
+
v-model:visible="showDialog"
|
|
6
|
+
modal
|
|
7
|
+
:show-close-icon="false"
|
|
8
|
+
#container
|
|
9
|
+
>
|
|
10
|
+
<div class="overflow-y-scroll">
|
|
11
|
+
<MobileToolbar class="bg-gray-800 text-white">
|
|
12
|
+
<template #start>
|
|
13
|
+
<slot name="headerLeft"></slot>
|
|
14
|
+
</template>
|
|
15
|
+
<template #center>
|
|
16
|
+
<slot name="headerCenter"></slot>
|
|
17
|
+
</template>
|
|
18
|
+
<template #end>
|
|
19
|
+
<slot name="headerRight"></slot>
|
|
20
|
+
</template>
|
|
21
|
+
</MobileToolbar>
|
|
22
|
+
<div class="mt-14">
|
|
23
|
+
<slot name="default"></slot>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</Sidebar>
|
|
27
|
+
</template>
|
|
28
|
+
<script lang="ts" setup>
|
|
29
|
+
/**
|
|
30
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
31
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
32
|
+
* last change 2023-10-28
|
|
33
|
+
* Author: Ks Tan
|
|
34
|
+
*/
|
|
35
|
+
const showDialog = defineModel<boolean>({ required: true });
|
|
36
|
+
const props = defineProps<{ closeEventName: string }>();
|
|
37
|
+
useNuxtApp().$listen("CloseDialog", (closeEventName: string) => {
|
|
38
|
+
if (props.closeEventName == closeEventName){
|
|
39
|
+
showDialog.value = false;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
</script>
|
|
44
|
+
|
|
@@ -13,9 +13,18 @@
|
|
|
13
13
|
</Sidebar>
|
|
14
14
|
</template>
|
|
15
15
|
<script lang="ts" setup>
|
|
16
|
+
/**
|
|
17
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
18
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
19
|
+
* last change 2023-10-28
|
|
20
|
+
* Author: Ks Tan
|
|
21
|
+
*/
|
|
16
22
|
const showDialog = defineModel<boolean>({ required: true });
|
|
17
23
|
const props = defineProps<{ closeEventName: string }>();
|
|
18
24
|
useNuxtApp().$listen("CloseDialog", (closeEventName: string) => {
|
|
19
|
-
if (props.closeEventName == closeEventName)
|
|
25
|
+
if (props.closeEventName == closeEventName){
|
|
26
|
+
showDialog.value = false;
|
|
27
|
+
}
|
|
20
28
|
});
|
|
29
|
+
|
|
21
30
|
</script>
|
|
@@ -13,8 +13,14 @@
|
|
|
13
13
|
</Sidebar>
|
|
14
14
|
</template>
|
|
15
15
|
<script lang="ts" setup>
|
|
16
|
+
/**
|
|
17
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
18
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
19
|
+
* last change 2023-10-28
|
|
20
|
+
* Author: Ks Tan
|
|
21
|
+
*/
|
|
16
22
|
const showDialog = defineModel<boolean>({ required: true });
|
|
17
23
|
useNuxtApp().$listen("CloseDialog", (closeEventName: string) => {
|
|
18
|
-
if (closeEventName==
|
|
24
|
+
if (closeEventName == "viewer") showDialog.value = false;
|
|
19
25
|
});
|
|
20
26
|
</script>
|
|
@@ -45,17 +45,26 @@
|
|
|
45
45
|
</template>
|
|
46
46
|
<template #default>
|
|
47
47
|
<slot name="dataTableColumns">
|
|
48
|
-
<Column
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
|
|
48
|
+
<Column
|
|
49
|
+
v-for="col in columns.filter((item, index) => index < 6)"
|
|
50
|
+
:header="t(col)"
|
|
51
|
+
class="min-w-[5rem]"
|
|
52
|
+
#body="{ index, data }"
|
|
53
|
+
>
|
|
54
|
+
<RendererLink
|
|
55
|
+
v-if="uniqueKey === col || documentTitle === col"
|
|
56
|
+
:value="data"
|
|
57
|
+
:setting="{ path: resourcename.toLocaleLowerCase() }"
|
|
58
|
+
:fields="[col]"
|
|
59
|
+
>
|
|
60
|
+
{{ data[col] }}
|
|
61
|
+
</RendererLink>
|
|
62
|
+
<span v-else-if="data[col]?.label !== undefined">{{
|
|
63
|
+
data[col].label
|
|
64
|
+
}}</span>
|
|
65
|
+
<span v-else>{{ data[col] }}</span>
|
|
56
66
|
</Column>
|
|
57
|
-
|
|
58
|
-
</slot>
|
|
67
|
+
</slot>
|
|
59
68
|
</template>
|
|
60
69
|
</ListDocumentTable>
|
|
61
70
|
</div>
|
|
@@ -71,10 +80,10 @@
|
|
|
71
80
|
|
|
72
81
|
<script setup lang="ts" generic="T extends { [key: string]: any }">
|
|
73
82
|
/**
|
|
74
|
-
* This file was automatically generated by simpleapp generator
|
|
75
|
-
*
|
|
76
|
-
* last change
|
|
77
|
-
*
|
|
83
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
84
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
85
|
+
* last change 2023-10-28
|
|
86
|
+
* Author: Ks Tan
|
|
78
87
|
*/
|
|
79
88
|
import { ref } from "vue";
|
|
80
89
|
import _ from "lodash";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was automatically generated by simpleapp generator during initialization.
|
|
3
|
-
*
|
|
4
|
-
* last change 2024-02-
|
|
2
|
+
* This file was automatically generated by simpleapp generator during initialization. It is changable.
|
|
3
|
+
* --remove-this-line-to-prevent-override--
|
|
4
|
+
* last change 2024-02-22
|
|
5
5
|
* author: Ks Tan
|
|
6
6
|
*/
|
|
7
7
|
import RendererBoolean from './RendererBoolean.vue'
|
|
@@ -19,6 +19,12 @@
|
|
|
19
19
|
|
|
20
20
|
</template>
|
|
21
21
|
<script lang="ts" setup>
|
|
22
|
+
/**
|
|
23
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
24
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
25
|
+
* last change 2023-10-28
|
|
26
|
+
* Author: Ks Tan
|
|
27
|
+
*/
|
|
22
28
|
import {PROFILEApi} from '~/simpleapp/generate/openapi'
|
|
23
29
|
const showDialog = ref(false)
|
|
24
30
|
const tabvisible = ref('')
|
|
@@ -68,8 +68,14 @@
|
|
|
68
68
|
</div>
|
|
69
69
|
</template>
|
|
70
70
|
<script setup lang="ts">
|
|
71
|
+
/**
|
|
72
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
73
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
74
|
+
* last change 2023-10-28
|
|
75
|
+
* Author: Ks Tan
|
|
76
|
+
*/
|
|
71
77
|
import { isNull } from "lodash";
|
|
72
|
-
import
|
|
78
|
+
import jsonpath from "jsonpath";
|
|
73
79
|
import { AutoCompleteDropdownClickEvent } from "primevue/autocomplete";
|
|
74
80
|
import { autocompletetype, SchemaConfig, SchemaType } from "~/types";
|
|
75
81
|
const autocompleteinput = ref<autocompletetype|undefined>();
|
|
@@ -34,6 +34,12 @@
|
|
|
34
34
|
|
|
35
35
|
</template>
|
|
36
36
|
<script lang="ts" setup>
|
|
37
|
+
/**
|
|
38
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
39
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
40
|
+
* last change 2023-10-28
|
|
41
|
+
* Author: Ks Tan
|
|
42
|
+
*/
|
|
37
43
|
import {ForeignKey} from '~/types'
|
|
38
44
|
import OverlayPanel from 'primevue/overlaypanel';
|
|
39
45
|
import InputText from 'primevue/inputtext';
|
|
@@ -29,6 +29,12 @@
|
|
|
29
29
|
</template>
|
|
30
30
|
<script setup lang="ts">
|
|
31
31
|
import SimpleAppValue from "./SimpleAppValue.vue";
|
|
32
|
+
/**
|
|
33
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
34
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
35
|
+
* last change 2023-10-28
|
|
36
|
+
* Author: Ks Tan
|
|
37
|
+
*/
|
|
32
38
|
// import {camelCaseToWords} from './helper'
|
|
33
39
|
// import {computed,setBlockTracking,watch} from 'vue'
|
|
34
40
|
|
|
@@ -5,8 +5,13 @@
|
|
|
5
5
|
</form>
|
|
6
6
|
</template>
|
|
7
7
|
<script setup lang="ts" >
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
10
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
11
|
+
* last change 2023-10-28
|
|
12
|
+
* Author: Ks Tan
|
|
13
|
+
*/
|
|
14
|
+
import jsonpath from 'jsonpath';
|
|
10
15
|
import { SimpleAppClient } from '~/simpleapp/generate/clients/SimpleAppClient'
|
|
11
16
|
import type { JSONSchema7,JSONSchema7Definition } from 'json-schema';
|
|
12
17
|
import * as alldefaults from '~/simpleapp/generate/defaults'
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="isMobile()" class="w-full">
|
|
3
|
-
<MobileToolbar>
|
|
2
|
+
<div v-if="isMobile()" class="w-full">
|
|
3
|
+
<MobileToolbar class=" bg-gray-800 text-white">
|
|
4
4
|
<template #start>
|
|
5
5
|
<ButtonText class="text-xl" @click="callClose"
|
|
6
|
-
><i class="pi pi-
|
|
6
|
+
><i class="pi pi-times"></i
|
|
7
7
|
></ButtonText>
|
|
8
8
|
</template>
|
|
9
9
|
<template #center>
|
|
10
|
-
<TextTitle>{{ title }}</TextTitle>
|
|
10
|
+
<TextTitle class="text-white ">{{ title }}</TextTitle>
|
|
11
11
|
</template>
|
|
12
12
|
<template #end>
|
|
13
13
|
<div class="flex flex-row-reverse gap-1 w-full">
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
</div>
|
|
36
36
|
</template>
|
|
37
37
|
</MobileToolbar>
|
|
38
|
+
<div class="h-14"></div>
|
|
38
39
|
<ConfirmDialog></ConfirmDialog>
|
|
39
40
|
</div>
|
|
40
41
|
<div v-else class="simpleapp-tool-bar">
|
|
@@ -64,6 +65,12 @@
|
|
|
64
65
|
</div>
|
|
65
66
|
</template>
|
|
66
67
|
<script setup lang="ts">
|
|
68
|
+
/**
|
|
69
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
70
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
71
|
+
* last change 2023-10-28
|
|
72
|
+
* Author: Ks Tan
|
|
73
|
+
*/
|
|
67
74
|
import { SimpleAppClient } from "~/simpleapp/generate/clients/SimpleAppClient";
|
|
68
75
|
import { useConfirm } from "primevue/useconfirm";
|
|
69
76
|
import { FormActions, FormCrudEvent, FormMenu } from "~/types";
|
|
@@ -74,9 +81,9 @@ const props = defineProps<{
|
|
|
74
81
|
document: SimpleAppClient<any, any>;
|
|
75
82
|
disableaction?: string[];
|
|
76
83
|
}>();
|
|
77
|
-
const createData = async () => await doc.create();
|
|
78
|
-
const updateData = async () => await doc.update();
|
|
79
|
-
const deleteData = async () => await doc.delete();
|
|
84
|
+
const createData = async () => {try{ return await doc.create()}catch(e){console.debug('validation error:',e)}};
|
|
85
|
+
const updateData = async () => {try{ return await doc.update()}catch(e){console.debug('validation error:',e)}};
|
|
86
|
+
const deleteData = async () => {try{ return await doc.delete()}catch(e){console.debug('validation error:',e)}};
|
|
80
87
|
|
|
81
88
|
const doc = props.document;
|
|
82
89
|
const data = doc.getReactiveData();
|
|
@@ -102,10 +109,10 @@ const toggleMenu = (event: MouseEvent) => {
|
|
|
102
109
|
menu.value.toggle(event);
|
|
103
110
|
};
|
|
104
111
|
|
|
105
|
-
const callClose = (e:MouseEvent) => {
|
|
112
|
+
const callClose = (e: MouseEvent) => {
|
|
106
113
|
useNuxtApp().$event("CloseDialog", doc.getDocName());
|
|
107
|
-
emitEvent({action:
|
|
108
|
-
// async (menu: FormMenu, clickEvent: MouseEvent)
|
|
114
|
+
emitEvent({ action: "exit", type: "menu", label: "" }, e);
|
|
115
|
+
// async (menu: FormMenu, clickEvent: MouseEvent)
|
|
109
116
|
};
|
|
110
117
|
const emitMobileEvent = (itemevent: {
|
|
111
118
|
item: any;
|
|
@@ -152,15 +159,12 @@ const emitEvent = async (menu: FormMenu, clickEvent: MouseEvent) => {
|
|
|
152
159
|
} else {
|
|
153
160
|
if (menu.action == "create") {
|
|
154
161
|
if (await createData()) emits("on", FormCrudEvent.create);
|
|
155
|
-
}
|
|
156
|
-
else if (menu.action == "update") {
|
|
162
|
+
} else if (menu.action == "update") {
|
|
157
163
|
if (await updateData()) emits("on", FormCrudEvent.update);
|
|
158
|
-
}
|
|
159
|
-
else if (menu.type == "setDocStatus")
|
|
164
|
+
} else if (menu.type == "setDocStatus")
|
|
160
165
|
emits("on", FormCrudEvent.setDocStatus, menu.action);
|
|
161
|
-
else if (menu.action == FormCrudEvent.exit)
|
|
162
|
-
|
|
163
|
-
}
|
|
166
|
+
else if (menu.action == FormCrudEvent.exit) emits("on", FormCrudEvent.exit);
|
|
167
|
+
}
|
|
164
168
|
};
|
|
165
169
|
|
|
166
170
|
const getDocActions = () => {
|
|
@@ -238,6 +238,12 @@
|
|
|
238
238
|
</template>
|
|
239
239
|
|
|
240
240
|
<script lang="ts" setup>
|
|
241
|
+
/**
|
|
242
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
243
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
244
|
+
* last change 2023-10-28
|
|
245
|
+
* Author: Ks Tan
|
|
246
|
+
*/
|
|
241
247
|
import { autocompletetype } from "~/types";
|
|
242
248
|
import moment from "moment";
|
|
243
249
|
import AutoComplete, { AutoCompleteProps } from "primevue/autocomplete";
|
|
@@ -26,7 +26,12 @@
|
|
|
26
26
|
</DataTable>
|
|
27
27
|
</template>
|
|
28
28
|
<script setup lang="ts">
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
31
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
32
|
+
* last change 2023-10-28
|
|
33
|
+
* Author: Ks Tan
|
|
34
|
+
*/
|
|
30
35
|
import {ref} from 'vue'
|
|
31
36
|
import DataTable from 'primevue/datatable';
|
|
32
37
|
import Column from 'primevue/column';
|
|
@@ -5,6 +5,12 @@
|
|
|
5
5
|
</form>
|
|
6
6
|
</template>
|
|
7
7
|
<script setup lang="ts" >
|
|
8
|
+
/**
|
|
9
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
10
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
11
|
+
* last change 2023-10-28
|
|
12
|
+
* Author: Ks Tan
|
|
13
|
+
*/
|
|
8
14
|
import type { JSONSchema7,JSONSchema7Definition } from 'json-schema';
|
|
9
15
|
import Ajv from 'ajv';
|
|
10
16
|
import addFormats from 'ajv-formats';
|
|
@@ -96,6 +96,12 @@
|
|
|
96
96
|
</Datatable>
|
|
97
97
|
</template>
|
|
98
98
|
<script setup lang="ts" generic="T">
|
|
99
|
+
/**
|
|
100
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
101
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
102
|
+
* last change 2023-10-28
|
|
103
|
+
* Author: Ks Tan
|
|
104
|
+
*/
|
|
99
105
|
import {CellSetting} from '~/types'
|
|
100
106
|
import { FilterMatchMode } from 'primevue/api';
|
|
101
107
|
import DataTable from 'primevue/datatable';
|
|
@@ -3,3 +3,11 @@
|
|
|
3
3
|
<slot name="default"></slot>
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
6
|
+
<script setup lang="ts">
|
|
7
|
+
/**
|
|
8
|
+
* This file was automatically generated by simpleapp generator during initialization. It is changable.
|
|
9
|
+
* --remove-this-line-to-prevent-override--
|
|
10
|
+
* last change 2024-02-22
|
|
11
|
+
* author: Ks Tan
|
|
12
|
+
*/
|
|
13
|
+
</script>
|
|
@@ -3,3 +3,11 @@
|
|
|
3
3
|
<slot name="default"></slot>
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
6
|
+
<script setup lang="ts">
|
|
7
|
+
/**
|
|
8
|
+
* This file was automatically generated by simpleapp generator during initialization. It is changable.
|
|
9
|
+
* --remove-this-line-to-prevent-override--
|
|
10
|
+
* last change 2024-02-22
|
|
11
|
+
* author: Ks Tan
|
|
12
|
+
*/
|
|
13
|
+
</script>
|
|
@@ -3,3 +3,11 @@
|
|
|
3
3
|
<slot name="default"></slot>
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
6
|
+
<script setup lang="ts">
|
|
7
|
+
/**
|
|
8
|
+
* This file was automatically generated by simpleapp generator during initialization. It is changable.
|
|
9
|
+
* --remove-this-line-to-prevent-override--
|
|
10
|
+
* last change 2024-02-22
|
|
11
|
+
* author: Ks Tan
|
|
12
|
+
*/
|
|
13
|
+
</script>
|
|
@@ -59,6 +59,12 @@
|
|
|
59
59
|
|
|
60
60
|
</template>
|
|
61
61
|
<script setup lang="ts">
|
|
62
|
+
/**
|
|
63
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
64
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
65
|
+
* last change 2023-10-28
|
|
66
|
+
* Author: Ks Tan
|
|
67
|
+
*/
|
|
62
68
|
import {ref} from 'vue'
|
|
63
69
|
import {AxiosResponse} from 'axios'
|
|
64
70
|
const visible = ref(false);
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
</div>
|
|
55
55
|
</template>
|
|
56
56
|
<script setup lang="ts">
|
|
57
|
+
/**
|
|
58
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
59
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
60
|
+
* last change 2023-10-28
|
|
61
|
+
* Author: Ks Tan
|
|
62
|
+
*/
|
|
57
63
|
import _ from "lodash";
|
|
58
64
|
import Chip from 'primevue/chip';
|
|
59
65
|
import RadioButton from 'primevue/radiobutton';
|
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
</div>
|
|
10
|
-
<div >
|
|
11
|
-
<Button class="btn-primary" @click="approve(item._id)">Approve</Button>
|
|
12
|
-
<Button class="btn-danger" @click="decline(item._id)">Decline</Button>
|
|
13
|
-
</div>
|
|
2
|
+
<Dialog v-model:visible="visible" modal :header="popuptitle" class="crudsimple-dialog" :autoZIndex="false" :style="{zIndex:100 }">
|
|
3
|
+
<div v-if="invites">
|
|
4
|
+
|
|
5
|
+
<div v-for="item in invites" class="w w-auto p p-2 grid grid-cols-3 hover-list-primary border">
|
|
6
|
+
<div class="flex flex-col col-span-2">
|
|
7
|
+
<div class="font font-bold">{{item.tenantName}}</div>
|
|
8
|
+
<div class="text text-xs text-gray-500 italic">{{ item.created }}</div>
|
|
14
9
|
</div>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
<div >
|
|
11
|
+
<Button class="btn-primary" @click="approve(item._id)">Approve</Button>
|
|
12
|
+
<Button class="btn-danger" @click="decline(item._id)">Decline</Button>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</Dialog>
|
|
17
|
+
</template>
|
|
18
|
+
<script setup lang="ts">
|
|
19
|
+
/**
|
|
20
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
21
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
22
|
+
* last change 2023-10-28
|
|
23
|
+
* Author: Ks Tan
|
|
24
|
+
*/
|
|
19
25
|
import Dialog from 'primevue/dialog';
|
|
20
26
|
import {onMounted, ref} from 'vue'
|
|
21
27
|
import {EventType} from '../types'
|