namirasoft-account-react 1.4.346 → 1.4.347

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.
@@ -15,7 +15,7 @@ export interface NSASectionEditCustomProps<RowType extends {
15
15
  ui?: NSASectionEditTabPageUIProps;
16
16
  editor: NSASectionEditTabPageEditorProps<RowType, RowTypeInput>;
17
17
  };
18
- tab_page_view?: NSASectionViewTabPageUIProps;
18
+ tab_page_view?: NSASectionViewTabPageUIProps<RowType>;
19
19
  };
20
20
  onRowLoaded?: (item: RowType) => void;
21
21
  }
@@ -32,7 +32,7 @@ export interface NSASectionListCustomProps<RowType extends {
32
32
  load_value?: (table: string, column: string) => boolean;
33
33
  };
34
34
  };
35
- tab_page_view?: NSASectionViewTabPageUIProps;
35
+ tab_page_view?: NSASectionViewTabPageUIProps<RowType>;
36
36
  };
37
37
  onIDsChanged?: () => void;
38
38
  }
@@ -6,7 +6,7 @@ import { NSARouterMakerProps } from "../NSARouterMakerProps";
6
6
  import { CategoryRow, FieldRow } from "namirasoft-field";
7
7
  export interface NSASectionViewCutomProps<RowType> extends IBaseComponentProps {
8
8
  ui?: {
9
- view_tab_page?: NSASectionViewTabPageUIProps;
9
+ view_tab_page?: NSASectionViewTabPageUIProps<RowType>;
10
10
  getChildrenBefore?: (id: string, row: RowType) => ReactNode;
11
11
  getChildrenAfter?: (id: string, row: RowType) => ReactNode;
12
12
  };
@@ -1,9 +1,15 @@
1
1
  import { Component } from "react";
2
- import { NSTabPage } from "namirasoft-site-react";
2
+ import { NSTabPage, NSTabPageTab } from "namirasoft-site-react";
3
3
  import { IEntityInfo } from "../IEntityInfo";
4
4
  import { NSARouterMakerProps } from "../NSARouterMakerProps";
5
5
  import { CategoryRow, FieldRow } from "namirasoft-field";
6
- export interface NSASectionViewTabPageUIProps {
6
+ export interface NSASectionViewTabPageTabPageTab<RowType> extends NSTabPageTab {
7
+ isVisible(model: {
8
+ id: string | null;
9
+ row: RowType | null;
10
+ }): boolean;
11
+ }
12
+ export interface NSASectionViewTabPageUIProps<RowType> {
7
13
  enabled?: boolean;
8
14
  tabs?: {
9
15
  general?: boolean;
@@ -11,10 +17,20 @@ export interface NSASectionViewTabPageUIProps {
11
17
  category?: boolean;
12
18
  tag?: boolean;
13
19
  history?: boolean;
20
+ more?: boolean;
21
+ extra?: {
22
+ before_general: NSASectionViewTabPageTabPageTab<RowType>[];
23
+ after_general: NSASectionViewTabPageTabPageTab<RowType>[];
24
+ after_field: NSASectionViewTabPageTabPageTab<RowType>[];
25
+ after_category: NSASectionViewTabPageTabPageTab<RowType>[];
26
+ after_tag: NSASectionViewTabPageTabPageTab<RowType>[];
27
+ after_history: NSASectionViewTabPageTabPageTab<RowType>[];
28
+ after_more: NSASectionViewTabPageTabPageTab<RowType>[];
29
+ };
14
30
  };
15
31
  }
16
32
  export interface NSASectionViewTabPageCutomProps<RowType> {
17
- ui?: NSASectionViewTabPageUIProps;
33
+ ui?: NSASectionViewTabPageUIProps<RowType>;
18
34
  onRowLoaded?: (row: RowType) => void;
19
35
  }
20
36
  export interface NSASectionViewTabPageProps<RowType extends {
@@ -44,11 +44,21 @@ export class NSASectionViewTabPage extends Component {
44
44
  this.reload();
45
45
  }
46
46
  render() {
47
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
47
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20;
48
48
  const tabs = [];
49
- if (this.props.model.id) {
50
- if (this.props.entity.server.get)
51
- if ((_c = (_b = (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.tabs) === null || _b === void 0 ? void 0 : _b.general) !== null && _c !== void 0 ? _c : true)
49
+ let namirasoft = new NamirasoftMap(this.props.account.token_manager, this.props.notifier.onError);
50
+ let pushTabs = (tabs) => {
51
+ if (tabs)
52
+ for (let i = 0; i < tabs.length; i++) {
53
+ const tab = tabs[i];
54
+ if (tab.isVisible(this.props.model))
55
+ tabs.push(tab);
56
+ }
57
+ };
58
+ pushTabs((_c = (_b = (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.tabs) === null || _b === void 0 ? void 0 : _b.extra) === null || _c === void 0 ? void 0 : _c.before_general);
59
+ if ((_f = (_e = (_d = this.props.ui) === null || _d === void 0 ? void 0 : _d.tabs) === null || _e === void 0 ? void 0 : _e.general) !== null && _f !== void 0 ? _f : true)
60
+ if (this.props.model.id)
61
+ if (this.props.entity.server.get)
52
62
  tabs.push({
53
63
  title: 'General',
54
64
  clicked: false,
@@ -62,68 +72,9 @@ export class NSASectionViewTabPage extends Component {
62
72
  }) });
63
73
  }
64
74
  });
65
- if (this.props.entity.server.get)
66
- if (this.props.ctf.enabled) {
67
- if ((_f = (_e = (_d = this.props.ui) === null || _d === void 0 ? void 0 : _d.tabs) === null || _e === void 0 ? void 0 : _e.field) !== null && _f !== void 0 ? _f : true) {
68
- let groups = Array.from(new Set((_h = (_g = this.props.ctf.fields) === null || _g === void 0 ? void 0 : _g.map(x => x.group)) !== null && _h !== void 0 ? _h : []));
69
- groups.forEach(group => {
70
- tabs.push({
71
- title: group,
72
- clicked: false,
73
- getContent: () => {
74
- var _a;
75
- if (this.state.row == null)
76
- return _jsx(NSLoading, {});
77
- let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
78
- if (ctf.fields.length === 0)
79
- return _jsx(NSNoData, { lable: "No field found" });
80
- return _jsx("div", { className: Styles.nsa_section_tab_page_parent, children: (_a = this.props.ctf.fields) === null || _a === void 0 ? void 0 : _a.filter(x => x.group === group).map((field, index) => {
81
- return _jsx(NSLabel, { title: field.name + ":", classList: [Styles.nsa_section_tab_page_item], children: _jsx("div", { children: ctf.fields.filter(f => f.field_id === field.id).map(f => f.value).join(", ") }) }, `NSASectionViewTabPage_NSLabel_Field_${index}`);
82
- }) });
83
- }
84
- });
85
- });
86
- }
87
- if ((_l = (_k = (_j = this.props.ui) === null || _j === void 0 ? void 0 : _j.tabs) === null || _k === void 0 ? void 0 : _k.category) !== null && _l !== void 0 ? _l : true) {
88
- let groups = Array.from(new Set((_o = (_m = this.props.ctf.categories) === null || _m === void 0 ? void 0 : _m.map(x => x.group)) !== null && _o !== void 0 ? _o : []));
89
- groups.forEach(group => {
90
- tabs.push({
91
- title: group,
92
- clicked: false,
93
- getContent: () => {
94
- var _a;
95
- if (this.state.row == null)
96
- return _jsx(NSLoading, {});
97
- let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
98
- if (ctf.tags.length === 0)
99
- return _jsx(NSNoData, { lable: "No category found" });
100
- let ids = ctf.categories.map(c => c.category_id);
101
- return _jsx("div", { className: Styles.nsa_section_tab_page_parent, children: (_a = this.props.ctf.categories) === null || _a === void 0 ? void 0 : _a.filter(x => x.group === group && ids.includes(x.id)).map((category, index) => {
102
- return _jsx(NSLabel, { title: category.name, classList: [Styles.nsa_section_tab_page_item] }, `NSASectionViewTabPage_NSLabel_Category_${index}`);
103
- }) });
104
- }
105
- });
106
- });
107
- }
108
- if ((_r = (_q = (_p = this.props.ui) === null || _p === void 0 ? void 0 : _p.tabs) === null || _q === void 0 ? void 0 : _q.tag) !== null && _r !== void 0 ? _r : true)
109
- tabs.push({
110
- title: 'Tag',
111
- clicked: false,
112
- getContent: () => {
113
- var _a;
114
- if (this.state.row == null)
115
- return _jsx(NSLoading, {});
116
- let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
117
- if (ctf.tags.length === 0)
118
- return _jsx(NSNoData, { lable: "No tag found" });
119
- return _jsx("div", { className: Styles.nsa_section_tab_page_parent, children: (_a = ctf.tags) === null || _a === void 0 ? void 0 : _a.map((tag, index) => {
120
- return _jsx(NSLabel, { title: tag.name + ":", classList: [Styles.nsa_section_tab_page_item], children: _jsx("div", { children: tag.value }) }, `NSASectionViewTabPage_NSLabel_Tag_${index}`);
121
- }) });
122
- }
123
- });
124
- }
125
- let namirasoft = new NamirasoftMap(this.props.account.token_manager, this.props.notifier.onError);
126
- if ((_u = (_t = (_s = this.props.ui) === null || _s === void 0 ? void 0 : _s.tabs) === null || _t === void 0 ? void 0 : _t.history) !== null && _u !== void 0 ? _u : true)
75
+ pushTabs((_j = (_h = (_g = this.props.ui) === null || _g === void 0 ? void 0 : _g.tabs) === null || _h === void 0 ? void 0 : _h.extra) === null || _j === void 0 ? void 0 : _j.after_general);
76
+ if ((_m = (_l = (_k = this.props.ui) === null || _k === void 0 ? void 0 : _k.tabs) === null || _l === void 0 ? void 0 : _l.history) !== null && _m !== void 0 ? _m : true)
77
+ if (this.props.model.id)
127
78
  tabs.push({
128
79
  title: 'History',
129
80
  clicked: false,
@@ -147,15 +98,84 @@ export class NSASectionViewTabPage extends Component {
147
98
  }), getRowKey: row => row.value.id, style: { width: "100%" } });
148
99
  }
149
100
  });
