|
|
"use strict";
|
|
|
|
|
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
|
value: true
|
|
|
});
|
|
|
exports.default = exports.getFormatMessage = void 0;
|
|
|
|
|
|
require("antd/es/drawer/style");
|
|
|
|
|
|
var _drawer = _interopRequireDefault(require("antd/es/drawer"));
|
|
|
|
|
|
require("antd/es/button/style");
|
|
|
|
|
|
var _button = _interopRequireDefault(require("antd/es/button"));
|
|
|
|
|
|
require("antd/es/alert/style");
|
|
|
|
|
|
var _alert = _interopRequireDefault(require("antd/es/alert"));
|
|
|
|
|
|
require("antd/es/list/style");
|
|
|
|
|
|
var _list = _interopRequireDefault(require("antd/es/list"));
|
|
|
|
|
|
require("antd/es/switch/style");
|
|
|
|
|
|
var _switch = _interopRequireDefault(require("antd/es/switch"));
|
|
|
|
|
|
require("antd/es/divider/style");
|
|
|
|
|
|
var _divider = _interopRequireDefault(require("antd/es/divider"));
|
|
|
|
|
|
require("antd/es/message/style");
|
|
|
|
|
|
var _message2 = _interopRequireDefault(require("antd/es/message"));
|
|
|
|
|
|
require("./index.less");
|
|
|
|
|
|
var _icons = require("@ant-design/icons");
|
|
|
|
|
|
var _proUtils = require("@ant-design/pro-utils");
|
|
|
|
|
|
var _history = require("history");
|
|
|
|
|
|
var _qs = require("qs");
|
|
|
|
|
|
var _react = _interopRequireWildcard(require("react"));
|
|
|
|
|
|
var _reactCopyToClipboard = _interopRequireDefault(require("react-copy-to-clipboard"));
|
|
|
|
|
|
var _useMergedState5 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
|
|
|
|
|
|
var _omit = _interopRequireDefault(require("omit.js"));
|
|
|
|
|
|
var _defaultSettings = _interopRequireDefault(require("../defaultSettings"));
|
|
|
|
|
|
var _BlockCheckbox = _interopRequireDefault(require("./BlockCheckbox"));
|
|
|
|
|
|
var _ThemeColor = _interopRequireDefault(require("./ThemeColor"));
|
|
|
|
|
|
var _locales = _interopRequireWildcard(require("../locales"));
|
|
|
|
|
|
var _utils = require("../utils/utils");
|
|
|
|
|
|
var _LayoutChange = _interopRequireWildcard(require("./LayoutChange"));
|
|
|
|
|
|
var _RegionalChange = _interopRequireDefault(require("./RegionalChange"));
|
|
|
|
|
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
|
|
|
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
|
|
|
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
|
|
|
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
|
|
|
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
|
|
|
|
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
|
|
|
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
|
|
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
|
|
|
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
|
|
|
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
|
|
|
|
var Body = function Body(_ref) {
|
|
|
var children = _ref.children,
|
|
|
prefixCls = _ref.prefixCls,
|
|
|
title = _ref.title;
|
|
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
|
style: {
|
|
|
marginBottom: 24
|
|
|
}
|
|
|
}, /*#__PURE__*/_react.default.createElement("h3", {
|
|
|
className: "".concat(prefixCls, "-drawer-title")
|
|
|
}, title), children);
|
|
|
};
|
|
|
|
|
|
var oldSetting = {};
|
|
|
|
|
|
var getDifferentSetting = function getDifferentSetting(state) {
|
|
|
var stateObj = {};
|
|
|
Object.keys(state).forEach(function (key) {
|
|
|
if (state[key] !== oldSetting[key] && key !== 'collapse') {
|
|
|
stateObj[key] = state[key];
|
|
|
}
|
|
|
|
|
|
if (key.includes('Render')) {
|
|
|
stateObj[key] = state[key] === 'false' || state[key] === false ? false : undefined;
|
|
|
}
|
|
|
});
|
|
|
delete stateObj.menu;
|
|
|
return stateObj;
|
|
|
};
|
|
|
|
|
|
var getFormatMessage = function getFormatMessage() {
|
|
|
var formatMessage = function formatMessage(_ref2) {
|
|
|
var id = _ref2.id,
|
|
|
defaultMessage = _ref2.defaultMessage;
|
|
|
var locales = (0, _locales.default)();
|
|
|
|
|
|
if (locales[id]) {
|
|
|
return locales[id];
|
|
|
}
|
|
|
|
|
|
if (defaultMessage) {
|
|
|
return defaultMessage;
|
|
|
}
|
|
|
|
|
|
return id;
|
|
|
};
|
|
|
|
|
|
return formatMessage;
|
|
|
};
|
|
|
|
|
|
exports.getFormatMessage = getFormatMessage;
|
|
|
|
|
|
var updateTheme = function updateTheme(dark, color) {
|
|
|
var hideMessageLoading = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
|
var publicPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/theme';
|
|
|
|
|
|
// ssr
|
|
|
if (typeof window === 'undefined' || !window.umi_plugin_ant_themeVar) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
var formatMessage = getFormatMessage();
|
|
|
|
|
|
var hide = function hide() {
|
|
|
return null;
|
|
|
};
|
|
|
|
|
|
if (!hideMessageLoading) {
|
|
|
hide = _message2.default.loading(formatMessage({
|
|
|
id: 'app.setting.loading',
|
|
|
defaultMessage: '正在加载主题'
|
|
|
}));
|
|
|
}
|
|
|
|
|
|
var href = dark ? "".concat(publicPath, "/dark") : "".concat(publicPath, "/"); // 如果是 dark,并且是 color=daybreak,无需进行拼接
|
|
|
|
|
|
var colorFileName = dark && color ? "-".concat(encodeURIComponent(color)) : encodeURIComponent(color || '');
|
|
|
|
|
|
if (color === 'daybreak' && dark) {
|
|
|
colorFileName = '';
|
|
|
}
|
|
|
|
|
|
var dom = document.getElementById('theme-style'); // 如果这两个都是空
|
|
|
|
|
|
if (!href && !colorFileName) {
|
|
|
if (dom) {
|
|
|
dom.remove();
|
|
|
localStorage.removeItem('site-theme');
|
|
|
}
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
var url = "".concat(href).concat(colorFileName || '', ".css");
|
|
|
|
|
|
if (dom) {
|
|
|
dom.onload = function () {
|
|
|
window.setTimeout(function () {
|
|
|
hide();
|
|
|
});
|
|
|
};
|
|
|
|
|
|
dom.href = url;
|
|
|
} else {
|
|
|
var style = document.createElement('link');
|
|
|
style.type = 'text/css';
|
|
|
style.rel = 'stylesheet';
|
|
|
style.id = 'theme-style';
|
|
|
|
|
|
style.onload = function () {
|
|
|
window.setTimeout(function () {
|
|
|
hide();
|
|
|
});
|
|
|
};
|
|
|
|
|
|
style.href = url;
|
|
|
|
|
|
if (document.body.append) {
|
|
|
document.body.append(style);
|
|
|
} else {
|
|
|
document.body.appendChild(style);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
localStorage.setItem('site-theme', dark ? 'dark' : 'light');
|
|
|
};
|
|
|
|
|
|
var getThemeList = function getThemeList(settings) {
|
|
|
var formatMessage = getFormatMessage();
|
|
|
var list = window.umi_plugin_ant_themeVar || [];
|
|
|
var themeList = [{
|
|
|
key: 'light',
|
|
|
url: 'https://gw.alipayobjects.com/zos/antfincdn/NQ%24zoisaD2/jpRkZQMyYRryryPNtyIC.svg',
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.pagestyle.light'
|
|
|
})
|
|
|
}];
|
|
|
var darkColorList = [{
|
|
|
key: 'daybreak',
|
|
|
color: '#1890ff',
|
|
|
theme: 'dark'
|
|
|
}];
|
|
|
var lightColorList = [{
|
|
|
key: 'daybreak',
|
|
|
color: '#1890ff',
|
|
|
theme: 'dark'
|
|
|
}];
|
|
|
|
|
|
if (settings.layout !== 'mix') {
|
|
|
themeList.push({
|
|
|
key: 'dark',
|
|
|
url: 'https://gw.alipayobjects.com/zos/antfincdn/XwFOFbLkSM/LCkqqYNmvBEbokSDscrm.svg',
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.pagestyle.dark',
|
|
|
defaultMessage: ''
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
|
|
|
if (list.find(function (item) {
|
|
|
return item.theme === 'dark';
|
|
|
})) {
|
|
|
themeList.push({
|
|
|
key: 'realDark',
|
|
|
url: 'https://gw.alipayobjects.com/zos/antfincdn/hmKaLQvmY2/LCkqqYNmvBEbokSDscrm.svg',
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.pagestyle.dark',
|
|
|
defaultMessage: ''
|
|
|
})
|
|
|
});
|
|
|
} // insert theme color List
|
|
|
|
|
|
|
|
|
list.forEach(function (item) {
|
|
|
var color = (item.modifyVars || {})['@primary-color'];
|
|
|
|
|
|
if (item.theme === 'dark' && color) {
|
|
|
darkColorList.push(_objectSpread({
|
|
|
color: color
|
|
|
}, item));
|
|
|
}
|
|
|
|
|
|
if (!item.theme || item.theme === 'light') {
|
|
|
lightColorList.push(_objectSpread({
|
|
|
color: color
|
|
|
}, item));
|
|
|
}
|
|
|
});
|
|
|
return {
|
|
|
colorList: {
|
|
|
dark: darkColorList,
|
|
|
light: lightColorList
|
|
|
},
|
|
|
themeList: themeList
|
|
|
};
|
|
|
};
|
|
|
/**
|
|
|
* 初始化的时候需要做的工作
|
|
|
* @param param0
|
|
|
*/
|
|
|
|
|
|
|
|
|
var initState = function initState(settings, onSettingChange, publicPath) {
|
|
|
if (!(0, _proUtils.isBrowser)()) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
var loadedStyle = false;
|
|
|
|
|
|
if (window.location.search) {
|
|
|
var params = (0, _qs.parse)(window.location.search.replace('?', ''));
|
|
|
var replaceSetting = {};
|
|
|
Object.keys(params).forEach(function (key) {
|
|
|
if (_defaultSettings.default[key] || _defaultSettings.default[key] === undefined) {
|
|
|
replaceSetting[key] = params[key];
|
|
|
|
|
|
if (key.includes('Render')) {
|
|
|
replaceSetting[key] = params[key] === 'false' ? false : undefined;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
if (onSettingChange) {
|
|
|
onSettingChange(_objectSpread(_objectSpread({}, settings), replaceSetting));
|
|
|
} // 如果 url 中设置主题,进行一次加载。
|
|
|
|
|
|
|
|
|
if (oldSetting.navTheme !== params.navTheme && params.navTheme) {
|
|
|
updateTheme(settings.navTheme === 'realDark', params.primaryColor, true, publicPath);
|
|
|
loadedStyle = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (loadedStyle) {
|
|
|
return;
|
|
|
} // 如果 url 中没有设置主题,并且 url 中的没有加载,进行一次加载。
|
|
|
|
|
|
|
|
|
if (_defaultSettings.default.navTheme !== settings.navTheme && settings.navTheme) {
|
|
|
updateTheme(settings.navTheme === 'realDark', settings.primaryColor, true, publicPath);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
var getParamsFromUrl = function getParamsFromUrl(settings) {
|
|
|
if (!(0, _proUtils.isBrowser)()) {
|
|
|
return _defaultSettings.default;
|
|
|
} // 第一次进入与 浏览器参数同步一下
|
|
|
|
|
|
|
|
|
var params = {};
|
|
|
|
|
|
if (window.location.search) {
|
|
|
params = (0, _qs.parse)(window.location.search.replace('?', ''));
|
|
|
}
|
|
|
|
|
|
return _objectSpread(_objectSpread(_objectSpread({}, _defaultSettings.default), settings || {}), params);
|
|
|
};
|
|
|
|
|
|
var genCopySettingJson = function genCopySettingJson(settingState) {
|
|
|
return JSON.stringify((0, _omit.default)(_objectSpread(_objectSpread({}, settingState), {}, {
|
|
|
primaryColor: (0, _utils.genStringToTheme)(settingState.primaryColor)
|
|
|
}), ['colorWeak']), null, 2);
|
|
|
};
|
|
|
/**
|
|
|
* 可视化配置组件
|
|
|
* @param props
|
|
|
*/
|
|
|
|
|
|
|
|
|
var SettingDrawer = function SettingDrawer(props) {
|
|
|
var _props$settings = props.settings,
|
|
|
propsSettings = _props$settings === void 0 ? undefined : _props$settings,
|
|
|
_props$hideLoading = props.hideLoading,
|
|
|
hideLoading = _props$hideLoading === void 0 ? false : _props$hideLoading,
|
|
|
hideColors = props.hideColors,
|
|
|
hideHintAlert = props.hideHintAlert,
|
|
|
hideCopyButton = props.hideCopyButton,
|
|
|
getContainer = props.getContainer,
|
|
|
onSettingChange = props.onSettingChange,
|
|
|
_props$prefixCls = props.prefixCls,
|
|
|
prefixCls = _props$prefixCls === void 0 ? 'ant-pro' : _props$prefixCls;
|
|
|
var firstRender = (0, _react.useRef)(true);
|
|
|
|
|
|
var _useMergedState = (0, _useMergedState5.default)(false, {
|
|
|
value: props.collapse,
|
|
|
onChange: props.onCollapseChange
|
|
|
}),
|
|
|
_useMergedState2 = _slicedToArray(_useMergedState, 2),
|
|
|
show = _useMergedState2[0],
|
|
|
setShow = _useMergedState2[1];
|
|
|
|
|
|
var _useState = (0, _react.useState)((0, _locales.getLanguage)()),
|
|
|
_useState2 = _slicedToArray(_useState, 2),
|
|
|
language = _useState2[0],
|
|
|
setLanguage = _useState2[1];
|
|
|
|
|
|
var _useMergedState3 = (0, _useMergedState5.default)(function () {
|
|
|
return getParamsFromUrl(propsSettings);
|
|
|
}, {
|
|
|
value: propsSettings,
|
|
|
onChange: onSettingChange
|
|
|
}),
|
|
|
_useMergedState4 = _slicedToArray(_useMergedState3, 2),
|
|
|
settingState = _useMergedState4[0],
|
|
|
setSettingState = _useMergedState4[1];
|
|
|
|
|
|
var preStateRef = (0, _react.useRef)(settingState);
|
|
|
|
|
|
var _ref3 = settingState || {},
|
|
|
_ref3$navTheme = _ref3.navTheme,
|
|
|
navTheme = _ref3$navTheme === void 0 ? 'dark' : _ref3$navTheme,
|
|
|
_ref3$primaryColor = _ref3.primaryColor,
|
|
|
primaryColor = _ref3$primaryColor === void 0 ? 'daybreak' : _ref3$primaryColor,
|
|
|
_ref3$layout = _ref3.layout,
|
|
|
layout = _ref3$layout === void 0 ? 'sidemenu' : _ref3$layout,
|
|
|
colorWeak = _ref3.colorWeak;
|
|
|
|
|
|
(0, _react.useEffect)(function () {
|
|
|
// 语言修改,这个是和 locale 是配置起来的
|
|
|
var onLanguageChange = function onLanguageChange() {
|
|
|
if (language !== (0, _locales.getLanguage)()) {
|
|
|
setLanguage((0, _locales.getLanguage)());
|
|
|
}
|
|
|
}; // 记住默认的选择,方便做 diff,然后保存到 url 参数中
|
|
|
|
|
|
|
|
|
oldSetting = _objectSpread(_objectSpread({}, _defaultSettings.default), propsSettings);
|
|
|
/**
|
|
|
* 如果不是浏览器 都没有必要做了
|
|
|
*/
|
|
|
|
|
|
if (!(0, _proUtils.isBrowser)()) {
|
|
|
return function () {
|
|
|
return null;
|
|
|
};
|
|
|
}
|
|
|
|
|
|
initState(settingState, setSettingState, props.publicPath);
|
|
|
window.addEventListener('languagechange', onLanguageChange, {
|
|
|
passive: true
|
|
|
});
|
|
|
return function () {
|
|
|
return window.removeEventListener('languagechange', onLanguageChange);
|
|
|
};
|
|
|
}, []);
|
|
|
/**
|
|
|
* 修改设置
|
|
|
* @param key
|
|
|
* @param value
|
|
|
* @param hideMessageLoading
|
|
|
*/
|
|
|
|
|
|
var changeSetting = function changeSetting(key, value, hideMessageLoading) {
|
|
|
var nextState = _objectSpread({}, preStateRef.current);
|
|
|
|
|
|
nextState[key] = value;
|
|
|
|
|
|
if (key === 'navTheme') {
|
|
|
updateTheme(value === 'realDark', undefined, hideMessageLoading, props.publicPath);
|
|
|
nextState.primaryColor = 'daybreak';
|
|
|
}
|
|
|
|
|
|
if (key === 'primaryColor') {
|
|
|
updateTheme(nextState.navTheme === 'realDark', value === 'daybreak' ? '' : value, hideMessageLoading, props.publicPath);
|
|
|
}
|
|
|
|
|
|
if (key === 'layout') {
|
|
|
nextState.contentWidth = value === 'top' ? 'Fixed' : 'Fluid';
|
|
|
}
|
|
|
|
|
|
if (key === 'layout' && value !== 'mix') {
|
|
|
nextState.splitMenus = false;
|
|
|
}
|
|
|
|
|
|
if (key === 'layout' && value === 'mix') {
|
|
|
nextState.navTheme = 'light';
|
|
|
}
|
|
|
|
|
|
if (key === 'colorWeak' && value === true) {
|
|
|
var dom = document.querySelector('body div');
|
|
|
|
|
|
if (!dom) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
dom.dataset.prosettingdrawer = dom.style.filter;
|
|
|
dom.style.filter = 'invert(80%)';
|
|
|
}
|
|
|
|
|
|
if (key === 'colorWeak' && value === false) {
|
|
|
var _dom = document.querySelector('body div');
|
|
|
|
|
|
if (!_dom) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
_dom.style.filter = _dom.dataset.prosettingdrawer || 'none';
|
|
|
delete _dom.dataset.prosettingdrawer;
|
|
|
}
|
|
|
|
|
|
preStateRef.current = nextState;
|
|
|
setSettingState(nextState);
|
|
|
};
|
|
|
|
|
|
var formatMessage = getFormatMessage();
|
|
|
var themeList = getThemeList(settingState);
|
|
|
(0, _react.useEffect)(function () {
|
|
|
/**
|
|
|
* 如果不是浏览器 都没有必要做了
|
|
|
*/
|
|
|
if (!(0, _proUtils.isBrowser)()) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (firstRender.current) {
|
|
|
firstRender.current = false;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
var browserHistory = (0, _history.createBrowserHistory)();
|
|
|
var params = {};
|
|
|
|
|
|
if (window.location.search) {
|
|
|
params = (0, _qs.parse)(window.location.search.replace('?', ''));
|
|
|
}
|
|
|
|
|
|
var diffParams = getDifferentSetting(_objectSpread(_objectSpread({}, params), settingState));
|
|
|
|
|
|
if (Object.keys(settingState).length < 1) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
browserHistory.replace({
|
|
|
search: (0, _qs.stringify)(diffParams)
|
|
|
});
|
|
|
}, [JSON.stringify(settingState)]);
|
|
|
var baseClassName = "".concat(prefixCls, "-setting");
|
|
|
return /*#__PURE__*/_react.default.createElement(_drawer.default, {
|
|
|
visible: show,
|
|
|
width: 300,
|
|
|
onClose: function onClose() {
|
|
|
return setShow(false);
|
|
|
},
|
|
|
placement: "right",
|
|
|
getContainer: getContainer,
|
|
|
handler: /*#__PURE__*/_react.default.createElement("div", {
|
|
|
className: "".concat(baseClassName, "-drawer-handle"),
|
|
|
onClick: function onClick() {
|
|
|
return setShow(!show);
|
|
|
}
|
|
|
}, show ? /*#__PURE__*/_react.default.createElement(_icons.CloseOutlined, {
|
|
|
style: {
|
|
|
color: '#fff',
|
|
|
fontSize: 20
|
|
|
}
|
|
|
}) : /*#__PURE__*/_react.default.createElement(_icons.SettingOutlined, {
|
|
|
style: {
|
|
|
color: '#fff',
|
|
|
fontSize: 20
|
|
|
}
|
|
|
})),
|
|
|
style: {
|
|
|
zIndex: 999
|
|
|
}
|
|
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
|
className: "".concat(baseClassName, "-drawer-content")
|
|
|
}, /*#__PURE__*/_react.default.createElement(Body, {
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.pagestyle',
|
|
|
defaultMessage: 'Page style setting'
|
|
|
}),
|
|
|
prefixCls: baseClassName
|
|
|
}, /*#__PURE__*/_react.default.createElement(_BlockCheckbox.default, {
|
|
|
prefixCls: baseClassName,
|
|
|
list: themeList.themeList,
|
|
|
value: navTheme,
|
|
|
key: "navTheme",
|
|
|
onChange: function onChange(value) {
|
|
|
return changeSetting('navTheme', value, hideLoading);
|
|
|
}
|
|
|
})), /*#__PURE__*/_react.default.createElement(Body, {
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.themecolor',
|
|
|
defaultMessage: 'Theme color'
|
|
|
}),
|
|
|
prefixCls: baseClassName
|
|
|
}, /*#__PURE__*/_react.default.createElement(_ThemeColor.default, {
|
|
|
value: primaryColor,
|
|
|
colors: hideColors ? [] : themeList.colorList[navTheme === 'realDark' ? 'dark' : 'light'],
|
|
|
formatMessage: formatMessage,
|
|
|
onChange: function onChange(color) {
|
|
|
return changeSetting('primaryColor', color, hideLoading);
|
|
|
}
|
|
|
})), /*#__PURE__*/_react.default.createElement(_divider.default, null), /*#__PURE__*/_react.default.createElement(Body, {
|
|
|
prefixCls: baseClassName,
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.navigationmode'
|
|
|
})
|
|
|
}, /*#__PURE__*/_react.default.createElement(_BlockCheckbox.default, {
|
|
|
prefixCls: baseClassName,
|
|
|
value: layout,
|
|
|
key: "layout",
|
|
|
list: [{
|
|
|
key: 'side',
|
|
|
url: 'https://gw.alipayobjects.com/zos/antfincdn/XwFOFbLkSM/LCkqqYNmvBEbokSDscrm.svg',
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.sidemenu'
|
|
|
})
|
|
|
}, {
|
|
|
key: 'top',
|
|
|
url: 'https://gw.alipayobjects.com/zos/antfincdn/URETY8%24STp/KDNDBbriJhLwuqMoxcAr.svg',
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.topmenu'
|
|
|
})
|
|
|
}, {
|
|
|
key: 'mix',
|
|
|
url: 'https://gw.alipayobjects.com/zos/antfincdn/x8Ob%26B8cy8/LCkqqYNmvBEbokSDscrm.svg',
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.mixmenu'
|
|
|
})
|
|
|
}],
|
|
|
onChange: function onChange(value) {
|
|
|
return changeSetting('layout', value, hideLoading);
|
|
|
}
|
|
|
})), /*#__PURE__*/_react.default.createElement(_LayoutChange.default, {
|
|
|
settings: settingState,
|
|
|
changeSetting: changeSetting
|
|
|
}), /*#__PURE__*/_react.default.createElement(_divider.default, null), /*#__PURE__*/_react.default.createElement(Body, {
|
|
|
prefixCls: baseClassName,
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.regionalsettings'
|
|
|
})
|
|
|
}, /*#__PURE__*/_react.default.createElement(_RegionalChange.default, {
|
|
|
settings: settingState,
|
|
|
changeSetting: changeSetting
|
|
|
})), /*#__PURE__*/_react.default.createElement(_divider.default, null), /*#__PURE__*/_react.default.createElement(Body, {
|
|
|
prefixCls: baseClassName,
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.othersettings'
|
|
|
})
|
|
|
}, /*#__PURE__*/_react.default.createElement(_list.default, {
|
|
|
split: false,
|
|
|
renderItem: _LayoutChange.renderLayoutSettingItem,
|
|
|
dataSource: [{
|
|
|
title: formatMessage({
|
|
|
id: 'app.setting.weakmode'
|
|
|
}),
|
|
|
action: /*#__PURE__*/_react.default.createElement(_switch.default, {
|
|
|
size: "small",
|
|
|
checked: !!colorWeak,
|
|
|
onChange: function onChange(checked) {
|
|
|
return changeSetting('colorWeak', checked);
|
|
|
}
|
|
|
})
|
|
|
}]
|
|
|
})), hideHintAlert && hideCopyButton ? null : /*#__PURE__*/_react.default.createElement(_divider.default, null), hideHintAlert ? null : /*#__PURE__*/_react.default.createElement(_alert.default, {
|
|
|
type: "warning",
|
|
|
message: formatMessage({
|
|
|
id: 'app.setting.production.hint'
|
|
|
}),
|
|
|
icon: /*#__PURE__*/_react.default.createElement(_icons.NotificationOutlined, null),
|
|
|
showIcon: true,
|
|
|
style: {
|
|
|
marginBottom: 16
|
|
|
}
|
|
|
}), hideCopyButton ? null : /*#__PURE__*/_react.default.createElement(_reactCopyToClipboard.default, {
|
|
|
text: genCopySettingJson(settingState),
|
|
|
onCopy: function onCopy() {
|
|
|
return _message2.default.success(formatMessage({
|
|
|
id: 'app.setting.copyinfo'
|
|
|
}));
|
|
|
}
|
|
|
}, /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
|
block: true
|
|
|
}, /*#__PURE__*/_react.default.createElement(_icons.CopyOutlined, null), " ", formatMessage({
|
|
|
id: 'app.setting.copy'
|
|
|
})))));
|
|
|
};
|
|
|
|
|
|
var _default = SettingDrawer;
|
|
|
exports.default = _default; |