namirasoft-site-react 1.3.255 → 1.3.257
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.
- package/dist/components/NSFilterBox.d.ts +12 -3
- package/dist/components/NSFilterBox.js +8 -8
- package/dist/components/NSFilterBox.js.map +1 -1
- package/dist/components/NSGroupedList.d.ts +7 -1
- package/dist/components/NSGroupedList.js +25 -6
- package/dist/components/NSGroupedList.js.map +1 -1
- package/package.json +3 -3
- package/src/components/NSFilterBox.tsx +12 -12
- package/src/components/NSGroupedList.tsx +58 -33
|
@@ -3,8 +3,14 @@ import { IBaseComponentProps } from '../main';
|
|
|
3
3
|
import { FilterItem, FilterItemColumnType, FilterItemOperator } from 'namirasoft-core';
|
|
4
4
|
export interface INSFilterBoxProps extends IBaseComponentProps {
|
|
5
5
|
placeholder?: string;
|
|
6
|
-
getTables: () =>
|
|
7
|
-
|
|
6
|
+
getTables: () => {
|
|
7
|
+
table: INSFilterBoxProps_Table;
|
|
8
|
+
required: boolean;
|
|
9
|
+
}[];
|
|
10
|
+
getMoreTables: () => Promise<{
|
|
11
|
+
table: INSFilterBoxProps_Table;
|
|
12
|
+
required: boolean;
|
|
13
|
+
}[]>;
|
|
8
14
|
getData: (table: INSFilterBoxProps_Table, column: INSFilterBoxProps_Column) => Promise<string[]>;
|
|
9
15
|
onChanged?: () => void;
|
|
10
16
|
}
|
|
@@ -21,7 +27,10 @@ export interface INSFilterBoxProps_Column {
|
|
|
21
27
|
interface INSFilterBoxState {
|
|
22
28
|
state: GroupListState;
|
|
23
29
|
value: string;
|
|
24
|
-
tables:
|
|
30
|
+
tables: {
|
|
31
|
+
table: INSFilterBoxProps_Table;
|
|
32
|
+
required: boolean;
|
|
33
|
+
}[];
|
|
25
34
|
computedValue: string;
|
|
26
35
|
selectedColumn: {
|
|
27
36
|
table: INSFilterBoxProps_Table;
|
|
@@ -50,7 +50,7 @@ export class NSFilterBox extends Component {
|
|
|
50
50
|
this.getFilterItems = this.getFilterItems.bind(this);
|
|
51
51
|
}
|
|
52
52
|
findTable(name) {
|
|
53
|
-
let res = this.state.tables.filter(t => t.name === name);
|
|
53
|
+
let res = this.state.tables.filter(t => t.table.name === name);
|
|
54
54
|
if (res.length === 1)
|
|
55
55
|
return res[0];
|
|
56
56
|
throw new Error("Table not found: " + name);
|
|
@@ -107,9 +107,9 @@ export class NSFilterBox extends Component {
|
|
|
107
107
|
groups_column.push(group_use);
|
|
108
108
|
groups_column.push(...this.state.tables.map((table) => {
|
|
109
109
|
return {
|
|
110
|
-
name: table.name,
|
|
111
|
-
text: table.text,
|
|
112
|
-
items: table.columns.map((column) => {
|
|
110
|
+
name: table.table.name,
|
|
111
|
+
text: table.table.text,
|
|
112
|
+
items: table.table.columns.map((column) => {
|
|
113
113
|
return {
|
|
114
114
|
name: column.name,
|
|
115
115
|
text: column.text,
|
|
@@ -150,11 +150,11 @@ export class NSFilterBox extends Component {
|
|
|
150
150
|
}, style: { width: "136px", border: "2px solid #001664" } }), _jsx("div", { className: Styles.ns_selected_list_parent, children: this.state.filterItems.map((item, index) => _jsx(NSFilterItem, { item: item, removeSelected: () => this.removeFilterItem(item) }, index)) })] }), this.state.state === GroupListState.Column &&
|
|
151
151
|
_jsx(NSGroupedList, { onClick: (table, name) => {
|
|
152
152
|
let t = this.findTable(table);
|
|
153
|
-
let c = this.findColumn(t, name);
|
|
154
|
-
let value = t.text + "." + c.text + " ";
|
|
153
|
+
let c = this.findColumn(t.table, name);
|
|
154
|
+
let value = t.table.text + "." + c.text + " ";
|
|
155
155
|
this.setState({
|
|
156
156
|
state: GroupListState.Opertor,
|
|
157
|
-
selectedColumn: { table: t, column: c },
|
|
157
|
+
selectedColumn: { table: t.table, column: c },
|
|
158
158
|
value,
|
|
159
159
|
computedValue: value,
|
|
160
160
|
values: []
|
|
@@ -206,7 +206,7 @@ export class NSFilterBox extends Component {
|
|
|
206
206
|
{
|
|
207
207
|
name: "operators",
|
|
208
208
|
text: "Operators",
|
|
209
|
-
items: this.state.selectedColumn ? FilterItemOperator.getAllByType(this.state.selectedColumn.column.type).map((operator) => {
|
|
209
|
+
items: this.state.selectedColumn ? FilterItemOperator.getAllByType(this.state.selectedColumn.column.type, this.findTable(this.state.selectedColumn.table.name).required).map((operator) => {
|
|
210
210
|
var _a, _b;
|
|
211
211
|
return {
|
|
212
212
|
name: operator.sign,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSFilterBox.js","sourceRoot":"","sources":["../../src/components/NSFilterBox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;;;;;AAEZ,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAwB,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACtF,OAAO,aAA4C,MAAM,iBAAiB,CAAC;AAC3E,OAAO,QAAQ,MAAM,YAAY,CAAC;AAqClC,IAAK,cAMJ;AAND,WAAK,cAAc;IAElB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;AAChB,CAAC,EANI,cAAc,KAAd,cAAc,QAMlB;AAED,MAAM,OAAO,WAAY,SAAQ,SAA+C;IAG/E,YAAY,KAAwB;QAEnC,KAAK,CAAC,KAAK,CAAC,CAAC;QA0CN,wBAAmB,GAAG,CAAO,CAAsC,EAAiB,EAAE;YAE7F,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBACzE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;;gBAEzB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1H,CAAC,CAAA,CAAA;QAhDA,IAAI,CAAC,KAAK,GAAG;YACZ,KAAK,EAAE,cAAc,CAAC,MAAM;YAC5B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,EAAE;SACf,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,EAAoB,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACO,SAAS,CAAC,IAAY;QAE7B,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"NSFilterBox.js","sourceRoot":"","sources":["../../src/components/NSFilterBox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,14 @@ export interface INSGroupedListProps_Item {
|
|
|
16
16
|
description?: string;
|
|
17
17
|
}
|
|
18
18
|
interface INSGroupedListState {
|
|
19
|
+
isVisible: boolean;
|
|
19
20
|
}
|
|
20
21
|
export default class NSGroupedList extends Component<INSGroupedListProps, INSGroupedListState> {
|
|
21
|
-
|
|
22
|
+
private wrapperRef;
|
|
23
|
+
constructor(props: INSGroupedListProps);
|
|
24
|
+
componentDidMount(): void;
|
|
25
|
+
componentWillUnmount(): void;
|
|
26
|
+
handleClickOutside(event: MouseEvent): void;
|
|
27
|
+
render(): import("react/jsx-runtime").JSX.Element | null;
|
|
22
28
|
}
|
|
23
29
|
export {};
|
|
@@ -1,13 +1,32 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { Component } from 'react';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Component, createRef } from 'react';
|
|
4
4
|
import Styles from "./NSGroupedList.module.css";
|
|
5
5
|
export default class NSGroupedList extends Component {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
this.wrapperRef = createRef();
|
|
9
|
+
this.state = {
|
|
10
|
+
isVisible: true,
|
|
11
|
+
};
|
|
12
|
+
this.handleClickOutside = this.handleClickOutside.bind(this);
|
|
13
|
+
}
|
|
14
|
+
componentDidMount() {
|
|
15
|
+
document.addEventListener('mousedown', this.handleClickOutside);
|
|
16
|
+
}
|
|
17
|
+
componentWillUnmount() {
|
|
18
|
+
document.removeEventListener('mousedown', this.handleClickOutside);
|
|
19
|
+
}
|
|
20
|
+
handleClickOutside(event) {
|
|
21
|
+
if (this.wrapperRef.current && !this.wrapperRef.current.contains(event.target)) {
|
|
22
|
+
this.setState({ isVisible: false });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
6
25
|
render() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
26
|
+
if (!this.state.isVisible) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return (_jsx("div", { ref: this.wrapperRef, className: Styles.ns_group_list_parent, children: this.props.groups.map((group, index) => (_jsxs("ul", { className: Styles.ns_group_list, children: [_jsx("span", { className: Styles.ns_group_category, children: group.text }), group.items.map((item, index) => (_jsx("li", { onClick: () => this.props.onClick(group.name, item.name), children: _jsxs("div", { className: Styles.ns_group_item, children: [_jsx("span", { children: item.text && _jsx("span", { children: item.text }) }), _jsx("span", { style: item.text_bold ? { fontWeight: 'bold' } : {}, children: _jsxs("b", { children: [" ", item.text_bold] }) }), item.description && _jsx("span", { className: Styles.ns_block, children: item.description })] }) }, index)))] }, index))) }));
|
|
10
30
|
}
|
|
11
31
|
}
|
|
12
|
-
;
|
|
13
32
|
//# sourceMappingURL=NSGroupedList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSGroupedList.js","sourceRoot":"","sources":["../../src/components/NSGroupedList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NSGroupedList.js","sourceRoot":"","sources":["../../src/components/NSGroupedList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,MAAM,MAAM,4BAA4B,CAAC;AA4BhD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAmD;IAG7F,YAAY,KAA0B;QAErC,KAAK,CAAC,KAAK,CAAC,CAAC;QAJN,eAAU,GAAG,SAAS,EAAkB,CAAC;QAKhD,IAAI,CAAC,KAAK,GAAG;YACZ,SAAS,EAAE,IAAI;SACf,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEQ,iBAAiB;QAEzB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAEQ,oBAAoB;QAE5B,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACpE,CAAC;IAED,kBAAkB,CAAC,KAAiB;QAEnC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EACtF;YACC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;SACpC;IACF,CAAC;IAEQ,MAAM;QAEd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EACzB;YACC,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,CACN,cAAK,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,oBAAoB,YAC/D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,cAAgB,SAAS,EAAE,MAAM,CAAC,aAAa,aAC9C,eAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,YAAG,KAAK,CAAC,IAAI,GAAQ,EAC7D,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,aAAgB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,YACvE,eAAK,SAAS,EAAE,MAAM,CAAC,aAAa,aACnC,yBAAO,IAAI,CAAC,IAAI,IAAI,yBAAO,IAAI,CAAC,IAAI,GAAQ,GAAQ,EACpD,eAAM,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,YACxD,6BAAK,IAAI,CAAC,SAAS,IAAK,GAClB,EACN,IAAI,CAAC,WAAW,IAAI,eAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,YAAG,IAAI,CAAC,WAAW,GAAQ,IAC3E,IAPE,KAAK,CAQT,CACL,CAAC,KAZM,KAAK,CAaT,CACL,CAAC,GACG,CACN,CAAC;IACH,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"framework": "npm",
|
|
9
9
|
"application": "package",
|
|
10
10
|
"private": false,
|
|
11
|
-
"version": "1.3.
|
|
11
|
+
"version": "1.3.257",
|
|
12
12
|
"author": "Amir Abolhasani, Alireza Esmaeeli, Sepideh Mazloumi, Hooman Shashaeh",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"main": "./dist/main.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"copy": "copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.svg src/**/*.png src/**/*.jpg dist/"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@types/node": "^20.14.
|
|
24
|
+
"@types/node": "^20.14.8",
|
|
25
25
|
"@types/react": "^18.3.3",
|
|
26
26
|
"@types/react-dom": "^18.3.0",
|
|
27
27
|
"antd": "^5.18.3",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"copyfiles": "^2.4.1",
|
|
30
30
|
"link-react": "^3.0.0",
|
|
31
31
|
"namirasoft-api-link": "^1.3.12",
|
|
32
|
-
"namirasoft-core": "^1.3.
|
|
32
|
+
"namirasoft-core": "^1.3.67",
|
|
33
33
|
"path-browserify": "^1.0.1",
|
|
34
34
|
"react": "^18.3.1",
|
|
35
35
|
"react-app-rewired": "^2.2.1",
|
|
@@ -11,8 +11,8 @@ import NSButton from './NSButton';
|
|
|
11
11
|
export interface INSFilterBoxProps extends IBaseComponentProps
|
|
12
12
|
{
|
|
13
13
|
placeholder?: string;
|
|
14
|
-
getTables: () => INSFilterBoxProps_Table[];
|
|
15
|
-
getMoreTables: () => Promise<INSFilterBoxProps_Table[]>;
|
|
14
|
+
getTables: () => { table: INSFilterBoxProps_Table, required: boolean }[];
|
|
15
|
+
getMoreTables: () => Promise<{ table: INSFilterBoxProps_Table, required: boolean }[]>;
|
|
16
16
|
getData: (table: INSFilterBoxProps_Table, column: INSFilterBoxProps_Column) => Promise<string[]>;
|
|
17
17
|
onChanged?: () => void;
|
|
18
18
|
}
|
|
@@ -35,7 +35,7 @@ interface INSFilterBoxState
|
|
|
35
35
|
{
|
|
36
36
|
state: GroupListState;
|
|
37
37
|
value: string;
|
|
38
|
-
tables: INSFilterBoxProps_Table[]
|
|
38
|
+
tables: { table: INSFilterBoxProps_Table, required: boolean }[]
|
|
39
39
|
computedValue: string;
|
|
40
40
|
selectedColumn: { table: INSFilterBoxProps_Table, column: INSFilterBoxProps_Column } | null;
|
|
41
41
|
selectedOperator: FilterItemOperator | null;
|
|
@@ -74,9 +74,9 @@ export class NSFilterBox extends Component<INSFilterBoxProps, INSFilterBoxState>
|
|
|
74
74
|
this.removeFilterItem = this.removeFilterItem.bind(this);
|
|
75
75
|
this.getFilterItems = this.getFilterItems.bind(this);
|
|
76
76
|
}
|
|
77
|
-
private findTable(name: string): INSFilterBoxProps_Table
|
|
77
|
+
private findTable(name: string): { table: INSFilterBoxProps_Table, required: boolean }
|
|
78
78
|
{
|
|
79
|
-
let res = this.state.tables.filter(t => t.name === name);
|
|
79
|
+
let res = this.state.tables.filter(t => t.table.name === name);
|
|
80
80
|
if (res.length === 1)
|
|
81
81
|
return res[0];
|
|
82
82
|
throw new Error("Table not found: " + name);
|
|
@@ -154,9 +154,9 @@ export class NSFilterBox extends Component<INSFilterBoxProps, INSFilterBoxState>
|
|
|
154
154
|
groups_column.push(...this.state.tables.map((table) =>
|
|
155
155
|
{
|
|
156
156
|
return {
|
|
157
|
-
name: table.name,
|
|
158
|
-
text: table.text,
|
|
159
|
-
items: table.columns.map((column) =>
|
|
157
|
+
name: table.table.name,
|
|
158
|
+
text: table.table.text,
|
|
159
|
+
items: table.table.columns.map((column) =>
|
|
160
160
|
{
|
|
161
161
|
return {
|
|
162
162
|
name: column.name,
|
|
@@ -257,11 +257,11 @@ export class NSFilterBox extends Component<INSFilterBoxProps, INSFilterBoxState>
|
|
|
257
257
|
onClick={(table, name) =>
|
|
258
258
|
{
|
|
259
259
|
let t = this.findTable(table);
|
|
260
|
-
let c = this.findColumn(t, name);
|
|
261
|
-
let value = t.text + "." + c.text + " ";
|
|
260
|
+
let c = this.findColumn(t.table, name);
|
|
261
|
+
let value = t.table.text + "." + c.text + " ";
|
|
262
262
|
this.setState({
|
|
263
263
|
state: GroupListState.Opertor,
|
|
264
|
-
selectedColumn: { table: t, column: c },
|
|
264
|
+
selectedColumn: { table: t.table, column: c },
|
|
265
265
|
value,
|
|
266
266
|
computedValue: value,
|
|
267
267
|
values: []
|
|
@@ -328,7 +328,7 @@ export class NSFilterBox extends Component<INSFilterBoxProps, INSFilterBoxState>
|
|
|
328
328
|
{
|
|
329
329
|
name: "operators",
|
|
330
330
|
text: "Operators",
|
|
331
|
-
items: this.state.selectedColumn ? FilterItemOperator.getAllByType(this.state.selectedColumn.column.type).map((operator) =>
|
|
331
|
+
items: this.state.selectedColumn ? FilterItemOperator.getAllByType(this.state.selectedColumn.column.type, this.findTable(this.state.selectedColumn.table.name).required).map((operator) =>
|
|
332
332
|
{
|
|
333
333
|
return {
|
|
334
334
|
name: operator.sign,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
|
-
import { Component } from 'react';
|
|
2
|
+
import { Component, createRef } from 'react';
|
|
3
3
|
import { IBaseComponentProps } from '../main';
|
|
4
|
-
import Styles from "./NSGroupedList.module.css"
|
|
4
|
+
import Styles from "./NSGroupedList.module.css";
|
|
5
5
|
|
|
6
6
|
export interface INSGroupedListProps extends IBaseComponentProps
|
|
7
7
|
{
|
|
@@ -25,41 +25,66 @@ export interface INSGroupedListProps_Item
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
interface INSGroupedListState
|
|
28
|
-
{ }
|
|
29
|
-
|
|
30
|
-
export default class NSGroupedList extends Component<INSGroupedListProps, INSGroupedListState>
|
|
31
28
|
{
|
|
29
|
+
isVisible: boolean;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default class NSGroupedList extends Component<INSGroupedListProps, INSGroupedListState> {
|
|
33
|
+
private wrapperRef = createRef<HTMLDivElement>();
|
|
34
|
+
|
|
35
|
+
constructor(props: INSGroupedListProps)
|
|
36
|
+
{
|
|
37
|
+
super(props);
|
|
38
|
+
this.state = {
|
|
39
|
+
isVisible: true,
|
|
40
|
+
};
|
|
41
|
+
this.handleClickOutside = this.handleClickOutside.bind(this);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
override componentDidMount()
|
|
45
|
+
{
|
|
46
|
+
document.addEventListener('mousedown', this.handleClickOutside);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
override componentWillUnmount()
|
|
50
|
+
{
|
|
51
|
+
document.removeEventListener('mousedown', this.handleClickOutside);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
handleClickOutside(event: MouseEvent)
|
|
55
|
+
{
|
|
56
|
+
if (this.wrapperRef.current && !this.wrapperRef.current.contains(event.target as Node))
|
|
57
|
+
{
|
|
58
|
+
this.setState({ isVisible: false });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
32
62
|
override render()
|
|
33
63
|
{
|
|
34
|
-
|
|
64
|
+
if (!this.state.isVisible)
|
|
65
|
+
{
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
|
|
35
69
|
return (
|
|
36
|
-
<div className={Styles.ns_group_list_parent}>
|
|
37
|
-
{
|
|
38
|
-
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
|
|
43
|
-
<
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
<span className={Styles.ns_block}>{item.description}</span>
|
|
54
|
-
}
|
|
55
|
-
</div>
|
|
56
|
-
</li>
|
|
57
|
-
)
|
|
58
|
-
}
|
|
59
|
-
</ul>
|
|
60
|
-
)
|
|
61
|
-
}
|
|
70
|
+
<div ref={this.wrapperRef} className={Styles.ns_group_list_parent}>
|
|
71
|
+
{this.props.groups.map((group, index) => (
|
|
72
|
+
<ul key={index} className={Styles.ns_group_list}>
|
|
73
|
+
<span className={Styles.ns_group_category}>{group.text}</span>
|
|
74
|
+
{group.items.map((item, index) => (
|
|
75
|
+
<li key={index} onClick={() => this.props.onClick(group.name, item.name)}>
|
|
76
|
+
<div className={Styles.ns_group_item}>
|
|
77
|
+
<span>{item.text && <span>{item.text}</span>}</span>
|
|
78
|
+
<span style={item.text_bold ? { fontWeight: 'bold' } : {}}>
|
|
79
|
+
<b> {item.text_bold}</b>
|
|
80
|
+
</span>
|
|
81
|
+
{item.description && <span className={Styles.ns_block}>{item.description}</span>}
|
|
82
|
+
</div>
|
|
83
|
+
</li>
|
|
84
|
+
))}
|
|
85
|
+
</ul>
|
|
86
|
+
))}
|
|
62
87
|
</div>
|
|
63
88
|
);
|
|
64
89
|
}
|
|
65
|
-
}
|
|
90
|
+
}
|