UNPKG

cspace-ui

Version:
149 lines (148 loc) 6.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.thumbnailImage = exports.smallImage = exports.originalJpegImage = exports.originalImage = exports.mediumImage = exports.formatWorkflowStateIcon = exports.formatTimestamp = exports.formatSourceField = exports.formatServiceObjectName = exports.formatRefNameAsVocabularyName = exports.formatRefNameAsRecordType = exports.formatRefName = exports.formatRecordTypeSourceField = exports.formatOption = exports.formatForeignSourceField = exports.formatExtensionFieldName = exports.formatDate = exports.derivativeImage = void 0; var _react = _interopRequireDefault(require("react")); var _get = _interopRequireDefault(require("lodash/get")); var _cspaceRefname = require("cspace-refname"); var _BlobImage = _interopRequireDefault(require("../components/media/BlobImage")); var _WorkflowStateIcon = _interopRequireDefault(require("../components/record/WorkflowStateIcon")); var _derivativeNames = require("../constants/derivativeNames"); var _configHelpers = require("./configHelpers"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const formatTimestamp = (timestamp, { intl }) => intl.formatDate(timestamp, { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric' // timeZoneName: 'short', }); exports.formatTimestamp = formatTimestamp; const formatDate = date => { if (!date) { return null; } const index = date.indexOf('T'); if (index >= 0) { return date.substring(0, index); } return date; }; exports.formatDate = formatDate; const formatServiceObjectName = (serviceObjectName, { intl, config }) => { const recordTypeConfig = (0, _configHelpers.getRecordTypeConfigByServiceObjectName)(config, serviceObjectName); if (recordTypeConfig) { return intl.formatMessage(recordTypeConfig.messages.record.name); } return `[ ${serviceObjectName.toLowerCase()} ]`; }; exports.formatServiceObjectName = formatServiceObjectName; const formatRefName = refName => (0, _cspaceRefname.getDisplayName)(refName); exports.formatRefName = formatRefName; const formatRefNameAsRecordType = (refName, { intl, config }) => { const recordServicePath = (0, _cspaceRefname.getServicePath)(refName); const recordTypeConfig = (0, _configHelpers.getRecordTypeConfigByServicePath)(config, recordServicePath); if (recordTypeConfig) { return intl.formatMessage(recordTypeConfig.messages.record.name); } return `[ ${recordServicePath.toLowerCase()} ]`; }; exports.formatRefNameAsRecordType = formatRefNameAsRecordType; const formatRefNameAsVocabularyName = (refName, { intl, config }) => { const recordServicePath = (0, _cspaceRefname.getServicePath)(refName); const recordTypeConfig = (0, _configHelpers.getRecordTypeConfigByServicePath)(config, recordServicePath); if (recordTypeConfig) { const vocabularyShortID = (0, _cspaceRefname.getVocabularyShortID)(refName); const vocabularyConfig = (0, _configHelpers.getVocabularyConfigByShortID)(recordTypeConfig, vocabularyShortID); if (vocabularyConfig) { return intl.formatMessage(vocabularyConfig.messages.name); } const fallback = vocabularyShortID ? vocabularyShortID.toLowerCase() : ''; return `[ ${fallback} ]`; } return `[ ${recordServicePath.toLowerCase()} ]`; }; exports.formatRefNameAsVocabularyName = formatRefNameAsVocabularyName; const formatRecordTypeSourceField = (recordType, sourceField, { intl, config }) => { const recordTypeConfig = config.recordTypes[recordType]; const [partName, fieldName] = sourceField.split(':'); const fieldConfig = (0, _configHelpers.findFieldConfigInPart)(recordTypeConfig, partName, fieldName); let message; if (fieldConfig) { const { messages } = fieldConfig; if (messages) { message = messages.fullName || messages.name; } } return message ? intl.formatMessage(message) : `[ ${fieldName} ]`; }; exports.formatRecordTypeSourceField = formatRecordTypeSourceField; const formatSourceField = (sourceField, formatterContext) => formatRecordTypeSourceField(formatterContext.recordType, sourceField, formatterContext); exports.formatSourceField = formatSourceField; const formatForeignSourceField = (sourceField, formatterContext) => { const { config, rowData } = formatterContext; const serviceObjectName = rowData.get('docType'); const recordTypeConfig = (0, _configHelpers.getRecordTypeConfigByServiceObjectName)(config, serviceObjectName); const recordType = recordTypeConfig ? recordTypeConfig.name : null; return formatRecordTypeSourceField(recordType, sourceField, formatterContext); }; exports.formatForeignSourceField = formatForeignSourceField; const formatWorkflowStateIcon = workflowState => /*#__PURE__*/_react.default.createElement(_WorkflowStateIcon.default, { value: workflowState }); exports.formatWorkflowStateIcon = formatWorkflowStateIcon; const formatOption = (optionListName, value, { intl, config }) => { const message = (0, _get.default)(config, ['optionLists', optionListName, 'messages', value]); return message ? intl.formatMessage(message) : value; }; exports.formatOption = formatOption; const formatExtensionFieldName = (intl, fieldConfig, messageName = 'fullName') => { const extensionParentConfig = (0, _get.default)(fieldConfig, 'extensionParentConfig'); const formattedParentName = extensionParentConfig ? formatExtensionFieldName(intl, extensionParentConfig, messageName) : null; const messages = (0, _get.default)(fieldConfig, 'messages'); let formattedName; if (messages) { formattedName = intl.formatMessage(messages[messageName] || messages.fullName || messages.name); } return [formattedParentName, formattedName].filter(part => !!part).join(' - '); }; exports.formatExtensionFieldName = formatExtensionFieldName; const derivativeImage = (blobCsid, derivative) => blobCsid ? /*#__PURE__*/_react.default.createElement(_BlobImage.default, { csid: blobCsid, derivative: derivative }) : null; exports.derivativeImage = derivativeImage; const thumbnailImage = blobCsid => derivativeImage(blobCsid, _derivativeNames.DERIVATIVE_THUMBNAIL); exports.thumbnailImage = thumbnailImage; const smallImage = blobCsid => derivativeImage(blobCsid, _derivativeNames.DERIVATIVE_SMALL); exports.smallImage = smallImage; const mediumImage = blobCsid => derivativeImage(blobCsid, _derivativeNames.DERIVATIVE_MEDIUM); exports.mediumImage = mediumImage; const originalJpegImage = blobCsid => derivativeImage(blobCsid, _derivativeNames.DERIVATIVE_ORIGINAL_JPEG); exports.originalJpegImage = originalJpegImage; const originalImage = blobCsid => derivativeImage(blobCsid, _derivativeNames.DERIVATIVE_ORIGINAL); exports.originalImage = originalImage;