@fieldia/core 0.28.0 → 0.30.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/README.md +125 -1
- package/package.json +1 -1
- package/schema/page.schema.json +279 -6
- package/src/index.d.mts +8 -2
- package/src/index.d.ts +8 -2
- package/src/index.js +29 -2
- package/src/index.js.map +1 -1
- package/src/index.mjs +11 -2
- package/src/index.mjs.map +1 -1
- package/src/lib/format/approval-checks.d.mts +8 -0
- package/src/lib/format/approval-checks.d.ts +8 -0
- package/src/lib/format/approval-checks.js +29 -0
- package/src/lib/format/approval-checks.js.map +1 -0
- package/src/lib/format/approval-checks.mjs +26 -0
- package/src/lib/format/approval-checks.mjs.map +1 -0
- package/src/lib/format/approval.d.mts +20 -0
- package/src/lib/format/approval.d.ts +20 -0
- package/src/lib/format/approval.js +25 -0
- package/src/lib/format/approval.js.map +1 -0
- package/src/lib/format/approval.mjs +22 -0
- package/src/lib/format/approval.mjs.map +1 -0
- package/src/lib/format/assist-checks.d.mts +14 -0
- package/src/lib/format/assist-checks.d.ts +14 -0
- package/src/lib/format/assist-checks.js +68 -0
- package/src/lib/format/assist-checks.js.map +1 -0
- package/src/lib/format/assist-checks.mjs +64 -0
- package/src/lib/format/assist-checks.mjs.map +1 -0
- package/src/lib/format/assist.d.mts +41 -0
- package/src/lib/format/assist.d.ts +41 -0
- package/src/lib/format/assist.js +29 -0
- package/src/lib/format/assist.js.map +1 -0
- package/src/lib/format/assist.mjs +26 -0
- package/src/lib/format/assist.mjs.map +1 -0
- package/src/lib/format/editable-checks.d.mts +8 -0
- package/src/lib/format/editable-checks.d.ts +8 -0
- package/src/lib/format/editable-checks.js +38 -0
- package/src/lib/format/editable-checks.js.map +1 -0
- package/src/lib/format/editable-checks.mjs +35 -0
- package/src/lib/format/editable-checks.mjs.map +1 -0
- package/src/lib/format/field.d.mts +86 -0
- package/src/lib/format/field.d.ts +86 -0
- package/src/lib/format/field.js +56 -10
- package/src/lib/format/field.js.map +1 -1
- package/src/lib/format/field.mjs +55 -9
- package/src/lib/format/field.mjs.map +1 -1
- package/src/lib/format/head-checks.d.mts +10 -2
- package/src/lib/format/head-checks.d.ts +10 -2
- package/src/lib/format/head-checks.js +9 -2
- package/src/lib/format/head-checks.js.map +1 -1
- package/src/lib/format/head-checks.mjs +10 -4
- package/src/lib/format/head-checks.mjs.map +1 -1
- package/src/lib/format/languages-checks.d.mts +8 -0
- package/src/lib/format/languages-checks.d.ts +8 -0
- package/src/lib/format/languages-checks.js +40 -0
- package/src/lib/format/languages-checks.js.map +1 -0
- package/src/lib/format/languages-checks.mjs +37 -0
- package/src/lib/format/languages-checks.mjs.map +1 -0
- package/src/lib/format/later-checks.d.mts +4 -3
- package/src/lib/format/later-checks.d.ts +4 -3
- package/src/lib/format/later-checks.js +4 -3
- package/src/lib/format/later-checks.js.map +1 -1
- package/src/lib/format/later-checks.mjs +4 -3
- package/src/lib/format/later-checks.mjs.map +1 -1
- package/src/lib/format/layout.d.mts +129 -26
- package/src/lib/format/layout.d.ts +129 -26
- package/src/lib/format/layout.js +24 -3
- package/src/lib/format/layout.js.map +1 -1
- package/src/lib/format/layout.mjs +22 -1
- package/src/lib/format/layout.mjs.map +1 -1
- package/src/lib/format/layout.types.d.mts +2 -1
- package/src/lib/format/layout.types.d.ts +2 -1
- package/src/lib/format/list-editable.d.mts +20 -0
- package/src/lib/format/list-editable.d.ts +20 -0
- package/src/lib/format/list-editable.js +33 -0
- package/src/lib/format/list-editable.js.map +1 -0
- package/src/lib/format/list-editable.mjs +28 -0
- package/src/lib/format/list-editable.mjs.map +1 -0
- package/src/lib/format/page.d.mts +88 -9
- package/src/lib/format/page.d.ts +88 -9
- package/src/lib/format/page.js +4 -0
- package/src/lib/format/page.js.map +1 -1
- package/src/lib/format/page.mjs +4 -0
- package/src/lib/format/page.mjs.map +1 -1
- package/src/lib/format/photos-options.d.mts +29 -0
- package/src/lib/format/photos-options.d.ts +29 -0
- package/src/lib/format/photos-options.js +49 -0
- package/src/lib/format/photos-options.js.map +1 -0
- package/src/lib/format/photos-options.mjs +45 -0
- package/src/lib/format/photos-options.mjs.map +1 -0
- package/src/lib/format/references.d.mts +3 -1
- package/src/lib/format/references.d.ts +3 -1
- package/src/lib/format/references.js +41 -14
- package/src/lib/format/references.js.map +1 -1
- package/src/lib/format/references.mjs +42 -15
- package/src/lib/format/references.mjs.map +1 -1
- package/src/lib/format/scan-checks.d.mts +12 -0
- package/src/lib/format/scan-checks.d.ts +12 -0
- package/src/lib/format/scan-checks.js +89 -0
- package/src/lib/format/scan-checks.js.map +1 -0
- package/src/lib/format/scan-checks.mjs +86 -0
- package/src/lib/format/scan-checks.mjs.map +1 -0
- package/src/lib/format/scan-options.d.mts +84 -0
- package/src/lib/format/scan-options.d.ts +84 -0
- package/src/lib/format/scan-options.js +58 -0
- package/src/lib/format/scan-options.js.map +1 -0
- package/src/lib/format/scan-options.mjs +54 -0
- package/src/lib/format/scan-options.mjs.map +1 -0
- package/src/lib/format/sheet-head-checks.d.mts +10 -2
- package/src/lib/format/sheet-head-checks.d.ts +10 -2
- package/src/lib/format/sheet-head-checks.js +24 -0
- package/src/lib/format/sheet-head-checks.js.map +1 -1
- package/src/lib/format/sheet-head-checks.mjs +23 -0
- package/src/lib/format/sheet-head-checks.mjs.map +1 -1
- package/src/lib/format/upgrade.d.mts +6 -2
- package/src/lib/format/upgrade.d.ts +6 -2
- package/src/lib/format/upgrade.js +6 -2
- package/src/lib/format/upgrade.js.map +1 -1
- package/src/lib/format/upgrade.mjs +6 -2
- package/src/lib/format/upgrade.mjs.map +1 -1
- package/src/lib/format/version.d.mts +2 -2
- package/src/lib/format/version.d.ts +2 -2
- package/src/lib/format/version.js +2 -2
- package/src/lib/format/version.js.map +1 -1
- package/src/lib/format/version.mjs +2 -2
- package/src/lib/format/version.mjs.map +1 -1
- package/src/lib/record/approvals-part.d.mts +6 -0
- package/src/lib/record/approvals-part.d.ts +6 -0
- package/src/lib/record/approvals-part.js +14 -0
- package/src/lib/record/approvals-part.js.map +1 -0
- package/src/lib/record/approvals-part.mjs +7 -0
- package/src/lib/record/approvals-part.mjs.map +1 -0
- package/src/lib/record/approving.d.mts +45 -0
- package/src/lib/record/approving.d.ts +45 -0
- package/src/lib/record/approving.js +10 -0
- package/src/lib/record/approving.js.map +1 -0
- package/src/lib/record/approving.mjs +7 -0
- package/src/lib/record/approving.mjs.map +1 -0
- package/src/lib/record/check.js +4 -0
- package/src/lib/record/check.js.map +1 -1
- package/src/lib/record/check.mjs +4 -0
- package/src/lib/record/check.mjs.map +1 -1
- package/src/lib/record/data-source.d.mts +270 -0
- package/src/lib/record/data-source.d.ts +270 -0
- package/src/lib/record/data-source.js.map +1 -1
- package/src/lib/record/data-source.mjs.map +1 -1
- package/src/lib/record/files-part.d.mts +7 -0
- package/src/lib/record/files-part.d.ts +7 -0
- package/src/lib/record/files-part.js +167 -0
- package/src/lib/record/files-part.js.map +1 -0
- package/src/lib/record/files-part.mjs +163 -0
- package/src/lib/record/files-part.mjs.map +1 -0
- package/src/lib/record/filter.d.mts +5 -0
- package/src/lib/record/filter.d.ts +5 -0
- package/src/lib/record/filter.js +1 -0
- package/src/lib/record/filter.js.map +1 -1
- package/src/lib/record/filter.mjs +1 -1
- package/src/lib/record/filter.mjs.map +1 -1
- package/src/lib/record/form-approvals.d.mts +47 -0
- package/src/lib/record/form-approvals.d.ts +47 -0
- package/src/lib/record/form-approvals.js +186 -0
- package/src/lib/record/form-approvals.js.map +1 -0
- package/src/lib/record/form-approvals.mjs +180 -0
- package/src/lib/record/form-approvals.mjs.map +1 -0
- package/src/lib/record/form.d.mts +32 -1
- package/src/lib/record/form.d.ts +32 -1
- package/src/lib/record/form.js +60 -15
- package/src/lib/record/form.js.map +1 -1
- package/src/lib/record/form.mjs +60 -15
- package/src/lib/record/form.mjs.map +1 -1
- package/src/lib/record/languages-part.d.mts +32 -0
- package/src/lib/record/languages-part.d.ts +32 -0
- package/src/lib/record/languages-part.js +104 -0
- package/src/lib/record/languages-part.js.map +1 -0
- package/src/lib/record/languages-part.mjs +96 -0
- package/src/lib/record/languages-part.mjs.map +1 -0
- package/src/lib/record/languages.d.mts +26 -0
- package/src/lib/record/languages.d.ts +26 -0
- package/src/lib/record/languages.js +20 -0
- package/src/lib/record/languages.js.map +1 -0
- package/src/lib/record/languages.mjs +15 -0
- package/src/lib/record/languages.mjs.map +1 -0
- package/src/lib/record/locales/ar.js +5 -0
- package/src/lib/record/locales/ar.js.map +1 -1
- package/src/lib/record/locales/ar.mjs +5 -0
- package/src/lib/record/locales/ar.mjs.map +1 -1
- package/src/lib/record/locales/de.js +5 -0
- package/src/lib/record/locales/de.js.map +1 -1
- package/src/lib/record/locales/de.mjs +5 -0
- package/src/lib/record/locales/de.mjs.map +1 -1
- package/src/lib/record/locales/fr.js +5 -0
- package/src/lib/record/locales/fr.js.map +1 -1
- package/src/lib/record/locales/fr.mjs +5 -0
- package/src/lib/record/locales/fr.mjs.map +1 -1
- package/src/lib/record/memory-approvals.d.mts +47 -0
- package/src/lib/record/memory-approvals.d.ts +47 -0
- package/src/lib/record/memory-approvals.js +78 -0
- package/src/lib/record/memory-approvals.js.map +1 -0
- package/src/lib/record/memory-approvals.mjs +75 -0
- package/src/lib/record/memory-approvals.mjs.map +1 -0
- package/src/lib/record/memory-assist.d.mts +53 -0
- package/src/lib/record/memory-assist.d.ts +53 -0
- package/src/lib/record/memory-assist.js +519 -0
- package/src/lib/record/memory-assist.js.map +1 -0
- package/src/lib/record/memory-assist.mjs +513 -0
- package/src/lib/record/memory-assist.mjs.map +1 -0
- package/src/lib/record/memory-clusters.d.mts +18 -0
- package/src/lib/record/memory-clusters.d.ts +18 -0
- package/src/lib/record/memory-clusters.js +83 -0
- package/src/lib/record/memory-clusters.js.map +1 -0
- package/src/lib/record/memory-clusters.mjs +80 -0
- package/src/lib/record/memory-clusters.mjs.map +1 -0
- package/src/lib/record/memory-data-source.d.mts +43 -3
- package/src/lib/record/memory-data-source.d.ts +43 -3
- package/src/lib/record/memory-data-source.js +105 -19
- package/src/lib/record/memory-data-source.js.map +1 -1
- package/src/lib/record/memory-data-source.mjs +105 -19
- package/src/lib/record/memory-data-source.mjs.map +1 -1
- package/src/lib/record/memory-later.d.mts +1 -1
- package/src/lib/record/memory-later.d.ts +1 -1
- package/src/lib/record/memory-later.js +4 -1
- package/src/lib/record/memory-later.js.map +1 -1
- package/src/lib/record/memory-later.mjs +4 -1
- package/src/lib/record/memory-later.mjs.map +1 -1
- package/src/lib/record/messages.d.mts +14 -0
- package/src/lib/record/messages.d.ts +14 -0
- package/src/lib/record/messages.js +5 -0
- package/src/lib/record/messages.js.map +1 -1
- package/src/lib/record/messages.mjs +5 -0
- package/src/lib/record/messages.mjs.map +1 -1
- package/src/lib/record/run.d.mts +6 -1
- package/src/lib/record/run.d.ts +6 -1
- package/src/lib/record/run.js.map +1 -1
- package/src/lib/record/run.mjs.map +1 -1
- package/src/lib/record/uploads.d.mts +35 -9
- package/src/lib/record/uploads.d.ts +35 -9
- package/src/lib/record/uploads.js +49 -169
- package/src/lib/record/uploads.js.map +1 -1
- package/src/lib/record/uploads.mjs +42 -164
- package/src/lib/record/uploads.mjs.map +1 -1
- package/src/lib/record/values.d.mts +23 -0
- package/src/lib/record/values.d.ts +23 -0
- package/src/lib/record/values.js +4 -0
- package/src/lib/record/values.js.map +1 -1
- package/src/lib/record/values.mjs +4 -0
- package/src/lib/record/values.mjs.map +1 -1
- package/src/runtime.d.mts +12 -5
- package/src/runtime.d.ts +12 -5
- package/src/runtime.js +18 -3
- package/src/runtime.js.map +1 -1
- package/src/runtime.mjs +7 -1
- package/src/runtime.mjs.map +1 -1
package/src/lib/format/page.js
CHANGED
|
@@ -11,6 +11,8 @@ const duplicates_1 = require("./duplicates");
|
|
|
11
11
|
const records_1 = require("./records");
|
|
12
12
|
const endings_1 = require("./endings");
|
|
13
13
|
const limits_1 = require("./limits");
|
|
14
|
+
const approval_1 = require("./approval");
|
|
15
|
+
const assist_1 = require("./assist");
|
|
14
16
|
const themes_1 = require("./themes");
|
|
15
17
|
var themes_2 = require("./themes");
|
|
16
18
|
Object.defineProperty(exports, "THEMES", { enumerable: true, get: function () { return themes_2.THEMES; } });
|
|
@@ -97,6 +99,8 @@ exports.PageSchema = z
|
|
|
97
99
|
endings: endings_1.PageEndingsSchema.optional(),
|
|
98
100
|
limits: limits_1.PageLimitsSchema.optional(),
|
|
99
101
|
continueLater: z.boolean().optional(),
|
|
102
|
+
approval: approval_1.PageApprovalSchema.optional(),
|
|
103
|
+
suggest: assist_1.PageSuggestSchema.optional(),
|
|
100
104
|
})
|
|
101
105
|
.meta({
|
|
102
106
|
title: 'Fieldia page',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,uCAA8D;AAC9D,mCAAoE;AACpE,qCAA8F;AAC9F,2CAAwE;AACxE,mCAA0D;AAC1D,6CAAyE;AACzE,uCAAgE;AAChE,uCAA+D;AAC/D,qCAA6D;AAC7D,qCAA8C;AAC9C,mCAA8C;AAArC,gGAAA,MAAM,OAAA;AACf,qCAA4C;AAE5C,uCAA+E;AAE/E,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":"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"}
|
package/src/lib/format/page.mjs
CHANGED
|
@@ -8,6 +8,8 @@ import { PageDuplicatesSchema } from './duplicates.mjs';
|
|
|
8
8
|
import { PageRecordsSchema } from './records.mjs';
|
|
9
9
|
import { PageEndingsSchema } from './endings.mjs';
|
|
10
10
|
import { PageLimitsSchema } from './limits.mjs';
|
|
11
|
+
import { PageApprovalSchema } from './approval.mjs';
|
|
12
|
+
import { PageSuggestSchema } from './assist.mjs';
|
|
11
13
|
import { THEMES } from './themes.mjs';
|
|
12
14
|
export { THEMES } from './themes.mjs';
|
|
13
15
|
import { SKINS } from './themes.mjs';
|
|
@@ -92,6 +94,8 @@ export const PageSchema = z
|
|
|
92
94
|
endings: PageEndingsSchema.optional(),
|
|
93
95
|
limits: PageLimitsSchema.optional(),
|
|
94
96
|
continueLater: z.boolean().optional(),
|
|
97
|
+
approval: PageApprovalSchema.optional(),
|
|
98
|
+
suggest: PageSuggestSchema.optional(),
|
|
95
99
|
})
|
|
96
100
|
.meta({
|
|
97
101
|
title: 'Fieldia page',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAmB,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAe,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAmC,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAiC,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAuB,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAoB,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAmB,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAc,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAc,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAsB,MAAM,WAAW,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"page.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A photo set (`"widget": "photos"` on a picture field of several photos, `multiple`): its settings in the node's
|
|
4
|
+
* `options`, beside a picture field's own (`camera`). The photos stand in the order a person puts them — dragged, a
|
|
5
|
+
* finger resting on one first on a phone, or moved with Alt and the arrow keys — the first the cover, marked so, which
|
|
6
|
+
* a list's card and a map's pin show (`cover: false` marks none: a clinic's before and after); each with its words
|
|
7
|
+
* under it where `captions` is true (`FileValue.caption`); each cropped and turned in place unless `edit` is false, to
|
|
8
|
+
* the shape `aspect` says, or one the person picks where it says none — the photo as it was kept beside the result
|
|
9
|
+
* (`FileValue.original`, with what was done, `FileValue.edit`) unless `keepOriginal` is false. How many it takes is
|
|
10
|
+
* the field's `maxFiles`, how large each its `maxSize`.
|
|
11
|
+
*
|
|
12
|
+
* { "field": "photos", "widget": "photos", "options": { "captions": true, "aspect": "4:3" } }
|
|
13
|
+
*/
|
|
14
|
+
export declare const PhotosOptionsSchema: z.ZodObject<{
|
|
15
|
+
cover: z.ZodOptional<z.ZodBoolean>;
|
|
16
|
+
captions: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
keepOriginal: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
+
aspect: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export type PhotosOptions = z.infer<typeof PhotosOptionsSchema>;
|
|
22
|
+
/** The issues of a photo set's settings, each at its path under `options`. */
|
|
23
|
+
export declare function photosOptionIssues(node: {
|
|
24
|
+
widget?: string;
|
|
25
|
+
options?: Record<string, unknown>;
|
|
26
|
+
}): {
|
|
27
|
+
message: string;
|
|
28
|
+
path: (string | number)[];
|
|
29
|
+
}[];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A photo set (`"widget": "photos"` on a picture field of several photos, `multiple`): its settings in the node's
|
|
4
|
+
* `options`, beside a picture field's own (`camera`). The photos stand in the order a person puts them — dragged, a
|
|
5
|
+
* finger resting on one first on a phone, or moved with Alt and the arrow keys — the first the cover, marked so, which
|
|
6
|
+
* a list's card and a map's pin show (`cover: false` marks none: a clinic's before and after); each with its words
|
|
7
|
+
* under it where `captions` is true (`FileValue.caption`); each cropped and turned in place unless `edit` is false, to
|
|
8
|
+
* the shape `aspect` says, or one the person picks where it says none — the photo as it was kept beside the result
|
|
9
|
+
* (`FileValue.original`, with what was done, `FileValue.edit`) unless `keepOriginal` is false. How many it takes is
|
|
10
|
+
* the field's `maxFiles`, how large each its `maxSize`.
|
|
11
|
+
*
|
|
12
|
+
* { "field": "photos", "widget": "photos", "options": { "captions": true, "aspect": "4:3" } }
|
|
13
|
+
*/
|
|
14
|
+
export declare const PhotosOptionsSchema: z.ZodObject<{
|
|
15
|
+
cover: z.ZodOptional<z.ZodBoolean>;
|
|
16
|
+
captions: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
keepOriginal: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
+
aspect: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, z.z.core.$strip>;
|
|
21
|
+
export type PhotosOptions = z.infer<typeof PhotosOptionsSchema>;
|
|
22
|
+
/** The issues of a photo set's settings, each at its path under `options`. */
|
|
23
|
+
export declare function photosOptionIssues(node: {
|
|
24
|
+
widget?: string;
|
|
25
|
+
options?: Record<string, unknown>;
|
|
26
|
+
}): {
|
|
27
|
+
message: string;
|
|
28
|
+
path: (string | number)[];
|
|
29
|
+
}[];
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PhotosOptionsSchema = void 0;
|
|
4
|
+
exports.photosOptionIssues = photosOptionIssues;
|
|
5
|
+
const z = require("zod");
|
|
6
|
+
/** A shape as people write it: its width and its height, "4:3", "16:9", "1:1". */
|
|
7
|
+
const ASPECT = /^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?)$/;
|
|
8
|
+
const SHAPE = 'aspect is a shape, its width and its height: "4:3", "16:9", "1:1" — no longer than five to one either way';
|
|
9
|
+
/**
|
|
10
|
+
* A photo set (`"widget": "photos"` on a picture field of several photos, `multiple`): its settings in the node's
|
|
11
|
+
* `options`, beside a picture field's own (`camera`). The photos stand in the order a person puts them — dragged, a
|
|
12
|
+
* finger resting on one first on a phone, or moved with Alt and the arrow keys — the first the cover, marked so, which
|
|
13
|
+
* a list's card and a map's pin show (`cover: false` marks none: a clinic's before and after); each with its words
|
|
14
|
+
* under it where `captions` is true (`FileValue.caption`); each cropped and turned in place unless `edit` is false, to
|
|
15
|
+
* the shape `aspect` says, or one the person picks where it says none — the photo as it was kept beside the result
|
|
16
|
+
* (`FileValue.original`, with what was done, `FileValue.edit`) unless `keepOriginal` is false. How many it takes is
|
|
17
|
+
* the field's `maxFiles`, how large each its `maxSize`.
|
|
18
|
+
*
|
|
19
|
+
* { "field": "photos", "widget": "photos", "options": { "captions": true, "aspect": "4:3" } }
|
|
20
|
+
*/
|
|
21
|
+
exports.PhotosOptionsSchema = z
|
|
22
|
+
.object({
|
|
23
|
+
/** The first photo is the cover, marked so, with Make cover on the others: true unless said. */
|
|
24
|
+
cover: z.boolean().optional(),
|
|
25
|
+
/** A caption under each photo, typed by a person. */
|
|
26
|
+
captions: z.boolean().optional(),
|
|
27
|
+
/** Crop and turn on each photo: true unless said. */
|
|
28
|
+
edit: z.boolean().optional(),
|
|
29
|
+
/** The photo as it was kept beside one cropped or turned, to crop again from and to put back: true unless said. */
|
|
30
|
+
keepOriginal: z.boolean().optional(),
|
|
31
|
+
/** The shape every crop keeps; left out, the person picks one, or none. */
|
|
32
|
+
aspect: z
|
|
33
|
+
.string()
|
|
34
|
+
.refine((text) => {
|
|
35
|
+
const [, width, height] = ASPECT.exec(text) ?? [];
|
|
36
|
+
const ratio = Number(width) / Number(height);
|
|
37
|
+
return ratio >= 0.2 && ratio <= 5;
|
|
38
|
+
}, SHAPE)
|
|
39
|
+
.meta({ pattern: ASPECT.source })
|
|
40
|
+
.optional(),
|
|
41
|
+
})
|
|
42
|
+
.meta({ id: 'PhotosOptions' });
|
|
43
|
+
/** The issues of a photo set's settings, each at its path under `options`. */
|
|
44
|
+
function photosOptionIssues(node) {
|
|
45
|
+
if (node.widget !== 'photos')
|
|
46
|
+
return [];
|
|
47
|
+
return (exports.PhotosOptionsSchema.safeParse(node.options ?? {}).error?.issues ?? []).map((issue) => ({ message: issue.message, path: ['options', ...issue.path] }));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=photos-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photos-options.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/photos-options.ts"],"names":[],"mappings":";;;AA4CA,gDAGC;AA/CD,yBAAyB;AAEzB,kFAAkF;AAClF,MAAM,MAAM,GAAG,mCAAmC,CAAC;AACnD,MAAM,KAAK,GAAG,2GAA2G,CAAC;AAE1H;;;;;;;;;;;GAWG;AACU,QAAA,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,gGAAgG;IAChG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,qDAAqD;IACrD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,qDAAqD;IACrD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,mHAAmH;IACnH,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,2EAA2E;IAC3E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,KAAK,CAAC;SACR,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;SAChC,QAAQ,EAAE;CACd,CAAC;KACD,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAIjC,8EAA8E;AAC9E,SAAgB,kBAAkB,CAAC,IAA4D;IAC7F,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,CAAC,2BAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAwB,EAAE,CAAC,CAAC,CAAC;AACvL,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/** A shape as people write it: its width and its height, "4:3", "16:9", "1:1". */
|
|
3
|
+
const ASPECT = /^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?)$/;
|
|
4
|
+
const SHAPE = 'aspect is a shape, its width and its height: "4:3", "16:9", "1:1" — no longer than five to one either way';
|
|
5
|
+
/**
|
|
6
|
+
* A photo set (`"widget": "photos"` on a picture field of several photos, `multiple`): its settings in the node's
|
|
7
|
+
* `options`, beside a picture field's own (`camera`). The photos stand in the order a person puts them — dragged, a
|
|
8
|
+
* finger resting on one first on a phone, or moved with Alt and the arrow keys — the first the cover, marked so, which
|
|
9
|
+
* a list's card and a map's pin show (`cover: false` marks none: a clinic's before and after); each with its words
|
|
10
|
+
* under it where `captions` is true (`FileValue.caption`); each cropped and turned in place unless `edit` is false, to
|
|
11
|
+
* the shape `aspect` says, or one the person picks where it says none — the photo as it was kept beside the result
|
|
12
|
+
* (`FileValue.original`, with what was done, `FileValue.edit`) unless `keepOriginal` is false. How many it takes is
|
|
13
|
+
* the field's `maxFiles`, how large each its `maxSize`.
|
|
14
|
+
*
|
|
15
|
+
* { "field": "photos", "widget": "photos", "options": { "captions": true, "aspect": "4:3" } }
|
|
16
|
+
*/
|
|
17
|
+
export const PhotosOptionsSchema = z
|
|
18
|
+
.object({
|
|
19
|
+
/** The first photo is the cover, marked so, with Make cover on the others: true unless said. */
|
|
20
|
+
cover: z.boolean().optional(),
|
|
21
|
+
/** A caption under each photo, typed by a person. */
|
|
22
|
+
captions: z.boolean().optional(),
|
|
23
|
+
/** Crop and turn on each photo: true unless said. */
|
|
24
|
+
edit: z.boolean().optional(),
|
|
25
|
+
/** The photo as it was kept beside one cropped or turned, to crop again from and to put back: true unless said. */
|
|
26
|
+
keepOriginal: z.boolean().optional(),
|
|
27
|
+
/** The shape every crop keeps; left out, the person picks one, or none. */
|
|
28
|
+
aspect: z
|
|
29
|
+
.string()
|
|
30
|
+
.refine((text) => {
|
|
31
|
+
const [, width, height] = ASPECT.exec(text) ?? [];
|
|
32
|
+
const ratio = Number(width) / Number(height);
|
|
33
|
+
return ratio >= 0.2 && ratio <= 5;
|
|
34
|
+
}, SHAPE)
|
|
35
|
+
.meta({ pattern: ASPECT.source })
|
|
36
|
+
.optional(),
|
|
37
|
+
})
|
|
38
|
+
.meta({ id: 'PhotosOptions' });
|
|
39
|
+
/** The issues of a photo set's settings, each at its path under `options`. */
|
|
40
|
+
export function photosOptionIssues(node) {
|
|
41
|
+
if (node.widget !== 'photos')
|
|
42
|
+
return [];
|
|
43
|
+
return (PhotosOptionsSchema.safeParse(node.options ?? {}).error?.issues ?? []).map((issue) => ({ message: issue.message, path: ['options', ...issue.path] }));
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=photos-options.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photos-options.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/photos-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,kFAAkF;AAClF,MAAM,MAAM,GAAG,mCAAmC,CAAC;AACnD,MAAM,KAAK,GAAG,2GAA2G,CAAC;AAE1H;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,gGAAgG;IAChG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,qDAAqD;IACrD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,qDAAqD;IACrD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,mHAAmH;IACnH,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,2EAA2E;IAC3E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,KAAK,CAAC;SACR,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;SAChC,QAAQ,EAAE;CACd,CAAC;KACD,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAIjC,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,IAA4D;IAC7F,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAwB,EAAE,CAAC,CAAC,CAAC;AACvL,CAAC"}
|
|
@@ -95,6 +95,8 @@ export declare class ReferenceCheck {
|
|
|
95
95
|
private checkLineForm;
|
|
96
96
|
/** The form's moments: their steps checked, a change named by a field (or a saved form placed here, by its answers' name), a step or tab shown by its id. */
|
|
97
97
|
private checkEvents;
|
|
98
|
+
/** The tools a menu's items are checked with: a button's menu's, the gear menu's. */
|
|
99
|
+
private menuTools;
|
|
98
100
|
/** A press: steps, an app action, or both — and its steps checked; on a button drawn on the record (`drawn`, not a list's row's), the `{field}`s its words show. */
|
|
99
101
|
private checkPress;
|
|
100
102
|
/**
|
|
@@ -173,7 +175,7 @@ export declare class ReferenceCheck {
|
|
|
173
175
|
private checkFormNode;
|
|
174
176
|
private walkTabs;
|
|
175
177
|
private walkSheet;
|
|
176
|
-
/** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state. */
|
|
178
|
+
/** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state; a formatted text's Edit. */
|
|
177
179
|
private checkPicker;
|
|
178
180
|
private checkFieldNode;
|
|
179
181
|
}
|
|
@@ -95,6 +95,8 @@ export declare class ReferenceCheck {
|
|
|
95
95
|
private checkLineForm;
|
|
96
96
|
/** The form's moments: their steps checked, a change named by a field (or a saved form placed here, by its answers' name), a step or tab shown by its id. */
|
|
97
97
|
private checkEvents;
|
|
98
|
+
/** The tools a menu's items are checked with: a button's menu's, the gear menu's. */
|
|
99
|
+
private menuTools;
|
|
98
100
|
/** A press: steps, an app action, or both — and its steps checked; on a button drawn on the record (`drawn`, not a list's row's), the `{field}`s its words show. */
|
|
99
101
|
private checkPress;
|
|
100
102
|
/**
|
|
@@ -173,7 +175,7 @@ export declare class ReferenceCheck {
|
|
|
173
175
|
private checkFormNode;
|
|
174
176
|
private walkTabs;
|
|
175
177
|
private walkSheet;
|
|
176
|
-
/** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state. */
|
|
178
|
+
/** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state; a formatted text's Edit. */
|
|
177
179
|
private checkPicker;
|
|
178
180
|
private checkFieldNode;
|
|
179
181
|
}
|
|
@@ -17,16 +17,24 @@ const zones_1 = require("../record/zones");
|
|
|
17
17
|
const messages_1 = require("../record/messages");
|
|
18
18
|
const autofill_group_1 = require("./autofill-group");
|
|
19
19
|
const limits_checks_1 = require("./limits-checks");
|
|
20
|
+
const approval_checks_1 = require("./approval-checks");
|
|
21
|
+
const languages_checks_1 = require("./languages-checks");
|
|
22
|
+
const languages_1 = require("../record/languages");
|
|
20
23
|
const seats_checks_1 = require("./seats-checks");
|
|
21
24
|
const list_checks_1 = require("./list-checks");
|
|
25
|
+
const editable_checks_1 = require("./editable-checks");
|
|
22
26
|
const slots_checks_1 = require("./slots-checks");
|
|
23
27
|
const signature_checks_1 = require("./signature-checks");
|
|
28
|
+
const assist_checks_1 = require("./assist-checks");
|
|
29
|
+
const scan_checks_1 = require("./scan-checks");
|
|
24
30
|
const endings_checks_1 = require("./endings-checks");
|
|
25
31
|
const map_checks_1 = require("./map-checks");
|
|
26
32
|
const table_checks_1 = require("./table-checks");
|
|
27
33
|
const statusbar_checks_1 = require("./statusbar-checks");
|
|
28
34
|
const option_checks_1 = require("./option-checks");
|
|
29
35
|
const has = (record, key) => Object.prototype.hasOwnProperty.call(record, key);
|
|
36
|
+
/** Whether a field, or a column of its table, is scanned into with the camera (`options.scan`). */
|
|
37
|
+
const scansAny = (node) => [node, ...Object.values(node.cells ?? {})].some((one) => one?.options?.['scan'] !== undefined);
|
|
30
38
|
/** The kinds of field an expression can give a value to: the rest hold records, lines or files. */
|
|
31
39
|
const EXPRESSIBLE = new Set(['char', 'text', 'html', 'integer', 'float', 'monetary', 'boolean', 'date', 'datetime', 'selection', 'json']);
|
|
32
40
|
const EXPRESSIBLE_WORDS = 'text, numbers, yes or no, dates, choices and json can';
|
|
@@ -104,6 +112,15 @@ class ReferenceCheck {
|
|
|
104
112
|
// A page's limits and Continue later: checked where it has either (in the one-tag script, by the limits part it asks for).
|
|
105
113
|
if (!this.line && (this.page.limits !== undefined || this.page.continueLater !== undefined))
|
|
106
114
|
(0, limits_checks_1.checkLimits)(this.page, { report: (path, message) => this.report(path, message), owe: (part) => this.later.add(part) });
|
|
115
|
+
// A record's approvals: checked where it has them (in the one-tag script, by the approvals part it asks for).
|
|
116
|
+
if (!this.line && this.page.approval !== undefined)
|
|
117
|
+
(0, approval_checks_1.checkApproval)(this.page, this.fieldTools());
|
|
118
|
+
// Texts kept in several languages: placed as words people type (in the one-tag script, by the languages part it asks for).
|
|
119
|
+
if ((0, languages_1.hasLanguages)(this.page))
|
|
120
|
+
(0, languages_checks_1.checkLanguages)(this.fieldTools());
|
|
121
|
+
// AI help's fill from text: in the one-tag script, its checks come with the assist part, which a page with it asks for.
|
|
122
|
+
if (this.page.suggest !== undefined && !this.line)
|
|
123
|
+
(0, assist_checks_1.checkSuggest)(this.page, this.fieldTools());
|
|
107
124
|
this.checkGoingTo();
|
|
108
125
|
return this.issues;
|
|
109
126
|
}
|
|
@@ -190,6 +207,10 @@ class ReferenceCheck {
|
|
|
190
207
|
this.checkSteps(steps, `${path}.show.${target}`);
|
|
191
208
|
}
|
|
192
209
|
}
|
|
210
|
+
/** The tools a menu's items are checked with: a button's menu's, the gear menu's. */
|
|
211
|
+
menuTools() {
|
|
212
|
+
return { claim: (id, at) => this.claim(id, at), report: (at, message) => this.report(at, message), checkModifiers: (owner, at, keys) => this.checkModifiers(owner, at, keys), checkSteps: (steps, at) => this.checkSteps(steps, at), owe: (part) => this.later.add(part) };
|
|
213
|
+
}
|
|
193
214
|
/** A press: steps, an app action, or both — and its steps checked; on a button drawn on the record (`drawn`, not a list's row's), the `{field}`s its words show. */
|
|
194
215
|
checkPress(button, path, drawn = false) {
|
|
195
216
|
if (drawn && 'type' in button)
|
|
@@ -199,7 +220,7 @@ class ReferenceCheck {
|
|
|
199
220
|
if (!button.steps && button.action === undefined && !menu)
|
|
200
221
|
this.report(path, 'a button needs steps, an action, or both');
|
|
201
222
|
if ('type' in button && button.type === 'button')
|
|
202
|
-
(0, head_checks_1.checkButtonParts)(button, path,
|
|
223
|
+
(0, head_checks_1.checkButtonParts)(button, path, this.menuTools());
|
|
203
224
|
const key = 'hotkey' in button ? button.hotkey : undefined;
|
|
204
225
|
if (typeof key === 'string' && hotkeys_1.BROWSER_HOTKEYS.includes(key.replace('shift+', '')))
|
|
205
226
|
this.report(`${path}.hotkey`, `${(0, hotkeys_1.hotkeyWords)(key)} is the browser’s own: pick another key`);
|
|
@@ -656,8 +677,12 @@ class ReferenceCheck {
|
|
|
656
677
|
return this.walkSheet(root, path);
|
|
657
678
|
if (root.type === 'sections')
|
|
658
679
|
return this.walkChildren(root.children, path);
|
|
659
|
-
if (root.type === 'list')
|
|
680
|
+
if (root.type === 'list') {
|
|
681
|
+
// Its cells changed in place: checked with the part that changes them.
|
|
682
|
+
if (root.editable)
|
|
683
|
+
(0, editable_checks_1.checkEditable)(root, path, this.fieldTools());
|
|
660
684
|
return (0, list_checks_1.checkList)(root, path, this.listTools());
|
|
685
|
+
}
|
|
661
686
|
// A wizard's own buttons' words, and each step's title and words, may show the answers given: "Your visit to {branch}".
|
|
662
687
|
this.checkWords(root, path, ['nextLabel', 'backLabel', 'finishLabel']);
|
|
663
688
|
root.children.forEach((step, i) => {
|
|
@@ -797,17 +822,7 @@ class ReferenceCheck {
|
|
|
797
822
|
});
|
|
798
823
|
});
|
|
799
824
|
// The gear menu: buttons of the record, each doing something — its steps, an action, or a built-in — and named.
|
|
800
|
-
sheet.toolbar?.menu?.forEach((item, i) => {
|
|
801
|
-
const at = `${path}.toolbar.menu[${i}]`;
|
|
802
|
-
this.claim(item.id, at);
|
|
803
|
-
this.checkModifiers(item, at);
|
|
804
|
-
if (!item.steps && item.action === undefined && !item.builtin)
|
|
805
|
-
this.report(at, 'a menu item needs steps, an action, or a built-in');
|
|
806
|
-
if (item.label === undefined && !item.builtin)
|
|
807
|
-
this.report(`${at}.label`, 'a menu item needs words, unless it is a built-in');
|
|
808
|
-
if (item.steps)
|
|
809
|
-
this.checkSteps(item.steps, `${at}.steps`);
|
|
810
|
-
});
|
|
825
|
+
sheet.toolbar?.menu?.forEach((item, i) => (0, head_checks_1.checkMenuItem)(item, `${path}.toolbar.menu[${i}]`, this.menuTools()));
|
|
811
826
|
const preview = sheet.attachmentPreview;
|
|
812
827
|
if (preview) {
|
|
813
828
|
this.checkModifiers(preview, `${path}.attachmentPreview`);
|
|
@@ -821,7 +836,7 @@ class ReferenceCheck {
|
|
|
821
836
|
this.checkModifiers(sheet.sidePanel, `${path}.sidePanel`);
|
|
822
837
|
}
|
|
823
838
|
}
|
|
824
|
-
/** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state. */
|
|
839
|
+
/** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state; a formatted text's Edit. */
|
|
825
840
|
checkPicker(node, def, path) {
|
|
826
841
|
const options = node.options ?? {};
|
|
827
842
|
if (node.widget === 'path' && def.type !== 'many2one')
|
|
@@ -832,6 +847,9 @@ class ReferenceCheck {
|
|
|
832
847
|
const tags = (def.type === 'many2many' && (!node.widget || node.widget === 'tags') && !node.columns?.length) || (def.type === 'char' && node.widget === 'tags');
|
|
833
848
|
if (options['adder'] !== undefined && !tags)
|
|
834
849
|
this.report(`${path}.options.adder`, `adder is for tags: a many2many, or a char field drawn as tags; "${node.field}" is ${node.widget ? `a ${def.type} drawn as ${node.widget}` : `a ${def.type}`}`);
|
|
850
|
+
// A formatted text read first, changed from its Edit (a photo set's `edit` is its own: crop and turn).
|
|
851
|
+
if (def.type === 'html' && options['edit'] !== undefined && options['edit'] !== 'button')
|
|
852
|
+
this.report(`${path}.options.edit`, 'edit is "button": the text read first, changed from its Edit');
|
|
835
853
|
const colours = options['colours'];
|
|
836
854
|
if (node.widget === 'dot' && def.type === 'selection' && colours && typeof colours === 'object' && !Array.isArray(colours)) {
|
|
837
855
|
const values = new Set(def.options.map((option) => String(option.value)));
|
|
@@ -895,8 +913,17 @@ class ReferenceCheck {
|
|
|
895
913
|
this.report(`${path}.widget`, `signature is for a binary field; "${node.field}" is a ${def.type}`);
|
|
896
914
|
else if (node.widget === 'signature')
|
|
897
915
|
(0, signature_checks_1.checkSignature)(node, path, this.fieldTools());
|
|
916
|
+
// A text field's AI tools (`options.rewrite`), drawn by the assist part, whose checks come with it in the one-tag script.
|
|
917
|
+
if (node.options?.['rewrite'] !== undefined)
|
|
918
|
+
(0, assist_checks_1.checkRewrite)(node, def, path, this.fieldTools());
|
|
919
|
+
// A photo set is a picture field's of several photos: one photo has no order, no cover.
|
|
920
|
+
if (node.widget === 'photos' && def && (def.type !== 'image' || !def.multiple))
|
|
921
|
+
this.report(`${path}.widget`, `photos is for an image field of several photos (multiple); "${node.field}" is not one`);
|
|
898
922
|
if (def)
|
|
899
923
|
this.checkPicker(node, def, path);
|
|
924
|
+
// Scanned into with the camera — the field, or a table's columns: checked with the scan part's code, which draws it.
|
|
925
|
+
if (scansAny(node))
|
|
926
|
+
(0, scan_checks_1.checkScan)(node, def, path, this.fieldTools());
|
|
900
927
|
// The order lines load in: fields of its lines.
|
|
901
928
|
if (def && node.order && def.type !== 'one2many')
|
|
902
929
|
this.report(`${path}.order`, `order only applies to one2many fields; "${node.field}" is a ${def.type}`);
|