@gisce/react-ooui 1.1.58-rc.1 → 1.1.58

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":"WidgetFactory.d.ts","sourceRoot":"","sources":["WidgetFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuH1B,QAAA,MAAM,iBAAiB,UAAW,GAAG,+DAWpC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,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,5 @@
1
+ /// <reference types="react" />
2
+ import { WidgetProps } from '../../types';
3
+ export declare const Markdown: (props: WidgetProps) => JSX.Element;
4
+ export declare const MarkdownInput: (props: any) => JSX.Element;
5
+ //# sourceMappingURL=Markdown.d.ts.map
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gisce/react-ooui",
3
- "version": "1.1.58-rc.1",
3
+ "version": "1.1.58",
4
4
  "files": [
5
5
  "dist",
6
6
  "src",
@@ -49,6 +49,7 @@
49
49
  "react-dom": "^17.0.1",
50
50
  "react-grid-layout": "^1.3.4",
51
51
  "react-hotkeys-hook": "^3.4.4",
52
+ "react-markdown": "^8.0.7",
52
53
  "react-measure": "^2.5.2",
53
54
  "use-deep-compare-effect": "^1.8.1",
54
55
  "validator": "^13.6.0"
@@ -1,4 +1,4 @@
1
- import { FormView, GenerateReportOptions, ViewType } from "@/types";
1
+ import { FormView, GenerateReportOptions } from "@/types";
2
2
  import React, {
3
3
  useContext,
4
4
  useRef,
@@ -261,12 +261,33 @@ const ContentRootProvider = (
261
261
 
262
262
  return {};
263
263
  } else {
264
- const { initialView, views } = await getViewsAndInitialView({
265
- model: actionData.res_model,
266
- context: mergedContext,
267
- view_mode: actionData.view_mode,
268
- views: actionData.views,
269
- });
264
+ let initialView;
265
+ const viewTypes = actionData.view_mode.split(",");
266
+ const views = [];
267
+
268
+ for (const viewType of viewTypes) {
269
+ const viewData = await ConnectionProvider.getHandler().getView({
270
+ model: actionData.res_model,
271
+ type: viewType,
272
+ context: mergedContext,
273
+ });
274
+ views.push([viewData.view_id, viewType]);
275
+ }
276
+
277
+ if (!actionData.view_id) {
278
+ const type = actionData.view_mode.split(",")[0];
279
+
280
+ const [retrievedViewId] = views.find(
281
+ ([_, viewType]) => viewType === type
282
+ )!;
283
+
284
+ initialView = { id: retrievedViewId, type };
285
+ } else {
286
+ initialView = {
287
+ id: actionData.view_id,
288
+ type: actionData.view_mode.split(",")[0],
289
+ };
290
+ }
270
291
 
271
292
  openAction?.({
272
293
  target: "current",
@@ -394,61 +415,4 @@ const ContentRootProvider = (
394
415
  );
395
416
  };
396
417
 
397
- async function getViewsAndInitialView({
398
- views,
399
- view_mode,
400
- model,
401
- context,
402
- view_id,
403
- }: {
404
- views: any[];
405
- view_mode: string;
406
- model: string;
407
- context: any;
408
- view_id?: number;
409
- }) {
410
- const retriedViewData = [];
411
- let initialView;
412
-
413
- if (views) {
414
- for (const view of views) {
415
- const viewData = await ConnectionProvider.getHandler().getView({
416
- model,
417
- type: view[1],
418
- id: view[0],
419
- context,
420
- });
421
- retriedViewData.push([viewData.view_id, view[1]]);
422
- }
423
- } else {
424
- const viewTypes = view_mode.split(",");
425
- for (const viewType of viewTypes) {
426
- const viewData = await ConnectionProvider.getHandler().getView({
427
- model,
428
- type: viewType as ViewType,
429
- context,
430
- });
431
- retriedViewData.push([viewData.view_id, viewType]);
432
- }
433
- }
434
- if (views && views.length > 0) {
435
- const { id, type } = views[0];
436
- initialView = {
437
- id,
438
- type,
439
- };
440
- } else if (!view_id) {
441
- const type = view_mode.split(",")[0];
442
- const [retrievedViewId] = views.find(([_, viewType]) => viewType === type)!;
443
- initialView = { id: retrievedViewId, type };
444
- } else {
445
- initialView = {
446
- id: view_id,
447
- type: view_mode.split(",")[0],
448
- };
449
- }
450
-
451
- return { views: retriedViewData, initialView };
452
- }
453
-
454
418
  export default forwardRef(ContentRootProvider);
package/src/index.ts CHANGED
@@ -38,6 +38,7 @@ import Dashboard from "@/widgets/views/Dashboard/Dashboard";
38
38
  import { Tags } from "@/widgets/custom/Tags";
39
39
  import { Tag } from "@/widgets/custom/Tag";
40
40
  import { MultiCheckbox } from "./widgets/custom/MultiCheckbox";
41
+ import { Markdown } from "@/widgets/custom/Markdown";
41
42
  import { Radio } from "@/widgets/custom/Radio";
42
43
  import { Switch } from "@/widgets/custom/Switch";
43
44
  import { Steps } from "@/widgets/custom/Steps";
@@ -147,6 +148,7 @@ export {
147
148
  Tags,
148
149
  Tag,
149
150
  MultiCheckbox,
151
+ Markdown,
150
152
  Radio,
151
153
  Switch,
152
154
  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: {
@@ -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
+ }