atom-nuxt 1.4.13 → 1.4.15
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/module.json +1 -1
- package/dist/runtime/components/CrudFormDialog.vue +11 -2
- package/dist/runtime/components/CrudFormDialog.vue.d.ts +1 -0
- package/dist/runtime/components/CrudPaginatedLoader.vue +18 -0
- package/dist/runtime/components/CrudPaginatedLoader.vue.d.ts +1 -0
- package/package.json +1 -1
package/dist/module.json
CHANGED
|
@@ -124,11 +124,17 @@ const props = defineProps({
|
|
|
124
124
|
type: [String, Number],
|
|
125
125
|
required: false,
|
|
126
126
|
default: null
|
|
127
|
+
},
|
|
128
|
+
onFormErrorsText: {
|
|
129
|
+
type: String,
|
|
130
|
+
required: false,
|
|
131
|
+
default: "Please correct the errors and try again."
|
|
127
132
|
}
|
|
128
133
|
});
|
|
129
134
|
const item = defineModel();
|
|
130
135
|
const dialogOpen = defineModel("dialog");
|
|
131
136
|
const hasItem = computed(() => item.value && Object.keys(item.value).length > 0);
|
|
137
|
+
const hasFormErrors = computed(() => props.formErrors && Object.keys(props.formErrors).length > 0);
|
|
132
138
|
const buttonTitle = computed(() => {
|
|
133
139
|
return props.btnText ? props.btnText : props.action === "create" ? props.createTitle : props.action === "update" ? props.updateTitle : props.action === "delete" ? props.deleteTitle : props.action === "view" ? props.viewTitle : "";
|
|
134
140
|
});
|
|
@@ -231,11 +237,14 @@ const dialogTransition = computed(() => {
|
|
|
231
237
|
</suspense>
|
|
232
238
|
</div>
|
|
233
239
|
</div>
|
|
234
|
-
<v-card-actions v-if="!hideActions && action !== 'view'" :class="['pa-0 border-t pa-4 elevation-5', effectiveDialogStyle === 'leaf' ? 'flex-shrink-0' : '']">
|
|
235
|
-
<div class="flex-fill">
|
|
240
|
+
<v-card-actions v-if="!hideActions && action !== 'view'" :class="['pa-0 border-t pa-4 elevation-5 d-flex align-center', effectiveDialogStyle === 'leaf' ? 'flex-shrink-0' : '']">
|
|
241
|
+
<div class="flex-fill d-flex align-center">
|
|
236
242
|
<slot name="beforeActions" :item="item" :action="action" :errors="formErrors" :pending="itemPending" :formPending="formPending">
|
|
237
243
|
|
|
238
244
|
</slot>
|
|
245
|
+
<div v-if="hasFormErrors && onFormErrorsText" class="text-error font-weight-bold">
|
|
246
|
+
{{ onFormErrorsText }}
|
|
247
|
+
</div>
|
|
239
248
|
</div>
|
|
240
249
|
<v-btn
|
|
241
250
|
size="large"
|
|
@@ -26,6 +26,7 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
|
26
26
|
updateDialogSize: string | number;
|
|
27
27
|
deleteDialogSize: string | number;
|
|
28
28
|
viewDialogSize: string | number;
|
|
29
|
+
onFormErrorsText: string;
|
|
29
30
|
btnText?: string | undefined;
|
|
30
31
|
$props: any;
|
|
31
32
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -176,6 +176,11 @@ const props = defineProps({
|
|
|
176
176
|
type: [String, Number],
|
|
177
177
|
required: false,
|
|
178
178
|
default: null
|
|
179
|
+
},
|
|
180
|
+
onFormErrorsText: {
|
|
181
|
+
type: String,
|
|
182
|
+
required: false,
|
|
183
|
+
default: "Please correct the errors and try again."
|
|
179
184
|
}
|
|
180
185
|
});
|
|
181
186
|
const {
|
|
@@ -263,8 +268,20 @@ const onQueryChange = (page2) => {
|
|
|
263
268
|
};
|
|
264
269
|
if (props.loaderKey) {
|
|
265
270
|
finalQuery[props.loaderKey] = stringifyQuery(newQuery);
|
|
271
|
+
if (route.query[`${props.loaderKey}action`]) {
|
|
272
|
+
finalQuery[`${props.loaderKey}action`] = route.query[`${props.loaderKey}action`];
|
|
273
|
+
}
|
|
274
|
+
if (route.query[`${props.loaderKey}actionId`]) {
|
|
275
|
+
finalQuery[`${props.loaderKey}actionId`] = route.query[`${props.loaderKey}actionId`];
|
|
276
|
+
}
|
|
266
277
|
} else {
|
|
267
278
|
finalQuery = newQuery;
|
|
279
|
+
if (route.query.action) {
|
|
280
|
+
finalQuery.action = route.query.action;
|
|
281
|
+
}
|
|
282
|
+
if (route.query.actionId) {
|
|
283
|
+
finalQuery.actionId = route.query.actionId;
|
|
284
|
+
}
|
|
268
285
|
}
|
|
269
286
|
console.error("Setting query", finalQuery);
|
|
270
287
|
router.replace({ path: route.path, query: finalQuery, force: true });
|
|
@@ -586,6 +603,7 @@ const exportAction = async () => {
|
|
|
586
603
|
:update-dialog-size="updateDialogSize"
|
|
587
604
|
:delete-dialog-size="deleteDialogSize"
|
|
588
605
|
:view-dialog-size="viewDialogSize"
|
|
606
|
+
:on-form-errors-text="onFormErrorsText"
|
|
589
607
|
>
|
|
590
608
|
<slot
|
|
591
609
|
name="form" :action="action"
|
|
@@ -20,6 +20,7 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
|
20
20
|
updateDialogSize: string | number;
|
|
21
21
|
deleteDialogSize: string | number;
|
|
22
22
|
viewDialogSize: string | number;
|
|
23
|
+
onFormErrorsText: string;
|
|
23
24
|
allowCreate: boolean;
|
|
24
25
|
hideFilters: boolean;
|
|
25
26
|
filtersTitle: string;
|