150
- if (this.props.entity.server.get)
101
+ pushTabs((_q = (_p = (_o = this.props.ui) === null || _o === void 0 ? void 0 : _o.tabs) === null || _p === void 0 ? void 0 : _p.extra) === null || _q === void 0 ? void 0 : _q.after_history);
102
+ if ((_t = (_s = (_r = this.props.ui) === null || _r === void 0 ? void 0 : _r.tabs) === null || _s === void 0 ? void 0 : _s.field) !== null && _t !== void 0 ? _t : true)
103
+ if (this.props.model.id)
104
+ if (this.props.ctf.enabled) {
105
+ let groups = Array.from(new Set((_v = (_u = this.props.ctf.fields) === null || _u === void 0 ? void 0 : _u.map(x => x.group)) !== null && _v !== void 0 ? _v : []));
106
+ groups.forEach(group => {
107
+ tabs.push({
108
+ title: group,
109
+ clicked: false,
110
+ getContent: () => {
111
+ var _a;
112
+ if (this.state.row == null)
113
+ return _jsx(NSLoading, {});
114
+ let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
115
+ if (ctf.fields.length === 0)
116
+ return _jsx(NSNoData, { lable: "No field found" });
117
+ return _jsx("div", { className: Styles.nsa_section_tab_page_parent, children: (_a = this.props.ctf.fields) === null || _a === void 0 ? void 0 : _a.filter(x => x.group === group).map((field, index) => {
118
+ return _jsx(NSLabel, { title: field.name + ":", classList: [Styles.nsa_section_tab_page_item], children: _jsx("div", { children: ctf.fields.filter(f => f.field_id === field.id).map(f => f.value).join(", ") }) }, `NSASectionViewTabPage_NSLabel_Field_${index}`);
119
+ }) });
120
+ }
121
+ });
122
+ });
123
+ }
124
+ pushTabs((_y = (_x = (_w = this.props.ui) === null || _w === void 0 ? void 0 : _w.tabs) === null || _x === void 0 ? void 0 : _x.extra) === null || _y === void 0 ? void 0 : _y.after_field);
125
+ if ((_1 = (_0 = (_z = this.props.ui) === null || _z === void 0 ? void 0 : _z.tabs) === null || _0 === void 0 ? void 0 : _0.category) !== null && _1 !== void 0 ? _1 : true)
126
+ if (this.props.model.id)
127
+ if (this.props.ctf.enabled) {
128
+ let groups = Array.from(new Set((_3 = (_2 = this.props.ctf.categories) === null || _2 === void 0 ? void 0 : _2.map(x => x.group)) !== null && _3 !== void 0 ? _3 : []));
129
+ groups.forEach(group => {
130
+ tabs.push({
131
+ title: group,
132
+ clicked: false,
133
+ getContent: () => {
134
+ var _a;
135
+ if (this.state.row == null)
136
+ return _jsx(NSLoading, {});
137
+ let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
138
+ if (ctf.tags.length === 0)
139
+ return _jsx(NSNoData, { lable: "No category found" });
140
+ let ids = ctf.categories.map(c => c.category_id);
141
+ return _jsx("div", { className: Styles.nsa_section_tab_page_parent, children: (_a = this.props.ctf.categories) === null || _a === void 0 ? void 0 : _a.filter(x => x.group === group && ids.includes(x.id)).map((category, index) => {
142
+ return _jsx(NSLabel, { title: category.name, classList: [Styles.nsa_section_tab_page_item] }, `NSASectionViewTabPage_NSLabel_Category_${index}`);
143
+ }) });
144
+ }
145
+ });
146
+ });
147
+ }
148
+ pushTabs((_6 = (_5 = (_4 = this.props.ui) === null || _4 === void 0 ? void 0 : _4.tabs) === null || _5 === void 0 ? void 0 : _5.extra) === null || _6 === void 0 ? void 0 : _6.after_category);
149
+ if ((_9 = (_8 = (_7 = this.props.ui) === null || _7 === void 0 ? void 0 : _7.tabs) === null || _8 === void 0 ? void 0 : _8.tag) !== null && _9 !== void 0 ? _9 : true)
150
+ if (this.props.model.id)
151
151
  if (this.props.ctf.enabled)
