@gisce/react-ooui 1.2.0-rc.71 → 1.2.0-rc.73
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/dist/actionbar/FormActionBar.d.ts.map +1 -1
- package/dist/helpers/errorHelper.d.ts +6 -0
- package/dist/helpers/errorHelper.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/react-ooui.es.js +1713 -1667
- package/dist/react-ooui.es.js.map +1 -1
- package/dist/react-ooui.umd.js +18 -16
- package/dist/react-ooui.umd.js.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/widgets/WidgetFactory.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/views/Form.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/actionbar/FormActionBar.tsx +0 -9
- package/src/helpers/errorHelper.ts +27 -0
- package/src/index.ts +2 -0
- package/src/stories/custom/Markdown.stories.tsx +39 -0
- package/src/stories/mocks/models/company.ts +2 -2
- package/src/ui/ActionErrorDialog.tsx +4 -21
- package/src/ui/ErrorAlert.tsx +37 -0
- package/src/widgets/WidgetFactory.tsx +3 -0
- package/src/widgets/custom/Markdown.tsx +19 -0
- package/src/widgets/views/Form.tsx +3 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionErrorDialog.d.ts","sourceRoot":"","sources":["ActionErrorDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionErrorDialog.d.ts","sourceRoot":"","sources":["ActionErrorDialog.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,UAAU,QAAS,MAAM,SAc9B,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorAlert.d.ts","sourceRoot":"","sources":["ErrorAlert.tsx"],"names":[],"mappings":";AAKA,eAAO,MAAM,UAAU;WAId,GAAG;eACC,MAAM;iBA0BlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetFactory.d.ts","sourceRoot":"","sources":["WidgetFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"WidgetFactory.d.ts","sourceRoot":"","sources":["WidgetFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA0H1B,QAAA,MAAM,iBAAiB,UAAW,GAAG,+DAWpC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["Markdown.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAEpC,eAAQ,MAAM,QAAQ,UAAW,WAAW,gBAM3C,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,GAAG,gBAKvC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["Form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAkCf,OAAO,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["Form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAkCf,OAAO,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAmBjD,oBAAY,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACxE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB,CAAC;;AA+9BF,wBAAgC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gisce/react-ooui",
|
|
3
|
-
"version": "1.2.0-rc.
|
|
3
|
+
"version": "1.2.0-rc.73",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"src",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"react-dom": "^17.0.1",
|
|
51
51
|
"react-grid-layout": "^1.3.4",
|
|
52
52
|
"react-hotkeys-hook": "^3.4.4",
|
|
53
|
+
"react-markdown": "^8.0.7",
|
|
53
54
|
"react-measure": "^2.5.2",
|
|
54
55
|
"use-deep-compare-effect": "^1.8.1",
|
|
55
56
|
"validator": "^13.6.0"
|
|
@@ -78,15 +78,6 @@ function FormActionBar({ toolbar }: { toolbar: any }) {
|
|
|
78
78
|
TabManagerContext
|
|
79
79
|
) as TabManagerContextType;
|
|
80
80
|
const { openRelate, openDefaultActionForModel } = tabManagerContext || {};
|
|
81
|
-
const prevFormIsSavingRef = useRef<boolean>(false);
|
|
82
|
-
|
|
83
|
-
useEffect(() => {
|
|
84
|
-
if (!formIsSaving && prevFormIsSavingRef.current) {
|
|
85
|
-
message.success(t("savedRegisters"));
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
prevFormIsSavingRef.current = formIsSaving || false;
|
|
89
|
-
}, [formIsSaving]);
|
|
90
81
|
|
|
91
82
|
function tryRefresh(callback: any) {
|
|
92
83
|
if (formHasChanges) {
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const parseError = (errorResponse: string) => {
|
|
2
|
+
let message;
|
|
3
|
+
let type;
|
|
4
|
+
let title;
|
|
5
|
+
|
|
6
|
+
if (
|
|
7
|
+
typeof errorResponse === "string" &&
|
|
8
|
+
errorResponse.indexOf(" -- ") !== -1 &&
|
|
9
|
+
errorResponse.indexOf("\n\n") !== -1
|
|
10
|
+
) {
|
|
11
|
+
const splitted = errorResponse.split("\n\n");
|
|
12
|
+
message = splitted[1].replace(/\n/g, "<br />");
|
|
13
|
+
const args = splitted[0].split(" -- ");
|
|
14
|
+
type = args[0];
|
|
15
|
+
title = args[1];
|
|
16
|
+
} else {
|
|
17
|
+
message = errorResponse;
|
|
18
|
+
type = "error";
|
|
19
|
+
title = "Error";
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
type,
|
|
24
|
+
message,
|
|
25
|
+
title,
|
|
26
|
+
};
|
|
27
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -39,6 +39,7 @@ import Dashboard from "@/widgets/views/Dashboard/Dashboard";
|
|
|
39
39
|
import { Tags } from "@/widgets/custom/Tags";
|
|
40
40
|
import { Tag } from "@/widgets/custom/Tag";
|
|
41
41
|
import { MultiCheckbox } from "./widgets/custom/MultiCheckbox";
|
|
42
|
+
import { Markdown } from "@/widgets/custom/Markdown";
|
|
42
43
|
import { Radio } from "@/widgets/custom/Radio";
|
|
43
44
|
import { Switch } from "@/widgets/custom/Switch";
|
|
44
45
|
import { Steps } from "@/widgets/custom/Steps";
|
|
@@ -148,6 +149,7 @@ export {
|
|
|
148
149
|
Tags,
|
|
149
150
|
Tag,
|
|
150
151
|
MultiCheckbox,
|
|
152
|
+
Markdown,
|
|
151
153
|
Radio,
|
|
152
154
|
Switch,
|
|
153
155
|
Steps,
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Markdown as MarkdownOOui } from "@gisce/ooui";
|
|
3
|
+
import "antd/dist/antd.css";
|
|
4
|
+
import LocaleProvider from "../../context/LocaleContext";
|
|
5
|
+
import { MarkdownInput } from "../../widgets/custom/Markdown";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Components/Widgets/Custom/Markdown",
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
export const Default = (): React.ReactElement => {
|
|
13
|
+
const ooui = new MarkdownOOui({
|
|
14
|
+
name: "enabled",
|
|
15
|
+
string: "Lorem ipsum",
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
const markdown = `A paragraph with *emphasis* and **strong importance**.
|
|
19
|
+
|
|
20
|
+
> A block quote with ~strikethrough~ and a URL: https://reactjs.org.
|
|
21
|
+
|
|
22
|
+
## Header 2
|
|
23
|
+
|
|
24
|
+
* Lists
|
|
25
|
+
* [ ] todo
|
|
26
|
+
* [x] done
|
|
27
|
+
|
|
28
|
+
A table:
|
|
29
|
+
|
|
30
|
+
| a | b |
|
|
31
|
+
| - | - |
|
|
32
|
+
`
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<LocaleProvider lang="en_US">
|
|
36
|
+
<MarkdownInput ooui={ooui} value={markdown} />
|
|
37
|
+
</LocaleProvider>
|
|
38
|
+
);
|
|
39
|
+
};
|
|
@@ -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: {
|
|
@@ -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
|
+
};
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
FloatTime,
|
|
27
27
|
ProgressBar,
|
|
28
28
|
MultiCheckbox,
|
|
29
|
+
Markdown,
|
|
29
30
|
Radio,
|
|
30
31
|
Switch,
|
|
31
32
|
Steps,
|
|
@@ -104,6 +105,8 @@ const getWidgetType = (type: string) => {
|
|
|
104
105
|
return Tag;
|
|
105
106
|
case "multicheckbox":
|
|
106
107
|
return MultiCheckbox;
|
|
108
|
+
case "markdown":
|
|
109
|
+
return Markdown;
|
|
107
110
|
case "radio":
|
|
108
111
|
return Radio;
|
|
109
112
|
case "switch":
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Field from "@/common/Field";
|
|
2
|
+
import ReactMarkdown from "react-markdown";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import {WidgetProps} from "@/types";
|
|
5
|
+
|
|
6
|
+
export const Markdown = (props: WidgetProps) => {
|
|
7
|
+
return (
|
|
8
|
+
<Field {...props}>
|
|
9
|
+
<MarkdownInput {...props} />
|
|
10
|
+
</Field>
|
|
11
|
+
);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const MarkdownInput = (props: any) => {
|
|
15
|
+
const {value} = props;
|
|
16
|
+
return (
|
|
17
|
+
<ReactMarkdown children={value}/>
|
|
18
|
+
)
|
|
19
|
+
}
|
|
@@ -56,6 +56,7 @@ import {
|
|
|
56
56
|
} from "@/context/ContentRootContext";
|
|
57
57
|
import { LocaleContext, LocaleContextType } from "@/context/LocaleContext";
|
|
58
58
|
import { convertToPlain2ManyValues } from "@/helpers/one2manyHelper";
|
|
59
|
+
import { ErrorAlert } from "@/ui/ErrorAlert";
|
|
59
60
|
|
|
60
61
|
export type FormProps = {
|
|
61
62
|
model: string;
|
|
@@ -632,6 +633,7 @@ function Form(props: FormProps, ref: any) {
|
|
|
632
633
|
|
|
633
634
|
await fetchValues();
|
|
634
635
|
submitSucceed = true;
|
|
636
|
+
message.success(t("savedRegisters"));
|
|
635
637
|
} catch (err) {
|
|
636
638
|
formSubmitting.current = false;
|
|
637
639
|
setIsSubmitting(false);
|
|
@@ -1060,14 +1062,7 @@ function Form(props: FormProps, ref: any) {
|
|
|
1060
1062
|
>
|
|
1061
1063
|
{({ measureRef }) => (
|
|
1062
1064
|
<div className="pb-2" ref={measureRef}>
|
|
1063
|
-
{error &&
|
|
1064
|
-
<Alert
|
|
1065
|
-
className="mt-10 mb-20"
|
|
1066
|
-
message={JSON.stringify(error)}
|
|
1067
|
-
type="error"
|
|
1068
|
-
banner
|
|
1069
|
-
/>
|
|
1070
|
-
)}
|
|
1065
|
+
{error && <ErrorAlert className="mt-10 mb-20" error={error} />}
|
|
1071
1066
|
{content()}
|
|
1072
1067
|
{showFooter && footer()}
|
|
1073
1068
|
</div>
|