@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.
@@ -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,CA8nB/C,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC"}
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;AAsB3C,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;AA8GF,iBAAS,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA2M9C;AAED,eAAe,IAAI,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.66",
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.19.6",
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 = transformDomainForChildWidget({
199
- domain: await ConnectionProvider.getHandler().evalDomain({
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
  );