152
152
  tabs.push({
153
- title: "More",
154
- clicked: true,
155
- getContent: () => _jsx(NSASectionViewTabMore, { deleteFieldCache: this.props.deleteFieldCache })
153
+ title: 'Tag',
154
+ clicked: false,
155
+ getContent: () => {
156
+ var _a;
157
+ if (this.state.row == null)
158
+ return _jsx(NSLoading, {});
159
+ let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
160
+ if (ctf.tags.length === 0)
161
+ return _jsx(NSNoData, { lable: "No tag found" });
162
+ return _jsx("div", { className: Styles.nsa_section_tab_page_parent, children: (_a = ctf.tags) === null || _a === void 0 ? void 0 : _a.map((tag, index) => {
163
+ return _jsx(NSLabel, { title: tag.name + ":", classList: [Styles.nsa_section_tab_page_item], children: _jsx("div", { children: tag.value }) }, `NSASectionViewTabPage_NSLabel_Tag_${index}`);
164
+ }) });
165
+ }
156
166
  });
157
- }
158
- if (!((_w = (_v = this.props.ui) === null || _v === void 0 ? void 0 : _v.enabled) !== null && _w !== void 0 ? _w : true))
167
+ pushTabs((_12 = (_11 = (_10 = this.props.ui) === null || _10 === void 0 ? void 0 : _10.tabs) === null || _11 === void 0 ? void 0 : _11.extra) === null || _12 === void 0 ? void 0 : _12.after_tag);
168
+ if ((_15 = (_14 = (_13 = this.props.ui) === null || _13 === void 0 ? void 0 : _13.tabs) === null || _14 === void 0 ? void 0 : _14.more) !== null && _15 !== void 0 ? _15 : true)
169
+ if (this.props.model.id)
170
+ if (this.props.entity.server.get)
171
+ if (this.props.ctf.enabled)
172
+ tabs.push({
173
+ title: "More",
174
+ clicked: true,
175
+ getContent: () => _jsx(NSASectionViewTabMore, { deleteFieldCache: this.props.deleteFieldCache })
176
+ });
177
+ pushTabs((_18 = (_17 = (_16 = this.props.ui) === null || _16 === void 0 ? void 0 : _16.tabs) === null || _17 === void 0 ? void 0 : _17.extra) === null || _18 === void 0 ? void 0 : _18.after_more);
178
+ if (!((_20 = (_19 = this.props.ui) === null || _19 === void 0 ? void 0 : _19.enabled) !== null && _20 !== void 0 ? _20 : true))
159
179
  return _jsx(_Fragment, {});
