namirasoft-site-react 1.4.515 → 1.4.517

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.
@@ -4,5 +4,5 @@ export declare abstract class BaseColumnFormatter {
4
4
  width: string;
5
5
  onclick_overrided: boolean;
6
6
  abstract format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any;
7
- static getColumn(column: BaseMetaColumn, formatter: BaseColumnFormatter): TableColumnInfo;
7
+ static getColumn(column: BaseMetaColumn, formatter: BaseColumnFormatter, group?: string): TableColumnInfo;
8
8
  }
@@ -3,8 +3,9 @@ export class BaseColumnFormatter {
3
3
  this.width = "100px";
4
4
  this.onclick_overrided = false;
5
5
  }
6
- static getColumn(column, formatter) {
7
- return Object.assign(Object.assign({ index: 0 }, column), { formatter });
6
+ static getColumn(column, formatter, group) {
7
+ return Object.assign(Object.assign({ index: 0 }, column), { formatter,
8
+ group });
8
9
  }
9
10
  }
10
11
  //# sourceMappingURL=BaseColumnFormatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseColumnFormatter.js","sourceRoot":"","sources":["../../src/formatter/BaseColumnFormatter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,mBAAmB;IAAzC;QAEW,UAAK,GAAW,OAAO,CAAC;QACxB,sBAAiB,GAAY,KAAK,CAAC;IAU9C,CAAC;IARG,MAAM,CAAC,SAAS,CAAC,MAAsB,EAAE,SAA8B;QAEnE,qCACI,KAAK,EAAE,CAAC,IACL,MAAM,KACT,SAAS,IACX;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"BaseColumnFormatter.js","sourceRoot":"","sources":["../../src/formatter/BaseColumnFormatter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,mBAAmB;IAAzC;QAEW,UAAK,GAAW,OAAO,CAAC;QACxB,sBAAiB,GAAY,KAAK,CAAC;IAW9C,CAAC;IATG,MAAM,CAAC,SAAS,CAAC,MAAsB,EAAE,SAA8B,EAAE,KAAc;QAEnF,qCACI,KAAK,EAAE,CAAC,IACL,MAAM,KACT,SAAS;YACT,KAAK,IACP;IACN,CAAC;CACJ"}
@@ -2,5 +2,6 @@ import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
2
  import { TableColumnInfo, TableRowInfo } from "../main";
3
3
  export declare class JsonFormatter extends BaseColumnFormatter {
4
4
  constructor(width?: string);
5
+ private isJsonSerializable;
5
6
  format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any;
6
7
  }
@@ -7,14 +7,34 @@ export class JsonFormatter extends BaseColumnFormatter {
7
7
  if (width)
8
8
  this.width = width;
9
9
  }
