@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.
Files changed (211) hide show
  1. package/dist/generate.js +7 -3
  2. package/dist/generate.js.map +1 -1
  3. package/package.json +1 -1
  4. package/src/generate.ts +7 -3
  5. package/templates/basic/nest/apischema.ts.eta +2 -3
  6. package/templates/basic/nest/controller.ts.eta +3 -4
  7. package/templates/basic/nest/default.ts.eta +6 -0
  8. package/templates/basic/nest/jsonschema.ts.eta +3 -4
  9. package/templates/basic/nest/model.ts.eta +3 -5
  10. package/templates/basic/nest/processor.ts.eta +3 -4
  11. package/templates/basic/nest/service.ts.eta +8 -1
  12. package/templates/basic/nest/type.ts.eta +3 -4
  13. package/templates/basic/nuxt/default.ts.eta +6 -0
  14. package/templates/basic/nuxt/pages.form.vue.eta +2 -1
  15. package/templates/basic/nuxt/simpleapp.generate.client.ts.eta +3 -4
  16. package/templates/nest/.env._eta +2 -1
  17. package/templates/nest/.gitignore.eta +5 -0
  18. package/templates/nest/src/simpleapp/.gitignore.eta +5 -0
  19. package/templates/nest/src/simpleapp/apischemas/index.ts._eta +6 -1
  20. package/templates/nest/src/simpleapp/generate/apischemas/index.ts.eta +7 -0
  21. package/templates/nest/src/simpleapp/generate/apischemas/simpleapp.apischema.ts.eta +1 -1
  22. package/templates/nest/src/simpleapp/generate/workflow/formschema/index.ts.eta +6 -0
  23. package/templates/nest/src/simpleapp/generate/workflow/workflow.apischema.ts.eta +6 -0
  24. package/templates/nest/src/simpleapp/generate/workflow/workflow.config.ts.eta +6 -0
  25. package/templates/nest/src/simpleapp/generate/workflow/workflow.controller.ts.eta +6 -0
  26. package/templates/nest/src/simpleapp/generate/workflow/workflow.delegate.ts.eta +6 -0
  27. package/templates/nest/src/simpleapp/generate/workflow/workflow.service.ts.eta +2 -4
  28. package/templates/nest/src/simpleapp/generate/workflow/workflow.type.ts.eta +4 -5
  29. package/templates/nest/src/simpleapp/generate/workflow/workflow.userservice.ts.eta +6 -0
  30. package/templates/nest/src/simpleapp/profile/profile.apischema.ts.eta +1 -1
  31. package/templates/nest/src/simpleapp/profile/profile.controller.ts.eta +1 -1
  32. package/templates/nest/src/simpleapp/profile/profile.service.ts.eta +1 -1
  33. package/templates/nest/src/simpleapp/profile/profile.types.ts.eta +1 -1
  34. package/templates/nest/src/simpleapp/services/autoinc.service.ts.eta +1 -1
  35. package/templates/nest/src/simpleapp/services/branch.service.ts.eta +1 -1
  36. package/templates/nest/src/simpleapp/services/docno.service.ts.eta +1 -1
  37. package/templates/nest/src/simpleapp/services/org.service.ts.eta +1 -1
  38. package/templates/nest/src/simpleapp/services/perm.service.ts.eta +1 -1
  39. package/templates/nest/src/simpleapp/services/tenant.service.ts.eta +1 -1
  40. package/templates/nest/src/simpleapp/services/user.service.ts.etax +1 -1
  41. package/templates/nest/src/simpleapp/types/index.ts._eta +6 -1
  42. package/templates/nest/src/simpleapp/workflows/listeners/simpleapp.listener.ts._eta +4 -5
  43. package/templates/nest/test/app.e2e-spec.ts.eta +6 -0
  44. package/templates/nest/test/setting.ts.eta +6 -0
  45. package/templates/nuxt/.env._eta +2 -1
  46. package/templates/nuxt/.gitignore.eta +5 -0
  47. package/templates/nuxt/{app.vue.eta → app.vue._eta} +14 -14
  48. package/templates/nuxt/assets/css/calendar.css._eta +6 -1
  49. package/templates/nuxt/assets/css/listview.css._eta +17 -0
  50. package/templates/nuxt/assets/css/style.css._eta +6 -4
  51. package/templates/nuxt/assets/css/tailwind.css._eta +6 -0
  52. package/templates/nuxt/assets/primevue/passthrough.ts._eta +13 -8
  53. package/templates/nuxt/components/button/ButtonDanger.vue._eta +16 -4
  54. package/templates/nuxt/components/button/ButtonDefault.vue._eta +17 -4
  55. package/templates/nuxt/components/button/ButtonMultiple.vue._eta +8 -2
  56. package/templates/nuxt/components/button/ButtonPrimary.vue._eta +17 -5
  57. package/templates/nuxt/components/button/ButtonText.vue._eta +21 -0
  58. package/templates/nuxt/components/button/ButtonWarning.vue._eta +17 -5
  59. package/templates/nuxt/components/calendar/CalendarByResource.vue.eta +7 -3
  60. package/templates/nuxt/components/calendar/CalendarSmall.vue.eta +6 -0
  61. package/templates/nuxt/components/debug/DebugDocumentData.vue.eta +3 -3
  62. package/templates/nuxt/components/event/EventDecision.vue._eta +3 -3
  63. package/templates/nuxt/components/event/EventDocumentViewer.vue._eta +3 -3
  64. package/templates/nuxt/components/event/EventNotification.vue._eta +3 -3
  65. package/templates/nuxt/components/form/FormBranch.vue.eta +4 -3
  66. package/templates/nuxt/components/header/HeaderBar.vue._eta +7 -1
  67. package/templates/nuxt/components/header/HeaderBreadcrumb.vue.eta +6 -0
  68. package/templates/nuxt/components/header/HeaderSelectBranch.vue.eta +6 -0
  69. package/templates/nuxt/components/header/button/HeaderButtonHome.vue.eta +6 -1
  70. package/templates/nuxt/components/header/button/HeaderButtonLogout.vue.eta +9 -1
  71. package/templates/nuxt/components/header/button/HeaderButtonMenuPicker.vue._eta +7 -0
  72. package/templates/nuxt/components/header/button/HeaderButtonProfile.vue.eta +6 -0
  73. package/templates/nuxt/components/header/button/task/HeaderButtonTaskItem.vue.eta +7 -0
  74. package/templates/nuxt/components/header/button/task/HeaderButtonTaskList.vue.eta +6 -0
  75. package/templates/nuxt/components/list/ListDocument.vue.eta +6 -0
  76. package/templates/nuxt/components/list/ListDocumentTable.vue.eta +6 -0
  77. package/templates/nuxt/components/list/ListView.vue.eta +60 -47
  78. package/templates/nuxt/components/mobile/MobileToolbar.vue.eta +9 -3
  79. package/templates/nuxt/components/overlay/OverlayPanelWithToolBar.vue.eta +44 -0
  80. package/templates/nuxt/components/overlay/OverlaySideBarCrud.vue.eta +10 -1
  81. package/templates/nuxt/components/overlay/OverlayViewer.vue.eta +7 -1
  82. package/templates/nuxt/components/page/PageDocList.vue.eta +23 -14
  83. package/templates/nuxt/components/renderer/index.ts._eta +3 -3
  84. package/templates/nuxt/components/session/SessionBlock.vue.eta +6 -0
  85. package/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta +7 -1
  86. package/templates/nuxt/components/simpleApp/SimpleAppDocumentNo.vue.eta +6 -0
  87. package/templates/nuxt/components/simpleApp/SimpleAppFieldContainer.vue.eta +6 -0
  88. package/templates/nuxt/components/simpleApp/SimpleAppForm.vue.eta +7 -2
  89. package/templates/nuxt/components/simpleApp/SimpleAppFormToolBar.vue.eta +21 -17
  90. package/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta +6 -0
  91. package/templates/nuxt/components/simpleApp/SimpleAppInputTable.vue.eta +6 -1
  92. package/templates/nuxt/components/simpleApp/SimpleAppJsonSchemaForm.vue.eta +6 -0
  93. package/templates/nuxt/components/table/TableDocuments.vue.eta +6 -0
  94. package/templates/nuxt/components/text/TextDanger.vue._eta +8 -0
  95. package/templates/nuxt/components/text/TextSubtitle.vue._eta +8 -0
  96. package/templates/nuxt/components/text/TextTitle.vue._eta +8 -0
  97. package/templates/nuxt/components/user/UserButtonCreateTenant.vue.eta +6 -0
  98. package/templates/nuxt/components/user/UserButtonPermissionInfo.vue.eta +6 -0
  99. package/templates/nuxt/components/user/UserInvitation.vue.eta +22 -16
  100. package/templates/nuxt/components/user/UserProfileListItem.vue.eta +6 -1
  101. package/templates/nuxt/components/user/UserTenantPicker.vue.eta +6 -1
  102. package/templates/nuxt/components/viewer/readme.md.eta +1 -0
  103. package/templates/nuxt/components/workflow/forms/dynamicfield.vue._eta +7 -0
  104. package/templates/nuxt/components/workflow/forms/index.ts._eta +7 -0
  105. package/templates/nuxt/components/workflow/forms/simpleapprove.vue._eta +6 -0
  106. package/templates/nuxt/composables/date.generate.ts.eta +6 -3
  107. package/templates/nuxt/composables/docformat.generate.ts.eta +6 -0
  108. package/templates/nuxt/composables/getDocument.generate.ts.eta +6 -0
  109. package/templates/nuxt/composables/getTenant.generate.ts.eta +6 -0
  110. package/templates/nuxt/composables/getUserStore.generate.ts.eta +6 -0
  111. package/templates/nuxt/composables/goTo.generate.ts.eta +6 -0
  112. package/templates/nuxt/composables/logout.generate.ts.eta +6 -0
  113. package/templates/nuxt/composables/notifications.generate.ts.eta +6 -0
  114. package/templates/nuxt/composables/refreshDocumentList.generate.ts.eta +6 -0
  115. package/templates/nuxt/composables/roles.generate.ts.eta +6 -0
  116. package/templates/nuxt/composables/screensize.generate.ts.eta +6 -0
  117. package/templates/nuxt/composables/stringHelper.generate.ts.eta +6 -0
  118. package/templates/nuxt/composables/themes.generate.ts.eta +6 -0
  119. package/templates/nuxt/composables/workflow.generate.ts.eta +6 -0
  120. package/templates/nuxt/error.vue._eta +6 -1
  121. package/templates/nuxt/i18n.config.ts.eta +6 -0
  122. package/templates/nuxt/lang/cn.ts._eta +6 -0
  123. package/templates/nuxt/lang/en.ts.eta +1 -0
  124. package/templates/nuxt/layouts/default.vue._eta +6 -0
  125. package/templates/nuxt/layouts/loginlayout.vue._eta +9 -1
  126. package/templates/nuxt/layouts/mobile.vue._eta +6 -0
  127. package/templates/nuxt/middleware/30.acl.global.ts.eta +1 -1
  128. package/templates/nuxt/nuxt.config.ts._eta +4 -5
  129. package/templates/nuxt/pages/[xorg]/docnoformat/[doctype]/[id].vue.eta +4 -5
  130. package/templates/nuxt/pages/[xorg]/docnoformat/[doctype]/new.vue.eta +7 -0
  131. package/templates/nuxt/pages/[xorg]/docnoformat/[doctype].vue.eta +6 -1
  132. package/templates/nuxt/pages/[xorg]/docnoformat/index.vue.eta +6 -1
  133. package/templates/nuxt/pages/[xorg]/docnoformat.vue.eta +4 -6
  134. package/templates/nuxt/pages/[xorg]/index.vue._eta +4 -5
  135. package/templates/nuxt/pages/[xorg]/organization/viewer.vue.eta +8 -0
  136. package/templates/nuxt/pages/[xorg]/organization.vue.eta +6 -1
  137. package/templates/nuxt/pages/[xorg]/profile.vue.eta +6 -0
  138. package/templates/nuxt/pages/[xorg]/reports/index.vue._eta +18 -0
  139. package/templates/nuxt/pages/[xorg]/user/[id].vue.eta +4 -5
  140. package/templates/nuxt/pages/[xorg]/user/form.vue.eta +6 -1
  141. package/templates/nuxt/pages/[xorg]/user/index.vue.eta +4 -5
  142. package/templates/nuxt/pages/[xorg]/user/new.vue.eta +4 -5
  143. package/templates/nuxt/pages/[xorg]/user/viewer.vue.eta +4 -5
  144. package/templates/nuxt/pages/[xorg]/user.vue.eta +4 -4
  145. package/templates/nuxt/pages/index.vue._eta +4 -4
  146. package/templates/nuxt/pages/login.vue._eta +4 -4
  147. package/templates/nuxt/pages/profile.vue.eta +8 -1
  148. package/templates/nuxt/pages/relogin.vue.eta +6 -0
  149. package/templates/nuxt/plugins/10.simpleapp-event.ts.eta +1 -1
  150. package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +1 -1
  151. package/templates/nuxt/plugins/50.simpleapp-client.ts.eta +1 -1
  152. package/templates/nuxt/server/api/[xorg]/[...].ts.eta +1 -1
  153. package/templates/nuxt/server/api/auth/[...].ts.eta +1 -1
  154. package/templates/nuxt/server/api/auth/logout.ts.eta +1 -1
  155. package/templates/nuxt/server/api/profile/[...].ts.eta +1 -2
  156. package/templates/nuxt/server/api/profile/index.ts.eta +1 -1
  157. package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +2 -4
  158. package/templates/nuxt/simpleapp/generate/commons/documents.ts.eta +2 -2
  159. package/templates/nuxt/simpleapp/generate/commons/groups.ts.eta +1 -1
  160. package/templates/nuxt/simpleapp/generate/commons/roles.ts.eta +1 -1
  161. package/templates/nuxt/simpleapp/generate/defaults/index.ts.eta +7 -0
  162. package/templates/nuxt/simpleapp/generate/types/index.ts.eta +7 -0
  163. package/templates/nuxt/simpleapp/workflows/forms/index.ts._eta +6 -0
  164. package/templates/nuxt/simpleapp/workflows/forms/simpleapprove.jsonschema.ts._eta +6 -0
  165. package/templates/nuxt/tailwind.config.ts._eta +6 -0
  166. package/templates/nuxt/types/calendar.ts.eta +2 -3
  167. package/templates/nuxt/types/documentlist.ts.eta +3 -3
  168. package/templates/nuxt/types/events.ts.eta +2 -2
  169. package/templates/nuxt/types/index.ts._eta +4 -5
  170. package/templates/nuxt/types/listview.ts.eta +2 -2
  171. package/templates/nuxt/types/notifications.ts.eta +2 -2
  172. package/templates/nuxt/types/others.ts.eta +2 -2
  173. package/templates/nuxt/types/schema.ts.eta +2 -2
  174. package/templates/nuxt/types/simpleappinput.ts.eta +2 -2
  175. package/templates/nuxt/types/user.ts.eta +2 -2
  176. package/templates/nuxt/types/workflow.ts.eta +2 -2
  177. package/templates/project/lang/default._json +1 -1
  178. package/templates/project/sharelibs/hello.ts._eta +6 -0
  179. package/templates/project/sharelibs/index.ts.eta +5 -0
  180. package/tsconfig.tsbuildinfo +1 -1
  181. package/templates/nuxt/components/simpleApp/pending/SimpleAppAutocomplete.vue +0 -135
  182. package/templates/nuxt/components/simpleApp/pending/SimpleAppAutocompletemulti.vue +0 -73
  183. package/templates/nuxt/components/simpleApp/pending/SimpleAppCalendar.vue +0 -55
  184. package/templates/nuxt/components/simpleApp/pending/SimpleAppCheckbox.vue +0 -29
  185. package/templates/nuxt/components/simpleApp/pending/SimpleAppChip.vue +0 -28
  186. package/templates/nuxt/components/simpleApp/pending/SimpleAppColor.vue +0 -41
  187. package/templates/nuxt/components/simpleApp/pending/SimpleAppDocumentNo.vue +0 -90
  188. package/templates/nuxt/components/simpleApp/pending/SimpleAppDynamicInput.vue +0 -29
  189. package/templates/nuxt/components/simpleApp/pending/SimpleAppEditor.vue +0 -31
  190. package/templates/nuxt/components/simpleApp/pending/SimpleAppInputTable.vue +0 -83
  191. package/templates/nuxt/components/simpleApp/pending/SimpleAppList.vue +0 -38
  192. package/templates/nuxt/components/simpleApp/pending/SimpleAppListmulti.vue +0 -41
  193. package/templates/nuxt/components/simpleApp/pending/SimpleAppNumber.vue +0 -43
  194. package/templates/nuxt/components/simpleApp/pending/SimpleAppPassword.vue +0 -41
  195. package/templates/nuxt/components/simpleApp/pending/SimpleAppRadio.vue +0 -42
  196. package/templates/nuxt/components/simpleApp/pending/SimpleAppRating.vue +0 -41
  197. package/templates/nuxt/components/simpleApp/pending/SimpleAppSelect.vue +0 -48
  198. package/templates/nuxt/components/simpleApp/pending/SimpleAppSelectmulti.vue +0 -39
  199. package/templates/nuxt/components/simpleApp/pending/SimpleAppSlider.vue +0 -42
  200. package/templates/nuxt/components/simpleApp/pending/SimpleAppSwitch.vue +0 -30
  201. package/templates/nuxt/components/simpleApp/pending/SimpleAppText.vue +0 -59
  202. package/templates/nuxt/components/simpleApp/pending/SimpleAppTextarea.vue +0 -41
  203. package/templates/nuxt/components/simpleApp/pending/SimpleAppValue.vue +0 -86
  204. package/templates/nuxt/components/simpleApp/pending/helper.ts-backup +0 -90
  205. package/templates/nuxt/components/simpleApp/pending/type.ts-backup +0 -32
  206. package/templates/nuxt/components/suspended/CrudNestedDoc.vue.eta +0 -172
  207. package/templates/nuxt/components/suspended/CrudSimple.vue.eta +0 -181
  208. package/templates/nuxt/components/suspended/Menus.vue.eta +0 -58
  209. package/templates/nuxt/components/suspended/Spinner.vue.eta +0 -9
  210. package/templates/nuxt/lang/df.ts.etaxxxx +0 -16
  211. 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