160
180
  return (_jsx(_Fragment, { children: tabs.length > 0 &&
161
181
  _jsx(NSTabPage, { ref: this.NSTabPage_Ref, tabs: tabs }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"NSASectionViewTabPage.js","sourceRoot":"","sources":["../../src/layouts/NSASectionViewTabPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSASectionViewTabPage.js","sourceRoot":"","sources":["../../src/layouts/NSASectionViewTabPage.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.346",
11
+ "version": "1.4.347",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -17,7 +17,7 @@ export interface NSASectionEditCustomProps<RowType extends { id: string }, RowTy
17
17
  ui?: NSASectionEditTabPageUIProps;
18
18
  editor: NSASectionEditTabPageEditorProps<RowType, RowTypeInput>;
19
19
  };
20
- tab_page_view?: NSASectionViewTabPageUIProps;
20
+ tab_page_view?: NSASectionViewTabPageUIProps<RowType>;
21
21
  }
22
22
  onRowLoaded?: (item: RowType) => void;
23
23
  }
@@ -25,7 +25,7 @@ export interface NSASectionListCustomProps<RowType extends { id: string }, RowTy
25
25
  load_value?: (table: string, column: string) => boolean;
26
26
  }
27
27
  };
28
- tab_page_view?: NSASectionViewTabPageUIProps;
28
+ tab_page_view?: NSASectionViewTabPageUIProps<RowType>;
29
29
  };
