@gisce/react-ooui 1.2.0-rc.41 → 1.2.0-rc.43

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":"SearchTree.d.ts","sourceRoot":"","sources":["SearchTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgBnD,aAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,KAAK,IAAI,CAAC;CAC1D,CAAC;;AA8SF,wBAAsC"}
1
+ {"version":3,"file":"SearchTree.d.ts","sourceRoot":"","sources":["SearchTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgBnD,aAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,KAAK,IAAI,CAAC;CAC1D,CAAC;;AA+SF,wBAAsC"}
@@ -14,6 +14,7 @@ declare type Props = {
14
14
  searchError?: string;
15
15
  searchValues?: any;
16
16
  showLimitOptions?: boolean;
17
+ formXml: string;
17
18
  };
18
19
  declare function SearchFilter(props: Props): JSX.Element;
19
20
  export default SearchFilter;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.d.ts","sourceRoot":"","sources":["SearchFilter.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,aAAK,KAAK,GAAG;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,iBAAS,YAAY,CAAC,KAAK,EAAE,KAAK,eAmHjC;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"SearchFilter.d.ts","sourceRoot":"","sources":["SearchFilter.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,aAAK,KAAK,GAAG;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,iBAAS,YAAY,CAAC,KAAK,EAAE,KAAK,eAwHjC;AAED,eAAe,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gisce/react-ooui",
3
- "version": "1.2.0-rc.41",
3
+ "version": "1.2.0-rc.43",
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.17.14-rc.0",
39
+ "@gisce/ooui": "^0.17.14-rc.1",
40
40
  "@gisce/react-formiga-components": "^1.0.9-rc.14",
41
41
  "@gisce/react-formiga-table": "^0.5.0",
42
42
  "@monaco-editor/react": "^4.4.5",
@@ -344,9 +344,8 @@ function FormActionBar({ toolbar }: { toolbar: any }) {
344
344
  return;
345
345
  }
346
346
 
347
- const result = await saveNewDocumentIfNeeded({
347
+ const result = await saveDocument({
348
348
  onFormSave,
349
- currentId,
350
349
  });
351
350
 
352
351
  if (!result.succeed) {
@@ -365,9 +364,8 @@ function FormActionBar({ toolbar }: { toolbar: any }) {
365
364
  if (!report) {
366
365
  return;
367
366
  }
368
- const result = await saveNewDocumentIfNeeded({
367
+ const result = await saveDocument({
369
368
  onFormSave,
370
- currentId,
371
369
  });
372
370
 
373
371
  if (!result.succeed) {
@@ -393,9 +391,8 @@ function FormActionBar({ toolbar }: { toolbar: any }) {
393
391
  return;
394
392
  }
395
393
 
396
- const result = await saveNewDocumentIfNeeded({
394
+ const result = await saveDocument({
397
395
  onFormSave,
398
- currentId,
399
396
  });
400
397
 
401
398
  if (!result.succeed) {
@@ -415,9 +412,8 @@ function FormActionBar({ toolbar }: { toolbar: any }) {
415
412
  disabled={mustDisableButtons}
416
413
  attachments={attachments}
417
414
  onAddNewAttachment={async () => {
418
- const result = await saveNewDocumentIfNeeded({
415
+ const result = await saveDocument({
419
416
  onFormSave,
420
- currentId,
421
417
  });
422
418
 
423
419
  if (!result.succeed) {
@@ -439,9 +435,8 @@ function FormActionBar({ toolbar }: { toolbar: any }) {
439
435
  });
440
436
  }}
441
437
  onListAllAttachments={async () => {
442
- const result = await saveNewDocumentIfNeeded({
438
+ const result = await saveDocument({
443
439
  onFormSave,
444
- currentId,
445
440
  });
446
441
 
447
442
  if (!result.succeed) {
@@ -460,9 +455,8 @@ function FormActionBar({ toolbar }: { toolbar: any }) {
460
455
  });
461
456
  }}
462
457
  onViewAttachmentDetails={async (attachment: Attachment) => {
463
- const result = await saveNewDocumentIfNeeded({
458
+ const result = await saveDocument({
464
459
  onFormSave,
465
- currentId,
466
460
  });
467
461
 
468
462
  if (!result.succeed) {
@@ -484,18 +478,12 @@ function separator() {
484
478
  return <div className="inline-block w-2" />;
485
479
  }
486
480
 
487
- async function saveNewDocumentIfNeeded({
481
+ async function saveDocument({
488
482
  onFormSave,
489
- currentId,
490
483
  }: {
491
484
  onFormSave?: () => Promise<{ succeed: boolean; id: number }>;
492
- currentId: number | undefined;
493
485
  }): Promise<{ succeed: boolean; currentId?: number }> {
494
- if (currentId !== undefined) {
495
- return { succeed: true, currentId: currentId };
496
- }
497
486
  const result = await onFormSave?.();
498
-
499
487
  if (result?.succeed) {
500
488
  return { succeed: true, currentId: result.id };
501
489
  } else {
@@ -5,14 +5,14 @@ const convertBooleanParamIfNeeded = (value: any) => {
5
5
  return value;
6
6
  };
7
7
 
8
- export const getParamsForFields = (values: any, fields: any) => {
8
+ export const getParamsForFields = (values: any, widgetContainer: any) => {
9
9
  const filteredValues = removeUndefinedFields(values);
10
10
  const groupedDateTime = groupDateTimeValuesIfNeeded(filteredValues);
11
- const groupedValues = ungroupDateValuesIfNeeded(groupedDateTime, fields);
11
+ const groupedValues = ungroupDateValuesIfNeeded(groupedDateTime, widgetContainer);
12
12
 
13
13
  const params = [
14
14
  ...Object.keys(groupedValues).map((key) => {
15
- return getParamForField(key, groupedValues[key], fields);
15
+ return getParamForField(key, groupedValues[key], widgetContainer);
16
16
  }),
17
17
  ];
18
18
 
@@ -27,9 +27,9 @@ export const getParamsForFields = (values: any, fields: any) => {
27
27
  return paramsForFields;
28
28
  };
29
29
 
30
- const getParamForField = (key: string, value: any, fields: any) => {
30
+ const getParamForField = (key: string, value: any, widgetContainer: any) => {
31
31
  const filteredKey = key.split("#")[0];
32
- const type = fields[filteredKey].type;
32
+ const type = widgetContainer.findById(filteredKey)?.type;
33
33
 
34
34
  if (
35
35
  type === "char" ||
@@ -127,9 +127,10 @@ export const groupDateTimeValuesIfNeeded = (values: any) => {
127
127
  return newValues;
128
128
  };
129
129
 
130
- const ungroupDateValuesIfNeeded = (values: any, fields: any) => {
130
+ const ungroupDateValuesIfNeeded = (values: any, widgetContainer: any) => {
131
131
  const dateFields = Object.keys(values).filter((key) => {
132
- return fields[key] && fields[key].type === "date";
132
+ const widget = widgetContainer.findById(key);
133
+ return widget && widget.type === "date";
133
134
  });
134
135
 
135
136
  let newValues: any = { ...values };
@@ -295,6 +295,7 @@ function SearchTree(props: Props, ref: any) {
295
295
  formView.search_fields,
296
296
  treeView.search_fields,
297
297
  ])}
298
+ formXml={formView.arch}
298
299
  onClear={clear}
299
300
  limit={limit}
300
301
  offset={offset}
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from "react";
1
+ import React, { useEffect, useRef, useState } from "react";
2
2
  import { Form, Row, Col, Alert } from "antd";
3
3
  import useDeepCompareEffect from "use-deep-compare-effect";
4
4
 
@@ -30,6 +30,7 @@ type Props = {
30
30
  searchError?: string;
31
31
  searchValues?: any;
32
32
  showLimitOptions?: boolean;
33
+ formXml: string;
33
34
  };
34
35
 
35
36
  function SearchFilter(props: Props) {
@@ -47,11 +48,13 @@ function SearchFilter(props: Props) {
47
48
  searchError,
48
49
  searchValues,
49
50
  showLimitOptions = true,
51
+ formXml,
50
52
  } = props;
51
53
 
52
54
  const [simpleSearchFields, setSimpleSearchFields] = useState<Container>();
53
55
  const [advancedSearchFields, setAdvancedSearchFields] = useState<Container>();
54
56
  const [advancedFilter, setAdvancedFilter] = useState(false);
57
+ const sfo = useRef<SearchFilterOoui>();
55
58
 
56
59
  const [form] = Form.useForm();
57
60
 
@@ -84,10 +87,10 @@ function SearchFilter(props: Props) {
84
87
 
85
88
  useDeepCompareEffect(() => {
86
89
  setAdvancedFilter(false);
87
- const sfo = new SearchFilterOoui(searchFields, fields);
88
- sfo.parse();
89
- setSimpleSearchFields(sfo._simpleSearchContainer);
90
- setAdvancedSearchFields(sfo._advancedSearchContainer);
90
+ sfo.current = new SearchFilterOoui(searchFields, fields, formXml);
91
+ sfo.current.parse();
92
+ setSimpleSearchFields(sfo.current._simpleSearchContainer);
93
+ setAdvancedSearchFields(sfo.current._advancedSearchContainer);
91
94
  }, [fields, searchFields]);
92
95
 
93
96
  const rows = getRowsAndCols();
@@ -96,7 +99,10 @@ function SearchFilter(props: Props) {
96
99
  const { limit, offset } = values;
97
100
  delete values.offset;
98
101
  delete values.limit;
99
- const newParams = getParamsForFields(values, fields);
102
+ const newParams = getParamsForFields(
103
+ values,
104
+ sfo.current?._advancedSearchContainer
105
+ );
100
106
 
101
107
  onSubmit({ params: newParams, offset, limit, searchValues: values });
102
108
  };