@gisce/react-ooui 1.1.66 → 1.1.68
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/react-ooui.es.js +33 -11
- package/dist/react-ooui.es.js.map +1 -1
- package/dist/react-ooui.umd.js +3 -3
- package/dist/react-ooui.umd.js.map +1 -1
- package/dist/widgets/base/one2many/One2manyInput.d.ts.map +1 -1
- package/dist/widgets/custom/Avatar.d.ts +10 -0
- package/dist/widgets/custom/Avatar.d.ts.map +1 -0
- package/dist/widgets/views/Tree.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/stories/custom/Avatar.stories.tsx +27 -0
- package/src/stories/views/Tree.stories.jsx +12 -1
- package/src/widgets/base/one2many/One2manyInput.tsx +3 -5
- package/src/widgets/custom/Avatar.tsx +33 -0
- package/src/widgets/views/Tree.tsx +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"One2manyInput.d.ts","sourceRoot":"","sources":["One2manyInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAWvD,OAAO,EAAE,KAAK,EAAY,MAAM,SAAS,CAAC;AAkB1C,aAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC5B,CAAC;AAQF,aAAK,YAAY,GAAG;IAClB,SAAS,CAAC,EACN,UAAU,GACV,eAAe,GACf,eAAe,GACf,eAAe,GACf,aAAa,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,UAAU,kBAAkB;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;CACd;AAWD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"One2manyInput.d.ts","sourceRoot":"","sources":["One2manyInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAWvD,OAAO,EAAE,KAAK,EAAY,MAAM,SAAS,CAAC;AAkB1C,aAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC5B,CAAC;AAQF,aAAK,YAAY,GAAG;IAClB,SAAS,CAAC,EACN,UAAU,GACV,eAAe,GACf,eAAe,GACf,eAAe,GACf,aAAa,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,UAAU,kBAAkB;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;CACd;AAWD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4nB/C,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { WidgetProps } from '../../types';
|
|
3
|
+
import { Avatar as AvatarOoui } from "@gisce/ooui";
|
|
4
|
+
declare type AvatarProps = WidgetProps & {
|
|
5
|
+
ooui: AvatarOoui;
|
|
6
|
+
value?: any;
|
|
7
|
+
};
|
|
8
|
+
declare const Avatar: (props: AvatarProps) => React.ReactElement | null;
|
|
9
|
+
export default Avatar;
|
|
10
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAC,MAAM,aAAa,CAAC;AAGlD,aAAK,WAAW,GAAG,WAAW,GAAG;IAC/B,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,QAAA,MAAM,MAAM,UAAW,WAAW,KAAG,MAAM,YAAY,GAAG,IAmBzD,CAAA;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAuB3C,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,CAAC;AAkHF,iBAAS,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA4M9C;AAED,eAAe,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gisce/react-ooui",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.68",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"src",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@ant-design/plots": "^1.0.9",
|
|
39
|
-
"@gisce/ooui": "^0.
|
|
39
|
+
"@gisce/ooui": "^0.20.0",
|
|
40
40
|
"@gisce/react-formiga-table": "^0.5.0",
|
|
41
41
|
"@monaco-editor/react": "^4.4.5",
|
|
42
42
|
"@tabler/icons-react": "^2.11.0",
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React, {useState} from "react";
|
|
2
|
+
|
|
3
|
+
import { Avatar as AvatarOoui } from "@gisce/ooui";
|
|
4
|
+
import Avatar from "@/widgets/custom/Avatar";
|
|
5
|
+
import "antd/dist/antd.css";
|
|
6
|
+
import LocaleProvider from "../../context/LocaleContext";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "Components/Widgets/Custom/Avatar",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const Default = (): React.ReactElement => {
|
|
13
|
+
const ooui = new AvatarOoui({
|
|
14
|
+
name: "user",
|
|
15
|
+
string: "Lorem ipsum",
|
|
16
|
+
});
|
|
17
|
+
const value = "John Wick";
|
|
18
|
+
return (
|
|
19
|
+
<LocaleProvider lang="en_US">
|
|
20
|
+
<Avatar ooui={ooui} value={value} />
|
|
21
|
+
</LocaleProvider>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
@@ -25,6 +25,7 @@ Default.args = {
|
|
|
25
25
|
results: [
|
|
26
26
|
{
|
|
27
27
|
city: false,
|
|
28
|
+
user_id: [1, "John Wick"],
|
|
28
29
|
country: false,
|
|
29
30
|
id: 62,
|
|
30
31
|
lang: false,
|
|
@@ -36,6 +37,7 @@ Default.args = {
|
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
39
|
city: "Wavre",
|
|
40
|
+
user_id: [2, "JIGNACIO FERREIRO ANDRES"],
|
|
39
41
|
country: [20, "Belgium"],
|
|
40
42
|
id: 3,
|
|
41
43
|
lang: false,
|
|
@@ -47,6 +49,7 @@ Default.args = {
|
|
|
47
49
|
},
|
|
48
50
|
{
|
|
49
51
|
city: false,
|
|
52
|
+
user_id: [3, "JOSEFA REINA GUTIERREZ"],
|
|
50
53
|
country: false,
|
|
51
54
|
id: 106,
|
|
52
55
|
lang: "ca_ES",
|
|
@@ -58,6 +61,7 @@ Default.args = {
|
|
|
58
61
|
},
|
|
59
62
|
{
|
|
60
63
|
city: "Sevilla",
|
|
64
|
+
user_id: [4, "GUADALUPE CALERO CATALAN"],
|
|
61
65
|
country: [67, "España"],
|
|
62
66
|
id: 32,
|
|
63
67
|
lang: false,
|
|
@@ -70,6 +74,7 @@ Default.args = {
|
|
|
70
74
|
{
|
|
71
75
|
city: false,
|
|
72
76
|
country: [67, "España"],
|
|
77
|
+
user_id: [5, "ANDER BAUTISTA ROLDAN"],
|
|
73
78
|
id: 82,
|
|
74
79
|
lang: "es_ES",
|
|
75
80
|
name: "Apellido2 Apellido2, Nombre",
|
|
@@ -80,6 +85,7 @@ Default.args = {
|
|
|
80
85
|
},
|
|
81
86
|
{
|
|
82
87
|
city: "Zaragoza",
|
|
88
|
+
user_id: [7, "FELICIDAD PAEZ BARRERA"],
|
|
83
89
|
country: [67, "España"],
|
|
84
90
|
id: 33,
|
|
85
91
|
lang: false,
|
|
@@ -92,12 +98,17 @@ Default.args = {
|
|
|
92
98
|
],
|
|
93
99
|
treeView: {
|
|
94
100
|
arch:
|
|
95
|
-
`<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>`,
|
|
101
|
+
`<tree string="Partners">\n<field name="numeric" sum="Numeric"/><field name="user_id" widget="avatar"/><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
102
|
fields: {
|
|
97
103
|
progressbar: {
|
|
98
104
|
string: "Progress bar",
|
|
99
105
|
type: "progressbar",
|
|
100
106
|
},
|
|
107
|
+
user_id: {
|
|
108
|
+
string: "User",
|
|
109
|
+
type: "many2one",
|
|
110
|
+
relation: "res.users",
|
|
111
|
+
},
|
|
101
112
|
numeric: {
|
|
102
113
|
digits: [16, 3],
|
|
103
114
|
string: "Potència contractada (kW)",
|
|
@@ -195,8 +195,8 @@ const One2manyInput: React.FC<One2manyInputProps> = (
|
|
|
195
195
|
|
|
196
196
|
async function parseDomain() {
|
|
197
197
|
if (widgetDomain) {
|
|
198
|
-
transformedDomain.current =
|
|
199
|
-
|
|
198
|
+
transformedDomain.current =
|
|
199
|
+
await ConnectionProvider.getHandler().evalDomain({
|
|
200
200
|
domain: widgetDomain,
|
|
201
201
|
values: transformPlainMany2Ones({
|
|
202
202
|
fields: getFields(),
|
|
@@ -204,9 +204,7 @@ const One2manyInput: React.FC<One2manyInputProps> = (
|
|
|
204
204
|
}),
|
|
205
205
|
fields: getFields(),
|
|
206
206
|
context: getContext(),
|
|
207
|
-
})
|
|
208
|
-
widgetFieldName: fieldName,
|
|
209
|
-
});
|
|
207
|
+
});
|
|
210
208
|
}
|
|
211
209
|
|
|
212
210
|
if (domain && domain.length > 0) {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import {WidgetProps} from "@/types";
|
|
3
|
+
import { Avatar as AntdAvatar, Tooltip } from "antd";
|
|
4
|
+
import { Avatar as AvatarOoui} from "@gisce/ooui";
|
|
5
|
+
import { colorFromString } from "@/helpers/formHelper";
|
|
6
|
+
|
|
7
|
+
type AvatarProps = WidgetProps & {
|
|
8
|
+
ooui: AvatarOoui
|
|
9
|
+
value?: any;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const Avatar = (props: AvatarProps): React.ReactElement | null => {
|
|
13
|
+
console.log("Avatar Props", props);
|
|
14
|
+
const {ooui, value} = props;
|
|
15
|
+
if (!value) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
let formattedValue = value;
|
|
19
|
+
if (ooui.selectionValues.size) {
|
|
20
|
+
formattedValue = ooui.selectionValues.get(value);
|
|
21
|
+
} else if (Array.isArray(value)) {
|
|
22
|
+
formattedValue = value[1];
|
|
23
|
+
}
|
|
24
|
+
const text = formattedValue.toString().split(" ").filter((word:string) => word.length > 1).slice(0, 3).map((word:string) => word[0].toUpperCase()).join("");
|
|
25
|
+
const backgroundColor = colorFromString(formattedValue);
|
|
26
|
+
return (
|
|
27
|
+
<Tooltip title={formattedValue}>
|
|
28
|
+
<AntdAvatar alt={formattedValue} style={{backgroundColor}}>{text}</AntdAvatar>
|
|
29
|
+
</Tooltip>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default Avatar;
|
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
} from "@/context/ActionViewContext";
|
|
23
23
|
import { Many2oneTree } from "../base/many2one/Many2oneTree";
|
|
24
24
|
import { ReferenceTree } from "../base/ReferenceTree";
|
|
25
|
+
import Avatar from "../custom/Avatar";
|
|
25
26
|
import moment from "moment";
|
|
26
27
|
import { DatePickerConfig } from "@/common/DatePicker";
|
|
27
28
|
|
|
@@ -154,6 +155,10 @@ const referenceComponent = (
|
|
|
154
155
|
);
|
|
155
156
|
};
|
|
156
157
|
|
|
158
|
+
const AvatarFn = (value: any, key:string, ooui: any, context: any): React.ReactElement => (
|
|
159
|
+
<Avatar ooui={ooui} value={value} />
|
|
160
|
+
)
|
|
161
|
+
|
|
157
162
|
function Tree(props: Props): React.ReactElement {
|
|
158
163
|
const {
|
|
159
164
|
page = 1,
|
|
@@ -213,6 +218,7 @@ function Tree(props: Props): React.ReactElement {
|
|
|
213
218
|
selection: SelectionComponent,
|
|
214
219
|
date: dateComponentFn,
|
|
215
220
|
datetime: dateTimeComponentFn,
|
|
221
|
+
avatar: AvatarFn,
|
|
216
222
|
},
|
|
217
223
|
context
|
|
218
224
|
);
|