UNPKG

@opendash/plugin-openware

Version:

open.WARE Plugin for open.DASH

73 lines 4.81 kB
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; import React from "react"; import styled from "styled-components"; import { DeleteOutlined, DownloadOutlined, FileWordOutlined } from '@ant-design/icons'; import { Layout, Card, Modal, Input, message } from "antd"; import { Breadcrumb } from "opendash"; import { useTranslation } from "opendash"; import { Divider, Empty } from "antd"; var ReportCardListContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"], ["\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"]))); var ActionBarMenu = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n display: flex;\n"], ["\n position: relative;\n display: flex;\n"]))); var ActionBarMenuLeft = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n flex: 1 1;\n"], ["\n display: flex;\n flex: 1 1;\n"]))); var ActionBarMenuRight = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n float: right;\n margin-left: 10px;\n"], ["\n float: right;\n margin-left: 10px;\n"]))); export function ReportingLayout(_a) { var children = _a.children; return (React.createElement("div", { style: { minWidth: 1280, padding: "0 50px" } }, React.createElement(Breadcrumb, { style: { margin: "16px 0" } }), React.createElement(Layout, { style: { padding: "24px 0", background: "#fff" } }, React.createElement(Layout.Content, { style: { padding: "0 24px" } }, children)))); } export function ActionBar(_a) { var search = _a.search, setSearch = _a.setSearch, children = _a.children; var t = useTranslation(["openware", "opendash"])[0]; return (React.createElement(React.Fragment, null, React.createElement(ActionBarMenu, null, React.createElement(ActionBarMenuLeft, null, React.createElement(Input.Search, { value: search, onChange: function (e) { return setSearch(e.target.value); }, placeholder: t("opendash:ui.search_placeholder"), style: { maxWidth: 400 } })), React.createElement(ActionBarMenuRight, null, children)), React.createElement(Divider, null))); } export function ReportCardList(_a) { var reports = _a.reports; if (!reports || reports.length === 0) { return React.createElement(Empty, null); } return (React.createElement(ReportCardListContainer, null, reports.map(function (report) { return (React.createElement(ReportCard, { key: report.id, report: report })); }))); } function ReportCard(_a) { var report = _a.report; var t = useTranslation(["openware", "opendash"])[0]; return (React.createElement(Card, { style: { width: 300, marginBottom: 24, marginRight: 24 }, loading: false, actions: [ React.createElement(DownloadOutlined, { key: "download", onClick: function () { var hide = message.loading(t("openware:reporting.download.start"), 0); report.download().then(function () { hide(); message.success(t("openware:reporting.download.success")); }, function () { message.error(t("openware:reporting.download.error")); }); } }), // <Icon type="copy" key="copy" />, React.createElement(DeleteOutlined, { key: "delete", onClick: function () { Modal.confirm({ title: t("openware:reporting.delete.title"), content: t("openware:reporting.delete.content"), okText: t("openware:reporting.delete.yes"), okType: "danger", onOk: function () { report.destroy().then(function () { message.success(t("openware:reporting.delete.success")); }, function () { message.error(t("openware:reporting.delete.error")); }); }, }); } }), ] }, React.createElement(Card.Meta, { title: report.get("params").title, description: report.get("params").description, avatar: React.createElement(FileWordOutlined, { style: { fontSize: 32 } }) }))); } var templateObject_1, templateObject_2, templateObject_3, templateObject_4; //# sourceMappingURL=layout.js.map