namirasoft-account-react 1.4.159 → 1.4.160

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.
@@ -0,0 +1,6 @@
1
+ import { EntityCategoryInputRow, EntityFieldInputRow, EntityTagInputRow } from "namirasoft-field";
2
+ export interface CTFRow {
3
+ categories: EntityCategoryInputRow[];
4
+ fields: EntityFieldInputRow[];
5
+ tags: EntityTagInputRow[];
6
+ }
package/dist/CTFRow.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CTFRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CTFRow.js","sourceRoot":"","sources":["../src/CTFRow.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { CTFRow } from "../CTFRow";
2
+ export declare class CFTUtil {
3
+ static get(name: string, row: any): CTFRow;
4
+ static set(name: string, row: any, ctf: CTFRow): void;
5
+ }
@@ -0,0 +1,15 @@
1
+ export class CFTUtil {
2
+ static get(name, row) {
3
+ return {
4
+ categories: row[name + "_category"],
5
+ fields: row[name + "_field"],
6
+ tags: row[name + "_tag"],
7
+ };
8
+ }
9
+ static set(name, row, ctf) {
10
+ row[name + "_field"] = ctf.fields;
11
+ row[name + "_category"] = ctf.categories;
12
+ row[name + "_tag"] = ctf.tags;
13
+ }
14
+ }
15
+ //# sourceMappingURL=CFTUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CFTUtil.js","sourceRoot":"","sources":["../../src/layouts/CFTUtil.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IAEhB,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,GAAQ;QAE7B,OAAO;YACH,UAAU,EAAE,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;SAC3B,CAAC;IACN,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,GAAQ,EAAE,GAAW;QAE1C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC;QACzC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IAClC,CAAC;CACJ"}
@@ -1,13 +1,22 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { NSBox, NSBoxBooleans, NSBoxDynamic, NSColumn, NSRepeater, NSRow, NSTabPage, NSTag } from "namirasoft-site-react";
3
3
  import { Component, createRef } from "react";
