@gisce/react-ooui 1.2.0-rc.8 → 1.2.0-rc.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -6
- package/dist/actionbar/ActionButton.d.ts +2 -2
- package/dist/actionbar/ActionButton.d.ts.map +1 -1
- package/dist/actionbar/AttachmentsButton.d.ts +2 -2
- package/dist/actionbar/AttachmentsButton.d.ts.map +1 -1
- package/dist/actionbar/AttachmentsButtonWrapper.d.ts +2 -2
- package/dist/actionbar/AttachmentsButtonWrapper.d.ts.map +1 -1
- package/dist/actionbar/ButtonWithBadge.d.ts +2 -2
- package/dist/actionbar/ButtonWithBadge.d.ts.map +1 -1
- package/dist/actionbar/ChangeViewButton.d.ts +2 -2
- package/dist/actionbar/ChangeViewButton.d.ts.map +1 -1
- package/dist/actionbar/DashboardActionBar.d.ts +2 -2
- package/dist/actionbar/DashboardActionBar.d.ts.map +1 -1
- package/dist/actionbar/DropdownButton.d.ts +2 -2
- package/dist/actionbar/DropdownButton.d.ts.map +1 -1
- package/dist/actionbar/FormActionBar.d.ts +2 -2
- package/dist/actionbar/FormActionBar.d.ts.map +1 -1
- package/dist/actionbar/GraphActionBar.d.ts +2 -2
- package/dist/actionbar/GraphActionBar.d.ts.map +1 -1
- package/dist/actionbar/NewButton.d.ts +2 -2
- package/dist/actionbar/NewButton.d.ts.map +1 -1
- package/dist/actionbar/SearchBar.d.ts +2 -2
- package/dist/actionbar/SearchBar.d.ts.map +1 -1
- package/dist/actionbar/TreeActionBar.d.ts +2 -2
- package/dist/actionbar/TreeActionBar.d.ts.map +1 -1
- package/dist/common/ButtonWithTooltip.d.ts +2 -2
- package/dist/common/ButtonWithTooltip.d.ts.map +1 -1
- package/dist/common/DatePicker.d.ts +14 -2
- package/dist/common/DatePicker.d.ts.map +1 -1
- package/dist/common/Field.d.ts +1 -1
- package/dist/common/Field.d.ts.map +1 -1
- package/dist/context/ActionViewContext.d.ts +5 -1
- package/dist/context/ActionViewContext.d.ts.map +1 -1
- package/dist/context/ConfigContext.d.ts +7 -0
- package/dist/context/ConfigContext.d.ts.map +1 -0
- package/dist/context/ContentRootContext.d.ts.map +1 -1
- package/dist/context/FormContext.d.ts +4 -2
- package/dist/context/FormContext.d.ts.map +1 -1
- package/dist/helpers/errorHelper.d.ts +6 -0
- package/dist/helpers/errorHelper.d.ts.map +1 -0
- package/dist/helpers/formHelper.d.ts +5 -3
- package/dist/helpers/formHelper.d.ts.map +1 -1
- package/dist/helpers/iconMapper.d.ts +11 -2
- package/dist/helpers/iconMapper.d.ts.map +1 -1
- package/dist/helpers/one2manyHelper.d.ts +12 -4
- package/dist/helpers/one2manyHelper.d.ts.map +1 -1
- package/dist/helpers/searchHelper.d.ts +1 -1
- package/dist/helpers/searchHelper.d.ts.map +1 -1
- package/dist/helpers/treeHelper.d.ts +1 -1
- package/dist/helpers/treeHelper.d.ts.map +1 -1
- package/dist/hooks/useExport.d.ts +44 -0
- package/dist/hooks/useExport.d.ts.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/locales/ca_ES.d.ts +2 -0
- package/dist/locales/ca_ES.d.ts.map +1 -1
- package/dist/locales/en_US.d.ts +2 -0
- package/dist/locales/en_US.d.ts.map +1 -1
- package/dist/locales/es_ES.d.ts +2 -0
- package/dist/locales/es_ES.d.ts.map +1 -1
- package/dist/react-ooui.es.js +25826 -27484
- package/dist/react-ooui.es.js.map +1 -1
- package/dist/react-ooui.umd.js +180 -215
- package/dist/react-ooui.umd.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/ui/ActionErrorDialog.d.ts.map +1 -1
- package/dist/ui/ErrorAlert.d.ts +6 -0
- package/dist/ui/ErrorAlert.d.ts.map +1 -0
- package/dist/ui/FavouriteButton.d.ts +2 -2
- package/dist/ui/FavouriteButton.d.ts.map +1 -1
- package/dist/ui/GoToResourceModal.d.ts +2 -2
- package/dist/ui/GoToResourceModal.d.ts.map +1 -1
- package/dist/ui/TitleHeader.d.ts +2 -2
- package/dist/ui/TitleHeader.d.ts.map +1 -1
- package/dist/views/ActionView.d.ts.map +1 -1
- package/dist/views/CurrentTabContent.d.ts +2 -2
- package/dist/views/CurrentTabContent.d.ts.map +1 -1
- package/dist/views/RootView.d.ts.map +1 -1
- package/dist/views/TabContent.d.ts +1 -1
- package/dist/views/TabContent.d.ts.map +1 -1
- package/dist/views/TabSelector.d.ts +2 -2
- package/dist/views/TabSelector.d.ts.map +1 -1
- package/dist/views/actionViews/DashboardActionView.d.ts +2 -2
- package/dist/views/actionViews/DashboardActionView.d.ts.map +1 -1
- package/dist/views/actionViews/FormActionView.d.ts +2 -2
- package/dist/views/actionViews/FormActionView.d.ts.map +1 -1
- package/dist/views/actionViews/GraphActionView.d.ts +2 -2
- package/dist/views/actionViews/GraphActionView.d.ts.map +1 -1
- package/dist/views/actionViews/TreeActionView.d.ts +2 -2
- package/dist/views/actionViews/TreeActionView.d.ts.map +1 -1
- package/dist/views/tabs/Tab.d.ts +2 -2
- package/dist/views/tabs/Tab.d.ts.map +1 -1
- package/dist/widgets/WidgetFactory.d.ts.map +1 -1
- package/dist/widgets/base/Binary.d.ts +3 -3
- package/dist/widgets/base/Binary.d.ts.map +1 -1
- package/dist/widgets/base/Boolean.d.ts +2 -2
- package/dist/widgets/base/Boolean.d.ts.map +1 -1
- package/dist/widgets/base/Button.d.ts +2 -2
- package/dist/widgets/base/Button.d.ts.map +1 -1
- package/dist/widgets/base/Char.d.ts +2 -2
- package/dist/widgets/base/Char.d.ts.map +1 -1
- package/dist/widgets/base/Date.d.ts +2 -2
- package/dist/widgets/base/Date.d.ts.map +1 -1
- package/dist/widgets/base/DateTime.d.ts +2 -2
- package/dist/widgets/base/DateTime.d.ts.map +1 -1
- package/dist/widgets/base/Email.d.ts +2 -2
- package/dist/widgets/base/Email.d.ts.map +1 -1
- package/dist/widgets/base/Float.d.ts +2 -2
- package/dist/widgets/base/Float.d.ts.map +1 -1
- package/dist/widgets/base/FloatTime.d.ts +1 -1
- package/dist/widgets/base/FloatTime.d.ts.map +1 -1
- package/dist/widgets/base/Image.d.ts +3 -3
- package/dist/widgets/base/Image.d.ts.map +1 -1
- package/dist/widgets/base/Integer.d.ts +2 -2
- package/dist/widgets/base/Integer.d.ts.map +1 -1
- package/dist/widgets/base/Label.d.ts +2 -2
- package/dist/widgets/base/Label.d.ts.map +1 -1
- package/dist/widgets/base/LinkInput.d.ts +2 -2
- package/dist/widgets/base/LinkInput.d.ts.map +1 -1
- package/dist/widgets/base/MultiSelection.d.ts +3 -3
- package/dist/widgets/base/MultiSelection.d.ts.map +1 -1
- package/dist/widgets/base/ProgressBar.d.ts +3 -3
- package/dist/widgets/base/ProgressBar.d.ts.map +1 -1
- package/dist/widgets/base/Reference.d.ts +1 -1
- package/dist/widgets/base/Reference.d.ts.map +1 -1
- package/dist/widgets/base/ReferenceTree.d.ts +8 -0
- package/dist/widgets/base/ReferenceTree.d.ts.map +1 -0
- package/dist/widgets/base/Selection.d.ts +3 -3
- package/dist/widgets/base/Selection.d.ts.map +1 -1
- package/dist/widgets/base/Separator.d.ts +2 -2
- package/dist/widgets/base/Separator.d.ts.map +1 -1
- package/dist/widgets/base/Text.d.ts +2 -2
- package/dist/widgets/base/Text.d.ts.map +1 -1
- package/dist/widgets/base/Url.d.ts +2 -2
- package/dist/widgets/base/Url.d.ts.map +1 -1
- package/dist/widgets/base/many2one/Many2one.d.ts +1 -1
- package/dist/widgets/base/many2one/Many2one.d.ts.map +1 -1
- package/dist/widgets/base/many2one/Many2oneSuffix.d.ts +2 -2
- package/dist/widgets/base/many2one/Many2oneSuffix.d.ts.map +1 -1
- package/dist/widgets/base/many2one/Many2oneSuffixModal.d.ts +2 -2
- package/dist/widgets/base/many2one/Many2oneSuffixModal.d.ts.map +1 -1
- package/dist/widgets/base/many2one/Many2oneTree.d.ts +6 -0
- package/dist/widgets/base/many2one/Many2oneTree.d.ts.map +1 -0
- package/dist/widgets/base/one2many/One2many.d.ts +2 -2
- package/dist/widgets/base/one2many/One2many.d.ts.map +1 -1
- package/dist/widgets/base/one2many/One2manyInput.d.ts.map +1 -1
- package/dist/widgets/base/one2many/One2manyTopBar.d.ts +2 -2
- package/dist/widgets/base/one2many/One2manyTopBar.d.ts.map +1 -1
- package/dist/widgets/containers/Group.d.ts.map +1 -1
- package/dist/widgets/custom/ButtonGroup.d.ts +2 -2
- package/dist/widgets/custom/ButtonGroup.d.ts.map +1 -1
- package/dist/widgets/custom/CodeEditor.d.ts +2 -2
- package/dist/widgets/custom/CodeEditor.d.ts.map +1 -1
- package/dist/widgets/custom/FiberGrid.d.ts +3 -3
- package/dist/widgets/custom/FiberGrid.d.ts.map +1 -1
- package/dist/widgets/custom/Indicator.d.ts +2 -2
- package/dist/widgets/custom/Indicator.d.ts.map +1 -1
- package/dist/widgets/custom/Markdown.d.ts +5 -0
- package/dist/widgets/custom/Markdown.d.ts.map +1 -0
- package/dist/widgets/custom/MultiCheckbox.d.ts +3 -3
- package/dist/widgets/custom/MultiCheckbox.d.ts.map +1 -1
- package/dist/widgets/custom/Radio.d.ts +3 -3
- package/dist/widgets/custom/Radio.d.ts.map +1 -1
- package/dist/widgets/custom/Steps.d.ts +3 -3
- package/dist/widgets/custom/Steps.d.ts.map +1 -1
- package/dist/widgets/custom/Switch.d.ts +2 -2
- package/dist/widgets/custom/Switch.d.ts.map +1 -1
- package/dist/widgets/custom/Tag.d.ts +5 -0
- package/dist/widgets/custom/Tag.d.ts.map +1 -0
- package/dist/widgets/custom/Tags.d.ts +3 -3
- package/dist/widgets/custom/Tags.d.ts.map +1 -1
- package/dist/widgets/custom/Timeline.d.ts +3 -3
- package/dist/widgets/custom/Timeline.d.ts.map +1 -1
- package/dist/widgets/modals/ExportModal.d.ts +4 -3
- package/dist/widgets/modals/ExportModal.d.ts.map +1 -1
- package/dist/widgets/modals/FormModal.d.ts +2 -2
- package/dist/widgets/modals/FormModal.d.ts.map +1 -1
- package/dist/widgets/modals/SearchModal.d.ts +2 -2
- package/dist/widgets/modals/SearchModal.d.ts.map +1 -1
- package/dist/widgets/modals/TranslationModal.d.ts +2 -2
- package/dist/widgets/modals/TranslationModal.d.ts.map +1 -1
- package/dist/widgets/views/Dashboard/Dashboard.d.ts.map +1 -1
- package/dist/widgets/views/Dashboard/DashboardForm.d.ts +2 -2
- package/dist/widgets/views/Dashboard/DashboardForm.d.ts.map +1 -1
- package/dist/widgets/views/Dashboard/DashboardTree.d.ts +2 -2
- package/dist/widgets/views/Dashboard/DashboardTree.d.ts.map +1 -1
- package/dist/widgets/views/DashboardGrid/DashboardGrid.d.ts +2 -2
- package/dist/widgets/views/DashboardGrid/DashboardGrid.d.ts.map +1 -1
- package/dist/widgets/views/DashboardGrid/DashboardGridItem.d.ts +2 -2
- package/dist/widgets/views/DashboardGrid/DashboardGridItem.d.ts.map +1 -1
- package/dist/widgets/views/Form.d.ts.map +1 -1
- package/dist/widgets/views/Graph/GraphChart.d.ts +2 -2
- package/dist/widgets/views/Graph/GraphChart.d.ts.map +1 -1
- package/dist/widgets/views/Graph/GraphDefaults.d.ts +36 -0
- package/dist/widgets/views/Graph/GraphDefaults.d.ts.map +1 -1
- package/dist/widgets/views/Graph/GraphIndicator.d.ts +2 -2
- package/dist/widgets/views/Graph/GraphIndicator.d.ts.map +1 -1
- package/dist/widgets/views/SearchTree.d.ts.map +1 -1
- package/dist/widgets/views/Tree.d.ts +2 -0
- package/dist/widgets/views/Tree.d.ts.map +1 -1
- package/dist/widgets/views/searchFilter/DateRangePicker.d.ts +2 -2
- package/dist/widgets/views/searchFilter/DateRangePicker.d.ts.map +1 -1
- package/dist/widgets/views/searchFilter/DateTimeRangePicker.d.ts +2 -2
- package/dist/widgets/views/searchFilter/DateTimeRangePicker.d.ts.map +1 -1
- package/dist/widgets/views/searchFilter/SearchField.d.ts +2 -2
- package/dist/widgets/views/searchFilter/SearchField.d.ts.map +1 -1
- package/dist/widgets/views/searchFilter/SearchFilter.d.ts +3 -2
- package/dist/widgets/views/searchFilter/SearchFilter.d.ts.map +1 -1
- package/package.json +11 -13
- package/src/__tests__/iconMapper.test.ts +20 -5
- package/src/__tests__/searchFilterHelper.spec.ts +7 -7
- package/src/actionbar/AttachmentsButton.tsx +22 -24
- package/src/actionbar/AttachmentsButtonWrapper.tsx +15 -12
- package/src/actionbar/ButtonWithBadge.tsx +5 -2
- package/src/actionbar/ChangeViewButton.tsx +13 -7
- package/src/actionbar/FormActionBar.tsx +73 -11
- package/src/actionbar/TreeActionBar.tsx +99 -97
- package/src/common/DatePicker.tsx +18 -13
- package/src/context/ActionViewContext.tsx +7 -4
- package/src/context/ConfigContext.tsx +9 -0
- package/src/context/ContentRootContext.tsx +123 -81
- package/src/context/FormContext.tsx +1 -4
- package/src/helpers/errorHelper.ts +27 -0
- package/src/helpers/formHelper.ts +26 -5
- package/src/helpers/iconMapper.ts +141 -108
- package/src/helpers/one2manyHelper.ts +94 -39
- package/src/helpers/searchHelper.ts +8 -7
- package/src/helpers/treeHelper.ts +17 -5
- package/src/hooks/useExport.ts +439 -0
- package/src/index.ts +6 -0
- package/src/locales/ca_ES.tsx +2 -0
- package/src/locales/en_US.tsx +2 -0
- package/src/locales/es_ES.tsx +2 -0
- package/src/stories/Binary.stories.tsx +4 -1
- package/src/stories/Boolean.stories.tsx +4 -1
- package/src/stories/Button.stories.tsx +4 -1
- package/src/stories/Char.stories.tsx +4 -1
- package/src/stories/FiberGrid.stories.tsx +4 -1
- package/src/stories/Float.stories.tsx +4 -1
- package/src/stories/FloatTime.stories.tsx +4 -1
- package/src/stories/Image.stories.tsx +4 -1
- package/src/stories/Integer.stories.tsx +4 -1
- package/src/stories/Label.stories.tsx +11 -9
- package/src/stories/Many2one.stories.tsx +4 -1
- package/src/stories/One2many.stories.tsx +4 -1
- package/src/stories/ProgressBar.stories.tsx +4 -1
- package/src/stories/Reference.stories.tsx +4 -1
- package/src/stories/Selection.stories.tsx +4 -1
- package/src/stories/Separator.stories.tsx +37 -1
- package/src/stories/Text.stories.tsx +4 -1
- package/src/stories/containers/Group.stories.tsx +28 -1
- package/src/stories/containers/NewLine.stories.tsx +4 -1
- package/src/stories/containers/Notebook.stories.tsx +31 -1
- package/src/stories/custom/ButtonGroup.stories.tsx +4 -1
- package/src/stories/custom/CodeEditor.stories.tsx +4 -1
- package/src/stories/custom/Indicator.stories.tsx +4 -1
- package/src/stories/custom/Markdown.stories.tsx +42 -0
- package/src/stories/custom/MultiCheckbox.stories.tsx +4 -1
- package/src/stories/custom/Radio.stories.tsx +4 -1
- package/src/stories/custom/Steps.stories.tsx +4 -1
- package/src/stories/custom/Switch.stories.tsx +4 -1
- package/src/stories/custom/Tag.stories.tsx +60 -0
- package/src/stories/custom/Tags.stories.tsx +4 -1
- package/src/stories/forms/PreferencesForm.stories.tsx +4 -1
- package/src/stories/mocks/models/company.ts +2 -2
- package/src/stories/mocks/models/crm_case.ts +7 -10
- package/src/stories/ui/ActionBar.stories.tsx +2 -1
- package/src/stories/ui/FavouriteButton.stories.tsx +2 -1
- package/src/stories/ui/GoToResourceModal.stories.tsx +2 -1
- package/src/stories/views/SearchTree.stories.tsx +3 -1
- package/src/stories/views/Tab.stories.tsx +3 -1
- package/src/stories/views/TabsAndContent.stories.tsx +3 -1
- package/src/stories/views/Tree.stories.jsx +9 -6
- package/src/stories/views/searchFilter/DateRangePicker.stories.tsx +3 -1
- package/src/stories/views/searchFilter/DateTimeRangePicker.stories.tsx +4 -1
- package/src/stories/views/searchFilter/PairFields.stories.tsx +4 -1
- package/src/stories/views/searchFilter/SearchFilter.stories.tsx +4 -1
- package/src/stories/views/searchFilter/examples/PartnersSearchFilter.stories.tsx +4 -1
- package/src/types/index.ts +1 -0
- package/src/ui/ActionErrorDialog.tsx +4 -21
- package/src/ui/ErrorAlert.tsx +37 -0
- package/src/ui/FavouriteButton.tsx +20 -9
- package/src/ui/GoToResourceModal.tsx +3 -3
- package/src/ui/TitleHeader.tsx +18 -4
- package/src/views/ActionView.tsx +6 -2
- package/src/views/RootView.tsx +7 -1
- package/src/views/actionViews/GraphActionView.tsx +1 -0
- package/src/views/actionViews/TreeActionView.tsx +10 -1
- package/src/views/tabs/Tab.tsx +12 -6
- package/src/widgets/WidgetFactory.tsx +6 -0
- package/src/widgets/base/Binary.tsx +8 -5
- package/src/widgets/base/Boolean.tsx +8 -7
- package/src/widgets/base/Char.tsx +14 -12
- package/src/widgets/base/Float.tsx +11 -5
- package/src/widgets/base/FloatTime.tsx +9 -5
- package/src/widgets/base/Integer.tsx +10 -5
- package/src/widgets/base/Label.tsx +12 -12
- package/src/widgets/base/LinkInput.tsx +11 -6
- package/src/widgets/base/MultiSelection.tsx +6 -2
- package/src/widgets/base/Reference.tsx +13 -3
- package/src/widgets/base/ReferenceTree.tsx +62 -0
- package/src/widgets/base/Selection.tsx +6 -2
- package/src/widgets/base/Separator.tsx +11 -3
- package/src/widgets/base/Text.tsx +14 -12
- package/src/widgets/base/many2one/Many2one.tsx +25 -31
- package/src/widgets/base/many2one/Many2oneSuffixModal.tsx +3 -3
- package/src/widgets/base/many2one/Many2oneTree.tsx +18 -0
- package/src/widgets/base/one2many/One2manyInput.tsx +79 -23
- package/src/widgets/base/one2many/One2manyTopBar.tsx +10 -1
- package/src/widgets/containers/Group.tsx +7 -4
- package/src/widgets/custom/ButtonGroup.tsx +1 -1
- package/src/widgets/custom/FiberGrid.tsx +1 -4
- package/src/widgets/custom/Indicator.tsx +16 -15
- package/src/widgets/custom/Markdown.tsx +22 -0
- package/src/widgets/custom/MultiCheckbox.tsx +1 -0
- package/src/widgets/custom/Tag.tsx +24 -0
- package/src/widgets/custom/Tags.tsx +27 -28
- package/src/widgets/custom/Timeline.tsx +9 -3
- package/src/widgets/modals/ExportModal.tsx +33 -134
- package/src/widgets/modals/FormModal.tsx +3 -3
- package/src/widgets/modals/SearchModal.tsx +29 -31
- package/src/widgets/modals/TranslationModal.tsx +3 -3
- package/src/widgets/views/Dashboard/Dashboard.tsx +15 -4
- package/src/widgets/views/Dashboard/DashboardTree.tsx +1 -0
- package/src/widgets/views/DashboardGrid/DashboardGridItem.tsx +10 -6
- package/src/widgets/views/Form.tsx +41 -39
- package/src/widgets/views/Graph/GraphChart.tsx +6 -1
- package/src/widgets/views/Graph/GraphDefaults.ts +113 -0
- package/src/widgets/views/Graph/GraphIndicator.tsx +19 -7
- package/src/widgets/views/SearchTree.tsx +3 -0
- package/src/widgets/views/Tree.tsx +112 -26
- package/src/widgets/views/searchFilter/SearchField.tsx +9 -23
- package/src/widgets/views/searchFilter/SearchFilter.tsx +17 -8
- package/dist/Config.d.ts +0 -6
- package/dist/Config.d.ts.map +0 -1
- package/dist/helpers/icons/antd_icons.d.ts +0 -4
- package/dist/helpers/icons/antd_icons.d.ts.map +0 -1
- package/dist/helpers/icons/tabler_icons.d.ts +0 -4
- package/dist/helpers/icons/tabler_icons.d.ts.map +0 -1
- package/dist/ui/Fieldset.d.ts +0 -8
- package/dist/ui/Fieldset.d.ts.map +0 -1
- package/src/Config.ts +0 -4
- package/src/helpers/icons/antd_icons.ts +0 -1583
- package/src/helpers/icons/tabler_icons.ts +0 -5367
- package/src/ui/Fieldset.tsx +0 -31
- /package/dist/{main.css → style.css} +0 -0
|
@@ -2,7 +2,10 @@ import React from "react";
|
|
|
2
2
|
|
|
3
3
|
import { TagsInput, Tags } from "../../widgets/custom/Tags";
|
|
4
4
|
import { Tags as TagsOoui } from "@gisce/ooui";
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
// import "antd/dist/antd.css";
|
|
7
|
+
|
|
8
|
+
|
|
6
9
|
import LocaleProvider from "../../context/LocaleContext";
|
|
7
10
|
|
|
8
11
|
export default {
|
|
@@ -11,7 +11,7 @@ export default {
|
|
|
11
11
|
"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\n2Q==\n",
|
|
12
12
|
name: "GISCE-TI",
|
|
13
13
|
overdue_msg:
|
|
14
|
-
"Would your payment have been carried out after this mail was sent, please consider the present one as void. Do not hesitate to contact our accounting department",
|
|
14
|
+
"# Title\n **Would your payment have been carried** out after this mail was sent, please consider the present one as void. Do not hesitate to contact our accounting department",
|
|
15
15
|
parent_id: false,
|
|
16
16
|
partner_id: [1, "Tiny sprl"],
|
|
17
17
|
rml_footer1:
|
|
@@ -27,7 +27,7 @@ export default {
|
|
|
27
27
|
tree: {},
|
|
28
28
|
form: {
|
|
29
29
|
arch:
|
|
30
|
-
'<form string="Company">\n <field colspan="4" name="name" select="1"/>\n <field name="partner_id" select="1"/>\n <field name="parent_id" select="1"/>\n <notebook colspan="4">\n <page string="General Information">\n <field name="rml_header1"/>\n <field name="rml_footer1"/>\n <field name="rml_footer2"/>\n <field name="currency_id"/>\n <separator colspan="4" string="Your Logo - Use a size of about 450x150 pixels."/>\n <field colspan="4" name="logo" widget="image"/>\n </page>\n <page string="Header/Footer">\n <field colspan="4" name="rml_header" nolabel="1"/>\n </page>\n <page string="Internal Header/Footer">\n <field colspan="4" name="rml_header2" nolabel="1"/>\n </page>\n <page string="Configuration">\n </page>\n <page string="Overdue Payments" position="inside">\n <separator string="Overdue Payments Message" colspan="4"/>\n <field name="overdue_msg" nolabel="1" colspan="4"/>\n </page>\n <page string="webkit Headers">\n <field name="lib_path" colspan="4"/>\n <separator string="Images"/>\n <field name="header_image" colspan="4" nolabel="1"/>\n <separator string="Headers"/>\n <field name="header_webkit" colspan="4" nolabel="1"/>\n </page>\n </notebook>\n <field name="codi_r2"/>\n <field name="codi_r2"/>\n </form>',
|
|
30
|
+
'<form string="Company">\n <field colspan="4" name="name" select="1"/>\n <field name="partner_id" select="1"/>\n <field name="parent_id" select="1"/>\n <notebook colspan="4">\n <page string="General Information">\n <field name="rml_header1"/>\n <field name="rml_footer1"/>\n <field name="rml_footer2"/>\n <field name="currency_id"/>\n <separator colspan="4" string="Your Logo - Use a size of about 450x150 pixels."/>\n <field colspan="4" name="logo" widget="image"/>\n </page>\n <page string="Header/Footer">\n <field colspan="4" name="rml_header" nolabel="1"/>\n </page>\n <page string="Internal Header/Footer">\n <field colspan="4" name="rml_header2" nolabel="1"/>\n </page>\n <page string="Configuration">\n </page>\n <page string="Overdue Payments" position="inside">\n <separator string="Overdue Payments Message" colspan="4"/>\n <field name="overdue_msg" nolabel="1" colspan="4" widget="markdown"/>\n </page>\n <page string="webkit Headers">\n <field name="lib_path" colspan="4"/>\n <separator string="Images"/>\n <field name="header_image" colspan="4" nolabel="1"/>\n <separator string="Headers"/>\n <field name="header_webkit" colspan="4" nolabel="1"/>\n </page>\n </notebook>\n <field name="codi_r2"/>\n <field name="codi_r2"/>\n </form>',
|
|
31
31
|
field_parent: false,
|
|
32
32
|
fields: {
|
|
33
33
|
codi_r2: {
|
|
@@ -39,13 +39,14 @@ export default {
|
|
|
39
39
|
task_id: false,
|
|
40
40
|
user_id: [1, "Administrator"],
|
|
41
41
|
workdones_ids: [],
|
|
42
|
+
integer: 40003.23,
|
|
42
43
|
},
|
|
43
44
|
form: {
|
|
44
|
-
arch:
|
|
45
|
-
'<form string="Casos">\n <group col="8" colspan="4">\n <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id, email_from)" select="1"/>\n <field colspan="3" name="partner_address_id" on_change="onchange_partner_address_id(partner_address_id, email_from)" select="2"/>\n \n <field colspan="3" name="email_from" select="2"/>\n <button name="remind_partner" states="open,pending" string="Envia notificaci\u00f3" type="object"/>\n <field name="user_id" select="1" domain="[(\'id\',\'!=\', 0)]"/>\n <button name="autoassign" string="Assigna-me\'l" type="object"/>\n <button name="remind_user" states="open,pending" string="Envia notificaci\u00f3" type="object"/>\n </group><field name="state" select="1"/></form>',
|
|
45
|
+
arch: '<form string="Casos">\n <field name="integer" /> <group col="8" colspan="4">\n <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id, email_from)" select="1"/>\n <field colspan="3" name="partner_address_id" on_change="onchange_partner_address_id(partner_address_id, email_from)" select="2"/>\n \n <field colspan="3" name="email_from" select="2"/>\n <button name="remind_partner" states="open,pending" string="Envia notificaci\u00f3" type="object"/>\n <field name="user_id" select="1" domain="[(\'id\',\'!=\', 0)]"/>\n <button name="autoassign" string="Assigna-me\'l" type="object"/>\n <button name="remind_user" states="open,pending" string="Envia notificaci\u00f3" type="object"/>\n </group><field name="state" select="1"/></form>',
|
|
46
46
|
|
|
47
47
|
field_parent: false,
|
|
48
48
|
fields: {
|
|
49
|
+
integer: { string: "Integer", type: "integer" },
|
|
49
50
|
active: { string: "Actiu", type: "boolean", views: {} },
|
|
50
51
|
canal_id: {
|
|
51
52
|
context: "",
|
|
@@ -138,8 +139,7 @@ export default {
|
|
|
138
139
|
type: "one2many",
|
|
139
140
|
views: {
|
|
140
141
|
form: {
|
|
141
|
-
arch:
|
|
142
|
-
'<form string="Historial de comunicació">\n <group col="6" colspan="4">\n <field name="date" select="1"/>\n <field name="email" select="1"/>\n <field name="canal_id" select="2"/>\n </group>\n <newline/>\n <field colspan="4" name="description" nolabel="1" select="2"/>\n </form>\n ',
|
|
142
|
+
arch: '<form string="Historial de comunicació">\n <group col="6" colspan="4">\n <field name="date" select="1"/>\n <field name="email" select="1"/>\n <field name="canal_id" select="2"/>\n </group>\n <newline/>\n <field colspan="4" name="description" nolabel="1" select="2"/>\n </form>\n ',
|
|
143
143
|
fields: {
|
|
144
144
|
canal_id: {
|
|
145
145
|
context: "",
|
|
@@ -160,8 +160,7 @@ export default {
|
|
|
160
160
|
},
|
|
161
161
|
},
|
|
162
162
|
tree: {
|
|
163
|
-
arch:
|
|
164
|
-
'<tree string="Historial de comunicació">\n <field name="note"/>\n </tree>\n ',
|
|
163
|
+
arch: '<tree string="Historial de comunicació">\n <field name="note"/>\n </tree>\n ',
|
|
165
164
|
fields: {
|
|
166
165
|
note: {
|
|
167
166
|
digits: [16, 2],
|
|
@@ -185,8 +184,7 @@ export default {
|
|
|
185
184
|
type: "one2many",
|
|
186
185
|
views: {
|
|
187
186
|
form: {
|
|
188
|
-
arch:
|
|
189
|
-
'<form string="Accions">\n <separator colspan="4" string="Informaci\u00f3 de l\'acci\u00f3"/>\n <field colspan="4" name="name"/>\n <field name="date" select="2"/>\n <field name="fefe_id" select="2"/>\n <field name="som" select="2"/>\n <field name="canal_id"/>\n </form>\n ',
|
|
187
|
+
arch: '<form string="Accions">\n <separator colspan="4" string="Informaci\u00f3 de l\'acci\u00f3"/>\n <field colspan="4" name="name"/>\n <field name="date" select="2"/>\n <field name="fefe_id" select="2"/>\n <field name="som" select="2"/>\n <field name="canal_id"/>\n </form>\n ',
|
|
190
188
|
fields: {
|
|
191
189
|
canal_id: {
|
|
192
190
|
context: "",
|
|
@@ -389,8 +387,7 @@ export default {
|
|
|
389
387
|
type: "one2many",
|
|
390
388
|
views: {
|
|
391
389
|
tree: {
|
|
392
|
-
arch:
|
|
393
|
-
'<tree editable="top">\n <field name="date"/>\n <field name="type_id"/>\n <field name="hours" sum="Time spent" widget="float_time"/>\n \n <field name="name"/> \n </tree>\n ',
|
|
390
|
+
arch: '<tree editable="top">\n <field name="date"/>\n <field name="type_id"/>\n <field name="hours" sum="Time spent" widget="float_time"/>\n \n <field name="name"/> \n </tree>\n ',
|
|
394
391
|
fields: {
|
|
395
392
|
date: { string: "Data", type: "datetime", views: {} },
|
|
396
393
|
hours: { string: "Temps dedicat", type: "float", views: {} },
|
|
@@ -3,7 +3,8 @@ import React from "react";
|
|
|
3
3
|
import FavouriteButton from "../../ui/FavouriteButton";
|
|
4
4
|
import LocaleProvider from "../../context/LocaleContext";
|
|
5
5
|
|
|
6
|
-
import "antd/dist/antd.css";
|
|
6
|
+
// import "antd/dist/antd.css";
|
|
7
|
+
|
|
7
8
|
|
|
8
9
|
export default {
|
|
9
10
|
title: "Components/Widgets/UI/FavouriteButton",
|
|
@@ -3,7 +3,8 @@ import React from "react";
|
|
|
3
3
|
import { GoToResourceModal } from "../../ui/GoToResourceModal";
|
|
4
4
|
import LocaleProvider from "../../context/LocaleContext";
|
|
5
5
|
|
|
6
|
-
import "antd/dist/antd.css";
|
|
6
|
+
// import "antd/dist/antd.css";
|
|
7
|
+
|
|
7
8
|
|
|
8
9
|
export default {
|
|
9
10
|
title: "Components/Widgets/UI/GoToResourceModal",
|
|
@@ -3,7 +3,9 @@ import React from "react";
|
|
|
3
3
|
import SearchTree from "../../widgets/views/SearchTree";
|
|
4
4
|
import ConnectionProvider from "../../ConnectionProvider";
|
|
5
5
|
|
|
6
|
-
import "antd/dist/antd.css";
|
|
6
|
+
// import "antd/dist/antd.css";
|
|
7
|
+
|
|
8
|
+
|
|
7
9
|
import LocaleProvider from "../../context/LocaleContext";
|
|
8
10
|
|
|
9
11
|
export default {
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
3
|
import { Tree } from "../..";
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
// import "antd/dist/antd.css";
|
|
6
|
+
|
|
7
|
+
|
|
5
8
|
import "@/tailwind.generated.css";
|
|
6
9
|
import LocaleProvider from "../../context/LocaleContext";
|
|
7
10
|
|
|
@@ -30,7 +33,7 @@ Default.args = {
|
|
|
30
33
|
lang: false,
|
|
31
34
|
name: "AGRI ENERGIA ELECTRICA, S.A.",
|
|
32
35
|
ref: "0112",
|
|
33
|
-
title:
|
|
36
|
+
title: "corp",
|
|
34
37
|
numeric: 30.1,
|
|
35
38
|
progressbar: 100,
|
|
36
39
|
},
|
|
@@ -41,7 +44,7 @@ Default.args = {
|
|
|
41
44
|
lang: false,
|
|
42
45
|
name: "Agrolait",
|
|
43
46
|
ref: false,
|
|
44
|
-
title:
|
|
47
|
+
title: "ltd",
|
|
45
48
|
numeric: 30.1,
|
|
46
49
|
progressbar: 70.434331,
|
|
47
50
|
},
|
|
@@ -85,14 +88,14 @@ Default.args = {
|
|
|
85
88
|
lang: false,
|
|
86
89
|
name: "Aragón",
|
|
87
90
|
ref: "02",
|
|
88
|
-
title:
|
|
91
|
+
title: "corp",
|
|
89
92
|
numeric: 30.1,
|
|
90
93
|
progressbar: 20.01,
|
|
91
94
|
},
|
|
92
95
|
],
|
|
93
96
|
treeView: {
|
|
94
97
|
arch:
|
|
95
|
-
|
|
98
|
+
`<tree string="Partners">\n<field name="numeric" sum="Numeric"/><field name="name"/>\n <field name="title" widget="tag" widget_props="{'colors': {'corp': 'red', 'ltd': 'green'}}"/>\n <field name="ref"/>\n <field name="city" select="2"/>\n <field name="country" select="2"/>\n <field name="lang"/>\n <field name="progressbar" string="Progress" /> </tree>`,
|
|
96
99
|
fields: {
|
|
97
100
|
progressbar: {
|
|
98
101
|
string: "Progress bar",
|
|
@@ -149,7 +152,7 @@ Default.args = {
|
|
|
149
152
|
},
|
|
150
153
|
title: {
|
|
151
154
|
selection: [
|
|
152
|
-
["
|
|
155
|
+
["corp", "Corp."],
|
|
153
156
|
["ltd", "Ltd"],
|
|
154
157
|
["", ""],
|
|
155
158
|
],
|
|
@@ -4,7 +4,9 @@ import { Field as FieldOoui } from "@gisce/ooui";
|
|
|
4
4
|
import LocaleProvider from "../../../context/LocaleContext";
|
|
5
5
|
|
|
6
6
|
import { DateRangePicker } from "../../../widgets/views/searchFilter/DateRangePicker";
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
// import "antd/dist/antd.css";
|
|
9
|
+
|
|
8
10
|
|
|
9
11
|
export default {
|
|
10
12
|
title: "Components/Widgets/Views/SearchFilter/DateRangePicker",
|
|
@@ -3,7 +3,10 @@ import React from "react";
|
|
|
3
3
|
import { Field as FieldOoui } from "@gisce/ooui";
|
|
4
4
|
|
|
5
5
|
import { DateTimeRangePicker } from "../../../widgets/views/searchFilter/DateTimeRangePicker";
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
// import "antd/dist/antd.css";
|
|
8
|
+
|
|
9
|
+
|
|
7
10
|
import LocaleProvider from "../../../context/LocaleContext";
|
|
8
11
|
|
|
9
12
|
export default {
|
|
@@ -3,7 +3,10 @@ import React from "react";
|
|
|
3
3
|
import { Field as FieldOoui } from "@gisce/ooui";
|
|
4
4
|
|
|
5
5
|
import { PairFields } from "../../../widgets/views/searchFilter/PairFields";
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
// import "antd/dist/antd.css";
|
|
8
|
+
|
|
9
|
+
|
|
7
10
|
import LocaleProvider from "../../../context/LocaleContext";
|
|
8
11
|
|
|
9
12
|
export default {
|
package/src/types/index.ts
CHANGED
|
@@ -1,38 +1,21 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Modal } from "antd";
|
|
3
3
|
import { ExclamationCircleOutlined, WarningOutlined } from "@ant-design/icons";
|
|
4
|
+
import { parseError } from "@/helpers/errorHelper";
|
|
4
5
|
|
|
5
6
|
const { error, warning } = Modal;
|
|
6
7
|
|
|
7
8
|
const showDialog = (err: string) => {
|
|
8
|
-
|
|
9
|
-
let type;
|
|
10
|
-
let title;
|
|
9
|
+
const { message, type, title } = parseError(err);
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
typeof err === "string" &&
|
|
14
|
-
err.indexOf(" -- ") !== -1 &&
|
|
15
|
-
err.indexOf("\n\n") !== -1
|
|
16
|
-
) {
|
|
17
|
-
const splitted = err.split("\n\n");
|
|
18
|
-
message = splitted[1];
|
|
19
|
-
const args = splitted[0].split(" -- ");
|
|
20
|
-
type = args[0];
|
|
21
|
-
title = args[1];
|
|
22
|
-
} else {
|
|
23
|
-
message = err;
|
|
24
|
-
type = "error";
|
|
25
|
-
title = "Error";
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const icon =
|
|
11
|
+
const iconComponent =
|
|
29
12
|
type === "error" ? <ExclamationCircleOutlined /> : <WarningOutlined />;
|
|
30
13
|
|
|
31
14
|
const modalType = type === "error" ? error : warning;
|
|
32
15
|
|
|
33
16
|
modalType({
|
|
34
17
|
title,
|
|
35
|
-
icon,
|
|
18
|
+
icon: iconComponent,
|
|
36
19
|
centered: true,
|
|
37
20
|
content: message,
|
|
38
21
|
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { parseError } from "@/helpers/errorHelper";
|
|
2
|
+
import { Alert } from "antd";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Interweave } from "interweave";
|
|
5
|
+
|
|
6
|
+
export const ErrorAlert = ({
|
|
7
|
+
error,
|
|
8
|
+
className,
|
|
9
|
+
}: {
|
|
10
|
+
error: any;
|
|
11
|
+
className: string;
|
|
12
|
+
}) => {
|
|
13
|
+
let messageContent;
|
|
14
|
+
let messageType = "error";
|
|
15
|
+
|
|
16
|
+
if (
|
|
17
|
+
typeof error === "string" &&
|
|
18
|
+
error.indexOf(" -- ") !== -1 &&
|
|
19
|
+
error.indexOf("\n\n") !== -1
|
|
20
|
+
) {
|
|
21
|
+
const { message, type, title } = parseError(error);
|
|
22
|
+
messageContent = <Interweave content={`${title}<br />${message}`} />;
|
|
23
|
+
messageType = type;
|
|
24
|
+
} else {
|
|
25
|
+
messageContent = error.message
|
|
26
|
+
? JSON.stringify(error.message)
|
|
27
|
+
: JSON.stringify(error);
|
|
28
|
+
}
|
|
29
|
+
return (
|
|
30
|
+
<Alert
|
|
31
|
+
className={className}
|
|
32
|
+
message={messageContent}
|
|
33
|
+
type={messageType as any}
|
|
34
|
+
banner
|
|
35
|
+
/>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
FormOutlined,
|
|
8
8
|
EditOutlined,
|
|
9
9
|
} from "@ant-design/icons";
|
|
10
|
-
import { Button, Col, Row, Spin, Tooltip } from "antd";
|
|
10
|
+
import { Button, Col, Row, Spin, Tooltip, theme } from "antd";
|
|
11
11
|
import { Menu, Dropdown } from "antd";
|
|
12
12
|
import showErrorDialog from "@/ui/ActionErrorDialog";
|
|
13
13
|
import {
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
} from "@/context/TabManagerContext";
|
|
17
17
|
import { LocaleContext, LocaleContextType } from "@/context/LocaleContext";
|
|
18
18
|
import { ViewType } from "@/types";
|
|
19
|
+
const { useToken } = theme;
|
|
19
20
|
|
|
20
21
|
export type ShortcutApi = {
|
|
21
22
|
action_id: number;
|
|
@@ -55,7 +56,9 @@ const FavouriteButton = (props: Props) => {
|
|
|
55
56
|
const [shortcuts, setShortcuts] = useState<ShortcutApi[]>([]);
|
|
56
57
|
const [loading, setLoading] = useState(true);
|
|
57
58
|
const [currentShortcutId, setCurrentShortcutId] = useState<number>();
|
|
58
|
-
const { t } = useContext(LocaleContext) as LocaleContextType;
|
|
59
|
+
const { t } = (useContext(LocaleContext) as LocaleContextType) || {};
|
|
60
|
+
|
|
61
|
+
const { token } = useToken();
|
|
59
62
|
|
|
60
63
|
const tabManagerContext = useContext(
|
|
61
64
|
TabManagerContext
|
|
@@ -150,12 +153,12 @@ const FavouriteButton = (props: Props) => {
|
|
|
150
153
|
<Menu onClick={handleMenuClick}>
|
|
151
154
|
<div style={{ width: 300, padding: 5, display: "flex" }}>
|
|
152
155
|
<div style={{ paddingLeft: 15, color: "#ccc" }}>
|
|
153
|
-
{t("favorites").toUpperCase()}
|
|
156
|
+
{t?.("favorites").toUpperCase()}
|
|
154
157
|
</div>
|
|
155
158
|
<div style={{ flexGrow: 1, paddingLeft: 10 }}>
|
|
156
|
-
<Tooltip title={t("edit_favorites")}>
|
|
159
|
+
<Tooltip title={t?.("edit_favorites")}>
|
|
157
160
|
<EditOutlined
|
|
158
|
-
style={{ color:
|
|
161
|
+
style={{ color: token.colorPrimary, cursor: "pointer" }}
|
|
159
162
|
onClick={editFavourites}
|
|
160
163
|
/>
|
|
161
164
|
</Tooltip>
|
|
@@ -177,7 +180,7 @@ const FavouriteButton = (props: Props) => {
|
|
|
177
180
|
</>
|
|
178
181
|
) : (
|
|
179
182
|
<div style={{ width: 300, padding: 5, paddingLeft: 15 }}>
|
|
180
|
-
{t("no_favorites")}
|
|
183
|
+
{t?.("no_favorites")}
|
|
181
184
|
</div>
|
|
182
185
|
)}
|
|
183
186
|
</Menu>
|
|
@@ -240,16 +243,24 @@ const FavouriteButton = (props: Props) => {
|
|
|
240
243
|
<StarOutlined />
|
|
241
244
|
)
|
|
242
245
|
}
|
|
243
|
-
style={{
|
|
246
|
+
style={{
|
|
247
|
+
width: 50,
|
|
248
|
+
borderTopRightRadius: 0,
|
|
249
|
+
borderBottomRightRadius: 0,
|
|
250
|
+
}}
|
|
244
251
|
onClick={toggleFavourite}
|
|
245
252
|
></Button>
|
|
246
253
|
<Dropdown
|
|
247
254
|
overlay={menu}
|
|
248
255
|
onVisibleChange={handleVisibleChange}
|
|
249
|
-
|
|
256
|
+
open={dropdownVisible}
|
|
250
257
|
>
|
|
251
258
|
<Button
|
|
252
|
-
style={{
|
|
259
|
+
style={{
|
|
260
|
+
width: 25,
|
|
261
|
+
borderTopLeftRadius: 0,
|
|
262
|
+
borderBottomLeftRadius: 0,
|
|
263
|
+
}}
|
|
253
264
|
icon={<DownOutlined style={{ fontSize: "0.5em" }} />}
|
|
254
265
|
onClick={(e) => e.preventDefault()}
|
|
255
266
|
></Button>
|
|
@@ -20,10 +20,10 @@ export const GoToResourceModal = (props: Props) => {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
return (
|
|
23
|
-
<Modal
|
|
23
|
+
(<Modal
|
|
24
24
|
title={t("goToResourceId")}
|
|
25
25
|
centered
|
|
26
|
-
|
|
26
|
+
open={visible}
|
|
27
27
|
footer={null}
|
|
28
28
|
destroyOnClose
|
|
29
29
|
onCancel={onCancel}
|
|
@@ -67,6 +67,6 @@ export const GoToResourceModal = (props: Props) => {
|
|
|
67
67
|
</Col>
|
|
68
68
|
</Row>
|
|
69
69
|
</Form>
|
|
70
|
-
</Modal>
|
|
70
|
+
</Modal>)
|
|
71
71
|
);
|
|
72
72
|
};
|
package/src/ui/TitleHeader.tsx
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import React, { useContext } from "react";
|
|
2
|
-
import { Row, Col, Typography } from "antd";
|
|
2
|
+
import { Row, Col, Typography, theme } from "antd";
|
|
3
3
|
import {
|
|
4
4
|
ActionViewContext,
|
|
5
5
|
ActionViewContextType,
|
|
6
6
|
} from "@/context/ActionViewContext";
|
|
7
7
|
import { LocaleContext, LocaleContextType } from "@/context/LocaleContext";
|
|
8
|
+
import { CopyOutlined } from "@ant-design/icons";
|
|
9
|
+
|
|
10
|
+
const { useToken } = theme;
|
|
8
11
|
|
|
9
12
|
const { Title, Text } = Typography;
|
|
10
13
|
|
|
@@ -25,6 +28,7 @@ function TitleHeader(props: Props) {
|
|
|
25
28
|
selectedRowItems,
|
|
26
29
|
} = useContext(ActionViewContext) as ActionViewContextType;
|
|
27
30
|
const { t } = useContext(LocaleContext) as LocaleContextType;
|
|
31
|
+
const { token } = useToken();
|
|
28
32
|
|
|
29
33
|
function getSummary() {
|
|
30
34
|
if (currentView?.type === "form") {
|
|
@@ -35,7 +39,13 @@ function TitleHeader(props: Props) {
|
|
|
35
39
|
if (totalItems === 0) {
|
|
36
40
|
return (
|
|
37
41
|
<>
|
|
38
|
-
{t("editingDocument")} (id:
|
|
42
|
+
{t("editingDocument")} (id:{" "}
|
|
43
|
+
<Text
|
|
44
|
+
copyable={{ icon: <CopyOutlined style={{ color: "red" }} /> }}
|
|
45
|
+
>
|
|
46
|
+
{currentId}
|
|
47
|
+
</Text>
|
|
48
|
+
)
|
|
39
49
|
</>
|
|
40
50
|
);
|
|
41
51
|
}
|
|
@@ -74,8 +84,12 @@ function TitleHeader(props: Props) {
|
|
|
74
84
|
return (
|
|
75
85
|
<div style={{ position: "sticky", top: 80, zIndex: 3 }}>
|
|
76
86
|
<Row
|
|
77
|
-
className="
|
|
78
|
-
style={{
|
|
87
|
+
className="shadow-md"
|
|
88
|
+
style={{
|
|
89
|
+
padding: "1em",
|
|
90
|
+
borderRadius: token.borderRadius,
|
|
91
|
+
backgroundColor: token.colorPrimaryBg,
|
|
92
|
+
}}
|
|
79
93
|
align="middle"
|
|
80
94
|
>
|
|
81
95
|
<Col flex={2}>
|
package/src/views/ActionView.tsx
CHANGED
|
@@ -107,6 +107,7 @@ function ActionView(props: Props, ref: any) {
|
|
|
107
107
|
tabs,
|
|
108
108
|
activeKey,
|
|
109
109
|
openAction,
|
|
110
|
+
onRemoveTab,
|
|
110
111
|
} = tabManagerContext || {};
|
|
111
112
|
|
|
112
113
|
useHotkeys(
|
|
@@ -240,8 +241,9 @@ function ActionView(props: Props, ref: any) {
|
|
|
240
241
|
|
|
241
242
|
if (!currentViewToAssign) {
|
|
242
243
|
showErrorDialog(
|
|
243
|
-
|
|
244
|
+
`Error determining the first view to show for model ${model}.\nPlease, make sure the view ids on the fields_view_get responses are the same as the ones defined in the action`
|
|
244
245
|
);
|
|
246
|
+
onRemoveTab?.(tabKey);
|
|
245
247
|
}
|
|
246
248
|
|
|
247
249
|
setCurrentView(currentViewToAssign);
|
|
@@ -279,7 +281,9 @@ function ActionView(props: Props, ref: any) {
|
|
|
279
281
|
}, [tabs, activeKey]);
|
|
280
282
|
|
|
281
283
|
async function canWeClose() {
|
|
282
|
-
if (currentView
|
|
284
|
+
if (!currentView) {
|
|
285
|
+
return true;
|
|
286
|
+
} else if (currentView!.type === "form") {
|
|
283
287
|
return await (formRef.current as any).cancelUnsavedChanges();
|
|
284
288
|
} else {
|
|
285
289
|
return true;
|
package/src/views/RootView.tsx
CHANGED
|
@@ -250,6 +250,7 @@ function RootView(props: RootViewProps, ref: any) {
|
|
|
250
250
|
fields,
|
|
251
251
|
values: { ...values, ...globalValues },
|
|
252
252
|
}),
|
|
253
|
+
fields,
|
|
253
254
|
context: { ...rootContext, ...parsedContext },
|
|
254
255
|
})
|
|
255
256
|
: [];
|
|
@@ -437,6 +438,11 @@ function RootView(props: RootViewProps, ref: any) {
|
|
|
437
438
|
},
|
|
438
439
|
});
|
|
439
440
|
} else {
|
|
441
|
+
const formattedInitialView =
|
|
442
|
+
initialView && Array.isArray(initialView.id)
|
|
443
|
+
? { ...initialView, id: initialView.id[0] }
|
|
444
|
+
: initialView;
|
|
445
|
+
|
|
440
446
|
addNewTab({
|
|
441
447
|
title,
|
|
442
448
|
action: {
|
|
@@ -454,7 +460,7 @@ function RootView(props: RootViewProps, ref: any) {
|
|
|
454
460
|
context={{ ...rootContext, ...context }}
|
|
455
461
|
domain={domain}
|
|
456
462
|
setCanWeClose={registerViewCloseFn}
|
|
457
|
-
initialView={
|
|
463
|
+
initialView={formattedInitialView}
|
|
458
464
|
res_id={res_id}
|
|
459
465
|
formDefaultValues={values}
|
|
460
466
|
formForcedValues={forced_values}
|