@forestadmin/agent-client 0.1.0 → 1.0.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.
Files changed (69) hide show
  1. package/dist/action-fields/action-field-checkbox-group.d.ts +8 -0
  2. package/dist/action-fields/action-field-checkbox-group.js +23 -0
  3. package/dist/action-fields/action-field-checkbox.d.ts +6 -0
  4. package/dist/action-fields/action-field-checkbox.js +16 -0
  5. package/dist/action-fields/action-field-color-picker.d.ts +7 -0
  6. package/dist/action-fields/action-field-color-picker.js +19 -0
  7. package/dist/action-fields/action-field-date.d.ts +5 -0
  8. package/dist/action-fields/action-field-date.js +13 -0
  9. package/dist/action-fields/action-field-dropdown.d.ts +7 -0
  10. package/dist/action-fields/action-field-dropdown.js +16 -0
  11. package/dist/action-fields/action-field-enum.d.ts +6 -0
  12. package/dist/action-fields/action-field-enum.js +18 -0
  13. package/dist/action-fields/action-field-json.d.ts +5 -0
  14. package/dist/action-fields/action-field-json.js +13 -0
  15. package/dist/action-fields/action-field-multiple-choice.d.ts +7 -0
  16. package/dist/action-fields/action-field-multiple-choice.js +19 -0
  17. package/dist/action-fields/action-field-number-list.d.ts +6 -0
  18. package/dist/action-fields/action-field-number-list.js +20 -0
  19. package/dist/action-fields/action-field-number.d.ts +5 -0
  20. package/dist/action-fields/action-field-number.js +13 -0
  21. package/dist/action-fields/action-field-radio-group.d.ts +7 -0
  22. package/dist/action-fields/action-field-radio-group.js +16 -0
  23. package/dist/action-fields/action-field-string-list.d.ts +6 -0
  24. package/dist/action-fields/action-field-string-list.js +20 -0
  25. package/dist/action-fields/action-field-string.d.ts +5 -0
  26. package/dist/action-fields/action-field-string.js +13 -0
  27. package/dist/action-fields/action-field.d.ts +15 -0
  28. package/dist/action-fields/action-field.js +34 -0
  29. package/dist/action-fields/field-form-states.d.ts +25 -0
  30. package/dist/action-fields/field-form-states.js +94 -0
  31. package/dist/action-fields/field-getter.d.ts +10 -0
  32. package/dist/action-fields/field-getter.js +21 -0
  33. package/dist/action-fields/types.d.ts +28 -0
  34. package/dist/action-fields/types.js +3 -0
  35. package/dist/action-layout/action-layout-container.d.ts +9 -0
  36. package/dist/action-layout/action-layout-container.js +24 -0
  37. package/dist/action-layout/action-layout-element.d.ts +14 -0
  38. package/dist/action-layout/action-layout-element.js +47 -0
  39. package/dist/action-layout/action-layout-input.d.ts +7 -0
  40. package/dist/action-layout/action-layout-input.js +12 -0
  41. package/dist/action-layout/action-layout-page.d.ts +8 -0
  42. package/dist/action-layout/action-layout-page.js +18 -0
  43. package/dist/action-layout/action-layout-root.d.ts +6 -0
  44. package/dist/action-layout/action-layout-root.js +19 -0
  45. package/dist/action-layout/errors.d.ts +8 -0
  46. package/dist/action-layout/errors.js +16 -0
  47. package/dist/domains/action.d.ts +58 -0
  48. package/dist/domains/action.js +125 -0
  49. package/dist/domains/chart.d.ts +21 -0
  50. package/dist/domains/chart.js +39 -0
  51. package/dist/domains/collection-chart.d.ts +19 -0
  52. package/dist/domains/collection-chart.js +40 -0
  53. package/dist/domains/collection.d.ts +25 -0
  54. package/dist/domains/collection.js +109 -0
  55. package/dist/domains/relation.d.ts +11 -0
  56. package/dist/domains/relation.js +23 -0
  57. package/dist/domains/remote-agent-client.d.ts +42 -0
  58. package/dist/domains/remote-agent-client.js +43 -0
  59. package/dist/domains/segment.d.ts +14 -0
  60. package/dist/domains/segment.js +49 -0
  61. package/dist/http-requester.d.ts +28 -0
  62. package/dist/http-requester.js +66 -0
  63. package/dist/index.d.ts +10 -0
  64. package/dist/index.js +18 -0
  65. package/dist/query-serializer.d.ts +8 -0
  66. package/dist/query-serializer.js +77 -0
  67. package/dist/types.d.ts +26 -0
  68. package/dist/types.js +3 -0
  69. package/package.json +2 -14