- <div v-if="showIndex" class="flex flex-col text-sm fixed left-1 top-1/5 text-primary-600 dark:text-primary-400 p-1 z-10 rounded border bg-white dark:bg-black opacity-90">
15
- <A :href="'#'+l" v-for="l in allLetters">{{ l }}</A>
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 v-if="filterlist && filterlist.length > 0">
19
- <div >
20
- <div v-for="(item, index) in filterlist" :class="isMobile() ? '' : 'overflow overflow-y-scroll overflow-auto '">
21
- <div class="w-full bg-gray-400 dark:bg-gray-500 p-1 pl-2 top-0 sticky opacity-90" v-if="showIndex && titleField && showCategoryBar(item[titleField][0])">
22
- <a :id="item[titleField][0]">{{ item[titleField][0] }}</a></div>
23
- <div :class="getSelectedCSS(item)">
24
- <NuxtLink :to="url ? `${url}/${item[idField]}` : undefined">
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 hover-list-primary"
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
- console.log('props.titleFieldprops.titleField',props.titleField,props.list)
113
- if(props.titleField && props.list){
114
-
115
- return props.list.filter((item)=>{
116
- const titlevalue:string = item[props.titleField as keyof typeof item]
117
- if(titlevalue[0]!=lastchar){
118
- lastchar = item[props.titleField as keyof typeof item][0]
119
- return true
120
- }
121
- }).map(item=>item[props.titleField as keyof typeof item][0])
122
-
123
- }else{
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
- const showCategoryBar=(letter:string)=>{
130
- if(lastchar!=letter){
131
- lastchar=letter
132
- return true
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) showDialog.value = false;
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=='viewer') showDialog.value = false;
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 v-for="col in columns.filter((item,index)=>index<6)" :header="t(col)" class="min-w-[5rem]" #body="{index,data}">
49
- <RendererLink v-if="uniqueKey === col || documentTitle === col"
50
- :value="data" :setting="{ path: resourcename.toLocaleLowerCase() }"
51
- :fields="[col]" >
52
- {{ data[col] }}
53
- </RendererLink>
54
- <span v-else-if="data[col]?.label !==undefined">{{ data[col].label }}</span>
55
- <span v-else>{{ data[col] }}</span>
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 during initialization.
75
- * DO NOT MODIFY IT BY HAND.
76
- * last change 2024-02-04
77
- * author: Ks Tan
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
- * YOU CAN MODIFY IT.
4
- * last change 2024-02-04
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 * as jsonpath from "jsonpath";
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
- // import type {SimpleAppFieldSetting} from '/types'
9
- import * as jsonpath from 'jsonpath';
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-angle-left"></i
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:'exit',type:'menu',label:''},e)
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
- emits("on", FormCrudEvent.exit);
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
- <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>
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
- </div>
16
- </Dialog>
17
- </template>
18
- <script setup lang="ts">
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'