From 7a201c3b885c5d23bf0fd0f3da32379a49b30c38 Mon Sep 17 00:00:00 2001 From: Nic Eigel Date: Sun, 14 Jan 2024 15:18:12 +0100 Subject: adding auditor-backoffice-ui --- .../create/Create.stories.tsx | 43 ++ .../deposit_confirmations/create/CreatePage.tsx | 80 ++++ .../create/CreatedSuccessfully.tsx | 72 +++ .../deposit_confirmations/create/index.tsx | 60 +++ .../deposit_confirmations/list/List.stories.tsx | 61 +++ .../instance/deposit_confirmations/list/Table.tsx | 496 +++++++++++++++++++++ .../instance/deposit_confirmations/list/index.tsx | 151 +++++++ .../update/Update.stories.tsx | 73 +++ .../deposit_confirmations/update/UpdatePage.tsx | 99 ++++ .../deposit_confirmations/update/index.tsx | 95 ++++ 10 files changed, 1230 insertions(+) create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/Create.stories.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/CreatePage.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/CreatedSuccessfully.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/index.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/list/List.stories.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/list/Table.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/list/index.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/update/Update.stories.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/update/UpdatePage.tsx create mode 100644 packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/update/index.tsx (limited to 'packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations') diff --git a/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/Create.stories.tsx b/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/Create.stories.tsx new file mode 100644 index 000000000..2fc0819bb --- /dev/null +++ b/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/Create.stories.tsx @@ -0,0 +1,43 @@ +/* + This file is part of GNU Taler + (C) 2021-2023 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see + */ + +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ + +import { h, VNode, FunctionalComponent } from "preact"; +import { CreatePage as TestedComponent } from "./CreatePage.js"; + +export default { + title: "Pages/Product/Create", + component: TestedComponent, + argTypes: { + onCreate: { action: "onCreate" }, + onBack: { action: "onBack" }, + }, +}; + +function createExample( + Component: FunctionalComponent, + props: Partial, +) { + const r = (args: any) => ; + r.args = props; + return r; +} + +export const Example = createExample(TestedComponent, {}); diff --git a/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/CreatePage.tsx b/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/CreatePage.tsx new file mode 100644 index 000000000..becaf8f3a --- /dev/null +++ b/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/CreatePage.tsx @@ -0,0 +1,80 @@ +/* + This file is part of GNU Taler + (C) 2021-2023 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see + */ + +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ + +import { useTranslationContext } from "@gnu-taler/web-util/browser"; +import { h, VNode } from "preact"; +import { AsyncButton } from "../../../../components/exception/AsyncButton.js"; +import { ProductForm } from "../../../../components/product/ProductForm.js"; +import { MerchantBackend } from "../../../../declaration.js"; +import { useListener } from "../../../../hooks/listener.js"; + +type Entity = MerchantBackend.Products.ProductAddDetail & { + product_id: string; +}; + +interface Props { + onCreate: (d: Entity) => Promise; + onBack?: () => void; +} + +export function CreatePage({ onCreate, onBack }: Props): VNode { + const [submitForm, addFormSubmitter] = useListener( + (result) => { + if (result) return onCreate(result); + return Promise.reject(); + }, + ); + + const { i18n } = useTranslationContext(); + + return ( +
+
+
+
+
+ + +
+ {onBack && ( + + )} + + Confirm + +
+
+
+
+
+
+ ); +} diff --git a/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/CreatedSuccessfully.tsx b/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/CreatedSuccessfully.tsx new file mode 100644 index 000000000..6b02430cc --- /dev/null +++ b/packages/auditor-backoffice-ui/src/paths/instance/deposit_confirmations/create/CreatedSuccessfully.tsx @@ -0,0 +1,72 @@ +/* + This file is part of GNU Taler + (C) 2021-2023 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see + */ +import { h, VNode } from "preact"; +import { CreatedSuccessfully as Template } from "../../../../components/notifications/CreatedSuccessfully.js"; +import { Entity } from "./index.js"; +import emptyImage from "../../assets/empty.png"; + +interface Props { + entity: Entity; + onConfirm: () => void; + onCreateAnother?: () => void; +} + +export function CreatedSuccessfully({ + entity, + onConfirm, + onCreateAnother, +}: Props): VNode { + return ( +