4
+ import { CFTUtil } from "./CFTUtil";
4
5
  export class NSASectionEditTabPage extends Component {
5
6
  constructor(props) {
7
+ var _a, _b;
6
8
  super(props);
7
9
  this.Fields_Refs = {};
8
10
  this.Categories_Refs = {};
9
11
  this.Tags_Refs = createRef();
10
12
  this.state = { entity: null };
13
+ if (props.ctf.enabled) {
14
+ (_a = props.ctf.fields) === null || _a === void 0 ? void 0 : _a.forEach(field => this.Fields_Refs[field.name] = createRef());
15
+ (_b = props.ctf.categories) === null || _b === void 0 ? void 0 : _b.forEach(category => {
16
+ if (!this.Categories_Refs[category.group])
17
+ this.Categories_Refs[category.group] = createRef();
18
+ });
19
+ }
11
20
  this.getLoadedEntity = this.getLoadedEntity.bind(this);
12
21
  this.setEntity = this.setEntity.bind(this);
13
22
  this.getEntity = this.getEntity.bind(this);
@@ -19,21 +28,14 @@ export class NSASectionEditTabPage extends Component {
19
28
  }
20
29
  setEntity(entity) {
21
30
  this.props.setEntity(entity);
22
- if (this.props.ctf.enabled) {
23
- let entity_fields = entity;
24
- this.setFields(entity_fields[this.props.entity.name + "_field"], entity_fields[this.props.entity.name + "_category"], entity_fields[this.props.entity.name + "_tag"]);
25
- }
31
+ if (this.props.ctf.enabled)
32
+ this.setFields(CFTUtil.get(this.props.entity.name, entity));
26
33
  this.setState(prev => { return Object.assign(Object.assign({}, prev), { entity }); });
27
34
  }
28
35
  getEntity() {
29
36
  let entity = this.props.getEntity(this.state.entity);
30
- if (this.props.ctf.enabled) {
31
- let { fields, categories, tags } = this.getFields();
32
- let entity_fields = entity;
33
- entity_fields[this.props.entity.name + "_field"] = fields;
34
- entity_fields[this.props.entity.name + "_category"] = categories;
35
- entity_fields[this.props.entity.name + "_tag"] = tags;
36
- }
37
+ if (this.props.ctf.enabled)
38
+ CFTUtil.set(this.props.entity.name, entity, this.getFields());
37
39
  return entity;
38
40
  }
39
41
  getFields() {
@@ -53,10 +55,10 @@ export class NSASectionEditTabPage extends Component {
53
55
  }
54
56
  if (this.Tags_Refs.current)
55
57
  tags = this.Tags_Refs.current.getValue().map(x => { return { name: x.name, value: x.value }; });
56
- return { fields, categories, tags };
58
+ return { categories, fields, tags };
57
59
  }
58
- setFields(fields, categories, tags) {
59
- for (let field of fields) {
60
+ setFields(ctf) {
61
+ for (let field of ctf.fields) {
60
62
  let ref = this.Fields_Refs[field.field_id];
61
63
  if (ref.current)
62
64
  ref.current.setValue(field.value);
@@ -64,10 +66,10 @@ export class NSASectionEditTabPage extends Component {
64
66
  for (let key of Object.keys(this.Categories_Refs)) {
65
67
  let ref = this.Categories_Refs[key];
66
68
  if (ref.current)
67
- ref.current.setValues(categories.map(x => x.category_id));
69
+ ref.current.setValues(ctf.categories.map(x => x.category_id));
68
70
  }
69
71
  if (this.Tags_Refs.current)
70
- this.Tags_Refs.current.setValue(tags.map(x => { var _a; return { name: x.name, value: (_a = x.value) !== null && _a !== void 0 ? _a : "" }; }));
72
+ this.Tags_Refs.current.setValue(ctf.tags.map(x => { var _a; return { name: x.name, value: (_a = x.value) !== null && _a !== void 0 ? _a : "" }; }));
71
73
  }
72
74
  componentDidMount() {
73
75
  if (this.props.id)
@@ -1 +1 @@
1
- {"version":3,"file":"NSASectionEditTabPage.js","sourceRoot":"","sources":["../../src/layouts/NSASectionEditTabPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSASectionEditTabPage.js","sourceRoot":"","sources":["../../src/layouts/NSASectionEditTabPage.tsx"],"names":[],"mappings":"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"}
@@ -6,9 +6,11 @@ export interface NSASectionTabsProps {
6
6
  export interface NSASectionTabsItemsProps {
7
7
  enabled: true;
8
8
  items: {
9
- information?: boolean;
10
- history?: boolean;
9
+ general?: boolean;
10
+ field?: boolean;
11
+ category?: boolean;
11
12
  tag?: boolean;
13
+ history?: boolean;
12
14
  };
13
15
  }
14
16
  export interface NSASectionTabsRef {
@@ -7,15 +7,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
11
- import Styles from "./NSASectionTabs.module.css";
10
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
12
11
  import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from "react";
13
12
  import { EnvService, FilterItem, FilterItemOperator } from "namirasoft-core";
14
- import { BaseColumnFormatter, DateTimeFormatter, IDFormatter, NSLabel, NSLoading, NSRepeater, NSTable, NSTabPage, StringFormatter, NSTag, StringFormatterSizeType } from "namirasoft-site-react";
13
+ import { BaseColumnFormatter, DateTimeFormatter, IDFormatter, NSLabel, NSLoading, NSTable, NSTabPage, StringFormatter, StringFormatterSizeType } from "namirasoft-site-react";
15
14
  import { NamirasoftHistoryMetaDatabase, NamirasoftHistoryServer } from "namirasoft-history";
15
+ import { CFTUtil } from "./CFTUtil";
16
16
  export const NSASectionTabs = forwardRef((_props, ref) => {
17
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
17
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
18
18
  let props = _props;
19
+ if (!((_b = (_a = props.tabs) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : true))
20
+ return _jsx(_Fragment, {});
19
21
  const NSTabPage_Ref = useRef(null);
20
22
  let [state, setState] = useState({ row: null });
21
23
  useEffect(() => {
@@ -30,65 +32,97 @@ export const NSASectionTabs = forwardRef((_props, ref) => {
30
32
  const tabs = [];
31
33
  if (props.id) {
32
34
  if (props.entity.server.get)
33
- if ((_b = (_a = props.tabs) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : true)
34
- if ((_d = (_c = props.tabs) === null || _c === void 0 ? void 0 : _c.items.information) !== null && _d !== void 0 ? _d : true)
35
+ if ((_d = (_c = props.tabs) === null || _c === void 0 ? void 0 : _c.items.general) !== null && _d !== void 0 ? _d : true)
36
+ tabs.push({
37
+ title: 'General',
38
+ clicked: false,
39
+ getContent: () => {
40
+ if (state.row == null)
41
+ return _jsx(NSLoading, {});
42
+ return _jsx("div", { children: props.entity.client.getColumns().map((column, index) => {
43
+ let value = state.row[column.name];
44
+ let formatted = column.formatter.format(value, column, { index: 0, value: state.row }, false);
45
+ return _jsx(NSLabel, { title: column.text + ":", children: _jsx("div", { children: formatted }) }, `NSASectionTabs_NSLabel_key_${index}`);
46
+ }) });
47
+ }
48
+ });
49
+ if (props.entity.server.get) {
50
+ if ((_f = (_e = props.tabs) === null || _e === void 0 ? void 0 : _e.items.field) !== null && _f !== void 0 ? _f : true) {
51
+ let groups = Array.from(new Set((_h = (_g = props.ctf.fields) === null || _g === void 0 ? void 0 : _g.map(x => x.group)) !== null && _h !== void 0 ? _h : []));
52
+ groups.forEach(group => {
35
53
  tabs.push({
36
- title: 'Information',
54
+ title: group,
37
55
  clicked: false,
38
56
  getContent: () => {
57
+ var _a;
39
58
  if (state.row == null)
40
59
  return _jsx(NSLoading, {});
41
- return _jsx("div", { className: Styles.nsa_section_tabs_information, children: props.entity.client.getColumns().map((column, index) => {
42
- let value = state.row[column.name];
43
- let formatted = column.formatter.format(value, column, { index: 0, value: state.row }, false);
44
- return _jsx(NSLabel, { title: column.text + ":", classList: [Styles.nsa_section_tabs_information_item], children: _jsx("div", { children: formatted }) }, `NSASectionTabs_NSLabel_key_${index}`);
60
+ let ctf = CFTUtil.get(props.entity.name, state.row);
61
+ return _jsx("div", { children: (_a = props.ctf.fields) === null || _a === void 0 ? void 0 : _a.filter(x => x.group === group).map((field, index) => {
62
+ return _jsx(NSLabel, { title: field.name + ":", children: _jsx("div", { children: ctf.fields.filter(f => f.field_id == field.id).map(f => f.value).join(", ") }) }, `NSASectionTabs_NSLabel_key_${index}`);
45
63
  }) });
46
64
  }
47
65
  });
48
- if ((_f = (_e = props.tabs) === null || _e === void 0 ? void 0 : _e.enabled) !== null && _f !== void 0 ? _f : true)
49
- if ((_h = (_g = props.tabs) === null || _g === void 0 ? void 0 : _g.items.history) !== null && _h !== void 0 ? _h : true)
50
- tabs.push({
51
- title: 'History',
52
- clicked: false,
53
- getContent: () => {
54
- return _jsx(NSTable, { name: "History", checkbox: false, columns: [
55
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.id, new IDFormatter()),
56
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.user_id, new IDFormatter()),
57
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.session_id, new IDFormatter()),
58
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_name, new StringFormatter(StringFormatterSizeType.TwoWords)),
59
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_id, new IDFormatter()),
60
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.action, new StringFormatter(StringFormatterSizeType.Word)),
61
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.created_at, new DateTimeFormatter()),
62
- ], getRows: () => __awaiter(void 0, void 0, void 0, function* () {
63
- if (props.id) {
64
- let REACT_APP_BASE_URL_HISTORY = new EnvService("REACT_APP_BASE_URL_HISTORY", true).getString();
65
- let server = new NamirasoftHistoryServer(REACT_APP_BASE_URL_HISTORY, props.account.token_manager, props.notifier.onError);
66
- let filters = [new FilterItem(NamirasoftHistoryMetaDatabase.main.tables.history, NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_id, false, FilterItemOperator.all.equals, props.id)];
67
- return yield server.history.List(filters, null, null, [], null);
68
- }
69
- return { rows: [], count: 0 };
70
- }), getRowKey: row => row.value.id, style: { width: "100%" } });
71
- }
72
66
  });
73
- if ((_k = (_j = props.tabs) === null || _j === void 0 ? void 0 : _j.enabled) !== null && _k !== void 0 ? _k : true)
74
- if ((_m = (_l = props.tabs) === null || _l === void 0 ? void 0 : _l.items.tag) !== null && _m !== void 0 ? _m : true)
67
+ }
68
+ if ((_k = (_j = props.tabs) === null || _j === void 0 ? void 0 : _j.items.category) !== null && _k !== void 0 ? _k : true) {
69
+ let groups = Array.from(new Set((_m = (_l = props.ctf.categories) === null || _l === void 0 ? void 0 : _l.map(x => x.group)) !== null && _m !== void 0 ? _m : []));
70
+ groups.forEach(group => {
71
+ tabs.push({
72
+ title: group,
73
+ clicked: false,
74
+ getContent: () => {
75
+ var _a;
76
+ if (state.row == null)
77
+ return _jsx(NSLoading, {});
78
+ let ctf = CFTUtil.get(props.entity.name, state.row);
79
+ let ids = ctf.categories.map(c => c.category_id);
80
+ return _jsx("div", { children: (_a = props.ctf.categories) === null || _a === void 0 ? void 0 : _a.filter(x => x.group === group && ids.includes(x.id)).map((category, index) => {
81
+ return _jsx(NSLabel, { title: category.name }, `NSASectionTabs_NSLabel_key_${index}`);
82
+ }) });
83
+ }
84
+ });
85
+ });
86
+ }
87
+ if ((_p = (_o = props.tabs) === null || _o === void 0 ? void 0 : _o.items.tag) !== null && _p !== void 0 ? _p : true)
75
88
  tabs.push({
76
89
  title: 'Tag',
77
90
  clicked: false,
78
91
  getContent: () => {
79
- return _jsx(NSRepeater, { createItem: (_, lIndex, ref, onChange, onDelete, __, props) => {
80
- return _jsx(NSTag, Object.assign({ ref: ref }, props, { onChanged: () => {
81
- onChange();
82
- }, onDeleted: () => {
83
- onDelete === null || onDelete === void 0 ? void 0 : onDelete(lIndex);
84
- } }), `NSLabel_NSTag_key_${lIndex}`);
85
- }, isEmpty: (_, value) => NSTag.isEmpty(value), getValue: (item, checkError) => item.getValue(checkError), setValue: (item, _, value) => {
86
- item.setValue(value);
87
- }, onValuesChanged: values => {
88
- console.log(values);
89
- } });
92
+ var _a;
93
+ if (state.row == null)
94
+ return _jsx(NSLoading, {});
95
+ let ctf = CFTUtil.get(props.entity.name, state.row);
96
+ return _jsx("div", { children: (_a = ctf.tags) === null || _a === void 0 ? void 0 : _a.map((tag, index) => {
97
+ return _jsx(NSLabel, { title: tag.name + ":", children: _jsx("div", { children: tag.value }) }, `NSASectionTabs_NSLabel_key_${index}`);
98
+ }) });
90
99
  }
91
100
  });
101
+ }
102
+ if ((_r = (_q = props.tabs) === null || _q === void 0 ? void 0 : _q.items.history) !== null && _r !== void 0 ? _r : true)
103
+ tabs.push({
104
+ title: 'History',
105
+ clicked: false,
106
+ getContent: () => {
107
+ return _jsx(NSTable, { name: "History", checkbox: false, columns: [
108
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.id, new IDFormatter()),
109
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.user_id, new IDFormatter()),
110
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.session_id, new IDFormatter()),
111
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_name, new StringFormatter(StringFormatterSizeType.TwoWords)),
112
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_id, new IDFormatter()),
113
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.action, new StringFormatter(StringFormatterSizeType.Word)),
114
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.created_at, new DateTimeFormatter()),
115
+ ], getRows: () => __awaiter(void 0, void 0, void 0, function* () {
116
+ if (props.id) {
117
+ let REACT_APP_BASE_URL_HISTORY = new EnvService("REACT_APP_BASE_URL_HISTORY", true).getString();
118
+ let server = new NamirasoftHistoryServer(REACT_APP_BASE_URL_HISTORY, props.account.token_manager, props.notifier.onError);
119
+ let filters = [new FilterItem(NamirasoftHistoryMetaDatabase.main.tables.history, NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_id, false, FilterItemOperator.all.equals, props.id)];
120
+ return yield server.history.List(filters, null, null, [], null);
121
+ }
122
+ return { rows: [], count: 0 };
123
+ }), getRowKey: row => row.value.id, style: { width: "100%" } });
124
+ }
125
+ });
92
126
  }
93
127
  useImperativeHandle(ref, () => ({
94
128
  NSTabPage: NSTabPage_Ref.current
@@ -1 +1 @@
1
- {"version":3,"file":"NSASectionTabs.js","sourceRoot":"","sources":["../../src/layouts/NSASectionTabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSASectionTabs.js","sourceRoot":"","sources":["../../src/layouts/NSASectionTabs.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.159",
11
+ "version": "1.4.160",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
package/src/CTFRow.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { EntityCategoryInputRow, EntityFieldInputRow, EntityTagInputRow } from "namirasoft-field";
2
+
3
+ export interface CTFRow
4
+ {
5
+ categories: EntityCategoryInputRow[];
6
+ fields: EntityFieldInputRow[];
7
+ tags: EntityTagInputRow[];
8
+ }
@@ -0,0 +1,19 @@
1
+ import { CTFRow } from "../CTFRow";
2
+
3
+ export class CFTUtil
4
+ {
5
+ static get(name: string, row: any): CTFRow
6
+ {
7
+ return {
8
+ categories: row[name + "_category"],
9
+ fields: row[name + "_field"],
10
+ tags: row[name + "_tag"],
11
+ };
12
+ }
13
+ static set(name: string, row: any, ctf: CTFRow)
14
+ {
15
+ row[name + "_field"] = ctf.fields;
16
+ row[name + "_category"] = ctf.categories;
17
+ row[name + "_tag"] = ctf.tags;
18
+ }
19
+ }
@@ -5,6 +5,8 @@ import { Component, createRef, ReactNode } from "react";
5
5
  import { CategoryRow, FieldRow } from "namirasoft-field";
6
6
  import { EntityCategoryInputRow, EntityFieldInputRow, EntityTagInputRow } from "namirasoft-field";
7
7
  import { IEntityInfo } from "../IEntityInfo";
8
+ import { CFTUtil } from "./CFTUtil";
9
+ import { CTFRow } from "../CTFRow";
8
10
 
9
11
  export interface NSASectionEditTabPageProps<EntityType, EntityTypeInput = EntityType> extends INSARouterProps
10
12
  {
@@ -36,6 +38,16 @@ export class NSASectionEditTabPage<EntityType, EntityTypeInput = EntityType> ext
36
38
  super(props);
37
39
  this.state = { entity: null };
38
40
 
41
+ if (props.ctf.enabled)
42
+ {
43
+ props.ctf.fields?.forEach(field => this.Fields_Refs[field.name] = createRef<NSBoxDynamic>());
44
+ props.ctf.categories?.forEach(category =>
45
+ {
46
+ if (!this.Categories_Refs[category.group])
47
+ this.Categories_Refs[category.group] = createRef<NSBoxBooleans>()
48
+ });
49
+ }
50
+
39
51
  this.getLoadedEntity = this.getLoadedEntity.bind(this);
40
52
  this.setEntity = this.setEntity.bind(this);
41
53
  this.getEntity = this.getEntity.bind(this);
@@ -50,27 +62,18 @@ export class NSASectionEditTabPage<EntityType, EntityTypeInput = EntityType> ext
50
62
  {
51
63
  this.props.setEntity(entity);
52
64
  if (this.props.ctf.enabled)
53
- {
54
- let entity_fields = entity as any;
55
- this.setFields(entity_fields[this.props.entity.name + "_field"], entity_fields[this.props.entity.name + "_category"], entity_fields[this.props.entity.name + "_tag"]);
56
- }
65
+ this.setFields(CFTUtil.get(this.props.entity.name, entity));
57
66
  this.setState(prev => { return { ...prev, entity } });
58
67
  }
59
68
  getEntity(): EntityTypeInput
60
69
  {
61
70
  let entity = this.props.getEntity(this.state.entity);
62
71
  if (this.props.ctf.enabled)
63
- {
64
- let { fields, categories, tags } = this.getFields();
65
- let entity_fields = entity as any;
66
- entity_fields[this.props.entity.name + "_field"] = fields;
67
- entity_fields[this.props.entity.name + "_category"] = categories;
68
- entity_fields[this.props.entity.name + "_tag"] = tags;
69
- }
72
+ CFTUtil.set(this.props.entity.name, entity, this.getFields());
70
73
  return entity;
71
74
  }
72
75
 
73
- private getFields(): { fields: EntityFieldInputRow[], categories: EntityCategoryInputRow[], tags: EntityTagInputRow[] }
76
+ private getFields(): CTFRow
74
77
  {
75
78
  let fields: EntityFieldInputRow[] = [];
76
79
  let categories: EntityCategoryInputRow[] = [];
@@ -91,11 +94,11 @@ export class NSASectionEditTabPage<EntityType, EntityTypeInput = EntityType> ext
91
94
  if (this.Tags_Refs.current)
92
95
  tags = this.Tags_Refs.current.getValue().map(x => { return { name: x.name, value: x.value } });
93
96
 
94
- return { fields, categories, tags };
97
+ return { categories, fields, tags };
95
98
  }
96
- private setFields(fields: EntityFieldInputRow[], categories: EntityCategoryInputRow[], tags: EntityTagInputRow[])
99
+ private setFields(ctf: CTFRow)
97
100
  {
98
- for (let field of fields)
101
+ for (let field of ctf.fields)
99
102
  {
100
103
  let ref = this.Fields_Refs[field.field_id];
101
104
  if (ref.current)
@@ -105,10 +108,10 @@ export class NSASectionEditTabPage<EntityType, EntityTypeInput = EntityType> ext
105
108
  {
106
109
  let ref = this.Categories_Refs[key];
107
110
  if (ref.current)
108
- ref.current.setValues(categories.map(x => x.category_id));
111
+ ref.current.setValues(ctf.categories.map(x => x.category_id));
109
112
  }
110
113
  if (this.Tags_Refs.current)
111
- this.Tags_Refs.current.setValue(tags.map(x => { return { name: x.name, value: x.value ?? "" } }));
114
+ this.Tags_Refs.current.setValue(ctf.tags.map(x => { return { name: x.name, value: x.value ?? "" } }));
112
115
  }
113
116
  override componentDidMount()
114
117
  {
@@ -1,11 +1,11 @@
1
- import Styles from "./NSASectionTabs.module.css";
2
1
  import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from "react";
3
2
  import { EnvService, FilterItem, FilterItemOperator } from "namirasoft-core";
4
- import { BaseColumnFormatter, DateTimeFormatter, IDFormatter, NSLabel, NSLoading, NSRepeater, NSTable, NSTabPage, StringFormatter, NSTagValue, NSTag, NSTabPageTab, StringFormatterSizeType } from "namirasoft-site-react";
3
+ import { BaseColumnFormatter, DateTimeFormatter, IDFormatter, NSLabel, NSLoading, NSTable, NSTabPage, StringFormatter, NSTabPageTab, StringFormatterSizeType } from "namirasoft-site-react";
5
4
  import { NamirasoftHistoryMetaDatabase, HistoryRow, NamirasoftHistoryServer } from "namirasoft-history";
6
5
  import { IEntityInfo } from "../IEntityInfo";
7
6
  import { INSARouterProps } from "../INSARouterProps";
8
7
  import { CategoryRow, FieldRow } from "namirasoft-field";
8
+ import { CFTUtil } from "./CFTUtil";
9
9
 
10
10
  export interface NSASectionTabsProps
11
11
  {
@@ -17,9 +17,11 @@ export interface NSASectionTabsItemsProps
17
17
  {
18
18
  enabled: true;
19
19
  items: {
20
- information?: boolean;
21
- history?: boolean;
20
+ general?: boolean;
21
+ field?: boolean;
22
+ category?: boolean;
22
23
  tag?: boolean;
24
+ history?: boolean;
23
25
  }
24
26
  }
25
27
 
@@ -49,6 +51,10 @@ export const NSASectionTabs = forwardRef<any, any>(<EntityType extends { id: str
49
51
  ) =>
50
52
  {
51
53
  let props: NSASectionTabsItemsInnerProps<EntityType, EntityTypeInput> = _props as any;
54
+
55
+ if (!(props.tabs?.enabled ?? true))
56
+ return <></>;
57
+
52
58
  const NSTabPage_Ref = useRef<NSTabPage>(null);
53
59
 
54
60
  let [state, setState] = useState<NSASectionTabsState>({ row: null });
@@ -67,121 +73,166 @@ export const NSASectionTabs = forwardRef<any, any>(<EntityType extends { id: str
67
73
  // eslint-disable-next-line
68
74
  }, [props.id]);
69
75
 
70
- //todo
71
- // let todo = () => <p>This is not impolemented yet.</p>;
72
76
  const tabs: NSTabPageTab[] = [];
73
77
  if (props.id)
74
78
  {
75
- //todo: check entity.get ? show information :remove information tab
76
79
  if (props.entity.server.get)
77
- if (props.tabs?.enabled ?? true)
78
- if (props.tabs?.items.information ?? true)
80
+ if (props.tabs?.items.general ?? true)
81
+ tabs.push({
82
+ title: 'General',
83
+ clicked: false,
84
+ getContent: () =>
85
+ {
86
+ if (state.row == null)
87
+ return <NSLoading></NSLoading>;
88
+ return <div>
89
+ {
90
+ props.entity.client.getColumns().map((column, index) =>
91
+ {
92
+ let value = state.row[column.name];
93
+ let formatted = column.formatter.format(value, column, { index: 0, value: state.row }, false);
94
+ return <NSLabel
95
+ key={`NSASectionTabs_NSLabel_key_${index}`}
96
+ title={column.text + ":"}
97
+ >
98
+ <div>{formatted}</div>
99
+ </NSLabel>
100
+ })
101
+ }
102
+ </div>;
103
+ }
104
+ });
105
+
106
+ if (props.entity.server.get)
107
+ {
108
+ if (props.tabs?.items.field ?? true)
109
+ {
110
+ let groups = Array.from(new Set(props.ctf.fields?.map(x => x.group) ?? []));
111
+ groups.forEach(group =>
112
+ {
79
113
  tabs.push({
80
- title: 'Information',
114
+ title: group,
81
115
  clicked: false,
82
116
  getContent: () =>
83
117
  {
84
118
  if (state.row == null)
85
119
  return <NSLoading></NSLoading>;
86
- return <div className={Styles.nsa_section_tabs_information}>
120
+ let ctf = CFTUtil.get(props.entity.name, state.row);
121
+ return <div>
87
122
  {
88
- props.entity.client.getColumns().map((column, index) =>
123
+ props.ctf.fields?.filter(x => x.group === group).map((field, index) =>
89
124
  {
90
- let value = state.row[column.name];
91
- let formatted = column.formatter.format(value, column, { index: 0, value: state.row }, false);
92
125
  return <NSLabel
93
126
  key={`NSASectionTabs_NSLabel_key_${index}`}
94
- title={column.text + ":"}
95
- classList={[Styles.nsa_section_tabs_information_item]}
127
+ title={field.name + ":"}
96
128
  >
97
- <div>{formatted}</div>
129
+ <div>{ctf.fields.filter(f => f.field_id == field.id).map(f => f.value).join(", ")}</div>
98
130
  </NSLabel>
99
131
  })
100
132
  }
101
133
  </div>;
102
134
  }
103
135
  });
104
- //todo
105
- // tabs.push({title: 'Price History', getContent: todo });
106
- // tabs.push({title: 'Price Estimator', getContent: todo });
107
- // tabs.push({title: 'Log', getContent: todo });
108
- // tabs.push({title: 'Monitor', getContent: todo });
109
- if (props.tabs?.enabled ?? true)
110
- if (props.tabs?.items.history ?? true)
111
- tabs.push({
112
- title: 'History',
113
- clicked: false,
114
- getContent: () =>
115
- {
116
- return <NSTable<HistoryRow>
117
- name="History"
118
- checkbox={false}
119
- columns={[
120
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.id, new IDFormatter()),
121
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.user_id, new IDFormatter()),
122
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.session_id, new IDFormatter()),
123
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_name, new StringFormatter(StringFormatterSizeType.TwoWords)),
124
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_id, new IDFormatter()),
125
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.action, new StringFormatter(StringFormatterSizeType.Word)),
126
- BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.created_at, new DateTimeFormatter()),
127
- ]}
128
- getRows={async () =>
129
- {
130
- if (props.id)
136
+ });
137
+ }
138
+ if (props.tabs?.items.category ?? true)
139
+ {
140
+ let groups = Array.from(new Set(props.ctf.categories?.map(x => x.group) ?? []));
141
+ groups.forEach(group =>
142
+ {
143
+ tabs.push({
144
+ title: group,
145
+ clicked: false,
146
+ getContent: () =>
147
+ {
148
+ if (state.row == null)
149
+ return <NSLoading></NSLoading>;
150
+ let ctf = CFTUtil.get(props.entity.name, state.row);
151
+ let ids = ctf.categories.map(c => c.category_id);
152
+ return <div>
131
153
  {
132
- let REACT_APP_BASE_URL_HISTORY = new EnvService("REACT_APP_BASE_URL_HISTORY", true).getString();
133
- let server = new NamirasoftHistoryServer(REACT_APP_BASE_URL_HISTORY, props.account.token_manager, props.notifier.onError);
134
- let filters = [new FilterItem(NamirasoftHistoryMetaDatabase.main.tables.history, NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_id, false, FilterItemOperator.all.equals, props.id)]
135
- return await server.history.List(filters, null, null, [], null);
154
+ props.ctf.categories?.filter(x => x.group === group && ids.includes(x.id)).map((category, index) =>
155
+ {
156
+ return <NSLabel
157
+ key={`NSASectionTabs_NSLabel_key_${index}`}
158
+ title={category.name}
159
+ >
160
+ </NSLabel>
161
+ })
136
162
  }
137
- return { rows: [], count: 0 };
138
- }}
139
- getRowKey={row => row.value.id}
140
- style={{ width: "100%" }}
141
- ></NSTable>;
142
- }
163
+ </div>;
164
+ }
165
+ });
143
166
  });
144
- //todo
145
- // tabs.push({title: 'How It Works', getContent: todo });
146
- // tabs.push({title: 'API', getContent: todo });
147
- // tabs.push({title: 'Sample Code', getContent: todo });
148
- if (props.tabs?.enabled ?? true)
167
+ }
149
168
  if (props.tabs?.items.tag ?? true)
150
169
  tabs.push({
151
170
  title: 'Tag',
152
171
  clicked: false,
153
172
  getContent: () =>
154
173
  {
155
- return <NSRepeater<NSTag, NSTagValue>
156
- createItem={(_, lIndex, ref, onChange, onDelete, __, props) =>
174
+ if (state.row == null)
175
+ return <NSLoading></NSLoading>;
176
+ let ctf = CFTUtil.get(props.entity.name, state.row);
177
+ return <div>
157
178
  {
158
- return <NSTag
159
- key={`NSLabel_NSTag_key_${lIndex}`}
160
- ref={ref}
161
- {...props}
162
- onChanged={() =>
163
- {
164
- onChange();
165
- }}
166
- onDeleted={() =>
167
- {
168
- onDelete?.(lIndex);
169
- }}
170
- />;
171
- }}
172
- isEmpty={(_, value) => NSTag.isEmpty(value)}
173
- getValue={(item, checkError) => item.getValue(checkError)}
174
- setValue={(item, _, value) =>
175
- {
176
- item.setValue(value);
177
- }}
178
- onValuesChanged={values =>
179
- {
180
- console.log(values)
181
- }}
182
- />;
179
+ ctf.tags?.map((tag, index) =>
180
+ {
181
+ return <NSLabel
182
+ key={`NSASectionTabs_NSLabel_key_${index}`}
183
+ title={tag.name + ":"}
184
+ >
185
+ <div>{tag.value}</div>
186
+ </NSLabel>
187
+ })
188
+ }
189
+ </div>;
183
190
  }
184
191
  });
192
+ }
193
+ //todo
194
+ // tabs.push({title: 'Price History', getContent: todo });
195
+ // tabs.push({title: 'Price Estimator', getContent: todo });
196
+ // tabs.push({title: 'Log', getContent: todo });
197
+ // tabs.push({title: 'Monitor', getContent: todo });
198
+ if (props.tabs?.items.history ?? true)
199
+ tabs.push({
200
+ title: 'History',
201
+ clicked: false,
202
+ getContent: () =>
203
+ {
204
+ return <NSTable<HistoryRow>
205
+ name="History"
206
+ checkbox={false}
207
+ columns={[
208
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.id, new IDFormatter()),
209
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.user_id, new IDFormatter()),
210
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.session_id, new IDFormatter()),
211
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_name, new StringFormatter(StringFormatterSizeType.TwoWords)),
212
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_id, new IDFormatter()),
213
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.action, new StringFormatter(StringFormatterSizeType.Word)),
214
+ BaseColumnFormatter.getColumn(NamirasoftHistoryMetaDatabase.main.tables.history.columns.created_at, new DateTimeFormatter()),
215
+ ]}
216
+ getRows={async () =>
217
+ {
218
+ if (props.id)
219
+ {
220
+ let REACT_APP_BASE_URL_HISTORY = new EnvService("REACT_APP_BASE_URL_HISTORY", true).getString();
221
+ let server = new NamirasoftHistoryServer(REACT_APP_BASE_URL_HISTORY, props.account.token_manager, props.notifier.onError);
222
+ let filters = [new FilterItem(NamirasoftHistoryMetaDatabase.main.tables.history, NamirasoftHistoryMetaDatabase.main.tables.history.columns.entity_id, false, FilterItemOperator.all.equals, props.id)]
223
+ return await server.history.List(filters, null, null, [], null);
224
+ }
225
+ return { rows: [], count: 0 };
226
+ }}
227
+ getRowKey={row => row.value.id}
228
+ style={{ width: "100%" }}
229
+ ></NSTable>;
230
+ }
231
+ });
232
+ //todo
233
+ // tabs.push({title: 'How It Works', getContent: todo });
234
+ // tabs.push({title: 'API', getContent: todo });
235
+ // tabs.push({title: 'Sample Code', getContent: todo });
185
236
  //todo
186
237
  // tabs.push({title: 'Category', getContent: todo });
187
238
  // tabs.push({title: 'Field', getContent: todo });
@@ -1,48 +0,0 @@
1
- .nsa_section_tabs_information {
2
- display: flex;
3
- flex-wrap: wrap;
4
- flex-direction: column;
5
- gap: 0px 64px;
6
- }
7
-
8
- .nsa_section_tabs_information_item {
9
- color: black;
10
- display: flex;
11
- flex-direction: column;
12
- }
13
-
14
- .nsa_section_tabs_information_item>span {
15
- margin: 0px;
16
- }
17
-
18
- .nsa_section_tabs_information_item>div {
19
- margin: 0px;
20
- }
21
-
22
- @media only screen and (min-width: 480px) {
23
- .nsa_section_tabs_information_item {
24
- display: flex;
25
- flex-direction: row;
26
- }
27
-
28
- .nsa_section_tabs_information_item>span {
29
- min-width: 200px;
30
- }
31
- }
32
-
33
- @media only screen and (min-width: 768px) {
34
- .nsa_section_tabs_information {
35
- gap: 16px 64px;
36
- }
37
- }
38
-
39
- @media only screen and (min-width: 1024px) {
40
- .nsa_section_tabs_information {
41
- flex-direction: row;
42
- gap: 16px 64px;
43
- }
44
-
45
- .nsa_section_tabs_information_item {
46
- flex-direction: column;
47
- }
48
- }