UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

300 lines (245 loc) 8.78 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getConfig = getConfig; exports.getPrefixCls = getPrefixCls; exports.getProPrefixCls = getProPrefixCls; exports.getCustomizable = getCustomizable; exports["default"] = configure; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _mobx = require("mobx"); var _react = _interopRequireDefault(require("react")); var _noop = _interopRequireDefault(require("lodash/noop")); var _isObject = _interopRequireDefault(require("lodash/isObject")); var _isBoolean = _interopRequireDefault(require("lodash/isBoolean")); var _choerodonUiFont = require("choerodon-ui-font"); var _enum = require("../../pro/lib/data-set/enum"); var _localeContext = require("../../pro/lib/locale-context"); var _enum2 = require("../../pro/lib/table/enum"); var _FeedBack = _interopRequireDefault(require("../../pro/lib/data-set/FeedBack")); var _enum3 = require("../../pro/lib/form/enum"); var _enum4 = require("../../pro/lib/button/enum"); var _utils = require("../../pro/lib/form/utils"); var _enum5 = require("../trigger/enum"); var _enum6 = require("../_util/enum"); var _popover = _interopRequireDefault(require("../popover")); var _defaultStatus; function isCustomizable(target) { return (0, _isObject["default"])(target); } var defaultTooltipTheme = function defaultTooltipTheme(target) { return target === 'validation' ? 'light' : 'dark'; }; var defaultRenderEmpty = function defaultRenderEmpty(componentName) { switch (componentName) { case 'Attachment': return (0, _localeContext.$l)('Attachment', 'no_attachments'); case 'Table': return (0, _localeContext.$l)('Table', 'empty_data'); case 'Select': return (0, _localeContext.$l)('Select', 'no_matching_results'); case 'Output': return ''; default: } }; var defaultFormFieldHighlightRenderer = function defaultFormFieldHighlightRenderer(_ref, element) { var content = _ref.content, hidden = _ref.hidden, rest = (0, _objectWithoutProperties2["default"])(_ref, ["content", "hidden"]); return content ? _react["default"].createElement(_popover["default"], (0, _extends2["default"])({}, hidden ? (0, _objectSpread2["default"])({}, rest, { visible: false }) : rest, { content: content }), element) : element; }; var defaultButtonProps = { color: _enum4.ButtonColor.primary, funcType: _enum4.FuncType.flat }; var defaultSpinProps = { size: _enum6.Size["default"], wrapperClassName: '' }; var defaultTableColumnAlign = function defaultTableColumnAlign(_column, field) { if (field) { var type = field.type; switch (type) { case _enum.FieldType.number: case _enum.FieldType.currency: return _enum2.ColumnAlign.right; case _enum.FieldType["boolean"]: return _enum2.ColumnAlign.center; default: } } }; function getComponentKey(component) { switch (component) { case 'Tabs': return 'tabs'; default: return 'table'; } } var defaultLookupCache = { maxAge: 1000 * 60 * 10, max: 100 }; var defaultStatus = (_defaultStatus = {}, (0, _defineProperty2["default"])(_defaultStatus, _enum.RecordStatus.add, 'add'), (0, _defineProperty2["default"])(_defaultStatus, _enum.RecordStatus.update, 'update'), (0, _defineProperty2["default"])(_defaultStatus, _enum.RecordStatus["delete"], 'delete'), _defaultStatus); var defaultCustomizedSave = function defaultCustomizedSave(code, customized, component) { return localStorage.setItem("".concat(getComponentKey(component), ".customized.").concat(code), JSON.stringify(customized)); }; var defaultCustomizedLoad = function defaultCustomizedLoad(code, component) { return Promise.resolve(JSON.parse(localStorage.getItem("".concat(getComponentKey(component), ".customized.").concat(code)) || 'null')); }; var defaultFormatter = { jsonDate: 'YYYY-MM-DD HH:mm:ss', date: 'YYYY-MM-DD', dateTime: 'YYYY-MM-DD HH:mm:ss', time: 'HH:mm:ss', year: 'YYYY', month: 'YYYY-MM', week: 'GGGG-Wo' }; var defaultAttachment = { defaultFileKey: 'file', defaultFileSize: 0 }; var defaultConfig = { prefixCls: 'c7n', proPrefixCls: 'c7n-pro', iconfontPrefix: 'icon', ripple: true, collapseExpandIconPosition: 'left', collapseTrigger: 'header', lookupCache: defaultLookupCache, lookupUrl: function lookupUrl(code) { return "/common/code/".concat(code, "/"); }, lookupAxiosMethod: 'post', // lookupBatchAxiosConfig: // codes => ({ // url: '/common/batch', // params: codes.reduce((obj, code) => { // obj[code] = code; // return obj; // }, {}), // }), lovDefineUrl: function lovDefineUrl(code) { return "/sys/lov/lov_define?code=".concat(code); }, lovQueryUrl: function lovQueryUrl(code) { return "/common/lov/dataset/".concat(code); }, lovTableProps: {}, lovModalProps: {}, lovAutoSelectSingle: false, dataKey: 'rows', totalKey: 'total', statusKey: '__status', tlsKey: '__tls', status: defaultStatus, labelLayout: _enum3.LabelLayout.horizontal, queryBar: _enum2.TableQueryBarType.normal, tableBorder: true, tableHighLightRow: true, tableSelectedHighLightRow: false, tableRowHeight: 30, tableDefaultRenderer: '', tableColumnResizable: true, tableColumnHideable: true, performanceTableColumnHideable: true, tableRowDraggable: false, tableColumnDraggable: false, performanceTableColumnDraggable: false, tableColumnAlign: defaultTableColumnAlign, tableSpinProps: defaultSpinProps, tableButtonProps: defaultButtonProps, tableCommandProps: defaultButtonProps, tableAlwaysShowRowBox: false, tableUseMouseBatchChoose: false, tableEditorNextKeyEnterDown: true, tableAutoFocus: false, tableKeyboard: false, tableFilterSearchText: 'params', tableAutoHeightDiff: 80, customizedSave: defaultCustomizedSave, customizedLoad: defaultCustomizedLoad, tableShowRemovedRow: true, modalSectionBorder: true, drawerSectionBorder: true, drawerTransitionName: 'slide-right', modalOkFirst: true, modalAutoCenter: false, modalKeyboard: true, modalMaskClosable: false, buttonColor: _enum4.ButtonColor["default"], buttonFuncType: _enum4.FuncType.raised, feedback: _FeedBack["default"], renderEmpty: defaultRenderEmpty, icons: _choerodonUiFont.categories, formatter: defaultFormatter, dropdownMatchSelectWidth: true, selectReverse: true, selectPagingOptionContent: '···', selectSearchable: false, selectTrigger: [_enum5.Action.focus, _enum5.Action.click], useColon: false, excludeUseColonTagList: _utils.defaultExcludeUseColonTag, numberFieldNonStrictStep: false, showInvalidDate: true, highlightRenderer: defaultFormFieldHighlightRenderer, onPerformance: _noop["default"], performanceEnabled: { Table: false }, tooltipTheme: defaultTooltipTheme, showValidation: _enum3.ShowValidation.tooltip, attachment: defaultAttachment }; var globalConfig = _mobx.observable.map(defaultConfig); function getConfig(key) { return globalConfig.get(key); } function getPrefixCls(suffixCls, customizePrefixCls) { if (customizePrefixCls) { return customizePrefixCls; } return "".concat(getConfig('prefixCls'), "-").concat(suffixCls); } function getProPrefixCls(suffixCls, customizePrefixCls) { if (customizePrefixCls) { return customizePrefixCls; } return "".concat(getConfig('proPrefixCls'), "-").concat(suffixCls); } function getCustomizable(component) { var customizable = getConfig('customizable'); if ((0, _isBoolean["default"])(customizable)) { return customizable; } if (isCustomizable(customizable)) { return customizable[component]; } } var mergeProps = ['transport', 'feedback', 'formatter', 'attachment', 'pagination']; function configure(config) { var merge = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; (0, _mobx.runInAction)(function () { Object.keys(config).forEach(function (key) { var value = config[key]; if (merge && mergeProps.includes(key) && (0, _isObject["default"])(value)) { globalConfig.set(key, (0, _objectSpread2["default"])({}, (0, _mobx.toJS)(globalConfig.get(key)), {}, value)); } else { globalConfig.set(key, config[key]); } }); }); } //# sourceMappingURL=index.js.map