@@ -0,0 +1,8 @@
1
+ import ActionField from './action-field';
2
+ import { PlainFieldOption } from './types';
3
+ export default class ActionFieldCheckboxGroup<TypingsSchema> extends ActionField<TypingsSchema> {
4
+ getOptions(): PlainFieldOption[] | undefined;
5
+ check(option: string): Promise<void>;
6
+ uncheck(option: string): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=action-field-checkbox-group.d.ts.map
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldCheckboxGroup extends action_field_1.default {
8
+ getOptions() {
9
+ return this.getMultipleChoiceField().getOptions();
10
+ }
11
+ async check(option) {
12
+ const field = this.getMultipleChoiceField();
13
+ await this.setValue([...(field.getValue() || []), field.getOption(option).value]);
14
+ }
15
+ async uncheck(option) {
16
+ const field = this.getMultipleChoiceField();
17
+ const checkedValues = field.getValue() || [];
18
+ const { value } = field.getOption(option);
19
+ await this.setValue(checkedValues.filter(checkedValue => value !== checkedValue));
20
+ }
21
+ }
22
+ exports.default = ActionFieldCheckboxGroup;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNoZWNrYm94LWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLWNoZWNrYm94LWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBR3pDLE1BQXFCLHdCQUF3QyxTQUFRLHNCQUEwQjtJQUM3RixVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFjO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFjLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQWM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUksS0FBSyxDQUFDLFFBQVEsRUFBZSxJQUFJLEVBQUUsQ0FBQztRQUMzRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7Q0FDRjtBQWpCRCwyQ0FpQkMifQ==
@@ -0,0 +1,6 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldCheckbox<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ check(): Promise<void>;
4
+ uncheck(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=action-field-checkbox.d.ts.map
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldCheckbox extends action_field_1.default {
8
+ async check() {
9
+ await this.setValue(true);
10
+ }
11
+ async uncheck() {
12
+ await this.setValue(false);
13
+ }
14
+ }
15
+ exports.default = ActionFieldCheckbox;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNoZWNrYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLWNoZWNrYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBRXpDLE1BQXFCLG1CQUFtQyxTQUFRLHNCQUEwQjtJQUN4RixLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBUkQsc0NBUUMifQ==
@@ -0,0 +1,7 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldColorPicker<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ fill(value?: number | string): Promise<void>;
4
+ isOpacityEnable(): Promise<boolean>;
5
+ getQuickPalette(): Promise<string[] | undefined>;
6
+ }
7
+ //# sourceMappingURL=action-field-color-picker.d.ts.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldColorPicker extends action_field_1.default {
8
+ async fill(value) {
9
+ await this.setValue(this.isValueUndefinedOrNull(value) ? value : value.toString());
10
+ }
11
+ async isOpacityEnable() {
12
+ return Boolean(this.field?.getPlainField().widgetEdit.parameters.static.enableOpacity);
13
+ }
14
+ async getQuickPalette() {
15
+ return this.field?.getPlainField().widgetEdit.parameters.static.quickPalette;
16
+ }
17
+ }
18
+ exports.default = ActionFieldColorPicker;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNvbG9yLXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb24tZmllbGRzL2FjdGlvbi1maWVsZC1jb2xvci1waWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFFekMsTUFBcUIsc0JBQXNDLFNBQVEsc0JBQTBCO0lBQzNGLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBdUI7UUFDaEMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDbkIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUMvRSxDQUFDO0NBQ0Y7QUFaRCx5Q0FZQyJ9
@@ -0,0 +1,5 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldDate<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ fill(value?: number | Date): Promise<void>;
4
+ }
5
+ //# sourceMappingURL=action-field-date.d.ts.map
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldDate extends action_field_1.default {
8
+ async fill(value) {
9
+ await this.setValue(this.isValueUndefinedOrNull(value) ? value : new Date(value).toISOString());
10
+ }
11
+ }
12
+ exports.default = ActionFieldDate;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUV6QyxNQUFxQixlQUErQixTQUFRLHNCQUEwQjtJQUNwRixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQXFCO1FBQzlCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNsRyxDQUFDO0NBQ0Y7QUFKRCxrQ0FJQyJ9
@@ -0,0 +1,7 @@
1
+ import ActionField from './action-field';
2
+ import { PlainFieldOption } from './types';
3
+ export default class ActionFieldDropdown<TypingsSchema> extends ActionField<TypingsSchema> {
4
+ getOptions(): PlainFieldOption[] | undefined;
5
+ select(option: string): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=action-field-dropdown.d.ts.map
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldDropdown extends action_field_1.default {
8
+ getOptions() {
9
+ return this.getMultipleChoiceField().getOptions();
10
+ }
11
+ async select(option) {
12
+ await this.setValue(this.getMultipleChoiceField().getOption(option).value);
13
+ }
14
+ }
15
+ exports.default = ActionFieldDropdown;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWRyb3Bkb3duLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLWRyb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBR3pDLE1BQXFCLG1CQUFtQyxTQUFRLHNCQUEwQjtJQUN4RixVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFjO1FBQ3pCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQztDQUNGO0FBUkQsc0NBUUMifQ==
@@ -0,0 +1,6 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldEnum<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ getOptions(): string[] | undefined;
4
+ select(option: string): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=action-field-enum.d.ts.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldEnum extends action_field_1.default {
8
+ getOptions() {
9
+ return this.field.getPlainField().enums;
10
+ }
11
+ async select(option) {
12
+ if (!this.getOptions().some(o => o === option))
13
+ throw new Error(`Option "${option}" not found in field "${this.name}"`);
14
+ await this.setValue(option);
15
+ }
16
+ }
17
+ exports.default = ActionFieldEnum;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUV6QyxNQUFxQixlQUErQixTQUFRLHNCQUEwQjtJQUNwRixVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFjO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQztZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsTUFBTSx5QkFBeUIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFFMUUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQVhELGtDQVdDIn0=
@@ -0,0 +1,5 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldJson<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ fill(value?: object): Promise<void>;
4
+ }
5
+ //# sourceMappingURL=action-field-json.d.ts.map
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldJson extends action_field_1.default {
8
+ async fill(value) {
9
+ await this.setValue(value);
10
+ }
11
+ }
12
+ exports.default = ActionFieldJson;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUV6QyxNQUFxQixlQUErQixTQUFRLHNCQUEwQjtJQUNwRixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQWM7UUFDdkIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQUpELGtDQUlDIn0=
@@ -0,0 +1,7 @@
1
+ import FieldGetter from './field-getter';
2
+ import { PlainFieldOption } from './types';
3
+ export default class ActionFieldMultipleChoice extends FieldGetter {
4
+ getOptions(): PlainFieldOption[] | undefined;
5
+ getOption(label: string): PlainFieldOption | undefined;
6
+ }
7
+ //# sourceMappingURL=action-field-multiple-choice.d.ts.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const field_getter_1 = __importDefault(require("./field-getter"));
7
+ class ActionFieldMultipleChoice extends field_getter_1.default {
8
+ getOptions() {
9
+ return this.getPlainField().widgetEdit?.parameters.static.options;
10
+ }
11
+ getOption(label) {
12
+ const options = this.getOptions()?.find(o => o.label === label);
13
+ if (!options)
14
+ throw new Error(`Option "${label}" not found in field "${this.getName()}"`);
15
+ return options;
16
+ }
17
+ }
18
+ exports.default = ActionFieldMultipleChoice;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLW11bHRpcGxlLWNob2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb24tZmllbGRzL2FjdGlvbi1maWVsZC1tdWx0aXBsZS1jaG9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFHekMsTUFBcUIseUJBQTBCLFNBQVEsc0JBQVc7SUFDaEUsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNwRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyx5QkFBeUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUxRixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFYRCw0Q0FXQyJ9
@@ -0,0 +1,6 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldNumberList<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ add(value: number): Promise<void>;
4
+ remove(value: number): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=action-field-number-list.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldNumberList extends action_field_1.default {
8
+ async add(value) {
9
+ const values = this.field?.getValue();
10
+ await this.setValue([...(values || []), value]);
11
+ }
12
+ async remove(value) {
13
+ const values = this.field?.getValue();
14
+ if (values.includes(value))
15
+ throw new Error(`Value ${value} is not in the list`);
16
+ await this.setValue((values || []).filter(val => val !== value));
17
+ }
18
+ }
19
+ exports.default = ActionFieldNumberList;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLW51bWJlci1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLW51bWJlci1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBRXpDLE1BQXFCLHFCQUFxQyxTQUFRLHNCQUEwQjtJQUMxRixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQWE7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQWMsQ0FBQztRQUNsRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBYTtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBYyxDQUFDO1FBQ2xELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFaRCx3Q0FZQyJ9
@@ -0,0 +1,5 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldNumber<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ fill(value?: number | string): Promise<void>;
4
+ }
5
+ //# sourceMappingURL=action-field-number.d.ts.map
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldNumber extends action_field_1.default {
8
+ async fill(value) {
9
+ await this.setValue(this.isValueUndefinedOrNull(value) ? value : Number(value));
10
+ }
11
+ }
12
+ exports.default = ActionFieldNumber;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb24tZmllbGRzL2FjdGlvbi1maWVsZC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFFekMsTUFBcUIsaUJBQWlDLFNBQVEsc0JBQTBCO0lBQ3RGLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBdUI7UUFDaEMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0Y7QUFKRCxvQ0FJQyJ9
@@ -0,0 +1,7 @@
1
+ import ActionField from './action-field';
2
+ import { PlainFieldOption } from './types';
3
+ export default class ActionFieldRadioGroup<TypingsSchema> extends ActionField<TypingsSchema> {
4
+ getOptions(): Promise<PlainFieldOption[] | undefined>;
5
+ check(option: string): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=action-field-radio-group.d.ts.map
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldRadioGroup extends action_field_1.default {
8
+ async getOptions() {
9
+ return this.getMultipleChoiceField().getOptions();
10
+ }
11
+ async check(option) {
12
+ await this.setValue(this.getMultipleChoiceField().getOption(option).value);
13
+ }
14
+ }
15
+ exports.default = ActionFieldRadioGroup;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLXJhZGlvLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLXJhZGlvLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBR3pDLE1BQXFCLHFCQUFxQyxTQUFRLHNCQUEwQjtJQUMxRixLQUFLLENBQUMsVUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBYztRQUN4QixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7Q0FDRjtBQVJELHdDQVFDIn0=
@@ -0,0 +1,6 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldStringList<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ add(value: string): Promise<void>;
4
+ remove(value: string): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=action-field-string-list.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldStringList extends action_field_1.default {
8
+ async add(value) {
9
+ const values = this.field?.getValue();
10
+ await this.setValue([...(values || []), value]);
11
+ }
12
+ async remove(value) {
13
+ const values = this.field?.getValue();
14
+ if (values.includes(value))
15
+ throw new Error(`Value ${value} is not in the list`);
16
+ await this.setValue((values || []).filter(val => val !== value));
17
+ }
18
+ }
19
+ exports.default = ActionFieldStringList;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLXN0cmluZy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLXN0cmluZy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBRXpDLE1BQXFCLHFCQUFxQyxTQUFRLHNCQUEwQjtJQUMxRixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQWE7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQWMsQ0FBQztRQUNsRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBYTtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBYyxDQUFDO1FBQ2xELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFaRCx3Q0FZQyJ9
@@ -0,0 +1,5 @@
1
+ import ActionField from './action-field';
2
+ export default class ActionFieldString<TypingsSchema> extends ActionField<TypingsSchema> {
3
+ fill(value?: number | string): Promise<void>;
4
+ }
5
+ //# sourceMappingURL=action-field-string.d.ts.map
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_1 = __importDefault(require("./action-field"));
7
+ class ActionFieldString extends action_field_1.default {
8
+ async fill(value) {
9
+ await this.setValue(this.isValueUndefinedOrNull(value) ? value : value.toString());
10
+ }
11
+ }
12
+ exports.default = ActionFieldString;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLXN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb24tZmllbGRzL2FjdGlvbi1maWVsZC1zdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFFekMsTUFBcUIsaUJBQWlDLFNBQVEsc0JBQTBCO0lBQ3RGLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBdUI7UUFDaEMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0NBQ0Y7QUFKRCxvQ0FJQyJ9
@@ -0,0 +1,15 @@
1
+ import FieldFormStates from './field-form-states';
2
+ export default abstract class ActionField<TypingsSchema> {
3
+ private readonly fieldsFormStates;
4
+ protected readonly name: string;
5
+ constructor(name: string, fieldsFormStates: FieldFormStates<TypingsSchema>);
6
+ protected get field(): import("./field-getter").default;
7
+ getName(): string;
8
+ getType(): string;
9
+ getValue(): unknown;
10
+ isRequired(): boolean;
11
+ getMultipleChoiceField(): import("./action-field-multiple-choice").default;
12
+ protected isValueUndefinedOrNull(value: any): boolean;
13
+ protected setValue(value: unknown): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=action-field.d.ts.map
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class ActionField {
4
+ constructor(name, fieldsFormStates) {
5
+ this.name = name;
6
+ this.fieldsFormStates = fieldsFormStates;
7
+ }
8
+ get field() {
9
+ return this.fieldsFormStates.getField(this.name);
10
+ }
11
+ getName() {
12
+ return this.name;
13
+ }
14
+ getType() {
15
+ return this.field?.getType();
16
+ }
17
+ getValue() {
18
+ return this.field?.getValue();
19
+ }
20
+ isRequired() {
21
+ return this.field?.getPlainField().isRequired;
22
+ }
23
+ getMultipleChoiceField() {
24
+ return this.fieldsFormStates.getMultipleChoiceField(this.name);
25
+ }
26
+ isValueUndefinedOrNull(value) {
27
+ return value === undefined || value === null;
28
+ }
29
+ async setValue(value) {
30
+ await this.fieldsFormStates.setFieldValue(this.name, value);
31
+ }
32
+ }
33
+ exports.default = ActionField;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBOEIsV0FBVztJQUl2QyxZQUFZLElBQVksRUFBRSxnQkFBZ0Q7UUFDeEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFjLEtBQUs7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDaEQsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVTLHNCQUFzQixDQUFDLEtBQVU7UUFDekMsT0FBTyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBYztRQUNyQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUF4Q0QsOEJBd0NDIn0=
@@ -0,0 +1,25 @@
1
+ import { ForestServerActionFormLayoutElement } from '@forestadmin/forestadmin-client';
2
+ import ActionFieldMultipleChoice from './action-field-multiple-choice';
3
+ import FieldGetter from './field-getter';
4
+ import HttpRequester from '../http-requester';
5
+ export default class FieldFormStates<TypingsSchema> {
6
+ private readonly fields;
7
+ private readonly actionName;
8
+ private readonly actionPath;
9
+ private readonly collectionName;
10
+ private readonly httpRequester;
11
+ private readonly ids;
12
+ private readonly layout;
13
+ constructor(actionName: string, actionPath: string, collectionName: string, httpRequester: HttpRequester, ids: string[]);
14
+ getFieldValues(): Record<string, unknown>;
15
+ getMultipleChoiceField(name: string): ActionFieldMultipleChoice;
16
+ getField(name: string): FieldGetter | undefined;
17
+ getFields(): FieldGetter[];
18
+ getLayout(): ForestServerActionFormLayoutElement[];
19
+ setFieldValue(name: string, value: unknown): Promise<void>;
20
+ loadInitialState(): Promise<void>;
21
+ private addFields;
22
+ private clearFieldsAndLayout;
23
+ private loadChanges;
24
+ }
25
+ //# sourceMappingURL=field-form-states.d.ts.map
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const action_field_multiple_choice_1 = __importDefault(require("./action-field-multiple-choice"));
7
+ const field_getter_1 = __importDefault(require("./field-getter"));
8
+ class FieldFormStates {
9
+ constructor(actionName, actionPath, collectionName, httpRequester, ids) {
10
+ this.fields = [];
11
+ this.actionName = actionName;
12
+ this.actionPath = actionPath;
13
+ this.collectionName = collectionName;
14
+ this.httpRequester = httpRequester;
15
+ this.ids = ids;
16
+ this.layout = [];
17
+ }
18
+ getFieldValues() {
19
+ return this.fields.reduce((acc, f) => {
20
+ if (f.getValue() !== undefined)
21
+ acc[f.getName()] = f.getValue();
22
+ return acc;
23
+ }, {});
24
+ }
25
+ getMultipleChoiceField(name) {
26
+ return new action_field_multiple_choice_1.default(this.getField(name)?.getPlainField());
27
+ }
28
+ getField(name) {
29
+ return this.fields.find(f => f.getName() === name);
30
+ }
31
+ getFields() {
32
+ return this.fields;
33
+ }
34
+ getLayout() {
35
+ return this.layout;
36
+ }
37
+ async setFieldValue(name, value) {
38
+ const field = this.getField(name);
39
+ if (!field)
40
+ throw new Error(`Field "${name}" not found in action "${this.actionName}"`);
41
+ field.getPlainField().value = value;
42
+ await this.loadChanges(name);
43
+ }
44
+ async loadInitialState() {
45
+ const requestBody = {
46
+ data: {
47
+ attributes: {
48
+ collection_name: this.collectionName,
49
+ ids: this.ids,
50
+ values: {},
51
+ },
52
+ type: 'action-requests',
53
+ },
54
+ };
55
+ const queryResults = await this.httpRequester.query({
56
+ method: 'post',
57
+ path: `${this.actionPath}/hooks/load`,
58
+ body: requestBody,
59
+ });
60
+ this.clearFieldsAndLayout();
61
+ this.layout.push(...queryResults.layout);
62
+ this.addFields(queryResults.fields);
63
+ }
64
+ addFields(plainFields) {
65
+ plainFields.forEach(f => this.fields.push(new field_getter_1.default(f)));
66
+ }
67
+ clearFieldsAndLayout() {
68
+ this.layout.splice(0, this.layout.length);
69
+ this.fields.splice(0, this.fields.length);
70
+ }
71
+ async loadChanges(fieldName) {
72
+ const requestBody = {
73
+ data: {
74
+ attributes: {
75
+ collection_name: this.collectionName,
76
+ changed_field: fieldName,
77
+ ids: this.ids,
78
+ fields: this.fields.map(f => f.getPlainField()),
79
+ },
80
+ type: 'custom-action-hook-requests',
81
+ },
82
+ };
83
+ const queryResults = await this.httpRequester.query({
84
+ method: 'post',
85
+ path: `${this.actionPath}/hooks/change`,
86
+ body: requestBody,
87
+ });
88
+ this.clearFieldsAndLayout();
89
+ this.addFields(queryResults.fields);
90
+ this.layout.push(...queryResults.layout);
91
+ }
92
+ }
93
+ exports.default = FieldFormStates;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZm9ybS1zdGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWN0aW9uLWZpZWxkcy9maWVsZC1mb3JtLXN0YXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLGtHQUF1RTtBQUN2RSxrRUFBeUM7QUFJekMsTUFBcUIsZUFBZTtJQVNsQyxZQUNFLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLGNBQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLEdBQWE7UUFFYixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxTQUFTO2dCQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFaEUsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBWTtRQUNqQyxPQUFPLElBQUksc0NBQXlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLElBQVksRUFBRSxLQUFjO1FBQzlDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSwwQkFBMEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFFeEYsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDcEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCO1FBQ3BCLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLElBQUksRUFBRTtnQkFDSixVQUFVLEVBQUU7b0JBQ1YsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjO29CQUNwQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7b0JBQ2IsTUFBTSxFQUFFLEVBQUU7aUJBQ1g7Z0JBQ0QsSUFBSSxFQUFFLGlCQUFpQjthQUN4QjtTQUNGLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFlO1lBQ2hFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsYUFBYTtZQUNyQyxJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sU0FBUyxDQUFDLFdBQXlCO1FBQ3pDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLHNCQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBaUI7UUFDekMsTUFBTSxXQUFXLEdBQUc7WUFDbEIsSUFBSSxFQUFFO2dCQUNKLFVBQVUsRUFBRTtvQkFDVixlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWM7b0JBQ3BDLGFBQWEsRUFBRSxTQUFTO29CQUN4QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7b0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUNoRDtnQkFDRCxJQUFJLEVBQUUsNkJBQTZCO2FBQ3BDO1NBQ0YsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQWU7WUFDaEUsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxlQUFlO1lBQ3ZDLElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQWhIRCxrQ0FnSEMifQ==
@@ -0,0 +1,10 @@
1
+ import { PlainField } from './types';
2
+ export default class FieldGetter {
3
+ private readonly plainField;
4
+ constructor(plainField: PlainField);
5
+ getPlainField(): PlainField;
6
+ getValue(): unknown;
7
+ getName(): string;
8
+ getType(): string;
9
+ }
10
+ //# sourceMappingURL=field-getter.d.ts.map
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class FieldGetter {
4
+ constructor(plainField) {
5
+ this.plainField = plainField;
6
+ }
7
+ getPlainField() {
8
+ return this.plainField;
9
+ }
10
+ getValue() {
11
+ return this.plainField.value;
12
+ }
13
+ getName() {
14
+ return this.plainField.field;
15
+ }
16
+ getType() {
17
+ return this.plainField.type;
18
+ }
19
+ }
20
+ exports.default = FieldGetter;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ2V0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi1maWVsZHMvZmllbGQtZ2V0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBcUIsV0FBVztJQUc5QixZQUFZLFVBQXNCO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQXRCRCw4QkFzQkMifQ==
@@ -0,0 +1,28 @@
1
+ import { ForestServerActionFormLayoutElement } from '@forestadmin/forestadmin-client';
2
+ export type ResponseBody = {
3
+ fields: PlainField[];
4
+ layout: ForestServerActionFormLayoutElement[];
5
+ };
6
+ export type PlainFieldOption = {
7
+ label: string;
8
+ value: string;
9
+ };
10
+ export type PlainField = {
11
+ field: string;
12
+ type: string;
13
+ description?: string;
14
+ value?: unknown;
15
+ isRequired: boolean;
16
+ isReadOnly: boolean;
17
+ widgetEdit?: {
18
+ parameters: {
19
+ static: {
20
+ options?: PlainFieldOption[];
21
+ enableOpacity?: boolean;
22
+ quickPalette?: string[];
23
+ };
24
+ };
25
+ };
26
+ enums?: string[];
27
+ };
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWN0aW9uLWZpZWxkcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,9 @@
1
+ import { ForestServerActionFormLayoutElement } from '@forestadmin/forestadmin-client';
2
+ import ActionLayoutElement from './action-layout-element';
3
+ export default abstract class ActionLayoutElementsContainer {
4
+ protected readonly layout: ForestServerActionFormLayoutElement[];
5
+ constructor(layout: ForestServerActionFormLayoutElement[]);
6
+ element(n: number): ActionLayoutElement;
7
+ isPage(n: number): boolean;
8
+ }
9
+ //# sourceMappingURL=action-layout-container.d.ts.map