namirasoft-site-react 1.3.139 → 1.3.141

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.
Files changed (39) hide show
  1. package/dist/App.js +109 -55
  2. package/dist/App.js.map +1 -1
  3. package/dist/components/NSButtonRed.module.css +1 -1
  4. package/dist/components/NSFilterBox.d.ts +44 -1
  5. package/dist/components/NSFilterBox.js +112 -2
  6. package/dist/components/NSFilterBox.js.map +1 -1
  7. package/dist/components/NSFilterBox.module.css +10 -0
  8. package/dist/components/NSFilterBoxDialog.d.ts +1 -0
  9. package/dist/components/NSFilterBoxDialog.js +2 -2
  10. package/dist/components/NSFilterBoxDialog.js.map +1 -1
  11. package/dist/components/NSFilterItem.d.ts +17 -0
  12. package/dist/components/NSFilterItem.js +29 -0
  13. package/dist/components/NSFilterItem.js.map +1 -0
  14. package/dist/components/NSFilterItem.module.css +24 -0
  15. package/dist/components/NSGroupedList.d.ts +21 -0
  16. package/dist/components/NSGroupedList.js +12 -0
  17. package/dist/components/NSGroupedList.js.map +1 -0
  18. package/dist/components/NSGroupedList.module.css +71 -0
  19. package/dist/components/NSLayoutAction.js +4 -4
  20. package/dist/components/NSLayoutAction.js.map +1 -1
  21. package/dist/components/NSModal.d.ts +1 -0
  22. package/dist/components/NSModal.js +1 -1
  23. package/dist/components/NSModal.js.map +1 -1
  24. package/dist/components/NSTable.d.ts +2 -1
  25. package/dist/components/NSTable.js +4 -4
  26. package/dist/components/NSTable.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/App.tsx +110 -92
  29. package/src/components/NSButtonRed.module.css +1 -1
  30. package/src/components/NSFilterBox.module.css +10 -0
  31. package/src/components/NSFilterBox.tsx +204 -20
  32. package/src/components/NSFilterBoxDialog.tsx +5 -3
  33. package/src/components/NSFilterItem.module.css +24 -0
  34. package/src/components/NSFilterItem.tsx +72 -0
  35. package/src/components/NSGroupedList.module.css +71 -0
  36. package/src/components/NSGroupedList.tsx +59 -0
  37. package/src/components/NSLayoutAction.tsx +23 -21
  38. package/src/components/NSModal.tsx +7 -0
  39. package/src/components/NSTable.tsx +5 -4
@@ -12,9 +12,9 @@ export function NSLayoutAction(props) {
12
12
  show: false
13
13
  });
14
14
  const filtered_actions = props.actions.filter((action) => action.group);
15
- return (_jsxs(NSLayout, Object.assign({}, props, { children: [_jsxs("div", { className: Styles.ns_action_bar_holder, children: [_jsxs("div", { className: `d-none d-lg-flex ${Styles.ns_desktop_action_bar_title}`, children: [_jsx("h1", { className: Styles.title, children: props.title }), _jsxs("button", { className: Styles.ns_info_container, onClick: () => setState({ show: true }), children: [_jsx("img", { src: 'https://static.namirasoft.com/image/concept/info/white-blue.svg', alt: 'info-icon', width: 24, height: 24 }), _jsx("span", { children: " Info " })] }), _jsx(NSModal, { show: state.show, description: props.description, title: props.title, onClose: () => setState({ show: false }) })] }), _jsxs("div", { className: `d-block d-lg-none ${Styles.ns_mobile_action_bar_title}`, children: [_jsx("h1", { className: Styles.title, children: props.title }), props.description && lines &&
16
- _jsxs(_Fragment, { children: [_jsx("p", { className: Styles.description, children: lines.map((line, index) => {
17
- return _jsxs(_Fragment, { children: [line.trim(), index != lines.length - 1 && _jsx("br", {})] });
18
- }) }), _jsx(NSSpace, { size: NSSpaceSizeType.MINI })] })] }), _jsx("div", { className: Styles.ns_actions_hodler, children: filtered_actions.map((action) => _jsx(NSActionMenu, { group: action.group, items: action.items }, action.id)) })] }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), props.children] })));
15
+ return (_jsxs(NSLayout, Object.assign({}, props, { children: [_jsxs("div", { className: Styles.ns_action_bar_holder, children: [_jsxs("div", { className: `d-none d-lg-flex ${Styles.ns_desktop_action_bar_title}`, children: [_jsx("h1", { className: Styles.title, children: props.title }), _jsxs("button", { className: Styles.ns_info_container, onClick: () => setState({ show: true }), children: [_jsx("img", { src: 'https://static.namirasoft.com/image/concept/info/white-blue.svg', alt: 'info-icon', width: 24, height: 24 }), _jsx("span", { children: " Info " })] }), _jsx(NSModal, { show: state.show, description: props.description, title: props.title, onClose: () => setState({ show: false }) })] }), _jsx("div", { className: Styles.ns_actions_hodler, children: filtered_actions.map((action) => _jsx(NSActionMenu, { group: action.group, items: action.items }, action.id)) })] }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsxs("div", { className: `container d-block d-lg-none ${Styles.ns_mobile_action_bar_title}`, children: [_jsx("h1", { className: Styles.title, children: props.title }), props.description && lines &&
16
+ _jsxs(_Fragment, { children: [_jsx("p", { className: Styles.description, children: lines.map((line, index) => {
17
+ return _jsxs(_Fragment, { children: [line.trim(), index != lines.length - 1 && _jsx("br", {})] });
18
+ }) }), _jsx(NSSpace, { size: NSSpaceSizeType.MINI })] })] }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), props.children] })));
19
19
  }
