dtable-utils
Version:
dtable common utils
227 lines (216 loc) • 13.9 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var cellType = require('./cell-type.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
var _COLUMNS_ICON_CONFIG, _SINGLE_CELL_VALUE_CO;
var COLUMNS_ICON_CONFIG = (_COLUMNS_ICON_CONFIG = {}, _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.DEFAULT, 'dtable-font dtable-icon-single-line-text'), cellType.CellType.TEXT, 'dtable-font dtable-icon-single-line-text'), cellType.CellType.STRING, 'dtable-font dtable-icon-single-line-text'), cellType.CellType.NUMBER, 'dtable-font dtable-icon-number'), cellType.CellType.CHECKBOX, 'dtable-font dtable-icon-check-square-solid'), cellType.CellType.DATE, 'dtable-font dtable-icon-calendar-alt-solid'), cellType.CellType.SINGLE_SELECT, 'dtable-font dtable-icon-single-election'), cellType.CellType.LONG_TEXT, 'dtable-font dtable-icon-long-text'), cellType.CellType.IMAGE, 'dtable-font dtable-icon-picture'), cellType.CellType.FILE, 'dtable-font dtable-icon-file-alt-solid'), _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.MULTIPLE_SELECT, 'dtable-font dtable-icon-multiple-selection'), cellType.CellType.COLLABORATOR, 'dtable-font dtable-icon-collaborator'), cellType.CellType.LINK, 'dtable-font dtable-icon-link-other-record'), cellType.CellType.FORMULA, 'dtable-font dtable-icon-formula'), cellType.CellType.LINK_FORMULA, 'dtable-font dtable-icon-link-formulas'), cellType.CellType.CREATOR, 'dtable-font dtable-icon-creator'), cellType.CellType.CTIME, 'dtable-font dtable-icon-creation-time'), cellType.CellType.LAST_MODIFIER, 'dtable-font dtable-icon-creator'), cellType.CellType.MTIME, 'dtable-font dtable-icon-creation-time'), cellType.CellType.GEOLOCATION, 'dtable-font dtable-icon-location'), _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.AUTO_NUMBER, 'dtable-font dtable-icon-autonumber'), cellType.CellType.URL, 'dtable-font dtable-icon-url'), cellType.CellType.EMAIL, 'dtable-font dtable-icon-email'), cellType.CellType.DURATION, 'dtable-font dtable-icon-duration'), cellType.CellType.BUTTON, 'dtable-font dtable-icon-button'), cellType.CellType.RATE, 'dtable-font dtable-icon-rate'), cellType.CellType.DIGITAL_SIGN, 'dtable-font dtable-icon-handwritten-signature'), cellType.CellType.DEPARTMENT_SINGLE_SELECT, 'dtable-font dtable-icon-department-single-selection'));
var COLUMN_OPTIONS = [{
iconName: 'Basic',
iconClass: '',
isDisabled: true
}, {
iconName: 'Text',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.TEXT],
type: cellType.CellType.TEXT
}, {
iconName: 'Long_Text',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.LONG_TEXT],
type: cellType.CellType.LONG_TEXT
}, {
iconName: 'Number',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.NUMBER],
type: cellType.CellType.NUMBER
}, {
iconName: 'Collaborator',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.COLLABORATOR],
type: cellType.CellType.COLLABORATOR
}, {
iconName: 'Date',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.DATE],
type: cellType.CellType.DATE
}, {
iconName: 'Duration',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.DURATION],
type: cellType.CellType.DURATION
}, {
iconName: 'Single_Select',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.SINGLE_SELECT],
type: cellType.CellType.SINGLE_SELECT
}, {
iconName: 'Multiple_Select',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.MULTIPLE_SELECT],
type: cellType.CellType.MULTIPLE_SELECT
}, {
iconName: 'Image',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.IMAGE],
type: cellType.CellType.IMAGE
}, {
iconName: 'File',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.FILE],
type: cellType.CellType.FILE
}, {
iconName: 'Email',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.EMAIL],
type: cellType.CellType.EMAIL
}, {
iconName: 'URL',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.URL],
type: cellType.CellType.URL
}, {
iconName: 'Checkbox',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.CHECKBOX],
type: cellType.CellType.CHECKBOX
}, {
iconName: 'Rating',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.RATE],
type: cellType.CellType.RATE
}, {
iconName: 'Advanced',
iconClass: '',
isDisabled: true
}, {
iconName: 'Formula',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.FORMULA],
type: cellType.CellType.FORMULA
}, {
iconName: 'Link_formula',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.LINK_FORMULA],
type: cellType.CellType.LINK_FORMULA
}, {
iconName: 'Geolocation',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.GEOLOCATION],
type: cellType.CellType.GEOLOCATION
}, {
iconName: 'Link_to_other_records',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.LINK],
type: cellType.CellType.LINK
}, {
iconName: 'Creator',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.CREATOR],
type: cellType.CellType.CREATOR
}, {
iconName: 'CTime',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.CTIME],
type: cellType.CellType.CTIME
}, {
iconName: 'Last_Modifier',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.LAST_MODIFIER],
type: cellType.CellType.LAST_MODIFIER
}, {
iconName: 'Last_Modified_Time',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.MTIME],
type: cellType.CellType.MTIME
}, {
iconName: 'Auto_number',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.AUTO_NUMBER],
type: cellType.CellType.AUTO_NUMBER
}, {
iconName: 'Button',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.BUTTON],
type: cellType.CellType.BUTTON
}, {
iconName: 'Digital_signature',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.DIGITAL_SIGN],
type: cellType.CellType.DIGITAL_SIGN
}, {
iconName: 'Department_single_select',
iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.DEPARTMENT_SINGLE_SELECT],
type: cellType.CellType.DEPARTMENT_SINGLE_SELECT
}];
var DATE_COLUMN_OPTIONS = [cellType.CellType.DATE, cellType.CellType.CTIME, cellType.CellType.MTIME];
var NUMERIC_COLUMNS_TYPES = [cellType.CellType.NUMBER, cellType.CellType.DURATION, cellType.CellType.RATE];
var COLLABORATOR_COLUMN_TYPES = [cellType.CellType.COLLABORATOR, cellType.CellType.CREATOR, cellType.CellType.LAST_MODIFIER];
var TEXT_DISPLAY_TYPE_MAP = {
PHONE: 'phone'
};
// date
var DEFAULT_DATE_FORMAT = 'YYYY-MM-DD';
var UTC_FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ss.SSSZ';
var DATE_UNIT = {
YEAR: 'year',
MONTH: 'month',
WEEK: 'week',
DAY: 'day',
HOUR: 'hour',
HOURS: 'hours',
MINUTE: 'minute',
MINUTES: 'minutes',
SECOND: 'second'
};
var DATE_FORMAT_MAP = {
YYYY_MM_DD: 'YYYY-MM-DD',
YYYY_MM_DD_HH_MM: 'YYYY-MM-DD HH:mm',
YYYY_MM_DD_HH_MM_SS: 'YYYY-MM-DD HH:mm:ss'
};
// duration
var DURATION_FORMATS_MAP = {
H_MM: 'h:mm',
H_MM_SS: 'h:mm:ss',
H_MM_SS_S: 'h:mm:ss.s',
H_MM_SS_SS: 'h:mm:ss.ss',
H_MM_SS_SSS: 'h:mm:ss.sss'
};
var DURATION_FORMATS = [{
name: DURATION_FORMATS_MAP.H_MM,
type: DURATION_FORMATS_MAP.H_MM
}, {
name: DURATION_FORMATS_MAP.H_MM_SS,
type: DURATION_FORMATS_MAP.H_MM_SS
}];
var DURATION_DECIMAL_DIGITS = _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"]({}, DURATION_FORMATS_MAP.H_MM, 0), DURATION_FORMATS_MAP.H_MM_SS, 0), DURATION_FORMATS_MAP.H_MM_SS_S, 1), DURATION_FORMATS_MAP.H_MM_SS_SS, 2), DURATION_FORMATS_MAP.H_MM_SS_SSS, 3);
var DURATION_ZERO_DISPLAY = _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"]({}, DURATION_FORMATS_MAP.H_MM, '0:00'), DURATION_FORMATS_MAP.H_MM_SS, '0:00'), DURATION_FORMATS_MAP.H_MM_SS_S, '0:00.0'), DURATION_FORMATS_MAP.H_MM_SS_SS, '0:00.00'), DURATION_FORMATS_MAP.H_MM_SS_SSS, '0:00.000');
// number
var DEFAULT_NUMBER_FORMAT = 'number';
var DEPARTMENT_SELECT_RANGE_MAP = {
CURRENT_USER_DEPARTMENT: 'current_user_department',
CURRENT_USER_DEPARTMENT_AND_SUB: 'current_user_department_and_sub',
SPECIFIC_DEPARTMENTS: 'specific_departments'
};
var DATE_DEFAULT_TYPES = {
SPECIFIC_DATE: 'specific_date',
CURRENT_DATE: 'current_date',
DAYS_BEFORE: 'days_before',
DAYS_AFTER: 'days_after'
};
var FILL_DEFAULT_VALUE_COLUMNS_TYPE = [cellType.CellType.TEXT, cellType.CellType.NUMBER, cellType.CellType.SINGLE_SELECT, cellType.CellType.RATE, cellType.CellType.CHECKBOX, cellType.CellType.LONG_TEXT, cellType.CellType.DATE, cellType.CellType.COLLABORATOR, cellType.CellType.DEPARTMENT_SINGLE_SELECT];
var NOT_SUPPORT_EDIT_COLUMN_TYPE = [cellType.CellType.CTIME, cellType.CellType.MTIME, cellType.CellType.CREATOR, cellType.CellType.LAST_MODIFIER, cellType.CellType.FORMULA, cellType.CellType.AUTO_NUMBER, cellType.CellType.BUTTON, cellType.CellType.LINK_FORMULA];
var NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP = _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"]({}, cellType.CellType.CTIME, true), cellType.CellType.MTIME, true), cellType.CellType.CREATOR, true), cellType.CellType.LAST_MODIFIER, true), cellType.CellType.FORMULA, true), cellType.CellType.AUTO_NUMBER, true), cellType.CellType.BUTTON, true), cellType.CellType.LINK_FORMULA, true);
var MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP = _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"]({}, cellType.CellType.MULTIPLE_SELECT, true), cellType.CellType.COLLABORATOR, true), cellType.CellType.LINK, true);
var SINGLE_CELL_VALUE_COLUMN_TYPE_MAP = (_SINGLE_CELL_VALUE_CO = {}, _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.TEXT, true), cellType.CellType.DATE, true), cellType.CellType.CTIME, true), cellType.CellType.MTIME, true), cellType.CellType.NUMBER, true), cellType.CellType.CHECKBOX, true), cellType.CellType.SINGLE_SELECT, true), cellType.CellType.CREATOR, true), cellType.CellType.GEOLOCATION, true), cellType.CellType.FORMULA, true), _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.LINK_FORMULA, true), cellType.CellType.URL, true), cellType.CellType.EMAIL, true), cellType.CellType.DURATION, true), cellType.CellType.RATE, true), cellType.CellType.LAST_MODIFIER, true), cellType.CellType.DIGITAL_SIGN, true), cellType.CellType.DEPARTMENT_SINGLE_SELECT, true));
// geolocation
var GEOLOCATION_FORMAT = {
LNG_LAT: 'lng_lat',
COUNTRY_REGION: 'country_region',
PROVINCE: 'province',
PROVINCE_CITY: 'province_city',
PROVINCE_CITY_DISTRICT: 'province_city_district',
GEOLOCATION: 'geolocation',
MAP_SELECTION: 'map_selection'
};
var DEFAULT_GEOLOCATION_FORMAT = GEOLOCATION_FORMAT.GEOLOCATION;
exports.COLLABORATOR_COLUMN_TYPES = COLLABORATOR_COLUMN_TYPES;
exports.COLUMNS_ICON_CONFIG = COLUMNS_ICON_CONFIG;
exports.COLUMN_OPTIONS = COLUMN_OPTIONS;
exports.DATE_COLUMN_OPTIONS = DATE_COLUMN_OPTIONS;
exports.DATE_DEFAULT_TYPES = DATE_DEFAULT_TYPES;
exports.DATE_FORMAT_MAP = DATE_FORMAT_MAP;
exports.DATE_UNIT = DATE_UNIT;
exports.DEFAULT_DATE_FORMAT = DEFAULT_DATE_FORMAT;
exports.DEFAULT_GEOLOCATION_FORMAT = DEFAULT_GEOLOCATION_FORMAT;
exports.DEFAULT_NUMBER_FORMAT = DEFAULT_NUMBER_FORMAT;
exports.DEPARTMENT_SELECT_RANGE_MAP = DEPARTMENT_SELECT_RANGE_MAP;
exports.DURATION_DECIMAL_DIGITS = DURATION_DECIMAL_DIGITS;
exports.DURATION_FORMATS = DURATION_FORMATS;
exports.DURATION_FORMATS_MAP = DURATION_FORMATS_MAP;
exports.DURATION_ZERO_DISPLAY = DURATION_ZERO_DISPLAY;
exports.FILL_DEFAULT_VALUE_COLUMNS_TYPE = FILL_DEFAULT_VALUE_COLUMNS_TYPE;
exports.GEOLOCATION_FORMAT = GEOLOCATION_FORMAT;
exports.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP = MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP;
exports.NOT_SUPPORT_EDIT_COLUMN_TYPE = NOT_SUPPORT_EDIT_COLUMN_TYPE;
exports.NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP = NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP;
exports.NUMERIC_COLUMNS_TYPES = NUMERIC_COLUMNS_TYPES;
exports.SINGLE_CELL_VALUE_COLUMN_TYPE_MAP = SINGLE_CELL_VALUE_COLUMN_TYPE_MAP;
exports.TEXT_DISPLAY_TYPE_MAP = TEXT_DISPLAY_TYPE_MAP;
exports.UTC_FORMAT_DEFAULT = UTC_FORMAT_DEFAULT;