@forestadmin/agent-testing 0.1.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/LICENSE +674 -0
- package/README.md +52 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +20 -0
- package/dist/integrations/benchmark.d.ts +13 -0
- package/dist/integrations/benchmark.js +36 -0
- package/dist/integrations/forest-admin-client-mock.d.ts +28 -0
- package/dist/integrations/forest-admin-client-mock.js +76 -0
- package/dist/integrations/forest-server-sandbox.d.ts +14 -0
- package/dist/integrations/forest-server-sandbox.js +153 -0
- package/dist/integrations/http-requester-mock.d.ts +8 -0
- package/dist/integrations/http-requester-mock.js +15 -0
- package/dist/integrations/index.d.ts +43 -0
- package/dist/integrations/index.js +119 -0
- package/dist/integrations/schema-converter.d.ts +6 -0
- package/dist/integrations/schema-converter.js +16 -0
- package/dist/integrations/schema-path-manager.d.ts +6 -0
- package/dist/integrations/schema-path-manager.js +25 -0
- package/dist/integrations/testable-agent-base.d.ts +7 -0
- package/dist/integrations/testable-agent-base.js +14 -0
- package/dist/integrations/testable-agent.d.ts +15 -0
- package/dist/integrations/testable-agent.js +33 -0
- package/dist/integrations/types.d.ts +5 -0
- package/dist/integrations/types.js +3 -0
- package/dist/remote-agent-client/action-fields/action-field-checkbox-group.d.ts +8 -0
- package/dist/remote-agent-client/action-fields/action-field-checkbox-group.js +23 -0
- package/dist/remote-agent-client/action-fields/action-field-checkbox.d.ts +6 -0
- package/dist/remote-agent-client/action-fields/action-field-checkbox.js +16 -0
- package/dist/remote-agent-client/action-fields/action-field-color-picker.d.ts +7 -0
- package/dist/remote-agent-client/action-fields/action-field-color-picker.js +19 -0
- package/dist/remote-agent-client/action-fields/action-field-date.d.ts +5 -0
- package/dist/remote-agent-client/action-fields/action-field-date.js +13 -0
- package/dist/remote-agent-client/action-fields/action-field-dropdown.d.ts +7 -0
- package/dist/remote-agent-client/action-fields/action-field-dropdown.js +16 -0
- package/dist/remote-agent-client/action-fields/action-field-enum.d.ts +6 -0
- package/dist/remote-agent-client/action-fields/action-field-enum.js +19 -0
- package/dist/remote-agent-client/action-fields/action-field-json.d.ts +5 -0
- package/dist/remote-agent-client/action-fields/action-field-json.js +13 -0
- package/dist/remote-agent-client/action-fields/action-field-multiple-choice.d.ts +7 -0
- package/dist/remote-agent-client/action-fields/action-field-multiple-choice.js +19 -0
- package/dist/remote-agent-client/action-fields/action-field-number-list.d.ts +6 -0
- package/dist/remote-agent-client/action-fields/action-field-number-list.js +20 -0
- package/dist/remote-agent-client/action-fields/action-field-number.d.ts +5 -0
- package/dist/remote-agent-client/action-fields/action-field-number.js +13 -0
- package/dist/remote-agent-client/action-fields/action-field-radio-group.d.ts +7 -0
- package/dist/remote-agent-client/action-fields/action-field-radio-group.js +16 -0
- package/dist/remote-agent-client/action-fields/action-field-string-list.d.ts +6 -0
- package/dist/remote-agent-client/action-fields/action-field-string-list.js +20 -0
- package/dist/remote-agent-client/action-fields/action-field-string.d.ts +5 -0
- package/dist/remote-agent-client/action-fields/action-field-string.js +13 -0
- package/dist/remote-agent-client/action-fields/action-field.d.ts +15 -0
- package/dist/remote-agent-client/action-fields/action-field.js +34 -0
- package/dist/remote-agent-client/action-fields/field-form-states.d.ts +25 -0
- package/dist/remote-agent-client/action-fields/field-form-states.js +94 -0
- package/dist/remote-agent-client/action-fields/field-getter.d.ts +10 -0
- package/dist/remote-agent-client/action-fields/field-getter.js +21 -0
- package/dist/remote-agent-client/action-fields/types.d.ts +28 -0
- package/dist/remote-agent-client/action-fields/types.js +3 -0
- package/dist/remote-agent-client/action-layout/action-layout-container.d.ts +9 -0
- package/dist/remote-agent-client/action-layout/action-layout-container.js +24 -0
- package/dist/remote-agent-client/action-layout/action-layout-element.d.ts +14 -0
- package/dist/remote-agent-client/action-layout/action-layout-element.js +47 -0
- package/dist/remote-agent-client/action-layout/action-layout-input.d.ts +7 -0
- package/dist/remote-agent-client/action-layout/action-layout-input.js +12 -0
- package/dist/remote-agent-client/action-layout/action-layout-page.d.ts +8 -0
- package/dist/remote-agent-client/action-layout/action-layout-page.js +18 -0
- package/dist/remote-agent-client/action-layout/action-layout-root.d.ts +6 -0
- package/dist/remote-agent-client/action-layout/action-layout-root.js +19 -0
- package/dist/remote-agent-client/action-layout/errors.d.ts +8 -0
- package/dist/remote-agent-client/action-layout/errors.js +16 -0
- package/dist/remote-agent-client/domains/action.d.ts +59 -0
- package/dist/remote-agent-client/domains/action.js +139 -0
- package/dist/remote-agent-client/domains/chart.d.ts +21 -0
- package/dist/remote-agent-client/domains/chart.js +39 -0
- package/dist/remote-agent-client/domains/collection-chart.d.ts +19 -0
- package/dist/remote-agent-client/domains/collection-chart.js +40 -0
- package/dist/remote-agent-client/domains/collection.d.ts +26 -0
- package/dist/remote-agent-client/domains/collection.js +109 -0
- package/dist/remote-agent-client/domains/relation.d.ts +11 -0
- package/dist/remote-agent-client/domains/relation.js +23 -0
- package/dist/remote-agent-client/domains/remote-agent-client.d.ts +41 -0
- package/dist/remote-agent-client/domains/remote-agent-client.js +43 -0
- package/dist/remote-agent-client/domains/segment.d.ts +14 -0
- package/dist/remote-agent-client/domains/segment.js +46 -0
- package/dist/remote-agent-client/http-requester.d.ts +30 -0
- package/dist/remote-agent-client/http-requester.js +67 -0
- package/dist/remote-agent-client/index.d.ts +10 -0
- package/dist/remote-agent-client/index.js +18 -0
- package/dist/remote-agent-client/query-serializer.d.ts +7 -0
- package/dist/remote-agent-client/query-serializer.js +34 -0
- package/dist/remote-agent-client/types.d.ts +25 -0
- package/dist/remote-agent-client/types.js +3 -0
- package/dist/units/add-action.d.ts +16 -0
- package/dist/units/add-action.js +70 -0
- package/dist/units/add-field.d.ts +3 -0
- package/dist/units/add-field.js +18 -0
- package/dist/units/add-hook.d.ts +3 -0
- package/dist/units/add-hook.js +18 -0
- package/dist/units/import-field.d.ts +3 -0
- package/dist/units/import-field.js +18 -0
- package/dist/units/index.d.ts +9 -0
- package/dist/units/index.js +25 -0
- package/dist/units/many-to-one-relation.d.ts +3 -0
- package/dist/units/many-to-one-relation.js +18 -0
- package/dist/units/replace-search.d.ts +3 -0
- package/dist/units/replace-search.js +18 -0
- package/dist/units/types.d.ts +34 -0
- package/dist/units/types.js +3 -0
- package/dist/units/use-plugin.d.ts +3 -0
- package/dist/units/use-plugin.js +18 -0
- package/package.json +55 -0
|
@@ -0,0 +1,25 @@
|
|
|
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 promises_1 = __importDefault(require("fs/promises"));
|
|
7
|
+
const os_1 = require("os");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const RESERVED_SCHEMA_PREFIX = 'reserved-forestadmin-schema-test-';
|
|
10
|
+
class SchemaPathManager {
|
|
11
|
+
static generateTemporarySchemaPath() {
|
|
12
|
+
const random = Math.floor(Math.random() * 1000000);
|
|
13
|
+
return path_1.default.join((0, os_1.tmpdir)(), `${RESERVED_SCHEMA_PREFIX}-${random}.json`);
|
|
14
|
+
}
|
|
15
|
+
static async removeTemporarySchemaPath(schemaPath) {
|
|
16
|
+
if (SchemaPathManager.isTemporarySchemaPath(schemaPath)) {
|
|
17
|
+
await promises_1.default.rm(schemaPath, { force: true });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static isTemporarySchemaPath(schemaPath) {
|
|
21
|
+
return schemaPath.includes(RESERVED_SCHEMA_PREFIX);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.default = SchemaPathManager;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLXBhdGgtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlZ3JhdGlvbnMvc2NoZW1hLXBhdGgtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJEQUE2QjtBQUM3QiwyQkFBNEI7QUFDNUIsZ0RBQXdCO0FBRXhCLE1BQU0sc0JBQXNCLEdBQUcsbUNBQW1DLENBQUM7QUFDbkUsTUFBcUIsaUJBQWlCO0lBQ3BDLE1BQU0sQ0FBQywyQkFBMkI7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFFbkQsT0FBTyxjQUFJLENBQUMsSUFBSSxDQUFDLElBQUEsV0FBTSxHQUFFLEVBQUUsR0FBRyxzQkFBc0IsSUFBSSxNQUFNLE9BQU8sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLFVBQWtCO1FBQ3ZELElBQUksaUJBQWlCLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4RCxNQUFNLGtCQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQWtCO1FBQ3JELE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRjtBQWhCRCxvQ0FnQkMifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TSchema } from '@forestadmin/datasource-customizer';
|
|
2
|
+
import Benchmark from './benchmark';
|
|
3
|
+
import RemoteControlAgent from '../remote-agent-client/domains/remote-agent-client';
|
|
4
|
+
export default class TestableAgentBase<TypingsSchema extends TSchema = TSchema> extends RemoteControlAgent<TypingsSchema> {
|
|
5
|
+
benchmark(): Benchmark;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=testable-agent-base.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
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 benchmark_1 = __importDefault(require("./benchmark"));
|
|
7
|
+
const remote_agent_client_1 = __importDefault(require("../remote-agent-client/domains/remote-agent-client"));
|
|
8
|
+
class TestableAgentBase extends remote_agent_client_1.default {
|
|
9
|
+
benchmark() {
|
|
10
|
+
return new benchmark_1.default();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = TestableAgentBase;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGFibGUtYWdlbnQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlZ3JhdGlvbnMvdGVzdGFibGUtYWdlbnQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDREQUFvQztBQUNwQyw2R0FBb0Y7QUFFcEYsTUFBcUIsaUJBRW5CLFNBQVEsNkJBQWlDO0lBQ3pDLFNBQVM7UUFDUCxPQUFPLElBQUksbUJBQVMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQU5ELG9DQU1DIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Agent } from '@forestadmin/agent';
|
|
2
|
+
import type { TSchema } from '@forestadmin/datasource-customizer';
|
|
3
|
+
import { TestableAgentOptions } from './index';
|
|
4
|
+
import TestableAgentBase from './testable-agent-base';
|
|
5
|
+
export default class TestableAgent<TypingsSchema extends TSchema = TSchema> extends TestableAgentBase<TypingsSchema> {
|
|
6
|
+
private readonly agent;
|
|
7
|
+
private readonly agentOptions;
|
|
8
|
+
constructor({ agent, agentOptions, }: {
|
|
9
|
+
agent: Agent<TypingsSchema>;
|
|
10
|
+
agentOptions: TestableAgentOptions;
|
|
11
|
+
});
|
|
12
|
+
stop(): Promise<void>;
|
|
13
|
+
start(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=testable-agent.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
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 promises_1 = __importDefault(require("fs/promises"));
|
|
7
|
+
const http_requester_mock_1 = require("./http-requester-mock");
|
|
8
|
+
const index_1 = require("./index");
|
|
9
|
+
const schema_converter_1 = __importDefault(require("./schema-converter"));
|
|
10
|
+
const testable_agent_base_1 = __importDefault(require("./testable-agent-base"));
|
|
11
|
+
class TestableAgent extends testable_agent_base_1.default {
|
|
12
|
+
constructor({ agent, agentOptions, }) {
|
|
13
|
+
super();
|
|
14
|
+
this.agent = agent;
|
|
15
|
+
this.agentOptions = agentOptions;
|
|
16
|
+
}
|
|
17
|
+
async stop() {
|
|
18
|
+
await this.agent.stop();
|
|
19
|
+
await index_1.SchemaPathManager.removeTemporarySchemaPath(this.agentOptions.schemaPath);
|
|
20
|
+
}
|
|
21
|
+
async start() {
|
|
22
|
+
await this.agent.mountOnStandaloneServer(this.agentOptions.port ?? 0).start();
|
|
23
|
+
if (!this.agentOptions.schemaPath)
|
|
24
|
+
throw new Error('schemaPath is required');
|
|
25
|
+
this.actionEndpoints = schema_converter_1.default.extractActionEndpoints(JSON.parse(await promises_1.default.readFile(this.agentOptions.schemaPath, 'utf8')));
|
|
26
|
+
this.httpRequester = (0, http_requester_mock_1.createHttpRequester)({
|
|
27
|
+
url: `http://localhost:${this.agent.standaloneServerPort}`,
|
|
28
|
+
authSecret: this.agentOptions.authSecret,
|
|
29
|
+
}, this.agentOptions);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.default = TestableAgent;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGFibGUtYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZWdyYXRpb25zL3Rlc3RhYmxlLWFnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsMkRBQTZCO0FBRTdCLCtEQUE0RDtBQUM1RCxtQ0FBa0U7QUFDbEUsMEVBQWlEO0FBQ2pELGdGQUFzRDtBQUV0RCxNQUFxQixhQUVuQixTQUFRLDZCQUFnQztJQUl4QyxZQUFZLEVBQ1YsS0FBSyxFQUNMLFlBQVksR0FJYjtRQUNDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXhCLE1BQU0seUJBQWlCLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsZUFBZSxHQUFHLDBCQUFlLENBQUMsc0JBQXNCLENBQzNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxrQkFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUNwRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFBLHlDQUFtQixFQUN0QztZQUNFLEdBQUcsRUFBRSxvQkFBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRTtZQUMxRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO1NBQ3pDLEVBQ0QsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRDRCxnQ0FzQ0MifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZWdyYXRpb25zL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNoZWNrYm94LWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtY2hlY2tib3gtZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFHekMsTUFBcUIsd0JBQXdDLFNBQVEsc0JBQTBCO0lBQzdGLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQWM7UUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDNUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQWMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBYztRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM1QyxNQUFNLGFBQWEsR0FBSSxLQUFLLENBQUMsUUFBUSxFQUFlLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztDQUNGO0FBakJELDJDQWlCQyJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNoZWNrYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFFekMsTUFBcUIsbUJBQW1DLFNBQVEsc0JBQTBCO0lBQ3hGLEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFSRCxzQ0FRQyJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNvbG9yLXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW1vdGUtYWdlbnQtY2xpZW50L2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLWNvbG9yLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUV6QyxNQUFxQixzQkFBc0MsU0FBUSxzQkFBMEI7SUFDM0YsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUF1QjtRQUNoQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNuQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQy9FLENBQUM7Q0FDRjtBQVpELHlDQVlDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVtb3RlLWFnZW50LWNsaWVudC9hY3Rpb24tZmllbGRzL2FjdGlvbi1maWVsZC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBRXpDLE1BQXFCLGVBQStCLFNBQVEsc0JBQTBCO0lBQ3BGLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBcUI7UUFDOUIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7Q0FDRjtBQUpELGtDQUlDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWRyb3Bkb3duLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFHekMsTUFBcUIsbUJBQW1DLFNBQVEsc0JBQTBCO0lBQ3hGLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQWM7UUFDekIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0Y7QUFSRCxzQ0FRQyJ9
|
|
@@ -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 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
|
+
}
|
|
15
|
+
await this.setValue(option);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = ActionFieldEnum;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVtb3RlLWFnZW50LWNsaWVudC9hY3Rpb24tZmllbGRzL2FjdGlvbi1maWVsZC1lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBRXpDLE1BQXFCLGVBQStCLFNBQVEsc0JBQTBCO0lBQ3BGLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQWM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsTUFBTSx5QkFBeUIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUVELE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUFaRCxrQ0FZQyJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVtb3RlLWFnZW50LWNsaWVudC9hY3Rpb24tZmllbGRzL2FjdGlvbi1maWVsZC1qc29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBRXpDLE1BQXFCLGVBQStCLFNBQVEsc0JBQTBCO0lBQ3BGLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBYztRQUN2QixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBSkQsa0NBSUMifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLW11bHRpcGxlLWNob2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW1vdGUtYWdlbnQtY2xpZW50L2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLW11bHRpcGxlLWNob2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUd6QyxNQUFxQix5QkFBMEIsU0FBUSxzQkFBVztJQUNoRSxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLHlCQUF5QixJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTFGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQVhELDRDQVdDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLW51bWJlci1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtbnVtYmVyLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFFekMsTUFBcUIscUJBQXFDLFNBQVEsc0JBQTBCO0lBQzFGLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBYTtRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBYyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFhO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFjLENBQUM7UUFDbEQsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLENBQUM7UUFFakYsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQVpELHdDQVlDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW1vdGUtYWdlbnQtY2xpZW50L2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUV6QyxNQUFxQixpQkFBaUMsU0FBUSxzQkFBMEI7SUFDdEYsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUF1QjtRQUNoQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FDRjtBQUpELG9DQUlDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLXJhZGlvLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtcmFkaW8tZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFHekMsTUFBcUIscUJBQXFDLFNBQVEsc0JBQTBCO0lBQzFGLEtBQUssQ0FBQyxVQUFVO1FBQ2QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFjO1FBQ3hCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQztDQUNGO0FBUkQsd0NBUUMifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLXN0cmluZy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtc3RyaW5nLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFFekMsTUFBcUIscUJBQXFDLFNBQVEsc0JBQTBCO0lBQzFGLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBYTtRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBYyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFhO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFjLENBQUM7UUFDbEQsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLENBQUM7UUFFakYsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQVpELHdDQVlDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLXN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW1vdGUtYWdlbnQtY2xpZW50L2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLXN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUV6QyxNQUFxQixpQkFBaUMsU0FBUSxzQkFBMEI7SUFDdEYsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUF1QjtRQUNoQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7Q0FDRjtBQUpELG9DQUlDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxNQUE4QixXQUFXO0lBSXZDLFlBQVksSUFBWSxFQUFFLGdCQUFnRDtRQUN4RSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQWMsS0FBSztRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRVMsc0JBQXNCLENBQUMsS0FBVTtRQUN6QyxPQUFPLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRVMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFjO1FBQ3JDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjtBQXhDRCw4QkF3Q0MifQ==
|
|
@@ -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: keyof TypingsSchema, 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
|