30
30
  onIDsChanged?: () => void;
31
31
  }
@@ -8,7 +8,7 @@ import { CategoryRow, FieldRow } from "namirasoft-field";
8
8
  export interface NSASectionViewCutomProps<RowType> extends IBaseComponentProps
9
9
  {
10
10
  ui?: {
11
- view_tab_page?: NSASectionViewTabPageUIProps;
11
+ view_tab_page?: NSASectionViewTabPageUIProps<RowType>;
12
12
  getChildrenBefore?: (id: string, row: RowType) => ReactNode;
13
13
  getChildrenAfter?: (id: string, row: RowType) => ReactNode;
14
14
  };
@@ -10,7 +10,15 @@ import { NSASectionViewTabMore } from "./NSASectionViewTabMore";
10
10
  import { NamirasoftMap } from "namirasoft-site-map";
11
11
  import Styles from "./NSASectionViewTabPage.module.css";
12
12
 
13
- export interface NSASectionViewTabPageUIProps
13
+ export interface NSASectionViewTabPageTabPageTab<RowType> extends NSTabPageTab
14
+ {
15
+ isVisible(model: {
16
+ id: string | null;
17
+ row: RowType | null;
18
+ }): boolean
19
+ }
20
+
21
+ export interface NSASectionViewTabPageUIProps<RowType>
14
22
  {
15
23
  enabled?: boolean;
16
24
  tabs?: {
@@ -19,12 +27,22 @@ export interface NSASectionViewTabPageUIProps
19
27
  category?: boolean;
20
28
  tag?: boolean;
21
29
  history?: boolean;
30
+ more?: boolean;
31
+ extra?: {
32
+ before_general: NSASectionViewTabPageTabPageTab<RowType>[];
33
+ after_general: NSASectionViewTabPageTabPageTab<RowType>[];
34
+ after_field: NSASectionViewTabPageTabPageTab<RowType>[];
35
+ after_category: NSASectionViewTabPageTabPageTab<RowType>[];
36
+ after_tag: NSASectionViewTabPageTabPageTab<RowType>[];
37
+ after_history: NSASectionViewTabPageTabPageTab<RowType>[];
38
+ after_more: NSASectionViewTabPageTabPageTab<RowType>[];
39
+ };
22
40
  };
23
41
  }
24
42
 
25
43
  export interface NSASectionViewTabPageCutomProps<RowType>
26
44
  {
27
- ui?: NSASectionViewTabPageUIProps;
45
+ ui?: NSASectionViewTabPageUIProps<RowType>;
28
46
  onRowLoaded?: (row: RowType) => void;
29
47
  }
30
48
 
@@ -87,11 +105,23 @@ export class NSASectionViewTabPage<RowType extends { id: string }, RowTypeInput
87
105
  override render()
88
106
  {
89
107
  const tabs: NSTabPageTab[] = [];
108
+ let namirasoft = new NamirasoftMap(this.props.account.token_manager, this.props.notifier.onError);
90
109
 
91
- if (this.props.model.id)
110
+ let pushTabs = (tabs?: NSASectionViewTabPageTabPageTab<RowType>[]) =>
92
111
  {
93
- if (this.props.entity.server.get)
94
- if (this.props.ui?.tabs?.general ?? true)
112
+ if (tabs)
113
+ for (let i = 0; i < tabs.length; i++)
114
+ {
115
+ const tab = tabs[i];
116
+ if (tab.isVisible(this.props.model))
117
+ tabs.push(tab);
118
+ }
119
+ };
120
+
121
+ pushTabs(this.props.ui?.tabs?.extra?.before_general);
122
+ if (this.props.ui?.tabs?.general ?? true)
123
+ if (this.props.model.id)
124
+ if (this.props.entity.server.get)
95
125
  tabs.push({
96
126
  title: 'General',
97
127
  clicked: false,
@@ -117,113 +147,10 @@ export class NSASectionViewTabPage<RowType extends { id: string }, RowTypeInput
117
147
  </div>;
118
148
  }
119
149
  });
150
+ pushTabs(this.props.ui?.tabs?.extra?.after_general);
120
151
 
121
- if (this.props.entity.server.get)
122
- if (this.props.ctf.enabled)
123
- {
124
- if (this.props.ui?.tabs?.field ?? true)
125
- {
126
- let groups = Array.from(new Set(this.props.ctf.fields?.map(x => x.group) ?? []));
127
- groups.forEach(group =>
128
- {
129
- tabs.push({
130
- title: group,
131
- clicked: false,
132
- getContent: () =>
133
- {
134
- if (this.state.row == null)
135
- return <NSLoading></NSLoading>;
136
- let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
137
- if (ctf.fields.length === 0)
138
- return <NSNoData
139
- lable="No field found" />
140
- return <div className={Styles.nsa_section_tab_page_parent}>
141
- {
142
- this.props.ctf.fields?.filter(x => x.group === group).map((field, index) =>
143
- {
144
- return <NSLabel
145
- key={`NSASectionViewTabPage_NSLabel_Field_${index}`}
146
- title={field.name + ":"}
147
- classList={[Styles.nsa_section_tab_page_item]}
148
- >
149
- <div>{ctf.fields.filter(f => f.field_id === field.id).map(f => f.value).join(", ")}</div>
150
- </NSLabel>
151
- })
152
- }
153
- </div>;
154
- }
155
- });
156
- });
157
- }
158
- if (this.props.ui?.tabs?.category ?? true)
159
- {
160
- let groups = Array.from(new Set(this.props.ctf.categories?.map(x => x.group) ?? []));
161
- groups.forEach(group =>
162
- {
163
- tabs.push({
164
- title: group,
165
- clicked: false,
166
- getContent: () =>
167
- {
168
- if (this.state.row == null)
169
- return <NSLoading></NSLoading>;
170
- let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
171
- if (ctf.tags.length === 0)
172
- return <NSNoData
173
- lable="No category found" />
174
- let ids = ctf.categories.map(c => c.category_id);
175
- return <div className={Styles.nsa_section_tab_page_parent}>
176
- {
177
- this.props.ctf.categories?.filter(x => x.group === group && ids.includes(x.id)).map((category, index) =>
178
- {
179
- return <NSLabel
180
- key={`NSASectionViewTabPage_NSLabel_Category_${index}`}
181
- title={category.name}
182
- classList={[Styles.nsa_section_tab_page_item]}
183
- >
184
- </NSLabel>
185
- })
186
- }
187
- </div>;
188
- }
189
- });
190
- });
191
- }
192
- if (this.props.ui?.tabs?.tag ?? true)
193
- tabs.push({
194
- title: 'Tag',
195
- clicked: false,
196
- getContent: () =>
197
- {
198
- if (this.state.row == null)
199
- return <NSLoading></NSLoading>;
200
- let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
201
- if (ctf.tags.length === 0)
202
- return <NSNoData lable="No tag found" />
203
- return <div className={Styles.nsa_section_tab_page_parent}>
204
- {
205
- ctf.tags?.map((tag, index) =>
206
- {
207
- return <NSLabel
208
- key={`NSASectionViewTabPage_NSLabel_Tag_${index}`}
209
- title={tag.name + ":"}
210
- classList={[Styles.nsa_section_tab_page_item]}
211
- >
212
- <div>{tag.value}</div>
213
- </NSLabel>
214
- })
215
- }
216
- </div>;
217
- }
218
- });
219
- }
220
- //todo
221
- // tabs.push({title: 'Price History', getContent: todo });
222
- // tabs.push({title: 'Price Estimator', getContent: todo });
223
- // tabs.push({title: 'Log', getContent: todo });
224
- // tabs.push({title: 'Monitor', getContent: todo });
225
- let namirasoft = new NamirasoftMap(this.props.account.token_manager, this.props.notifier.onError);
226
- if (this.props.ui?.tabs?.history ?? true)
152
+ if (this.props.ui?.tabs?.history ?? true)
153
+ if (this.props.model.id)
227
154
  tabs.push({
228
155
  title: 'History',
229
156
  clicked: false,
@@ -257,24 +184,138 @@ export class NSASectionViewTabPage<RowType extends { id: string }, RowTypeInput
257
184
  ></NSTable>;
258
185
  }
259
186
  });
