@rytass/bpm-core-client 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.
Files changed (43) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/LICENSE +21 -0
  3. package/README.md +191 -0
  4. package/package.json +82 -0
  5. package/src/index.d.ts +3 -0
  6. package/src/index.js +7 -0
  7. package/src/index.js.map +1 -0
  8. package/src/lib/api-auth-client.d.ts +73 -0
  9. package/src/lib/api-auth-client.js +121 -0
  10. package/src/lib/api-auth-client.js.map +1 -0
  11. package/src/lib/form/form-api.d.ts +48 -0
  12. package/src/lib/form/form-api.js +228 -0
  13. package/src/lib/form/form-api.js.map +1 -0
  14. package/src/lib/form/form-rendering.d.ts +52 -0
  15. package/src/lib/form/form-rendering.js +341 -0
  16. package/src/lib/form/form-rendering.js.map +1 -0
  17. package/src/lib/form/index.d.ts +2 -0
  18. package/src/lib/form/index.js +6 -0
  19. package/src/lib/form/index.js.map +1 -0
  20. package/src/lib/graphql-client.d.ts +45 -0
  21. package/src/lib/graphql-client.js +92 -0
  22. package/src/lib/graphql-client.js.map +1 -0
  23. package/src/lib/member-api.d.ts +49 -0
  24. package/src/lib/member-api.js +72 -0
  25. package/src/lib/member-api.js.map +1 -0
  26. package/src/lib/organization/index.d.ts +1 -0
  27. package/src/lib/organization/index.js +5 -0
  28. package/src/lib/organization/index.js.map +1 -0
  29. package/src/lib/organization/organization-api.d.ts +168 -0
  30. package/src/lib/organization/organization-api.js +394 -0
  31. package/src/lib/organization/organization-api.js.map +1 -0
  32. package/src/lib/template/index.d.ts +1 -0
  33. package/src/lib/template/index.js +5 -0
  34. package/src/lib/template/index.js.map +1 -0
  35. package/src/lib/template/template-api.d.ts +150 -0
  36. package/src/lib/template/template-api.js +407 -0
  37. package/src/lib/template/template-api.js.map +1 -0
  38. package/src/lib/workflow/index.d.ts +1 -0
  39. package/src/lib/workflow/index.js +5 -0
  40. package/src/lib/workflow/index.js.map +1 -0
  41. package/src/lib/workflow/workflow-api.d.ts +376 -0
  42. package/src/lib/workflow/workflow-api.js +867 -0
  43. package/src/lib/workflow/workflow-api.js.map +1 -0
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listFormDefinitions = listFormDefinitions;
4
+ exports.listFormDefinitionsPage = listFormDefinitionsPage;
5
+ exports.createFormDefinition = createFormDefinition;
6
+ exports.updateFormDefinition = updateFormDefinition;
7
+ exports.readFormBuilder = readFormBuilder;
8
+ exports.updateFormDefinitionDraft = updateFormDefinitionDraft;
9
+ exports.publishFormDefinitionVersion = publishFormDefinitionVersion;
10
+ exports.forkFormDefinition = forkFormDefinition;
11
+ exports.lintFormSchema = lintFormSchema;
12
+ exports.createFieldDefinition = createFieldDefinition;
13
+ const graphql_client_1 = require("../graphql-client");
14
+ async function listFormDefinitions() {
15
+ const data = await (0, graphql_client_1.requestGraphQl)(`query FormDefinitions {
16
+ formDefinitions {
17
+ currentVersionCreatedAt
18
+ currentVersionId
19
+ currentVersionNumber
20
+ currentVersionPublishedAt
21
+ description
22
+ id
23
+ name
24
+ updatedAt
25
+ }
26
+ }`);
27
+ return data.formDefinitions;
28
+ }
29
+ async function listFormDefinitionsPage({ page, pageSize, status, }) {
30
+ const data = await (0, graphql_client_1.requestGraphQl)(`query FormDefinitionsPage(
31
+ $page: Int!
32
+ $pageSize: Int!
33
+ $status: FormDefinitionListStatus
34
+ ) {
35
+ formDefinitions(page: $page, pageSize: $pageSize, status: $status) {
36
+ currentVersionCreatedAt
37
+ currentVersionId
38
+ currentVersionNumber
39
+ currentVersionPublishedAt
40
+ description
41
+ id
42
+ name
43
+ updatedAt
44
+ }
45
+ formDefinitionCount(status: $status)
46
+ }`, { page, pageSize, status: status ?? null });
47
+ return {
48
+ forms: data.formDefinitions,
49
+ totalCount: data.formDefinitionCount,
50
+ };
51
+ }
52
+ async function createFormDefinition(name) {
53
+ const data = await (0, graphql_client_1.requestGraphQl)(`mutation CreateFormDefinition($input: CreateFormDefinitionInput!) {
54
+ createFormDefinition(input: $input) {
55
+ id
56
+ }
57
+ }`, {
58
+ input: {
59
+ createdByMemberId: null,
60
+ description: null,
61
+ name,
62
+ schemaJson: null,
63
+ uiSchemaJson: null,
64
+ },
65
+ });
66
+ return data.createFormDefinition.id;
67
+ }
68
+ async function updateFormDefinition(id, name) {
69
+ const data = await (0, graphql_client_1.requestGraphQl)(`mutation UpdateFormDefinition($input: UpdateFormDefinitionInput!) {
70
+ updateFormDefinition(input: $input) {
71
+ currentVersionCreatedAt
72
+ currentVersionId
73
+ currentVersionNumber
74
+ currentVersionPublishedAt
75
+ description
76
+ id
77
+ name
78
+ updatedAt
79
+ }
80
+ }`, {
81
+ input: {
82
+ description: null,
83
+ id,
84
+ name,
85
+ },
86
+ });
87
+ return data.updateFormDefinition;
88
+ }
89
+ async function readFormBuilder(formDefinitionId) {
90
+ const data = await (0, graphql_client_1.requestGraphQl)(`query FormBuilder($id: String!) {
91
+ formDefinition(id: $id) {
92
+ currentVersionCreatedAt
93
+ currentVersionId
94
+ currentVersionNumber
95
+ currentVersionPublishedAt
96
+ description
97
+ id
98
+ name
99
+ updatedAt
100
+ }
101
+ formDefinitionVersions(formDefinitionId: $id) {
102
+ id
103
+ publishedAt
104
+ schemaJson
105
+ status
106
+ uiSchemaJson
107
+ updatedAt
108
+ version
109
+ }
110
+ }`, { id: formDefinitionId });
111
+ return {
112
+ definition: data.formDefinition,
113
+ versions: data.formDefinitionVersions.map(parseVersionJson),
114
+ };
115
+ }
116
+ async function updateFormDefinitionDraft(versionId, schema, uiSchema) {
117
+ const data = await (0, graphql_client_1.requestGraphQl)(`mutation UpdateFormDefinitionDraft($input: UpdateFormDefinitionDraftInput!) {
118
+ updateFormDefinitionDraft(input: $input) {
119
+ id
120
+ publishedAt
121
+ schemaJson
122
+ status
123
+ uiSchemaJson
124
+ updatedAt
125
+ version
126
+ }
127
+ }`, {
128
+ input: {
129
+ schemaJson: JSON.stringify(schema),
130
+ uiSchemaJson: JSON.stringify(uiSchema),
131
+ versionId,
132
+ },
133
+ });
134
+ return parseVersionJson(data.updateFormDefinitionDraft);
135
+ }
136
+ async function publishFormDefinitionVersion(versionId) {
137
+ const data = await (0, graphql_client_1.requestGraphQl)(`mutation PublishFormDefinitionVersion($versionId: String!) {
138
+ publishFormDefinitionVersion(versionId: $versionId) {
139
+ id
140
+ publishedAt
141
+ schemaJson
142
+ status
143
+ uiSchemaJson
144
+ updatedAt
145
+ version
146
+ }
147
+ }`, { versionId });
148
+ return parseVersionJson(data.publishFormDefinitionVersion);
149
+ }
150
+ async function forkFormDefinition(formDefinitionId) {
151
+ const data = await (0, graphql_client_1.requestGraphQl)(`mutation ForkFormDefinition($formDefinitionId: String!) {
152
+ forkFormDefinition(formDefinitionId: $formDefinitionId) {
153
+ id
154
+ publishedAt
155
+ schemaJson
156
+ status
157
+ uiSchemaJson
158
+ updatedAt
159
+ version
160
+ }
161
+ }`, { formDefinitionId });
162
+ return parseVersionJson(data.forkFormDefinition);
163
+ }
164
+ async function lintFormSchema(schema, uiSchema) {
165
+ const data = await (0, graphql_client_1.requestGraphQl)(`query LintFormSchema($input: LintFormSchemaInput!) {
166
+ lintFormSchema(input: $input) {
167
+ errors
168
+ valid
169
+ }
170
+ }`, {
171
+ input: {
172
+ schemaJson: JSON.stringify(schema),
173
+ uiSchemaJson: JSON.stringify(uiSchema),
174
+ },
175
+ });
176
+ return data.lintFormSchema;
177
+ }
178
+ function createFieldDefinition(type, index) {
179
+ const fieldKey = `${type}_${index}`;
180
+ const base = {
181
+ fieldKey,
182
+ label: readDefaultFieldLabel(type, index),
183
+ required: false,
184
+ type,
185
+ };
186
+ if (type === 'select' || type === 'radio' || type === 'checkbox') {
187
+ return {
188
+ ...base,
189
+ options: [
190
+ { label: '選項 A', value: 'option_a' },
191
+ { label: '選項 B', value: 'option_b' },
192
+ ],
193
+ type,
194
+ };
195
+ }
196
+ if (type === 'file_upload') {
197
+ return {
198
+ ...base,
199
+ maxFiles: 1,
200
+ type,
201
+ };
202
+ }
203
+ return base;
204
+ }
205
+ function parseVersionJson(version) {
206
+ return {
207
+ ...version,
208
+ schema: JSON.parse(version.schemaJson),
209
+ uiSchema: JSON.parse(version.uiSchemaJson),
210
+ };
211
+ }
212
+ function readDefaultFieldLabel(type, index) {
213
+ const labels = {
214
+ boolean: '開關',
215
+ checkbox: '複選',
216
+ date: '日期',
217
+ datetime: '日期時間',
218
+ file_upload: '附件',
219
+ money: '金額',
220
+ number: '數字',
221
+ radio: '單選',
222
+ select: '下拉選單',
223
+ text: '文字',
224
+ textarea: '長文字',
225
+ };
226
+ return `${labels[type]} ${index}`;
227
+ }
228
+ //# sourceMappingURL=form-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-api.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core-client/src/lib/form/form-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { DateFieldDefinition, FormDefinitionSchema, FormFieldDefinition, FormFieldOption, FormFieldValue, FormUiSchema, NumberFieldDefinition, SelectFieldDefinition } from '@rytass/bpm-core-shared/form';
2
+ export type ConditionOperator = 'equals' | 'greaterThan' | 'greaterThanOrEqual' | 'lessThan' | 'lessThanOrEqual' | 'notEquals';
3
+ export type ParsedConditionRule = Readonly<{
4
+ fieldKey: string;
5
+ operator: ConditionOperator;
6
+ value: string;
7
+ }>;
8
+ export type FormRendererValues = Readonly<Record<string, FormFieldValue | undefined>>;
9
+ export interface FormRendererValidationResult {
10
+ readonly errors: Readonly<Record<string, string>>;
11
+ readonly firstInvalidFieldKey: string | null;
12
+ readonly valid: boolean;
13
+ }
14
+ export declare function buildFormRendererValues(fields: readonly FormFieldDefinition[], currentValues: FormRendererValues): FormRendererValues;
15
+ export declare function readVisibleFormRendererFields(schema: FormDefinitionSchema, uiSchema: FormUiSchema, values: FormRendererValues): readonly FormFieldDefinition[];
16
+ export declare function validateFormRendererValues({ schema, uiSchema, values, }: {
17
+ readonly schema: FormDefinitionSchema;
18
+ readonly uiSchema: FormUiSchema;
19
+ readonly values: FormRendererValues;
20
+ }): FormRendererValidationResult;
21
+ export declare function focusFormRendererField(fieldKey: string): void;
22
+ export declare function isFormRendererFieldVisible(field: FormFieldDefinition, fields: readonly FormFieldDefinition[], values: FormRendererValues): boolean;
23
+ export declare function isFormRendererFieldRequired(field: FormFieldDefinition, fields: readonly FormFieldDefinition[], values: FormRendererValues): boolean;
24
+ export declare function isFormRendererFieldReadonly(field: FormFieldDefinition, fields: readonly FormFieldDefinition[], values: FormRendererValues): boolean;
25
+ export declare function evaluateConditionExpression(expression: string, fields: readonly FormFieldDefinition[], values: FormRendererValues, fallback: boolean): boolean;
26
+ export declare function parseConditionRule(expression: string): ParsedConditionRule | null;
27
+ export declare function buildConditionExpression(field: FormFieldDefinition, operator: ConditionOperator, value: string): string;
28
+ export declare function readDefaultConditionOperator(field: FormFieldDefinition): ConditionOperator;
29
+ export declare function readDefaultConditionValue(field: FormFieldDefinition): string;
30
+ export declare function readConditionOperatorOptions(field: FormFieldDefinition): readonly {
31
+ readonly id: ConditionOperator;
32
+ readonly name: string;
33
+ }[];
34
+ export declare function readConditionOperatorOption(value: string | undefined): ConditionOperator | null;
35
+ export declare function readDatePickerValue(value: FormFieldValue | string | undefined): string | undefined;
36
+ export declare function formatDatePickerValue(value: string | undefined): string | undefined;
37
+ export declare function formatDateTimePickerValue(value: string | undefined): string | undefined;
38
+ export declare function isNumberFieldDefinition(field: FormFieldDefinition): field is NumberFieldDefinition;
39
+ export declare function isDateFieldDefinition(field: FormFieldDefinition): field is DateFieldDefinition;
40
+ export declare function isSelectFieldDefinition(field: FormFieldDefinition): field is SelectFieldDefinition;
41
+ export declare function readSelectOption<TOption extends {
42
+ readonly id: string;
43
+ }>(options: readonly TOption[], id: string): TOption | null;
44
+ export declare function readFieldOptionAsSelectOption(option: FormFieldOption): {
45
+ readonly id: string;
46
+ readonly name: string;
47
+ };
48
+ export declare function parseOptionalNumberInput(value: string): number | undefined;
49
+ export declare function clampOptionalNumber(value: number | undefined, range: {
50
+ readonly max?: number;
51
+ readonly min?: number;
52
+ }): number | undefined;
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildFormRendererValues = buildFormRendererValues;
4
+ exports.readVisibleFormRendererFields = readVisibleFormRendererFields;
5
+ exports.validateFormRendererValues = validateFormRendererValues;
6
+ exports.focusFormRendererField = focusFormRendererField;
7
+ exports.isFormRendererFieldVisible = isFormRendererFieldVisible;
8
+ exports.isFormRendererFieldRequired = isFormRendererFieldRequired;
9
+ exports.isFormRendererFieldReadonly = isFormRendererFieldReadonly;
10
+ exports.evaluateConditionExpression = evaluateConditionExpression;
11
+ exports.parseConditionRule = parseConditionRule;
12
+ exports.buildConditionExpression = buildConditionExpression;
13
+ exports.readDefaultConditionOperator = readDefaultConditionOperator;
14
+ exports.readDefaultConditionValue = readDefaultConditionValue;
15
+ exports.readConditionOperatorOptions = readConditionOperatorOptions;
16
+ exports.readConditionOperatorOption = readConditionOperatorOption;
17
+ exports.readDatePickerValue = readDatePickerValue;
18
+ exports.formatDatePickerValue = formatDatePickerValue;
19
+ exports.formatDateTimePickerValue = formatDateTimePickerValue;
20
+ exports.isNumberFieldDefinition = isNumberFieldDefinition;
21
+ exports.isDateFieldDefinition = isDateFieldDefinition;
22
+ exports.isSelectFieldDefinition = isSelectFieldDefinition;
23
+ exports.readSelectOption = readSelectOption;
24
+ exports.readFieldOptionAsSelectOption = readFieldOptionAsSelectOption;
25
+ exports.parseOptionalNumberInput = parseOptionalNumberInput;
26
+ exports.clampOptionalNumber = clampOptionalNumber;
27
+ function buildFormRendererValues(fields, currentValues) {
28
+ return fields.reduce((values, field) => ({
29
+ ...values,
30
+ [field.fieldKey]: typeof currentValues[field.fieldKey] === 'undefined'
31
+ ? readInitialFormRendererValue(field)
32
+ : currentValues[field.fieldKey],
33
+ }), {});
34
+ }
35
+ function readVisibleFormRendererFields(schema, uiSchema, values) {
36
+ const fieldsByKey = new Map(schema.fields.map((field) => [field.fieldKey, field]));
37
+ const orderedFields = [
38
+ ...uiSchema.layout
39
+ .map((item) => fieldsByKey.get(item.fieldKey))
40
+ .filter((field) => Boolean(field)),
41
+ ...schema.fields.filter((field) => !uiSchema.layout.some((item) => item.fieldKey === field.fieldKey)),
42
+ ];
43
+ return orderedFields.filter((field) => isFormRendererFieldVisible(field, schema.fields, values));
44
+ }
45
+ function validateFormRendererValues({ schema, uiSchema, values, }) {
46
+ const visibleFields = readVisibleFormRendererFields(schema, uiSchema, values);
47
+ const errors = visibleFields.reduce((currentErrors, field) => isFormRendererFieldRequired(field, schema.fields, values) &&
48
+ !isFormRendererFieldValuePresent(values[field.fieldKey])
49
+ ? {
50
+ ...currentErrors,
51
+ [field.fieldKey]: `${field.label || field.fieldKey}為必填欄位。`,
52
+ }
53
+ : currentErrors, {});
54
+ const firstInvalidFieldKey = visibleFields.find((field) => errors[field.fieldKey])?.fieldKey;
55
+ return {
56
+ errors,
57
+ firstInvalidFieldKey: firstInvalidFieldKey ?? null,
58
+ valid: Object.keys(errors).length === 0,
59
+ };
60
+ }
61
+ function focusFormRendererField(fieldKey) {
62
+ const fieldElement = document.querySelector(`[data-form-field-key="${CSS.escape(fieldKey)}"]`);
63
+ const focusableElement = fieldElement?.querySelector('input, textarea, button, [tabindex]:not([tabindex="-1"])');
64
+ focusableElement?.focus();
65
+ fieldElement?.scrollIntoView({ behavior: 'smooth', block: 'center' });
66
+ }
67
+ function isFormRendererFieldVisible(field, fields, values) {
68
+ return field.visibleWhen
69
+ ? evaluateConditionExpression(field.visibleWhen, fields, values, true)
70
+ : true;
71
+ }
72
+ function isFormRendererFieldRequired(field, fields, values) {
73
+ return (field.required ||
74
+ Boolean(field.requiredWhen
75
+ ? evaluateConditionExpression(field.requiredWhen, fields, values, false)
76
+ : false));
77
+ }
78
+ function isFormRendererFieldReadonly(field, fields, values) {
79
+ return field.readonlyWhen
80
+ ? evaluateConditionExpression(field.readonlyWhen, fields, values, false)
81
+ : false;
82
+ }
83
+ function evaluateConditionExpression(expression, fields, values, fallback) {
84
+ const rule = parseConditionRule(expression);
85
+ if (!rule) {
86
+ return fallback;
87
+ }
88
+ const field = fields.find((candidate) => candidate.fieldKey === rule.fieldKey);
89
+ if (!field) {
90
+ return fallback;
91
+ }
92
+ return evaluateConditionRule(rule, field, values[field.fieldKey]);
93
+ }
94
+ function parseConditionRule(expression) {
95
+ const match = expression
96
+ .trim()
97
+ .match(/^form\.([A-Za-z][A-Za-z0-9_]*)\s*(==|!=|>=|<=|>|<)\s*(.+)$/u);
98
+ if (!match) {
99
+ return null;
100
+ }
101
+ const operator = readConditionOperatorFromSymbol(match[2]);
102
+ if (!operator) {
103
+ return null;
104
+ }
105
+ return {
106
+ fieldKey: match[1],
107
+ operator,
108
+ value: parseConditionLiteral(match[3]),
109
+ };
110
+ }
111
+ function buildConditionExpression(field, operator, value) {
112
+ return `form.${field.fieldKey} ${readConditionOperatorSymbol(operator)} ${formatConditionLiteral(field, value)}`;
113
+ }
114
+ function readDefaultConditionOperator(field) {
115
+ return isComparableConditionField(field) ? 'greaterThan' : 'equals';
116
+ }
117
+ function readDefaultConditionValue(field) {
118
+ if (field.type === 'boolean') {
119
+ return 'true';
120
+ }
121
+ if (isSelectFieldDefinition(field)) {
122
+ return field.options[0]?.value ?? '';
123
+ }
124
+ return '';
125
+ }
126
+ function readConditionOperatorOptions(field) {
127
+ const operatorIds = isComparableConditionField(field)
128
+ ? [
129
+ 'equals',
130
+ 'notEquals',
131
+ 'greaterThan',
132
+ 'greaterThanOrEqual',
133
+ 'lessThan',
134
+ 'lessThanOrEqual',
135
+ ]
136
+ : ['equals', 'notEquals'];
137
+ return CONDITION_OPERATOR_OPTIONS.filter((option) => operatorIds.includes(option.id));
138
+ }
139
+ function readConditionOperatorOption(value) {
140
+ return CONDITION_OPERATOR_OPTIONS.some((option) => option.id === value)
141
+ ? value
142
+ : null;
143
+ }
144
+ function readDatePickerValue(value) {
145
+ return typeof value === 'string' && value.trim() ? value : undefined;
146
+ }
147
+ function formatDatePickerValue(value) {
148
+ const date = value ? parseDatePickerValue(value) : null;
149
+ return date ? formatDateParts(date) : undefined;
150
+ }
151
+ function formatDateTimePickerValue(value) {
152
+ const date = value ? parseDatePickerValue(value) : null;
153
+ return date ? date.toISOString() : undefined;
154
+ }
155
+ function isNumberFieldDefinition(field) {
156
+ return field.type === 'number' || field.type === 'money';
157
+ }
158
+ function isDateFieldDefinition(field) {
159
+ return field.type === 'date' || field.type === 'datetime';
160
+ }
161
+ function isSelectFieldDefinition(field) {
162
+ return (field.type === 'select' ||
163
+ field.type === 'radio' ||
164
+ field.type === 'checkbox');
165
+ }
166
+ function readSelectOption(options, id) {
167
+ return options.find((option) => option.id === id) ?? null;
168
+ }
169
+ function readFieldOptionAsSelectOption(option) {
170
+ return {
171
+ id: option.value,
172
+ name: option.label,
173
+ };
174
+ }
175
+ function parseOptionalNumberInput(value) {
176
+ const trimmedValue = value.trim();
177
+ if (!trimmedValue) {
178
+ return undefined;
179
+ }
180
+ const nextValue = Number(trimmedValue);
181
+ return Number.isFinite(nextValue) ? nextValue : undefined;
182
+ }
183
+ function clampOptionalNumber(value, range) {
184
+ if (typeof value === 'undefined') {
185
+ return undefined;
186
+ }
187
+ if (typeof range.min === 'number' && value < range.min) {
188
+ return range.min;
189
+ }
190
+ if (typeof range.max === 'number' && value > range.max) {
191
+ return range.max;
192
+ }
193
+ return value;
194
+ }
195
+ const CONDITION_OPERATOR_OPTIONS = [
196
+ { id: 'equals', name: '等於' },
197
+ { id: 'notEquals', name: '不等於' },
198
+ { id: 'greaterThan', name: '大於' },
199
+ { id: 'greaterThanOrEqual', name: '大於等於' },
200
+ { id: 'lessThan', name: '小於' },
201
+ { id: 'lessThanOrEqual', name: '小於等於' },
202
+ ];
203
+ function readInitialFormRendererValue(field) {
204
+ if (typeof field.defaultValue !== 'undefined') {
205
+ return field.defaultValue;
206
+ }
207
+ if (field.type === 'boolean') {
208
+ return false;
209
+ }
210
+ if (field.type === 'checkbox' || field.type === 'file_upload') {
211
+ return [];
212
+ }
213
+ return undefined;
214
+ }
215
+ function isFormRendererFieldValuePresent(value) {
216
+ if (typeof value === 'undefined' || value === null) {
217
+ return false;
218
+ }
219
+ if (typeof value === 'string') {
220
+ return value.trim().length > 0;
221
+ }
222
+ if (Array.isArray(value)) {
223
+ return value.length > 0;
224
+ }
225
+ return true;
226
+ }
227
+ function evaluateConditionRule(rule, field, value) {
228
+ if (Array.isArray(value)) {
229
+ return evaluateArrayCondition(value, rule);
230
+ }
231
+ if (field.type === 'boolean') {
232
+ return compareConditionValues(value === true ? 'true' : 'false', rule.value, rule.operator);
233
+ }
234
+ if (isNumberFieldDefinition(field)) {
235
+ return compareNumericCondition(value, rule);
236
+ }
237
+ return compareConditionValues(typeof value === 'undefined' || value === null ? '' : String(value), rule.value, rule.operator);
238
+ }
239
+ function evaluateArrayCondition(value, rule) {
240
+ if (rule.operator === 'equals') {
241
+ return value.includes(rule.value);
242
+ }
243
+ if (rule.operator === 'notEquals') {
244
+ return !value.includes(rule.value);
245
+ }
246
+ return false;
247
+ }
248
+ function compareNumericCondition(value, rule) {
249
+ const actualValue = typeof value === 'number' ? value : Number(value);
250
+ const expectedValue = Number(rule.value);
251
+ if (!Number.isFinite(actualValue) || !Number.isFinite(expectedValue)) {
252
+ return false;
253
+ }
254
+ return compareConditionValues(actualValue, expectedValue, rule.operator);
255
+ }
256
+ function compareConditionValues(actualValue, expectedValue, operator) {
257
+ if (operator === 'equals') {
258
+ return actualValue === expectedValue;
259
+ }
260
+ if (operator === 'notEquals') {
261
+ return actualValue !== expectedValue;
262
+ }
263
+ if (operator === 'greaterThan') {
264
+ return actualValue > expectedValue;
265
+ }
266
+ if (operator === 'greaterThanOrEqual') {
267
+ return actualValue >= expectedValue;
268
+ }
269
+ if (operator === 'lessThan') {
270
+ return actualValue < expectedValue;
271
+ }
272
+ return actualValue <= expectedValue;
273
+ }
274
+ function readConditionOperatorFromSymbol(symbol) {
275
+ const operators = {
276
+ '!=': 'notEquals',
277
+ '<': 'lessThan',
278
+ '<=': 'lessThanOrEqual',
279
+ '==': 'equals',
280
+ '>': 'greaterThan',
281
+ '>=': 'greaterThanOrEqual',
282
+ };
283
+ return symbol ? (operators[symbol] ?? null) : null;
284
+ }
285
+ function readConditionOperatorSymbol(operator) {
286
+ const symbols = {
287
+ equals: '==',
288
+ greaterThan: '>',
289
+ greaterThanOrEqual: '>=',
290
+ lessThan: '<',
291
+ lessThanOrEqual: '<=',
292
+ notEquals: '!=',
293
+ };
294
+ return symbols[operator];
295
+ }
296
+ function parseConditionLiteral(value) {
297
+ const trimmedValue = value.trim();
298
+ if ((trimmedValue.startsWith('"') && trimmedValue.endsWith('"')) ||
299
+ (trimmedValue.startsWith("'") && trimmedValue.endsWith("'"))) {
300
+ return trimmedValue.slice(1, -1);
301
+ }
302
+ return trimmedValue;
303
+ }
304
+ function formatConditionLiteral(field, value) {
305
+ if (field.type === 'boolean') {
306
+ return value === 'false' ? 'false' : 'true';
307
+ }
308
+ if (isNumberFieldDefinition(field)) {
309
+ return String(parseOptionalNumberInput(value) ?? 0);
310
+ }
311
+ return JSON.stringify(value);
312
+ }
313
+ function isComparableConditionField(field) {
314
+ return (field.type === 'date' ||
315
+ field.type === 'datetime' ||
316
+ field.type === 'money' ||
317
+ field.type === 'number');
318
+ }
319
+ const DATE_VALUE_PATTERN = /^\d{4}-\d{2}-\d{2}$/u;
320
+ const DATE_TIME_VALUE_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/u;
321
+ function parseDatePickerValue(value) {
322
+ if (DATE_TIME_VALUE_PATTERN.test(value)) {
323
+ const [datePart = '', timePart = '00:00'] = value.split('T');
324
+ const [year = 0, month = 1, day = 1] = datePart.split('-').map(Number);
325
+ const [hour = 0, minute = 0] = timePart.split(':').map(Number);
326
+ return new Date(year, month - 1, day, hour, minute);
327
+ }
328
+ if (DATE_VALUE_PATTERN.test(value)) {
329
+ const [year = 0, month = 1, day = 1] = value.split('-').map(Number);
330
+ return new Date(year, month - 1, day);
331
+ }
332
+ const date = new Date(value);
333
+ return Number.isNaN(date.getTime()) ? null : date;
334
+ }
335
+ function formatDateParts(date) {
336
+ return `${date.getFullYear()}-${padDatePart(date.getMonth() + 1)}-${padDatePart(date.getDate())}`;
337
+ }
338
+ function padDatePart(value) {
339
+ return String(value).padStart(2, '0');
340
+ }
341
+ //# sourceMappingURL=form-rendering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-rendering.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core-client/src/lib/form/form-rendering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './form-api';
2
+ export * from './form-rendering';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./form-api"), exports);
5
+ tslib_1.__exportStar(require("./form-rendering"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core-client/src/lib/form/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,2DAAiC"}