case-editor-tools 1.0.0-beta.15 → 1.0.0-beta.19

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 (49) hide show
  1. package/constants/key-definitions.d.ts +1 -0
  2. package/constants/key-definitions.js +3 -1
  3. package/constants/key-definitions.js.map +1 -1
  4. package/expression-utils/expressionGen.d.ts +1 -1
  5. package/expression-utils/studyEngineExpressions.d.ts +1 -1
  6. package/{item-editor-7f825952.js → item-editor-c6933791.js} +61 -44
  7. package/item-editor-c6933791.js.map +1 -0
  8. package/package.json +5 -5
  9. package/surveys/index.js +3 -1
  10. package/surveys/index.js.map +1 -1
  11. package/surveys/responseTypeGenerators/likertGroupComponents.d.ts +27 -0
  12. package/surveys/responseTypeGenerators/likertGroupComponents.js +347 -0
  13. package/surveys/responseTypeGenerators/likertGroupComponents.js.map +1 -0
  14. package/surveys/responseTypeGenerators/matrixGroupComponent.d.ts +49 -0
  15. package/surveys/responseTypeGenerators/matrixGroupComponent.js +99 -0
  16. package/surveys/responseTypeGenerators/matrixGroupComponent.js.map +1 -0
  17. package/surveys/responseTypeGenerators/optionGroupComponents.d.ts +7 -0
  18. package/surveys/responseTypeGenerators/optionGroupComponents.js +125 -0
  19. package/surveys/responseTypeGenerators/optionGroupComponents.js.map +1 -0
  20. package/surveys/survey-editor/component-editor.d.ts +1 -1
  21. package/surveys/survey-editor/data-types.d.ts +1 -1
  22. package/surveys/survey-editor/item-editor.d.ts +1 -1
  23. package/surveys/survey-editor/item-editor.js +1 -1
  24. package/surveys/survey-editor/survey-editor.d.ts +6 -1
  25. package/surveys/survey-editor/survey-editor.js +9 -3
  26. package/surveys/survey-editor/survey-editor.js.map +1 -1
  27. package/surveys/survey-engine-expressions.d.ts +1 -1
  28. package/surveys/survey-items.d.ts +11 -78
  29. package/surveys/survey-items.js +76 -826
  30. package/surveys/survey-items.js.map +1 -1
  31. package/surveys/types/group.d.ts +1 -1
  32. package/surveys/types/group.js +1 -1
  33. package/surveys/types/index.js +1 -1
  34. package/surveys/types/item-properties.d.ts +1 -1
  35. package/surveys/types/item.d.ts +1 -1
  36. package/surveys/types/survey-definition.d.ts +5 -2
  37. package/surveys/types/survey-definition.js +3 -1
  38. package/surveys/types/survey-definition.js.map +1 -1
  39. package/surveys/utils/componentGenerators.d.ts +1 -1
  40. package/surveys/utils/optionDefGenerators.d.ts +2 -1
  41. package/surveys/utils/optionDefGenerators.js +7 -0
  42. package/surveys/utils/optionDefGenerators.js.map +1 -1
  43. package/surveys/utils/simple-generators.d.ts +1 -1
  44. package/surveys/utils/simple-question-editor.d.ts +2 -2
  45. package/surveys/utils/simple-question-editor.js +1 -1
  46. package/types/expression.d.ts +1 -1
  47. package/types/study.d.ts +1 -1
  48. package/types/studyRules.d.ts +1 -1
  49. package/item-editor-7f825952.js.map +0 -1
@@ -11,3 +11,4 @@ export declare const inputKey = "ic";
11
11
  export declare const numericInputKey = "num";
12
12
  export declare const datePickerKey = "date";
13
13
  export declare const matrixKey = "mat";
14
+ export declare const clozeKey = "cloze";
@@ -14,8 +14,10 @@ const sliderCategoricalKey = "scc";
14
14
  const inputKey = "ic";
15
15
  const numericInputKey = "num";
16
16
  const datePickerKey = "date";
17
- const matrixKey = "mat";
17
+ const matrixKey = "mat";
18
+ const clozeKey = "cloze";
18
19
 
20
+ exports.clozeKey = clozeKey;
19
21
  exports.datePickerKey = datePickerKey;
20
22
  exports.dropDownKey = dropDownKey;
21
23
  exports.inputKey = inputKey;
