"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 = void 0; var _react = _interopRequireWildcard(require("react")); var _icons = require("@ant-design/icons"); var _Dev = _interopRequireDefault(require("./ui/components/Dev")); var _Build = _interopRequireDefault(require("./ui/components/Build")); var _Lint = _interopRequireDefault(require("./ui/components/Lint")); var _Test = _interopRequireDefault(require("./ui/components/Test")); var _Install = _interopRequireDefault(require("./ui/components/Install")); var _util = require("./ui/util"); var _enums = require("./server/core/enums"); var _uiModule = _interopRequireDefault(require("./ui/ui.module.less")); var _enUS = _interopRequireDefault(require("./locales/en-US")); var _zhCN = _interopRequireDefault(require("./locales/zh-CN")); var _model = _interopRequireDefault(require("./ui/model")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 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; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var _default = function _default(api) { var _SCRIPTS; (0, _util.initApiToGloal)(api); var TwoColumnPanel = api.TwoColumnPanel; var imgProperty = { width: api.mini ? '24' : '32', height: api.mini ? '24' : '32' }; var SCRIPTS = (_SCRIPTS = {}, _defineProperty(_SCRIPTS, _enums.TaskType.DEV, { key: 'dev', title: 'org.umi.ui.tasks.dev', icon: /*#__PURE__*/_react.default.createElement("img", _extends({}, imgProperty, { src: "https://gw.alipayobjects.com/zos/basement_prod/6000d285-334d-4513-a405-2d9f890f56e9.svg" })), description: 'org.umi.ui.tasks.dev.desc', Component: _Dev.default }), _defineProperty(_SCRIPTS, _enums.TaskType.BUILD, { key: 'build', title: 'org.umi.ui.tasks.build', icon: /*#__PURE__*/_react.default.createElement("img", _extends({}, imgProperty, { src: "https://gw.alipayobjects.com/zos/basement_prod/6000d285-334d-4513-a405-2d9f890f56e9.svg" })), description: 'org.umi.ui.tasks.build.desc', Component: _Build.default }), _defineProperty(_SCRIPTS, _enums.TaskType.LINT, { key: 'lint', title: 'org.umi.ui.tasks.lint', icon: /*#__PURE__*/_react.default.createElement("img", _extends({}, imgProperty, { src: "https://gw.alipayobjects.com/zos/basement_prod/fb3b6fab-253e-41fc-981a-8bfc5dc4fede.svg" })), description: 'org.umi.ui.tasks.lint.desc', Component: _Lint.default }), _defineProperty(_SCRIPTS, _enums.TaskType.TEST, { key: 'test', title: 'org.umi.ui.tasks.test', icon: /*#__PURE__*/_react.default.createElement("img", _extends({}, imgProperty, { src: "https://gw.alipayobjects.com/zos/basement_prod/f0d64a31-1767-4ab7-a7f9-eea044d92ce3.svg" })), description: 'org.umi.ui.tasks.test.desc', Component: _Test.default }), _defineProperty(_SCRIPTS, _enums.TaskType.INSTALL, { key: 'install', title: 'org.umi.ui.tasks.install', icon: /*#__PURE__*/_react.default.createElement("img", _extends({}, imgProperty, { src: "https://gw.alipayobjects.com/zos/basement_prod/d9fbc2fa-5bb6-46f4-bd15-385a94bc6d1c.svg" })), description: 'org.umi.ui.tasks.install.desc', Component: _Install.default }), _SCRIPTS); var ApiTerminal = api.Terminal; var Terminal = function Terminal(props) { return /*#__PURE__*/_react.default.createElement(ApiTerminal, _extends({ config: _objectSpread({ allowTransparency: true, fontFamily: "operator mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace", cursorBlink: false, cursorStyle: 'underline', disableStdin: true }, api.isMini() ? { fontSize: 12 } : {}) }, props)); }; var TasksView = function TasksView(_ref) { var taskManager = _ref.taskManager, dispatch = _ref.dispatch; // 初始化 taskManager dva model (0, _react.useEffect)(function () { dispatch({ type: "".concat(_model.default.namespace, "/init"), payload: { currentProject: api.currentProject, getSharedDataDir: api.getSharedDataDir } }); }, []); var sections = Object.keys(SCRIPTS).filter(function (item) { if (api.mini && item === _enums.TaskType.DEV) { return false; } return true; }); // 立即执行参数 var _api$getSearchParams = api.getSearchParams(), searchIIFE = _api$getSearchParams.iife; var iife = searchIIFE === 'true'; return /*#__PURE__*/_react.default.createElement(TwoColumnPanel, { sections: sections.map(function (taskType) { var _SCRIPTS$taskType = SCRIPTS[taskType], key = _SCRIPTS$taskType.key, title = _SCRIPTS$taskType.title, icon = _SCRIPTS$taskType.icon, description = _SCRIPTS$taskType.description, Component = _SCRIPTS$taskType.Component; var currentProjectKey = api.currentProject.path; var detail = taskManager.tasks[currentProjectKey] && taskManager.tasks[currentProjectKey][taskType]; var dbPath = taskManager.dbPath[currentProjectKey]; return { key: key, title: title, icon: icon, description: description, component: function component() { return /*#__PURE__*/_react.default.createElement("div", { className: _uiModule.default.section }, /*#__PURE__*/_react.default.createElement(Component, { taskType: taskType, iife: iife, api: api, detail: detail, dispatch: dispatch, dbPath: dbPath, Terminal: Terminal, namespace: _model.default.namespace })); } }; }) }); }; // 注册 model api.registerModel(_model.default); api.addLocales({ 'zh-CN': _zhCN.default, 'en-US': _enUS.default }); var FormattedMessage = api.intl.FormattedMessage; var commonContent = [/*#__PURE__*/_react.default.createElement("a", { onClick: function onClick() { return api.redirect('/tasks?type=block&active=build&iife=true'); } }, /*#__PURE__*/_react.default.createElement(FormattedMessage, { id: "org.umi.ui.tasks.dashboard.build" })), /*#__PURE__*/_react.default.createElement("a", { onClick: function onClick() { return api.redirect('/tasks?type=block&active=lint&iife=true'); } }, /*#__PURE__*/_react.default.createElement(FormattedMessage, { id: "org.umi.ui.tasks.dashboard.lint" }))]; api.addDashboard({ // 唯一标识,org.umi.dashboard.card.${key} key: 'org.umi.dashboard.card.task', title: /*#__PURE__*/_react.default.createElement(FormattedMessage, { id: "org.umi.ui.tasks.title" }), description: /*#__PURE__*/_react.default.createElement(FormattedMessage, { id: "org.umi.ui.tasks.description" }), icon: /*#__PURE__*/_react.default.createElement(_icons.SettingOutlined, null), content: api.mini ? // mini 下没有 dev commonContent : [/*#__PURE__*/_react.default.createElement("a", { onClick: function onClick() { return api.redirect('/tasks?type=block&active=dev&iife=true'); } }, /*#__PURE__*/_react.default.createElement(FormattedMessage, { id: "org.umi.ui.tasks.dashboard.dev" }))].concat(commonContent) }); api.addPanel({ title: 'org.umi.ui.tasks.title', path: '/tasks', icon: { type: 'project', theme: 'filled' }, component: api.connect(function (state) { return { taskManager: state[_model.default.namespace] }; })(TasksView) }); }; exports.default = _default;