From 32cb67f92e9b81c065c3286c592df42197a3f56b Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Fri, 27 Sep 2019 14:05:19 +0200 Subject: [PATCH] implement MultiPluginActions for UpdateAll and CancelPending --- .../packages/ui-types/src/Plugin.js | 1 + .../components/ExecutePendingAction.js | 68 ---------- .../plugins/components/MultiPluginAction.js | 90 +++++++++++++ ...dingModal.js => MultiPluginActionModal.js} | 125 ++++++++++++++++-- .../plugins/containers/PluginsOverview.js | 43 ++++-- 5 files changed, 236 insertions(+), 91 deletions(-) delete mode 100644 scm-ui/src/admin/plugins/components/ExecutePendingAction.js create mode 100644 scm-ui/src/admin/plugins/components/MultiPluginAction.js rename scm-ui/src/admin/plugins/components/{ExecutePendingModal.js => MultiPluginActionModal.js} (57%) diff --git a/scm-ui-components/packages/ui-types/src/Plugin.js b/scm-ui-components/packages/ui-types/src/Plugin.js index c7612a8bf8..f5a621e1ff 100644 --- a/scm-ui-components/packages/ui-types/src/Plugin.js +++ b/scm-ui-components/packages/ui-types/src/Plugin.js @@ -17,6 +17,7 @@ export type Plugin = { }; export type PluginCollection = Collection & { + _links: Links, _embedded: { plugins: Plugin[] | string[] } diff --git a/scm-ui/src/admin/plugins/components/ExecutePendingAction.js b/scm-ui/src/admin/plugins/components/ExecutePendingAction.js deleted file mode 100644 index 6c8d407205..0000000000 --- a/scm-ui/src/admin/plugins/components/ExecutePendingAction.js +++ /dev/null @@ -1,68 +0,0 @@ -// @flow -import React from "react"; -import { Button } from "@scm-manager/ui-components"; -import type { PendingPlugins } from "@scm-manager/ui-types"; -import { translate } from "react-i18next"; -import ExecutePendingModal from "./ExecutePendingModal"; - -type Props = { - pendingPlugins: PendingPlugins, - - // context props - t: string => string -}; - -type State = { - showModal: boolean -}; - -class ExecutePendingAction extends React.Component { - constructor(props: Props) { - super(props); - this.state = { - showModal: false - }; - } - - openModal = () => { - this.setState({ - showModal: true - }); - }; - - closeModal = () => { - this.setState({ - showModal: false - }); - }; - - renderModal = () => { - const { showModal } = this.state; - const { pendingPlugins } = this.props; - if (showModal) { - return ( - - ); - } - return null; - }; - - render() { - const { t } = this.props; - return ( - <> - {this.renderModal()} -