@earthranger/react-native-jsonforms-formatter 2.0.0-beta.1 → 2.0.0-beta.3
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/dist/bundle.js +1 -2
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/types.js +2 -0
- package/dist/common/types.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/v1/generateUISchema.d.ts.map +1 -0
- package/dist/v1/generateUISchema.js +181 -0
- package/dist/v1/generateUISchema.js.map +1 -0
- package/dist/v1/index.d.ts.map +1 -0
- package/dist/v1/index.js +3 -0
- package/dist/v1/index.js.map +1 -0
- package/dist/v1/utils/utils.d.ts.map +1 -0
- package/dist/v1/utils/utils.js +149 -0
- package/dist/v1/utils/utils.js.map +1 -0
- package/dist/v1/validateJsonSchema.d.ts.map +1 -0
- package/dist/v1/validateJsonSchema.js +286 -0
- package/dist/v1/validateJsonSchema.js.map +1 -0
- package/dist/v1.d.ts.map +1 -0
- package/dist/v1.js +3 -0
- package/dist/v1.js.map +1 -0
- package/dist/v2/generateUISchema.d.ts.map +1 -0
- package/dist/v2/generateUISchema.js +51 -0
- package/dist/v2/generateUISchema.js.map +1 -0
- package/dist/v2/index.d.ts.map +1 -0
- package/dist/v2/index.js +3 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/mockData.d.ts.map +1 -0
- package/dist/v2/mockData.js +334 -0
- package/dist/v2/mockData.js.map +1 -0
- package/dist/v2/utils.d.ts.map +1 -0
- package/dist/v2/utils.js +244 -0
- package/dist/v2/utils.js.map +1 -0
- package/package.json +16 -10
- package/dist/src/common/types.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/v1/generateUISchema.d.ts.map +0 -1
- package/dist/src/v1/index.d.ts.map +0 -1
- package/dist/src/v1/utils/utils.d.ts.map +0 -1
- package/dist/src/v1/validateJsonSchema.d.ts.map +0 -1
- package/dist/src/v1.d.ts.map +0 -1
- package/dist/src/v2/generateUISchema.d.ts.map +0 -1
- package/dist/src/v2/index.d.ts.map +0 -1
- package/dist/src/v2/mockData.d.ts.map +0 -1
- package/dist/src/v2/utils.d.ts.map +0 -1
- /package/dist/{src/common → common}/types.d.ts +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/v1 → v1}/generateUISchema.d.ts +0 -0
- /package/dist/{src/v1 → v1}/index.d.ts +0 -0
- /package/dist/{src/v1 → v1}/utils/utils.d.ts +0 -0
- /package/dist/{src/v1 → v1}/validateJsonSchema.d.ts +0 -0
- /package/dist/{src/v1.d.ts → v1.d.ts} +0 -0
- /package/dist/{src/v2 → v2}/generateUISchema.d.ts +0 -0
- /package/dist/{src/v2 → v2}/index.d.ts +0 -0
- /package/dist/{src/v2 → v2}/mockData.d.ts +0 -0
- /package/dist/{src/v2 → v2}/utils.d.ts +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
// External Dependencies
|
|
11
|
+
import { isEmpty } from 'lodash-es';
|
|
12
|
+
//--------------------------------------------------------------
|
|
13
|
+
// public constants
|
|
14
|
+
//--------------------------------------------------------------
|
|
15
|
+
export var FIELD_SET = 'fieldset';
|
|
16
|
+
export var HELP_VALUE = 'helpvalue';
|
|
17
|
+
export var REQUIRED_PROPERTY = 'required';
|
|
18
|
+
export var CHECKBOXES = 'checkboxes';
|
|
19
|
+
export var INACTIVE_ENUM = 'inactive_enum';
|
|
20
|
+
export var DISABLED_ENUM = 'inactive_titleMap';
|
|
21
|
+
export var STRING_TYPE = 'string';
|
|
22
|
+
export var ARRAY_TYPE = 'array';
|
|
23
|
+
export var ENUM = 'enum';
|
|
24
|
+
//--------------------------------------------------------------
|
|
25
|
+
// public enums
|
|
26
|
+
//--------------------------------------------------------------
|
|
27
|
+
export var DateTimeFormat;
|
|
28
|
+
(function (DateTimeFormat) {
|
|
29
|
+
DateTimeFormat["DateTime"] = "date-time";
|
|
30
|
+
DateTimeFormat["Date"] = "date";
|
|
31
|
+
})(DateTimeFormat || (DateTimeFormat = {}));
|
|
32
|
+
export var PropertyFormat;
|
|
33
|
+
(function (PropertyFormat) {
|
|
34
|
+
PropertyFormat["DateTime"] = "date-time";
|
|
35
|
+
PropertyFormat["MultiSelect"] = "multiselect";
|
|
36
|
+
PropertyFormat["RepeatableField"] = "repeatable-field";
|
|
37
|
+
PropertyFormat["FormLabel"] = "form-label";
|
|
38
|
+
})(PropertyFormat || (PropertyFormat = {}));
|
|
39
|
+
export var ElementDisplay;
|
|
40
|
+
(function (ElementDisplay) {
|
|
41
|
+
ElementDisplay["Header"] = "header";
|
|
42
|
+
})(ElementDisplay || (ElementDisplay = {}));
|
|
43
|
+
//--------------------------------------------------------------
|
|
44
|
+
// public functions
|
|
45
|
+
//--------------------------------------------------------------
|
|
46
|
+
export var getFieldSetTitleKey = function (title) {
|
|
47
|
+
var key = title.toLowerCase().replace(/[\s\\/\\%]/gi, '_');
|
|
48
|
+
return "fieldset__title_".concat(key);
|
|
49
|
+
};
|
|
50
|
+
export var getSchemaValidations = function (stringSchema) { return ({
|
|
51
|
+
hasCheckboxes: hasCheckboxes(stringSchema),
|
|
52
|
+
hasInactiveChoices: hasInactiveChoices(stringSchema),
|
|
53
|
+
hasDisabledChoices: hasDisabledChoices(stringSchema),
|
|
54
|
+
hasEnums: hasEnums(stringSchema),
|
|
55
|
+
}); };
|
|
56
|
+
export var hasDuplicatedItems = function (items) { return (new Set(items).size !== items.length); };
|
|
57
|
+
export var isArrayProperty = function (property) {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
return property.type === ARRAY_TYPE && !((_a = property.items) === null || _a === void 0 ? void 0 : _a.enum)
|
|
60
|
+
&& !((_b = property.items) === null || _b === void 0 ? void 0 : _b.enumNames);
|
|
61
|
+
};
|
|
62
|
+
export var isCheckbox = function (item) { return isObject(item) && item.type === CHECKBOXES; };
|
|
63
|
+
export var isDisabledChoice = function (item) {
|
|
64
|
+
var _a, _b;
|
|
65
|
+
return isObject(item) && item.type === CHECKBOXES && ((_a = item.inactive_titleMap) === null || _a === void 0 ? void 0 : _a.length) > 0
|
|
66
|
+
&& ((_b = item.titleMap) === null || _b === void 0 ? void 0 : _b.length) > 0;
|
|
67
|
+
};
|
|
68
|
+
export var isEmptyString = function (value) { return (value === undefined
|
|
69
|
+
|| value === null
|
|
70
|
+
|| value.trim().length === 0); };
|
|
71
|
+
export var isFieldSetTitle = function (item) { return isObject(item) && item.type === FIELD_SET
|
|
72
|
+
&& !isEmpty(item.title); };
|
|
73
|
+
export var isFieldSetTitleWithoutItems = function (item) { return isObject(item) && item.type === FIELD_SET
|
|
74
|
+
&& item.items.length === 0 && !isEmpty(item.title); };
|
|
75
|
+
export var isFieldSet = function (item) { return isObject(item) && item.type === FIELD_SET && item.items.length > 0; };
|
|
76
|
+
export var isInactiveChoice = function (item) {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
return item.type === STRING_TYPE
|
|
79
|
+
&& ((_a = item.enum) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((_b = item.inactive_enum) === null || _b === void 0 ? void 0 : _b.length) > 0;
|
|
80
|
+
};
|
|
81
|
+
export var isObject = function (item) { return item instanceof Object; };
|
|
82
|
+
export var isPropertyKey = function (item) { return !isEmpty(item.key); };
|
|
83
|
+
export var isRequiredProperty = function (property) { return property.required === 'true' || property.required > 0; };
|
|
84
|
+
export var isSchemaFieldSet = function (definition) {
|
|
85
|
+
if (definition.length === 0) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
var fieldSet = definition.find(function (item) { return isObject(item)
|
|
89
|
+
&& item && (item.type || '') === FIELD_SET; });
|
|
90
|
+
return fieldSet !== undefined;
|
|
91
|
+
};
|
|
92
|
+
export var isString = function (item) { return typeof item === STRING_TYPE; };
|
|
93
|
+
export var normalizeDecimalSeparators = function (value) {
|
|
94
|
+
// If it's already a number, return as-is
|
|
95
|
+
if (typeof value === 'number') {
|
|
96
|
+
return value;
|
|
97
|
+
}
|
|
98
|
+
// If it's not a string, return as-is
|
|
99
|
+
if (typeof value !== 'string') {
|
|
100
|
+
return value;
|
|
101
|
+
}
|
|
102
|
+
// Trim whitespace
|
|
103
|
+
var trimmedValue = value.trim();
|
|
104
|
+
// If empty string, return as-is
|
|
105
|
+
if (trimmedValue === '') {
|
|
106
|
+
return value;
|
|
107
|
+
}
|
|
108
|
+
// Check if it looks like a number with comma decimal separator
|
|
109
|
+
// Pattern: optional minus, digits, comma, digits (e.g., "12,34", "-5,678")
|
|
110
|
+
var commaDecimalPattern = /^-?\d+,\d+$/;
|
|
111
|
+
if (commaDecimalPattern.test(trimmedValue)) {
|
|
112
|
+
// Replace comma with period for decimal separator
|
|
113
|
+
var normalizedValue = trimmedValue.replace(',', '.');
|
|
114
|
+
// Validate that the result is a valid number
|
|
115
|
+
var numValue = parseFloat(normalizedValue);
|
|
116
|
+
if (!isNaN(numValue)) {
|
|
117
|
+
return normalizedValue;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Return original value if no conversion needed or possible
|
|
121
|
+
return value;
|
|
122
|
+
};
|
|
123
|
+
// Helper function to recursively traverse and process the schema
|
|
124
|
+
export var traverseSchema = function (schema, processor, path) {
|
|
125
|
+
if (path === void 0) { path = []; }
|
|
126
|
+
if (typeof schema !== 'object' || schema === null) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
processor(schema, path);
|
|
130
|
+
if (Array.isArray(schema)) {
|
|
131
|
+
schema.forEach(function (item, index) {
|
|
132
|
+
return traverseSchema(item, processor, __spreadArray(__spreadArray([], path, true), [index.toString()], false));
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
Object.entries(schema).forEach(function (_a) {
|
|
137
|
+
var key = _a[0], value = _a[1];
|
|
138
|
+
return traverseSchema(value, processor, __spreadArray(__spreadArray([], path, true), [key], false));
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
//--------------------------------------------------------------
|
|
143
|
+
// private functions
|
|
144
|
+
//--------------------------------------------------------------
|
|
145
|
+
var hasCheckboxes = function (stringSchema) { return stringSchema.includes(CHECKBOXES); };
|
|
146
|
+
var hasInactiveChoices = function (stringSchema) { return stringSchema.includes(INACTIVE_ENUM); };
|
|
147
|
+
var hasDisabledChoices = function (stringSchema) { return stringSchema.includes(DISABLED_ENUM); };
|
|
148
|
+
var hasEnums = function (stringSchema) { return stringSchema.includes(ENUM); };
|
|
149
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/v1/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateJsonSchema.d.ts","sourceRoot":"","sources":["../../src/v1/validateJsonSchema.ts"],"names":[],"mappings":"AAiSA,eAAO,MAAM,kBAAkB,iBAAkB,MAAM,QAmCtD,CAAC"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
|
+
if (ar || !(i in from)) {
|
|
15
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
16
|
+
ar[i] = from[i];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
+
};
|
|
21
|
+
// Internal Dependencies
|
|
22
|
+
import { isEmpty } from 'lodash-es';
|
|
23
|
+
import { ElementDisplay, getFieldSetTitleKey, getSchemaValidations, hasDuplicatedItems, HELP_VALUE, isCheckbox, isDisabledChoice, isFieldSet, isFieldSetTitle, isInactiveChoice, isObject, isPropertyKey, isRequiredProperty, isSchemaFieldSet, isString, normalizeDecimalSeparators, REQUIRED_PROPERTY, traverseSchema, } from './utils/utils';
|
|
24
|
+
var specialCharactersInKey = /[^\w\n\s_"](?=[^:\n\s{}[]]*:[\t\n\s]*(\{|\[)+)/g;
|
|
25
|
+
var emptyEnumRegex = '\\"enum\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]';
|
|
26
|
+
var emptyEnumValue = '"enum": ["0"]';
|
|
27
|
+
var emptyEnumNamesRegex = '\\"enumNames\\"\\n*\\s*\\:\\n*\\s*\\{\\n*\\s*\\}';
|
|
28
|
+
var emptyEnumNamesValue = '"enumNames": {"0":"No Options"}';
|
|
29
|
+
var emptyTitleMapRegex = '\\"titleMap\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]';
|
|
30
|
+
var emptyTitleMapValue = '"titleMap": [{"value":"no_option", "name":"No Option"}]';
|
|
31
|
+
var minParamRegex = /"minimum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g;
|
|
32
|
+
var maxParamRegex = /"maximum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g;
|
|
33
|
+
var doubleSingleQuotesRegex = /"(?=[^"]*(?:"[^"]*)?$)/g;
|
|
34
|
+
var getSchemaForCheckbox = function (definition, title, required, defaultValue) { return (__assign(__assign(__assign({ type: 'array', uniqueItems: true, isHidden: false }, required && { required: required }), { title: title || definition.title, items: {
|
|
35
|
+
enum: definition.titleMap.map(function (item) { return item.value; }),
|
|
36
|
+
enumNames: definition.titleMap.map(function (item) { return item.name; }),
|
|
37
|
+
} }), defaultValue && { default: defaultValue })); };
|
|
38
|
+
var getTitleProperty = function (title) { return ({
|
|
39
|
+
type: 'string',
|
|
40
|
+
readOnly: true,
|
|
41
|
+
isHidden: false,
|
|
42
|
+
display: ElementDisplay.Header,
|
|
43
|
+
title: title,
|
|
44
|
+
}); };
|
|
45
|
+
var getPropertyVisibility = function (property) { return (property === null || property === void 0 ? void 0 : property.isHidden) || false; };
|
|
46
|
+
var cleanUpRequiredProperty = function (schema) {
|
|
47
|
+
// Store the original root-level required array if it exists
|
|
48
|
+
var originalRequired = Array.isArray(schema.required) ? __spreadArray([], schema.required, true) : null;
|
|
49
|
+
traverseSchema(schema, function (node, path) {
|
|
50
|
+
if (node.type === 'object' && node.properties) {
|
|
51
|
+
var localRequired_1 = [];
|
|
52
|
+
Object.entries(node.properties).forEach(function (_a) {
|
|
53
|
+
var key = _a[0], property = _a[1];
|
|
54
|
+
if (isRequiredProperty(property)) {
|
|
55
|
+
localRequired_1.push(key);
|
|
56
|
+
delete property.required;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
// Only modify required array if we found inline required properties
|
|
60
|
+
if (!isEmpty(localRequired_1)) {
|
|
61
|
+
// If this is the root schema and there was an original required array, merge them
|
|
62
|
+
if (path.length === 0 && originalRequired) {
|
|
63
|
+
var mergedRequired = __spreadArray(__spreadArray([], originalRequired, true), localRequired_1, true);
|
|
64
|
+
node.required = Array.from(new Set(mergedRequired));
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
node.required = localRequired_1;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if (path.length > 0 && node.required) {
|
|
71
|
+
// Only delete required array for nested objects, not the root
|
|
72
|
+
delete node.required;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return schema;
|
|
77
|
+
};
|
|
78
|
+
var formatDefinitionInSchema = function (schema) {
|
|
79
|
+
if (schema.schema.definition) {
|
|
80
|
+
var definition = schema.schema.definition;
|
|
81
|
+
delete schema.schema.definition;
|
|
82
|
+
schema.definition = definition;
|
|
83
|
+
return schema;
|
|
84
|
+
}
|
|
85
|
+
return schema;
|
|
86
|
+
};
|
|
87
|
+
var formatSchemaRepeatableFieldLayout = function (schema) {
|
|
88
|
+
var properties = {};
|
|
89
|
+
var headerCount = 0;
|
|
90
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
91
|
+
for (var _i = 0, _a = schema.definition; _i < _a.length; _i++) {
|
|
92
|
+
var item = _a[_i];
|
|
93
|
+
if (isString(item)) {
|
|
94
|
+
properties[item] = schema.schema.properties[item];
|
|
95
|
+
delete schema.schema.properties[item];
|
|
96
|
+
}
|
|
97
|
+
else if (isObject(item)) {
|
|
98
|
+
if (item.helpvalue) {
|
|
99
|
+
var property = "help_value_".concat(headerCount);
|
|
100
|
+
headerCount += 1;
|
|
101
|
+
properties[property] = getTitleProperty((item.helpvalue || '').replace(/(<.+?>)/g, ''));
|
|
102
|
+
}
|
|
103
|
+
else if (item.key) {
|
|
104
|
+
properties[item.key] = schema.schema.properties[item.key];
|
|
105
|
+
delete schema.schema.properties[item.key];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
schema.schema.properties = Object.assign(properties, schema.schema.properties);
|
|
110
|
+
};
|
|
111
|
+
// eslint-disable-next-line max-len
|
|
112
|
+
var cleanUpInactiveEnumChoice = function (property) { return property.enum.filter(function (choice) { return !property.inactive_enum.includes(choice); }); };
|
|
113
|
+
// eslint-disable-next-line max-len
|
|
114
|
+
var cleanUpDisabledEnumChoice = function (definitionItem) { return definitionItem.titleMap.filter(function (item) { return !definitionItem.inactive_titleMap.includes(item.value); }); };
|
|
115
|
+
var validateJSON = function (stringSchema) {
|
|
116
|
+
if (stringSchema.match(specialCharactersInKey) !== null) {
|
|
117
|
+
throw Error('Special characters not supported in JSON Schema');
|
|
118
|
+
}
|
|
119
|
+
// Invalid double quotes
|
|
120
|
+
stringSchema = stringSchema.replace(/([“”])/g, '"');
|
|
121
|
+
// Empty enum choices
|
|
122
|
+
stringSchema = stringSchema.replace(new RegExp(emptyEnumRegex, 'g'), emptyEnumValue);
|
|
123
|
+
// Empty enumNames choices
|
|
124
|
+
stringSchema = stringSchema.replace(new RegExp(emptyEnumNamesRegex, 'g'), emptyEnumNamesValue);
|
|
125
|
+
// Empty titleMap choices
|
|
126
|
+
stringSchema = stringSchema.replace(new RegExp(emptyTitleMapRegex, 'g'), emptyTitleMapValue);
|
|
127
|
+
// Numeric ranges
|
|
128
|
+
stringSchema = stringSchema.replace(minParamRegex, function (match) { return match.replace(doubleSingleQuotesRegex, ''); });
|
|
129
|
+
stringSchema = stringSchema.replace(maxParamRegex, function (match) { return match.replace(doubleSingleQuotesRegex, ''); });
|
|
130
|
+
return stringSchema;
|
|
131
|
+
};
|
|
132
|
+
var cleanUpJTD = function (validations, schema) {
|
|
133
|
+
var _a;
|
|
134
|
+
if (isSchemaFieldSet(schema.definition)) {
|
|
135
|
+
validateFieldSetDefinition(validations, schema);
|
|
136
|
+
}
|
|
137
|
+
else if (((_a = schema.definition) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
138
|
+
for (var _i = 0, _b = schema.definition; _i < _b.length; _i++) {
|
|
139
|
+
var item = _b[_i];
|
|
140
|
+
validateDefinition(validations, item, schema);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
var validateFieldSetDefinition = function (validations, schema) {
|
|
145
|
+
for (var _i = 0, _a = schema.definition; _i < _a.length; _i++) {
|
|
146
|
+
var item = _a[_i];
|
|
147
|
+
switch (true) {
|
|
148
|
+
case isString(item):
|
|
149
|
+
break;
|
|
150
|
+
// Create field set header
|
|
151
|
+
case isFieldSetTitle(item):
|
|
152
|
+
{
|
|
153
|
+
var key = getFieldSetTitleKey(item.title);
|
|
154
|
+
schema.schema.properties[key] = getTitleProperty(item.title);
|
|
155
|
+
}
|
|
156
|
+
break;
|
|
157
|
+
// Format field-set sub-items
|
|
158
|
+
case isFieldSet(item):
|
|
159
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
160
|
+
for (var _b = 0, _c = item.items; _b < _c.length; _b++) {
|
|
161
|
+
var subItem = _c[_b];
|
|
162
|
+
validateDefinition(validations, subItem, schema, item);
|
|
163
|
+
}
|
|
164
|
+
break;
|
|
165
|
+
case isCheckbox(item):
|
|
166
|
+
validateDefinition(validations, item, schema);
|
|
167
|
+
break;
|
|
168
|
+
default:
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
var validateDefinition = function (validations, item, schema, parentItem) {
|
|
174
|
+
var hasCheckboxes = validations.hasCheckboxes, hasDisabledChoices = validations.hasDisabledChoices;
|
|
175
|
+
// Set property visibility
|
|
176
|
+
if (isString(item) && schema.schema.properties[item]) {
|
|
177
|
+
schema.schema.properties[item].isHidden = getPropertyVisibility(schema.schema.properties[item]);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
// Set property visibility
|
|
181
|
+
if ((isObject(item) || isPropertyKey(item))
|
|
182
|
+
&& item.key
|
|
183
|
+
&& schema.schema.properties[item.key]) {
|
|
184
|
+
// eslint-disable-next-line max-len
|
|
185
|
+
schema.schema.properties[item.key].isHidden = getPropertyVisibility(schema.schema.properties[item.key]);
|
|
186
|
+
}
|
|
187
|
+
// Clean up disabled choices
|
|
188
|
+
if (hasDisabledChoices && isDisabledChoice(item)) {
|
|
189
|
+
if (parentItem) {
|
|
190
|
+
var parentIndex = schema.definition.indexOf(parentItem);
|
|
191
|
+
var childIndex = schema.definition[parentIndex].items.indexOf(item);
|
|
192
|
+
schema.definition[parentIndex].items[childIndex].titleMap = cleanUpDisabledEnumChoice(item);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
// eslint-disable-next-line max-len
|
|
196
|
+
schema.definition[schema.definition.indexOf(item)].titleMap = cleanUpDisabledEnumChoice(item);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
// Generate checkbox data in schema
|
|
200
|
+
if (hasCheckboxes && isCheckbox(item)) {
|
|
201
|
+
schema.schema.properties[item.key] = getSchemaForCheckbox(item, schema.schema.properties[item.key].title || '', schema.schema.properties[item.key].required || false, schema.schema.properties[item.key].default || false);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
var normalizeNumberFields = function (schema) {
|
|
206
|
+
traverseSchema(schema, function (node) {
|
|
207
|
+
if (node.type === 'object' && node.properties) {
|
|
208
|
+
Object.entries(node.properties).forEach(function (_a) {
|
|
209
|
+
var property = _a[1];
|
|
210
|
+
if (property.type === 'number') {
|
|
211
|
+
// Normalize default values
|
|
212
|
+
if (property.default !== undefined) {
|
|
213
|
+
property.default = normalizeDecimalSeparators(property.default);
|
|
214
|
+
}
|
|
215
|
+
// Normalize minimum values
|
|
216
|
+
if (property.minimum !== undefined) {
|
|
217
|
+
property.minimum = normalizeDecimalSeparators(property.minimum);
|
|
218
|
+
}
|
|
219
|
+
// Normalize maximum values
|
|
220
|
+
if (property.maximum !== undefined) {
|
|
221
|
+
property.maximum = normalizeDecimalSeparators(property.maximum);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
return schema;
|
|
228
|
+
};
|
|
229
|
+
var validateSchema = function (validations, schema) {
|
|
230
|
+
var hasInactiveChoices = validations.hasInactiveChoices, hasEnums = validations.hasEnums;
|
|
231
|
+
if (hasInactiveChoices) {
|
|
232
|
+
for (var _i = 0, _a = Object.keys(schema.schema.properties); _i < _a.length; _i++) {
|
|
233
|
+
var key = _a[_i];
|
|
234
|
+
var property = schema.schema.properties[key];
|
|
235
|
+
// Clean up inactive choices
|
|
236
|
+
if (isInactiveChoice(property)) {
|
|
237
|
+
schema.schema.properties[key].enum = cleanUpInactiveEnumChoice(property);
|
|
238
|
+
if (isEmpty(schema.schema.properties[key].enum)) {
|
|
239
|
+
schema.schema.properties[key].enum = ['0'];
|
|
240
|
+
schema.schema.properties[key].enumNames = { 0: 'No Options' };
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (hasEnums) {
|
|
246
|
+
for (var _b = 0, _c = Object.keys(schema.schema.properties); _b < _c.length; _b++) {
|
|
247
|
+
var key = _c[_b];
|
|
248
|
+
// Detect duplicated enum items
|
|
249
|
+
if (
|
|
250
|
+
// schema.schema.properties[key].enum?.length > 0
|
|
251
|
+
!isEmpty(schema.schema.properties[key].enum)
|
|
252
|
+
&& hasDuplicatedItems(schema.schema.properties[key].enum)) {
|
|
253
|
+
throw new Error('Duplicated enum items');
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
export var validateJSONSchema = function (stringSchema) {
|
|
259
|
+
var _a;
|
|
260
|
+
// Validate/Remove JSON issues
|
|
261
|
+
stringSchema = validateJSON(stringSchema);
|
|
262
|
+
var schema = JSON.parse(stringSchema);
|
|
263
|
+
// $schema and id make JSON forms crash
|
|
264
|
+
delete schema.schema.$schema;
|
|
265
|
+
delete schema.schema.id;
|
|
266
|
+
// Definition array should be at the same level as a schema object
|
|
267
|
+
formatDefinitionInSchema(schema);
|
|
268
|
+
var schemaValidations = getSchemaValidations(stringSchema);
|
|
269
|
+
// Normalize decimal separators in number fields
|
|
270
|
+
normalizeNumberFields(schema.schema);
|
|
271
|
+
validateSchema(schemaValidations, schema);
|
|
272
|
+
// JSON forms library does not support JSON Type Definition JTD
|
|
273
|
+
cleanUpJTD(schemaValidations, schema);
|
|
274
|
+
if (stringSchema.includes(HELP_VALUE)) {
|
|
275
|
+
formatSchemaRepeatableFieldLayout(schema);
|
|
276
|
+
}
|
|
277
|
+
if (stringSchema.includes(REQUIRED_PROPERTY)) {
|
|
278
|
+
// Check for duplicated required properties in the original schema first
|
|
279
|
+
if (((_a = schema.schema.required) === null || _a === void 0 ? void 0 : _a.length) > 0 && hasDuplicatedItems(schema.schema.required)) {
|
|
280
|
+
throw new Error('Duplicated required properties');
|
|
281
|
+
}
|
|
282
|
+
schema.schema = cleanUpRequiredProperty(schema.schema);
|
|
283
|
+
}
|
|
284
|
+
return schema;
|
|
285
|
+
};
|
|
286
|
+
//# sourceMappingURL=validateJsonSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateJsonSchema.js","sourceRoot":"","sources":["../../src/v1/validateJsonSchema.ts"],"names":[],"mappings":"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"}
|
package/dist/v1.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../src/v1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/v1.js
ADDED
package/dist/v1.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../src/v1.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateUISchema.d.ts","sourceRoot":"","sources":["../../src/v2/generateUISchema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AASzB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,WAAY,QAAQ,KAAG,iBAoCnD,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import { createControl, createSectionLayout, getVisibleFields, groupFieldsBySection } from './utils';
|
|
11
|
+
/**
|
|
12
|
+
* Generates a JSONForms-compatible UI schema from a EarthRanger V2 schema format
|
|
13
|
+
*
|
|
14
|
+
* React Native Optimization:
|
|
15
|
+
* - All layouts are converted to single-column VerticalLayout
|
|
16
|
+
* - Multi-column sections are flattened: leftColumn fields first, then rightColumn fields
|
|
17
|
+
* - Optimized for mobile form rendering
|
|
18
|
+
*
|
|
19
|
+
* @param schema - EarthRanger V2 schema with json and ui properties
|
|
20
|
+
* @returns JSONForms UI schema with single-column VerticalLayout for React Native
|
|
21
|
+
*/
|
|
22
|
+
export var generateUISchema = function (schema) {
|
|
23
|
+
// Get all visible (non-deprecated) fields
|
|
24
|
+
var visibleFields = getVisibleFields(schema);
|
|
25
|
+
// Group fields by their parent sections
|
|
26
|
+
var fieldsBySection = groupFieldsBySection(visibleFields, schema.ui.sections);
|
|
27
|
+
// Create section layouts in the specified order
|
|
28
|
+
var sectionLayouts = [];
|
|
29
|
+
schema.ui.order.forEach(function (sectionId) {
|
|
30
|
+
var section = schema.ui.sections[sectionId];
|
|
31
|
+
var sectionFields = fieldsBySection[sectionId] || [];
|
|
32
|
+
// Check if section has any content (fields or headers)
|
|
33
|
+
var hasFields = sectionFields.length > 0;
|
|
34
|
+
var hasHeaders = __spreadArray(__spreadArray([], section.leftColumn, true), section.rightColumn, true).some(function (item) { return item.type === 'header' && schema.ui.headers[item.name]; });
|
|
35
|
+
// Only create layout if section is active and has content
|
|
36
|
+
if ((section === null || section === void 0 ? void 0 : section.isActive) && (hasFields || hasHeaders)) {
|
|
37
|
+
var sectionControls = sectionFields.map(function (_a) {
|
|
38
|
+
var name = _a.name, property = _a.property, uiField = _a.uiField;
|
|
39
|
+
return createControl(name, property, uiField);
|
|
40
|
+
});
|
|
41
|
+
var sectionLayout = createSectionLayout(sectionId, section, sectionControls, schema.ui.headers);
|
|
42
|
+
sectionLayouts.push(sectionLayout);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
var uiSchema = {
|
|
46
|
+
type: 'VerticalLayout',
|
|
47
|
+
elements: sectionLayouts
|
|
48
|
+
};
|
|
49
|
+
return uiSchema;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=generateUISchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateUISchema.js","sourceRoot":"","sources":["../../src/v2/generateUISchema.ts"],"names":[],"mappings":";;;;;;;;;AAMA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,MAAgB;IAC/C,0CAA0C;IAC1C,IAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE/C,wCAAwC;IACxC,IAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAEhF,gDAAgD;IAChD,IAAM,cAAc,GAAsB,EAAE,CAAC;IAE7C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,SAAS;QAC/B,IAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAEvD,uDAAuD;QACvD,IAAM,SAAS,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,IAAM,UAAU,GAAG,gCAAI,OAAO,CAAC,UAAU,SAAK,OAAO,CAAC,WAAW,QAC9D,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAtD,CAAsD,CAAC,CAAC;QAExE,0DAA0D;QAC1D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,CAAC,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC;YACnD,IAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,UAAC,EAA2B;oBAAzB,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,OAAO,aAAA;gBAClE,OAAA,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;YAAtC,CAAsC,CACvC,CAAC;YAEF,IAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAClG,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAM,QAAQ,GAAsB;QAClC,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,cAAc;KACzB,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,YAAY,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EAClB,MAAM,iBAAiB,CAAC"}
|
package/dist/v2/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockData.d.ts","sourceRoot":"","sources":["../../src/v2/mockData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,eAAO,MAAM,YAAY,UA2OZ,CAAC;AAEd,eAAO,MAAM,yBAAyB,EAAE,GA+FvC,CAAC"}
|