@greenbone/ui-lib 0.7.7-alpha0 → 0.7.8-alpha3
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/README.md +2 -2
- package/lib/cjs/api/error/Errors/BadRequestError.js.map +1 -1
- package/lib/cjs/api/error/Errors/CustomError.js.map +1 -1
- package/lib/cjs/api/error/Errors/FetchError.js.map +1 -1
- package/lib/cjs/api/error/Errors/InvalidStatusCodeError.js.map +1 -1
- package/lib/cjs/api/error/Errors/NotFoundError.js.map +1 -1
- package/lib/cjs/api/error/Errors/ParsingError.js.map +1 -1
- package/lib/cjs/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/cjs/components/Filter/utils/libs.js +1 -1
- package/lib/cjs/components/Filter/utils/libs.js.map +1 -1
- package/lib/cjs/components/Form/Switch/Switch.js +2 -0
- package/lib/cjs/components/Form/Switch/Switch.js.map +1 -0
- package/lib/cjs/components/Form/index.js +1 -1
- package/lib/cjs/components/Form/index.js.map +1 -1
- package/lib/cjs/components/Layout/AppHeader/headerConfig/getHeaderConfig.js +2 -0
- package/lib/cjs/components/Layout/AppHeader/headerConfig/getHeaderConfig.js.map +1 -0
- package/lib/cjs/components/Layout/AppHeader/index.js +1 -1
- package/lib/cjs/components/Layout/AppHeader/index.js.map +1 -1
- package/lib/cjs/components/Layout/AppNavigation/Menu/UrlProvider.js.map +1 -1
- package/lib/cjs/components/Layout/AppNavigation/Menu/menuFactory.js +1 -1
- package/lib/cjs/components/Layout/AppNavigation/Menu/menuFactory.js.map +1 -1
- package/lib/cjs/components/Layout/AppNavigation/Menu/menuItems.js +1 -1
- package/lib/cjs/components/Layout/AppNavigation/Menu/menuItems.js.map +1 -1
- package/lib/cjs/components/Table/persistence/TableSessionStorage.js.map +1 -1
- package/lib/cjs/helper/Controller/DateTime.js.map +1 -1
- package/lib/cjs/helper/SessionStorage.js.map +1 -1
- package/lib/esm/api/error/Errors/BadRequestError.js.map +1 -1
- package/lib/esm/api/error/Errors/CustomError.js.map +1 -1
- package/lib/esm/api/error/Errors/FetchError.js.map +1 -1
- package/lib/esm/api/error/Errors/InvalidStatusCodeError.js.map +1 -1
- package/lib/esm/api/error/Errors/NotFoundError.js.map +1 -1
- package/lib/esm/api/error/Errors/ParsingError.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/esm/components/Filter/utils/libs.js +1 -1
- package/lib/esm/components/Filter/utils/libs.js.map +1 -1
- package/lib/esm/components/Form/Switch/Switch.js +2 -0
- package/lib/esm/components/Form/Switch/Switch.js.map +1 -0
- package/lib/esm/components/Form/index.js +1 -1
- package/lib/esm/components/Form/index.js.map +1 -1
- package/lib/esm/components/Layout/AppHeader/headerConfig/getHeaderConfig.js +2 -0
- package/lib/esm/components/Layout/AppHeader/headerConfig/getHeaderConfig.js.map +1 -0
- package/lib/esm/components/Layout/AppHeader/index.js +1 -1
- package/lib/esm/components/Layout/AppHeader/index.js.map +1 -1
- package/lib/esm/components/Layout/AppNavigation/Menu/UrlProvider.js.map +1 -1
- package/lib/esm/components/Layout/AppNavigation/Menu/menuFactory.js +1 -1
- package/lib/esm/components/Layout/AppNavigation/Menu/menuFactory.js.map +1 -1
- package/lib/esm/components/Layout/AppNavigation/Menu/menuItems.js +1 -1
- package/lib/esm/components/Layout/AppNavigation/Menu/menuItems.js.map +1 -1
- package/lib/esm/components/Table/persistence/TableSessionStorage.js.map +1 -1
- package/lib/esm/helper/Controller/DateTime.js.map +1 -1
- package/lib/esm/helper/SessionStorage.js.map +1 -1
- package/package.json +8 -8
- package/types/src/components/Filter/addons/sortFilterOptions.d.ts.map +1 -1
- package/types/src/components/Filter/addons/useTranslateFilterOptions.d.ts.map +1 -1
- package/types/src/components/Filter/utils/libs.d.ts.map +1 -1
- package/types/src/components/Form/Switch/Switch.d.ts +6 -0
- package/types/src/components/Form/Switch/Switch.d.ts.map +1 -0
- package/types/src/components/Form/index.d.ts +1 -0
- package/types/src/components/Form/index.d.ts.map +1 -1
- package/types/src/components/Layout/AppHeader/headerConfig/getHeaderConfig.d.ts +7 -0
- package/types/src/components/Layout/AppHeader/headerConfig/getHeaderConfig.d.ts.map +1 -0
- package/types/src/components/Layout/AppHeader/headerConfig/getHeaderConfig.test.d.ts +2 -0
- package/types/src/components/Layout/AppHeader/headerConfig/getHeaderConfig.test.d.ts.map +1 -0
- package/types/src/components/Layout/AppHeader/index.d.ts +1 -0
- package/types/src/components/Layout/AppHeader/index.d.ts.map +1 -1
- package/types/src/components/Layout/AppNavigation/Menu/menuItems.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
3
|
[](https://github.com/greenbone/opensight-frontend-components/releases)
|
|
4
|
-
<span class="badge-npmversion"><a href="https://npmjs.org/package/@greenbone/
|
|
4
|
+
<span class="badge-npmversion"><a href="https://npmjs.org/package/@greenbone/ui-lib" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@greenbone/opensight-ui-components.svg" alt="NPM version" /></a></span>
|
|
5
5
|
[](https://github.com/greenbone/opensight-frontend-components/actions/workflows/build.yml?query=branch%3Amain++)
|
|
6
6
|
|
|
7
7
|
# OpenSight User Interface Component Library
|
|
@@ -17,7 +17,7 @@ To use this in parallel with the current opensight-ui-components (mantine v6) (D
|
|
|
17
17
|
- Switch to main project
|
|
18
18
|
- `npm install <path to tarball file>`
|
|
19
19
|
|
|
20
|
-
To use the latest release in your frontend, just install it with `npm install @greenbone/
|
|
20
|
+
To use the latest release in your frontend, just install it with `npm install @greenbone/ui-lib`
|
|
21
21
|
|
|
22
22
|
## Prerequisites
|
|
23
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/api/error/Errors/BadRequestError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { TErrorType, TFieldErrors } from \"../types\"\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { CustomError } from \"./CustomError\"\n\nexport class BadRequestError<R = unknown> extends CustomError<R> {\n constructor(type: TErrorType, responseBody: R, fieldErrors: TFieldErrors, message?: string) {\n super(\n EHTTP_STATUS.BAD_REQUEST,\n type,\n responseBody,\n \"Bad Request\",\n message || \"Bad request content\",\n fieldErrors\n )\n }\n}\n"],"names":["BadRequestError","CustomError","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/error/Errors/BadRequestError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { TErrorType, TFieldErrors } from \"../types\"\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { CustomError } from \"./CustomError\"\n\nexport class BadRequestError<R = unknown> extends CustomError<R> {\n constructor(type: TErrorType, responseBody: R, fieldErrors: TFieldErrors, message?: string) {\n super(\n EHTTP_STATUS.BAD_REQUEST,\n type,\n responseBody,\n \"Bad Request\",\n message || \"Bad request content\",\n fieldErrors\n )\n }\n}\n"],"names":["BadRequestError","CustomError","type","responseBody","fieldErrors","message","EHTTP_STATUS","BAD_REQUEST"],"mappings":"oGAQaA,yDAAAA,8CAHgB,qDACD,gBAErB,OAAMA,wBAAqCC,wBAAW,CAC3D,YAAYC,IAAgB,CAAEC,YAAe,CAAEC,WAAyB,CAAEC,OAAgB,CAAE,CAC1F,KAAK,CACHC,yBAAY,CAACC,WAAW,CACxBL,KACAC,aACA,cACAE,SAAW,sBACXD,YAEJ,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/api/error/Errors/CustomError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { TErrorType, TFieldErrors, TResponseError } from \"../types\"\nimport { getErrorName } from \"../libs\"\n\ninterface ICustomError extends Error {\n toObject: () => TResponseError\n}\n\nexport class CustomError<R = unknown> implements ICustomError {\n message: string\n type: TErrorType\n statuscode: EHTTP_STATUS\n name: string\n error: string\n fieldErrors?: TFieldErrors\n responseBody: R\n constructor(\n statusCode: EHTTP_STATUS,\n type: string,\n responseBody: R,\n error: string,\n message = \"\",\n fieldErrors: TFieldErrors = {}\n ) {\n this.statuscode = statusCode\n this.type = type\n this.message = message\n this.name = getErrorName(statusCode)\n this.error = error\n this.fieldErrors = fieldErrors\n this.responseBody = responseBody\n }\n\n public log() {\n console.log(`[${this.statuscode}] -> ${this.message}`)\n }\n\n public toObject() {\n return {\n message: this.message,\n type: this.type,\n name: this.name,\n statuscode: this.statuscode,\n error: this.error,\n fieldErrors: this.fieldErrors,\n responseBody: this.responseBody,\n }\n }\n}\n"],"names":["CustomError","log","console","statuscode","message","toObject","type","name","error","fieldErrors","responseBody","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/error/Errors/CustomError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { TErrorType, TFieldErrors, TResponseError } from \"../types\"\nimport { getErrorName } from \"../libs\"\n\ninterface ICustomError extends Error {\n toObject: () => TResponseError\n}\n\nexport class CustomError<R = unknown> implements ICustomError {\n message: string\n type: TErrorType\n statuscode: EHTTP_STATUS\n name: string\n error: string\n fieldErrors?: TFieldErrors\n responseBody: R\n constructor(\n statusCode: EHTTP_STATUS,\n type: string,\n responseBody: R,\n error: string,\n message = \"\",\n fieldErrors: TFieldErrors = {}\n ) {\n this.statuscode = statusCode\n this.type = type\n this.message = message\n this.name = getErrorName(statusCode)\n this.error = error\n this.fieldErrors = fieldErrors\n this.responseBody = responseBody\n }\n\n public log() {\n console.log(`[${this.statuscode}] -> ${this.message}`)\n }\n\n public toObject() {\n return {\n message: this.message,\n type: this.type,\n name: this.name,\n statuscode: this.statuscode,\n error: this.error,\n fieldErrors: this.fieldErrors,\n responseBody: this.responseBody,\n }\n }\n}\n"],"names":["CustomError","log","console","statuscode","message","toObject","type","name","error","fieldErrors","responseBody","statusCode","getErrorName"],"mappings":"oGAYaA,qDAAAA,mCANgB,+LAMtB,MAAMA,YAyBX,AAAOC,KAAM,CACXC,QAAQD,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAACE,UAAU,CAAC,KAAK,EAAE,IAAI,CAACC,OAAO,CAAC,CAAC,CACvD,CAEA,AAAOC,UAAW,CAChB,MAAO,CACLD,QAAS,IAAI,CAACA,OAAO,CACrBE,KAAM,IAAI,CAACA,IAAI,CACfC,KAAM,IAAI,CAACA,IAAI,CACfJ,WAAY,IAAI,CAACA,UAAU,CAC3BK,MAAO,IAAI,CAACA,KAAK,CACjBC,YAAa,IAAI,CAACA,WAAW,CAC7BC,aAAc,IAAI,CAACA,YAAY,AACjC,CACF,CA/BA,YACEC,UAAwB,CACxBL,IAAY,CACZI,YAAe,CACfF,KAAa,CACbJ,QAAU,EAAE,CACZK,YAA4B,CAAC,CAAC,CAC9B,CAdFL,sBAAAA,UAAAA,KAAAA,GACAE,sBAAAA,OAAAA,KAAAA,GACAH,sBAAAA,aAAAA,KAAAA,GACAI,sBAAAA,OAAAA,KAAAA,GACAC,sBAAAA,QAAAA,KAAAA,GACAC,sBAAAA,cAAAA,KAAAA,GACAC,sBAAAA,eAAAA,KAAAA,EASE,CAAA,IAAI,CAACP,UAAU,CAAGQ,UAClB,CAAA,IAAI,CAACL,IAAI,CAAGA,IACZ,CAAA,IAAI,CAACF,OAAO,CAAGA,OACf,CAAA,IAAI,CAACG,IAAI,CAAGK,GAAAA,kBAAY,EAACD,WACzB,CAAA,IAAI,CAACH,KAAK,CAAGA,KACb,CAAA,IAAI,CAACC,WAAW,CAAGA,WACnB,CAAA,IAAI,CAACC,YAAY,CAAGA,YACtB,CAiBF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/api/error/Errors/FetchError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { CustomError } from \"./CustomError\"\n\nexport class FetchError extends CustomError {\n constructor(e: unknown) {\n super(999, \"fetching_failed\", String(e), \"Fetching failed ...\")\n }\n}\n"],"names":["FetchError","CustomError","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/error/Errors/FetchError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { CustomError } from \"./CustomError\"\n\nexport class FetchError extends CustomError {\n constructor(e: unknown) {\n super(999, \"fetching_failed\", String(e), \"Fetching failed ...\")\n }\n}\n"],"names":["FetchError","CustomError","e","String"],"mappings":"oGAMaA,oDAAAA,yCAFe,gBAErB,OAAMA,mBAAmBC,wBAAW,CACzC,YAAYC,CAAU,CAAE,CACtB,KAAK,CAAC,IAAK,kBAAmBC,OAAOD,GAAI,sBAC3C,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/api/error/Errors/InvalidStatusCodeError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { CustomError } from \"./CustomError\"\n\nexport class InvalidStatusCodeError<R = unknown> extends CustomError<R> {\n name: string\n status: EHTTP_STATUS\n\n constructor(responseBody: R, status: EHTTP_STATUS) {\n super(\n status,\n \"invalid_statuscode\",\n responseBody,\n \"InvalidStatusCodeError\",\n \"The received status code is invalid\"\n )\n this.status = status\n this.name = \"InvalidStatusCodeError\"\n }\n\n public toString() {\n return `${this.name} : ${this.status} - ${this.message}`\n }\n}\n"],"names":["InvalidStatusCodeError","CustomError","toString","name","status","message","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/error/Errors/InvalidStatusCodeError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { CustomError } from \"./CustomError\"\n\nexport class InvalidStatusCodeError<R = unknown> extends CustomError<R> {\n name: string\n status: EHTTP_STATUS\n\n constructor(responseBody: R, status: EHTTP_STATUS) {\n super(\n status,\n \"invalid_statuscode\",\n responseBody,\n \"InvalidStatusCodeError\",\n \"The received status code is invalid\"\n )\n this.status = status\n this.name = \"InvalidStatusCodeError\"\n }\n\n public toString() {\n return `${this.name} : ${this.status} - ${this.message}`\n }\n}\n"],"names":["InvalidStatusCodeError","CustomError","toString","name","status","message","responseBody"],"mappings":"oGAOaA,gEAAAA,qDAFe,qMAErB,MAAMA,+BAA4CC,wBAAW,CAgBlE,AAAOC,UAAW,CAChB,MAAO,CAAC,EAAE,IAAI,CAACC,IAAI,CAAC,GAAG,EAAE,IAAI,CAACC,MAAM,CAAC,GAAG,EAAE,IAAI,CAACC,OAAO,CAAC,CAAC,AAC1D,CAdA,YAAYC,YAAe,CAAEF,MAAoB,CAAE,CACjD,KAAK,CACHA,OACA,qBACAE,aACA,yBACA,uCATJH,sBAAAA,OAAAA,KAAAA,GACAC,sBAAAA,SAAAA,KAAAA,EAUE,CAAA,IAAI,CAACA,MAAM,CAAGA,MACd,CAAA,IAAI,CAACD,IAAI,CAAG,wBACd,CAKF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/api/error/Errors/NotFoundError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { CustomError } from \"./CustomError\"\nimport { TErrorType } from \"../types\"\n\nexport class NotFoundError extends CustomError {\n constructor(e: unknown, type: TErrorType, message?: string) {\n super(\n EHTTP_STATUS.NOT_FOUND,\n type,\n (typeof e === \"string\" ? e : JSON.stringify(e)) || \"Requested ressource was not found\",\n message || \"Requested ressource was not found\"\n )\n }\n}\n"],"names":["NotFoundError","CustomError","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/error/Errors/NotFoundError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { CustomError } from \"./CustomError\"\nimport { TErrorType } from \"../types\"\n\nexport class NotFoundError extends CustomError {\n constructor(e: unknown, type: TErrorType, message?: string) {\n super(\n EHTTP_STATUS.NOT_FOUND,\n type,\n (typeof e === \"string\" ? e : JSON.stringify(e)) || \"Requested ressource was not found\",\n message || \"Requested ressource was not found\"\n )\n }\n}\n"],"names":["NotFoundError","CustomError","e","type","message","EHTTP_STATUS","NOT_FOUND","JSON","stringify"],"mappings":"oGAQaA,uDAAAA,4CAJgB,qDACD,gBAGrB,OAAMA,sBAAsBC,wBAAW,CAC5C,YAAYC,CAAU,CAAEC,IAAgB,CAAEC,OAAgB,CAAE,CAC1D,KAAK,CACHC,yBAAY,CAACC,SAAS,CACtBH,KACA,AAAC,CAAA,OAAOD,IAAM,SAAWA,EAAIK,KAAKC,SAAS,CAACN,EAAC,GAAM,oCACnDE,SAAW,oCAEf,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/api/error/Errors/ParsingError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { CustomError } from \"./CustomError\"\n\nexport class ParsingError extends CustomError {\n constructor(e: unknown, message?: string) {\n super(\n EHTTP_STATUS.UNPROCESSABLE_ENTITY,\n \"parsing_error\",\n String(e),\n message || \"Parsing failed ...\"\n )\n }\n}\n"],"names":["ParsingError","CustomError","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/error/Errors/ParsingError.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../../base/EHttpStatus\"\nimport { CustomError } from \"./CustomError\"\n\nexport class ParsingError extends CustomError {\n constructor(e: unknown, message?: string) {\n super(\n EHTTP_STATUS.UNPROCESSABLE_ENTITY,\n \"parsing_error\",\n String(e),\n message || \"Parsing failed ...\"\n )\n }\n}\n"],"names":["ParsingError","CustomError","e","message","EHTTP_STATUS","UNPROCESSABLE_ENTITY","String"],"mappings":"oGAOaA,sDAAAA,2CAHgB,qDACD,gBAErB,OAAMA,qBAAqBC,wBAAW,CAC3C,YAAYC,CAAU,CAAEC,OAAgB,CAAE,CACxC,KAAK,CACHC,yBAAY,CAACC,oBAAoB,CACjC,gBACAC,OAAOJ,GACPC,SAAW,qBAEf,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ErrorBoundary/ErrorBoundary.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { FC, PropsWithChildren } from \"react\"\nimport { Component } from \"react\"\nimport { MantineTheme, useMantineTheme } from \"@mantine/core\"\nimport { ErrorBoundaryFallback } from \"./ErrorBoundaryFallback\"\n\nexport type TErrorBoundaryProps = PropsWithChildren & {\n fallback?: TErrorBoundaryFallback\n}\n\nexport type TBaseErrorBoundaryProps = PropsWithChildren & {\n fallback: TErrorBoundaryFallback\n theme: MantineTheme\n}\n\ntype TErrorBoundaryFallback = FC<{\n error: Error | null\n theme: MantineTheme\n}>\n\n/**\n * Basic error boundary implementation to catch error in the child components\n * @param fallback component that should be rendered in case an error occurred\n * @param theme a theme to style the fallback component\n */\nclass BaseErrorBoundary extends Component<\n TBaseErrorBoundaryProps,\n { hasError: boolean; error: null | Error }\n> {\n constructor(props: TBaseErrorBoundaryProps) {\n super(props)\n this.state = { hasError: false, error: null }\n }\n\n static getDerivedStateFromError(error: any) {\n return { hasError: !!error, error }\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback({\n error: this.state.error,\n theme: this.props.theme,\n })\n }\n return this.props.children\n }\n}\n\n/**\n * Error boundary that is styled with the Mantine theme and provides a fallback\n * component by default. It also accepts an optional custom fallback component.\n * @param theme mantine theme\n * @param children\n * @param fallback an optional fallback component to use instead of default\n */\n\nconst ErrorComponentRaw = ({\n theme,\n fallback,\n children,\n}: PropsWithChildren & {\n theme: MantineTheme\n fallback?: TErrorBoundaryFallback\n}) => (\n <BaseErrorBoundary fallback={fallback ? fallback : () => <ErrorBoundaryFallback />} theme={theme}>\n {children}\n </BaseErrorBoundary>\n)\n\nconst ErrorBoundary = ({ children, fallback }: TErrorBoundaryProps) => {\n const theme = useMantineTheme()\n return (\n <ErrorComponentRaw theme={theme} fallback={fallback}>\n {children}\n </ErrorComponentRaw>\n )\n}\n\nexport { ErrorBoundary }\n"],"names":["ErrorBoundary","BaseErrorBoundary","Component","getDerivedStateFromError","error","hasError","render","state","props","fallback","theme","children","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ErrorBoundary/ErrorBoundary.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { FC, PropsWithChildren } from \"react\"\nimport { Component } from \"react\"\nimport { MantineTheme, useMantineTheme } from \"@mantine/core\"\nimport { ErrorBoundaryFallback } from \"./ErrorBoundaryFallback\"\n\nexport type TErrorBoundaryProps = PropsWithChildren & {\n fallback?: TErrorBoundaryFallback\n}\n\nexport type TBaseErrorBoundaryProps = PropsWithChildren & {\n fallback: TErrorBoundaryFallback\n theme: MantineTheme\n}\n\ntype TErrorBoundaryFallback = FC<{\n error: Error | null\n theme: MantineTheme\n}>\n\n/**\n * Basic error boundary implementation to catch error in the child components\n * @param fallback component that should be rendered in case an error occurred\n * @param theme a theme to style the fallback component\n */\nclass BaseErrorBoundary extends Component<\n TBaseErrorBoundaryProps,\n { hasError: boolean; error: null | Error }\n> {\n constructor(props: TBaseErrorBoundaryProps) {\n super(props)\n this.state = { hasError: false, error: null }\n }\n\n static getDerivedStateFromError(error: any) {\n return { hasError: !!error, error }\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback({\n error: this.state.error,\n theme: this.props.theme,\n })\n }\n return this.props.children\n }\n}\n\n/**\n * Error boundary that is styled with the Mantine theme and provides a fallback\n * component by default. It also accepts an optional custom fallback component.\n * @param theme mantine theme\n * @param children\n * @param fallback an optional fallback component to use instead of default\n */\n\nconst ErrorComponentRaw = ({\n theme,\n fallback,\n children,\n}: PropsWithChildren & {\n theme: MantineTheme\n fallback?: TErrorBoundaryFallback\n}) => (\n <BaseErrorBoundary fallback={fallback ? fallback : () => <ErrorBoundaryFallback />} theme={theme}>\n {children}\n </BaseErrorBoundary>\n)\n\nconst ErrorBoundary = ({ children, fallback }: TErrorBoundaryProps) => {\n const theme = useMantineTheme()\n return (\n <ErrorComponentRaw theme={theme} fallback={fallback}>\n {children}\n </ErrorComponentRaw>\n )\n}\n\nexport { ErrorBoundary }\n"],"names":["ErrorBoundary","BaseErrorBoundary","Component","getDerivedStateFromError","error","hasError","render","state","props","fallback","theme","children","ErrorComponentRaw","ErrorBoundaryFallback","useMantineTheme"],"mappings":"oGAkFSA,uDAAAA,qFA7EiB,6BACoB,sDACR,0BAqBtC,OAAMC,0BAA0BC,gBAAS,CASvC,OAAOC,yBAAyBC,KAAU,CAAE,CAC1C,MAAO,CAAEC,SAAU,CAAC,CAACD,MAAOA,KAAM,CACpC,CAEAE,QAAS,CACP,GAAI,IAAI,CAACC,KAAK,CAACF,QAAQ,CAAE,CACvB,OAAO,IAAI,CAACG,KAAK,CAACC,QAAQ,CAAC,CACzBL,MAAO,IAAI,CAACG,KAAK,CAACH,KAAK,CACvBM,MAAO,IAAI,CAACF,KAAK,CAACE,KAAK,AACzB,EACF,CACA,OAAO,IAAI,CAACF,KAAK,CAACG,QAAQ,AAC5B,CAjBA,YAAYH,KAA8B,CAAE,CAC1C,KAAK,CAACA,MACN,CAAA,IAAI,CAACD,KAAK,CAAG,CAAEF,SAAU,MAAOD,MAAO,IAAK,CAC9C,CAeF,CAUA,MAAMQ,kBAAoB,CAAC,CACzBF,KAAK,CACLD,QAAQ,CACRE,QAAQ,CAIT,GACC,oBAACV,mBAAkBQ,SAAUA,SAAWA,SAAW,IAAM,oBAACI,4CAAqB,KAAKH,MAAOA,eACxFC,WAIL,MAAMX,cAAgB,CAAC,CAAEW,QAAQ,CAAEF,QAAQ,CAAuB,IAChE,MAAMC,MAAQI,GAAAA,qBAAe,IAC7B,MACE,oBAACF,mBAAkBF,MAAOA,MAAOD,SAAUA,kBACxCE,UAGP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get appendValueToCurrentValueArray(){return appendValueToCurrentValueArray},get capitalize(){return capitalize},get createEmptyTerm(){return createEmptyTerm},get emptyFilterDTO(){return emptyFilterDTO},get emptyFilterDTOBase64(){return emptyFilterDTOBase64},get emptyFilterInternal(){return emptyFilterInternal},get getCascadeValuesForConfigitem(){return getCascadeValuesForConfigitem},get parseNumber(){return parseNumber},get parseString(){return parseString},get prepareValueChange(){return prepareValueChange},get prepareValueDeletion(){return prepareValueDeletion},get termMachine(){return termMachine},get termsMachine(){return termsMachine},get validateFilterDTO(){return validateFilterDTO}});const _types=require("./types");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}const termMachine=term=>{const termState=structuredClone(term);const setActive=()=>{termState.active=true;return termMachine(termState)};const setInactive=()=>{termState.active=false;return termMachine(termState)};const setComplete=()=>{termState.completed=true;return termMachine(termState)};const setIncomplete=()=>{termState.completed=false;return termMachine(termState)};const setAttribute=attribute=>{termState.attribute=attribute;return termMachine(termState)};const setSelectedCascadeValue=values=>{termState.selectedCascadeValues=values;return termMachine(termState)};const setAttributeValues=value=>{if(termState.attribute)termState.attribute.values=value;return termMachine(termState)};const setOperator=operator=>{termState.operator=operator;return termMachine(termState)};const setValue=value=>{termState.value=value;return termMachine(termState)};const build=()=>termState;return{build,setIncomplete,setComplete,setActive,setInactive,setAttribute,setSelectedCascadeValue,setAttributeValues,setOperator,setValue}};const termsMachine=terms=>{const termsState=structuredClone(terms);const setAllInactive=()=>{const newTerms=[...termsState].map(term=>termMachine(term).setInactive().build());return termsMachine(newTerms)};const removeAllIncompleted=()=>{const newTerms=[...termsState].filter(term=>term.completed);return termsMachine(newTerms)};const removeSpecificTerm=id=>{const newTerms=[...termsState].filter(term=>term.id!==id);return termsMachine(newTerms)};const getSpecificTerm=id=>{return termsState.find(term=>term.id===id)};const getSpecificTermIndex=id=>{return termsState.findIndex(t=>t.id===id)};const updateSpecificTerm=(id,update)=>{const term=getSpecificTerm(id);if(!term){return termsMachine(termsState)}const termIndex=termsState.findIndex(x=>x.id===id);termsState[termIndex]=update(term);return termsMachine(termsState)};const updateSpecificTermByIndex=(index,update)=>{const term=termsState[index];termsState[index]=update(term);return termsMachine(termsState)};const pushNewTerm=()=>{const newTerms=[...termsState,createEmptyTerm()];return termsMachine(newTerms)};const build=()=>termsState;return{build,getSpecificTerm,removeAllIncompleted,updateSpecificTerm,setAllInactive,pushNewTerm,removeSpecificTerm,getSpecificTermIndex,updateSpecificTermByIndex}};const prepareValueDeletion=(oldValue,valueToDelete)=>{if(valueToDelete&&Array.isArray(oldValue)&&oldValue.length>1)return oldValue.filter(value=>value!==valueToDelete);return null};const getCascadeValuesForConfigitem=(configItem,lastVal)=>{var _configItem_cascadeValues;let foundVal;configItem===null||configItem===void 0?void 0:(_configItem_cascadeValues=configItem.cascadeValues)===null||_configItem_cascadeValues===void 0?void 0:_configItem_cascadeValues.find(config=>{const find=values=>{const found=values===null||values===void 0?void 0:values.find(v=>{const found=v.value===lastVal.value;if(found){foundVal=v;return true}return find(v.options)});if(found)return found};if(config.value===lastVal.value){foundVal=config;return config}return find(config.options)});return foundVal};const prepareValueChange=(currentValue,newValue)=>{if(Array.isArray(currentValue)&&Array.isArray(newValue))return newValue;if(Array.isArray(newValue))return[...newValue];return newValue};const createEmptyTerm=()=>{return{completed:false,attribute:null,selectedCascadeValues:null,operator:null,value:null,active:true,id:Date.now()}};const capitalize=string=>{return string.charAt(0).toUpperCase()+string.slice(1)};function parseNumber(value,type){const number=parseFloat(value.replace(",","."));switch(type){case _types.TFilter.EControlType.FLOAT:return number.fixDecimals(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get appendValueToCurrentValueArray(){return appendValueToCurrentValueArray},get capitalize(){return capitalize},get createEmptyTerm(){return createEmptyTerm},get emptyFilterDTO(){return emptyFilterDTO},get emptyFilterDTOBase64(){return emptyFilterDTOBase64},get emptyFilterInternal(){return emptyFilterInternal},get getCascadeValuesForConfigitem(){return getCascadeValuesForConfigitem},get parseNumber(){return parseNumber},get parseString(){return parseString},get prepareValueChange(){return prepareValueChange},get prepareValueDeletion(){return prepareValueDeletion},get termMachine(){return termMachine},get termsMachine(){return termsMachine},get validateFilterDTO(){return validateFilterDTO}});const _types=require("./types");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}const termMachine=term=>{const termState=structuredClone(term);const setActive=()=>{termState.active=true;return termMachine(termState)};const setInactive=()=>{termState.active=false;return termMachine(termState)};const setComplete=()=>{termState.completed=true;return termMachine(termState)};const setIncomplete=()=>{termState.completed=false;return termMachine(termState)};const setAttribute=attribute=>{termState.attribute=attribute;return termMachine(termState)};const setSelectedCascadeValue=values=>{termState.selectedCascadeValues=values;return termMachine(termState)};const setAttributeValues=value=>{if(termState.attribute)termState.attribute.values=value;return termMachine(termState)};const setOperator=operator=>{termState.operator=operator;return termMachine(termState)};const setValue=value=>{termState.value=value;return termMachine(termState)};const build=()=>termState;return{build,setIncomplete,setComplete,setActive,setInactive,setAttribute,setSelectedCascadeValue,setAttributeValues,setOperator,setValue}};const termsMachine=terms=>{const termsState=structuredClone(terms);const setAllInactive=()=>{const newTerms=[...termsState].map(term=>termMachine(term).setInactive().build());return termsMachine(newTerms)};const removeAllIncompleted=()=>{const newTerms=[...termsState].filter(term=>term.completed);return termsMachine(newTerms)};const removeSpecificTerm=id=>{const newTerms=[...termsState].filter(term=>term.id!==id);return termsMachine(newTerms)};const getSpecificTerm=id=>{return termsState.find(term=>term.id===id)};const getSpecificTermIndex=id=>{return termsState.findIndex(t=>t.id===id)};const updateSpecificTerm=(id,update)=>{const term=getSpecificTerm(id);if(!term){return termsMachine(termsState)}const termIndex=termsState.findIndex(x=>x.id===id);termsState[termIndex]=update(term);return termsMachine(termsState)};const updateSpecificTermByIndex=(index,update)=>{const term=termsState[index];termsState[index]=update(term);return termsMachine(termsState)};const pushNewTerm=()=>{const newTerms=[...termsState,createEmptyTerm()];return termsMachine(newTerms)};const build=()=>termsState;return{build,getSpecificTerm,removeAllIncompleted,updateSpecificTerm,setAllInactive,pushNewTerm,removeSpecificTerm,getSpecificTermIndex,updateSpecificTermByIndex}};const prepareValueDeletion=(oldValue,valueToDelete)=>{if(valueToDelete&&Array.isArray(oldValue)&&oldValue.length>1)return oldValue.filter(value=>value!==valueToDelete);return null};const getCascadeValuesForConfigitem=(configItem,lastVal)=>{var _configItem_cascadeValues;let foundVal;configItem===null||configItem===void 0?void 0:(_configItem_cascadeValues=configItem.cascadeValues)===null||_configItem_cascadeValues===void 0?void 0:_configItem_cascadeValues.find(config=>{const find=values=>{const found=values===null||values===void 0?void 0:values.find(v=>{const found=v.value===lastVal.value;if(found){foundVal=v;return true}return find(v.options)});if(found)return found};if(config.value===lastVal.value){foundVal=config;return config}return find(config.options)});return foundVal};const prepareValueChange=(currentValue,newValue)=>{if(Array.isArray(currentValue)&&Array.isArray(newValue))return newValue;if(Array.isArray(newValue))return[...newValue];return newValue};const createEmptyTerm=()=>{return{completed:false,attribute:null,selectedCascadeValues:null,operator:null,value:null,active:true,id:Date.now()}};const capitalize=string=>{return string.charAt(0).toUpperCase()+string.slice(1)};function parseNumber(value,type){const number=parseFloat(value.replace(",","."));switch(type){case _types.TFilter.EControlType.FLOAT:return number.fixDecimals(1);case _types.TFilter.EControlType.INTEGER:return number.roundToInteger();default:return number}}const appendValueToCurrentValueArray=(controlType,newValue)=>{if([_types.TFilter.EControlType.STRING,_types.TFilter.EControlType.ENUM,_types.TFilter.EControlType.UUID].includes(controlType)){return newValue}if(Array.isArray(newValue)){return newValue.map(v=>parseNumber(v,controlType))}else{return parseNumber(newValue,controlType)}};function parseString(input){var _input_match;const regex=/"[^"]+"|[^:]+/g;return((_input_match=input.match(regex))===null||_input_match===void 0?void 0:_input_match.map(match=>match.replace(/"/g,"")))||[]}const emptyFilterDTO={operator:_types.TFilter.DTO.Match.AND,fields:[]};const emptyFilterInternal={match:"ALL",terms:[],termsCollapsed:false,edited:false};const emptyFilterDTOBase64="eyJvcGVyYXRvciI6ImFuZCIsImZpZWxkcyI6W119";const validateFilterDTO=(filterDTO,config)=>{const result=_object_spread({},filterDTO);const availableNames=config.reduce((acc,curr)=>[...acc,curr.name.value],[]);result.fields=filterDTO.fields.reduce((acc,curr)=>{var _config_find;if(!availableNames.includes(curr.name))return acc;const availableOperators=((_config_find=config.find(c=>c.name.value===curr.name))===null||_config_find===void 0?void 0:_config_find.operators.map(o=>o.value))||[];if(!availableOperators.includes(curr.operator))return acc;return[...acc,curr]},[]);return result};
|
|
2
2
|
//# sourceMappingURL=libs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Filter/utils/libs.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { TFilter } from \"./types\"\nimport { TValue } from \"../../Form\"\nimport { TCascadeOption } from \"../../Form/Select/Cascade/CascadeOption\"\n\n// This function accepts a term as an argument and implements the builder pattern to modify the given term.\n// It implements the usage a domain specific language for the term without having to adjust the individual properties of the term itself.\n// The machine will return an instance of termMachine. To receive the adjusted term, you need to call .build() at the end.\nexport const termMachine = (term: TFilter.Internal.Term.State) => {\n const termState = structuredClone(term)\n\n const setActive = () => {\n termState.active = true\n return termMachine(termState)\n }\n\n const setInactive = () => {\n termState.active = false\n return termMachine(termState)\n }\n\n const setComplete = () => {\n termState.completed = true\n return termMachine(termState)\n }\n\n const setIncomplete = () => {\n termState.completed = false\n return termMachine(termState)\n }\n\n const setAttribute = (attribute: TFilter.ConfigItem | null) => {\n termState.attribute = attribute\n return termMachine(termState)\n }\n\n const setSelectedCascadeValue = (values: TCascadeOption<TValue[]>[]) => {\n termState.selectedCascadeValues = values\n return termMachine(termState)\n }\n\n const setAttributeValues = (value: string[]) => {\n if (termState.attribute) termState.attribute.values = value\n return termMachine(termState)\n }\n\n const setOperator = (operator: TFilter.Operator | null) => {\n termState.operator = operator\n return termMachine(termState)\n }\n\n const setValue = (value: TFilter.Internal.Term.TermValue) => {\n termState.value = value\n return termMachine(termState)\n }\n\n const build = () => termState\n\n return {\n build,\n setIncomplete,\n setComplete,\n setActive,\n setInactive,\n setAttribute,\n setSelectedCascadeValue,\n setAttributeValues,\n setOperator,\n setValue,\n }\n}\n\n// This function accepts an array of terms as an argument and implements the builder pattern to modify the given terms.\n// It implements the usage a domain specific language for the terms without having to adjust the individual properties of the term itself.\n// The machine will return an instance of termsMachine. To receive the adjusted terms, you need to call .build() at the end.\nexport const termsMachine = (terms: TFilter.Internal.Term.State[]) => {\n const termsState = structuredClone(terms)\n\n const setAllInactive = () => {\n const newTerms = [...termsState].map((term) => termMachine(term).setInactive().build())\n return termsMachine(newTerms)\n }\n\n const removeAllIncompleted = () => {\n const newTerms = [...termsState].filter((term) => term.completed)\n return termsMachine(newTerms)\n }\n\n const removeSpecificTerm = (id: TFilter.Internal.Term.State[\"id\"]) => {\n const newTerms = [...termsState].filter((term) => term.id !== id)\n return termsMachine(newTerms)\n }\n\n const getSpecificTerm = (id: TFilter.Internal.Term.State[\"id\"]) => {\n return termsState.find((term) => term.id === id)\n }\n\n const getSpecificTermIndex = (id: TFilter.Internal.Term.State[\"id\"]) => {\n return termsState.findIndex((t) => t.id === id)\n }\n\n const updateSpecificTerm = (\n id: TFilter.Internal.Term.State[\"id\"],\n update: (term: TFilter.Internal.Term.State) => TFilter.Internal.Term.State\n ) => {\n const term = getSpecificTerm(id)\n if (!term) {\n return termsMachine(termsState)\n }\n const termIndex = termsState.findIndex((x) => x.id === id)\n termsState[termIndex] = update(term)\n return termsMachine(termsState)\n }\n\n const updateSpecificTermByIndex = (\n index: number,\n update: (term: TFilter.Internal.Term.State) => TFilter.Internal.Term.State\n ) => {\n const term = termsState[index]\n\n termsState[index] = update(term)\n return termsMachine(termsState)\n }\n\n const pushNewTerm = () => {\n const newTerms = [...termsState, createEmptyTerm()]\n return termsMachine(newTerms)\n }\n\n const build = () => termsState\n\n return {\n build,\n getSpecificTerm,\n removeAllIncompleted,\n updateSpecificTerm,\n setAllInactive,\n pushNewTerm,\n removeSpecificTerm,\n getSpecificTermIndex,\n updateSpecificTermByIndex,\n }\n}\n\nexport const prepareValueDeletion = (\n oldValue: TFilter.Internal.Term.TermValue,\n valueToDelete?: string\n) => {\n if (valueToDelete && Array.isArray(oldValue) && oldValue.length > 1)\n return oldValue.filter((value) => value !== valueToDelete)\n return null\n}\n\nexport const getCascadeValuesForConfigitem = (configItem: TFilter.ConfigItem, lastVal: TValue) => {\n let foundVal: TFilter.CascadeValue | undefined\n configItem?.cascadeValues?.find((config) => {\n const find = (\n values: TFilter.ConfigItem[\"cascadeValues\"]\n ): TFilter.CascadeValue | undefined => {\n const found: TFilter.CascadeValue | undefined = values?.find((v) => {\n const found = v.value === lastVal.value\n\n if (found) {\n foundVal = v\n return true\n }\n\n return find(v.options)\n })\n if (found) return found\n }\n if (config.value === lastVal.value) {\n foundVal = config\n return config\n }\n return find(config.options)\n })\n return foundVal\n}\n\nexport const prepareValueChange = (\n currentValue: TFilter.Internal.Term.TermValue,\n newValue: TFilter.Internal.Term.TermValue\n) => {\n if (Array.isArray(currentValue) && Array.isArray(newValue)) return newValue\n if (Array.isArray(newValue)) return [...newValue]\n return newValue\n}\n\nexport const createEmptyTerm = (): TFilter.Internal.Term.State => {\n return {\n completed: false,\n attribute: null,\n selectedCascadeValues: null,\n operator: null,\n value: null,\n active: true,\n id: Date.now(),\n }\n}\n\nexport const capitalize = (string: string) => {\n return string.charAt(0).toUpperCase() + string.slice(1)\n}\n\nexport function parseNumber(value: string, type: TFilter.EControlType): number {\n const number = parseFloat(value.replace(\",\", \".\"))\n switch (type) {\n case TFilter.EControlType.FLOAT:\n return number.fixDecimals(3)\n case TFilter.EControlType.INTEGER:\n return number.roundToInteger()\n\n default:\n return number\n }\n}\n\nexport const appendValueToCurrentValueArray = (\n controlType: TFilter.EControlType,\n newValue: string | string[]\n): TFilter.Internal.Term.TermValue => {\n if (\n [TFilter.EControlType.STRING, TFilter.EControlType.ENUM, TFilter.EControlType.UUID].includes(\n controlType\n )\n ) {\n return newValue\n }\n\n if (Array.isArray(newValue)) {\n return newValue.map((v) => parseNumber(v, controlType))\n } else {\n return parseNumber(newValue, controlType)\n }\n}\nexport function parseString(input: string): string[] {\n const regex = /\"[^\"]+\"|[^:]+/g\n return input.match(regex)?.map((match) => match.replace(/\"/g, \"\")) || []\n}\nexport const emptyFilterDTO: TFilter.DTO.State = {\n operator: TFilter.DTO.Match.AND,\n fields: [],\n}\n\nexport const emptyFilterInternal: TFilter.Internal.State = {\n match: \"ALL\",\n terms: [],\n termsCollapsed: false,\n edited: false,\n}\n\nexport const emptyFilterDTOBase64 = \"eyJvcGVyYXRvciI6ImFuZCIsImZpZWxkcyI6W119\"\n\nexport const validateFilterDTO = (filterDTO: TFilter.DTO.State, config: TFilter.Config) => {\n const result = { ...filterDTO }\n const availableNames = config.reduce<string[]>((acc, curr) => [...acc, curr.name.value], [])\n\n result.fields = filterDTO.fields.reduce<TFilter.DTO.Field[]>((acc, curr) => {\n if (!availableNames.includes(curr.name)) return acc\n const availableOperators =\n config.find((c) => c.name.value === curr.name)?.operators.map((o) => o.value) || []\n\n if (!availableOperators.includes(curr.operator)) return acc\n\n return [...acc, curr]\n }, [])\n return result\n}\n"],"names":["appendValueToCurrentValueArray","capitalize","createEmptyTerm","emptyFilterDTO","emptyFilterDTOBase64","emptyFilterInternal","getCascadeValuesForConfigitem","parseNumber","parseString","prepareValueChange","prepareValueDeletion","termMachine","termsMachine","validateFilterDTO","term","termState","structuredClone","setActive","active","setInactive","setComplete","completed","setIncomplete","setAttribute","attribute","setSelectedCascadeValue","values","selectedCascadeValues","setAttributeValues","value","setOperator","operator","setValue","build","terms","termsState","setAllInactive","newTerms","map","removeAllIncompleted","filter","removeSpecificTerm","id","getSpecificTerm","find","getSpecificTermIndex","findIndex","t","updateSpecificTerm","update","termIndex","x","updateSpecificTermByIndex","index","pushNewTerm","oldValue","valueToDelete","Array","isArray","length","configItem","lastVal","foundVal","cascadeValues","config","found","v","options","currentValue","newValue","Date","now","string","charAt","toUpperCase","slice","type","number","parseFloat","replace","TFilter","EControlType","FLOAT","fixDecimals","INTEGER","roundToInteger","controlType","STRING","ENUM","UUID","includes","input","regex","match","DTO","Match","AND","fields","termsCollapsed","edited","filterDTO","result","availableNames","reduce","acc","curr","name","availableOperators","c","operators","o"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Filter/utils/libs.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { TFilter } from \"./types\"\nimport { TValue } from \"../../Form\"\nimport { TCascadeOption } from \"../../Form/Select/Cascade/CascadeOption\"\n\n// This function accepts a term as an argument and implements the builder pattern to modify the given term.\n// It implements the usage a domain specific language for the term without having to adjust the individual properties of the term itself.\n// The machine will return an instance of termMachine. To receive the adjusted term, you need to call .build() at the end.\nexport const termMachine = (term: TFilter.Internal.Term.State) => {\n const termState = structuredClone(term)\n\n const setActive = () => {\n termState.active = true\n return termMachine(termState)\n }\n\n const setInactive = () => {\n termState.active = false\n return termMachine(termState)\n }\n\n const setComplete = () => {\n termState.completed = true\n return termMachine(termState)\n }\n\n const setIncomplete = () => {\n termState.completed = false\n return termMachine(termState)\n }\n\n const setAttribute = (attribute: TFilter.ConfigItem | null) => {\n termState.attribute = attribute\n return termMachine(termState)\n }\n\n const setSelectedCascadeValue = (values: TCascadeOption<TValue[]>[]) => {\n termState.selectedCascadeValues = values\n return termMachine(termState)\n }\n\n const setAttributeValues = (value: string[]) => {\n if (termState.attribute) termState.attribute.values = value\n return termMachine(termState)\n }\n\n const setOperator = (operator: TFilter.Operator | null) => {\n termState.operator = operator\n return termMachine(termState)\n }\n\n const setValue = (value: TFilter.Internal.Term.TermValue) => {\n termState.value = value\n return termMachine(termState)\n }\n\n const build = () => termState\n\n return {\n build,\n setIncomplete,\n setComplete,\n setActive,\n setInactive,\n setAttribute,\n setSelectedCascadeValue,\n setAttributeValues,\n setOperator,\n setValue,\n }\n}\n\n// This function accepts an array of terms as an argument and implements the builder pattern to modify the given terms.\n// It implements the usage a domain specific language for the terms without having to adjust the individual properties of the term itself.\n// The machine will return an instance of termsMachine. To receive the adjusted terms, you need to call .build() at the end.\nexport const termsMachine = (terms: TFilter.Internal.Term.State[]) => {\n const termsState = structuredClone(terms)\n\n const setAllInactive = () => {\n const newTerms = [...termsState].map((term) => termMachine(term).setInactive().build())\n return termsMachine(newTerms)\n }\n\n const removeAllIncompleted = () => {\n const newTerms = [...termsState].filter((term) => term.completed)\n return termsMachine(newTerms)\n }\n\n const removeSpecificTerm = (id: TFilter.Internal.Term.State[\"id\"]) => {\n const newTerms = [...termsState].filter((term) => term.id !== id)\n return termsMachine(newTerms)\n }\n\n const getSpecificTerm = (id: TFilter.Internal.Term.State[\"id\"]) => {\n return termsState.find((term) => term.id === id)\n }\n\n const getSpecificTermIndex = (id: TFilter.Internal.Term.State[\"id\"]) => {\n return termsState.findIndex((t) => t.id === id)\n }\n\n const updateSpecificTerm = (\n id: TFilter.Internal.Term.State[\"id\"],\n update: (term: TFilter.Internal.Term.State) => TFilter.Internal.Term.State\n ) => {\n const term = getSpecificTerm(id)\n if (!term) {\n return termsMachine(termsState)\n }\n const termIndex = termsState.findIndex((x) => x.id === id)\n termsState[termIndex] = update(term)\n return termsMachine(termsState)\n }\n\n const updateSpecificTermByIndex = (\n index: number,\n update: (term: TFilter.Internal.Term.State) => TFilter.Internal.Term.State\n ) => {\n const term = termsState[index]\n\n termsState[index] = update(term)\n return termsMachine(termsState)\n }\n\n const pushNewTerm = () => {\n const newTerms = [...termsState, createEmptyTerm()]\n return termsMachine(newTerms)\n }\n\n const build = () => termsState\n\n return {\n build,\n getSpecificTerm,\n removeAllIncompleted,\n updateSpecificTerm,\n setAllInactive,\n pushNewTerm,\n removeSpecificTerm,\n getSpecificTermIndex,\n updateSpecificTermByIndex,\n }\n}\n\nexport const prepareValueDeletion = (\n oldValue: TFilter.Internal.Term.TermValue,\n valueToDelete?: string\n) => {\n if (valueToDelete && Array.isArray(oldValue) && oldValue.length > 1)\n return oldValue.filter((value) => value !== valueToDelete)\n return null\n}\n\nexport const getCascadeValuesForConfigitem = (configItem: TFilter.ConfigItem, lastVal: TValue) => {\n let foundVal: TFilter.CascadeValue | undefined\n configItem?.cascadeValues?.find((config) => {\n const find = (\n values: TFilter.ConfigItem[\"cascadeValues\"]\n ): TFilter.CascadeValue | undefined => {\n const found: TFilter.CascadeValue | undefined = values?.find((v) => {\n const found = v.value === lastVal.value\n\n if (found) {\n foundVal = v\n return true\n }\n\n return find(v.options)\n })\n if (found) return found\n }\n if (config.value === lastVal.value) {\n foundVal = config\n return config\n }\n return find(config.options)\n })\n return foundVal\n}\n\nexport const prepareValueChange = (\n currentValue: TFilter.Internal.Term.TermValue,\n newValue: TFilter.Internal.Term.TermValue\n) => {\n if (Array.isArray(currentValue) && Array.isArray(newValue)) return newValue\n if (Array.isArray(newValue)) return [...newValue]\n return newValue\n}\n\nexport const createEmptyTerm = (): TFilter.Internal.Term.State => {\n return {\n completed: false,\n attribute: null,\n selectedCascadeValues: null,\n operator: null,\n value: null,\n active: true,\n id: Date.now(),\n }\n}\n\nexport const capitalize = (string: string) => {\n return string.charAt(0).toUpperCase() + string.slice(1)\n}\n\nexport function parseNumber(value: string, type: TFilter.EControlType): number {\n const number = parseFloat(value.replace(\",\", \".\"))\n switch (type) {\n case TFilter.EControlType.FLOAT:\n return number.fixDecimals(1)\n case TFilter.EControlType.INTEGER:\n return number.roundToInteger()\n\n default:\n return number\n }\n}\n\nexport const appendValueToCurrentValueArray = (\n controlType: TFilter.EControlType,\n newValue: string | string[]\n): TFilter.Internal.Term.TermValue => {\n if (\n [TFilter.EControlType.STRING, TFilter.EControlType.ENUM, TFilter.EControlType.UUID].includes(\n controlType\n )\n ) {\n return newValue\n }\n\n if (Array.isArray(newValue)) {\n return newValue.map((v) => parseNumber(v, controlType))\n } else {\n return parseNumber(newValue, controlType)\n }\n}\nexport function parseString(input: string): string[] {\n const regex = /\"[^\"]+\"|[^:]+/g\n return input.match(regex)?.map((match) => match.replace(/\"/g, \"\")) || []\n}\nexport const emptyFilterDTO: TFilter.DTO.State = {\n operator: TFilter.DTO.Match.AND,\n fields: [],\n}\n\nexport const emptyFilterInternal: TFilter.Internal.State = {\n match: \"ALL\",\n terms: [],\n termsCollapsed: false,\n edited: false,\n}\n\nexport const emptyFilterDTOBase64 = \"eyJvcGVyYXRvciI6ImFuZCIsImZpZWxkcyI6W119\"\n\nexport const validateFilterDTO = (filterDTO: TFilter.DTO.State, config: TFilter.Config) => {\n const result = { ...filterDTO }\n const availableNames = config.reduce<string[]>((acc, curr) => [...acc, curr.name.value], [])\n\n result.fields = filterDTO.fields.reduce<TFilter.DTO.Field[]>((acc, curr) => {\n if (!availableNames.includes(curr.name)) return acc\n const availableOperators =\n config.find((c) => c.name.value === curr.name)?.operators.map((o) => o.value) || []\n\n if (!availableOperators.includes(curr.operator)) return acc\n\n return [...acc, curr]\n }, [])\n return result\n}\n"],"names":["appendValueToCurrentValueArray","capitalize","createEmptyTerm","emptyFilterDTO","emptyFilterDTOBase64","emptyFilterInternal","getCascadeValuesForConfigitem","parseNumber","parseString","prepareValueChange","prepareValueDeletion","termMachine","termsMachine","validateFilterDTO","term","termState","structuredClone","setActive","active","setInactive","setComplete","completed","setIncomplete","setAttribute","attribute","setSelectedCascadeValue","values","selectedCascadeValues","setAttributeValues","value","setOperator","operator","setValue","build","terms","termsState","setAllInactive","newTerms","map","removeAllIncompleted","filter","removeSpecificTerm","id","getSpecificTerm","find","getSpecificTermIndex","findIndex","t","updateSpecificTerm","update","termIndex","x","updateSpecificTermByIndex","index","pushNewTerm","oldValue","valueToDelete","Array","isArray","length","configItem","lastVal","foundVal","cascadeValues","config","found","v","options","currentValue","newValue","Date","now","string","charAt","toUpperCase","slice","type","number","parseFloat","replace","TFilter","EControlType","FLOAT","fixDecimals","INTEGER","roundToInteger","controlType","STRING","ENUM","UUID","includes","input","regex","match","DTO","Match","AND","fields","termsCollapsed","edited","filterDTO","result","availableNames","reduce","acc","curr","name","availableOperators","c","operators","o"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get FormSwitch(){return FormSwitch},get RawSwitch(){return RawSwitch}});const _jsxruntime=require("react/jsx-runtime");const _react=/*#__PURE__*/_interop_require_wildcard(require("react"));const _core=require("@mantine/core");const _Form=require("../Form/Form");const _sharedStyles=require("../sharedStyles");const _Form1=require("../Form");const _FormErrors=require("../Form/FormErrors");const _reacthookform=require("react-hook-form");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={__proto__:null};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}const RawSwitch=(0,_react.forwardRef)((_param,ref)=>{var{size="md"}=_param,props=_object_without_properties(_param,["size"]);const classes=(0,_sharedStyles.getDefaultFormStyles)();return(0,_jsxruntime.jsx)(_core.Switch,_object_spread_props(_object_spread({ref:ref},props),{size:size,classNames:_object_spread({root:classes.root,label:classes.label,input:classes.input,error:classes.error},props.classNames)}))});RawSwitch.displayName="RawSwitch";const FormSwitch=_param=>{var{name,validation={}}=_param,props=_object_without_properties(_param,["name","validation"]);const{control}=(0,_Form.useFormContext)();const errorContext=(0,_Form1.useErrorContext)();const{field:{value=false,onChange,ref},fieldState:{error}}=(0,_reacthookform.useController)({name,control,rules:{validate:validation}});const fetchError=errorContext.errors[name];const isString=val=>typeof val==="string";const errors=[error===null||error===void 0?void 0:error.message,fetchError].flat().filter(isString);return(0,_jsxruntime.jsx)(RawSwitch,_object_spread_props(_object_spread({},props),{ref:ref,checked:value,onChange:event=>onChange(event.currentTarget.checked),error:errors.length>0&&(0,_jsxruntime.jsx)(_FormErrors.FormErrors,{errors:errors})}))};
|
|
2
|
+
//# sourceMappingURL=Switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Form/Switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\"\nimport { Switch, SwitchProps } from \"@mantine/core\"\nimport { useFormContext } from \"../Form/Form\"\nimport { getDefaultFormStyles } from \"../sharedStyles\"\nimport { useErrorContext } from \"../Form\"\nimport { FormErrors } from \"../Form/FormErrors\"\nimport { TFormControl } from \"../Form\"\nimport { useController } from \"react-hook-form\"\n\n/**\n * Raw Switch input that applies shared form styling.\n */\nexport const RawSwitch = forwardRef<HTMLInputElement, SwitchProps>(\n ({ size = \"md\", ...props }, ref) => {\n const classes = getDefaultFormStyles()\n\n return (\n <Switch\n ref={ref}\n {...props}\n size={size}\n classNames={{\n root: classes.root,\n label: classes.label,\n input: classes.input,\n error: classes.error,\n ...props.classNames,\n }}\n />\n )\n }\n)\n\nRawSwitch.displayName = \"RawSwitch\"\n\n/**\n * Form-connected Switch using Mantine's Switch, integrated with validation and error context.\n */\nexport const FormSwitch: React.FC<SwitchProps & TFormControl<HTMLInputElement>> = ({\n name,\n validation = {},\n ...props\n}) => {\n const { control } = useFormContext()\n const errorContext = useErrorContext()\n\n const {\n field: { value = false, onChange, ref },\n fieldState: { error },\n } = useController({\n name,\n control,\n rules: { validate: validation },\n })\n\n const fetchError = errorContext.errors[name]\n const isString = (val: unknown): val is string => typeof val === \"string\"\n const errors = [error?.message, fetchError].flat().filter(isString)\n\n return (\n <RawSwitch\n {...props}\n ref={ref}\n checked={value}\n onChange={(event) => onChange(event.currentTarget.checked)}\n error={errors.length > 0 && <FormErrors errors={errors} />}\n />\n )\n}\n"],"names":["FormSwitch","RawSwitch","forwardRef","ref","size","props","classes","getDefaultFormStyles","Switch","classNames","root","label","input","error","displayName","name","validation","control","useFormContext","errorContext","useErrorContext","field","value","onChange","fieldState","useController","rules","validate","fetchError","errors","isString","val","message","flat","filter","checked","event","currentTarget","length","FormErrors"],"mappings":"mPAsCaA,oBAAAA,gBA1BAC,mBAAAA,wHAZqB,8BACE,qCACL,4CACM,wCACL,qCACL,mDAEG,06FAKvB,MAAMA,UAAYC,GAAAA,iBAAU,EACjC,QAA4BC,UAA3B,CAAEC,KAAO,IAAI,CAAY,QAAPC,yCAAhBD,SACD,MAAME,QAAUC,GAAAA,kCAAoB,IAEpC,MACE,oBAACC,YAAM,sCACLL,IAAKA,KACDE,QACJD,KAAMA,KACNK,WAAY,gBACVC,KAAMJ,QAAQI,IAAI,CAClBC,MAAOL,QAAQK,KAAK,CACpBC,MAAON,QAAQM,KAAK,CACpBC,MAAOP,QAAQO,KAAK,EACjBR,MAAMI,UAAU,IAI3B,EAGFR,CAAAA,UAAUa,WAAW,CAAG,YAKjB,MAAMd,WAAqE,YAAC,CACjFe,IAAI,CACJC,WAAa,CAAC,CAAC,CAEhB,QADIX,yCAFHU,OACAC,eAGA,KAAM,CAAEC,OAAO,CAAE,CAAGC,GAAAA,oBAAc,IAClC,MAAMC,aAAeC,GAAAA,sBAAe,IAEpC,KAAM,CACJC,MAAO,CAAEC,MAAQ,KAAK,CAAEC,QAAQ,CAAEpB,GAAG,CAAE,CACvCqB,WAAY,CAAEX,KAAK,CAAE,CACtB,CAAGY,GAAAA,4BAAa,EAAC,CAChBV,KACAE,QACAS,MAAO,CAAEC,SAAUX,UAAW,CAChC,GAEA,MAAMY,WAAaT,aAAaU,MAAM,CAACd,KAAK,CAC5C,MAAMe,SAAW,AAACC,KAAgC,OAAOA,MAAQ,SACjE,MAAMF,OAAS,CAAChB,cAAAA,sBAAAA,MAAOmB,OAAO,CAAEJ,WAAW,CAACK,IAAI,GAAGC,MAAM,CAACJ,UAE1D,MACE,oBAAC7B,iDACKI,QACJF,IAAKA,IACLgC,QAASb,MACTC,SAAU,AAACa,OAAUb,SAASa,MAAMC,aAAa,CAACF,OAAO,EACzDtB,MAAOgB,OAAOS,MAAM,CAAG,GAAK,oBAACC,sBAAU,EAACV,OAAQA,WAGtD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});_export_star(require("./Button"),exports);_export_star(require("./Form"),exports);_export_star(require("./Input/Input"),exports);_export_star(require("./Checkbox/Checkbox"),exports);_export_star(require("./PasswordInput/PasswordInput"),exports);_export_star(require("./Labels"),exports);_export_star(require("./RadioButton/RadioButton"),exports);_export_star(require("./Textarea/Textarea"),exports);_export_star(require("./FileInput/FileInput"),exports);_export_star(require("./DateTimePicker"),exports);_export_star(require("./Select"),exports);_export_star(require("./FormItemGroup"),exports);_export_star(require("./MenuButton"),exports);function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});_export_star(require("./Button"),exports);_export_star(require("./Form"),exports);_export_star(require("./Input/Input"),exports);_export_star(require("./Checkbox/Checkbox"),exports);_export_star(require("./PasswordInput/PasswordInput"),exports);_export_star(require("./Labels"),exports);_export_star(require("./RadioButton/RadioButton"),exports);_export_star(require("./Textarea/Textarea"),exports);_export_star(require("./FileInput/FileInput"),exports);_export_star(require("./DateTimePicker"),exports);_export_star(require("./Select"),exports);_export_star(require("./FormItemGroup"),exports);_export_star(require("./MenuButton"),exports);_export_star(require("./Switch/Switch"),exports);function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Form/index.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nexport * from \"./Button\"\nexport * from \"./Form\"\nexport * from \"./Input/Input\"\nexport * from \"./Checkbox/Checkbox\"\nexport * from \"./PasswordInput/PasswordInput\"\nexport * from \"./Labels\"\nexport * from \"./RadioButton/RadioButton\"\nexport * from \"./Textarea/Textarea\"\nexport * from \"./FileInput/FileInput\"\nexport * from \"./DateTimePicker\"\nexport * from \"./Select\"\nexport * from \"./FormItemGroup\"\nexport * from \"./MenuButton\"\n"],"names":[],"mappings":"2FAIc,0CACA,wCACA,+CACA,qDACA,+DACA,0CACA,2DACA,qDACA,uDACA,kDACA,0CACA,iDACA"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Form/index.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nexport * from \"./Button\"\nexport * from \"./Form\"\nexport * from \"./Input/Input\"\nexport * from \"./Checkbox/Checkbox\"\nexport * from \"./PasswordInput/PasswordInput\"\nexport * from \"./Labels\"\nexport * from \"./RadioButton/RadioButton\"\nexport * from \"./Textarea/Textarea\"\nexport * from \"./FileInput/FileInput\"\nexport * from \"./DateTimePicker\"\nexport * from \"./Select\"\nexport * from \"./FormItemGroup\"\nexport * from \"./MenuButton\"\nexport * from \"./Switch/Switch\"\n"],"names":[],"mappings":"2FAIc,0CACA,wCACA,+CACA,qDACA,+DACA,0CACA,2DACA,qDACA,uDACA,kDACA,0CACA,iDACA,8CACA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"getHeaderConfig",{enumerable:true,get:function(){return getHeaderConfig}});const _AppNavigation=require("../../AppNavigation");const getHeaderConfig=menuSections=>{const firstMenuSection=menuSections===null||menuSections===void 0?void 0:menuSections.split(",")[0];let logoLink,manualLink,mainProduct;if(firstMenuSection===_AppNavigation.ESideNavEnum.VI){logoLink="/vulnerability-intelligence/";manualLink="ManualLinkVI";mainProduct=_AppNavigation.ESideNavEnum.VI}else if(firstMenuSection===_AppNavigation.ESideNavEnum.ASSET){logoLink="/asset-management/";manualLink="ManualLinkAsset";mainProduct=_AppNavigation.ESideNavEnum.ASSET}else if(firstMenuSection===_AppNavigation.ESideNavEnum.SYSTEM){logoLink="/system-management/";manualLink=undefined;mainProduct=_AppNavigation.ESideNavEnum.SYSTEM}else{logoLink="/";manualLink=undefined;mainProduct=undefined}return{logoLink,mainProduct,manualLink}};
|
|
2
|
+
//# sourceMappingURL=getHeaderConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Layout/AppHeader/headerConfig/getHeaderConfig.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { ESideNavEnum } from \"../../AppNavigation\"\n\nexport const getHeaderConfig = (menuSections?: string) => {\n const firstMenuSection = menuSections?.split(\",\")[0]\n let logoLink, manualLink, mainProduct\n\n if (firstMenuSection === ESideNavEnum.VI) {\n logoLink = \"/vulnerability-intelligence/\"\n manualLink = \"ManualLinkVI\"\n mainProduct = ESideNavEnum.VI\n } else if (firstMenuSection === ESideNavEnum.ASSET) {\n logoLink = \"/asset-management/\"\n manualLink = \"ManualLinkAsset\"\n mainProduct = ESideNavEnum.ASSET\n } else if (firstMenuSection === ESideNavEnum.SYSTEM) {\n logoLink = \"/system-management/\"\n manualLink = undefined\n mainProduct = ESideNavEnum.SYSTEM\n } else {\n logoLink = \"/\"\n manualLink = undefined\n mainProduct = undefined\n }\n\n return {\n logoLink,\n mainProduct,\n manualLink,\n }\n}\n"],"names":["getHeaderConfig","menuSections","firstMenuSection","split","logoLink","manualLink","mainProduct","ESideNavEnum","VI","ASSET","SYSTEM","undefined"],"mappings":"oGAMaA,yDAAAA,gDAFgB,uBAEtB,MAAMA,gBAAkB,AAACC,eAC9B,MAAMC,iBAAmBD,qBAAAA,6BAAAA,aAAcE,KAAK,CAAC,IAAI,CAAC,EAAE,CACpD,IAAIC,SAAUC,WAAYC,YAE1B,GAAIJ,mBAAqBK,2BAAY,CAACC,EAAE,CAAE,CACxCJ,SAAW,+BACXC,WAAa,eACbC,YAAcC,2BAAY,CAACC,EAAE,AAC/B,MAAO,GAAIN,mBAAqBK,2BAAY,CAACE,KAAK,CAAE,CAClDL,SAAW,qBACXC,WAAa,kBACbC,YAAcC,2BAAY,CAACE,KAAK,AAClC,MAAO,GAAIP,mBAAqBK,2BAAY,CAACG,MAAM,CAAE,CACnDN,SAAW,sBACXC,WAAaM,UACbL,YAAcC,2BAAY,CAACG,MAAM,AACnC,KAAO,CACLN,SAAW,IACXC,WAAaM,UACbL,YAAcK,SAChB,CAEA,MAAO,CACLP,SACAE,YACAD,UACF,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});_export_star(require("./themeSwitch/ThemeSwitch"),exports);_export_star(require("./languageSwitch/LanguageSwitch"),exports);_export_star(require("./userNav/UserNav"),exports);_export_star(require("./types"),exports);_export_star(require("./AppHeader"),exports);function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});_export_star(require("./themeSwitch/ThemeSwitch"),exports);_export_star(require("./languageSwitch/LanguageSwitch"),exports);_export_star(require("./userNav/UserNav"),exports);_export_star(require("./types"),exports);_export_star(require("./AppHeader"),exports);_export_star(require("./headerConfig/getHeaderConfig"),exports);function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Layout/AppHeader/index.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nexport * from \"./themeSwitch/ThemeSwitch\"\nexport * from \"./languageSwitch/LanguageSwitch\"\nexport * from \"./userNav/UserNav\"\nexport * from \"./types\"\nexport * from \"./AppHeader\"\n"],"names":[],"mappings":"2FAIc,2DACA,iEACA,mDACA,yCACA"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Layout/AppHeader/index.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nexport * from \"./themeSwitch/ThemeSwitch\"\nexport * from \"./languageSwitch/LanguageSwitch\"\nexport * from \"./userNav/UserNav\"\nexport * from \"./types\"\nexport * from \"./AppHeader\"\nexport * from \"./headerConfig/getHeaderConfig\"\n"],"names":[],"mappings":"2FAIc,2DACA,iEACA,mDACA,yCACA,6CACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/Layout/AppNavigation/Menu/UrlProvider.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Domain } from \"../NavigationLink\"\nimport { getBaseUrl } from \"../NavigationLink/getBaseUrl\"\nimport urlcat from \"urlcat\"\n\nconst AssetUrlProvider = (currentDomain: Domain) => {\n const domain = Domain.Asset\n return {\n Vulnerabilities: new UrlParcel(currentDomain, domain, () => \"/vulnerabilities\"),\n VulnerabilityDetail: new UrlParcel(\n currentDomain,\n domain,\n (args: { id: string }) => \"/vulnerabilities/\" + args.id\n ),\n AffectedAssetsPage: new UrlParcel(\n currentDomain,\n domain,\n (args: { vulnerabilityId: string }) => \"/vulnerabilities/\" + args.vulnerabilityId + \"/assets\"\n ),\n Debug: new UrlParcel(currentDomain, domain, () => \"/debug\"),\n Appliances: new UrlParcel(currentDomain, domain, () => \"/appliances\"),\n AssetInventory: new UrlParcel(currentDomain, domain, () => \"/asset-inventory\"),\n Dashboard: new UrlParcel(currentDomain, domain, () => \"/dashboard\"),\n }\n}\nconst UserUrlProvider = (currentDomain: Domain) => {\n const domain = Domain.User\n return {\n // Append your urls here\n Security: new UrlParcel(currentDomain, domain, () => \"/security\"),\n }\n}\nconst ScanUrlProvider = (currentDomain: Domain) => {\n const domain = Domain.Scan\n return {\n // Append your urls here\n Tasks: new UrlParcel(currentDomain, domain, () => \"/tasks\"),\n }\n}\n\nexport class UrlProvider {\n get pathRoot(): string {\n return this._pathRoot\n }\n\n private currentDomain: Domain\n private _pathRoot: string\n public Asset: ReturnType<typeof AssetUrlProvider>\n public User: ReturnType<typeof UserUrlProvider>\n public Scan: ReturnType<typeof ScanUrlProvider>\n\n constructor(domain: Domain) {\n this.currentDomain = domain\n this._pathRoot = getBaseUrl(domain)\n // initializing the providers with the given domain\n this.Asset = AssetUrlProvider(this[\"currentDomain\"])\n this.User = UserUrlProvider(this[\"currentDomain\"])\n this.Scan = ScanUrlProvider(this[\"currentDomain\"])\n }\n}\n\nexport class UrlParcel<Arg = void> {\n get currentDomain(): Domain {\n return this._currentDomain\n }\n private path: (args: Arg) => string\n private _currentDomain: Domain\n private targetDomain: Domain\n private external: boolean\n constructor(currentDomain: Domain, targetDomain: Domain, path: (args: Arg) => string) {\n this.path = path\n this._currentDomain = currentDomain\n this.targetDomain = targetDomain\n this.external = currentDomain !== targetDomain\n }\n\n // Add functions here if you need extra functionality\n\n public get isExternal() {\n return this.external\n }\n\n private getAbsolut(args: Arg) {\n const targetDomainPath = getBaseUrl(this.targetDomain)\n return urlcat(targetDomainPath, this.path(args))\n }\n private getRelative(args: Arg) {\n return this.path(args)\n }\n\n public getPath(args: Arg) {\n return this.external ? this.getAbsolut(args) : this.getRelative(args)\n }\n}\n"],"names":["UrlParcel","UrlProvider","AssetUrlProvider","currentDomain","domain","Domain","Asset","Vulnerabilities","VulnerabilityDetail","args","id","AffectedAssetsPage","vulnerabilityId","Debug","Appliances","AssetInventory","Dashboard","UserUrlProvider","User","Security","ScanUrlProvider","Scan","Tasks","pathRoot","_pathRoot","
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Layout/AppNavigation/Menu/UrlProvider.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Domain } from \"../NavigationLink\"\nimport { getBaseUrl } from \"../NavigationLink/getBaseUrl\"\nimport urlcat from \"urlcat\"\n\nconst AssetUrlProvider = (currentDomain: Domain) => {\n const domain = Domain.Asset\n return {\n Vulnerabilities: new UrlParcel(currentDomain, domain, () => \"/vulnerabilities\"),\n VulnerabilityDetail: new UrlParcel(\n currentDomain,\n domain,\n (args: { id: string }) => \"/vulnerabilities/\" + args.id\n ),\n AffectedAssetsPage: new UrlParcel(\n currentDomain,\n domain,\n (args: { vulnerabilityId: string }) => \"/vulnerabilities/\" + args.vulnerabilityId + \"/assets\"\n ),\n Debug: new UrlParcel(currentDomain, domain, () => \"/debug\"),\n Appliances: new UrlParcel(currentDomain, domain, () => \"/appliances\"),\n AssetInventory: new UrlParcel(currentDomain, domain, () => \"/asset-inventory\"),\n Dashboard: new UrlParcel(currentDomain, domain, () => \"/dashboard\"),\n }\n}\nconst UserUrlProvider = (currentDomain: Domain) => {\n const domain = Domain.User\n return {\n // Append your urls here\n Security: new UrlParcel(currentDomain, domain, () => \"/security\"),\n }\n}\nconst ScanUrlProvider = (currentDomain: Domain) => {\n const domain = Domain.Scan\n return {\n // Append your urls here\n Tasks: new UrlParcel(currentDomain, domain, () => \"/tasks\"),\n }\n}\n\nexport class UrlProvider {\n get pathRoot(): string {\n return this._pathRoot\n }\n\n private currentDomain: Domain\n private _pathRoot: string\n public Asset: ReturnType<typeof AssetUrlProvider>\n public User: ReturnType<typeof UserUrlProvider>\n public Scan: ReturnType<typeof ScanUrlProvider>\n\n constructor(domain: Domain) {\n this.currentDomain = domain\n this._pathRoot = getBaseUrl(domain)\n // initializing the providers with the given domain\n this.Asset = AssetUrlProvider(this[\"currentDomain\"])\n this.User = UserUrlProvider(this[\"currentDomain\"])\n this.Scan = ScanUrlProvider(this[\"currentDomain\"])\n }\n}\n\nexport class UrlParcel<Arg = void> {\n get currentDomain(): Domain {\n return this._currentDomain\n }\n private path: (args: Arg) => string\n private _currentDomain: Domain\n private targetDomain: Domain\n private external: boolean\n constructor(currentDomain: Domain, targetDomain: Domain, path: (args: Arg) => string) {\n this.path = path\n this._currentDomain = currentDomain\n this.targetDomain = targetDomain\n this.external = currentDomain !== targetDomain\n }\n\n // Add functions here if you need extra functionality\n\n public get isExternal() {\n return this.external\n }\n\n private getAbsolut(args: Arg) {\n const targetDomainPath = getBaseUrl(this.targetDomain)\n return urlcat(targetDomainPath, this.path(args))\n }\n private getRelative(args: Arg) {\n return this.path(args)\n }\n\n public getPath(args: Arg) {\n return this.external ? this.getAbsolut(args) : this.getRelative(args)\n }\n}\n"],"names":["UrlParcel","UrlProvider","AssetUrlProvider","currentDomain","domain","Domain","Asset","Vulnerabilities","VulnerabilityDetail","args","id","AffectedAssetsPage","vulnerabilityId","Debug","Appliances","AssetInventory","Dashboard","UserUrlProvider","User","Security","ScanUrlProvider","Scan","Tasks","pathRoot","_pathRoot","getBaseUrl","_currentDomain","isExternal","external","getAbsolut","targetDomainPath","targetDomain","urlcat","path","getRelative","getPath"],"mappings":"mPAgEaA,mBAAAA,eArBAC,qBAAAA,6CAvCU,+CACI,4FACR,mRAEnB,MAAMC,iBAAmB,AAACC,gBACxB,MAAMC,OAASC,sBAAM,CAACC,KAAK,CAC3B,MAAO,CACLC,gBAAiB,IAAIP,UAAUG,cAAeC,OAAQ,IAAM,oBAC5DI,oBAAqB,IAAIR,UACvBG,cACAC,OACA,AAACK,MAAyB,oBAAsBA,KAAKC,EAAE,EAEzDC,mBAAoB,IAAIX,UACtBG,cACAC,OACA,AAACK,MAAsC,oBAAsBA,KAAKG,eAAe,CAAG,WAEtFC,MAAO,IAAIb,UAAUG,cAAeC,OAAQ,IAAM,UAClDU,WAAY,IAAId,UAAUG,cAAeC,OAAQ,IAAM,eACvDW,eAAgB,IAAIf,UAAUG,cAAeC,OAAQ,IAAM,oBAC3DY,UAAW,IAAIhB,UAAUG,cAAeC,OAAQ,IAAM,aACxD,CACF,EACA,MAAMa,gBAAkB,AAACd,gBACvB,MAAMC,OAASC,sBAAM,CAACa,IAAI,CAC1B,MAAO,CAELC,SAAU,IAAInB,UAAUG,cAAeC,OAAQ,IAAM,YACvD,CACF,EACA,MAAMgB,gBAAkB,AAACjB,gBACvB,MAAMC,OAASC,sBAAM,CAACgB,IAAI,CAC1B,MAAO,CAELC,MAAO,IAAItB,UAAUG,cAAeC,OAAQ,IAAM,SACpD,CACF,CAEO,OAAMH,YACX,IAAIsB,UAAmB,CACrB,OAAO,IAAI,CAACC,SAAS,AACvB,CAQA,YAAYpB,MAAc,CAAE,CAN5B,sBAAQD,gBAAR,KAAA,GACA,sBAAQqB,YAAR,KAAA,GACA,sBAAOlB,QAAP,KAAA,GACA,sBAAOY,OAAP,KAAA,GACA,sBAAOG,OAAP,KAAA,EAGE,CAAA,IAAI,CAAClB,aAAa,CAAGC,MACrB,CAAA,IAAI,CAACoB,SAAS,CAAGC,GAAAA,sBAAU,EAACrB,OAE5B,CAAA,IAAI,CAACE,KAAK,CAAGJ,iBAAiB,IAAI,CAAC,gBAAgB,CACnD,CAAA,IAAI,CAACgB,IAAI,CAAGD,gBAAgB,IAAI,CAAC,gBAAgB,CACjD,CAAA,IAAI,CAACI,IAAI,CAAGD,gBAAgB,IAAI,CAAC,gBAAgB,CACnD,CACF,CAEO,MAAMpB,UACX,IAAIG,eAAwB,CAC1B,OAAO,IAAI,CAACuB,cAAc,AAC5B,CAcA,IAAWC,YAAa,CACtB,OAAO,IAAI,CAACC,QAAQ,AACtB,CAEA,AAAQC,WAAWpB,IAAS,CAAE,CAC5B,MAAMqB,iBAAmBL,GAAAA,sBAAU,EAAC,IAAI,CAACM,YAAY,EACrD,MAAOC,GAAAA,eAAM,EAACF,iBAAkB,IAAI,CAACG,IAAI,CAACxB,MAC5C,CACA,AAAQyB,YAAYzB,IAAS,CAAE,CAC7B,OAAO,IAAI,CAACwB,IAAI,CAACxB,KACnB,CAEA,AAAO0B,QAAQ1B,IAAS,CAAE,CACxB,OAAO,IAAI,CAACmB,QAAQ,CAAG,IAAI,CAACC,UAAU,CAACpB,MAAQ,IAAI,CAACyB,WAAW,CAACzB,KAClE,CAvBA,YAAYN,aAAqB,CAAE4B,YAAoB,CAAEE,IAA2B,CAAE,CAJtF,sBAAQA,OAAR,KAAA,GACA,sBAAQP,iBAAR,KAAA,GACA,sBAAQK,eAAR,KAAA,GACA,sBAAQH,WAAR,KAAA,EAEE,CAAA,IAAI,CAACK,IAAI,CAAGA,IACZ,CAAA,IAAI,CAACP,cAAc,CAAGvB,aACtB,CAAA,IAAI,CAAC4B,YAAY,CAAGA,YACpB,CAAA,IAAI,CAACH,QAAQ,CAAGzB,gBAAkB4B,YACpC,CAmBF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get NavLinkConfigFactory(){return NavLinkConfigFactory},get getMenuItemFromString(){return getMenuItemFromString},get parseMenuEnvString(){return parseMenuEnvString},get useBuildUseNavigationMenuPoints(){return useBuildUseNavigationMenuPoints},get useMenuItemStringsToNavigationMenuItemPoints(){return useMenuItemStringsToNavigationMenuItemPoints}});const _NavigationLink=require("../NavigationLink");const _buildUrl=require("../NavigationLink/buildUrl");const _isActive=require("../NavigationLink/isActive");const _reacti18next=require("react-i18next");const _menuItems=require("./menuItems");const _core=require("@mantine/core");const NavLinkConfigFactory=(currentPath,requester)=>({icon,label,to,owner,subNav})=>{const fullTargetUrl=to?(0,_buildUrl.buildUrl)(owner,requester,to):"";const defaultOpened=!!(subNav===null||subNav===void 0?void 0:subNav.find(sn=>sn.to===currentPath));return{isPathMatch:currentPath.endsWith(fullTargetUrl),active:to?(0,_isActive.isActive)(currentPath,fullTargetUrl):false,icon:icon,isExternal:owner!==requester,label:label,to:fullTargetUrl,defaultOpened:defaultOpened,subNav:subNav?subNav.map(sn=>({isPathMatch:currentPath.endsWith(sn.to||""),label:sn.label,to:sn.to?(0,_buildUrl.buildUrl)(sn.owner,requester,sn.to):"",active:sn.to?(0,_isActive.isActive)(currentPath,sn.to):false,isExternal:sn.owner!==requester})):undefined}};const useBuildUseNavigationMenuPoints=({requestingDomain,menuPointsCategories,currentLocation,additional,realmAccessRoles})=>{const factory=NavLinkConfigFactory(currentLocation,requestingDomain);const menuPoints=useMenuItemStringsToNavigationMenuItemPoints(menuPointsCategories,factory,realmAccessRoles);if(additional)menuPoints.push(additional.map(factory));return menuPoints};const getMenuItemFromString=(menuItem,factory,t,theme,realmAccessRoles)=>{switch(menuItem){case _NavigationLink.ESideNavEnum.VI:return(0,_menuItems.getVIDomainMenuItemsVulnerabilityIntel)(factory,t,theme);case _NavigationLink.ESideNavEnum.ASSET:return(0,_menuItems.getAssetDomainMenuItems)(factory,t,theme);case _NavigationLink.ESideNavEnum.SCAN:return(0,_menuItems.getScanDomainMenuItems)(factory,t,theme);case _NavigationLink.ESideNavEnum.USER:return(0,_menuItems.getUserDomainMenuItems)(factory,t,theme,realmAccessRoles);case _NavigationLink.ESideNavEnum.SYSTEM:return(0,_menuItems.getSystemManagementDomainMenuItems)(factory,t,theme);case _NavigationLink.ESideNavEnum.NOTIFICATIONS:return(0,_menuItems.getNotificationsDomainMenuItems)(factory,t,theme);default:return[]}};const useMenuItemStringsToNavigationMenuItemPoints=(menuItems,factory,realmAccessRoles)=>{const{t}=(0,_reacti18next.useTranslation)();const theme=(0,_core.useMantineTheme)();return menuItems.flatMap(item=>getMenuItemFromString(item,factory,t,theme,realmAccessRoles))};const parseMenuEnvString=(envString,separator=",")=>envString.split(separator);
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get NavLinkConfigFactory(){return NavLinkConfigFactory},get getMenuItemFromString(){return getMenuItemFromString},get parseMenuEnvString(){return parseMenuEnvString},get useBuildUseNavigationMenuPoints(){return useBuildUseNavigationMenuPoints},get useMenuItemStringsToNavigationMenuItemPoints(){return useMenuItemStringsToNavigationMenuItemPoints}});const _NavigationLink=require("../NavigationLink");const _buildUrl=require("../NavigationLink/buildUrl");const _isActive=require("../NavigationLink/isActive");const _reacti18next=require("react-i18next");const _menuItems=require("./menuItems");const _core=require("@mantine/core");const NavLinkConfigFactory=(currentPath,requester)=>({icon,label,to,owner,subNav})=>{const fullTargetUrl=to?(0,_buildUrl.buildUrl)(owner,requester,to):"";const defaultOpened=!!(subNav===null||subNav===void 0?void 0:subNav.find(sn=>sn.to===currentPath));return{isPathMatch:currentPath.endsWith(fullTargetUrl),active:to?(0,_isActive.isActive)(currentPath,fullTargetUrl):false,icon:icon,isExternal:owner!==requester,label:label,to:fullTargetUrl,defaultOpened:defaultOpened,subNav:subNav?subNav.map(sn=>({isPathMatch:currentPath.endsWith(sn.to||""),label:sn.label,to:sn.to?(0,_buildUrl.buildUrl)(sn.owner,requester,sn.to):"",active:sn.to?(0,_isActive.isActive)(currentPath,sn.to):false,isExternal:sn.owner!==requester})):undefined}};const useBuildUseNavigationMenuPoints=({requestingDomain,menuPointsCategories,currentLocation,additional,realmAccessRoles})=>{const factory=NavLinkConfigFactory(currentLocation,requestingDomain);const menuPoints=useMenuItemStringsToNavigationMenuItemPoints(menuPointsCategories,factory,realmAccessRoles);if(additional)menuPoints.push(additional.map(factory));return menuPoints};const getMenuItemFromString=(menuItem,factory,t,theme,realmAccessRoles)=>{switch(menuItem){case _NavigationLink.ESideNavEnum.VI:return(0,_menuItems.getVIDomainMenuItemsVulnerabilityIntel)(factory,t,theme);case _NavigationLink.ESideNavEnum.ASSET:return(0,_menuItems.getAssetDomainMenuItems)(factory,t,theme,realmAccessRoles);case _NavigationLink.ESideNavEnum.SCAN:return(0,_menuItems.getScanDomainMenuItems)(factory,t,theme);case _NavigationLink.ESideNavEnum.USER:return(0,_menuItems.getUserDomainMenuItems)(factory,t,theme,realmAccessRoles);case _NavigationLink.ESideNavEnum.SYSTEM:return(0,_menuItems.getSystemManagementDomainMenuItems)(factory,t,theme);case _NavigationLink.ESideNavEnum.NOTIFICATIONS:return(0,_menuItems.getNotificationsDomainMenuItems)(factory,t,theme);default:return[]}};const useMenuItemStringsToNavigationMenuItemPoints=(menuItems,factory,realmAccessRoles)=>{const{t}=(0,_reacti18next.useTranslation)();const theme=(0,_core.useMantineTheme)();return menuItems.flatMap(item=>getMenuItemFromString(item,factory,t,theme,realmAccessRoles))};const parseMenuEnvString=(envString,separator=",")=>envString.split(separator);
|
|
2
2
|
//# sourceMappingURL=menuFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/Layout/AppNavigation/Menu/menuFactory.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Domain, ESideNavEnum } from \"../NavigationLink\"\nimport { buildUrl } from \"../NavigationLink/buildUrl\"\nimport { isActive } from \"../NavigationLink/isActive\"\nimport { TBuildNavLinkParams, TNavLinkConfig } from \"./types\"\nimport { useTranslation } from \"react-i18next\"\nimport {\n getAssetDomainMenuItems,\n getNotificationsDomainMenuItems,\n getScanDomainMenuItems,\n getSystemManagementDomainMenuItems,\n getUserDomainMenuItems,\n getVIDomainMenuItemsVulnerabilityIntel,\n TFactory,\n} from \"./menuItems\"\nimport { TFunction } from \"i18next\"\nimport { MantineTheme, useMantineTheme } from \"@mantine/core\"\n\nexport const NavLinkConfigFactory =\n (currentPath: string, requester: Domain) =>\n ({ icon, label, to, owner, subNav }: TBuildNavLinkParams): TNavLinkConfig => {\n const fullTargetUrl = to ? buildUrl(owner, requester, to) : \"\"\n const defaultOpened = !!subNav?.find((sn) => sn.to === currentPath)\n\n return {\n isPathMatch: currentPath.endsWith(fullTargetUrl),\n active: to ? isActive(currentPath, fullTargetUrl) : false,\n icon: icon,\n isExternal: owner !== requester,\n label: label,\n to: fullTargetUrl,\n defaultOpened: defaultOpened,\n subNav: subNav\n ? subNav.map((sn) => ({\n isPathMatch: currentPath.endsWith(sn.to || \"\"),\n label: sn.label,\n to: sn.to ? buildUrl(sn.owner, requester, sn.to) : \"\",\n active: sn.to ? isActive(currentPath, sn.to) : false,\n isExternal: sn.owner !== requester,\n }))\n : undefined,\n }\n }\n\nexport const useBuildUseNavigationMenuPoints = ({\n requestingDomain,\n menuPointsCategories,\n currentLocation,\n additional,\n realmAccessRoles,\n}: {\n requestingDomain: Domain\n currentLocation: string\n menuPointsCategories: ESideNavEnum[]\n additional?: TBuildNavLinkParams[]\n realmAccessRoles?: Array<string>\n}): TNavLinkConfig[][] => {\n const factory = NavLinkConfigFactory(currentLocation, requestingDomain)\n const menuPoints = useMenuItemStringsToNavigationMenuItemPoints(\n menuPointsCategories,\n factory,\n realmAccessRoles\n )\n if (additional) menuPoints.push(additional.map(factory))\n return menuPoints\n}\n\nexport const getMenuItemFromString = (\n menuItem: ESideNavEnum,\n factory: TFactory,\n t: TFunction,\n theme: MantineTheme,\n realmAccessRoles?: Array<string>\n) => {\n switch (menuItem) {\n case ESideNavEnum.VI:\n return getVIDomainMenuItemsVulnerabilityIntel(factory, t, theme)\n case ESideNavEnum.ASSET:\n return getAssetDomainMenuItems(factory, t, theme)\n case ESideNavEnum.SCAN:\n return getScanDomainMenuItems(factory, t, theme)\n case ESideNavEnum.USER:\n return getUserDomainMenuItems(factory, t, theme, realmAccessRoles)\n case ESideNavEnum.SYSTEM:\n return getSystemManagementDomainMenuItems(factory, t, theme)\n case ESideNavEnum.NOTIFICATIONS:\n return getNotificationsDomainMenuItems(factory, t, theme)\n default:\n return []\n }\n}\n\nexport const useMenuItemStringsToNavigationMenuItemPoints = (\n menuItems: ESideNavEnum[],\n factory: TFactory,\n realmAccessRoles?: Array<string>\n) => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n return menuItems.flatMap((item) =>\n getMenuItemFromString(item, factory, t, theme, realmAccessRoles)\n )\n}\n\nexport const parseMenuEnvString = (envString: string, separator = \",\"): ESideNavEnum[] =>\n envString.split(separator) as ESideNavEnum[]\n"],"names":["NavLinkConfigFactory","getMenuItemFromString","parseMenuEnvString","useBuildUseNavigationMenuPoints","useMenuItemStringsToNavigationMenuItemPoints","currentPath","requester","icon","label","to","owner","subNav","fullTargetUrl","buildUrl","defaultOpened","find","sn","isPathMatch","endsWith","active","isActive","isExternal","map","undefined","requestingDomain","menuPointsCategories","currentLocation","additional","realmAccessRoles","factory","menuPoints","push","menuItem","t","theme","ESideNavEnum","VI","getVIDomainMenuItemsVulnerabilityIntel","ASSET","getAssetDomainMenuItems","SCAN","getScanDomainMenuItems","USER","getUserDomainMenuItems","SYSTEM","getSystemManagementDomainMenuItems","NOTIFICATIONS","getNotificationsDomainMenuItems","menuItems","useTranslation","useMantineTheme","flatMap","item","envString","separator","split"],"mappings":"mPAqBaA,8BAAAA,0BAiDAC,+BAAAA,2BAqCAC,4BAAAA,wBA5DAC,yCAAAA,qCAgDAC,sDAAAA,8EA3FwB,6CACZ,sDACA,0DAEM,0CASxB,mCAEuC,iBAEvC,MAAMJ,qBACX,CAACK,YAAqBC,YACtB,CAAC,CAAEC,IAAI,CAAEC,KAAK,CAAEC,EAAE,CAAEC,KAAK,CAAEC,MAAM,CAAuB,IACtD,MAAMC,cAAgBH,GAAKI,GAAAA,kBAAQ,EAACH,MAAOJ,UAAWG,IAAM,GAC5D,MAAMK,cAAgB,CAAC,EAACH,eAAAA,uBAAAA,OAAQI,IAAI,CAAC,AAACC,IAAOA,GAAGP,EAAE,GAAKJ,cAEvD,MAAO,CACLY,YAAaZ,YAAYa,QAAQ,CAACN,eAClCO,OAAQV,GAAKW,GAAAA,kBAAQ,EAACf,YAAaO,eAAiB,MACpDL,KAAMA,KACNc,WAAYX,QAAUJ,UACtBE,MAAOA,MACPC,GAAIG,cACJE,cAAeA,cACfH,OAAQA,OACJA,OAAOW,GAAG,CAAC,AAACN,IAAQ,CAAA,CAClBC,YAAaZ,YAAYa,QAAQ,CAACF,GAAGP,EAAE,EAAI,IAC3CD,MAAOQ,GAAGR,KAAK,CACfC,GAAIO,GAAGP,EAAE,CAAGI,GAAAA,kBAAQ,EAACG,GAAGN,KAAK,CAAEJ,UAAWU,GAAGP,EAAE,EAAI,GACnDU,OAAQH,GAAGP,EAAE,CAAGW,GAAAA,kBAAQ,EAACf,YAAaW,GAAGP,EAAE,EAAI,MAC/CY,WAAYL,GAAGN,KAAK,GAAKJ,SAC3B,CAAA,GACAiB,SACN,CACF,EAEK,MAAMpB,gCAAkC,CAAC,CAC9CqB,gBAAgB,CAChBC,oBAAoB,CACpBC,eAAe,CACfC,UAAU,CACVC,gBAAgB,CAOjB,IACC,MAAMC,QAAU7B,qBAAqB0B,gBAAiBF,kBACtD,MAAMM,WAAa1B,6CACjBqB,qBACAI,QACAD,kBAEF,GAAID,WAAYG,WAAWC,IAAI,CAACJ,WAAWL,GAAG,CAACO,UAC/C,OAAOC,UACT,EAEO,MAAM7B,sBAAwB,CACnC+B,SACAH,QACAI,EACAC,MACAN,oBAEA,OAAQI,UACN,KAAKG,4BAAY,CAACC,EAAE,CAClB,MAAOC,GAAAA,iDAAsC,EAACR,QAASI,EAAGC,MAC5D,MAAKC,4BAAY,CAACG,KAAK,CACrB,MAAOC,GAAAA,kCAAuB,EAACV,QAASI,EAAGC,
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Layout/AppNavigation/Menu/menuFactory.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Domain, ESideNavEnum } from \"../NavigationLink\"\nimport { buildUrl } from \"../NavigationLink/buildUrl\"\nimport { isActive } from \"../NavigationLink/isActive\"\nimport { TBuildNavLinkParams, TNavLinkConfig } from \"./types\"\nimport { useTranslation } from \"react-i18next\"\nimport {\n getAssetDomainMenuItems,\n getNotificationsDomainMenuItems,\n getScanDomainMenuItems,\n getSystemManagementDomainMenuItems,\n getUserDomainMenuItems,\n getVIDomainMenuItemsVulnerabilityIntel,\n TFactory,\n} from \"./menuItems\"\nimport { TFunction } from \"i18next\"\nimport { MantineTheme, useMantineTheme } from \"@mantine/core\"\n\nexport const NavLinkConfigFactory =\n (currentPath: string, requester: Domain) =>\n ({ icon, label, to, owner, subNav }: TBuildNavLinkParams): TNavLinkConfig => {\n const fullTargetUrl = to ? buildUrl(owner, requester, to) : \"\"\n const defaultOpened = !!subNav?.find((sn) => sn.to === currentPath)\n\n return {\n isPathMatch: currentPath.endsWith(fullTargetUrl),\n active: to ? isActive(currentPath, fullTargetUrl) : false,\n icon: icon,\n isExternal: owner !== requester,\n label: label,\n to: fullTargetUrl,\n defaultOpened: defaultOpened,\n subNav: subNav\n ? subNav.map((sn) => ({\n isPathMatch: currentPath.endsWith(sn.to || \"\"),\n label: sn.label,\n to: sn.to ? buildUrl(sn.owner, requester, sn.to) : \"\",\n active: sn.to ? isActive(currentPath, sn.to) : false,\n isExternal: sn.owner !== requester,\n }))\n : undefined,\n }\n }\n\nexport const useBuildUseNavigationMenuPoints = ({\n requestingDomain,\n menuPointsCategories,\n currentLocation,\n additional,\n realmAccessRoles,\n}: {\n requestingDomain: Domain\n currentLocation: string\n menuPointsCategories: ESideNavEnum[]\n additional?: TBuildNavLinkParams[]\n realmAccessRoles?: Array<string>\n}): TNavLinkConfig[][] => {\n const factory = NavLinkConfigFactory(currentLocation, requestingDomain)\n const menuPoints = useMenuItemStringsToNavigationMenuItemPoints(\n menuPointsCategories,\n factory,\n realmAccessRoles\n )\n if (additional) menuPoints.push(additional.map(factory))\n return menuPoints\n}\n\nexport const getMenuItemFromString = (\n menuItem: ESideNavEnum,\n factory: TFactory,\n t: TFunction,\n theme: MantineTheme,\n realmAccessRoles?: Array<string>\n) => {\n switch (menuItem) {\n case ESideNavEnum.VI:\n return getVIDomainMenuItemsVulnerabilityIntel(factory, t, theme)\n case ESideNavEnum.ASSET:\n return getAssetDomainMenuItems(factory, t, theme, realmAccessRoles)\n case ESideNavEnum.SCAN:\n return getScanDomainMenuItems(factory, t, theme)\n case ESideNavEnum.USER:\n return getUserDomainMenuItems(factory, t, theme, realmAccessRoles)\n case ESideNavEnum.SYSTEM:\n return getSystemManagementDomainMenuItems(factory, t, theme)\n case ESideNavEnum.NOTIFICATIONS:\n return getNotificationsDomainMenuItems(factory, t, theme)\n default:\n return []\n }\n}\n\nexport const useMenuItemStringsToNavigationMenuItemPoints = (\n menuItems: ESideNavEnum[],\n factory: TFactory,\n realmAccessRoles?: Array<string>\n) => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n return menuItems.flatMap((item) =>\n getMenuItemFromString(item, factory, t, theme, realmAccessRoles)\n )\n}\n\nexport const parseMenuEnvString = (envString: string, separator = \",\"): ESideNavEnum[] =>\n envString.split(separator) as ESideNavEnum[]\n"],"names":["NavLinkConfigFactory","getMenuItemFromString","parseMenuEnvString","useBuildUseNavigationMenuPoints","useMenuItemStringsToNavigationMenuItemPoints","currentPath","requester","icon","label","to","owner","subNav","fullTargetUrl","buildUrl","defaultOpened","find","sn","isPathMatch","endsWith","active","isActive","isExternal","map","undefined","requestingDomain","menuPointsCategories","currentLocation","additional","realmAccessRoles","factory","menuPoints","push","menuItem","t","theme","ESideNavEnum","VI","getVIDomainMenuItemsVulnerabilityIntel","ASSET","getAssetDomainMenuItems","SCAN","getScanDomainMenuItems","USER","getUserDomainMenuItems","SYSTEM","getSystemManagementDomainMenuItems","NOTIFICATIONS","getNotificationsDomainMenuItems","menuItems","useTranslation","useMantineTheme","flatMap","item","envString","separator","split"],"mappings":"mPAqBaA,8BAAAA,0BAiDAC,+BAAAA,2BAqCAC,4BAAAA,wBA5DAC,yCAAAA,qCAgDAC,sDAAAA,8EA3FwB,6CACZ,sDACA,0DAEM,0CASxB,mCAEuC,iBAEvC,MAAMJ,qBACX,CAACK,YAAqBC,YACtB,CAAC,CAAEC,IAAI,CAAEC,KAAK,CAAEC,EAAE,CAAEC,KAAK,CAAEC,MAAM,CAAuB,IACtD,MAAMC,cAAgBH,GAAKI,GAAAA,kBAAQ,EAACH,MAAOJ,UAAWG,IAAM,GAC5D,MAAMK,cAAgB,CAAC,EAACH,eAAAA,uBAAAA,OAAQI,IAAI,CAAC,AAACC,IAAOA,GAAGP,EAAE,GAAKJ,cAEvD,MAAO,CACLY,YAAaZ,YAAYa,QAAQ,CAACN,eAClCO,OAAQV,GAAKW,GAAAA,kBAAQ,EAACf,YAAaO,eAAiB,MACpDL,KAAMA,KACNc,WAAYX,QAAUJ,UACtBE,MAAOA,MACPC,GAAIG,cACJE,cAAeA,cACfH,OAAQA,OACJA,OAAOW,GAAG,CAAC,AAACN,IAAQ,CAAA,CAClBC,YAAaZ,YAAYa,QAAQ,CAACF,GAAGP,EAAE,EAAI,IAC3CD,MAAOQ,GAAGR,KAAK,CACfC,GAAIO,GAAGP,EAAE,CAAGI,GAAAA,kBAAQ,EAACG,GAAGN,KAAK,CAAEJ,UAAWU,GAAGP,EAAE,EAAI,GACnDU,OAAQH,GAAGP,EAAE,CAAGW,GAAAA,kBAAQ,EAACf,YAAaW,GAAGP,EAAE,EAAI,MAC/CY,WAAYL,GAAGN,KAAK,GAAKJ,SAC3B,CAAA,GACAiB,SACN,CACF,EAEK,MAAMpB,gCAAkC,CAAC,CAC9CqB,gBAAgB,CAChBC,oBAAoB,CACpBC,eAAe,CACfC,UAAU,CACVC,gBAAgB,CAOjB,IACC,MAAMC,QAAU7B,qBAAqB0B,gBAAiBF,kBACtD,MAAMM,WAAa1B,6CACjBqB,qBACAI,QACAD,kBAEF,GAAID,WAAYG,WAAWC,IAAI,CAACJ,WAAWL,GAAG,CAACO,UAC/C,OAAOC,UACT,EAEO,MAAM7B,sBAAwB,CACnC+B,SACAH,QACAI,EACAC,MACAN,oBAEA,OAAQI,UACN,KAAKG,4BAAY,CAACC,EAAE,CAClB,MAAOC,GAAAA,iDAAsC,EAACR,QAASI,EAAGC,MAC5D,MAAKC,4BAAY,CAACG,KAAK,CACrB,MAAOC,GAAAA,kCAAuB,EAACV,QAASI,EAAGC,MAAON,iBACpD,MAAKO,4BAAY,CAACK,IAAI,CACpB,MAAOC,GAAAA,iCAAsB,EAACZ,QAASI,EAAGC,MAC5C,MAAKC,4BAAY,CAACO,IAAI,CACpB,MAAOC,GAAAA,iCAAsB,EAACd,QAASI,EAAGC,MAAON,iBACnD,MAAKO,4BAAY,CAACS,MAAM,CACtB,MAAOC,GAAAA,6CAAkC,EAAChB,QAASI,EAAGC,MACxD,MAAKC,4BAAY,CAACW,aAAa,CAC7B,MAAOC,GAAAA,0CAA+B,EAAClB,QAASI,EAAGC,MACrD,SACE,MAAO,EAAE,AACb,CACF,EAEO,MAAM9B,6CAA+C,CAC1D4C,UACAnB,QACAD,oBAEA,KAAM,CAAEK,CAAC,CAAE,CAAGgB,GAAAA,4BAAc,IAC5B,MAAMf,MAAQgB,GAAAA,qBAAe,IAC7B,OAAOF,UAAUG,OAAO,CAAC,AAACC,MACxBnD,sBAAsBmD,KAAMvB,QAASI,EAAGC,MAAON,kBAEnD,EAEO,MAAM1B,mBAAqB,CAACmD,UAAmBC,UAAY,GAAG,GACnED,UAAUE,KAAK,CAACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get getAssetDomainMenuItems(){return getAssetDomainMenuItems},get getNotificationsDomainMenuItems(){return getNotificationsDomainMenuItems},get getScanDomainMenuItems(){return getScanDomainMenuItems},get getSystemManagementDomainMenuItems(){return getSystemManagementDomainMenuItems},get getUserDomainMenuItems(){return getUserDomainMenuItems},get getVIDomainMenuItemsVulnerabilityIntel(){return getVIDomainMenuItemsVulnerabilityIntel}});const _jsxruntime=require("react/jsx-runtime");const _lucidereact=require("lucide-react");const _NavigationLink=require("../NavigationLink");const getAssetDomainMenuItems=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.BarChart3,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),label:t("Analysis"),owner:_NavigationLink.Domain.Asset,subNav:[{label:t("Dashboard"),to:"/dashboard",owner:_NavigationLink.Domain.Asset},{label:t("Assets"),to:"/assets",owner:_NavigationLink.Domain.Asset},{label:t("Vulnerabilities"),to:"/vulnerabilities",owner:_NavigationLink.Domain.Asset}]})],[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.Server,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),label:t("Import"),owner:_NavigationLink.Domain.Asset,subNav:[{label:t("Appliances"),to:"/appliances",owner:_NavigationLink.Domain.Asset}]})]]};const getScanDomainMenuItems=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.ShieldCheck,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.Scan,label:t("Scan control"),subNav:[{label:t("Tasks"),to:"/tasks",owner:_NavigationLink.Domain.Scan},{label:t("Targets"),to:"/targets",owner:_NavigationLink.Domain.Scan},{label:t("Credentials"),to:"/credentials",owner:_NavigationLink.Domain.Scan},{label:t("Schedules"),to:"/schedules",owner:_NavigationLink.Domain.Scan},{label:t("Sensors"),to:"/sensors",owner:_NavigationLink.Domain.Scan}]})]]};const getVIDomainMenuItemsVulnerabilityIntel=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.View,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.VI,label:t("VIEW"),to:"/vulnerability-intelligence",subNav:[{label:t("CVE"),to:"/advisories-cve",owner:_NavigationLink.Domain.VI},{label:t("CSAF"),to:"/advisories-csaf",owner:_NavigationLink.Domain.VI},{label:t("CPE"),to:"/cpe",owner:_NavigationLink.Domain.VI},{label:t("Vulnerability tests"),to:"/vulnerability-tests",owner:_NavigationLink.Domain.VI},{label:t("SBOMs"),to:"/sboms",owner:_NavigationLink.Domain.VI},{label:t("GEA reports"),to:"/gea-reports",owner:_NavigationLink.Domain.VI},{label:t("CSAF sources"),to:"/csaf-sources",owner:_NavigationLink.Domain.VI},{label:t("Feed"),to:"/feed",owner:_NavigationLink.Domain.VI}]})]]};const getUserDomainMenuItems=(factory,t,theme,realmAccessRoles)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.Users,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.User,label:t("User management"),to:"",subNav:[...(realmAccessRoles===null||realmAccessRoles===void 0?void 0:realmAccessRoles.includes("admin"))?[{label:t("Users"),to:"/users",owner:_NavigationLink.Domain.User}]:[],{label:t("Personal settings"),to:"/personal-settings",owner:_NavigationLink.Domain.User}]})]]};const getNotificationsDomainMenuItems=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.Bell,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.Notifications,label:t("Notifications"),to:"/notifications"})]]};const getSystemManagementDomainMenuItems=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.ServerCog,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.SystemManagement,label:t("Systems"),subNav:[{label:t("Appliances"),to:"/appliances",owner:_NavigationLink.Domain.SystemManagement}]})]]};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get getAssetDomainMenuItems(){return getAssetDomainMenuItems},get getNotificationsDomainMenuItems(){return getNotificationsDomainMenuItems},get getScanDomainMenuItems(){return getScanDomainMenuItems},get getSystemManagementDomainMenuItems(){return getSystemManagementDomainMenuItems},get getUserDomainMenuItems(){return getUserDomainMenuItems},get getVIDomainMenuItemsVulnerabilityIntel(){return getVIDomainMenuItemsVulnerabilityIntel}});const _jsxruntime=require("react/jsx-runtime");const _lucidereact=require("lucide-react");const _NavigationLink=require("../NavigationLink");const getAssetDomainMenuItems=(factory,t,theme,realmAccessRoles)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.BarChart3,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),label:t("Analysis"),owner:_NavigationLink.Domain.Asset,subNav:[{label:t("Dashboard"),to:"/dashboard",owner:_NavigationLink.Domain.Asset},{label:t("Assets"),to:"/assets",owner:_NavigationLink.Domain.Asset},{label:t("Vulnerabilities"),to:"/vulnerabilities",owner:_NavigationLink.Domain.Asset}]})],[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.Server,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),label:t("Import"),owner:_NavigationLink.Domain.Asset,subNav:[{label:t("Appliances"),to:"/appliances",owner:_NavigationLink.Domain.Asset}]})],[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.Settings,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),label:t("Global settings"),owner:_NavigationLink.Domain.Asset,subNav:[...(realmAccessRoles===null||realmAccessRoles===void 0?void 0:realmAccessRoles.includes("admin"))?[{label:t("Asset management"),to:"/asset-management-settings",owner:_NavigationLink.Domain.Asset}]:[]]})]]};const getScanDomainMenuItems=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.ShieldCheck,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.Scan,label:t("Scan control"),subNav:[{label:t("Tasks"),to:"/tasks",owner:_NavigationLink.Domain.Scan},{label:t("Targets"),to:"/targets",owner:_NavigationLink.Domain.Scan},{label:t("Credentials"),to:"/credentials",owner:_NavigationLink.Domain.Scan},{label:t("Schedules"),to:"/schedules",owner:_NavigationLink.Domain.Scan},{label:t("Sensors"),to:"/sensors",owner:_NavigationLink.Domain.Scan}]})]]};const getVIDomainMenuItemsVulnerabilityIntel=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.View,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.VI,label:t("VIEW"),to:"/vulnerability-intelligence",subNav:[{label:t("CVE"),to:"/advisories-cve",owner:_NavigationLink.Domain.VI},{label:t("CSAF"),to:"/advisories-csaf",owner:_NavigationLink.Domain.VI},{label:t("CPE"),to:"/cpe",owner:_NavigationLink.Domain.VI},{label:t("Vulnerability tests"),to:"/vulnerability-tests",owner:_NavigationLink.Domain.VI},{label:t("SBOMs"),to:"/sboms",owner:_NavigationLink.Domain.VI},{label:t("GEA reports"),to:"/gea-reports",owner:_NavigationLink.Domain.VI},{label:t("CSAF sources"),to:"/csaf-sources",owner:_NavigationLink.Domain.VI},{label:t("Feed"),to:"/feed",owner:_NavigationLink.Domain.VI}]})]]};const getUserDomainMenuItems=(factory,t,theme,realmAccessRoles)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.Users,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.User,label:t("User management"),to:"",subNav:[...(realmAccessRoles===null||realmAccessRoles===void 0?void 0:realmAccessRoles.includes("admin"))?[{label:t("Users"),to:"/users",owner:_NavigationLink.Domain.User}]:[],{label:t("Personal settings"),to:"/personal-settings",owner:_NavigationLink.Domain.User}]})]]};const getNotificationsDomainMenuItems=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.Bell,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.Notifications,label:t("Notifications"),to:"/notifications"})]]};const getSystemManagementDomainMenuItems=(factory,t,theme)=>{return[[factory({icon:()=>(0,_jsxruntime.jsx)(_lucidereact.ServerCog,{size:theme.other.iconSizes.MEDIUM_LARGE,strokeWidth:1.5}),owner:_NavigationLink.Domain.SystemManagement,label:t("Systems"),subNav:[{label:t("Appliances"),to:"/appliances",owner:_NavigationLink.Domain.SystemManagement}]})]]};
|
|
2
2
|
//# sourceMappingURL=menuItems.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/Layout/AppNavigation/Menu/menuItems.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { TFunction } from \"i18next\"\nimport { BarChart3, Bell, Server, ServerCog, ShieldCheck, Users, View } from \"lucide-react\"\nimport { Domain } from \"../NavigationLink\"\nimport { TBuildNavLinkParams, TNavLinkConfig } from \"./types\"\nimport { MantineTheme } from \"@mantine/core\"\n\nexport type TFactory = ({ icon, label, to, owner, subNav }: TBuildNavLinkParams) => TNavLinkConfig\n\nexport type TMenuItemContainer = (\n factory: TFactory,\n t: TFunction,\n theme: MantineTheme,\n realmAccessRoles?: Array<string>\n) => TNavLinkConfig[][]\n\nexport const getAssetDomainMenuItems: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <BarChart3 size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n label: t(\"Analysis\"),\n owner: Domain.Asset,\n subNav: [\n {\n label: t(\"Dashboard\"),\n to: \"/dashboard\",\n owner: Domain.Asset,\n },\n {\n label: t(\"Assets\"),\n to: \"/assets\",\n owner: Domain.Asset,\n },\n {\n label: t(\"Vulnerabilities\"),\n to: \"/vulnerabilities\",\n owner: Domain.Asset,\n },\n ],\n }),\n ],\n [\n factory({\n icon: () => <Server size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n label: t(\"Import\"),\n owner: Domain.Asset,\n subNav: [\n {\n label: t(\"Appliances\"),\n to: \"/appliances\",\n owner: Domain.Asset,\n },\n ],\n }),\n ],\n ]\n}\n\nexport const getScanDomainMenuItems: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <ShieldCheck size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.Scan,\n label: t(\"Scan control\"),\n subNav: [\n {\n label: t(\"Tasks\"),\n to: \"/tasks\",\n owner: Domain.Scan,\n },\n {\n label: t(\"Targets\"),\n to: \"/targets\",\n owner: Domain.Scan,\n },\n {\n label: t(\"Credentials\"),\n to: \"/credentials\",\n owner: Domain.Scan,\n },\n {\n label: t(\"Schedules\"),\n to: \"/schedules\",\n owner: Domain.Scan,\n },\n {\n label: t(\"Sensors\"),\n to: \"/sensors\",\n owner: Domain.Scan,\n },\n ],\n }),\n ],\n ]\n}\n\nexport const getVIDomainMenuItemsVulnerabilityIntel: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <View size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.VI,\n label: t(\"VIEW\"),\n to: \"/vulnerability-intelligence\",\n subNav: [\n {\n label: t(\"CVE\"),\n to: \"/advisories-cve\",\n owner: Domain.VI,\n },\n {\n label: t(\"CSAF\"),\n to: \"/advisories-csaf\",\n owner: Domain.VI,\n },\n {\n label: t(\"CPE\"),\n to: \"/cpe\",\n owner: Domain.VI,\n },\n {\n label: t(\"Vulnerability tests\"),\n to: \"/vulnerability-tests\",\n owner: Domain.VI,\n },\n {\n label: t(\"SBOMs\"),\n to: \"/sboms\",\n owner: Domain.VI,\n },\n {\n label: t(\"GEA reports\"),\n to: \"/gea-reports\",\n owner: Domain.VI,\n },\n {\n label: t(\"CSAF sources\"),\n to: \"/csaf-sources\",\n owner: Domain.VI,\n },\n {\n label: t(\"Feed\"),\n to: \"/feed\",\n owner: Domain.VI,\n },\n ],\n }),\n ],\n ]\n}\n\nexport const getUserDomainMenuItems: TMenuItemContainer = (factory, t, theme, realmAccessRoles) => {\n return [\n [\n factory({\n icon: () => <Users size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.User,\n label: t(\"User management\"),\n to: \"\",\n subNav: [\n ...(realmAccessRoles?.includes(\"admin\")\n ? [\n {\n label: t(\"Users\"),\n to: \"/users\",\n owner: Domain.User,\n },\n ]\n : []),\n {\n label: t(\"Personal settings\"),\n to: \"/personal-settings\",\n owner: Domain.User,\n },\n ],\n }),\n ],\n ]\n}\n\nexport const getNotificationsDomainMenuItems: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <Bell size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.Notifications,\n label: t(\"Notifications\"),\n to: \"/notifications\",\n }),\n ],\n ]\n}\n\nexport const getSystemManagementDomainMenuItems: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <ServerCog size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.SystemManagement,\n label: t(\"Systems\"),\n subNav: [\n {\n label: t(\"Appliances\"),\n to: \"/appliances\",\n owner: Domain.SystemManagement,\n },\n ],\n }),\n ],\n ]\n}\n"],"names":["getAssetDomainMenuItems","getNotificationsDomainMenuItems","getScanDomainMenuItems","getSystemManagementDomainMenuItems","getUserDomainMenuItems","getVIDomainMenuItemsVulnerabilityIntel","factory","t","theme","icon","BarChart3","size","other","iconSizes","MEDIUM_LARGE","strokeWidth","label","owner","Domain","Asset","subNav","to","Server","ShieldCheck","Scan","View","VI","realmAccessRoles","Users","User","includes","Bell","Notifications","ServerCog","SystemManagement"],"mappings":"mPAmBaA,iCAAAA,6BAsKAC,yCAAAA,qCA3HAC,gCAAAA,4BAwIAC,4CAAAA,wCA1CAC,gCAAAA,4BAvDAC,gDAAAA,oHAhGgE,8CACtD,qBAahB,MAAML,wBAA8C,CAACM,QAASC,EAAGC,SACtE,MAAO,CACL,CACEF,QAAQ,CACNG,KAAM,IAAM,oBAACC,sBAAS,EAACC,KAAMH,MAAMI,KAAK,CAACC,SAAS,CAACC,YAAY,CAAEC,YAAa,MAC9EC,MAAOT,EAAE,YACTU,MAAOC,sBAAM,CAACC,KAAK,CACnBC,OAAQ,CACN,CACEJ,MAAOT,EAAE,aACTc,GAAI,aACJJ,MAAOC,sBAAM,CAACC,KAAK,AACrB,EACA,CACEH,MAAOT,EAAE,UACTc,GAAI,UACJJ,MAAOC,sBAAM,CAACC,KAAK,AACrB,EACA,CACEH,MAAOT,EAAE,mBACTc,GAAI,mBACJJ,MAAOC,sBAAM,CAACC,KAAK,AACrB,EACD,AACH,GACD,CACD,CACEb,QAAQ,CACNG,KAAM,IAAM,oBAACa,mBAAM,EAACX,KAAMH,MAAMI,KAAK,CAACC,SAAS,CAACC,YAAY,CAAEC,YAAa,MAC3EC,MAAOT,EAAE,UACTU,MAAOC,sBAAM,CAACC,KAAK,CACnBC,OAAQ,CACN,CACEJ,MAAOT,EAAE,cACTc,GAAI,cACJJ,MAAOC,sBAAM,CAACC,KAAK,AACrB,EACD,AACH,GACD,CACF,AACH,EAEO,MAAMjB,uBAA6C,CAACI,QAASC,EAAGC,SACrE,MAAO,CACL,CACEF,QAAQ,CACNG,KAAM,IAAM,oBAACc,wBAAW,EAACZ,KAAMH,MAAMI,KAAK,CAACC,SAAS,CAACC,YAAY,CAAEC,YAAa,MAChFE,MAAOC,sBAAM,CAACM,IAAI,CAClBR,MAAOT,EAAE,gBACTa,OAAQ,CACN,CACEJ,MAAOT,EAAE,SACTc,GAAI,SACJJ,MAAOC,sBAAM,CAACM,IAAI,AACpB,EACA,CACER,MAAOT,EAAE,WACTc,GAAI,WACJJ,MAAOC,sBAAM,CAACM,IAAI,AACpB,EACA,CACER,MAAOT,EAAE,eACTc,GAAI,eACJJ,MAAOC,sBAAM,CAACM,IAAI,AACpB,EACA,CACER,MAAOT,EAAE,aACTc,GAAI,aACJJ,MAAOC,sBAAM,CAACM,IAAI,AACpB,EACA,CACER,MAAOT,EAAE,WACTc,GAAI,WACJJ,MAAOC,sBAAM,CAACM,IAAI,AACpB,EACD,AACH,GACD,CACF,AACH,EAEO,MAAMnB,uCAA6D,CAACC,QAASC,EAAGC,SACrF,MAAO,CACL,CACEF,QAAQ,CACNG,KAAM,IAAM,oBAACgB,iBAAI,EAACd,KAAMH,MAAMI,KAAK,CAACC,SAAS,CAACC,YAAY,CAAEC,YAAa,MACzEE,MAAOC,sBAAM,CAACQ,EAAE,CAChBV,MAAOT,EAAE,QACTc,GAAI,8BACJD,OAAQ,CACN,CACEJ,MAAOT,EAAE,OACTc,GAAI,kBACJJ,MAAOC,sBAAM,CAACQ,EAAE,AAClB,EACA,CACEV,MAAOT,EAAE,QACTc,GAAI,mBACJJ,MAAOC,sBAAM,CAACQ,EAAE,AAClB,EACA,CACEV,MAAOT,EAAE,OACTc,GAAI,OACJJ,MAAOC,sBAAM,CAACQ,EAAE,AAClB,EACA,CACEV,MAAOT,EAAE,uBACTc,GAAI,uBACJJ,MAAOC,sBAAM,CAACQ,EAAE,AAClB,EACA,CACEV,MAAOT,EAAE,SACTc,GAAI,SACJJ,MAAOC,sBAAM,CAACQ,EAAE,AAClB,EACA,CACEV,MAAOT,EAAE,eACTc,GAAI,eACJJ,MAAOC,sBAAM,CAACQ,EAAE,AAClB,EACA,CACEV,MAAOT,EAAE,gBACTc,GAAI,gBACJJ,MAAOC,sBAAM,CAACQ,EAAE,AAClB,EACA,CACEV,MAAOT,EAAE,QACTc,GAAI,QACJJ,MAAOC,sBAAM,CAACQ,EAAE,AAClB,EACD,AACH,GACD,CACF,AACH,EAEO,MAAMtB,uBAA6C,CAACE,QAASC,EAAGC,MAAOmB,oBAC5E,MAAO,CACL,CACErB,QAAQ,CACNG,KAAM,IAAM,oBAACmB,kBAAK,EAACjB,KAAMH,MAAMI,KAAK,CAACC,SAAS,CAACC,YAAY,CAAEC,YAAa,MAC1EE,MAAOC,sBAAM,CAACW,IAAI,CAClBb,MAAOT,EAAE,mBACTc,GAAI,GACJD,OAAQ,IACFO,CAAAA,yBAAAA,iCAAAA,iBAAkBG,QAAQ,CAAC,UAC3B,CACE,CACEd,MAAOT,EAAE,SACTc,GAAI,SACJJ,MAAOC,sBAAM,CAACW,IAAI,AACpB,EACD,CACD,EAAE,CACN,CACEb,MAAOT,EAAE,qBACTc,GAAI,qBACJJ,MAAOC,sBAAM,CAACW,IAAI,AACpB,EACD,AACH,GACD,CACF,AACH,EAEO,MAAM5B,gCAAsD,CAACK,QAASC,EAAGC,SAC9E,MAAO,CACL,CACEF,QAAQ,CACNG,KAAM,IAAM,oBAACsB,iBAAI,EAACpB,KAAMH,MAAMI,KAAK,CAACC,SAAS,CAACC,YAAY,CAAEC,YAAa,MACzEE,MAAOC,sBAAM,CAACc,aAAa,CAC3BhB,MAAOT,EAAE,iBACTc,GAAI,gBACN,GACD,CACF,AACH,EAEO,MAAMlB,mCAAyD,CAACG,QAASC,EAAGC,SACjF,MAAO,CACL,CACEF,QAAQ,CACNG,KAAM,IAAM,oBAACwB,sBAAS,EAACtB,KAAMH,MAAMI,KAAK,CAACC,SAAS,CAACC,YAAY,CAAEC,YAAa,MAC9EE,MAAOC,sBAAM,CAACgB,gBAAgB,CAC9BlB,MAAOT,EAAE,WACTa,OAAQ,CACN,CACEJ,MAAOT,EAAE,cACTc,GAAI,cACJJ,MAAOC,sBAAM,CAACgB,gBAAgB,AAChC,EACD,AACH,GACD,CACF,AACH"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Layout/AppNavigation/Menu/menuItems.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { TFunction } from \"i18next\"\nimport {\n BarChart3,\n Bell,\n Server,\n ServerCog,\n Settings,\n ShieldCheck,\n Users,\n View,\n} from \"lucide-react\"\nimport { Domain } from \"../NavigationLink\"\nimport { TBuildNavLinkParams, TNavLinkConfig } from \"./types\"\nimport { MantineTheme } from \"@mantine/core\"\n\nexport type TFactory = ({ icon, label, to, owner, subNav }: TBuildNavLinkParams) => TNavLinkConfig\n\nexport type TMenuItemContainer = (\n factory: TFactory,\n t: TFunction,\n theme: MantineTheme,\n realmAccessRoles?: Array<string>\n) => TNavLinkConfig[][]\n\nexport const getAssetDomainMenuItems: TMenuItemContainer = (\n factory,\n t,\n theme,\n realmAccessRoles\n) => {\n return [\n [\n factory({\n icon: () => <BarChart3 size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n label: t(\"Analysis\"),\n owner: Domain.Asset,\n subNav: [\n {\n label: t(\"Dashboard\"),\n to: \"/dashboard\",\n owner: Domain.Asset,\n },\n {\n label: t(\"Assets\"),\n to: \"/assets\",\n owner: Domain.Asset,\n },\n {\n label: t(\"Vulnerabilities\"),\n to: \"/vulnerabilities\",\n owner: Domain.Asset,\n },\n ],\n }),\n ],\n [\n factory({\n icon: () => <Server size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n label: t(\"Import\"),\n owner: Domain.Asset,\n subNav: [\n {\n label: t(\"Appliances\"),\n to: \"/appliances\",\n owner: Domain.Asset,\n },\n ],\n }),\n ],\n [\n factory({\n icon: () => <Settings size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n label: t(\"Global settings\"),\n owner: Domain.Asset,\n subNav: [\n ...(realmAccessRoles?.includes(\"admin\")\n ? [\n {\n label: t(\"Asset management\"),\n to: \"/asset-management-settings\",\n owner: Domain.Asset,\n },\n ]\n : []),\n ],\n }),\n ],\n ]\n}\n\nexport const getScanDomainMenuItems: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <ShieldCheck size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.Scan,\n label: t(\"Scan control\"),\n subNav: [\n {\n label: t(\"Tasks\"),\n to: \"/tasks\",\n owner: Domain.Scan,\n },\n {\n label: t(\"Targets\"),\n to: \"/targets\",\n owner: Domain.Scan,\n },\n {\n label: t(\"Credentials\"),\n to: \"/credentials\",\n owner: Domain.Scan,\n },\n {\n label: t(\"Schedules\"),\n to: \"/schedules\",\n owner: Domain.Scan,\n },\n {\n label: t(\"Sensors\"),\n to: \"/sensors\",\n owner: Domain.Scan,\n },\n ],\n }),\n ],\n ]\n}\n\nexport const getVIDomainMenuItemsVulnerabilityIntel: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <View size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.VI,\n label: t(\"VIEW\"),\n to: \"/vulnerability-intelligence\",\n subNav: [\n {\n label: t(\"CVE\"),\n to: \"/advisories-cve\",\n owner: Domain.VI,\n },\n {\n label: t(\"CSAF\"),\n to: \"/advisories-csaf\",\n owner: Domain.VI,\n },\n {\n label: t(\"CPE\"),\n to: \"/cpe\",\n owner: Domain.VI,\n },\n {\n label: t(\"Vulnerability tests\"),\n to: \"/vulnerability-tests\",\n owner: Domain.VI,\n },\n {\n label: t(\"SBOMs\"),\n to: \"/sboms\",\n owner: Domain.VI,\n },\n {\n label: t(\"GEA reports\"),\n to: \"/gea-reports\",\n owner: Domain.VI,\n },\n {\n label: t(\"CSAF sources\"),\n to: \"/csaf-sources\",\n owner: Domain.VI,\n },\n {\n label: t(\"Feed\"),\n to: \"/feed\",\n owner: Domain.VI,\n },\n ],\n }),\n ],\n ]\n}\n\nexport const getUserDomainMenuItems: TMenuItemContainer = (factory, t, theme, realmAccessRoles) => {\n return [\n [\n factory({\n icon: () => <Users size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.User,\n label: t(\"User management\"),\n to: \"\",\n subNav: [\n ...(realmAccessRoles?.includes(\"admin\")\n ? [\n {\n label: t(\"Users\"),\n to: \"/users\",\n owner: Domain.User,\n },\n ]\n : []),\n {\n label: t(\"Personal settings\"),\n to: \"/personal-settings\",\n owner: Domain.User,\n },\n ],\n }),\n ],\n ]\n}\n\nexport const getNotificationsDomainMenuItems: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <Bell size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.Notifications,\n label: t(\"Notifications\"),\n to: \"/notifications\",\n }),\n ],\n ]\n}\n\nexport const getSystemManagementDomainMenuItems: TMenuItemContainer = (factory, t, theme) => {\n return [\n [\n factory({\n icon: () => <ServerCog size={theme.other.iconSizes.MEDIUM_LARGE} strokeWidth={1.5} />,\n owner: Domain.SystemManagement,\n label: t(\"Systems\"),\n subNav: [\n {\n label: t(\"Appliances\"),\n to: \"/appliances\",\n owner: Domain.SystemManagement,\n },\n ],\n }),\n ],\n ]\n}\n"],"names":["getAssetDomainMenuItems","getNotificationsDomainMenuItems","getScanDomainMenuItems","getSystemManagementDomainMenuItems","getUserDomainMenuItems","getVIDomainMenuItemsVulnerabilityIntel","factory","t","theme","realmAccessRoles","icon","BarChart3","size","other","iconSizes","MEDIUM_LARGE","strokeWidth","label","owner","Domain","Asset","subNav","to","Server","Settings","includes","ShieldCheck","Scan","View","VI","Users","User","Bell","Notifications","ServerCog","SystemManagement"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Table/persistence/TableSessionStorage.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport {\n ESessionStorageKeys,\n IKeyValueStorage,\n ITemporaryStorage,\n SessionStorage,\n} from \"../../../helper\"\nimport { InferType, number, object, ObjectSchema, string } from \"yup\"\nimport { ESortDirection, TPaging, TSorting } from \"../../../genericTypes\"\n\nconst tableStoredSchema: ObjectSchema<{\n sorting: TSorting\n paging: Omit<TPaging, \"totalDisplayableResults\">\n}> = object({\n sorting: object({\n direction: string().required().oneOf([ESortDirection.ASC, ESortDirection.DESC]),\n column: string().required(),\n }).required(),\n paging: object({\n index: number().required(),\n size: number().required(),\n }).required(),\n})\n\nexport type TTableStorageData = InferType<typeof tableStoredSchema>\n\nfunction validateTableData(data: TTableStorageData) {\n let isValid = true\n\n try {\n tableStoredSchema.validateSync(data, {\n strict: true,\n stripUnknown: true,\n })\n } catch (_) {\n isValid = false\n }\n\n return isValid\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ITableStorage extends ITemporaryStorage<TTableStorageData> {}\n\nexport class TableSessionStorage implements ITableStorage {\n private static _instance: null | TableSessionStorage = null\n public static sessionStorageKey = ESessionStorageKeys.TABLE\n private static storage: IKeyValueStorage = SessionStorage.Instance()\n constructor() {}\n\n public static Instance() {\n if (!this._instance) this._instance = new this()\n return this._instance\n }\n\n public get(id: string): TTableStorageData | null {\n const storedTables =\n TableSessionStorage.storage.get<Record<string, TTableStorageData>>(\n TableSessionStorage.sessionStorageKey\n ) || {}\n const tableData = storedTables[id]\n if (!tableData) return null\n const isValidData = validateTableData(tableData)\n if (!isValidData) {\n const storedTableClone = structuredClone(storedTables) // Deep clone object\n delete storedTableClone[id]\n TableSessionStorage.storage.set(TableSessionStorage.sessionStorageKey, storedTableClone)\n return null\n }\n\n return tableData\n }\n\n public set(id: string, updateData: (prev: TTableStorageData) => TTableStorageData) {\n const storedTables =\n TableSessionStorage.storage.get<Record<string, TTableStorageData>>(\n TableSessionStorage.sessionStorageKey\n ) || {}\n const updatedData = updateData(storedTables[id])\n const isValidData = validateTableData(updatedData)\n if (!isValidData) {\n return // Return null, maybe return empty table state instead\n }\n\n storedTables[id] = updatedData\n TableSessionStorage.storage.set(TableSessionStorage.sessionStorageKey, storedTables)\n\n return\n }\n}\n"],"names":["TableSessionStorage","tableStoredSchema","object","sorting","direction","string","required","oneOf","ESortDirection","ASC","DESC","column","paging","index","number","size","validateTableData","data","isValid","validateSync","strict","stripUnknown","_","Instance","_instance","get","id","storedTables","storage","sessionStorageKey","tableData","isValidData","storedTableClone","structuredClone","set","updateData","updatedData","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Table/persistence/TableSessionStorage.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport {\n ESessionStorageKeys,\n IKeyValueStorage,\n ITemporaryStorage,\n SessionStorage,\n} from \"../../../helper\"\nimport { InferType, number, object, ObjectSchema, string } from \"yup\"\nimport { ESortDirection, TPaging, TSorting } from \"../../../genericTypes\"\n\nconst tableStoredSchema: ObjectSchema<{\n sorting: TSorting\n paging: Omit<TPaging, \"totalDisplayableResults\">\n}> = object({\n sorting: object({\n direction: string().required().oneOf([ESortDirection.ASC, ESortDirection.DESC]),\n column: string().required(),\n }).required(),\n paging: object({\n index: number().required(),\n size: number().required(),\n }).required(),\n})\n\nexport type TTableStorageData = InferType<typeof tableStoredSchema>\n\nfunction validateTableData(data: TTableStorageData) {\n let isValid = true\n\n try {\n tableStoredSchema.validateSync(data, {\n strict: true,\n stripUnknown: true,\n })\n } catch (_) {\n isValid = false\n }\n\n return isValid\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ITableStorage extends ITemporaryStorage<TTableStorageData> {}\n\nexport class TableSessionStorage implements ITableStorage {\n private static _instance: null | TableSessionStorage = null\n public static sessionStorageKey = ESessionStorageKeys.TABLE\n private static storage: IKeyValueStorage = SessionStorage.Instance()\n constructor() {}\n\n public static Instance() {\n if (!this._instance) this._instance = new this()\n return this._instance\n }\n\n public get(id: string): TTableStorageData | null {\n const storedTables =\n TableSessionStorage.storage.get<Record<string, TTableStorageData>>(\n TableSessionStorage.sessionStorageKey\n ) || {}\n const tableData = storedTables[id]\n if (!tableData) return null\n const isValidData = validateTableData(tableData)\n if (!isValidData) {\n const storedTableClone = structuredClone(storedTables) // Deep clone object\n delete storedTableClone[id]\n TableSessionStorage.storage.set(TableSessionStorage.sessionStorageKey, storedTableClone)\n return null\n }\n\n return tableData\n }\n\n public set(id: string, updateData: (prev: TTableStorageData) => TTableStorageData) {\n const storedTables =\n TableSessionStorage.storage.get<Record<string, TTableStorageData>>(\n TableSessionStorage.sessionStorageKey\n ) || {}\n const updatedData = updateData(storedTables[id])\n const isValidData = validateTableData(updatedData)\n if (!isValidData) {\n return // Return null, maybe return empty table state instead\n }\n\n storedTables[id] = updatedData\n TableSessionStorage.storage.set(TableSessionStorage.sessionStorageKey, storedTables)\n\n return\n }\n}\n"],"names":["TableSessionStorage","tableStoredSchema","object","sorting","direction","string","required","oneOf","ESortDirection","ASC","DESC","column","paging","index","number","size","validateTableData","data","isValid","validateSync","strict","stripUnknown","_","Instance","_instance","get","id","storedTables","storage","sessionStorageKey","tableData","isValidData","storedTableClone","structuredClone","set","updateData","updatedData","ESessionStorageKeys","TABLE","SessionStorage"],"mappings":"oGA+CaA,6DAAAA,6CAtCN,sCACyD,mCACd,6MAElD,MAAMC,kBAGDC,GAAAA,WAAM,EAAC,CACVC,QAASD,GAAAA,WAAM,EAAC,CACdE,UAAWC,GAAAA,WAAM,IAAGC,QAAQ,GAAGC,KAAK,CAAC,CAACC,4BAAc,CAACC,GAAG,CAAED,4BAAc,CAACE,IAAI,CAAC,EAC9EC,OAAQN,GAAAA,WAAM,IAAGC,QAAQ,EAC3B,GAAGA,QAAQ,GACXM,OAAQV,GAAAA,WAAM,EAAC,CACbW,MAAOC,GAAAA,WAAM,IAAGR,QAAQ,GACxBS,KAAMD,GAAAA,WAAM,IAAGR,QAAQ,EACzB,GAAGA,QAAQ,EACb,GAIA,SAASU,kBAAkBC,IAAuB,EAChD,IAAIC,QAAU,KAEd,GAAI,CACFjB,kBAAkBkB,YAAY,CAACF,KAAM,CACnCG,OAAQ,KACRC,aAAc,IAChB,EACF,CAAE,MAAOC,EAAG,CACVJ,QAAU,KACZ,CAEA,OAAOA,OACT,CAKO,MAAMlB,oBAMX,OAAcuB,UAAW,CACvB,GAAI,CAAC,IAAI,CAACC,SAAS,CAAE,IAAI,CAACA,SAAS,CAAG,IAAI,IAAI,CAC9C,OAAO,IAAI,CAACA,SAAS,AACvB,CAEA,AAAOC,IAAIC,EAAU,CAA4B,CAC/C,MAAMC,aACJ3B,oBAAoB4B,OAAO,CAACH,GAAG,CAC7BzB,oBAAoB6B,iBAAiB,GAClC,CAAC,EACR,MAAMC,UAAYH,YAAY,CAACD,GAAG,CAClC,GAAI,CAACI,UAAW,OAAO,KACvB,MAAMC,YAAcf,kBAAkBc,WACtC,GAAI,CAACC,YAAa,CAChB,MAAMC,iBAAmBC,gBAAgBN,aACzC,QAAOK,gBAAgB,CAACN,GAAG,CAC3B1B,oBAAoB4B,OAAO,CAACM,GAAG,CAAClC,oBAAoB6B,iBAAiB,CAAEG,kBACvE,OAAO,IACT,CAEA,OAAOF,SACT,CAEA,AAAOI,IAAIR,EAAU,CAAES,UAA0D,CAAE,CACjF,MAAMR,aACJ3B,oBAAoB4B,OAAO,CAACH,GAAG,CAC7BzB,oBAAoB6B,iBAAiB,GAClC,CAAC,EACR,MAAMO,YAAcD,WAAWR,YAAY,CAACD,GAAG,EAC/C,MAAMK,YAAcf,kBAAkBoB,aACtC,GAAI,CAACL,YAAa,CAChB,MACF,CAEAJ,YAAY,CAACD,GAAG,CAAGU,YACnBpC,oBAAoB4B,OAAO,CAACM,GAAG,CAAClC,oBAAoB6B,iBAAiB,CAAEF,cAEvE,MACF,CAxCA,aAAc,CAAC,CAyCjB,CA5CE,iBADW3B,oBACIwB,YAAwC,MACvD,iBAFWxB,oBAEG6B,oBAAoBQ,2BAAmB,CAACC,KAAK,EAC3D,iBAHWtC,oBAGI4B,UAA4BW,sBAAc,CAAChB,QAAQ"}
|