@builttocreate/engine-utils 2.4.0-beta.0 → 2.4.0-beta.0.2
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/constants/FieldTypes.js +4 -1
- package/dist/fieldHelper.js +81 -4
- package/dist/joyDocHelper.js +3 -3
- package/package.json +1 -1
|
@@ -7,7 +7,8 @@ exports["default"] = void 0;
|
|
|
7
7
|
// Display Fields
|
|
8
8
|
var uniqueId = 'uniqueId';
|
|
9
9
|
var image = 'image';
|
|
10
|
-
var richText = 'richText';
|
|
10
|
+
var richText = 'richText';
|
|
11
|
+
var block = 'block'; // Data Fields
|
|
11
12
|
|
|
12
13
|
var text = 'text';
|
|
13
14
|
var textarea = 'textarea';
|
|
@@ -25,6 +26,7 @@ var chart = 'chart';
|
|
|
25
26
|
var types = {
|
|
26
27
|
uniqueId: uniqueId,
|
|
27
28
|
image: image,
|
|
29
|
+
block: block,
|
|
28
30
|
richText: richText,
|
|
29
31
|
text: text,
|
|
30
32
|
textarea: textarea,
|
|
@@ -44,6 +46,7 @@ types.all = Object.keys(types);
|
|
|
44
46
|
types.titles = {
|
|
45
47
|
uniqueId: 'Auto Number',
|
|
46
48
|
image: 'Image',
|
|
49
|
+
block: 'Display Text',
|
|
47
50
|
richText: 'Rich Text',
|
|
48
51
|
text: 'Short Text',
|
|
49
52
|
textarea: 'Long Text',
|
package/dist/fieldHelper.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.handleMultiSelectOptionToggle = exports.getTemplateWithLookups = exports.getMultiSelectFieldValue = exports.getImportFieldValues = exports.getDefaultOption = exports.getDefaultFieldValuesFromTemplate = exports.getChartFieldValue = exports["default"] = void 0;
|
|
8
|
+
exports.isTargetOptionDeleted = exports.isFieldEmpty = exports.handleMultiSelectOptionToggle = exports.getTemplateWithLookups = exports.getMultiSelectFieldValue = exports.getImportFieldValues = exports.getDefaultOption = exports.getDefaultFieldValuesFromTemplate = exports.getChartFieldValue = exports["default"] = void 0;
|
|
9
9
|
|
|
10
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
11
|
|
|
@@ -13,14 +13,18 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
13
13
|
|
|
14
14
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
15
|
|
|
16
|
-
var _FieldTypes = _interopRequireDefault(require("./constants/FieldTypes"));
|
|
17
|
-
|
|
18
16
|
var _chartHelper = require("./chartHelper");
|
|
19
17
|
|
|
20
18
|
var _tableHelper = require("./tableHelper");
|
|
21
19
|
|
|
22
20
|
var _generateObjectId = _interopRequireDefault(require("./generateObjectId"));
|
|
23
21
|
|
|
22
|
+
var _FieldTypes = _interopRequireDefault(require("./constants/FieldTypes"));
|
|
23
|
+
|
|
24
|
+
var _FieldDisplayTypes = _interopRequireDefault(require("./constants/FieldDisplayTypes"));
|
|
25
|
+
|
|
26
|
+
var _FieldTableColumnTypes = _interopRequireDefault(require("./constants/FieldTableColumnTypes"));
|
|
27
|
+
|
|
24
28
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
25
29
|
|
|
26
30
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -281,8 +285,79 @@ var getTemplateWithLookups = function getTemplateWithLookups(template) {
|
|
|
281
285
|
});
|
|
282
286
|
return nextTemplate;
|
|
283
287
|
};
|
|
288
|
+
/**
|
|
289
|
+
* This method checks if the field passed via input is empty by checking
|
|
290
|
+
* the field.value.
|
|
291
|
+
* @param {*} fieldProps
|
|
292
|
+
* @returns
|
|
293
|
+
*/
|
|
294
|
+
|
|
284
295
|
|
|
285
296
|
exports.getTemplateWithLookups = getTemplateWithLookups;
|
|
297
|
+
|
|
298
|
+
var isFieldEmpty = function isFieldEmpty(fieldType, fieldValue, fieldOptions, fieldDisplayType, fieldColumnType) {
|
|
299
|
+
var isEmpty = false;
|
|
300
|
+
if (fieldType === _FieldTypes["default"].block) return;
|
|
301
|
+
|
|
302
|
+
if (fieldType === _FieldTypes["default"].text && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length == 0)) {
|
|
303
|
+
isEmpty = true;
|
|
304
|
+
} else if (fieldType === _FieldTypes["default"].textarea && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length == 0)) {
|
|
305
|
+
isEmpty = true;
|
|
306
|
+
} else if (fieldType === _FieldTypes["default"].number && !fieldValue) {
|
|
307
|
+
isEmpty = true;
|
|
308
|
+
} else if (fieldType === _FieldTypes["default"].date && !fieldValue) {
|
|
309
|
+
isEmpty = true;
|
|
310
|
+
} else if (fieldType === _FieldTypes["default"].signature && !fieldValue) {
|
|
311
|
+
isEmpty = true;
|
|
312
|
+
} else if (fieldType === _FieldTypes["default"].dropdown && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
|
|
313
|
+
isEmpty = true;
|
|
314
|
+
} else if (fieldType === _FieldTypes["default"].multiSelect && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
|
|
315
|
+
isEmpty = true;
|
|
316
|
+
} else if (fieldType === _FieldTypes["default"].image && (!fieldValue || fieldValue && fieldValue.length === 0)) {
|
|
317
|
+
isEmpty = true;
|
|
318
|
+
} else if (fieldType === _FieldTypes["default"].chart && (!fieldValue || fieldValue && fieldValue.length === 0)) {
|
|
319
|
+
isEmpty = true;
|
|
320
|
+
} else if (fieldType === _FieldTypes["default"].table && fieldDisplayType === _FieldDisplayTypes["default"].original && (!fieldValue || fieldValue && fieldValue.filter(function (item) {
|
|
321
|
+
return !item.deleted;
|
|
322
|
+
}).length === 0)) {
|
|
323
|
+
isEmpty = true;
|
|
324
|
+
} else if (fieldType === _FieldTypes["default"].table && fieldDisplayType === _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].dropdown && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
|
|
325
|
+
isEmpty = true;
|
|
326
|
+
} else if (fieldType === _FieldTypes["default"].table && fieldDisplayType !== _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].dropdown && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
|
|
327
|
+
isEmpty = true;
|
|
328
|
+
} else if (fieldType === _FieldTypes["default"].table && fieldDisplayType === _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].text && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length == 0)) {
|
|
329
|
+
isEmpty = true;
|
|
330
|
+
} else if (fieldType === _FieldTypes["default"].table && fieldDisplayType === _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].image && (!fieldValue || fieldValue && fieldValue.length === 0)) {
|
|
331
|
+
isEmpty = true;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
return isEmpty;
|
|
335
|
+
};
|
|
336
|
+
/**
|
|
337
|
+
* This function checks whether an option associated with multiselect or dropdown
|
|
338
|
+
* field is deleted.
|
|
339
|
+
* @param {*} value // value
|
|
340
|
+
* @param {*} options
|
|
341
|
+
*/
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
exports.isFieldEmpty = isFieldEmpty;
|
|
345
|
+
|
|
346
|
+
var isTargetOptionDeleted = function isTargetOptionDeleted(value, options) {
|
|
347
|
+
var nextValue = Array.isArray(value) ? value : [value];
|
|
348
|
+
if (!nextValue || nextValue.length === 0) return true;
|
|
349
|
+
var optionsLookup = {};
|
|
350
|
+
options.forEach(function (option) {
|
|
351
|
+
optionsLookup[option._id] = option;
|
|
352
|
+
});
|
|
353
|
+
var undeletedOptions = value.filter(function (item) {
|
|
354
|
+
return optionsLookup[item] && !optionsLookup[item].deleted;
|
|
355
|
+
});
|
|
356
|
+
var result = undeletedOptions.length > 0 ? false : true;
|
|
357
|
+
return result;
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
exports.isTargetOptionDeleted = isTargetOptionDeleted;
|
|
286
361
|
var _default = {
|
|
287
362
|
getDefaultOption: getDefaultOption,
|
|
288
363
|
getChartFieldValue: getChartFieldValue,
|
|
@@ -290,6 +365,8 @@ var _default = {
|
|
|
290
365
|
handleMultiSelectOptionToggle: handleMultiSelectOptionToggle,
|
|
291
366
|
getDefaultFieldValuesFromTemplate: getDefaultFieldValuesFromTemplate,
|
|
292
367
|
getImportFieldValues: getImportFieldValues,
|
|
293
|
-
getTemplateWithLookups: getTemplateWithLookups
|
|
368
|
+
getTemplateWithLookups: getTemplateWithLookups,
|
|
369
|
+
isFieldEmpty: isFieldEmpty,
|
|
370
|
+
isTargetOptionDeleted: isTargetOptionDeleted
|
|
294
371
|
};
|
|
295
372
|
exports["default"] = _default;
|
package/dist/joyDocHelper.js
CHANGED
|
@@ -394,7 +394,7 @@ var duplicateDocumentPage = function duplicateDocumentPage(doc, fileId, pageId)
|
|
|
394
394
|
if (field.file === fileId) fieldLookup[field._id] = field;
|
|
395
395
|
});
|
|
396
396
|
/**
|
|
397
|
-
* Step 1: Duplicate fields associated with target page
|
|
397
|
+
* Step 1: Duplicate fields associated with target page
|
|
398
398
|
*/
|
|
399
399
|
|
|
400
400
|
var fieldIdsToDuplicate = []; //Step 1.1 Get all field Ids from primary page
|
|
@@ -428,8 +428,8 @@ var duplicateDocumentPage = function duplicateDocumentPage(doc, fileId, pageId)
|
|
|
428
428
|
*
|
|
429
429
|
* That is because multiple field positions can be associated with the same
|
|
430
430
|
* field. If a field has already been created by a previous field position
|
|
431
|
-
* that is linked to the same field as the current target then do not create
|
|
432
|
-
* again.
|
|
431
|
+
* that is linked to the same field as the current target then do not create
|
|
432
|
+
* again.
|
|
433
433
|
*/
|
|
434
434
|
if (newFieldsLookupByOldId[fieldId]) return;
|
|
435
435
|
var field = fieldLookup[fieldId];
|