10
- format(value, _, __, printable) {
10
+ isJsonSerializable(v) {
11
11
  try {
12
- let parsed = JSON.parse(String(value).trim());
13
- if (!printable)
14
- return _jsx(JsonView, { value: parsed });
12
+ JSON.stringify(v);
13
+ return true;
14
+ }
15
+ catch (_a) {
16
+ return false;
17
+ }
18
+ }
19
+ format(value, _, __, printable) {
20
+ let parsed = value;
21
+ if (typeof value === "string")
22
+ try {
23
+ parsed = JSON.parse(value.trim());
24
+ }
25
+ catch (_a) {
26
+ return value;
27
+ }
28
+ if (printable)
29
+ return parsed;
30
+ if (parsed === null || typeof parsed !== "object")
15
31
  return parsed;
32
+ if (!this.isJsonSerializable(parsed))
33
+ return value;
34
+ try {
35
+ return _jsx(JsonView, { value: parsed });
16
36
  }
17
- catch (error) {
37
+ catch (_b) {
18
38
  return value;
19
39
  }
20
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JsonFormatter.js","sourceRoot":"","sources":["../../src/formatter/JsonFormatter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,OAAO,aAAc,SAAQ,mBAAmB;IAElD,YAAY,QAAgB,OAAO;QAE/B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEQ,MAAM,CAAC,KAAU,EAAE,CAAkB,EAAE,EAAqB,EAAE,SAAkB;QAErF,IACA,CAAC;YACG,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,SAAS;gBACV,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,GAAI,CAAC;YAEvC,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,EACZ,CAAC;YACG,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"JsonFormatter.js","sourceRoot":"","sources":["../../src/formatter/JsonFormatter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,OAAO,aAAc,SAAQ,mBAAmB;IAElD,YAAY,QAAgB,OAAO;QAE/B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEO,kBAAkB,CAAC,CAAU;QAEjC,IACA,CAAC;YACG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,WACA,CAAC;YACG,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEQ,MAAM,CAAC,KAAU,EAAE,CAAkB,EAAE,EAAqB,EAAE,SAAkB;QAErF,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,OAAO,KAAK,KAAK,QAAQ;YACzB,IACA,CAAC;gBACG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,WACA,CAAC;gBACG,OAAO,KAAK,CAAC;YACjB,CAAC;QAEL,IAAI,SAAS;YACT,OAAO,MAAM,CAAC;QAElB,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC7C,OAAO,MAAM,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAChC,OAAO,KAAK,CAAC;QAEjB,IACA,CAAC;YACG,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,GAAI,CAAC;QACvC,CAAC;QACD,WACA,CAAC;YACG,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.515",
11
+ "version": "1.4.517",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -36,7 +36,7 @@
36
36
  "copyfiles": "^2.4.1",
37
37
  "link-react": "^3.0.0",
38
38
  "namirasoft-api-link": "^1.4.20",
39
- "namirasoft-api-product": "^1.4.48",
39
+ "namirasoft-api-product": "^1.4.50",
40
40
  "namirasoft-core": "^1.4.111",
41
41
  "namirasoft-schema": "^1.4.27",
42
42
  "namirasoft-site": "^1.4.44",
@@ -6,12 +6,13 @@ export abstract class BaseColumnFormatter
6
6
  public width: string = "100px";
7
7
  public onclick_overrided: boolean = false;
8
8
  abstract format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any;
9
- static getColumn(column: BaseMetaColumn, formatter: BaseColumnFormatter): TableColumnInfo
9
+ static getColumn(column: BaseMetaColumn, formatter: BaseColumnFormatter, group?: string): TableColumnInfo
10
10
  {
11
11
  return {
12
12
  index: 0,
13
13
  ...column,
14
- formatter
14
+ formatter,
15
+ group
15
16
  };
16
17
  }
17
18
  }
@@ -11,18 +11,47 @@ export class JsonFormatter extends BaseColumnFormatter
11
11
  this.width = width;
12
12
  }
13
13
 
14
- override format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any
14
+ private isJsonSerializable(v: unknown): boolean
15
15
  {
16
16
  try
17
17
  {
18
- let parsed = JSON.parse(String(value).trim());
18
+ JSON.stringify(v);
19
+ return true;
20
+ }
21
+ catch
22
+ {
23
+ return false;
24
+ }
25
+ }
26
+
27
+ override format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any
28
+ {
29
+ let parsed = value;
19
30
 
20
- if (!printable)
21
- return <JsonView value={parsed} />;
31
+ if (typeof value === "string")
32
+ try
33
+ {
34
+ parsed = JSON.parse(value.trim());
35
+ }
36
+ catch
37
+ {
38
+ return value;
39
+ }
22
40
 
41
+ if (printable)
23
42
  return parsed;
43
+
44
+ if (parsed === null || typeof parsed !== "object")
45
+ return parsed;
46
+
47
+ if (!this.isJsonSerializable(parsed))
48
+ return value;
49
+
50
+ try
51
+ {
52
+ return <JsonView value={parsed} />;
24
53
  }
25
- catch (error)
54
+ catch
26
55
  {
27
56
  return value;
28
57
  }