@adminforth/bulk-ai-flow 1.3.0 → 1.4.0
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/build.log +2 -2
- package/custom/visionAction.vue +2 -3
- package/dist/custom/visionAction.vue +2 -3
- package/dist/index.js +9 -5
- package/index.ts +9 -5
- package/package.json +1 -1
- package/types.ts +11 -1
package/build.log
CHANGED
|
@@ -11,5 +11,5 @@ custom/tsconfig.json
|
|
|
11
11
|
custom/visionAction.vue
|
|
12
12
|
custom/visionTable.vue
|
|
13
13
|
|
|
14
|
-
sent 56,
|
|
15
|
-
total size is 56,
|
|
14
|
+
sent 56,553 bytes received 134 bytes 113,374.00 bytes/sec
|
|
15
|
+
total size is 56,046 speedup is 0.99
|
package/custom/visionAction.vue
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
<Dialog ref="confirmDialog">
|
|
9
9
|
<div
|
|
10
10
|
class="fixed inset-0 z-20 flex items-center justify-center bg-black/40"
|
|
11
|
-
@click="closeDialog"
|
|
12
11
|
>
|
|
13
12
|
<div
|
|
14
13
|
class="bulk-vision-dialog flex items-center justify-center relative max-w-[95vw] min-w-[640px] max-h-[90vh] bg-white dark:bg-gray-900 rounded-md shadow-2xl overflow-hidden"
|
|
@@ -73,7 +72,7 @@ import VisionTable from './visionTable.vue'
|
|
|
73
72
|
import adminforth from '@/adminforth';
|
|
74
73
|
import { useI18n } from 'vue-i18n';
|
|
75
74
|
import { useRoute } from 'vue-router';
|
|
76
|
-
import {
|
|
75
|
+
import { AdminUser, type AdminForthResourceCommon } from '@/types';
|
|
77
76
|
|
|
78
77
|
const route = useRoute();
|
|
79
78
|
const { t } = useI18n();
|
|
@@ -435,7 +434,7 @@ async function saveData() {
|
|
|
435
434
|
props.clearCheckboxes();
|
|
436
435
|
} else if (res.ok === false) {
|
|
437
436
|
adminforth.alert({
|
|
438
|
-
message:
|
|
437
|
+
message: res.error,
|
|
439
438
|
variant: 'danger',
|
|
440
439
|
timeout: 'unlimited',
|
|
441
440
|
});
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
<Dialog ref="confirmDialog">
|
|
9
9
|
<div
|
|
10
10
|
class="fixed inset-0 z-20 flex items-center justify-center bg-black/40"
|
|
11
|
-
@click="closeDialog"
|
|
12
11
|
>
|
|
13
12
|
<div
|
|
14
13
|
class="bulk-vision-dialog flex items-center justify-center relative max-w-[95vw] min-w-[640px] max-h-[90vh] bg-white dark:bg-gray-900 rounded-md shadow-2xl overflow-hidden"
|
|
@@ -73,7 +72,7 @@ import VisionTable from './visionTable.vue'
|
|
|
73
72
|
import adminforth from '@/adminforth';
|
|
74
73
|
import { useI18n } from 'vue-i18n';
|
|
75
74
|
import { useRoute } from 'vue-router';
|
|
76
|
-
import {
|
|
75
|
+
import { AdminUser, type AdminForthResourceCommon } from '@/types';
|
|
77
76
|
|
|
78
77
|
const route = useRoute();
|
|
79
78
|
const { t } = useI18n();
|
|
@@ -435,7 +434,7 @@ async function saveData() {
|
|
|
435
434
|
props.clearCheckboxes();
|
|
436
435
|
} else if (res.ok === false) {
|
|
437
436
|
adminforth.alert({
|
|
438
|
-
message:
|
|
437
|
+
message: res.error,
|
|
439
438
|
variant: 'danger',
|
|
440
439
|
timeout: 'unlimited',
|
|
441
440
|
});
|
package/dist/index.js
CHANGED
|
@@ -292,10 +292,14 @@ export default class BulkAiFlowPlugin extends AdminForthPlugin {
|
|
|
292
292
|
server.endpoint({
|
|
293
293
|
method: 'POST',
|
|
294
294
|
path: `/plugin/${this.pluginInstanceId}/update_fields`,
|
|
295
|
-
handler: (
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
295
|
+
handler: (_a) => __awaiter(this, [_a], void 0, function* ({ body, adminUser, headers }) {
|
|
296
|
+
let isAllowedToSave = { ok: true, error: '' };
|
|
297
|
+
if (this.options.isAllowedToSave) {
|
|
298
|
+
isAllowedToSave = yield this.options.isAllowedToSave({ record: {}, adminUser: adminUser, resource: this.resourceConfig });
|
|
299
|
+
}
|
|
300
|
+
if (isAllowedToSave.ok !== false) {
|
|
301
|
+
const selectedIds = body.selectedIds || [];
|
|
302
|
+
const fieldsToUpdate = body.fields || {};
|
|
299
303
|
const outputImageFields = [];
|
|
300
304
|
if (this.options.generateImages) {
|
|
301
305
|
for (const [key, value] of Object.entries(this.options.generateImages)) {
|
|
@@ -334,7 +338,7 @@ export default class BulkAiFlowPlugin extends AdminForthPlugin {
|
|
|
334
338
|
return { ok: true };
|
|
335
339
|
}
|
|
336
340
|
else {
|
|
337
|
-
return { ok: false };
|
|
341
|
+
return { ok: false, error: isAllowedToSave.error };
|
|
338
342
|
}
|
|
339
343
|
})
|
|
340
344
|
});
|
package/index.ts
CHANGED
|
@@ -338,10 +338,14 @@ export default class BulkAiFlowPlugin extends AdminForthPlugin {
|
|
|
338
338
|
server.endpoint({
|
|
339
339
|
method: 'POST',
|
|
340
340
|
path: `/plugin/${this.pluginInstanceId}/update_fields`,
|
|
341
|
-
handler: async ( body ) => {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
341
|
+
handler: async ({ body, adminUser, headers }) => {
|
|
342
|
+
let isAllowedToSave: any = { ok: true, error: '' };
|
|
343
|
+
if(this.options.isAllowedToSave) {
|
|
344
|
+
isAllowedToSave = await this.options.isAllowedToSave({ record: {}, adminUser: adminUser, resource: this.resourceConfig });
|
|
345
|
+
}
|
|
346
|
+
if (isAllowedToSave.ok !== false) {
|
|
347
|
+
const selectedIds = body.selectedIds || [];
|
|
348
|
+
const fieldsToUpdate = body.fields || {};
|
|
345
349
|
const outputImageFields = [];
|
|
346
350
|
if (this.options.generateImages) {
|
|
347
351
|
for (const [key, value] of Object.entries(this.options.generateImages)) {
|
|
@@ -380,7 +384,7 @@ export default class BulkAiFlowPlugin extends AdminForthPlugin {
|
|
|
380
384
|
await Promise.all(updates);
|
|
381
385
|
return { ok: true };
|
|
382
386
|
} else {
|
|
383
|
-
return { ok: false }
|
|
387
|
+
return { ok: false, error: isAllowedToSave.error };
|
|
384
388
|
}
|
|
385
389
|
}
|
|
386
390
|
});
|
package/package.json
CHANGED
package/types.ts
CHANGED
|
@@ -51,5 +51,15 @@ export interface PluginOptions {
|
|
|
51
51
|
/**
|
|
52
52
|
* Whether the user is allowed to save the generated images
|
|
53
53
|
*/
|
|
54
|
-
isAllowedToSave?:
|
|
54
|
+
isAllowedToSave?: ({ record, adminUser, resource }: {
|
|
55
|
+
record: any;
|
|
56
|
+
adminUser: any;
|
|
57
|
+
resource: any;
|
|
58
|
+
}) => Promise<{
|
|
59
|
+
ok: boolean;
|
|
60
|
+
error: string;
|
|
61
|
+
} | {
|
|
62
|
+
ok: boolean;
|
|
63
|
+
error?: undefined;
|
|
64
|
+
}>
|
|
55
65
|
}
|