@builttocreate/engine-utils 1.24.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fieldHelper.js +36 -33
- package/dist/joyDocHelper.js +121 -4
- package/package.json +1 -1
package/dist/fieldHelper.js
CHANGED
|
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.handleMultiSelectOptionToggle = exports.getTemplateWithLookups = exports.getMultiSelectFieldValue = exports.getImportFieldValues = exports.getDefaultOption = exports.getDefaultFieldValuesFromTemplate = exports.getChartFieldValue = exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
11
|
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
14
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
15
|
|
|
16
16
|
var _FieldTypes = _interopRequireDefault(require("./constants/FieldTypes"));
|
|
@@ -45,25 +45,6 @@ var getChartFieldValue = function getChartFieldValue(value) {
|
|
|
45
45
|
|
|
46
46
|
return (0, _toConsumableArray2["default"])(parsedData);
|
|
47
47
|
};
|
|
48
|
-
/**
|
|
49
|
-
* Get multiselect field value
|
|
50
|
-
*
|
|
51
|
-
* @param (String|Array) value
|
|
52
|
-
* @return Array
|
|
53
|
-
*/
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
exports.getChartFieldValue = getChartFieldValue;
|
|
57
|
-
|
|
58
|
-
var getMultiSelectFieldValue = function getMultiSelectFieldValue(value) {
|
|
59
|
-
if (value && typeof value === 'string') {
|
|
60
|
-
return value.replace(/\s/g, '').split(',');
|
|
61
|
-
} else if (value && (0, _typeof2["default"])(value) === 'object') {
|
|
62
|
-
return (0, _toConsumableArray2["default"])(value);
|
|
63
|
-
} else {
|
|
64
|
-
return [];
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
48
|
/**
|
|
68
49
|
* Get default option
|
|
69
50
|
*
|
|
@@ -74,7 +55,7 @@ var getMultiSelectFieldValue = function getMultiSelectFieldValue(value) {
|
|
|
74
55
|
*/
|
|
75
56
|
|
|
76
57
|
|
|
77
|
-
exports.
|
|
58
|
+
exports.getChartFieldValue = getChartFieldValue;
|
|
78
59
|
|
|
79
60
|
var getDefaultOption = function getDefaultOption(value) {
|
|
80
61
|
return {
|
|
@@ -83,6 +64,25 @@ var getDefaultOption = function getDefaultOption(value) {
|
|
|
83
64
|
deleted: false
|
|
84
65
|
};
|
|
85
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* Get multiselect field value
|
|
69
|
+
*
|
|
70
|
+
* @param (String|Array) value
|
|
71
|
+
* @return Array
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
exports.getDefaultOption = getDefaultOption;
|
|
76
|
+
|
|
77
|
+
var getMultiSelectFieldValue = function getMultiSelectFieldValue(value) {
|
|
78
|
+
if (value && typeof value === 'string') {
|
|
79
|
+
return value.replace(/\s/g, '').split(','); //Legacy (document v1) support for multiSelect value
|
|
80
|
+
} else if (value && Array.isArray(value)) {
|
|
81
|
+
return (0, _toConsumableArray2["default"])(value);
|
|
82
|
+
} else {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
86
|
/**
|
|
87
87
|
* Update the selected options.
|
|
88
88
|
*
|
|
@@ -92,7 +92,7 @@ var getDefaultOption = function getDefaultOption(value) {
|
|
|
92
92
|
*/
|
|
93
93
|
|
|
94
94
|
|
|
95
|
-
exports.
|
|
95
|
+
exports.getMultiSelectFieldValue = getMultiSelectFieldValue;
|
|
96
96
|
|
|
97
97
|
var handleMultiSelectOptionToggle = function handleMultiSelectOptionToggle(multi) {
|
|
98
98
|
var selectedOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
@@ -100,19 +100,22 @@ var handleMultiSelectOptionToggle = function handleMultiSelectOptionToggle(multi
|
|
|
100
100
|
var nextSelection = (0, _toConsumableArray2["default"])(selectedOptions);
|
|
101
101
|
var optionIndex = nextSelection.indexOf(optionId);
|
|
102
102
|
|
|
103
|
-
if (optionIndex !== -1) {
|
|
104
|
-
nextSelection.splice(optionIndex, 1);
|
|
105
|
-
} else if (multi) {
|
|
106
|
-
nextSelection.push(optionId);
|
|
107
|
-
} else {
|
|
108
|
-
nextSelection = [optionId];
|
|
109
|
-
}
|
|
110
|
-
|
|
111
103
|
if (multi) {
|
|
112
|
-
|
|
104
|
+
if (optionIndex !== -1) {
|
|
105
|
+
nextSelection.splice(optionIndex, 1);
|
|
106
|
+
} else if (multi) {
|
|
107
|
+
nextSelection.push(optionId);
|
|
108
|
+
}
|
|
113
109
|
} else {
|
|
114
|
-
|
|
110
|
+
//Not multi
|
|
111
|
+
if (optionIndex !== -1) {
|
|
112
|
+
nextSelection = [];
|
|
113
|
+
} else {
|
|
114
|
+
nextSelection = [optionId];
|
|
115
|
+
}
|
|
115
116
|
}
|
|
117
|
+
|
|
118
|
+
return nextSelection;
|
|
116
119
|
};
|
|
117
120
|
/**
|
|
118
121
|
* Get default field values from template
|
package/dist/joyDocHelper.js
CHANGED
|
@@ -5,12 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.getDefaultJoyDocPage = exports.getDefaultJoyDocFile = exports.getDefaultJoyDoc = exports["default"] = void 0;
|
|
8
|
+
exports.getDefaultJoyDocPage = exports.getDefaultJoyDocFile = exports.getDefaultJoyDoc = exports.getCleanedJoyDocPages = exports.getCleanedJoyDoc = exports["default"] = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
12
|
var _generateObjectId = _interopRequireDefault(require("./generateObjectId"));
|
|
13
13
|
|
|
14
|
+
var _validateObjectId = _interopRequireDefault(require("./validateObjectId"));
|
|
15
|
+
|
|
14
16
|
var _PageLayoutModes = _interopRequireDefault(require("./constants/PageLayoutModes"));
|
|
15
17
|
|
|
16
18
|
var _FieldPresentationModes = _interopRequireDefault(require("./constants/FieldPresentationModes"));
|
|
@@ -34,7 +36,7 @@ var getDefaultJoyDocPage = function getDefaultJoyDocPage() {
|
|
|
34
36
|
height: 1056,
|
|
35
37
|
rowHeight: 8,
|
|
36
38
|
cols: 24,
|
|
37
|
-
|
|
39
|
+
fieldPositions: [],
|
|
38
40
|
layout: _PageLayoutModes["default"].grid,
|
|
39
41
|
presentation: _FieldPresentationModes["default"].normal
|
|
40
42
|
}, defaults);
|
|
@@ -81,14 +83,129 @@ var getDefaultJoyDoc = function getDefaultJoyDoc() {
|
|
|
81
83
|
_id: id,
|
|
82
84
|
identifier: "doc_".concat(id),
|
|
83
85
|
name: 'New Doc',
|
|
84
|
-
files: [getDefaultJoyDocFile(fileDefaults, pageDefaults)]
|
|
86
|
+
files: [getDefaultJoyDocFile(fileDefaults, pageDefaults)],
|
|
87
|
+
fields: []
|
|
85
88
|
}, defaults);
|
|
86
89
|
};
|
|
90
|
+
/**
|
|
91
|
+
* Get Clean JoyDoc Format
|
|
92
|
+
*
|
|
93
|
+
* Solves Issue: https://app.zenhub.com/workspaces/joyfill-platform-5f07262b507391001f56c7f9/issues/gh/zionlabs/issues/2105
|
|
94
|
+
*
|
|
95
|
+
* This selector ensures a couple of things:
|
|
96
|
+
* 1. Valid file inside the document.
|
|
97
|
+
* 2. Valid page inside document file.
|
|
98
|
+
* 3. All _id's (page, file, page, fieldPosition, field) are in a valid format
|
|
99
|
+
*
|
|
100
|
+
* @param {Object} doc
|
|
101
|
+
* @returns {Object}
|
|
102
|
+
*/
|
|
103
|
+
|
|
87
104
|
|
|
88
105
|
exports.getDefaultJoyDoc = getDefaultJoyDoc;
|
|
106
|
+
|
|
107
|
+
var getCleanedJoyDoc = function getCleanedJoyDoc(doc) {
|
|
108
|
+
if (!doc) return getDefaultJoyDoc();
|
|
109
|
+
|
|
110
|
+
var nextDoc = _objectSpread({}, doc);
|
|
111
|
+
/**
|
|
112
|
+
* Step 1.1: Replace doc._id if it is not valid
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
if (nextDoc._id && !(0, _validateObjectId["default"])(nextDoc._id)) nextDoc._id = (0, _generateObjectId["default"])();
|
|
117
|
+
|
|
118
|
+
if (nextDoc.files && nextDoc.files.length > 0) {
|
|
119
|
+
nextDoc.files = nextDoc.files.map(function (file) {
|
|
120
|
+
var _nextFile$views;
|
|
121
|
+
|
|
122
|
+
var nextFile = _objectSpread({}, file);
|
|
123
|
+
/**
|
|
124
|
+
* Step 1.2: Replace files[x]._id if it is not valid
|
|
125
|
+
*/
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
if (nextFile._id && !(0, _validateObjectId["default"])(nextFile._id)) nextFile._id = (0, _generateObjectId["default"])();
|
|
129
|
+
/**
|
|
130
|
+
* Step 1.3: Replace page ids and field ids if they are not valid
|
|
131
|
+
*/
|
|
132
|
+
|
|
133
|
+
nextFile.pages = getCleanedJoyDocPages(nextFile.pages);
|
|
134
|
+
/**
|
|
135
|
+
* Step 1.4: Replace view page ids and field ids if they are not valid
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
if ((nextFile === null || nextFile === void 0 ? void 0 : (_nextFile$views = nextFile.views) === null || _nextFile$views === void 0 ? void 0 : _nextFile$views.length) > 0) {
|
|
139
|
+
nextFile.views = nextFile.views.map(function (view) {
|
|
140
|
+
var nextView = _objectSpread({}, view);
|
|
141
|
+
|
|
142
|
+
nextView.pages = getCleanedJoyDocPages(nextView.pages);
|
|
143
|
+
return nextView;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return nextFile;
|
|
148
|
+
});
|
|
149
|
+
} else {
|
|
150
|
+
nextDoc.files = [getDefaultJoyDocFile()];
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return nextDoc;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Get Cleaned JoyDoc Pages
|
|
157
|
+
*
|
|
158
|
+
* Solves Issue: https://app.zenhub.com/workspaces/joyfill-platform-5f07262b507391001f56c7f9/issues/gh/zionlabs/issues/2105
|
|
159
|
+
*
|
|
160
|
+
* This selector ensures a couple of things:
|
|
161
|
+
* 1. Valid page inside document file.pages array.
|
|
162
|
+
* 2. All id's in pages and fieldPositions are valid format
|
|
163
|
+
*
|
|
164
|
+
* @param {Object} doc
|
|
165
|
+
* @returns {Object}
|
|
166
|
+
*/
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
exports.getCleanedJoyDoc = getCleanedJoyDoc;
|
|
170
|
+
|
|
171
|
+
var getCleanedJoyDocPages = function getCleanedJoyDocPages(pages) {
|
|
172
|
+
if ((pages === null || pages === void 0 ? void 0 : pages.length) > 0) {
|
|
173
|
+
return pages.map(function (page) {
|
|
174
|
+
/**
|
|
175
|
+
* Step 1: Replace pages[x]._id if it is not valid
|
|
176
|
+
*/
|
|
177
|
+
var nextPage = _objectSpread({}, page);
|
|
178
|
+
|
|
179
|
+
if (nextPage._id && !(0, _validateObjectId["default"])(nextPage._id)) nextPage._id = (0, _generateObjectId["default"])();
|
|
180
|
+
|
|
181
|
+
if (nextPage.fieldPositions && nextPage.fieldPositions.length > 0) {
|
|
182
|
+
nextPage.fieldPositions = nextPage.fieldPositions.map(function (fieldPosition) {
|
|
183
|
+
/**
|
|
184
|
+
* Step 1.2: Replace fieldPosition _id and field reference if they are not valid
|
|
185
|
+
*/
|
|
186
|
+
var nextFieldPosition = _objectSpread({}, fieldPosition);
|
|
187
|
+
|
|
188
|
+
if (nextFieldPosition._id && !(0, _validateObjectId["default"])(nextFieldPosition._id)) nextFieldPosition._id = (0, _generateObjectId["default"])();
|
|
189
|
+
if (nextFieldPosition.field && !(0, _validateObjectId["default"])(nextFieldPosition.field)) nextFieldPosition.field = (0, _generateObjectId["default"])();
|
|
190
|
+
return nextFieldPosition;
|
|
191
|
+
});
|
|
192
|
+
} else {
|
|
193
|
+
nextPage.fieldPositions = [];
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return nextPage;
|
|
197
|
+
});
|
|
198
|
+
} else {
|
|
199
|
+
return [getDefaultJoyDocPage()];
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
exports.getCleanedJoyDocPages = getCleanedJoyDocPages;
|
|
89
204
|
var _default = {
|
|
90
205
|
getDefaultJoyDocPage: getDefaultJoyDocPage,
|
|
91
206
|
getDefaultJoyDocFile: getDefaultJoyDocFile,
|
|
92
|
-
getDefaultJoyDoc: getDefaultJoyDoc
|
|
207
|
+
getDefaultJoyDoc: getDefaultJoyDoc,
|
|
208
|
+
getCleanedJoyDoc: getCleanedJoyDoc,
|
|
209
|
+
getCleanedJoyDocPages: getCleanedJoyDocPages
|
|
93
210
|
};
|
|
94
211
|
exports["default"] = _default;
|