@@ -1 +1 @@
1
- {"version":3,"file":"key-definitions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"key-definitions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- import { Expression, ExpressionName } from "survey-engine/lib/data_types";
1
+ import { Expression, ExpressionName } from "survey-engine/data_types";
2
2
  export declare const generateExpression: (name: ExpressionName, returnType?: "string" | "float" | undefined, ...args: any[]) => Expression;
@@ -1,4 +1,4 @@
1
- import { Expression } from "survey-engine/lib/data_types";
1
+ import { Expression } from "survey-engine/data_types";
2
2
  import { Duration } from "../types/duration";
3
3
  export declare const NativeStudyEngineExpressions: {
4
4
  checkEventType: (equalsType: 'ENTER' | 'SUBMIT' | 'TIMER') => Expression;
@@ -8,57 +8,74 @@ var data_types = {};
8
8
 
9
9
  var expression = {};
10
10
 
11
- Object.defineProperty(expression, "__esModule", { value: true });
12
- expression.isExpression = (value) => {
13
- return typeof (value) === 'object' && value.name !== undefined && value.name.length > 0;
14
- };
15
- expression.expressionArgParser = (arg) => {
16
- switch (arg.dtype) {
17
- case 'num':
18
- return arg.num;
19
- case 'str':
20
- return arg.str;
21
- case 'exp':
22
- return arg.exp;
23
- default:
24
- return arg.str;
25
- }
11
+ Object.defineProperty(expression, '__esModule', { value: true });
12
+
13
+ const isExpression = (value) => {
14
+ return typeof (value) === 'object' && value.name !== undefined && value.name.length > 0;
15
+ };
16
+ const expressionArgParser = (arg) => {
17
+ switch (arg.dtype) {
18
+ case 'num':
19
+ return arg.num;
20
+ case 'str':
21
+ return arg.str;
22
+ case 'exp':
23
+ return arg.exp;
24
+ default:
25
+ return arg.str;
26
+ }
26
27
  };
27
28
 
29
+ expression.expressionArgParser = expressionArgParser;
30
+ expression.isExpression = isExpression;
31
+
28
32
  var surveyItem = {};
29
33
 
30
- Object.defineProperty(surveyItem, "__esModule", { value: true });
31
- surveyItem.isSurveyGroupItem = (item) => {
32
- const items = item.items;
33
- return items !== undefined && items.length > 0;
34
+ Object.defineProperty(surveyItem, '__esModule', { value: true });
35
+
36
+ const isSurveyGroupItem$1 = (item) => {
37
+ const items = item.items;
38
+ return items !== undefined && items.length > 0;
34
39
  };
35
40
 
41
+ surveyItem.isSurveyGroupItem = isSurveyGroupItem$1;
42
+
36
43
  var surveyItemComponent = {};
37
44
 
38
- Object.defineProperty(surveyItemComponent, "__esModule", { value: true });
39
- surveyItemComponent.isItemGroupComponent = (item) => {
40
- const items = item.items;
41
- return items !== undefined && items.length > 0;
45
+ Object.defineProperty(surveyItemComponent, '__esModule', { value: true });
46
+
47
+ const isItemGroupComponent$1 = (item) => {
48
+ const items = item.items;
49
+ return items !== undefined && items.length > 0;
42
50
  };
43
51
 
52
+ surveyItemComponent.isItemGroupComponent = isItemGroupComponent$1;
53
+
44
54
  var response = {};
45
55
 
46
- Object.defineProperty(response, "__esModule", { value: true });
47
- response.isSurveyGroupItemResponse = (item) => {
48
- const items = item.items;
49
- return items !== undefined && items.length > 0;
56
+ Object.defineProperty(response, '__esModule', { value: true });
57
+
58
+ const isSurveyGroupItemResponse = (item) => {
59
+ const items = item.items;
60
+ return items !== undefined && items.length > 0;
50
61
  };
51
62
 
52
- (function (exports) {
53
- function __export(m) {
54
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
55
- }
56
- Object.defineProperty(exports, "__esModule", { value: true });
57
- __export(expression);
58
- __export(surveyItem);
59
- __export(surveyItemComponent);
60
- __export(response);
61
- }(data_types));
63
+ response.isSurveyGroupItemResponse = isSurveyGroupItemResponse;
64
+
65
+ Object.defineProperty(data_types, '__esModule', { value: true });
66
+
67
+ var data_types_expression = expression;
68
+ var data_types_surveyItem = surveyItem;
69
+ var data_types_surveyItemComponent = surveyItemComponent;
70
+ var data_types_response = response;
71
+
72
+
73
+
74
+ data_types.expressionArgParser = data_types_expression.expressionArgParser;
75
+ data_types.isExpression = data_types_expression.isExpression;
76
+ var isSurveyGroupItem = data_types.isSurveyGroupItem = data_types_surveyItem.isSurveyGroupItem;
77
+ var isItemGroupComponent = data_types.isItemGroupComponent = data_types_surveyItemComponent.isItemGroupComponent;
78
+ data_types.isSurveyGroupItemResponse = data_types_response.isSurveyGroupItemResponse;
62
79
 
63
80
  const initialRootComp = () => {
64
81
  return {
@@ -282,7 +299,7 @@ class ItemEditor {
282
299
  obj = currentItem.components.items[ind];
283
300
  continue;
284
301
  }
285
- if (!data_types.isItemGroupComponent(obj)) {
302
+ if (!isItemGroupComponent(obj)) {
286
303
  obj.items = [];
287
304
  // leaf found
288
305
  break;
@@ -341,7 +358,7 @@ class ItemEditor {
341
358
  obj = currentItem.components.items[ind];
342
359
  continue;
343
360
  }
344
- if (!data_types.isItemGroupComponent(obj)) {
361
+ if (!isItemGroupComponent(obj)) {
345
362
  obj.items = [];
346
363
  // leaf found
347
364
  break;
@@ -393,7 +410,7 @@ class ItemEditor {
393
410
  const parentIds = ids.slice(1, ids.length - 1);
394
411
  let obj = responseGroup;
395
412
  for (const currentKey of parentIds) {
396
- if (!data_types.isItemGroupComponent(obj)) {
413
+ if (!isItemGroupComponent(obj)) {
397
414
  // leaf found
398
415
  break;
399
416
  }
@@ -434,7 +451,7 @@ class ItemEditor {
434
451
  const parentIds = ids.slice(1, ids.length - 1);
435
452
  let obj = responseGroup;
436
453
  for (const currentKey of parentIds) {
437
- if (!data_types.isItemGroupComponent(obj)) {
454
+ if (!isItemGroupComponent(obj)) {
438
455
  // leaf found
439
456
  break;
440
457
  }
@@ -469,7 +486,7 @@ class ItemEditor {
469
486
  obj = currentItem.components.items[ind];
470
487
  continue;
471
488
  }
472
- if (!data_types.isItemGroupComponent(obj)) {
489
+ if (!isItemGroupComponent(obj)) {
473
490
  obj.items = [];
474
491
  // leaf found
475
492
  break;
@@ -518,5 +535,5 @@ class ItemEditor {
518
535
  }
519
536
 
520
537
  exports.ItemEditor = ItemEditor;
521
- exports.data_types = data_types;
522
- //# sourceMappingURL=item-editor-7f825952.js.map
538
+ exports.isSurveyGroupItem = isSurveyGroupItem;
539
+ //# sourceMappingURL=item-editor-c6933791.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-editor-c6933791.js","sources":["../node_modules/survey-engine/data_types/expression.js","../node_modules/survey-engine/data_types/survey-item.js","../node_modules/survey-engine/data_types/survey-item-component.js","../node_modules/survey-engine/data_types/response.js","../node_modules/survey-engine/data_types/index.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst isExpression = (value) => {\r\n return typeof (value) === 'object' && value.name !== undefined && value.name.length > 0;\r\n};\r\nconst expressionArgParser = (arg) => {\r\n switch (arg.dtype) {\r\n case 'num':\r\n return arg.num;\r\n case 'str':\r\n return arg.str;\r\n case 'exp':\r\n return arg.exp;\r\n default:\r\n return arg.str;\r\n }\r\n};\n\nexports.expressionArgParser = expressionArgParser;\nexports.isExpression = isExpression;\n//# sourceMappingURL=expression.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst isSurveyGroupItem = (item) => {\r\n const items = item.items;\r\n return items !== undefined && items.length > 0;\r\n};\n\nexports.isSurveyGroupItem = isSurveyGroupItem;\n//# sourceMappingURL=survey-item.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst isItemGroupComponent = (item) => {\r\n const items = item.items;\r\n return items !== undefined && items.length > 0;\r\n};\n\nexports.isItemGroupComponent = isItemGroupComponent;\n//# sourceMappingURL=survey-item-component.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst isSurveyGroupItemResponse = (item) => {\r\n const items = item.items;\r\n return items !== undefined && items.length > 0;\r\n};\n\nexports.isSurveyGroupItemResponse = isSurveyGroupItemResponse;\n//# sourceMappingURL=response.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar data_types_expression = require('./expression.js');\nvar data_types_surveyItem = require('./survey-item.js');\nvar data_types_surveyItemComponent = require('./survey-item-component.js');\nvar data_types_response = require('./response.js');\n\n\n\nexports.expressionArgParser = data_types_expression.expressionArgParser;\nexports.isExpression = data_types_expression.isExpression;\nexports.isSurveyGroupItem = data_types_surveyItem.isSurveyGroupItem;\nexports.isItemGroupComponent = data_types_surveyItemComponent.isItemGroupComponent;\nexports.isSurveyGroupItemResponse = data_types_response.isSurveyGroupItemResponse;\n//# sourceMappingURL=index.js.map\n"],"names":["isSurveyGroupItem","isItemGroupComponent","require$$0","require$$1","require$$2","require$$3"],"mappings":"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"}
package/package.json CHANGED
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "case-editor-tools",
3
3
  "description": "Javascript tools to simplify survey and study coding for CASE.",
4
- "version": "1.0.0-beta.15",
4
+ "version": "1.0.0-beta.19",
5
5
  "main": "index.js",
6
6
  "license": "Apache-2.0",
7
7
  "repository": "github:case-framework/case-editor-tools",
8
8
  "devDependencies": {
9
9
  "@rollup/plugin-commonjs": "^21.0.1",
10
- "@rollup/plugin-node-resolve": "^13.0.6",
11
- "rollup": "^2.59.0",
10
+ "@rollup/plugin-node-resolve": "^13.1.1",
11
+ "rollup": "^2.61.1",
12
12
  "rollup-plugin-copy": "^3.4.0",
13
13
  "rollup-plugin-delete": "^2.0.0",
14
14
  "rollup-plugin-multi-input": "^1.3.1",
15
15
  "rollup-plugin-peer-deps-external": "^2.2.4",
16
- "rollup-plugin-typescript2": "^0.30.0",
16
+ "rollup-plugin-typescript2": "^0.31.1",
17
17
  "typescript": "^4.4.4"
18
18
  },
19
19
  "scripts": {
20
20
  "build": "rollup -c"
21
21
  },
22
22
  "dependencies": {
23
- "survey-engine": "^0.10.0"
23
+ "survey-engine": "^1.0.2"
24
24
  }
25
25
  }
package/surveys/index.js CHANGED
@@ -6,7 +6,7 @@ var surveys_surveyItems = require('./survey-items.js');
6
6
  var surveys_utils_optionDefGenerators = require('./utils/optionDefGenerators.js');
7
7
  var surveys_surveyEngineExpressions = require('./survey-engine-expressions.js');
8
8
  require('./survey-editor/component-editor.js');
9
- require('../item-editor-7f825952.js');
9
+ require('../item-editor-c6933791.js');
10
10
  require('./utils/randomKeyGenerator.js');
11
11
  require('../logger/logger.js');
12
12
  require('./utils/componentGenerators.js');
@@ -14,6 +14,8 @@ require('./utils/simple-generators.js');
14
14
  require('../types/duration.js');
15
15
  require('../constants/key-definitions.js');
16
16
  require('./utils/simple-question-editor.js');
17
+ require('./responseTypeGenerators/optionGroupComponents.js');
18
+ require('./responseTypeGenerators/likertGroupComponents.js');
17
19
  require('../expression-utils/expressionGen.js');
18
20
 
19
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,27 @@
1
+ import { Expression, ItemComponent, ItemGroupComponent } from "survey-engine/data_types";
2
+ import { ResponsiveBipolarLikertArrayProps, ResponsiveSingleChoiceArrayProps } from "../types";
3
+ export interface LikertGroupRow {
4
+ key: string;
5
+ content: Map<string, string>;
6
+ descriptions?: ItemComponent[];
7
+ hideTopBorder?: boolean;
8
+ hideLabels?: boolean;
9
+ optionDisabled?: Array<{
10
+ optionKey: string;
11
+ exp: Expression;
12
+ }>;
13
+ displayCondition?: Expression;
14
+ }
15
+ export declare const initLikertScaleGroup: (key: string, rows: Array<LikertGroupRow>, scaleOptions: {
16
+ key: string;
17
+ className?: string | undefined;
18
+ content: Map<string, string>;
19
+ }[], stackOnSmallScreen?: boolean | undefined, displayCondition?: Expression | undefined) => ItemGroupComponent;
20
+ export declare const initResponsiveSingleChoiceArray: (rgKey: string, props: ResponsiveSingleChoiceArrayProps, displayCondition?: Expression | undefined) => ItemGroupComponent;
21
+ export declare const initResponsiveBipolarLikertArray: (rgKey: string, props: ResponsiveBipolarLikertArrayProps, displayCondition?: Expression | undefined) => ItemGroupComponent;
22
+ export declare const initLikertScaleItem: (key: string, options: {
23
+ key: string;
24
+ className?: string | undefined;
25
+ content?: Map<string, string> | undefined;
26
+ disabled?: Expression | undefined;
27
+ }[], stackOnSmallScreen?: boolean | undefined, displayCondition?: Expression | undefined) => ItemGroupComponent;
@@ -0,0 +1,347 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var surveys_surveyEditor_componentEditor = require('../survey-editor/component-editor.js');
6
+ var surveys_utils_randomKeyGenerator = require('../utils/randomKeyGenerator.js');
7
+ var surveys_utils_simpleGenerators = require('../utils/simple-generators.js');
8
+
9
+ const initLikertScaleGroup = (key, rows, scaleOptions, stackOnSmallScreen, displayCondition) => {
10
+ const groupEdit = new surveys_surveyEditor_componentEditor.ComponentEditor(undefined, {
11
+ key: key,
12
+ isGroup: true,
13
+ role: 'likertGroup',
14
+ });
15
+ if (displayCondition) {
16
+ groupEdit.setDisplayCondition(displayCondition);
17
+ }
18
+ rows.forEach((row, index) => {
19
+ groupEdit.addItemComponent({
20
+ key: surveys_utils_randomKeyGenerator.generateRandomKey(4),
21
+ role: 'text',
22
+ style: [{
23
+ key: 'className', value: 'fw-bold' + (index !== 0 ? ' pt-1 mt-2' : '') + ((!row.hideTopBorder && index > 0) ? ' border-top border-1 border-grey-2' : '') + (row.descriptions ? ' mb-0' : ' mb-1')
24
+ }, { key: 'variant', value: 'h6' }],
25
+ content: surveys_utils_simpleGenerators.generateLocStrings(row.content),
26
+ });
27
+ if (row.descriptions) {
28
+ row.descriptions.forEach(desc => {
29
+ groupEdit.addItemComponent(desc);
30
+ });
31
+ }
32
+ const item = initLikertScaleItem(row.key, scaleOptions.map(option => {
33
+ var _a, _b;
34
+ return {
35
+ key: option.key,
36
+ className: option.className,
37
+ content: row.hideLabels ? undefined : option.content,
38
+ disabled: (_b = (_a = row.optionDisabled) === null || _a === void 0 ? void 0 : _a.find(cond => cond.optionKey === option.key)) === null || _b === void 0 ? void 0 : _b.exp,
39
+ };
40
+ }), stackOnSmallScreen, row.displayCondition);
41
+ groupEdit.addItemComponent(item);
42
+ });
43
+ return groupEdit.getComponent();
44
+ };
45
+ const initResponsiveSingleChoiceArray = (rgKey, props, displayCondition) => {
46
+ var _a, _b;
47
+ const groupEdit = new surveys_surveyEditor_componentEditor.ComponentEditor(undefined, {
48
+ key: rgKey,
49
+ isGroup: true,
50
+ role: 'responsiveSingleChoiceArray',
51
+ });
52
+ if (displayCondition) {
53
+ groupEdit.setDisplayCondition(displayCondition);
54
+ }
55
+ const style = [
56
+ { key: 'defaultMode', value: props.defaultMode },
57
+ ];
58
+ if (props.responsiveModes) {
59
+ if (props.responsiveModes.sm) {
60
+ style.push({ key: 'smMode', value: props.responsiveModes.sm });
61
+ }
62
+ if (props.responsiveModes.md) {
63
+ style.push({ key: 'mdMode', value: props.responsiveModes.md });
64
+ }
65
+ if (props.responsiveModes.lg) {
66
+ style.push({ key: 'lgMode', value: props.responsiveModes.lg });
67
+ }
68
+ if (props.responsiveModes.xl) {
69
+ style.push({ key: 'xlMode', value: props.responsiveModes.xl });
70
+ }
71
+ if (props.responsiveModes.xxl) {
72
+ style.push({ key: 'xxlMode', value: props.responsiveModes.xxl });
73
+ }
74
+ }
75
+ if (props.rgClassName) {
76
+ style.push({ key: 'className', value: props.rgClassName });
77
+ }
78
+ if (props.verticalModeProps) {
79
+ if (props.verticalModeProps.useReverseOptionOrder) {
80
+ style.push({ key: 'verticalModeReverseOrder', value: 'true' });
81
+ }
82
+ }
83
+ if (props.tableModeProps) {
84
+ style.push({ key: 'tableModeClassName', value: 'table-borderless mb-0 ' + props.tableModeProps.className });
85
+ if (props.tableModeProps.layout) {
86
+ style.push({ key: 'tableModeLayout', value: props.tableModeProps.layout });
87
+ }
88
+ if (props.tableModeProps.firstColWidth) {
89
+ style.push({ key: 'tableModeFirstColWidth', value: props.tableModeProps.firstColWidth });
90
+ }
91
+ }
92
+ groupEdit.setStyles(style);
93
+ const defaultBorderClass = 'border-bottom border-grey-2';
94
+ let tableModeOptionHeaderClassName = undefined;
95
+ if (!((_a = props.tableModeProps) === null || _a === void 0 ? void 0 : _a.hideRowBorder)) {
96
+ tableModeOptionHeaderClassName = defaultBorderClass;
97
+ }
98
+ if ((_b = props.tableModeProps) === null || _b === void 0 ? void 0 : _b.optionHeaderClassName) {
99
+ tableModeOptionHeaderClassName += ' ' + props.tableModeProps.optionHeaderClassName;
100
+ }
101
+ const optionStyles = [];
102
+ if (tableModeOptionHeaderClassName) {
103
+ optionStyles.push({ key: 'tableModeClassName', value: tableModeOptionHeaderClassName });
104
+ }
105
+ groupEdit.addItemComponent({
106
+ key: 'header',
107
+ role: 'options',
108
+ style: optionStyles.length > 0 ? optionStyles : undefined,
109
+ items: props.scaleOptions.map(option => {
110
+ return {
111
+ key: option.key,
112
+ role: 'option',
113
+ style: option.className ? [{ key: 'className', value: option.className }] : undefined,
114
+ content: !Array.isArray(option.content) ? surveys_utils_simpleGenerators.generateLocStrings(option.content) : undefined,
115
+ items: Array.isArray(option.content) ? option.content.map((cont, index) => {
116
+ return {
117
+ key: index.toFixed(),
118
+ role: 'text',
119
+ content: surveys_utils_simpleGenerators.generateLocStrings(cont.content),
120
+ style: cont.className ? [{ key: 'className', value: cont.className }] : undefined,
121
+ };
122
+ }) : [],
123
+ };
124
+ })
125
+ });
126
+ props.rows.forEach((row, index) => {
127
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
128
+ let tableModeRowClassName = undefined;
129
+ let horizontalModeRowClassName = undefined;
130
+ let verticalModeRowClassName = undefined;
131
+ const isLast = index === props.rows.length - 1;
132
+ if (!((_a = props.tableModeProps) === null || _a === void 0 ? void 0 : _a.hideRowBorder) && !isLast) {
133
+ tableModeRowClassName = defaultBorderClass;
134
+ }
135
+ if ((_b = row.tableModeProps) === null || _b === void 0 ? void 0 : _b.className) {
136
+ tableModeRowClassName += ' ' + ((_c = row.tableModeProps) === null || _c === void 0 ? void 0 : _c.className);
137
+ }
138
+ if (!((_d = props.horizontalModeProps) === null || _d === void 0 ? void 0 : _d.hideRowBorder) && !isLast) {
139
+ horizontalModeRowClassName = defaultBorderClass;
140
+ }
141
+ if ((_e = row.horizontalModeProps) === null || _e === void 0 ? void 0 : _e.className) {
142
+ horizontalModeRowClassName += ' ' + ((_f = row.horizontalModeProps) === null || _f === void 0 ? void 0 : _f.className);
143
+ }
144
+ if (!((_g = props.verticalModeProps) === null || _g === void 0 ? void 0 : _g.hideRowBorder) && !isLast) {
145
+ verticalModeRowClassName = defaultBorderClass;
146
+ }
147
+ if ((_h = row.verticalModeProps) === null || _h === void 0 ? void 0 : _h.className) {
148
+ verticalModeRowClassName += ' ' + ((_j = row.verticalModeProps) === null || _j === void 0 ? void 0 : _j.className);
149
+ }
150
+ const rowStyles = [];
151
+ if (tableModeRowClassName) {
152
+ rowStyles.push({ key: 'tableModeClassName', value: tableModeRowClassName });
153
+ }
154
+ if (horizontalModeRowClassName) {
155
+ rowStyles.push({ key: 'horizontalModeClassName', value: horizontalModeRowClassName });
156
+ }
157
+ if (verticalModeRowClassName) {
158
+ rowStyles.push({ key: 'verticalModeClassName', value: verticalModeRowClassName });
159
+ }
160
+ if ((_k = row.horizontalModeProps) === null || _k === void 0 ? void 0 : _k.labelPlacement) {
161
+ rowStyles.push({ key: 'horizontalModeLabelPlacement', value: row.horizontalModeProps.labelPlacement });
162
+ }
163
+ groupEdit.addItemComponent({
164
+ key: row.key,
165
+ role: 'row',
166
+ style: rowStyles.length > 0 ? rowStyles : undefined,
167
+ content: !Array.isArray(row.content) ? surveys_utils_simpleGenerators.generateLocStrings(row.content) : undefined,
168
+ items: Array.isArray(row.content) ? row.content.map((cont, index) => {
169
+ return {
170
+ key: index.toFixed(),
171
+ role: 'text',
172
+ content: surveys_utils_simpleGenerators.generateLocStrings(cont.content),
173
+ style: cont.className ? [{ key: 'className', value: cont.className }] : undefined,
174
+ };
175
+ }) : [],
176
+ });
177
+ });
178
+ return groupEdit.getComponent();
179
+ };
180
+ const initResponsiveBipolarLikertArray = (rgKey, props, displayCondition) => {
181
+ var _a;
182
+ const groupEdit = new surveys_surveyEditor_componentEditor.ComponentEditor(undefined, {
183
+ key: rgKey,
184
+ isGroup: true,
185
+ role: 'responsiveBipolarLikertScaleArray',
186
+ });
187
+ if (displayCondition) {
188
+ groupEdit.setDisplayCondition(displayCondition);
189
+ }
190
+ const style = [
191
+ { key: 'defaultMode', value: props.defaultMode },
192
+ ];
193
+ if (props.responsiveModes) {
194
+ if (props.responsiveModes.sm) {
195
+ style.push({ key: 'smMode', value: props.responsiveModes.sm });
196
+ }
197
+ if (props.responsiveModes.md) {
198
+ style.push({ key: 'mdMode', value: props.responsiveModes.md });
199
+ }
200
+ if (props.responsiveModes.lg) {
201
+ style.push({ key: 'lgMode', value: props.responsiveModes.lg });
202
+ }
203
+ if (props.responsiveModes.xl) {
204
+ style.push({ key: 'xlMode', value: props.responsiveModes.xl });
205
+ }
206
+ if (props.responsiveModes.xxl) {
207
+ style.push({ key: 'xxlMode', value: props.responsiveModes.xxl });
208
+ }
209
+ }
210
+ if (props.rgClassName) {
211
+ style.push({ key: 'className', value: props.rgClassName });
212
+ }
213
+ if (props.withLabelRowModeProps) {
214
+ if (props.withLabelRowModeProps.maxLabelWidth) {
215
+ style.push({ key: 'labelRowMaxLabelWidth', value: props.withLabelRowModeProps.maxLabelWidth });
216
+ }
217
+ }
218
+ style.push({ key: 'labelRowPosition', value: ((_a = props.withLabelRowModeProps) === null || _a === void 0 ? void 0 : _a.useBottomLabel) ? 'bottom' : 'top' });
219
+ if (props.tableModeProps) {
220
+ style.push({ key: 'tableModeClassName', value: 'table-borderless mb-0 ' + props.tableModeProps.className });
221
+ if (props.tableModeProps.layout) {
222
+ style.push({ key: 'tableModeLayout', value: props.tableModeProps.layout });
223
+ }
224
+ if (props.tableModeProps.labelColWidth) {
225
+ style.push({ key: 'tableModeLabelColWidth', value: props.tableModeProps.labelColWidth });
226
+ }
227
+ }
228
+ groupEdit.setStyles(style);
229
+ const defaultBorderClass = 'border-bottom border-grey-2';
230
+ groupEdit.addItemComponent({
231
+ key: 'options',
232
+ role: 'options',
233
+ items: props.scaleOptions.map(option => {
234
+ return {
235
+ key: option.key,
236
+ role: 'option',
237
+ };
238
+ })
239
+ });
240
+ props.rows.forEach((row, index) => {
241
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
242
+ let tableModeRowClassName = undefined;
243
+ let withLabelRowModeClassName = undefined;
244
+ let verticalModeRowClassName = undefined;
245
+ const isLast = index === props.rows.length - 1;
246
+ if (!((_a = props.tableModeProps) === null || _a === void 0 ? void 0 : _a.hideRowBorder) && !isLast) {
247
+ tableModeRowClassName = defaultBorderClass;
248
+ }
249
+ if ((_b = row.tableModeProps) === null || _b === void 0 ? void 0 : _b.className) {
250
+ tableModeRowClassName += ' ' + ((_c = row.tableModeProps) === null || _c === void 0 ? void 0 : _c.className);
251
+ }
252
+ if (!((_d = props.withLabelRowModeProps) === null || _d === void 0 ? void 0 : _d.hideRowBorder) && !isLast) {
253
+ withLabelRowModeClassName = defaultBorderClass;
254
+ }
255
+ if ((_e = row.withLabelRowModeProps) === null || _e === void 0 ? void 0 : _e.className) {
256
+ withLabelRowModeClassName += ' ' + ((_f = row.withLabelRowModeProps) === null || _f === void 0 ? void 0 : _f.className);
257
+ }
258
+ if (!((_g = props.verticalModeProps) === null || _g === void 0 ? void 0 : _g.hideRowBorder) && !isLast) {
259
+ verticalModeRowClassName = defaultBorderClass;
260
+ }
261
+ if ((_h = row.verticalModeProps) === null || _h === void 0 ? void 0 : _h.className) {
262
+ verticalModeRowClassName += ' ' + ((_j = row.verticalModeProps) === null || _j === void 0 ? void 0 : _j.className);
263
+ }
264
+ const rowStyles = [];
265
+ if (tableModeRowClassName) {
266
+ rowStyles.push({ key: 'tableModeClassName', value: tableModeRowClassName });
267
+ }
268
+ if (withLabelRowModeClassName) {
269
+ rowStyles.push({ key: 'withLabelRowModeClassName', value: withLabelRowModeClassName });
270
+ }
271
+ if (verticalModeRowClassName) {
272
+ rowStyles.push({ key: 'verticalModeClassName', value: verticalModeRowClassName });
273
+ }
274
+ const startLabel = {
275
+ key: 'start',
276
+ role: 'start',
277
+ content: !Array.isArray(row.startLabel) ? surveys_utils_simpleGenerators.generateLocStrings(row.startLabel) : undefined,
278
+ items: Array.isArray(row.startLabel) ? row.startLabel.map((cont, index) => {
279
+ return {
280
+ key: index.toFixed(),
281
+ role: 'text',
282
+ content: surveys_utils_simpleGenerators.generateLocStrings(cont.content),
283
+ style: cont.className ? [{ key: 'className', value: cont.className }] : undefined,
284
+ };
285
+ }) : [],
286
+ };
287
+ const endLabel = {
288
+ key: 'end',
289
+ role: 'end',
290
+ content: !Array.isArray(row.endLabel) ? surveys_utils_simpleGenerators.generateLocStrings(row.endLabel) : undefined,
291
+ items: Array.isArray(row.endLabel) ? row.endLabel.map((cont, index) => {
292
+ return {
293
+ key: index.toFixed(),
294
+ role: 'text',
295
+ content: surveys_utils_simpleGenerators.generateLocStrings(cont.content),
296
+ style: cont.className ? [{ key: 'className', value: cont.className }] : undefined,
297
+ };
298
+ }) : [],
299
+ };
300
+ groupEdit.addItemComponent({
301
+ key: row.key,
302
+ role: 'row',
303
+ style: rowStyles.length > 0 ? rowStyles : undefined,
304
+ items: [
305
+ startLabel, endLabel
306
+ ],
307
+ });
308
+ });
309
+ return groupEdit.getComponent();
310
+ };
311
+ const initLikertScaleItem = (key, options, stackOnSmallScreen, displayCondition) => {
312
+ // init group
313
+ const groupEdit = new surveys_surveyEditor_componentEditor.ComponentEditor(undefined, {
314
+ key: key,
315
+ isGroup: true,
316
+ role: 'likert',
317
+ });
318
+ groupEdit.setDisplayCondition(displayCondition);
319
+ if (stackOnSmallScreen) {
320
+ groupEdit.setStyles([
321
+ { key: 'responsive', value: 'stackOnSmallScreen' }
322
+ ]);
323
+ }
324
+ options.forEach((option) => {
325
+ const optionComponent = new surveys_surveyEditor_componentEditor.ComponentEditor(undefined, {
326
+ key: option.key,
327
+ role: 'option',
328
+ });
329
+ if (option.content) {
330
+ optionComponent.setContent(surveys_utils_simpleGenerators.generateLocStrings(option.content));
331
+ }
332
+ if (option.className) {
333
+ optionComponent.setStyles([{
334
+ key: 'className', value: option.className
335
+ }]);
336
+ }
337
+ optionComponent.setDisabled(option.disabled);
338
+ groupEdit.addItemComponent(optionComponent.getComponent());
339
+ });
340
+ return groupEdit.getComponent();
341
+ };
342
+
343
+ exports.initLikertScaleGroup = initLikertScaleGroup;
344
+ exports.initLikertScaleItem = initLikertScaleItem;
345
+ exports.initResponsiveBipolarLikertArray = initResponsiveBipolarLikertArray;
346
+ exports.initResponsiveSingleChoiceArray = initResponsiveSingleChoiceArray;
347
+ //# sourceMappingURL=likertGroupComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"likertGroupComponents.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}