@doreamonjs/gate
Version:
gate for doreamonjs
58 lines • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const dva_1 = require("dva");
const antd_1 = require("antd");
const components_1 = require("@doreamonjs/components");
const terminal = tslib_1.__importStar(require("@doreamonjs/plugin-terminal"));
const Log = (props) => {
const drawerProps = {
className: props.className,
width: props.width || 800,
title: props.title,
placement: props.placement || 'right',
visible: props.visible,
onClose: props.onClose,
// closable: false,
maskClosable: false,
};
const terminalProps = {
url: props.url,
once: props.once,
onClose: undefined,
};
const style = {
backgroundColor: '#000',
padding: 0,
//
...props.style,
};
// if placement is top or bottom, remove title
if (props.placement === 'top' || props.placement === 'bottom') {
// drawerProps.title = null;
drawerProps.headerStyle = { display: 'none' };
//
terminalProps.onClose = props.onClose;
}
return (react_1.default.createElement(antd_1.Drawer, { ...drawerProps, bodyStyle: style }, props.visible && (react_1.default.createElement(components_1.Terminal, { ...terminalProps, key: String(Math.random()) }))));
};
const mapState = (states) => {
const state = states[terminal.NAMESPACE];
const loading = states.loading;
const { nextEffect } = state;
const btnLoading = loading.effects[nextEffect];
return {
loading: btnLoading,
visible: state.visible,
// attributes: state.attributes,
// values: state.datasets.values,
...state.attributes,
...state.datasets.values,
};
};
const mapActions = (dispatch) => ({
onClose: () => dispatch({ type: `${terminal.NAMESPACE}/close` }),
});
exports.default = dva_1.connect(mapState, mapActions)(Log);
//# sourceMappingURL=index.js.map