187
+ pushTabs(this.props.ui?.tabs?.extra?.after_history);
260
188
 
261
- if (this.props.entity.server.get)
189
+ if (this.props.ui?.tabs?.field ?? true)
190
+ if (this.props.model.id)
191
+ if (this.props.ctf.enabled)
192
+ {
193
+ let groups = Array.from(new Set(this.props.ctf.fields?.map(x => x.group) ?? []));
194
+ groups.forEach(group =>
195
+ {
196
+ tabs.push({
197
+ title: group,
198
+ clicked: false,
199
+ getContent: () =>
200
+ {
201
+ if (this.state.row == null)
202
+ return <NSLoading></NSLoading>;
203
+ let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
204
+ if (ctf.fields.length === 0)
205
+ return <NSNoData
206
+ lable="No field found" />
207
+ return <div className={Styles.nsa_section_tab_page_parent}>
208
+ {
209
+ this.props.ctf.fields?.filter(x => x.group === group).map((field, index) =>
210
+ {
211
+ return <NSLabel
212
+ key={`NSASectionViewTabPage_NSLabel_Field_${index}`}
213
+ title={field.name + ":"}
214
+ classList={[Styles.nsa_section_tab_page_item]}
215
+ >
216
+ <div>{ctf.fields.filter(f => f.field_id === field.id).map(f => f.value).join(", ")}</div>
217
+ </NSLabel>
218
+ })
219
+ }
220
+ </div>;
221
+ }
222
+ });
223
+ });
224
+ }
225
+ pushTabs(this.props.ui?.tabs?.extra?.after_field);
226
+
227
+ if (this.props.ui?.tabs?.category ?? true)
228
+ if (this.props.model.id)
229
+ if (this.props.ctf.enabled)
230
+ {
231
+ let groups = Array.from(new Set(this.props.ctf.categories?.map(x => x.group) ?? []));
232
+ groups.forEach(group =>
233
+ {
234
+ tabs.push({
235
+ title: group,
236
+ clicked: false,
237
+ getContent: () =>
238
+ {
239
+ if (this.state.row == null)
240
+ return <NSLoading></NSLoading>;
241
+ let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
242
+ if (ctf.tags.length === 0)
243
+ return <NSNoData
244
+ lable="No category found" />
245
+ let ids = ctf.categories.map(c => c.category_id);
246
+ return <div className={Styles.nsa_section_tab_page_parent}>
247
+ {
248
+ this.props.ctf.categories?.filter(x => x.group === group && ids.includes(x.id)).map((category, index) =>
249
+ {
250
+ return <NSLabel
251
+ key={`NSASectionViewTabPage_NSLabel_Category_${index}`}
252
+ title={category.name}
253
+ classList={[Styles.nsa_section_tab_page_item]}
254
+ >
255
+ </NSLabel>
256
+ })
257
+ }
258
+ </div>;
259
+ }
260
+ });
261
+ });
262
+ }
263
+ pushTabs(this.props.ui?.tabs?.extra?.after_category);
264
+
265
+ if (this.props.ui?.tabs?.tag ?? true)
266
+ if (this.props.model.id)
262
267
  if (this.props.ctf.enabled)
