UNPKG

amis-theme-editor

Version:

amis主题编辑器

225 lines (219 loc) 7.11 kB
/** * amis-theme-editor v2.0.22-beta.2 * Copyright 2018-2023 @fex */ 'use strict'; var tslib = require('tslib'); var React = require('react'); var amisCore = require('amis-core'); var tpl = require('../tpl.js'); var cx = require('classnames'); var index = require('./index.js'); var i18nRuntime = require('i18n-runtime'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx); var StatusStateFunc = function (title) { if (title === 'pending') { return [{ type: 'amis-theme-color-picker', label: 'before', labelMode: 'input', name: "before-color", options: '${colorOptions}' }, { type: 'amis-theme-color-picker', label: 'after', labelMode: 'input', name: "after-color", options: '${colorOptions}' }]; } return [{ type: 'amis-theme-color-picker', label: i18nRuntime.i18n("6b36c6f7ec834692ec6c8e3816349fdd"), labelMode: 'input', name: "color", options: '${colorOptions}' }]; }; var ThemeStatusColor = function (props) { var onEdit = props.onEdit; var content = [{ type: 'fail', title: 'fail', key: 'fail', value: 'fail' }, { type: 'success', title: 'success', key: 'success', value: 'success' }, { type: 'queue', title: 'queue', key: 'queue', value: 'queue' }, { type: 'schedule', title: 'schedule', key: 'schedule', value: 'schedule' }, { type: 'pending', title: 'pending', key: 'pending', value: 'pending' }]; function handleEdit(index, title) { onEdit({ title: title + i18nRuntime.i18n("224e2ccda861c2514faa683b3683c361"), path: "component.status.color.".concat(index, ".body"), body: tpl.getSchemaTpl('normal', [{ type: 'amis-theme-wrapper', label: false, title: i18nRuntime.i18n("a1c76c6e1bd796959e536718e04d10ca"), body: tslib.__spreadArray([], StatusStateFunc(title), true) }]) }); } return React__default["default"].createElement("div", { className: "Theme-Status-wrap" }, content.map(function (status, i) { return React__default["default"].createElement("div", { key: status.key, className: "theme-component" }, React__default["default"].createElement("div", { className: "theme-component-title" }, status.title), React__default["default"].createElement("div", { className: "theme-component-content", onClick: function () { return handleEdit(i, status.title); } }, amisCore.render({ type: 'status', className: 'mr-4', value: status.value }))); })); }; var ThemeStatusCommon = function (props) { var title = props.title, edit = props.edit, body = props.body, activeId = props.activeId, refreshToken = props.refreshToken; function handleEdit() { props.onEdit(edit); } return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement("div", { className: "theme-component" }, React__default["default"].createElement("div", { className: "theme-component-title" }, title), React__default["default"].createElement("div", { className: cx__default["default"]('theme-component-content', activeId === edit.path && 'theme-component-content--active'), onClick: function () { handleEdit(); } }, refreshToken === edit.path ? null : body))); }; var ThemeStatus = function (props) { return { title: i18nRuntime.i18n("566894e6c347b5ee768d07d454149c66"), body: [{ title: 'Status', body: [{ title: i18nRuntime.i18n("4af1215ffa45b8245f055eb676fd6970"), body: function (onEdit) { return React__default["default"].createElement(ThemeStatusCommon, { activeId: props.activeId, onEdit: onEdit, title: i18nRuntime.i18n("4af1215ffa45b8245f055eb676fd6970"), edit: { title: i18nRuntime.i18n("2f1448085b4bec952ffdb627d136cf78"), path: 'component.status.base.body', body: tpl.getSchemaTpl('collapseGroup', [{ title: i18nRuntime.i18n("5ef69f62dc668c1a3e68b51c50a2530a"), body: [{ type: 'amis-theme-wrapper', label: false, title: false, body: [{ type: 'amis-theme-select', name: 'icon-size', label: i18nRuntime.i18n("c8339fd2a85af4ba66084d28df808de4"), options: '${sizesOptions}' }, { type: 'amis-theme-select', name: 'text-margin', label: i18nRuntime.i18n("31e3752986d64c8b36897c8641c8628d"), options: '${sizesOptions}' }] }] }, { title: i18nRuntime.i18n("ca746b1ff10193a3ce20878dec04a733"), body: [{ type: 'amis-theme-wrapper', label: false, title: false, body: [{ type: 'amis-theme-select', name: 'fontSize', label: i18nRuntime.i18n("93ab99d761c9ca97dc926e6db10469a3"), options: '${fontSizeOptions}' }] }] }]) }, body: React__default["default"].createElement("div", { className: "theme-component-content-wrap theme-status-default-content" }, amisCore.render({ type: 'status', className: 'mr-4', value: 0 }), amisCore.render({ type: 'status', className: 'mr-4', value: 'fail' }), amisCore.render({ type: 'status', className: 'mr-4', value: 1 }), amisCore.render({ type: 'status', className: 'mr-4', value: 'success' }), amisCore.render({ type: 'status', className: 'mr-4', value: 'pending' }), amisCore.render({ type: 'status', className: 'mr-4', value: 'queue' }), amisCore.render({ type: 'status', className: 'mr-4', value: 'schedule' })) }); } }] }, { title: i18nRuntime.i18n("a5eb20164cdaa49fac13c24f990bec82"), body: function (onEdit) { return React__default["default"].createElement(ThemeStatusColor, tslib.__assign({}, props, { onEdit: onEdit })); } }] }; }; index.registerComponent('status', { type: 'data-show', label: i18nRuntime.i18n("3fea7ca76cdece641436d7ab0d02ab1b"), key: 'status', component: function () { return ThemeStatus; } });