20
20
  //# sourceMappingURL=NSLayoutAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSLayoutAction.js","sourceRoot":"","sources":["../../src/components/NSLayoutAction.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,UAAU,cAAc,CAAC,KAA2B;;IAEzD,IAAI,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAsB;QACvD,IAAI,EAAE,KAAK;KACX,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAGvE,OAAO,CACN,MAAC,QAAQ,oBAAK,KAAK,eAElB,eAAK,SAAS,EAAE,MAAM,CAAC,oBAAoB,aAE1C,eAAK,SAAS,EAAE,oBAAoB,MAAM,CAAC,2BAA2B,EAAE,aACvE,aAAI,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,CAAC,KAAK,GAAM,EAE/C,kBAAQ,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,aACnF,cAAK,GAAG,EAAC,iEAAiE,EAAC,GAAG,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,EACpH,oCAAmB,IACX,EAET,KAAC,OAAO,IACP,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GACvC,IACG,EAGN,eAAK,SAAS,EAAE,qBAAqB,MAAM,CAAC,0BAA0B,EAAE,aACvE,aAAI,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,CAAC,KAAK,GAAM,EAE9C,KAAK,CAAC,WAAW,IAAI,KAAK;gCAC1B,8BACC,YAAG,SAAS,EAAE,MAAM,CAAC,WAAW,YAE9B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gDAEzB,OAAO,8BACL,IAAI,CAAC,IAAI,EAAE,EACX,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,cAAM,IAClC,CAAA;4CACJ,CAAC,CAAC,GAEA,EACJ,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,IAAI,GAAI,IACrC,IAEC,EAEN,cAAK,SAAS,EAAE,MAAM,CAAC,iBAAiB,YACtC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,KAAC,YAAY,IAEZ,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAFd,MAAM,CAAC,EAAE,CAGb,CACF,GACI,IAED,EACN,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EACvC,KAAK,CAAC,QAAQ,KACL,CACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"NSLayoutAction.js","sourceRoot":"","sources":["../../src/components/NSLayoutAction.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,UAAU,cAAc,CAAC,KAA2B;;IAEzD,IAAI,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAsB;QACvD,IAAI,EAAE,KAAK;KACX,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAGvE,OAAO,CACN,MAAC,QAAQ,oBAAK,KAAK,eAElB,eAAK,SAAS,EAAE,MAAM,CAAC,oBAAoB,aAE1C,eAAK,SAAS,EAAE,oBAAoB,MAAM,CAAC,2BAA2B,EAAE,aACvE,aAAI,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,CAAC,KAAK,GAAM,EAE/C,kBAAQ,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,aACnF,cAAK,GAAG,EAAC,iEAAiE,EAAC,GAAG,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,EACpH,oCAAmB,IACX,EAET,KAAC,OAAO,IACP,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GACvC,IACG,EAIN,cAAK,SAAS,EAAE,MAAM,CAAC,iBAAiB,YACtC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,KAAC,YAAY,IAEZ,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAFd,MAAM,CAAC,EAAE,CAGb,CACF,GACI,IAED,EACN,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EAExC,eAAK,SAAS,EAAE,+BAA+B,MAAM,CAAC,0BAA0B,EAAE,aACjF,aAAI,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,CAAC,KAAK,GAAM,EAE9C,KAAK,CAAC,WAAW,IAAI,KAAK;wBAC1B,8BACC,YAAG,SAAS,EAAE,MAAM,CAAC,WAAW,YAE9B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wCAEzB,OAAO,8BACL,IAAI,CAAC,IAAI,EAAE,EACX,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,cAAM,IAClC,CAAA;oCACJ,CAAC,CAAC,GAEA,EACJ,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,IAAI,GAAI,IACrC,IAEC,EACN,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EACvC,KAAK,CAAC,QAAQ,KACL,CACX,CAAC;AACH,CAAC"}