263
268
  tabs.push({
264
- title: "More",
265
- clicked: true,
266
- getContent: () => <NSASectionViewTabMore
267
- deleteFieldCache={this.props.deleteFieldCache}
268
- />
269
+ title: 'Tag',
270
+ clicked: false,
271
+ getContent: () =>
272
+ {
273
+ if (this.state.row == null)
274
+ return <NSLoading></NSLoading>;
275
+ let ctf = CFTUtil.get(this.props.entity.name, this.state.row);
276
+ if (ctf.tags.length === 0)
277
+ return <NSNoData lable="No tag found" />
278
+ return <div className={Styles.nsa_section_tab_page_parent}>
279
+ {
280
+ ctf.tags?.map((tag, index) =>
281
+ {
282
+ return <NSLabel
283
+ key={`NSASectionViewTabPage_NSLabel_Tag_${index}`}
284
+ title={tag.name + ":"}
285
+ classList={[Styles.nsa_section_tab_page_item]}
286
+ >
287
+ <div>{tag.value}</div>
288
+ </NSLabel>
289
+ })
290
+ }
291
+ </div>;
292
+ }
269
293
  });
270
- //todo
271
- // tabs.push({title: 'How It Works', getContent: todo });
272
- // tabs.push({title: 'API', getContent: todo });
273
- // tabs.push({title: 'Sample Code', getContent: todo });
274
- //todo
275
- // tabs.push({title: 'Category', getContent: todo });
276
- // tabs.push({title: 'Field', getContent: todo });
277
- }
294
+ pushTabs(this.props.ui?.tabs?.extra?.after_tag);
295
+ //todo
296
+ // tabs.push({title: 'Log', getContent: todo });
297
+ // tabs.push({title: 'Monitor', getContent: todo });
298
+
299
+ if (this.props.ui?.tabs?.more ?? true)
300
+ if (this.props.model.id)
301
+ if (this.props.entity.server.get)
302
+ if (this.props.ctf.enabled)
303
+ tabs.push({
304
+ title: "More",
305
+ clicked: true,
306
+ getContent: () => <NSASectionViewTabMore
307
+ deleteFieldCache={this.props.deleteFieldCache}
308
+ />
309
+ });
310
+ pushTabs(this.props.ui?.tabs?.extra?.after_more);
311
+
312
+ //todo
313
+ // tabs.push({title: 'How It Works', getContent: todo });
314
+ // tabs.push({title: 'API', getContent: todo });
315
+ // tabs.push({title: 'Sample Code', getContent: todo });
316
+ //todo
317
+ // tabs.push({title: 'Category', getContent: todo });
318
+ // tabs.push({title: 'Field', getContent: todo });
278
319
 
279
320
  if (!(this.props.ui?.enabled ?? true))
280
321
  return <></>;