@clxmedia/clxforms-client 1.0.14 → 1.0.16
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/form-helpers.d.ts +22 -0
- package/dist/form-helpers.js +197 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/layout-processor.js +0 -3
- package/package.json +4 -2
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CLXContactCard, CLXFormResponseBooleanValue, CLXFormResponseCompoundValue, CLXFormResponseContactArrayValue, CLXFormResponseContactValue, CLXFormResponseDateValue, CLXFormResponseFileValue, CLXFormResponseNumberValue, CLXFormResponseScheduleValue, CLXFormResponseSingleCompoundValue, CLXFormResponseStringArrayValue, CLXFormResponseStringValue, CLXFormResponseType, CLXFormResponseValue } from "@clxmedia/types/core/clxforms";
|
|
2
|
+
export declare const CLXFormHelpers: {
|
|
3
|
+
valueBoolean: (value?: boolean) => CLXFormResponseBooleanValue;
|
|
4
|
+
valueString: (value?: string) => CLXFormResponseStringValue;
|
|
5
|
+
valueSingleCompound: () => CLXFormResponseSingleCompoundValue;
|
|
6
|
+
valueCompound: () => CLXFormResponseCompoundValue;
|
|
7
|
+
valueContact: (value?: CLXContactCard) => CLXFormResponseContactValue;
|
|
8
|
+
valueContactArray: (value?: CLXContactCard[]) => CLXFormResponseContactArrayValue;
|
|
9
|
+
valueDate: () => CLXFormResponseDateValue;
|
|
10
|
+
valueFile: () => CLXFormResponseFileValue;
|
|
11
|
+
valueSchedule: () => CLXFormResponseScheduleValue;
|
|
12
|
+
valueStringArray: (value?: string[]) => CLXFormResponseStringArrayValue;
|
|
13
|
+
valueNumber: (value?: number) => CLXFormResponseNumberValue;
|
|
14
|
+
defaultValue: (type: CLXFormResponseType) => CLXFormResponseValue;
|
|
15
|
+
convertBooleanResponse: (original: CLXFormResponseBooleanValue, targetType: CLXFormResponseType) => CLXFormResponseValue;
|
|
16
|
+
convertStringResponse: (original: CLXFormResponseStringValue, targetType: CLXFormResponseType) => CLXFormResponseValue;
|
|
17
|
+
convertNumberResponse: (original: CLXFormResponseNumberValue, targetType: CLXFormResponseType) => CLXFormResponseValue;
|
|
18
|
+
convertStringArrayResponse: (original: CLXFormResponseStringArrayValue, targetType: CLXFormResponseType) => CLXFormResponseValue;
|
|
19
|
+
convertContactArrayResponse: (original: CLXFormResponseContactArrayValue, targetType: CLXFormResponseType) => CLXFormResponseValue;
|
|
20
|
+
convertContactResponse: (original: CLXFormResponseContactValue, targetType: CLXFormResponseType) => CLXFormResponseValue;
|
|
21
|
+
convertResponse: (original: CLXFormResponseValue, targetType: CLXFormResponseType) => CLXFormResponseValue;
|
|
22
|
+
};
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CLXFormHelpers = void 0;
|
|
4
|
+
exports.CLXFormHelpers = {
|
|
5
|
+
valueBoolean: (value) => {
|
|
6
|
+
return {
|
|
7
|
+
type: 'BOOLEAN',
|
|
8
|
+
value
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
valueString: (value) => {
|
|
12
|
+
return {
|
|
13
|
+
type: 'STRING',
|
|
14
|
+
value: value || null
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
valueSingleCompound: () => {
|
|
18
|
+
return {
|
|
19
|
+
type: 'COMPOUND',
|
|
20
|
+
value: null
|
|
21
|
+
};
|
|
22
|
+
},
|
|
23
|
+
valueCompound: () => {
|
|
24
|
+
return {
|
|
25
|
+
type: 'MULTI_COMPOUND',
|
|
26
|
+
value: null
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
valueContact: (value) => {
|
|
30
|
+
return {
|
|
31
|
+
type: 'CONTACT',
|
|
32
|
+
value: value || null
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
valueContactArray: (value) => {
|
|
36
|
+
return {
|
|
37
|
+
type: 'CONTACT_ARRAY',
|
|
38
|
+
value: value || []
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
valueDate: () => {
|
|
42
|
+
return {
|
|
43
|
+
type: 'DATE',
|
|
44
|
+
value: null
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
valueFile: () => {
|
|
48
|
+
return {
|
|
49
|
+
type: 'FILE',
|
|
50
|
+
value: null
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
valueSchedule: () => {
|
|
54
|
+
return {
|
|
55
|
+
type: 'SCHEDULE',
|
|
56
|
+
value: null
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
valueStringArray: (value) => {
|
|
60
|
+
return {
|
|
61
|
+
type: 'STRING_ARRAY',
|
|
62
|
+
value
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
valueNumber: (value) => {
|
|
66
|
+
return {
|
|
67
|
+
type: 'NUMBER',
|
|
68
|
+
value
|
|
69
|
+
};
|
|
70
|
+
},
|
|
71
|
+
defaultValue: (type) => {
|
|
72
|
+
switch (type) {
|
|
73
|
+
case 'BOOLEAN':
|
|
74
|
+
return exports.CLXFormHelpers.valueBoolean();
|
|
75
|
+
case 'STRING':
|
|
76
|
+
return exports.CLXFormHelpers.valueString();
|
|
77
|
+
case 'NUMBER':
|
|
78
|
+
return exports.CLXFormHelpers.valueNumber();
|
|
79
|
+
case 'COMPOUND':
|
|
80
|
+
return exports.CLXFormHelpers.valueSingleCompound();
|
|
81
|
+
case 'MULTI_COMPOUND':
|
|
82
|
+
return exports.CLXFormHelpers.valueCompound();
|
|
83
|
+
case 'CONTACT':
|
|
84
|
+
return exports.CLXFormHelpers.valueContact();
|
|
85
|
+
case 'CONTACT_ARRAY':
|
|
86
|
+
return exports.CLXFormHelpers.valueContactArray();
|
|
87
|
+
case 'DATE':
|
|
88
|
+
return exports.CLXFormHelpers.valueDate();
|
|
89
|
+
case 'FILE':
|
|
90
|
+
return exports.CLXFormHelpers.valueFile();
|
|
91
|
+
case 'SCHEDULE':
|
|
92
|
+
return exports.CLXFormHelpers.valueSchedule();
|
|
93
|
+
case 'STRING_ARRAY':
|
|
94
|
+
return exports.CLXFormHelpers.valueStringArray([]);
|
|
95
|
+
case 'ANY':
|
|
96
|
+
default:
|
|
97
|
+
return exports.CLXFormHelpers.valueString();
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
convertBooleanResponse: (original, targetType) => {
|
|
101
|
+
switch (targetType) {
|
|
102
|
+
case 'BOOLEAN':
|
|
103
|
+
return original;
|
|
104
|
+
case 'STRING':
|
|
105
|
+
return exports.CLXFormHelpers.valueString(original.value ? 'Yes' : 'No');
|
|
106
|
+
case 'NUMBER':
|
|
107
|
+
return exports.CLXFormHelpers.valueNumber(original.value ? 1 : 0);
|
|
108
|
+
case 'STRING_ARRAY':
|
|
109
|
+
return exports.CLXFormHelpers.valueStringArray(original.value ? ['Yes'] : ['No']);
|
|
110
|
+
default:
|
|
111
|
+
return exports.CLXFormHelpers.defaultValue(targetType);
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
convertStringResponse: (original, targetType) => {
|
|
115
|
+
switch (targetType) {
|
|
116
|
+
case 'BOOLEAN':
|
|
117
|
+
return exports.CLXFormHelpers.valueBoolean(original.value === 'Yes');
|
|
118
|
+
case 'STRING':
|
|
119
|
+
return original;
|
|
120
|
+
case 'NUMBER':
|
|
121
|
+
return exports.CLXFormHelpers.valueNumber(Number(original.value));
|
|
122
|
+
case 'STRING_ARRAY':
|
|
123
|
+
return exports.CLXFormHelpers.valueStringArray(original.value ? [original.value] : []);
|
|
124
|
+
default:
|
|
125
|
+
return exports.CLXFormHelpers.defaultValue(targetType);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
convertNumberResponse: (original, targetType) => {
|
|
129
|
+
switch (targetType) {
|
|
130
|
+
case 'BOOLEAN':
|
|
131
|
+
return exports.CLXFormHelpers.valueBoolean(original.value > 0);
|
|
132
|
+
case 'STRING':
|
|
133
|
+
return exports.CLXFormHelpers.valueString(`${original.value}`);
|
|
134
|
+
case 'NUMBER':
|
|
135
|
+
return original;
|
|
136
|
+
case 'STRING_ARRAY':
|
|
137
|
+
return exports.CLXFormHelpers.valueStringArray(original.value ? [`${original.value}`] : []);
|
|
138
|
+
default:
|
|
139
|
+
return exports.CLXFormHelpers.defaultValue(targetType);
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
convertStringArrayResponse: (original, targetType) => {
|
|
143
|
+
switch (targetType) {
|
|
144
|
+
case 'BOOLEAN':
|
|
145
|
+
return exports.CLXFormHelpers.valueBoolean(false);
|
|
146
|
+
case 'STRING':
|
|
147
|
+
return exports.CLXFormHelpers.valueString(original.value ? original.value.join(', ') : '');
|
|
148
|
+
case 'NUMBER':
|
|
149
|
+
return exports.CLXFormHelpers.valueNumber(Number(original.value));
|
|
150
|
+
case 'STRING_ARRAY':
|
|
151
|
+
return original;
|
|
152
|
+
default:
|
|
153
|
+
return exports.CLXFormHelpers.defaultValue(targetType);
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
convertContactArrayResponse: (original, targetType) => {
|
|
157
|
+
switch (targetType) {
|
|
158
|
+
case 'CONTACT':
|
|
159
|
+
return original.value && original.value.length > 0 ? exports.CLXFormHelpers.valueContact(original.value[0]) : exports.CLXFormHelpers.valueContact();
|
|
160
|
+
case 'CONTACT_ARRAY':
|
|
161
|
+
return original;
|
|
162
|
+
default:
|
|
163
|
+
return exports.CLXFormHelpers.defaultValue(targetType);
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
convertContactResponse: (original, targetType) => {
|
|
167
|
+
switch (targetType) {
|
|
168
|
+
case 'CONTACT':
|
|
169
|
+
return original;
|
|
170
|
+
case 'CONTACT_ARRAY':
|
|
171
|
+
return original.value ? exports.CLXFormHelpers.valueContactArray([original.value]) : exports.CLXFormHelpers.valueContactArray();
|
|
172
|
+
default:
|
|
173
|
+
return exports.CLXFormHelpers.defaultValue(targetType);
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
convertResponse: (original, targetType) => {
|
|
177
|
+
if (!original || original.type === targetType) {
|
|
178
|
+
return original;
|
|
179
|
+
}
|
|
180
|
+
switch (original.type) {
|
|
181
|
+
case 'BOOLEAN':
|
|
182
|
+
return exports.CLXFormHelpers.convertBooleanResponse(original, targetType);
|
|
183
|
+
case 'STRING':
|
|
184
|
+
return exports.CLXFormHelpers.convertStringResponse(original, targetType);
|
|
185
|
+
case 'NUMBER':
|
|
186
|
+
return exports.CLXFormHelpers.convertNumberResponse(original, targetType);
|
|
187
|
+
case 'STRING_ARRAY':
|
|
188
|
+
return exports.CLXFormHelpers.convertStringArrayResponse(original, targetType);
|
|
189
|
+
case 'CONTACT_ARRAY':
|
|
190
|
+
return exports.CLXFormHelpers.convertContactArrayResponse(original, targetType);
|
|
191
|
+
case 'CONTACT':
|
|
192
|
+
return exports.CLXFormHelpers.convertContactResponse(original, targetType);
|
|
193
|
+
default:
|
|
194
|
+
return exports.CLXFormHelpers.defaultValue(targetType);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { CLXFormLayoutProcessor, ProcessedCLXFormSection, ProcessedCLXFormStep, ProcessedCLXFormLayout } from './layout-processor';
|
|
2
2
|
export { CLXFormLayoutFilter, FilteredCLXFormLayout, } from './layout-filter';
|
|
3
|
+
export { CLXFormHelpers } from './form-helpers';
|
|
3
4
|
export { CLXRulesetProcessor } from './rules-processor';
|
|
4
5
|
export { CLXRulesEngine } from './rules-engine';
|
|
5
6
|
export { CLXFormConstants } from './constants';
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CLXFormConstants = exports.CLXRulesEngine = exports.CLXRulesetProcessor = exports.CLXFormLayoutFilter = exports.CLXFormLayoutProcessor = void 0;
|
|
3
|
+
exports.CLXFormConstants = exports.CLXRulesEngine = exports.CLXRulesetProcessor = exports.CLXFormHelpers = exports.CLXFormLayoutFilter = exports.CLXFormLayoutProcessor = void 0;
|
|
4
4
|
var layout_processor_1 = require("./layout-processor");
|
|
5
5
|
Object.defineProperty(exports, "CLXFormLayoutProcessor", { enumerable: true, get: function () { return layout_processor_1.CLXFormLayoutProcessor; } });
|
|
6
6
|
var layout_filter_1 = require("./layout-filter");
|
|
7
7
|
Object.defineProperty(exports, "CLXFormLayoutFilter", { enumerable: true, get: function () { return layout_filter_1.CLXFormLayoutFilter; } });
|
|
8
|
+
var form_helpers_1 = require("./form-helpers");
|
|
9
|
+
Object.defineProperty(exports, "CLXFormHelpers", { enumerable: true, get: function () { return form_helpers_1.CLXFormHelpers; } });
|
|
8
10
|
var rules_processor_1 = require("./rules-processor");
|
|
9
11
|
Object.defineProperty(exports, "CLXRulesetProcessor", { enumerable: true, get: function () { return rules_processor_1.CLXRulesetProcessor; } });
|
|
10
12
|
var rules_engine_1 = require("./rules-engine");
|
package/dist/layout-processor.js
CHANGED
|
@@ -39,9 +39,6 @@ const CLXFormLayoutProcessor = ({ mode, responseData, formRights }) => {
|
|
|
39
39
|
};
|
|
40
40
|
const questionLayoutProcessor = (questionLayout, response) => {
|
|
41
41
|
const is_enabled = isQuestionLayoutEnabled(questionLayout);
|
|
42
|
-
if (!is_enabled) {
|
|
43
|
-
responseData[questionLayout.form_question_slug] = undefined;
|
|
44
|
-
}
|
|
45
42
|
return Object.assign(Object.assign({}, questionLayout), { is_enabled, is_complete: is_enabled ? isResponseSaved(response) : false });
|
|
46
43
|
};
|
|
47
44
|
const sectionProcessor = (section) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clxmedia/clxforms-client",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.16",
|
|
4
4
|
"description": "CLXperience Forms Client",
|
|
5
5
|
"author": "Brandon Thompson <brandont@clxmedia.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
"import": "./dist/index.js",
|
|
17
17
|
"require": "./dist/index.js"
|
|
18
18
|
},
|
|
19
|
+
"./layout-filter": "./dist/layout-filter.js",
|
|
19
20
|
"./layout-processor": "./dist/layout-processor.js",
|
|
21
|
+
"./form-helpers": "./dist/form-helpers.js",
|
|
20
22
|
"./constants": "./dist/constants.js",
|
|
21
23
|
"./rules-engine": "./dist/rules-engine.js",
|
|
22
24
|
"./rules-processor": "./dist/rules-processor.js"
|
|
@@ -42,7 +44,7 @@
|
|
|
42
44
|
"bugs": "https://github.com/adsupnow/xperience-library/clxforms-client",
|
|
43
45
|
"peerDependencies": {},
|
|
44
46
|
"dependencies": {
|
|
45
|
-
"@clxmedia/types": "1.0.
|
|
47
|
+
"@clxmedia/types": "1.0.162",
|
|
46
48
|
"luxon": "3.4.4"
|
|
47
49
|
},
|
|
48
50
|
"devDependencies": {
|