@@ -4,6 +4,7 @@ export interface INSModalProps extends IBaseComponentProps {
4
4
  title?: string;
5
5
  description?: string;
6
6
  show: boolean;
7
+ column?: string;
7
8
  children?: React.ReactNode;
8
9
  onClose: () => void;
9
10
  }
@@ -9,6 +9,6 @@ export function NSModal(props) {
9
9
  };
10
10
  return (_jsx("div", { className: Styles.ns_modal_container, onClick: props.onClose, children: _jsx("section", { id: props.id, className: `${props.show ? Styles.ns_show : Styles.ns_hide}
11
11
  ${Styles.ns_modal}
12
- ${(_a = props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: props.style, onClick: props.onClose, children: _jsxs("div", { className: Styles.ns_modal_container, onClick: handleModalClick, children: [_jsx(NSButton, { onClick: props.onClose, icon: { src: "https://static.namirasoft.com/image/concept/close/white.svg", alt: "close modal" }, classList: [Styles.ns_close_modal] }), _jsxs("div", { className: Styles.ns_modal_content, children: [props.title && (_jsxs(_Fragment, { children: [_jsx(NSTitle, { title: props.title }), _jsx(NSSpace, { size: NSSpaceSizeType.NORMAL })] })), props.description && (_jsx("div", { children: _jsx("p", { className: Styles.ns_modal_description, children: props.description }) })), props.children && (_jsx("div", { children: props.children }))] })] }) }) }));
12
+ ${(_a = props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: props.style, onClick: props.onClose, children: _jsxs("div", { className: Styles.ns_modal_container, onClick: handleModalClick, children: [_jsx(NSButton, { onClick: props.onClose, icon: { src: "https://static.namirasoft.com/image/concept/close/white.svg", alt: "close modal" }, classList: [Styles.ns_close_modal] }), _jsxs("div", { className: Styles.ns_modal_content, children: [props.column && (_jsxs(_Fragment, { children: [_jsx(NSTitle, { title: props.column }), _jsx(NSSpace, { size: NSSpaceSizeType.NORMAL })] })), props.title && (_jsxs(_Fragment, { children: [_jsx(NSTitle, { title: props.title }), _jsx(NSSpace, { size: NSSpaceSizeType.NORMAL })] })), props.description && (_jsx("div", { children: _jsx("p", { className: Styles.ns_modal_description, children: props.description }) })), props.children && (_jsx("div", { children: props.children }))] })] }) }) }));
13
13
  }
14
14
  //# sourceMappingURL=NSModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSModal.js","sourceRoot":"","sources":["../../src/components/NSModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,QAAQ,MAAM,YAAY,CAAC;AASlC,MAAM,UAAU,OAAO,CAAC,KAAoB;;IAE3C,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,EAAE;QAEpD,KAAK,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,CACN,cAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,YAChE,kBACC,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;OACvD,MAAM,CAAC,QAAQ;OACf,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAC/B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,KAAK,CAAC,OAAO,YAEtB,eAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,aACnE,KAAC,QAAQ,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,IAAI,EAAE,EAAE,GAAG,EAAE,6DAA6D,EAAE,GAAG,EAAE,aAAa,EAAE,EAChG,SAAS,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GACjC,EACF,eAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,aACrC,KAAK,CAAC,KAAK,IAAI,CACf,8BACC,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,EAC/B,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAI,IACvC,CACH,EACA,KAAK,CAAC,WAAW,IAAI,CACrB,wBACC,YAAG,SAAS,EAAE,MAAM,CAAC,oBAAoB,YAAG,KAAK,CAAC,WAAW,GAAK,GAC7D,CACN,EACA,KAAK,CAAC,QAAQ,IAAI,CAClB,wBACE,KAAK,CAAC,QAAQ,GACV,CACN,IACI,IACD,GACG,GACL,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"NSModal.js","sourceRoot":"","sources":["../../src/components/NSModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAUlC,MAAM,UAAU,OAAO,CAAC,KAAoB;;IAE3C,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,EAAE;QAEpD,KAAK,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,CACN,cAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,YAChE,kBACC,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;OACvD,MAAM,CAAC,QAAQ;OACf,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAC/B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,KAAK,CAAC,OAAO,YAEtB,eAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,aACnE,KAAC,QAAQ,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,IAAI,EAAE,EAAE,GAAG,EAAE,6DAA6D,EAAE,GAAG,EAAE,aAAa,EAAE,EAChG,SAAS,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GACjC,EACF,eAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,aACrC,KAAK,CAAC,MAAM,IAAI,CAChB,8BACC,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAI,EAChC,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAI,IACvC,CACH,EACA,KAAK,CAAC,KAAK,IAAI,CACf,8BACC,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,EAC/B,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAI,IACvC,CACH,EACA,KAAK,CAAC,WAAW,IAAI,CACrB,wBACC,YAAG,SAAS,EAAE,MAAM,CAAC,oBAAoB,YAAG,KAAK,CAAC,WAAW,GAAK,GAC7D,CACN,EACA,KAAK,CAAC,QAAQ,IAAI,CAClB,wBACE,KAAK,CAAC,QAAQ,GACV,CACN,IACI,IACD,GACG,GACL,CACN,CAAC;AACH,CAAC"}
@@ -28,6 +28,7 @@ export interface NSTableState<RowType> {
28
28
  model: {
29
29
  show: boolean;
30
30
  description?: string;
31
+ columnName?: string;
31
32
  };
32
33
  }
33
34
  export declare class NSTable<RowType> extends Component<INSTableProps<RowType>, NSTableState<RowType>> {
@@ -38,7 +39,7 @@ export declare class NSTable<RowType> extends Component<INSTableProps<RowType>,
38
39
  }): void;
39
40
  setRows(rows: RowType[]): void;
40
41
  getSearchValue(): string;
41
- showModal(description: string): void;
42
+ showModal(description: string, columnName: string): void;
42
43
  hideModal(): void;
43
44
  onPageChange: (page: number) => void;
44
45
  render(): import("react/jsx-runtime").JSX.Element;
@@ -28,8 +28,8 @@ export class NSTable extends Component {
28
28
  var _a, _b, _c;
29
29
  return (_c = (_b = (_a = this.search) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.getValue()) !== null && _c !== void 0 ? _c : "";
30
30
  }
31
- showModal(description) {
32
- this.setState({ model: { show: true, description } });
31
+ showModal(description, columnName) {
32
+ this.setState({ model: { show: true, description, columnName } });
33
33
  }
34
34
  hideModal() {
35
35
  this.setState({ model: { show: false } });
@@ -64,9 +64,9 @@ export class NSTable extends Component {
64
64
  overided = res;
65
65
  }
66
66
  if (!overided)
67
- this.showModal(getCell(row, column, rowIndex, columnIndex));
67
+ this.showModal(getCell(row, column, rowIndex, columnIndex), column);
68
68
  };
69
- return (_jsxs("div", { id: this.props.id, className: `${Styles.ns_project_list_container} ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx(NSBoxSearch, { title: "Search", required: false, onChanged: this.props.onChanged, ref: this.search }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsxs("table", { className: Styles.ns_table, children: [_jsx("thead", { className: Styles.ns_thead, children: _jsx("tr", { children: column_keys.map(column_key => _jsx("th", { scope: "col", onClick: (e) => modalTitle(e), children: this.state.columns[column_key] }, column_key)) }) }), _jsx("tbody", { className: Styles.ns_tbody, children: this.state.rows.map((row, rowIndex) => _jsx("tr", { onClick: (e) => { onRowClick(e, row, rowIndex); }, children: column_keys.map((column, columnIndex) => (_jsx("td", Object.assign({}, getColumnAttributes(column, columnIndex), { "data-label": `${this.state.columns[column]} : `, onClick: (e) => { onCellClick(e, row, column, rowIndex, columnIndex); }, children: getCell(row, column, rowIndex, columnIndex) })))) }, this.props.getRowKey(row, rowIndex))) })] }), _jsx(NSSpace, { size: NSSpaceSizeType.MICRO }), _jsxs("section", { className: Styles.ns_pagination_button, children: [_jsx(NSPagination, { pageSize: this.props.pageSize, currentPage: this.state.currentPage, totalItems: this.props.totalItems, onPageChange: this.onPageChange }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsxs("div", { className: Styles.ns_button, children: [_jsx(NSButton, { title: 'Export', icon: { src: "https://static.namirasoft.com/image/concept/export/blue.svg" }, onClick: () => { }, style: { border: '1px solid rgba(255, 148, 50, 1)', width: "128px" } }), _jsx(NSButton, { title: 'Refresh', icon: { src: "https://static.namirasoft.com/image/concept/export/blue.svg" }, onClick: () => { }, style: { border: '1px solid rgba(3, 119, 255, 1)', width: "128px" } })] })] }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsx(NSModal, { show: this.state.model.show, description: this.state.model.description, onClose: () => { this.hideModal(); }, title: this.state.title })] }));
69
+ return (_jsxs("div", { id: this.props.id, className: `${Styles.ns_project_list_container} ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx(NSBoxSearch, { title: "Search", required: false, onChanged: this.props.onChanged, ref: this.search }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsxs("table", { className: Styles.ns_table, children: [_jsx("thead", { className: Styles.ns_thead, children: _jsx("tr", { children: column_keys.map(column_key => _jsx("th", { scope: "col", onClick: (e) => modalTitle(e), children: this.state.columns[column_key] }, column_key)) }) }), _jsx("tbody", { className: Styles.ns_tbody, children: this.state.rows.map((row, rowIndex) => _jsx("tr", { onClick: (e) => { onRowClick(e, row, rowIndex); }, children: column_keys.map((column, columnIndex) => (_jsx("td", Object.assign({}, getColumnAttributes(column, columnIndex), { "data-label": `${this.state.columns[column]} : `, onClick: (e) => { onCellClick(e, row, column, rowIndex, columnIndex); }, children: getCell(row, column, rowIndex, columnIndex) })))) }, this.props.getRowKey(row, rowIndex))) })] }), _jsx(NSSpace, { size: NSSpaceSizeType.MICRO }), _jsxs("section", { className: Styles.ns_pagination_button, children: [_jsx(NSPagination, { pageSize: this.props.pageSize, currentPage: this.state.currentPage, totalItems: this.props.totalItems, onPageChange: this.onPageChange }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsxs("div", { className: Styles.ns_button, children: [_jsx(NSButton, { title: 'Export', icon: { src: "https://static.namirasoft.com/image/concept/export/blue.svg" }, onClick: () => { }, style: { border: '1px solid rgba(255, 148, 50, 1)', width: "128px" } }), _jsx(NSButton, { title: 'Refresh', icon: { src: "https://static.namirasoft.com/image/concept/export/blue.svg" }, onClick: () => { }, style: { border: '1px solid rgba(3, 119, 255, 1)', width: "128px" } })] })] }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsx(NSModal, { show: this.state.model.show, description: this.state.model.description, onClose: () => { this.hideModal(); }, title: this.state.title, column: this.state.model.columnName })] }));
70
70
  }
71
71
  }
72
72
  //# sourceMappingURL=NSTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSTable.js","sourceRoot":"","sources":["../../src/components/NSTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSTable.js","sourceRoot":"","sources":["../../src/components/NSTable.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.3.139",
11
+ "version": "1.3.141",
12
12
  "author": "Amir Abolhasani, Alireza Esmaeeli, Sepideh Mazloumi, Hooman Shashaeh",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
package/src/App.tsx CHANGED
@@ -1,11 +1,8 @@
1
1
  import './App.css';
2
2
  import 'bootstrap/dist/css/bootstrap.min.css';
3
- import { NSBoxIPV4, NSTable, NSTabPage } from './main';
4
- import { useRef } from 'react';
5
3
  import { NSLayoutAction } from './components/NSLayoutAction';
6
- import { NSBoxIPV6 } from './components/NSBoxIPV6';
7
- import { NSBoxBoolean } from './components/NSBoxBoolean';
8
4
  import { NSFilterBox } from './components/NSFilterBox';
5
+ import { FilterItemColumnType } from 'namirasoft-core';
9
6
 
10
7
  const actions = [
11
8
  {
@@ -63,70 +60,118 @@ const actions = [
63
60
  }
64
61
  ]
65
62
 
66
- export function App()
67
- {
68
63
 
69
- let table = useRef<NSTable<App>>(null);
70
- let columns = {
71
- "id": "ID",
72
- "project": "Project",
73
- "level": "Level",
74
- "message": "Message",
75
- "cent": "Cent",
76
- "status": "Status",
77
- }
78
- let rows = [{
79
- id: 1,
80
- project: "Namirasoft Account",
81
- level: "Debug",
82
- message: "Lorem ipsum dolor sit amet, consetetur ",
83
- cent: "26",
84
- status: "pending"
85
- },
64
+ const suggest_items = [
86
65
  {
87
- id: 2,
88
- project: "Namirasoft Account",
89
- level: "Debug",
90
- message: "Lorem ipsum dolor sit amet, consetetur ",
91
- cent: "24",
92
- status: "Done"
66
+ name: "test-category-1",
67
+ text: "test-category-1",
68
+ columns: [
69
+ {
70
+ name: "item-id-test-1",
71
+ text: "item-title-test-1",
72
+ type: FilterItemColumnType.String
73
+ },
74
+ {
75
+ name: "item-id-test-2",
76
+ text: "item-title-test-2",
77
+ type: FilterItemColumnType.String
78
+ },
79
+ {
80
+ name: "item-id-test-2",
81
+ text: "item-title-test-2",
82
+ type: FilterItemColumnType.String
83
+ },
84
+ {
85
+ name: "item-id-test-2",
86
+ text: "item-title-test-2",
87
+ type: FilterItemColumnType.String
88
+ },
89
+ ]
93
90
  },
94
91
  {
95
- id: 3,
96
- project: "Namirasoft Account",
97
- level: "Debug",
98
- message: "Lorem ipsum dolor sit amet, consetetur ",
99
- cent: "24",
100
- status: "Done"
101
- }
102
- ]
103
- interface App
104
- {
105
- id: number,
106
- project: string,
107
- level: string,
108
- message: string,
109
- cent: string,
110
- status: string
111
- }
112
- function getCell(row: App, column: string): any
92
+ name: "test-category-1",
93
+ text: "test-category-1",
94
+ columns: [
95
+ {
96
+ name: "item-id-test-1",
97
+ text: "item-title-test-1",
98
+ type: FilterItemColumnType.String
99
+ },
100
+ {
101
+ name: "item-id-test-2",
102
+ text: "item-title-test-2",
103
+ type: FilterItemColumnType.String
104
+ },
105
+ {
106
+ name: "item-id-test-2",
107
+ text: "item-title-test-2",
108
+ type: FilterItemColumnType.String
109
+ },
110
+ {
111
+ name: "item-id-test-2",
112
+ text: "item-title-test-2",
113
+ type: FilterItemColumnType.String
114
+ },
115
+ ]
116
+ },
113
117
  {
114
- return (row as any)[column];
115
- }
116
- function getRows(page: number): void
118
+ name: "test-category-1",
119
+ text: "test-category-2",
120
+ columns: [
121
+ {
122
+ name: "item-id-test-2-1",
123
+ text: "item-title-test-2-1",
124
+ type: FilterItemColumnType.String
125
+ },
126
+ {
127
+ name: "item-id-test-2-2",
128
+ text: "item-title-test-2-1",
129
+ type: FilterItemColumnType.String
130
+ },
131
+ {
132
+ name: "item-id-test-2-3",
133
+ text: "item-title-test-2-3",
134
+ type: FilterItemColumnType.String
135
+ },
136
+ {
137
+ name: "item-id-test-2-4",
138
+ text: "item-title-test-2-4",
139
+ type: FilterItemColumnType.String
140
+ },
141
+ ]
142
+ },
117
143
  {
118
- console.log(page);
119
- }
120
- function onChange(): void
121
- { }
122
- let content1 = () => <p>Content for Tab</p>;
123
- let content2 = () => <p>Content for Tab</p>;
124
- let content3 = () => <p>Content for Tab</p>;
125
- const tabs = [
126
- { title: 'Information', getContent: content1 },
127
- { title: 'Price History', getContent: content2 },
128
- { title: 'Price Estimator', getContent: content3 }
129
- ];
144
+ name: "test-category-3",
145
+ text: "test-category-3",
146
+ columns: [
147
+ {
148
+ name: "item-id-test-3-1",
149
+ text: "item-title-test-3-1",
150
+ type: FilterItemColumnType.String
151
+ },
152
+ {
153
+ name: "item-id-test-3-2",
154
+ text: "item-title-test-3-2",
155
+ type: FilterItemColumnType.String
156
+ },
157
+ {
158
+ name: "item-id-test-3-3",
159
+ text: "item-title-test-3-3",
160
+ type: FilterItemColumnType.String
161
+ },
162
+ {
163
+ name: "item-id-test-3-4",
164
+ text: "item-title-test-3-4",
165
+ type: FilterItemColumnType.String
166
+ },
167
+ ]
168
+ },
169
+ ]
170
+
171
+
172
+ export function App()
173
+ {
174
+
130
175
  return (
131
176
  <>
132
177
  <NSLayoutAction
@@ -137,36 +182,9 @@ export function App()
137
182
  scope='Namirasoft Account Console'
138
183
  logo='https://static.namirasoft.com/image/namirasoft/site/logo/base.png'
139
184
  >
140
- <div>
141
- <NSTable
142
- ref={table}
143
- columns={columns}
144
- rows={rows}
145
- getCell={getCell}
146
- getColumnAttributes={() => { return {} }}
147
- getRowKey={row => row.id.toString()}
148
- onChanged={onChange}
149
- pageSize={10}
150
- totalItems={100}
151
- getRows={getRows}
152
- />
153
- </div>
154
- <NSBoxIPV6
155
- title='IPV6'
156
- required={false}
157
- />
158
-
159
- <NSBoxIPV4
160
- title='IPV4'
161
- required={false}
162
- />
163
- <NSBoxBoolean
164
- title='I4'
165
- required={false}
166
- name='salam '
167
- />
168
- <NSTabPage tabs={tabs} />
169
- <NSFilterBox />
185
+ <NSFilterBox
186
+ tables={suggest_items}
187
+ placeholder='placeholder' />
170
188
  </NSLayoutAction>
171
189
  </>
172
190
  );
@@ -1,5 +1,5 @@
1
1
  .ns_button_red {
2
2
  background-color: #FF3F3F;
3
3
  box-shadow: inset 0 -4px 4px 0px rgb(0 0 0 / 25%);
4
- color: #fff !important;
4
+ color: #fff;
5
5
  }
@@ -26,4 +26,14 @@
26
26
  margin: 0 !important;
27
27
  position: absolute;
28
28
  right: 16px;
29
+ cursor: pointer;
30
+ }
31
+
32
+
33
+ .ns_selected_list_parent {
34
+ display: flex;
35
+ flex-direction: row;
36
+ flex-wrap: wrap;
37
+ max-width: 560px;
38
+ gap: 8px;
29
39
  }
@@ -1,20 +1,127 @@
1
1
  "use client"
2
2
 
3
- import { Component } from 'react';
4
- import { NSFilterBoxDialog } from './NSFilterBoxDialog';
3
+ import React, { Component } from 'react';
5
4
  import Styles from './NSFilterBox.module.css'
6
- interface INSFilterBoxProps
7
- {
5
+ import { IBaseComponentProps } from '../main';
6
+ import { NSFilterItem } from './NSFilterItem';
7
+ import { FilterItem, FilterItemColumnType, FilterItemOperator } from 'namirasoft-core'
8
+ import NSGroupedList from './NSGroupedList';
8
9
 
10
+ interface INSFilterBoxProps extends IBaseComponentProps
11
+ {
12
+ placeholder?: string;
13
+ onChanged?: () => void;
14
+ tables: {
15
+ name: string,
16
+ text: string
17
+ columns: {
18
+ name: string,
19
+ text: string,
20
+ type: FilterItemColumnType
21
+ }[];
22
+ }[];
9
23
  }
10
24
 
11
25
  interface INSFilterBoxState
12
26
  {
27
+ filterItems: FilterItem[];
28
+ showSuggestList: boolean;
29
+ searchValue: string;
30
+ groupListState: GroupListState;
31
+ selectedColumns: {
32
+ name: string,
33
+ text: string
34
+ columns: {
35
+ name: string,
36
+ text: string,
37
+ type: FilterItemColumnType
38
+ }[];
39
+ }[];
40
+ selectedOperators: {
41
+ name: string;
42
+ operator: FilterItemOperator
43
+ };
44
+ selectedValues: [];
45
+ }
13
46
 
47
+ enum GroupListState
48
+ {
49
+ Normal = 'Normal',
50
+ Column = 'Column',
51
+ Opertor = 'Opertor',
52
+ Value = 'Value'
14
53
  }
15
54
 
16
55
  export class NSFilterBox extends Component<INSFilterBoxProps, INSFilterBoxState>
17
56
  {
57
+ constructor(props: INSFilterBoxProps)
58
+ {
59
+ super(props);
60
+ this.state = {
61
+ filterItems: [],
62
+ groupListState: GroupListState.Normal,
63
+ showSuggestList: false,
64
+ searchValue: "",
65
+ selectedColumns: [],
66
+ selectedOperators: {
67
+ name: "",
68
+ operator: FilterItemOperator.all.Empty
69
+ },
70
+ selectedValues: []
71
+ }
72
+ this.selectColumn = this.selectColumn.bind(this);
73
+ this.removeSelected = this.removeSelected.bind(this);
74
+ this.onChanged = this.onChanged.bind(this);
75
+ this.getValue = this.getValue.bind(this);
76
+ this.setValue = this.setValue.bind(this);
77
+ }
78
+
79
+ getValue(): string
80
+ {
81
+ return this.state.searchValue;
82
+ }
83
+
84
+ setValue(value: string): void
85
+ {
86
+ if (value !== "")
87
+ this.setState({
88
+ showSuggestList: true,
89
+ groupListState: GroupListState.Column,
90
+ searchValue: value
91
+ })
92
+ else
93
+ this.setState({
94
+ showSuggestList: false
95
+ })
96
+ }
97
+
98
+
99
+ selectColumn(groupe: string, item: string): void
100
+ {
101
+ console.log(item);
102
+ let columns = this.props.tables.filter((table) => table.name === groupe)
103
+ this.setState({
104
+ selectedColumns: columns,
105
+ groupListState: GroupListState.Opertor
106
+ })
107
+ }
108
+
109
+ removeSelected(text: string): void
110
+ {
111
+ let selectedArray = [...this.state.filterItems];
112
+ selectedArray = selectedArray.filter(item => item.column !== text)
113
+ this.setState({
114
+ filterItems: selectedArray
115
+ })
116
+ }
117
+
118
+ private onChanged = async (e: React.ChangeEvent<HTMLInputElement>): Promise<void> =>
119
+ {
120
+ await this.setValue(e.target.value);
121
+ if (this.props.onChanged)
122
+ this.props.onChanged();
123
+ }
124
+
18
125
  override render()
19
126
  {
20
127
  return (
@@ -31,28 +138,105 @@ export class NSFilterBox extends Component<INSFilterBoxProps, INSFilterBoxState>
31
138
  </figure>
32
139
  <input
33
140
  // id={this.props.id}
34
- // value={this.state.value}
35
- // onChange={this.onChanged}
141
+ value={this.state.searchValue}
142
+ onChange={(e) => this.onChanged(e)}
36
143
  type="text"
37
144
  className={Styles.ns_input}
38
- placeholder={"this.props.placeholder"}
145
+ placeholder={this.props.placeholder}
39
146
  />
40
- <figure className={Styles.ns_input_close_icon}>
41
- <img
42
- src="https://static.namirasoft.com/image/concept/close/blue.svg"
43
- alt="input-icon"
44
- width={24}
45
- height={24}
46
- />
47
- </figure>
147
+ {this.state.showSuggestList &&
148
+ <figure className={Styles.ns_input_close_icon}
149
+ onClick={() => this.setState({
150
+ showSuggestList: false,
151
+ searchValue: ""
152
+ })}
153
+ >
154
+ <img
155
+ src="https://static.namirasoft.com/image/concept/close/blue.svg"
156
+ alt="input-icon"
157
+ width={24}
158
+ height={24}
159
+ />
160
+ </figure>
161
+ }
48
162
  </div>
49
- </div>
163
+ {
164
+ this.state.groupListState == GroupListState.Column &&
165
+ <NSGroupedList
166
+ onClick={this.selectColumn}
167
+ groups={this.props.tables.map((table) =>
168
+ {
169
+ return {
170
+ name: table.name,
171
+ text: table.text,
172
+ items: table.columns.map((column) =>
173
+ {
174
+ return {
175
+ name: column.name,
176
+ text: column.text,
177
+ type: column.type
178
+ }
179
+ })
180
+ }
181
+ })}
182
+ />
183
+ }
184
+
185
+ {
186
+ this.state.groupListState == GroupListState.Opertor &&
187
+ <NSGroupedList
188
+ groups={
189
+ FilterItemOperator.getAllByType(FilterItemColumnType.String).map((operator) =>
190
+ {
191
+ return {
192
+ name: this.state.selectedColumns[0].name,
193
+ text: this.state.selectedColumns[0].text,
194
+ sign: operator.sign,
195
+ operator_name: operator.name,
196
+ items: this.state.selectedColumns[0]?.columns?.map((column) =>
197
+ {
198
+ return {
199
+ name: column.name,
200
+ text: column.text,
201
+ }
202
+ })
203
+ }
204
+ }
205
+ )
206
+ }
207
+ onClick={() =>
208
+ {
209
+ this.setState({
210
+ groupListState: GroupListState.Value,
211
+ selectedOperators: {...this.state.selectedColumns[0], operator: this.state.selectedOperators.operator }
212
+ })
213
+ }}
214
+ />
215
+ }
216
+
217
+ {/* {
218
+ this.state.groupListState == GroupListState.Value &&
219
+ <NSGroupedList
220
+ onClick={() =>
221
+ {
222
+ let filterItems = new FilterItem("", false, this.state.selectedOperators.operator, this.state.selectedOperators.name)
223
+ }}
224
+ />
225
+ } */}
50
226
 
51
- <ul>
52
227
 
53
- </ul>
54
- <NSFilterBoxDialog
55
- title='Edit Filter' />
228
+ </div>
229
+ <div className={Styles.ns_selected_list_parent}>
230
+ {this.state.filterItems.map((item, index) =>
231
+ <NSFilterItem
232
+ item={item}
233
+ key={index}
234
+ removeSelected={() => this.removeSelected(item.column)}
235
+ />
236
+ )
237
+ }
238
+ </div>
239
+
56
240
  </>
57
241
  );
58
242
  }