@scaleflex/widget-utils 4.4.0 → 4.5.1
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/CHANGELOG.md +16 -0
- package/lib/AbortController.js +20 -0
- package/lib/BlurHash/base83.js +10 -0
- package/lib/BlurHash/decode.js +80 -0
- package/lib/BlurHash/error.js +28 -0
- package/lib/BlurHash/utils.js +22 -0
- package/lib/CustomDate.js +157 -0
- package/lib/EventTracker.js +42 -0
- package/lib/FOCUSABLE_ELEMENTS.js +1 -0
- package/lib/LinkHelper.js +153 -0
- package/lib/NetworkError.js +30 -0
- package/lib/ProgressTimeout.js +45 -0
- package/lib/RateLimitedQueue.js +197 -0
- package/lib/RequestError.js +36 -0
- package/lib/Timeframes/getDateRange.js +45 -0
- package/lib/TranslationMissingKeysConsoleHelper.js +113 -0
- package/lib/Translator.js +200 -0
- package/lib/addUrlParams.js +27 -0
- package/lib/adjustUpdatedFolders.js +22 -0
- package/lib/asyncTimeout.js +6 -0
- package/lib/audioMimeTypes.js +3 -0
- package/lib/blobToDataURI.js +13 -0
- package/lib/callIfFunction.js +10 -0
- package/lib/canEditVideo.js +9 -0
- package/lib/canvasToBlob.js +18 -0
- package/lib/capitalizeFirstLetter.js +4 -0
- package/lib/checkConnection.js +4 -0
- package/lib/checkFileOrFolderNameValidation.js +4 -0
- package/lib/checkIfPngSvgGIF.js +3 -0
- package/lib/checkImageIfPngJpegOrWebpOrAvif.js +5 -0
- package/lib/checkItemsSupportExportWithReason.js +41 -0
- package/lib/checkPermissions.js +26 -0
- package/lib/cloudimageSupportedInputMimeTypes.js +2 -0
- package/lib/clsx.js +14 -0
- package/lib/constants.js +572 -0
- package/lib/convertBytesToMb.js +5 -0
- package/lib/convertGbToBytes.js +4 -0
- package/lib/convertVideoFileTypeToSupported.js +17 -0
- package/lib/copyText.js +25 -0
- package/lib/createFolderVirtualPath.js +14 -0
- package/lib/createThunk.js +349 -0
- package/lib/customEncodeURIComponent.js +47 -0
- package/lib/dataURItoBlob.js +33 -0
- package/lib/dataURItoFile.js +4 -0
- package/lib/dateStrToClearDateTime.js +20 -0
- package/lib/debounce.js +14 -0
- package/lib/deepEqual.js +23 -0
- package/lib/deepMerge.js +56 -0
- package/lib/deserializeFunction.js +5 -0
- package/lib/documentMimeTypes.js +2 -0
- package/lib/downloadFromBlob.js +16 -0
- package/lib/emitSocketProgress.js +18 -0
- package/lib/escapeRegExp.js +4 -0
- package/lib/extractFileDataNoBlob.js +12 -0
- package/lib/fetchWithNetworkError.js +14 -0
- package/lib/fieldsQueriesGetters.js +46 -0
- package/lib/findAllDOMElements.js +18 -0
- package/lib/findAllRegexMatchesInString.js +16 -0
- package/lib/findDOMElement.js +17 -0
- package/lib/findIndex.js +9 -0
- package/lib/formatDuration.js +22 -0
- package/lib/formatNumbers.js +32 -0
- package/lib/formatResolution.js +17 -0
- package/lib/formatSeconds.js +14 -0
- package/lib/generateFileId.js +53 -0
- package/lib/generateI18nKeyFromString.js +11 -0
- package/lib/generatePsdThumbnail/adaptHexBoundries.js +9 -0
- package/lib/generatePsdThumbnail/bufferToHex.js +12 -0
- package/lib/generatePsdThumbnail/generatePsdThumbnail.js +36 -0
- package/lib/generatePsdThumbnail/generatePsdThumbnailBytes.js +8 -0
- package/lib/generatePsdThumbnail/generatePsdThumbnailHex.js +4 -0
- package/lib/generateSelectInputPlaceholder.js +24 -0
- package/lib/getActionErrorState.js +17 -0
- package/lib/getArraysMutualObjects.js +12 -0
- package/lib/getBytesRemaining.js +9 -0
- package/lib/getClientTimezone.js +5 -0
- package/lib/getCloudimagePrefixedUrl.js +23 -0
- package/lib/getDateDaysFromNow.js +17 -0
- package/lib/getDateMinusDay.js +5 -0
- package/lib/getDateString.js +20 -0
- package/lib/getDaysLeft.js +9 -0
- package/lib/getDecodedUriComponent.js +10 -0
- package/lib/getDownloadSpeed.js +7 -0
- package/lib/getDroppedFiles/index.js +24 -0
- package/lib/getDroppedFiles/utils/fallbackApi.js +7 -0
- package/lib/getDroppedFiles/utils/webkitGetAsEntryApi/getFilesAndDirectoriesFromDirectory.js +36 -0
- package/lib/getDroppedFiles/utils/webkitGetAsEntryApi/getRelativePath.js +16 -0
- package/lib/getDroppedFiles/utils/webkitGetAsEntryApi/index.js +57 -0
- package/lib/getEncodedWrappedUrl.js +7 -0
- package/lib/getFileAssetsTokenUrl.js +14 -0
- package/lib/getFileCdnLink.js +6 -0
- package/lib/getFileDefaultIcon.js +14 -0
- package/lib/getFileDetails.js +81 -0
- package/lib/getFileExtension.js +32 -0
- package/lib/getFileLink.js +17 -0
- package/lib/getFileNameAndExtension.js +22 -0
- package/lib/getFileType.js +23 -0
- package/lib/getFileTypeExtension.js +22 -0
- package/lib/getFilterFileFormatIcon.js +6 -0
- package/lib/getFolderDetails.js +30 -0
- package/lib/getFormattedPreviewUrl.js +79 -0
- package/lib/getHoursAndMinutes.js +9 -0
- package/lib/getImageEditUrl.js +36 -0
- package/lib/getImgFileDimensions.js +25 -0
- package/lib/getItemIcon.js +112 -0
- package/lib/getItemPath.js +10 -0
- package/lib/getItemPreviewWidthHeight.js +10 -0
- package/lib/getItemsSizeInBytes.js +12 -0
- package/lib/getJsonParsedValue.js +11 -0
- package/lib/getLinkWithNewParams.js +13 -0
- package/lib/getMetadataMultiSelectQuery.js +66 -0
- package/lib/getNormalizedItems.js +55 -0
- package/lib/getObjectsMutualProperties.js +32 -0
- package/lib/getRandomNumber.js +12 -0
- package/lib/getSocketHost.js +7 -0
- package/lib/getSpeed.js +8 -0
- package/lib/getTime.js +18 -0
- package/lib/getTimeStamp.js +18 -0
- package/lib/handleError.js +13 -0
- package/lib/handlePressEnter.js +9 -0
- package/lib/handlePromise.js +39 -0
- package/lib/hasProperty.js +3 -0
- package/lib/hexToRgb.js +15 -0
- package/lib/htmlSanitizer.js +6 -0
- package/lib/humanReadableDate.js +45 -0
- package/lib/humanReadableDateWithTranslations.js +29 -0
- package/lib/i18n.client.js +54 -0
- package/lib/ignoreEvent.js +10 -0
- package/lib/index.js +0 -0
- package/lib/injectVirtualPathToFolders.js +24 -0
- package/lib/isAi.js +7 -0
- package/lib/isArchive.js +12 -0
- package/lib/isAudio.js +9 -0
- package/lib/isAudioAndSupportsPlayback.js +10 -0
- package/lib/isCloudimageFastPreviewSupported.js +16 -0
- package/lib/isDOMElement.js +9 -0
- package/lib/isDocument.js +10 -0
- package/lib/isDragDropSupported.js +20 -0
- package/lib/isEmptyObject.js +4 -0
- package/lib/isEps.js +8 -0
- package/lib/isFile.js +5 -0
- package/lib/isFileSupportedByCloudimage.js +14 -0
- package/lib/isFolder.js +4 -0
- package/lib/isFontFile.js +9 -0
- package/lib/isFunction.js +4 -0
- package/lib/isImage.js +11 -0
- package/lib/isJpg.js +8 -0
- package/lib/isMobileDevice.js +12 -0
- package/lib/isNetworkError.js +7 -0
- package/lib/isNumber.js +4 -0
- package/lib/isObjectType.js +5 -0
- package/lib/isObjectURL.js +10 -0
- package/lib/isOpenedFromAdobe.js +3 -0
- package/lib/isOtf.js +10 -0
- package/lib/isPdf.js +9 -0
- package/lib/isPhotoshopFile.js +8 -0
- package/lib/isPreviewSupported.js +12 -0
- package/lib/isPromise.js +5 -0
- package/lib/metadata/checkFieldValidation.js +51 -0
- package/lib/metadata/generateItemMetadataState.js +63 -0
- package/lib/metadata/generateMetadataDefaultState.js +30 -0
- package/lib/metadata/getFileCustomMetadataGroups.js +23 -0
- package/lib/metadata/getGeoPointValidationErrors.js +32 -0
- package/lib/metadata/getMetaAttachmentFields.js +9 -0
- package/lib/metadata/getMetadataEmptyAssets.js +28 -0
- package/lib/metadata/getMetadataFieldGeoPointValue.js +42 -0
- package/lib/metadata/getMetadataFieldVariantValue.js +31 -0
- package/lib/metadata/getMetadataGroups.js +16 -0
- package/lib/metadata/getRequiredMetadataFields.js +13 -0
- package/lib/metadata/isM0LegacyMetaVersion.js +5 -0
- package/lib/metadata/isM1EdgyMetaVersion.js +5 -0
- package/lib/metadata/mapMetaAttachmentsObjsToUuids.js +21 -0
- package/lib/metadata/updateValidationErrors.js +59 -0
- package/lib/metadata/validateItemMetadata.js +70 -0
- package/lib/styledComponentsMixins/truncate.mixin.js +8 -0
- package/package.json +3 -3
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import checkFieldValidation from './checkFieldValidation';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @param {object} errors
|
|
5
|
+
* @param {string} key
|
|
6
|
+
* @param {string} [regionalVariantFieldKey]
|
|
7
|
+
* @param {any} fieldValue
|
|
8
|
+
* @param {regexp} [fieldValidation]
|
|
9
|
+
* @param {boolean} [isFieldRequired]
|
|
10
|
+
* @param {(boolean|string[])} [canEdit=true]
|
|
11
|
+
*/
|
|
12
|
+
function updateValidationErrors(_ref) {
|
|
13
|
+
var errors = _ref.errors,
|
|
14
|
+
key = _ref.key,
|
|
15
|
+
regionalVariantFieldKey = _ref.regionalVariantFieldKey,
|
|
16
|
+
fieldValue = _ref.fieldValue,
|
|
17
|
+
fieldValidation = _ref.fieldValidation,
|
|
18
|
+
isFieldRequired = _ref.isFieldRequired,
|
|
19
|
+
_ref$canEdit = _ref.canEdit,
|
|
20
|
+
canEdit = _ref$canEdit === void 0 ? true : _ref$canEdit,
|
|
21
|
+
i18n = _ref.i18n,
|
|
22
|
+
fieldType = _ref.fieldType;
|
|
23
|
+
var errorsClone = JSON.parse(JSON.stringify(errors || {}));
|
|
24
|
+
var editable = canEdit === true || regionalVariantFieldKey && Array.isArray(canEdit) && canEdit.indexOf(regionalVariantFieldKey) > -1;
|
|
25
|
+
var isValid = checkFieldValidation({
|
|
26
|
+
fieldValue: fieldValue,
|
|
27
|
+
fieldValidation: fieldValidation,
|
|
28
|
+
isFieldRequired: isFieldRequired,
|
|
29
|
+
editable: editable,
|
|
30
|
+
i18n: i18n,
|
|
31
|
+
fieldType: fieldType
|
|
32
|
+
});
|
|
33
|
+
if (isValid === true) {
|
|
34
|
+
// Valid, remove error
|
|
35
|
+
if (regionalVariantFieldKey) {
|
|
36
|
+
if (errorsClone[key] && Object.prototype.hasOwnProperty.call(errorsClone[key], regionalVariantFieldKey)) {
|
|
37
|
+
delete errorsClone[key][regionalVariantFieldKey];
|
|
38
|
+
if (!Object.keys(errorsClone[key]).length) {
|
|
39
|
+
// Object empty, need to remove
|
|
40
|
+
delete errorsClone[key];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
} else {
|
|
44
|
+
if (Object.prototype.hasOwnProperty.call(errorsClone, key)) {
|
|
45
|
+
delete errorsClone[key];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
// Not valid, add error
|
|
50
|
+
if (regionalVariantFieldKey) {
|
|
51
|
+
errorsClone[key] = errorsClone[key] || {};
|
|
52
|
+
errorsClone[key][regionalVariantFieldKey] = isValid || true;
|
|
53
|
+
} else {
|
|
54
|
+
errorsClone[key] = isValid || true;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return errorsClone;
|
|
58
|
+
}
|
|
59
|
+
export default updateValidationErrors;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import getMetadataGroups from './getMetadataGroups';
|
|
8
|
+
import updateValidationErrors from './updateValidationErrors';
|
|
9
|
+
import { METADATA_MODEL_TYPE_IDS } from '../constants';
|
|
10
|
+
import { checkFileOrFolderNameValidation } from '../checkFileOrFolderNameValidation';
|
|
11
|
+
var validateItemMetadata = function validateItemMetadata(_ref) {
|
|
12
|
+
var metadata = _ref.metadata,
|
|
13
|
+
itemMeta = _ref.itemMeta,
|
|
14
|
+
itemMetadataErrors = _ref.itemMetadataErrors,
|
|
15
|
+
i18n = _ref.i18n,
|
|
16
|
+
fileName = _ref.fileName;
|
|
17
|
+
var model = metadata.model,
|
|
18
|
+
regionalGroups = metadata.regionalGroups,
|
|
19
|
+
_metadata$modelType = metadata.modelType,
|
|
20
|
+
modelType = _metadata$modelType === void 0 ? METADATA_MODEL_TYPE_IDS.FILES : _metadata$modelType;
|
|
21
|
+
var metaDataGroups = getMetadataGroups(model, modelType);
|
|
22
|
+
var errors = _objectSpread({}, itemMetadataErrors || {});
|
|
23
|
+
(metaDataGroups || []).forEach(function (group) {
|
|
24
|
+
(group.fields || []).forEach(function (fieldItem) {
|
|
25
|
+
var _regionalGroups$find;
|
|
26
|
+
var fieldRegionalVariants = regionalGroups === null || regionalGroups === void 0 ? void 0 : (_regionalGroups$find = regionalGroups.find(function (group) {
|
|
27
|
+
return group.uuid === (fieldItem === null || fieldItem === void 0 ? void 0 : fieldItem.regional_variants_group_uuid);
|
|
28
|
+
})) === null || _regionalGroups$find === void 0 ? void 0 : _regionalGroups$find.variants;
|
|
29
|
+
var commonProps = {
|
|
30
|
+
errors: errors,
|
|
31
|
+
key: fieldItem.key,
|
|
32
|
+
fieldValidation: fieldItem.validation,
|
|
33
|
+
canEdit: fieldItem.can_edit,
|
|
34
|
+
i18n: i18n
|
|
35
|
+
};
|
|
36
|
+
if (fieldRegionalVariants && Array.isArray(fieldRegionalVariants)) {
|
|
37
|
+
fieldRegionalVariants.forEach(function (_ref2, index) {
|
|
38
|
+
var _itemMeta$fieldItem$k;
|
|
39
|
+
var regionalVariantKey = _ref2.api_value;
|
|
40
|
+
// When field is required and has reg variants, for example ["en", "fr", "de"] we should check only first variant "en" and skip "fr" and "de"
|
|
41
|
+
var shouldCheckIsRequired = index === 0;
|
|
42
|
+
errors = updateValidationErrors(_objectSpread(_objectSpread({}, commonProps), {}, {
|
|
43
|
+
regionalVariantFieldKey: regionalVariantKey,
|
|
44
|
+
fieldValue: itemMeta === null || itemMeta === void 0 ? void 0 : (_itemMeta$fieldItem$k = itemMeta[fieldItem.key]) === null || _itemMeta$fieldItem$k === void 0 ? void 0 : _itemMeta$fieldItem$k[regionalVariantKey],
|
|
45
|
+
isFieldRequired: shouldCheckIsRequired ? fieldItem.required : false
|
|
46
|
+
}));
|
|
47
|
+
});
|
|
48
|
+
} else {
|
|
49
|
+
errors = updateValidationErrors(_objectSpread(_objectSpread({}, commonProps), {}, {
|
|
50
|
+
fieldValue: itemMeta === null || itemMeta === void 0 ? void 0 : itemMeta[fieldItem.key],
|
|
51
|
+
isFieldRequired: fieldItem.required,
|
|
52
|
+
fieldType: fieldItem.type
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
var allErrors = errors;
|
|
58
|
+
if (fileName) {
|
|
59
|
+
if (checkFileOrFolderNameValidation(fileName)) {
|
|
60
|
+
allErrors = _objectSpread({
|
|
61
|
+
name: i18n('explorerFileRenameInvalidNameDesc')
|
|
62
|
+
}, allErrors);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
isValid: Object.keys(errors).length === 0,
|
|
67
|
+
errors: allErrors
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
export default validateItemMetadata;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var _templateObject;
|
|
2
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
3
|
+
import { css } from 'styled-components';
|
|
4
|
+
var truncateMixin = function truncateMixin() {
|
|
5
|
+
var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '100%';
|
|
6
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n ", "\n"])), typeof width === 'string' && width ? "width: ".concat(width, ";") : '');
|
|
7
|
+
};
|
|
8
|
+
export default truncateMixin;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Shared utility functions for filerobot modules",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"types": "types/index.d.ts",
|
|
6
|
-
"version": "4.
|
|
6
|
+
"version": "4.5.1",
|
|
7
7
|
"files": [
|
|
8
8
|
"/dist",
|
|
9
9
|
"/lib",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@scaleflex/icons": "^3.0.0-beta.11",
|
|
18
18
|
"@scaleflex/ui": "^3.0.0-beta.11",
|
|
19
|
-
"@scaleflex/widget-icons": "^4.
|
|
19
|
+
"@scaleflex/widget-icons": "^4.5.1",
|
|
20
20
|
"abortcontroller-polyfill": "^1.4.0",
|
|
21
21
|
"dompurify": "^3.1.6",
|
|
22
22
|
"lodash.throttle": "^4.1.1"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "b211f9961ad30d3eaa01138f34e190ad5d38fb91"
|
|
25
25
|
}
|