@backstage-community/plugin-servicenow 1.13.0 → 1.13.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @backstage-community/plugin-servicenow
2
2
 
3
+ ## 1.13.2
4
+
5
+ ### Patch Changes
6
+
7
+ - dcab544: Fixed WCAG accessibility violations: added accessible name to pagination select and filter inputs, and enabled assertion of zero violations in e2e accessibility scan.
8
+
9
+ ## 1.13.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 6622075: Updated dependency `@playwright/test` to `1.61.1`.
14
+
3
15
  ## 1.13.0
4
16
 
5
17
  ### Minor Changes
package/dist/alpha.d.ts CHANGED
@@ -17,6 +17,7 @@ declare const servicenowTranslationRef: _backstage_frontend_plugin_api.Translati
17
17
  readonly "table.columns.state": string;
18
18
  readonly "table.columns.actions": string;
19
19
  readonly "table.emptyContent": string;
20
+ readonly "table.rowsPerPage": string;
20
21
  readonly "filter.priority": string;
21
22
  readonly "filter.state": string;
22
23
  readonly "priority.critical": string;
@@ -169,7 +169,23 @@ const EntityServicenowContent = () => {
169
169
  page: pageNumber,
170
170
  onPageChange: handlePageChange,
171
171
  onRowsPerPageChange: handleRowsPerPageChange,
172
- labelRowsPerPage: null,
172
+ labelRowsPerPage: /* @__PURE__ */ jsx(
173
+ "span",
174
+ {
175
+ style: {
176
+ position: "absolute",
177
+ width: "1px",
178
+ height: "1px",
179
+ padding: 0,
180
+ margin: "-1px",
181
+ overflow: "hidden",
182
+ clip: "rect(0, 0, 0, 0)",
183
+ whiteSpace: "nowrap",
184
+ border: 0
185
+ },
186
+ children: t("table.rowsPerPage")
187
+ }
188
+ ),
173
189
  showFirstButton: true,
174
190
  showLastButton: true
175
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityServicenowContent.esm.js","sources":["../../../src/components/Servicenow/EntityServicenowContent.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useEffect, useState, MouseEvent, ChangeEvent, useMemo } from 'react';\nimport { identityApiRef, useApi } from '@backstage/core-plugin-api';\n\nimport {\n CatalogFilterLayout,\n useEntity,\n} from '@backstage/plugin-catalog-react';\nimport { Table } from '@backstage/core-components';\n\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TableBody from '@mui/material/TableBody';\nimport TableRow from '@mui/material/TableRow';\nimport TableCell from '@mui/material/TableCell';\nimport TablePagination from '@mui/material/TablePagination';\n\nimport {\n Order,\n SortingOrderEnum,\n} from '@backstage-community/plugin-servicenow-common';\n\nimport { IncidentsFilter } from './IncidentsFilter';\nimport { useIncidentsListColumns } from './IncidentsListColumns';\nimport { IncidentsTableBody } from './IncidentsTableBody';\nimport { IncidentsTableHeader } from './IncidentsTableHeader';\nimport {\n IncidentTableFieldEnum,\n type IncidentsData,\n type IncidentTableField,\n} from '../../types';\nimport { buildIncidentQueryParams } from '../../utils/queryParamsUtils';\nimport { useDebouncedValue } from '../../hooks/useDebouncedValue';\nimport { useQueryState } from '../../hooks/useQueryState';\nimport { useQueryArrayState } from '../../hooks/useQueryArrayState';\nimport { serviceNowApiRef } from '../../api/ServiceNowBackendClient';\nimport useUserEmail from '../../hooks/useUserEmail';\nimport { useUpdateQueryParams } from '../../hooks/useQueryHelpers';\nimport { useTranslation } from '../../hooks/useTranslation';\n\nexport const EntityServicenowContent = () => {\n const { t } = useTranslation();\n const { entity } = useEntity();\n const serviceNowApi = useApi(serviceNowApiRef);\n const incidentsListColumns = useIncidentsListColumns();\n\n const [search, setSearch] = useQueryState<string>('search', '');\n const [input, setInput] = useState(search);\n const debouncedInput = useDebouncedValue(input, 300);\n\n const [order, setOrder] = useQueryState<Order>('order', SortingOrderEnum.Asc);\n const [orderBy, setOrderBy] = useQueryState<IncidentTableField>(\n 'orderBy',\n IncidentTableFieldEnum.Number,\n );\n\n const [rowsPerPage] = useQueryState<number>('limit', 5);\n const [offset, setOffset] = useQueryState<number>('offset', 0);\n const [state] = useQueryArrayState('state', []);\n const [priority] = useQueryArrayState('priority', []);\n\n const pageNumber = Math.floor(offset / rowsPerPage);\n\n const [count, setCount] = useState<number>(0);\n const [incidentsData, setIncidentsData] = useState<IncidentsData[]>([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const updateQueryParams = useUpdateQueryParams();\n\n const servicenowAnnotations = useMemo(() => {\n const annotations = entity.metadata.annotations;\n const snAnnotations: Record<string, string> = {};\n if (annotations) {\n for (const [key, value] of Object.entries(annotations)) {\n if (key.startsWith('servicenow.com/entity-id')) {\n snAnnotations.entityId = value;\n continue;\n }\n if (key.startsWith('servicenow.com/')) {\n const field = key.substring('servicenow.com/'.length);\n snAnnotations[field] = value;\n }\n }\n }\n return snAnnotations;\n }, [entity.metadata.annotations]);\n\n const kind = entity.kind.toLocaleLowerCase('en-US');\n const userEmail = useUserEmail(kind);\n\n const identityApi = useApi(identityApiRef);\n\n useEffect(() => {\n identityApi.getBackstageIdentity().then(identity => {\n if (identity.userEntityRef) {\n localStorage.setItem('userEntityRef', identity.userEntityRef);\n }\n });\n }, [identityApi]);\n\n useEffect(() => {\n if (debouncedInput !== search) {\n setSearch(debouncedInput);\n setOffset(0);\n }\n }, [debouncedInput, search, setSearch, setOffset]);\n\n useEffect(() => {\n async function fetchIncidents() {\n setLoading(true);\n setError(null);\n\n if (!userEmail && Object.keys(servicenowAnnotations).length === 0) {\n setIncidentsData([]);\n setLoading(false);\n return;\n }\n\n try {\n const queryParams = buildIncidentQueryParams({\n limit: rowsPerPage,\n offset,\n order,\n orderBy,\n search: search,\n priority: priority ?? undefined,\n state: state ?? undefined,\n userEmail,\n ...servicenowAnnotations,\n });\n\n const { incidents, totalCount } = await serviceNowApi.getIncidents(\n queryParams,\n );\n setIncidentsData(incidents);\n setCount(totalCount);\n } catch (e) {\n setError((e as Error).message);\n setIncidentsData([]);\n } finally {\n setLoading(false);\n }\n }\n\n fetchIncidents();\n }, [\n rowsPerPage,\n offset,\n order,\n orderBy,\n search,\n serviceNowApi,\n servicenowAnnotations,\n priority,\n state,\n userEmail,\n ]);\n\n const handleRowsPerPageChange = (event: ChangeEvent<HTMLInputElement>) => {\n const newLimit = parseInt(event.target.value, 10);\n updateQueryParams({\n limit: String(newLimit),\n offset: '0',\n });\n };\n\n const handlePageChange = (_event: unknown, page: number) => {\n setOffset(page * rowsPerPage);\n };\n\n const handleRequestSort = (\n _event: MouseEvent<unknown>,\n property: IncidentTableField,\n ) => {\n const isAsc = orderBy === property && order === SortingOrderEnum.Asc;\n setOrder(isAsc ? SortingOrderEnum.Desc : SortingOrderEnum.Asc);\n setOrderBy(property);\n setOffset(0);\n };\n\n const handleSearch = (str: string) => {\n setInput(str);\n };\n\n const IncidentsTableHeaderComponent = () => (\n <IncidentsTableHeader\n order={order}\n orderBy={orderBy}\n onRequestSort={handleRequestSort}\n />\n );\n\n const IncidentsTableBodyComponent = () =>\n loading ? (\n <TableBody>\n <TableRow>\n <TableCell colSpan={incidentsListColumns.length} align=\"center\">\n <Box sx={{ py: 3 }}>\n <CircularProgress />\n </Box>\n </TableCell>\n </TableRow>\n </TableBody>\n ) : (\n <IncidentsTableBody rows={incidentsData} />\n );\n\n const TablePaginationComponent = () => {\n return (\n <TablePagination\n rowsPerPageOptions={[5, 10, 20, 50, 100].map(n => ({\n value: n,\n label: t('table.labelRowsSelect', { count: String(n) }),\n }))}\n component=\"div\"\n sx={{ mr: 1 }}\n count={count ?? 0}\n rowsPerPage={rowsPerPage}\n page={pageNumber}\n onPageChange={handlePageChange}\n onRowsPerPageChange={handleRowsPerPageChange}\n labelRowsPerPage={null}\n showFirstButton\n showLastButton\n />\n );\n };\n\n return (\n <Box>\n <CatalogFilterLayout>\n <CatalogFilterLayout.Filters>\n <IncidentsFilter />\n </CatalogFilterLayout.Filters>\n <CatalogFilterLayout.Content>\n {error ? (\n <Box sx={{ padding: 2, color: 'error.main' }}>\n {t('errors.loadingIncidents', { error })}\n </Box>\n ) : (\n <Table\n data={loading ? [] : incidentsData}\n columns={incidentsListColumns}\n onSearchChange={handleSearch}\n title={\n count === 0\n ? t('page.title')\n : t('page.titleWithCount', { count: String(count) })\n }\n localization={{\n toolbar: { searchPlaceholder: t('table.searchPlaceholder') },\n }}\n components={{\n Header: IncidentsTableHeaderComponent,\n Body: IncidentsTableBodyComponent,\n Pagination: TablePaginationComponent,\n }}\n emptyContent={\n loading ? null : (\n <Box\n data-testid=\"no-incidents-found\"\n sx={{\n padding: 2,\n display: 'flex',\n justifyContent: 'center',\n }}\n >\n {t('table.emptyContent')}\n </Box>\n )\n }\n isLoading={loading}\n />\n )}\n </CatalogFilterLayout.Content>\n </CatalogFilterLayout>\n </Box>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityServicenowContent.esm.js","sources":["../../../src/components/Servicenow/EntityServicenowContent.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useEffect, useState, MouseEvent, ChangeEvent, useMemo } from 'react';\nimport { identityApiRef, useApi } from '@backstage/core-plugin-api';\n\nimport {\n CatalogFilterLayout,\n useEntity,\n} from '@backstage/plugin-catalog-react';\nimport { Table } from '@backstage/core-components';\n\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TableBody from '@mui/material/TableBody';\nimport TableRow from '@mui/material/TableRow';\nimport TableCell from '@mui/material/TableCell';\nimport TablePagination from '@mui/material/TablePagination';\n\nimport {\n Order,\n SortingOrderEnum,\n} from '@backstage-community/plugin-servicenow-common';\n\nimport { IncidentsFilter } from './IncidentsFilter';\nimport { useIncidentsListColumns } from './IncidentsListColumns';\nimport { IncidentsTableBody } from './IncidentsTableBody';\nimport { IncidentsTableHeader } from './IncidentsTableHeader';\nimport {\n IncidentTableFieldEnum,\n type IncidentsData,\n type IncidentTableField,\n} from '../../types';\nimport { buildIncidentQueryParams } from '../../utils/queryParamsUtils';\nimport { useDebouncedValue } from '../../hooks/useDebouncedValue';\nimport { useQueryState } from '../../hooks/useQueryState';\nimport { useQueryArrayState } from '../../hooks/useQueryArrayState';\nimport { serviceNowApiRef } from '../../api/ServiceNowBackendClient';\nimport useUserEmail from '../../hooks/useUserEmail';\nimport { useUpdateQueryParams } from '../../hooks/useQueryHelpers';\nimport { useTranslation } from '../../hooks/useTranslation';\n\nexport const EntityServicenowContent = () => {\n const { t } = useTranslation();\n const { entity } = useEntity();\n const serviceNowApi = useApi(serviceNowApiRef);\n const incidentsListColumns = useIncidentsListColumns();\n\n const [search, setSearch] = useQueryState<string>('search', '');\n const [input, setInput] = useState(search);\n const debouncedInput = useDebouncedValue(input, 300);\n\n const [order, setOrder] = useQueryState<Order>('order', SortingOrderEnum.Asc);\n const [orderBy, setOrderBy] = useQueryState<IncidentTableField>(\n 'orderBy',\n IncidentTableFieldEnum.Number,\n );\n\n const [rowsPerPage] = useQueryState<number>('limit', 5);\n const [offset, setOffset] = useQueryState<number>('offset', 0);\n const [state] = useQueryArrayState('state', []);\n const [priority] = useQueryArrayState('priority', []);\n\n const pageNumber = Math.floor(offset / rowsPerPage);\n\n const [count, setCount] = useState<number>(0);\n const [incidentsData, setIncidentsData] = useState<IncidentsData[]>([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const updateQueryParams = useUpdateQueryParams();\n\n const servicenowAnnotations = useMemo(() => {\n const annotations = entity.metadata.annotations;\n const snAnnotations: Record<string, string> = {};\n if (annotations) {\n for (const [key, value] of Object.entries(annotations)) {\n if (key.startsWith('servicenow.com/entity-id')) {\n snAnnotations.entityId = value;\n continue;\n }\n if (key.startsWith('servicenow.com/')) {\n const field = key.substring('servicenow.com/'.length);\n snAnnotations[field] = value;\n }\n }\n }\n return snAnnotations;\n }, [entity.metadata.annotations]);\n\n const kind = entity.kind.toLocaleLowerCase('en-US');\n const userEmail = useUserEmail(kind);\n\n const identityApi = useApi(identityApiRef);\n\n useEffect(() => {\n identityApi.getBackstageIdentity().then(identity => {\n if (identity.userEntityRef) {\n localStorage.setItem('userEntityRef', identity.userEntityRef);\n }\n });\n }, [identityApi]);\n\n useEffect(() => {\n if (debouncedInput !== search) {\n setSearch(debouncedInput);\n setOffset(0);\n }\n }, [debouncedInput, search, setSearch, setOffset]);\n\n useEffect(() => {\n async function fetchIncidents() {\n setLoading(true);\n setError(null);\n\n if (!userEmail && Object.keys(servicenowAnnotations).length === 0) {\n setIncidentsData([]);\n setLoading(false);\n return;\n }\n\n try {\n const queryParams = buildIncidentQueryParams({\n limit: rowsPerPage,\n offset,\n order,\n orderBy,\n search: search,\n priority: priority ?? undefined,\n state: state ?? undefined,\n userEmail,\n ...servicenowAnnotations,\n });\n\n const { incidents, totalCount } = await serviceNowApi.getIncidents(\n queryParams,\n );\n setIncidentsData(incidents);\n setCount(totalCount);\n } catch (e) {\n setError((e as Error).message);\n setIncidentsData([]);\n } finally {\n setLoading(false);\n }\n }\n\n fetchIncidents();\n }, [\n rowsPerPage,\n offset,\n order,\n orderBy,\n search,\n serviceNowApi,\n servicenowAnnotations,\n priority,\n state,\n userEmail,\n ]);\n\n const handleRowsPerPageChange = (event: ChangeEvent<HTMLInputElement>) => {\n const newLimit = parseInt(event.target.value, 10);\n updateQueryParams({\n limit: String(newLimit),\n offset: '0',\n });\n };\n\n const handlePageChange = (_event: unknown, page: number) => {\n setOffset(page * rowsPerPage);\n };\n\n const handleRequestSort = (\n _event: MouseEvent<unknown>,\n property: IncidentTableField,\n ) => {\n const isAsc = orderBy === property && order === SortingOrderEnum.Asc;\n setOrder(isAsc ? SortingOrderEnum.Desc : SortingOrderEnum.Asc);\n setOrderBy(property);\n setOffset(0);\n };\n\n const handleSearch = (str: string) => {\n setInput(str);\n };\n\n const IncidentsTableHeaderComponent = () => (\n <IncidentsTableHeader\n order={order}\n orderBy={orderBy}\n onRequestSort={handleRequestSort}\n />\n );\n\n const IncidentsTableBodyComponent = () =>\n loading ? (\n <TableBody>\n <TableRow>\n <TableCell colSpan={incidentsListColumns.length} align=\"center\">\n <Box sx={{ py: 3 }}>\n <CircularProgress />\n </Box>\n </TableCell>\n </TableRow>\n </TableBody>\n ) : (\n <IncidentsTableBody rows={incidentsData} />\n );\n\n const TablePaginationComponent = () => {\n return (\n <TablePagination\n rowsPerPageOptions={[5, 10, 20, 50, 100].map(n => ({\n value: n,\n label: t('table.labelRowsSelect', { count: String(n) }),\n }))}\n component=\"div\"\n sx={{ mr: 1 }}\n count={count ?? 0}\n rowsPerPage={rowsPerPage}\n page={pageNumber}\n onPageChange={handlePageChange}\n onRowsPerPageChange={handleRowsPerPageChange}\n labelRowsPerPage={\n <span\n style={{\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n border: 0,\n }}\n >\n {t('table.rowsPerPage')}\n </span>\n }\n showFirstButton\n showLastButton\n />\n );\n };\n\n return (\n <Box>\n <CatalogFilterLayout>\n <CatalogFilterLayout.Filters>\n <IncidentsFilter />\n </CatalogFilterLayout.Filters>\n <CatalogFilterLayout.Content>\n {error ? (\n <Box sx={{ padding: 2, color: 'error.main' }}>\n {t('errors.loadingIncidents', { error })}\n </Box>\n ) : (\n <Table\n data={loading ? [] : incidentsData}\n columns={incidentsListColumns}\n onSearchChange={handleSearch}\n title={\n count === 0\n ? t('page.title')\n : t('page.titleWithCount', { count: String(count) })\n }\n localization={{\n toolbar: { searchPlaceholder: t('table.searchPlaceholder') },\n }}\n components={{\n Header: IncidentsTableHeaderComponent,\n Body: IncidentsTableBodyComponent,\n Pagination: TablePaginationComponent,\n }}\n emptyContent={\n loading ? null : (\n <Box\n data-testid=\"no-incidents-found\"\n sx={{\n padding: 2,\n display: 'flex',\n justifyContent: 'center',\n }}\n >\n {t('table.emptyContent')}\n </Box>\n )\n }\n isLoading={loading}\n />\n )}\n </CatalogFilterLayout.Content>\n </CatalogFilterLayout>\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAuDO,MAAM,0BAA0B,MAAM;AAC3C,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,SAAA,EAAU;AAC7B,EAAA,MAAM,aAAA,GAAgB,OAAO,gBAAgB,CAAA;AAC7C,EAAA,MAAM,uBAAuB,uBAAA,EAAwB;AAErD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,aAAA,CAAsB,UAAU,EAAE,CAAA;AAC9D,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,MAAM,CAAA;AACzC,EAAA,MAAM,cAAA,GAAiB,iBAAA,CAAkB,KAAA,EAAO,GAAG,CAAA;AAEnD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,IAAI,aAAA,CAAqB,OAAA,EAAS,iBAAiB,GAAG,CAAA;AAC5E,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,aAAA;AAAA,IAC5B,SAAA;AAAA,IACA,sBAAA,CAAuB;AAAA,GACzB;AAEA,EAAA,MAAM,CAAC,WAAW,CAAA,GAAI,aAAA,CAAsB,SAAS,CAAC,CAAA;AACtD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,aAAA,CAAsB,UAAU,CAAC,CAAA;AAC7D,EAAA,MAAM,CAAC,KAAK,CAAA,GAAI,kBAAA,CAAmB,OAAA,EAAS,EAAE,CAAA;AAC9C,EAAA,MAAM,CAAC,QAAQ,CAAA,GAAI,kBAAA,CAAmB,UAAA,EAAY,EAAE,CAAA;AAEpD,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,WAAW,CAAA;AAElD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAiB,CAAC,CAAA;AAC5C,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,QAAA,CAA0B,EAAE,CAAA;AACtE,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAwB,IAAI,CAAA;AACtD,EAAA,MAAM,oBAAoB,oBAAA,EAAqB;AAE/C,EAAA,MAAM,qBAAA,GAAwB,QAAQ,MAAM;AAC1C,IAAA,MAAM,WAAA,GAAc,OAAO,QAAA,CAAS,WAAA;AACpC,IAAA,MAAM,gBAAwC,EAAC;AAC/C,IAAA,IAAI,WAAA,EAAa;AACf,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,WAAW,CAAA,EAAG;AACtD,QAAA,IAAI,GAAA,CAAI,UAAA,CAAW,0BAA0B,CAAA,EAAG;AAC9C,UAAA,aAAA,CAAc,QAAA,GAAW,KAAA;AACzB,UAAA;AAAA,QACF;AACA,QAAA,IAAI,GAAA,CAAI,UAAA,CAAW,iBAAiB,CAAA,EAAG;AACrC,UAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,SAAA,CAAU,iBAAA,CAAkB,MAAM,CAAA;AACpD,UAAA,aAAA,CAAc,KAAK,CAAA,GAAI,KAAA;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AACA,IAAA,OAAO,aAAA;AAAA,EACT,CAAA,EAAG,CAAC,MAAA,CAAO,QAAA,CAAS,WAAW,CAAC,CAAA;AAEhC,EAAA,MAAM,IAAA,GAAO,MAAA,CAAO,IAAA,CAAK,iBAAA,CAAkB,OAAO,CAAA;AAClD,EAAA,MAAM,SAAA,GAAY,aAAa,IAAI,CAAA;AAEnC,EAAA,MAAM,WAAA,GAAc,OAAO,cAAc,CAAA;AAEzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,WAAA,CAAY,oBAAA,EAAqB,CAAE,IAAA,CAAK,CAAA,QAAA,KAAY;AAClD,MAAA,IAAI,SAAS,aAAA,EAAe;AAC1B,QAAA,YAAA,CAAa,OAAA,CAAQ,eAAA,EAAiB,QAAA,CAAS,aAAa,CAAA;AAAA,MAC9D;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,mBAAmB,MAAA,EAAQ;AAC7B,MAAA,SAAA,CAAU,cAAc,CAAA;AACxB,MAAA,SAAA,CAAU,CAAC,CAAA;AAAA,IACb;AAAA,EACF,GAAG,CAAC,cAAA,EAAgB,MAAA,EAAQ,SAAA,EAAW,SAAS,CAAC,CAAA;AAEjD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,eAAe,cAAA,GAAiB;AAC9B,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AAEb,MAAA,IAAI,CAAC,SAAA,IAAa,MAAA,CAAO,KAAK,qBAAqB,CAAA,CAAE,WAAW,CAAA,EAAG;AACjE,QAAA,gBAAA,CAAiB,EAAE,CAAA;AACnB,QAAA,UAAA,CAAW,KAAK,CAAA;AAChB,QAAA;AAAA,MACF;AAEA,MAAA,IAAI;AACF,QAAA,MAAM,cAAc,wBAAA,CAAyB;AAAA,UAC3C,KAAA,EAAO,WAAA;AAAA,UACP,MAAA;AAAA,UACA,KAAA;AAAA,UACA,OAAA;AAAA,UACA,MAAA;AAAA,UACA,UAAU,QAAA,IAAY,KAAA,CAAA;AAAA,UACtB,OAAO,KAAA,IAAS,KAAA,CAAA;AAAA,UAChB,SAAA;AAAA,UACA,GAAG;AAAA,SACJ,CAAA;AAED,QAAA,MAAM,EAAE,SAAA,EAAW,UAAA,EAAW,GAAI,MAAM,aAAA,CAAc,YAAA;AAAA,UACpD;AAAA,SACF;AACA,QAAA,gBAAA,CAAiB,SAAS,CAAA;AAC1B,QAAA,QAAA,CAAS,UAAU,CAAA;AAAA,MACrB,SAAS,CAAA,EAAG;AACV,QAAA,QAAA,CAAU,EAAY,OAAO,CAAA;AAC7B,QAAA,gBAAA,CAAiB,EAAE,CAAA;AAAA,MACrB,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF;AAEA,IAAA,cAAA,EAAe;AAAA,EACjB,CAAA,EAAG;AAAA,IACD,WAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAA;AAAA,IACA,qBAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,uBAAA,GAA0B,CAAC,KAAA,KAAyC;AACxE,IAAA,MAAM,QAAA,GAAW,QAAA,CAAS,KAAA,CAAM,MAAA,CAAO,OAAO,EAAE,CAAA;AAChD,IAAA,iBAAA,CAAkB;AAAA,MAChB,KAAA,EAAO,OAAO,QAAQ,CAAA;AAAA,MACtB,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,CAAC,MAAA,EAAiB,IAAA,KAAiB;AAC1D,IAAA,SAAA,CAAU,OAAO,WAAW,CAAA;AAAA,EAC9B,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CACxB,MAAA,EACA,QAAA,KACG;AACH,IAAA,MAAM,KAAA,GAAQ,OAAA,KAAY,QAAA,IAAY,KAAA,KAAU,gBAAA,CAAiB,GAAA;AACjE,IAAA,QAAA,CAAS,KAAA,GAAQ,gBAAA,CAAiB,IAAA,GAAO,gBAAA,CAAiB,GAAG,CAAA;AAC7D,IAAA,UAAA,CAAW,QAAQ,CAAA;AACnB,IAAA,SAAA,CAAU,CAAC,CAAA;AAAA,EACb,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,GAAA,KAAgB;AACpC,IAAA,QAAA,CAAS,GAAG,CAAA;AAAA,EACd,CAAA;AAEA,EAAA,MAAM,gCAAgC,sBACpC,GAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,OAAA;AAAA,MACA,aAAA,EAAe;AAAA;AAAA,GACjB;AAGF,EAAA,MAAM,2BAAA,GAA8B,MAClC,OAAA,mBACE,GAAA,CAAC,SAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,OAAA,EAAS,oBAAA,CAAqB,MAAA,EAAQ,OAAM,QAAA,EACrD,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAI,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE,EACf,8BAAC,gBAAA,EAAA,EAAiB,CAAA,EACpB,CAAA,EACF,CAAA,EACF,CAAA,EACF,CAAA,mBAEA,GAAA,CAAC,kBAAA,EAAA,EAAmB,MAAM,aAAA,EAAe,CAAA;AAG7C,EAAA,MAAM,2BAA2B,MAAM;AACrC,IAAA,uBACE,GAAA;AAAA,MAAC,eAAA;AAAA,MAAA;AAAA,QACC,kBAAA,EAAoB,CAAC,CAAA,EAAG,EAAA,EAAI,IAAI,EAAA,EAAI,GAAG,CAAA,CAAE,GAAA,CAAI,CAAA,CAAA,MAAM;AAAA,UACjD,KAAA,EAAO,CAAA;AAAA,UACP,KAAA,EAAO,EAAE,uBAAA,EAAyB,EAAE,OAAO,MAAA,CAAO,CAAC,GAAG;AAAA,SACxD,CAAE,CAAA;AAAA,QACF,SAAA,EAAU,KAAA;AAAA,QACV,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE;AAAA,QACZ,OAAO,KAAA,IAAS,CAAA;AAAA,QAChB,WAAA;AAAA,QACA,IAAA,EAAM,UAAA;AAAA,QACN,YAAA,EAAc,gBAAA;AAAA,QACd,mBAAA,EAAqB,uBAAA;AAAA,QACrB,gBAAA,kBACE,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO;AAAA,cACL,QAAA,EAAU,UAAA;AAAA,cACV,KAAA,EAAO,KAAA;AAAA,cACP,MAAA,EAAQ,KAAA;AAAA,cACR,OAAA,EAAS,CAAA;AAAA,cACT,MAAA,EAAQ,MAAA;AAAA,cACR,QAAA,EAAU,QAAA;AAAA,cACV,IAAA,EAAM,kBAAA;AAAA,cACN,UAAA,EAAY,QAAA;AAAA,cACZ,MAAA,EAAQ;AAAA,aACV;AAAA,YAEC,YAAE,mBAAmB;AAAA;AAAA,SACxB;AAAA,QAEF,eAAA,EAAe,IAAA;AAAA,QACf,cAAA,EAAc;AAAA;AAAA,KAChB;AAAA,EAEJ,CAAA;AAEA,EAAA,uBACE,GAAA,CAAC,GAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,mBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,mBAAA,CAAoB,OAAA,EAApB,EACC,QAAA,kBAAA,GAAA,CAAC,mBAAgB,CAAA,EACnB,CAAA;AAAA,oBACA,GAAA,CAAC,oBAAoB,OAAA,EAApB,EACE,kCACC,GAAA,CAAC,GAAA,EAAA,EAAI,IAAI,EAAE,OAAA,EAAS,GAAG,KAAA,EAAO,YAAA,IAC3B,QAAA,EAAA,CAAA,CAAE,yBAAA,EAA2B,EAAE,KAAA,EAAO,GACzC,CAAA,mBAEA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,OAAA,GAAU,EAAC,GAAI,aAAA;AAAA,QACrB,OAAA,EAAS,oBAAA;AAAA,QACT,cAAA,EAAgB,YAAA;AAAA,QAChB,KAAA,EACE,KAAA,KAAU,CAAA,GACN,CAAA,CAAE,YAAY,CAAA,GACd,CAAA,CAAE,qBAAA,EAAuB,EAAE,KAAA,EAAO,MAAA,CAAO,KAAK,GAAG,CAAA;AAAA,QAEvD,YAAA,EAAc;AAAA,UACZ,OAAA,EAAS,EAAE,iBAAA,EAAmB,CAAA,CAAE,yBAAyB,CAAA;AAAE,SAC7D;AAAA,QACA,UAAA,EAAY;AAAA,UACV,MAAA,EAAQ,6BAAA;AAAA,UACR,IAAA,EAAM,2BAAA;AAAA,UACN,UAAA,EAAY;AAAA,SACd;AAAA,QACA,YAAA,EACE,UAAU,IAAA,mBACR,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,oBAAA;AAAA,YACZ,EAAA,EAAI;AAAA,cACF,OAAA,EAAS,CAAA;AAAA,cACT,OAAA,EAAS,MAAA;AAAA,cACT,cAAA,EAAgB;AAAA,aAClB;AAAA,YAEC,YAAE,oBAAoB;AAAA;AAAA,SACzB;AAAA,QAGJ,SAAA,EAAW;AAAA;AAAA,KACb,EAEJ;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;;;;"}
@@ -40,7 +40,6 @@ const IncidentEnumFilter = ({
40
40
  {
41
41
  multiple: true,
42
42
  disableCloseOnSelect: true,
43
- "aria-label": label,
44
43
  options: items,
45
44
  isOptionEqualToValue: (option, val) => option.value === val.value,
46
45
  getOptionLabel: (option) => option.label,
@@ -68,7 +67,17 @@ const IncidentEnumFilter = ({
68
67
  "data-testid": `select-${label.toLowerCase().replace(/\s/g, "-")}`
69
68
  }
70
69
  ),
71
- renderInput: (params) => /* @__PURE__ */ jsx(TextField, { ...params, variant: "outlined" })
70
+ renderInput: (params) => /* @__PURE__ */ jsx(
71
+ TextField,
72
+ {
73
+ ...params,
74
+ variant: "outlined",
75
+ inputProps: {
76
+ ...params.inputProps,
77
+ "aria-label": label
78
+ }
79
+ }
80
+ )
72
81
  }
73
82
  )
74
83
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"IncidentEnumFilter.esm.js","sources":["../../../src/components/shared-components/IncidentEnumFilter.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SelectItem } from '@backstage/core-components';\nimport Autocomplete from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport Checkbox from '@mui/material/Checkbox';\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport InputLabel from '@mui/material/InputLabel';\nimport TextField from '@mui/material/TextField';\nimport { renderStatusLabel, StatusData } from '../../utils/incidentUtils';\n\nexport interface IncidentEnumFilterProps {\n label: string;\n /** @deprecated No longer used, kept for backwards compatibility */\n filterKey?: string;\n dataMap: Record<number, StatusData>;\n value: SelectItem[];\n onChange: (event: any, value: SelectItem[]) => void;\n}\n\nexport const IncidentEnumFilter = ({\n label,\n dataMap,\n value,\n onChange,\n}: IncidentEnumFilterProps) => {\n const items: SelectItem[] = Object.entries(dataMap).map(\n ([key, itemValue]) => ({\n value: key,\n label: itemValue.label,\n }),\n );\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column' }}>\n <InputLabel\n sx={{\n transform: 'initial',\n fontWeight: 'bold',\n fontSize: theme => theme.typography.body2.fontSize,\n fontFamily: theme => theme.typography.fontFamily,\n color: theme => theme.palette.text.primary,\n }}\n >\n {label}\n </InputLabel>\n <Autocomplete\n multiple\n disableCloseOnSelect\n aria-label={label}\n options={items}\n isOptionEqualToValue={(option, val) => option.value === val.value}\n getOptionLabel={option => option.label}\n onChange={onChange}\n renderOption={(renderProps, option, { selected }) => {\n const { key, ...optionProps } = renderProps;\n const statusData = dataMap[Number(option.value)];\n\n return (\n <li key={key} {...optionProps}>\n <Checkbox\n icon={<CheckBoxOutlineBlankIcon fontSize=\"small\" />}\n checkedIcon={<CheckBoxIcon fontSize=\"small\" />}\n checked={selected}\n />\n {renderStatusLabel(statusData)}\n </li>\n );\n }}\n size=\"small\"\n value={value}\n popupIcon={\n <ExpandMoreIcon\n data-testid={`select-${label.toLowerCase().replace(/\\s/g, '-')}`}\n />\n }\n renderInput={params => <TextField {...params} variant=\"outlined\" />}\n />\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAoCO,MAAM,qBAAqB,CAAC;AAAA,EACjC,KAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,KAA+B;AAC7B,EAAA,MAAM,KAAA,GAAsB,MAAA,CAAO,OAAA,CAAQ,OAAO,CAAA,CAAE,GAAA;AAAA,IAClD,CAAC,CAAC,GAAA,EAAK,SAAS,CAAA,MAAO;AAAA,MACrB,KAAA,EAAO,GAAA;AAAA,MACP,OAAO,SAAA,CAAU;AAAA,KACnB;AAAA,GACF;AAEA,EAAA,uBACE,IAAA,CAAC,OAAI,EAAA,EAAI,EAAE,SAAS,MAAA,EAAQ,aAAA,EAAe,UAAS,EAClD,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,EAAA,EAAI;AAAA,UACF,SAAA,EAAW,SAAA;AAAA,UACX,UAAA,EAAY,MAAA;AAAA,UACZ,QAAA,EAAU,CAAA,KAAA,KAAS,KAAA,CAAM,UAAA,CAAW,KAAA,CAAM,QAAA;AAAA,UAC1C,UAAA,EAAY,CAAA,KAAA,KAAS,KAAA,CAAM,UAAA,CAAW,UAAA;AAAA,UACtC,KAAA,EAAO,CAAA,KAAA,KAAS,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK;AAAA,SACrC;AAAA,QAEC,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,oBACA,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,QAAA,EAAQ,IAAA;AAAA,QACR,oBAAA,EAAoB,IAAA;AAAA,QACpB,YAAA,EAAY,KAAA;AAAA,QACZ,OAAA,EAAS,KAAA;AAAA,QACT,sBAAsB,CAAC,MAAA,EAAQ,GAAA,KAAQ,MAAA,CAAO,UAAU,GAAA,CAAI,KAAA;AAAA,QAC5D,cAAA,EAAgB,YAAU,MAAA,CAAO,KAAA;AAAA,QACjC,QAAA;AAAA,QACA,cAAc,CAAC,WAAA,EAAa,MAAA,EAAQ,EAAE,UAAS,KAAM;AACnD,UAAA,MAAM,EAAE,GAAA,EAAK,GAAG,WAAA,EAAY,GAAI,WAAA;AAChC,UAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,MAAA,CAAO,MAAA,CAAO,KAAK,CAAC,CAAA;AAE/C,UAAA,uBACE,IAAA,CAAC,IAAA,EAAA,EAAc,GAAG,WAAA,EAChB,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,IAAA,kBAAM,GAAA,CAAC,wBAAA,EAAA,EAAyB,QAAA,EAAS,OAAA,EAAQ,CAAA;AAAA,gBACjD,WAAA,kBAAa,GAAA,CAAC,YAAA,EAAA,EAAa,QAAA,EAAS,OAAA,EAAQ,CAAA;AAAA,gBAC5C,OAAA,EAAS;AAAA;AAAA,aACX;AAAA,YACC,kBAAkB,UAAU;AAAA,WAAA,EAAA,EANtB,GAOT,CAAA;AAAA,QAEJ,CAAA;AAAA,QACA,IAAA,EAAK,OAAA;AAAA,QACL,KAAA;AAAA,QACA,SAAA,kBACE,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAa,UAAU,KAAA,CAAM,WAAA,GAAc,OAAA,CAAQ,KAAA,EAAO,GAAG,CAAC,CAAA;AAAA;AAAA,SAChE;AAAA,QAEF,aAAa,CAAA,MAAA,qBAAU,GAAA,CAAC,aAAW,GAAG,MAAA,EAAQ,SAAQ,UAAA,EAAW;AAAA;AAAA;AACnE,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"IncidentEnumFilter.esm.js","sources":["../../../src/components/shared-components/IncidentEnumFilter.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SelectItem } from '@backstage/core-components';\nimport Autocomplete from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport Checkbox from '@mui/material/Checkbox';\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport InputLabel from '@mui/material/InputLabel';\nimport TextField from '@mui/material/TextField';\nimport { renderStatusLabel, StatusData } from '../../utils/incidentUtils';\n\nexport interface IncidentEnumFilterProps {\n label: string;\n /** @deprecated No longer used, kept for backwards compatibility */\n filterKey?: string;\n dataMap: Record<number, StatusData>;\n value: SelectItem[];\n onChange: (event: any, value: SelectItem[]) => void;\n}\n\nexport const IncidentEnumFilter = ({\n label,\n dataMap,\n value,\n onChange,\n}: IncidentEnumFilterProps) => {\n const items: SelectItem[] = Object.entries(dataMap).map(\n ([key, itemValue]) => ({\n value: key,\n label: itemValue.label,\n }),\n );\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column' }}>\n <InputLabel\n sx={{\n transform: 'initial',\n fontWeight: 'bold',\n fontSize: theme => theme.typography.body2.fontSize,\n fontFamily: theme => theme.typography.fontFamily,\n color: theme => theme.palette.text.primary,\n }}\n >\n {label}\n </InputLabel>\n <Autocomplete\n multiple\n disableCloseOnSelect\n options={items}\n isOptionEqualToValue={(option, val) => option.value === val.value}\n getOptionLabel={option => option.label}\n onChange={onChange}\n renderOption={(renderProps, option, { selected }) => {\n const { key, ...optionProps } = renderProps;\n const statusData = dataMap[Number(option.value)];\n\n return (\n <li key={key} {...optionProps}>\n <Checkbox\n icon={<CheckBoxOutlineBlankIcon fontSize=\"small\" />}\n checkedIcon={<CheckBoxIcon fontSize=\"small\" />}\n checked={selected}\n />\n {renderStatusLabel(statusData)}\n </li>\n );\n }}\n size=\"small\"\n value={value}\n popupIcon={\n <ExpandMoreIcon\n data-testid={`select-${label.toLowerCase().replace(/\\s/g, '-')}`}\n />\n }\n renderInput={params => (\n <TextField\n {...params}\n variant=\"outlined\"\n inputProps={{\n ...params.inputProps,\n 'aria-label': label,\n }}\n />\n )}\n />\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAoCO,MAAM,qBAAqB,CAAC;AAAA,EACjC,KAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,KAA+B;AAC7B,EAAA,MAAM,KAAA,GAAsB,MAAA,CAAO,OAAA,CAAQ,OAAO,CAAA,CAAE,GAAA;AAAA,IAClD,CAAC,CAAC,GAAA,EAAK,SAAS,CAAA,MAAO;AAAA,MACrB,KAAA,EAAO,GAAA;AAAA,MACP,OAAO,SAAA,CAAU;AAAA,KACnB;AAAA,GACF;AAEA,EAAA,uBACE,IAAA,CAAC,OAAI,EAAA,EAAI,EAAE,SAAS,MAAA,EAAQ,aAAA,EAAe,UAAS,EAClD,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,EAAA,EAAI;AAAA,UACF,SAAA,EAAW,SAAA;AAAA,UACX,UAAA,EAAY,MAAA;AAAA,UACZ,QAAA,EAAU,CAAA,KAAA,KAAS,KAAA,CAAM,UAAA,CAAW,KAAA,CAAM,QAAA;AAAA,UAC1C,UAAA,EAAY,CAAA,KAAA,KAAS,KAAA,CAAM,UAAA,CAAW,UAAA;AAAA,UACtC,KAAA,EAAO,CAAA,KAAA,KAAS,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK;AAAA,SACrC;AAAA,QAEC,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,oBACA,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,QAAA,EAAQ,IAAA;AAAA,QACR,oBAAA,EAAoB,IAAA;AAAA,QACpB,OAAA,EAAS,KAAA;AAAA,QACT,sBAAsB,CAAC,MAAA,EAAQ,GAAA,KAAQ,MAAA,CAAO,UAAU,GAAA,CAAI,KAAA;AAAA,QAC5D,cAAA,EAAgB,YAAU,MAAA,CAAO,KAAA;AAAA,QACjC,QAAA;AAAA,QACA,cAAc,CAAC,WAAA,EAAa,MAAA,EAAQ,EAAE,UAAS,KAAM;AACnD,UAAA,MAAM,EAAE,GAAA,EAAK,GAAG,WAAA,EAAY,GAAI,WAAA;AAChC,UAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,MAAA,CAAO,MAAA,CAAO,KAAK,CAAC,CAAA;AAE/C,UAAA,uBACE,IAAA,CAAC,IAAA,EAAA,EAAc,GAAG,WAAA,EAChB,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,IAAA,kBAAM,GAAA,CAAC,wBAAA,EAAA,EAAyB,QAAA,EAAS,OAAA,EAAQ,CAAA;AAAA,gBACjD,WAAA,kBAAa,GAAA,CAAC,YAAA,EAAA,EAAa,QAAA,EAAS,OAAA,EAAQ,CAAA;AAAA,gBAC5C,OAAA,EAAS;AAAA;AAAA,aACX;AAAA,YACC,kBAAkB,UAAU;AAAA,WAAA,EAAA,EANtB,GAOT,CAAA;AAAA,QAEJ,CAAA;AAAA,QACA,IAAA,EAAK,OAAA;AAAA,QACL,KAAA;AAAA,QACA,SAAA,kBACE,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAa,UAAU,KAAA,CAAM,WAAA,GAAc,OAAA,CAAQ,KAAA,EAAO,GAAG,CAAC,CAAA;AAAA;AAAA,SAChE;AAAA,QAEF,aAAa,CAAA,MAAA,qBACX,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACE,GAAG,MAAA;AAAA,YACJ,OAAA,EAAQ,UAAA;AAAA,YACR,UAAA,EAAY;AAAA,cACV,GAAG,MAAA,CAAO,UAAA;AAAA,cACV,YAAA,EAAc;AAAA;AAChB;AAAA;AACF;AAAA;AAEJ,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -29,6 +29,7 @@ const servicenowTranslationDe = createTranslationMessages({
29
29
  "table.columns.state": "Status",
30
30
  "table.columns.actions": "Aktionen",
31
31
  "table.emptyContent": "Keine Datens\xE4tze gefunden",
32
+ "table.rowsPerPage": "Zeilen pro Seite",
32
33
  "actions.openInServicenow": "In ServiceNow \xF6ffnen"
33
34
  }
34
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"de.esm.js","sources":["../../src/translations/de.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * de translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationDe = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'ServiceNow-Tickets',\n 'page.titleWithCount': 'ServiceNow-Tickets ({{count}})',\n 'filter.state': 'Status',\n 'filter.priority': 'Priorität',\n 'priority.critical': 'Kritisch',\n 'priority.high': 'Hoch',\n 'priority.moderate': 'Mittel',\n 'priority.low': 'Niedrig',\n 'priority.planning': 'Planung',\n 'incidentState.new': 'Neu',\n 'incidentState.inProgress': 'In Bearbeitung',\n 'incidentState.onHold': 'Zurückgestellt',\n 'incidentState.resolved': 'Gelöst',\n 'incidentState.closed': 'Geschlossen',\n 'incidentState.cancelled': 'Storniert',\n 'errors.loadingIncidents': 'Fehler beim Laden der Vorfälle: {{error}}',\n 'table.searchPlaceholder': 'Suchen',\n 'table.labelRowsSelect': '{{count}} Zeilen',\n 'table.columns.incidentNumber': 'Vorfallnummer',\n 'table.columns.description': 'Beschreibung',\n 'table.columns.created': 'Erstellt',\n 'table.columns.priority': 'Priorität',\n 'table.columns.state': 'Status',\n 'table.columns.actions': 'Aktionen',\n 'table.emptyContent': 'Keine Datensätze gefunden',\n 'actions.openInServicenow': 'In ServiceNow öffnen',\n },\n});\n\nexport default servicenowTranslationDe;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,oBAAA;AAAA,IACd,qBAAA,EAAuB,gCAAA;AAAA,IACvB,cAAA,EAAgB,QAAA;AAAA,IAChB,iBAAA,EAAmB,cAAA;AAAA,IACnB,mBAAA,EAAqB,UAAA;AAAA,IACrB,eAAA,EAAiB,MAAA;AAAA,IACjB,mBAAA,EAAqB,QAAA;AAAA,IACrB,cAAA,EAAgB,SAAA;AAAA,IAChB,mBAAA,EAAqB,SAAA;AAAA,IACrB,mBAAA,EAAqB,KAAA;AAAA,IACrB,0BAAA,EAA4B,gBAAA;AAAA,IAC5B,sBAAA,EAAwB,mBAAA;AAAA,IACxB,wBAAA,EAA0B,WAAA;AAAA,IAC1B,sBAAA,EAAwB,aAAA;AAAA,IACxB,yBAAA,EAA2B,WAAA;AAAA,IAC3B,yBAAA,EAA2B,8CAAA;AAAA,IAC3B,yBAAA,EAA2B,QAAA;AAAA,IAC3B,uBAAA,EAAyB,kBAAA;AAAA,IACzB,8BAAA,EAAgC,eAAA;AAAA,IAChC,2BAAA,EAA6B,cAAA;AAAA,IAC7B,uBAAA,EAAyB,UAAA;AAAA,IACzB,wBAAA,EAA0B,cAAA;AAAA,IAC1B,qBAAA,EAAuB,QAAA;AAAA,IACvB,uBAAA,EAAyB,UAAA;AAAA,IACzB,oBAAA,EAAsB,8BAAA;AAAA,IACtB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
1
+ {"version":3,"file":"de.esm.js","sources":["../../src/translations/de.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * de translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationDe = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'ServiceNow-Tickets',\n 'page.titleWithCount': 'ServiceNow-Tickets ({{count}})',\n 'filter.state': 'Status',\n 'filter.priority': 'Priorität',\n 'priority.critical': 'Kritisch',\n 'priority.high': 'Hoch',\n 'priority.moderate': 'Mittel',\n 'priority.low': 'Niedrig',\n 'priority.planning': 'Planung',\n 'incidentState.new': 'Neu',\n 'incidentState.inProgress': 'In Bearbeitung',\n 'incidentState.onHold': 'Zurückgestellt',\n 'incidentState.resolved': 'Gelöst',\n 'incidentState.closed': 'Geschlossen',\n 'incidentState.cancelled': 'Storniert',\n 'errors.loadingIncidents': 'Fehler beim Laden der Vorfälle: {{error}}',\n 'table.searchPlaceholder': 'Suchen',\n 'table.labelRowsSelect': '{{count}} Zeilen',\n 'table.columns.incidentNumber': 'Vorfallnummer',\n 'table.columns.description': 'Beschreibung',\n 'table.columns.created': 'Erstellt',\n 'table.columns.priority': 'Priorität',\n 'table.columns.state': 'Status',\n 'table.columns.actions': 'Aktionen',\n 'table.emptyContent': 'Keine Datensätze gefunden',\n 'table.rowsPerPage': 'Zeilen pro Seite',\n 'actions.openInServicenow': 'In ServiceNow öffnen',\n },\n});\n\nexport default servicenowTranslationDe;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,oBAAA;AAAA,IACd,qBAAA,EAAuB,gCAAA;AAAA,IACvB,cAAA,EAAgB,QAAA;AAAA,IAChB,iBAAA,EAAmB,cAAA;AAAA,IACnB,mBAAA,EAAqB,UAAA;AAAA,IACrB,eAAA,EAAiB,MAAA;AAAA,IACjB,mBAAA,EAAqB,QAAA;AAAA,IACrB,cAAA,EAAgB,SAAA;AAAA,IAChB,mBAAA,EAAqB,SAAA;AAAA,IACrB,mBAAA,EAAqB,KAAA;AAAA,IACrB,0BAAA,EAA4B,gBAAA;AAAA,IAC5B,sBAAA,EAAwB,mBAAA;AAAA,IACxB,wBAAA,EAA0B,WAAA;AAAA,IAC1B,sBAAA,EAAwB,aAAA;AAAA,IACxB,yBAAA,EAA2B,WAAA;AAAA,IAC3B,yBAAA,EAA2B,8CAAA;AAAA,IAC3B,yBAAA,EAA2B,QAAA;AAAA,IAC3B,uBAAA,EAAyB,kBAAA;AAAA,IACzB,8BAAA,EAAgC,eAAA;AAAA,IAChC,2BAAA,EAA6B,cAAA;AAAA,IAC7B,uBAAA,EAAyB,UAAA;AAAA,IACzB,wBAAA,EAA0B,cAAA;AAAA,IAC1B,qBAAA,EAAuB,QAAA;AAAA,IACvB,uBAAA,EAAyB,UAAA;AAAA,IACzB,oBAAA,EAAsB,8BAAA;AAAA,IACtB,mBAAA,EAAqB,kBAAA;AAAA,IACrB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
@@ -29,6 +29,7 @@ const servicenowTranslationEs = createTranslationMessages({
29
29
  "table.columns.state": "Estado",
30
30
  "table.columns.actions": "Acciones",
31
31
  "table.emptyContent": "No se encontraron registros",
32
+ "table.rowsPerPage": "Filas por p\xE1gina",
32
33
  "actions.openInServicenow": "Abrir en ServiceNow"
33
34
  }
34
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"es.esm.js","sources":["../../src/translations/es.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * es translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationEs = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'Tickets de ServiceNow',\n 'page.titleWithCount': 'Tickets de ServiceNow ({{count}})',\n 'filter.state': 'Estado',\n 'filter.priority': 'Prioridad',\n 'priority.critical': 'Crítica',\n 'priority.high': 'Alta',\n 'priority.moderate': 'Moderada',\n 'priority.low': 'Baja',\n 'priority.planning': 'Planificación',\n 'incidentState.new': 'Nuevo',\n 'incidentState.inProgress': 'En curso',\n 'incidentState.onHold': 'En espera',\n 'incidentState.resolved': 'Resuelto',\n 'incidentState.closed': 'Cerrado',\n 'incidentState.cancelled': 'Cancelado',\n 'errors.loadingIncidents': 'Error al cargar incidentes: {{error}}',\n 'table.searchPlaceholder': 'Buscar',\n 'table.labelRowsSelect': '{{count}} filas',\n 'table.columns.incidentNumber': 'Número de incidente',\n 'table.columns.description': 'Descripción',\n 'table.columns.created': 'Creado',\n 'table.columns.priority': 'Prioridad',\n 'table.columns.state': 'Estado',\n 'table.columns.actions': 'Acciones',\n 'table.emptyContent': 'No se encontraron registros',\n 'actions.openInServicenow': 'Abrir en ServiceNow',\n },\n});\n\nexport default servicenowTranslationEs;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,uBAAA;AAAA,IACd,qBAAA,EAAuB,mCAAA;AAAA,IACvB,cAAA,EAAgB,QAAA;AAAA,IAChB,iBAAA,EAAmB,WAAA;AAAA,IACnB,mBAAA,EAAqB,YAAA;AAAA,IACrB,eAAA,EAAiB,MAAA;AAAA,IACjB,mBAAA,EAAqB,UAAA;AAAA,IACrB,cAAA,EAAgB,MAAA;AAAA,IAChB,mBAAA,EAAqB,kBAAA;AAAA,IACrB,mBAAA,EAAqB,OAAA;AAAA,IACrB,0BAAA,EAA4B,UAAA;AAAA,IAC5B,sBAAA,EAAwB,WAAA;AAAA,IACxB,wBAAA,EAA0B,UAAA;AAAA,IAC1B,sBAAA,EAAwB,SAAA;AAAA,IACxB,yBAAA,EAA2B,WAAA;AAAA,IAC3B,yBAAA,EAA2B,uCAAA;AAAA,IAC3B,yBAAA,EAA2B,QAAA;AAAA,IAC3B,uBAAA,EAAyB,oBAAA;AAAA,IACzB,8BAAA,EAAgC,wBAAA;AAAA,IAChC,2BAAA,EAA6B,gBAAA;AAAA,IAC7B,uBAAA,EAAyB,QAAA;AAAA,IACzB,wBAAA,EAA0B,WAAA;AAAA,IAC1B,qBAAA,EAAuB,QAAA;AAAA,IACvB,uBAAA,EAAyB,UAAA;AAAA,IACzB,oBAAA,EAAsB,6BAAA;AAAA,IACtB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
1
+ {"version":3,"file":"es.esm.js","sources":["../../src/translations/es.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * es translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationEs = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'Tickets de ServiceNow',\n 'page.titleWithCount': 'Tickets de ServiceNow ({{count}})',\n 'filter.state': 'Estado',\n 'filter.priority': 'Prioridad',\n 'priority.critical': 'Crítica',\n 'priority.high': 'Alta',\n 'priority.moderate': 'Moderada',\n 'priority.low': 'Baja',\n 'priority.planning': 'Planificación',\n 'incidentState.new': 'Nuevo',\n 'incidentState.inProgress': 'En curso',\n 'incidentState.onHold': 'En espera',\n 'incidentState.resolved': 'Resuelto',\n 'incidentState.closed': 'Cerrado',\n 'incidentState.cancelled': 'Cancelado',\n 'errors.loadingIncidents': 'Error al cargar incidentes: {{error}}',\n 'table.searchPlaceholder': 'Buscar',\n 'table.labelRowsSelect': '{{count}} filas',\n 'table.columns.incidentNumber': 'Número de incidente',\n 'table.columns.description': 'Descripción',\n 'table.columns.created': 'Creado',\n 'table.columns.priority': 'Prioridad',\n 'table.columns.state': 'Estado',\n 'table.columns.actions': 'Acciones',\n 'table.emptyContent': 'No se encontraron registros',\n 'table.rowsPerPage': 'Filas por página',\n 'actions.openInServicenow': 'Abrir en ServiceNow',\n },\n});\n\nexport default servicenowTranslationEs;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,uBAAA;AAAA,IACd,qBAAA,EAAuB,mCAAA;AAAA,IACvB,cAAA,EAAgB,QAAA;AAAA,IAChB,iBAAA,EAAmB,WAAA;AAAA,IACnB,mBAAA,EAAqB,YAAA;AAAA,IACrB,eAAA,EAAiB,MAAA;AAAA,IACjB,mBAAA,EAAqB,UAAA;AAAA,IACrB,cAAA,EAAgB,MAAA;AAAA,IAChB,mBAAA,EAAqB,kBAAA;AAAA,IACrB,mBAAA,EAAqB,OAAA;AAAA,IACrB,0BAAA,EAA4B,UAAA;AAAA,IAC5B,sBAAA,EAAwB,WAAA;AAAA,IACxB,wBAAA,EAA0B,UAAA;AAAA,IAC1B,sBAAA,EAAwB,SAAA;AAAA,IACxB,yBAAA,EAA2B,WAAA;AAAA,IAC3B,yBAAA,EAA2B,uCAAA;AAAA,IAC3B,yBAAA,EAA2B,QAAA;AAAA,IAC3B,uBAAA,EAAyB,oBAAA;AAAA,IACzB,8BAAA,EAAgC,wBAAA;AAAA,IAChC,2BAAA,EAA6B,gBAAA;AAAA,IAC7B,uBAAA,EAAyB,QAAA;AAAA,IACzB,wBAAA,EAA0B,WAAA;AAAA,IAC1B,qBAAA,EAAuB,QAAA;AAAA,IACvB,uBAAA,EAAyB,UAAA;AAAA,IACzB,oBAAA,EAAsB,6BAAA;AAAA,IACtB,mBAAA,EAAqB,qBAAA;AAAA,IACrB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
@@ -29,6 +29,7 @@ const servicenowTranslationFr = createTranslationMessages({
29
29
  "table.columns.state": "\xC9tat",
30
30
  "table.columns.actions": "Actions",
31
31
  "table.emptyContent": "Aucun enregistrement trouv\xE9",
32
+ "table.rowsPerPage": "Lignes par page",
32
33
  "actions.openInServicenow": "Ouvrir dans ServiceNow"
33
34
  }
34
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fr.esm.js","sources":["../../src/translations/fr.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * fr translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationFr = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'Tickets ServiceNow',\n 'page.titleWithCount': 'Tickets ServiceNow ({{count}})',\n 'filter.state': 'État',\n 'filter.priority': 'Priorité',\n 'priority.critical': 'Critique',\n 'priority.high': 'Élevé',\n 'priority.moderate': 'Modéré',\n 'priority.low': 'Faible',\n 'priority.planning': 'Planification',\n 'incidentState.new': 'Nouveau',\n 'incidentState.inProgress': 'En cours',\n 'incidentState.onHold': 'En attente',\n 'incidentState.resolved': 'Résolu',\n 'incidentState.closed': 'Fermé',\n 'incidentState.cancelled': 'Annulé',\n 'errors.loadingIncidents':\n 'Erreur lors du chargement des incidents : {{error}}',\n 'table.searchPlaceholder': 'Recherche',\n 'table.labelRowsSelect': '{{count}} lignes',\n 'table.columns.incidentNumber': \"Numéro d'incident\",\n 'table.columns.description': 'Description',\n 'table.columns.created': 'Créé',\n 'table.columns.priority': 'Priorité',\n 'table.columns.state': 'État',\n 'table.columns.actions': 'Actions',\n 'table.emptyContent': 'Aucun enregistrement trouvé',\n 'actions.openInServicenow': 'Ouvrir dans ServiceNow',\n },\n});\n\nexport default servicenowTranslationFr;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,oBAAA;AAAA,IACd,qBAAA,EAAuB,gCAAA;AAAA,IACvB,cAAA,EAAgB,SAAA;AAAA,IAChB,iBAAA,EAAmB,aAAA;AAAA,IACnB,mBAAA,EAAqB,UAAA;AAAA,IACrB,eAAA,EAAiB,aAAA;AAAA,IACjB,mBAAA,EAAqB,cAAA;AAAA,IACrB,cAAA,EAAgB,QAAA;AAAA,IAChB,mBAAA,EAAqB,eAAA;AAAA,IACrB,mBAAA,EAAqB,SAAA;AAAA,IACrB,0BAAA,EAA4B,UAAA;AAAA,IAC5B,sBAAA,EAAwB,YAAA;AAAA,IACxB,wBAAA,EAA0B,WAAA;AAAA,IAC1B,sBAAA,EAAwB,UAAA;AAAA,IACxB,yBAAA,EAA2B,WAAA;AAAA,IAC3B,yBAAA,EACE,wDAAA;AAAA,IACF,yBAAA,EAA2B,WAAA;AAAA,IAC3B,uBAAA,EAAyB,kBAAA;AAAA,IACzB,8BAAA,EAAgC,sBAAA;AAAA,IAChC,2BAAA,EAA6B,aAAA;AAAA,IAC7B,uBAAA,EAAyB,YAAA;AAAA,IACzB,wBAAA,EAA0B,aAAA;AAAA,IAC1B,qBAAA,EAAuB,SAAA;AAAA,IACvB,uBAAA,EAAyB,SAAA;AAAA,IACzB,oBAAA,EAAsB,gCAAA;AAAA,IACtB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
1
+ {"version":3,"file":"fr.esm.js","sources":["../../src/translations/fr.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * fr translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationFr = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'Tickets ServiceNow',\n 'page.titleWithCount': 'Tickets ServiceNow ({{count}})',\n 'filter.state': 'État',\n 'filter.priority': 'Priorité',\n 'priority.critical': 'Critique',\n 'priority.high': 'Élevé',\n 'priority.moderate': 'Modéré',\n 'priority.low': 'Faible',\n 'priority.planning': 'Planification',\n 'incidentState.new': 'Nouveau',\n 'incidentState.inProgress': 'En cours',\n 'incidentState.onHold': 'En attente',\n 'incidentState.resolved': 'Résolu',\n 'incidentState.closed': 'Fermé',\n 'incidentState.cancelled': 'Annulé',\n 'errors.loadingIncidents':\n 'Erreur lors du chargement des incidents : {{error}}',\n 'table.searchPlaceholder': 'Recherche',\n 'table.labelRowsSelect': '{{count}} lignes',\n 'table.columns.incidentNumber': \"Numéro d'incident\",\n 'table.columns.description': 'Description',\n 'table.columns.created': 'Créé',\n 'table.columns.priority': 'Priorité',\n 'table.columns.state': 'État',\n 'table.columns.actions': 'Actions',\n 'table.emptyContent': 'Aucun enregistrement trouvé',\n 'table.rowsPerPage': 'Lignes par page',\n 'actions.openInServicenow': 'Ouvrir dans ServiceNow',\n },\n});\n\nexport default servicenowTranslationFr;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,oBAAA;AAAA,IACd,qBAAA,EAAuB,gCAAA;AAAA,IACvB,cAAA,EAAgB,SAAA;AAAA,IAChB,iBAAA,EAAmB,aAAA;AAAA,IACnB,mBAAA,EAAqB,UAAA;AAAA,IACrB,eAAA,EAAiB,aAAA;AAAA,IACjB,mBAAA,EAAqB,cAAA;AAAA,IACrB,cAAA,EAAgB,QAAA;AAAA,IAChB,mBAAA,EAAqB,eAAA;AAAA,IACrB,mBAAA,EAAqB,SAAA;AAAA,IACrB,0BAAA,EAA4B,UAAA;AAAA,IAC5B,sBAAA,EAAwB,YAAA;AAAA,IACxB,wBAAA,EAA0B,WAAA;AAAA,IAC1B,sBAAA,EAAwB,UAAA;AAAA,IACxB,yBAAA,EAA2B,WAAA;AAAA,IAC3B,yBAAA,EACE,wDAAA;AAAA,IACF,yBAAA,EAA2B,WAAA;AAAA,IAC3B,uBAAA,EAAyB,kBAAA;AAAA,IACzB,8BAAA,EAAgC,sBAAA;AAAA,IAChC,2BAAA,EAA6B,aAAA;AAAA,IAC7B,uBAAA,EAAyB,YAAA;AAAA,IACzB,wBAAA,EAA0B,aAAA;AAAA,IAC1B,qBAAA,EAAuB,SAAA;AAAA,IACvB,uBAAA,EAAyB,SAAA;AAAA,IACzB,oBAAA,EAAsB,gCAAA;AAAA,IACtB,mBAAA,EAAqB,iBAAA;AAAA,IACrB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
@@ -29,6 +29,7 @@ const servicenowTranslationIt = createTranslationMessages({
29
29
  "table.columns.state": "Stato",
30
30
  "table.columns.actions": "Azioni",
31
31
  "table.emptyContent": "Nessun risultato trovato",
32
+ "table.rowsPerPage": "Righe per pagina",
32
33
  "actions.openInServicenow": "Apri in ServiceNow"
33
34
  }
34
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"it.esm.js","sources":["../../src/translations/it.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * Italian translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationIt = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'Ticket di ServiceNow',\n 'page.titleWithCount': 'Ticket di ServiceNow ({{count}})',\n 'filter.state': 'Stato',\n 'filter.priority': 'Priorità',\n 'priority.critical': 'Critico',\n 'priority.high': 'Elevata',\n 'priority.moderate': 'Moderato',\n 'priority.low': 'Bassa',\n 'priority.planning': 'Pianificazione',\n 'incidentState.new': 'Nuovo',\n 'incidentState.inProgress': 'In corso',\n 'incidentState.onHold': 'In attesa',\n 'incidentState.resolved': 'Risolto',\n 'incidentState.closed': 'Chiuso',\n 'incidentState.cancelled': 'Annullato',\n 'errors.loadingIncidents':\n 'Errore durante il caricamento incidenti: {{error}}',\n 'table.searchPlaceholder': 'Ricerca',\n 'table.labelRowsSelect': '{{count}} righe',\n 'table.columns.incidentNumber': 'Numero incidente',\n 'table.columns.description': 'Descrizione',\n 'table.columns.created': 'Creato',\n 'table.columns.priority': 'Priorità',\n 'table.columns.state': 'Stato',\n 'table.columns.actions': 'Azioni',\n 'table.emptyContent': 'Nessun risultato trovato',\n 'actions.openInServicenow': 'Apri in ServiceNow',\n },\n});\n\nexport default servicenowTranslationIt;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,sBAAA;AAAA,IACd,qBAAA,EAAuB,kCAAA;AAAA,IACvB,cAAA,EAAgB,OAAA;AAAA,IAChB,iBAAA,EAAmB,aAAA;AAAA,IACnB,mBAAA,EAAqB,SAAA;AAAA,IACrB,eAAA,EAAiB,SAAA;AAAA,IACjB,mBAAA,EAAqB,UAAA;AAAA,IACrB,cAAA,EAAgB,OAAA;AAAA,IAChB,mBAAA,EAAqB,gBAAA;AAAA,IACrB,mBAAA,EAAqB,OAAA;AAAA,IACrB,0BAAA,EAA4B,UAAA;AAAA,IAC5B,sBAAA,EAAwB,WAAA;AAAA,IACxB,wBAAA,EAA0B,SAAA;AAAA,IAC1B,sBAAA,EAAwB,QAAA;AAAA,IACxB,yBAAA,EAA2B,WAAA;AAAA,IAC3B,yBAAA,EACE,oDAAA;AAAA,IACF,yBAAA,EAA2B,SAAA;AAAA,IAC3B,uBAAA,EAAyB,iBAAA;AAAA,IACzB,8BAAA,EAAgC,kBAAA;AAAA,IAChC,2BAAA,EAA6B,aAAA;AAAA,IAC7B,uBAAA,EAAyB,QAAA;AAAA,IACzB,wBAAA,EAA0B,aAAA;AAAA,IAC1B,qBAAA,EAAuB,OAAA;AAAA,IACvB,uBAAA,EAAyB,QAAA;AAAA,IACzB,oBAAA,EAAsB,0BAAA;AAAA,IACtB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
1
+ {"version":3,"file":"it.esm.js","sources":["../../src/translations/it.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * Italian translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationIt = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'Ticket di ServiceNow',\n 'page.titleWithCount': 'Ticket di ServiceNow ({{count}})',\n 'filter.state': 'Stato',\n 'filter.priority': 'Priorità',\n 'priority.critical': 'Critico',\n 'priority.high': 'Elevata',\n 'priority.moderate': 'Moderato',\n 'priority.low': 'Bassa',\n 'priority.planning': 'Pianificazione',\n 'incidentState.new': 'Nuovo',\n 'incidentState.inProgress': 'In corso',\n 'incidentState.onHold': 'In attesa',\n 'incidentState.resolved': 'Risolto',\n 'incidentState.closed': 'Chiuso',\n 'incidentState.cancelled': 'Annullato',\n 'errors.loadingIncidents':\n 'Errore durante il caricamento incidenti: {{error}}',\n 'table.searchPlaceholder': 'Ricerca',\n 'table.labelRowsSelect': '{{count}} righe',\n 'table.columns.incidentNumber': 'Numero incidente',\n 'table.columns.description': 'Descrizione',\n 'table.columns.created': 'Creato',\n 'table.columns.priority': 'Priorità',\n 'table.columns.state': 'Stato',\n 'table.columns.actions': 'Azioni',\n 'table.emptyContent': 'Nessun risultato trovato',\n 'table.rowsPerPage': 'Righe per pagina',\n 'actions.openInServicenow': 'Apri in ServiceNow',\n },\n});\n\nexport default servicenowTranslationIt;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,sBAAA;AAAA,IACd,qBAAA,EAAuB,kCAAA;AAAA,IACvB,cAAA,EAAgB,OAAA;AAAA,IAChB,iBAAA,EAAmB,aAAA;AAAA,IACnB,mBAAA,EAAqB,SAAA;AAAA,IACrB,eAAA,EAAiB,SAAA;AAAA,IACjB,mBAAA,EAAqB,UAAA;AAAA,IACrB,cAAA,EAAgB,OAAA;AAAA,IAChB,mBAAA,EAAqB,gBAAA;AAAA,IACrB,mBAAA,EAAqB,OAAA;AAAA,IACrB,0BAAA,EAA4B,UAAA;AAAA,IAC5B,sBAAA,EAAwB,WAAA;AAAA,IACxB,wBAAA,EAA0B,SAAA;AAAA,IAC1B,sBAAA,EAAwB,QAAA;AAAA,IACxB,yBAAA,EAA2B,WAAA;AAAA,IAC3B,yBAAA,EACE,oDAAA;AAAA,IACF,yBAAA,EAA2B,SAAA;AAAA,IAC3B,uBAAA,EAAyB,iBAAA;AAAA,IACzB,8BAAA,EAAgC,kBAAA;AAAA,IAChC,2BAAA,EAA6B,aAAA;AAAA,IAC7B,uBAAA,EAAyB,QAAA;AAAA,IACzB,wBAAA,EAA0B,aAAA;AAAA,IAC1B,qBAAA,EAAuB,OAAA;AAAA,IACvB,uBAAA,EAAyB,QAAA;AAAA,IACzB,oBAAA,EAAsB,0BAAA;AAAA,IACtB,mBAAA,EAAqB,kBAAA;AAAA,IACrB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
@@ -29,6 +29,7 @@ const servicenowTranslationJa = createTranslationMessages({
29
29
  "table.columns.state": "\u72B6\u614B",
30
30
  "table.columns.actions": "\u30A2\u30AF\u30B7\u30E7\u30F3",
31
31
  "table.emptyContent": "\u30EC\u30B3\u30FC\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
32
+ "table.rowsPerPage": "\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u884C\u6570",
32
33
  "actions.openInServicenow": "ServiceNow \u3067\u958B\u304F"
33
34
  }
34
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ja.esm.js","sources":["../../src/translations/ja.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * Japanese translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationJa = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'ServiceNow チケット',\n 'page.titleWithCount': 'ServiceNow チケット ({{count}})',\n 'filter.state': '状態',\n 'filter.priority': '優先度',\n 'priority.critical': '重大',\n 'priority.high': '高',\n 'priority.moderate': '中程度',\n 'priority.low': '低',\n 'priority.planning': '計画中',\n 'incidentState.new': '新規',\n 'incidentState.inProgress': '進行中',\n 'incidentState.onHold': '保留中',\n 'incidentState.resolved': '解決済み',\n 'incidentState.closed': 'クローズ済み',\n 'incidentState.cancelled': 'キャンセル済み',\n 'errors.loadingIncidents':\n 'インシデントの読み込み中にエラーが発生: {{error}}',\n 'table.searchPlaceholder': '検索',\n 'table.labelRowsSelect': '{{count}} 行',\n 'table.columns.incidentNumber': 'インシデント番号',\n 'table.columns.description': '説明',\n 'table.columns.created': '作成済み',\n 'table.columns.priority': '優先度',\n 'table.columns.state': '状態',\n 'table.columns.actions': 'アクション',\n 'table.emptyContent': 'レコードが見つかりません',\n 'actions.openInServicenow': 'ServiceNow で開く',\n },\n});\n\nexport default servicenowTranslationJa;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,qCAAA;AAAA,IACd,qBAAA,EAAuB,iDAAA;AAAA,IACvB,cAAA,EAAgB,cAAA;AAAA,IAChB,iBAAA,EAAmB,oBAAA;AAAA,IACnB,mBAAA,EAAqB,cAAA;AAAA,IACrB,eAAA,EAAiB,QAAA;AAAA,IACjB,mBAAA,EAAqB,oBAAA;AAAA,IACrB,cAAA,EAAgB,QAAA;AAAA,IAChB,mBAAA,EAAqB,oBAAA;AAAA,IACrB,mBAAA,EAAqB,cAAA;AAAA,IACrB,0BAAA,EAA4B,oBAAA;AAAA,IAC5B,sBAAA,EAAwB,oBAAA;AAAA,IACxB,wBAAA,EAA0B,0BAAA;AAAA,IAC1B,sBAAA,EAAwB,sCAAA;AAAA,IACxB,yBAAA,EAA2B,4CAAA;AAAA,IAC3B,yBAAA,EACE,+HAAA;AAAA,IACF,yBAAA,EAA2B,cAAA;AAAA,IAC3B,uBAAA,EAAyB,kBAAA;AAAA,IACzB,8BAAA,EAAgC,kDAAA;AAAA,IAChC,2BAAA,EAA6B,cAAA;AAAA,IAC7B,uBAAA,EAAyB,0BAAA;AAAA,IACzB,wBAAA,EAA0B,oBAAA;AAAA,IAC1B,qBAAA,EAAuB,cAAA;AAAA,IACvB,uBAAA,EAAyB,gCAAA;AAAA,IACzB,oBAAA,EAAsB,0EAAA;AAAA,IACtB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
1
+ {"version":3,"file":"ja.esm.js","sources":["../../src/translations/ja.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { servicenowTranslationRef } from './ref';\n\n/**\n * Japanese translation for plugin.servicenow.\n * @public\n */\nconst servicenowTranslationJa = createTranslationMessages({\n ref: servicenowTranslationRef,\n messages: {\n 'page.title': 'ServiceNow チケット',\n 'page.titleWithCount': 'ServiceNow チケット ({{count}})',\n 'filter.state': '状態',\n 'filter.priority': '優先度',\n 'priority.critical': '重大',\n 'priority.high': '高',\n 'priority.moderate': '中程度',\n 'priority.low': '低',\n 'priority.planning': '計画中',\n 'incidentState.new': '新規',\n 'incidentState.inProgress': '進行中',\n 'incidentState.onHold': '保留中',\n 'incidentState.resolved': '解決済み',\n 'incidentState.closed': 'クローズ済み',\n 'incidentState.cancelled': 'キャンセル済み',\n 'errors.loadingIncidents':\n 'インシデントの読み込み中にエラーが発生: {{error}}',\n 'table.searchPlaceholder': '検索',\n 'table.labelRowsSelect': '{{count}} 行',\n 'table.columns.incidentNumber': 'インシデント番号',\n 'table.columns.description': '説明',\n 'table.columns.created': '作成済み',\n 'table.columns.priority': '優先度',\n 'table.columns.state': '状態',\n 'table.columns.actions': 'アクション',\n 'table.emptyContent': 'レコードが見つかりません',\n 'table.rowsPerPage': 'ページあたりの行数',\n 'actions.openInServicenow': 'ServiceNow で開く',\n },\n});\n\nexport default servicenowTranslationJa;\n"],"names":[],"mappings":";;;AAuBA,MAAM,0BAA0B,yBAAA,CAA0B;AAAA,EACxD,GAAA,EAAK,wBAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,qCAAA;AAAA,IACd,qBAAA,EAAuB,iDAAA;AAAA,IACvB,cAAA,EAAgB,cAAA;AAAA,IAChB,iBAAA,EAAmB,oBAAA;AAAA,IACnB,mBAAA,EAAqB,cAAA;AAAA,IACrB,eAAA,EAAiB,QAAA;AAAA,IACjB,mBAAA,EAAqB,oBAAA;AAAA,IACrB,cAAA,EAAgB,QAAA;AAAA,IAChB,mBAAA,EAAqB,oBAAA;AAAA,IACrB,mBAAA,EAAqB,cAAA;AAAA,IACrB,0BAAA,EAA4B,oBAAA;AAAA,IAC5B,sBAAA,EAAwB,oBAAA;AAAA,IACxB,wBAAA,EAA0B,0BAAA;AAAA,IAC1B,sBAAA,EAAwB,sCAAA;AAAA,IACxB,yBAAA,EAA2B,4CAAA;AAAA,IAC3B,yBAAA,EACE,+HAAA;AAAA,IACF,yBAAA,EAA2B,cAAA;AAAA,IAC3B,uBAAA,EAAyB,kBAAA;AAAA,IACzB,8BAAA,EAAgC,kDAAA;AAAA,IAChC,2BAAA,EAA6B,cAAA;AAAA,IAC7B,uBAAA,EAAyB,0BAAA;AAAA,IACzB,wBAAA,EAA0B,oBAAA;AAAA,IAC1B,qBAAA,EAAuB,cAAA;AAAA,IACvB,uBAAA,EAAyB,gCAAA;AAAA,IACzB,oBAAA,EAAsB,0EAAA;AAAA,IACtB,mBAAA,EAAqB,wDAAA;AAAA,IACrB,0BAAA,EAA4B;AAAA;AAEhC,CAAC;;;;"}
@@ -16,7 +16,8 @@ const servicenowMessages = {
16
16
  state: "State",
17
17
  actions: "Actions"
18
18
  },
19
- emptyContent: "No records found"
19
+ emptyContent: "No records found",
20
+ rowsPerPage: "Rows per page"
20
21
  },
21
22
  filter: {
22
23
  state: "State",
@@ -1 +1 @@
1
- {"version":3,"file":"ref.esm.js","sources":["../../src/translations/ref.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\nexport const servicenowMessages = {\n page: {\n title: 'ServiceNow tickets',\n titleWithCount: 'ServiceNow tickets ({{count}})',\n },\n table: {\n searchPlaceholder: 'Search',\n labelRowsSelect: '{{count}} rows',\n columns: {\n incidentNumber: 'Incident Number',\n description: 'Description',\n created: 'Created',\n priority: 'Priority',\n state: 'State',\n actions: 'Actions',\n },\n emptyContent: 'No records found',\n },\n filter: {\n state: 'State',\n priority: 'Priority',\n },\n priority: {\n critical: 'Critical',\n high: 'High',\n moderate: 'Moderate',\n low: 'Low',\n planning: 'Planning',\n },\n incidentState: {\n new: 'New',\n inProgress: 'In Progress',\n onHold: 'On Hold',\n resolved: 'Resolved',\n closed: 'Closed',\n cancelled: 'Cancelled',\n },\n errors: {\n loadingIncidents: 'Error loading incidents: {{error}}',\n },\n actions: {\n openInServicenow: 'Open in ServiceNow',\n },\n};\n\n/**\n * Translation reference for the ServiceNow plugin.\n * @alpha\n */\nexport const servicenowTranslationRef = createTranslationRef({\n id: 'plugin.servicenow',\n messages: servicenowMessages,\n});\n"],"names":[],"mappings":";;AAiBO,MAAM,kBAAA,GAAqB;AAAA,EAChC,IAAA,EAAM;AAAA,IACJ,KAAA,EAAO,oBAAA;AAAA,IACP,cAAA,EAAgB;AAAA,GAClB;AAAA,EACA,KAAA,EAAO;AAAA,IACL,iBAAA,EAAmB,QAAA;AAAA,IACnB,eAAA,EAAiB,gBAAA;AAAA,IACjB,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,iBAAA;AAAA,MAChB,WAAA,EAAa,aAAA;AAAA,MACb,OAAA,EAAS,SAAA;AAAA,MACT,QAAA,EAAU,UAAA;AAAA,MACV,KAAA,EAAO,OAAA;AAAA,MACP,OAAA,EAAS;AAAA,KACX;AAAA,IACA,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,GAAA,EAAK,KAAA;AAAA,IACL,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,aAAA,EAAe;AAAA,IACb,GAAA,EAAK,KAAA;AAAA,IACL,UAAA,EAAY,aAAA;AAAA,IACZ,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA,IACR,SAAA,EAAW;AAAA,GACb;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,gBAAA,EAAkB;AAAA,GACpB;AAAA,EACA,OAAA,EAAS;AAAA,IACP,gBAAA,EAAkB;AAAA;AAEtB;AAMO,MAAM,2BAA2B,oBAAA,CAAqB;AAAA,EAC3D,EAAA,EAAI,mBAAA;AAAA,EACJ,QAAA,EAAU;AACZ,CAAC;;;;"}
1
+ {"version":3,"file":"ref.esm.js","sources":["../../src/translations/ref.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\nexport const servicenowMessages = {\n page: {\n title: 'ServiceNow tickets',\n titleWithCount: 'ServiceNow tickets ({{count}})',\n },\n table: {\n searchPlaceholder: 'Search',\n labelRowsSelect: '{{count}} rows',\n columns: {\n incidentNumber: 'Incident Number',\n description: 'Description',\n created: 'Created',\n priority: 'Priority',\n state: 'State',\n actions: 'Actions',\n },\n emptyContent: 'No records found',\n rowsPerPage: 'Rows per page',\n },\n filter: {\n state: 'State',\n priority: 'Priority',\n },\n priority: {\n critical: 'Critical',\n high: 'High',\n moderate: 'Moderate',\n low: 'Low',\n planning: 'Planning',\n },\n incidentState: {\n new: 'New',\n inProgress: 'In Progress',\n onHold: 'On Hold',\n resolved: 'Resolved',\n closed: 'Closed',\n cancelled: 'Cancelled',\n },\n errors: {\n loadingIncidents: 'Error loading incidents: {{error}}',\n },\n actions: {\n openInServicenow: 'Open in ServiceNow',\n },\n};\n\n/**\n * Translation reference for the ServiceNow plugin.\n * @alpha\n */\nexport const servicenowTranslationRef = createTranslationRef({\n id: 'plugin.servicenow',\n messages: servicenowMessages,\n});\n"],"names":[],"mappings":";;AAiBO,MAAM,kBAAA,GAAqB;AAAA,EAChC,IAAA,EAAM;AAAA,IACJ,KAAA,EAAO,oBAAA;AAAA,IACP,cAAA,EAAgB;AAAA,GAClB;AAAA,EACA,KAAA,EAAO;AAAA,IACL,iBAAA,EAAmB,QAAA;AAAA,IACnB,eAAA,EAAiB,gBAAA;AAAA,IACjB,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,iBAAA;AAAA,MAChB,WAAA,EAAa,aAAA;AAAA,MACb,OAAA,EAAS,SAAA;AAAA,MACT,QAAA,EAAU,UAAA;AAAA,MACV,KAAA,EAAO,OAAA;AAAA,MACP,OAAA,EAAS;AAAA,KACX;AAAA,IACA,YAAA,EAAc,kBAAA;AAAA,IACd,WAAA,EAAa;AAAA,GACf;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,GAAA,EAAK,KAAA;AAAA,IACL,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,aAAA,EAAe;AAAA,IACb,GAAA,EAAK,KAAA;AAAA,IACL,UAAA,EAAY,aAAA;AAAA,IACZ,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA,IACR,SAAA,EAAW;AAAA,GACb;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,gBAAA,EAAkB;AAAA,GACpB;AAAA,EACA,OAAA,EAAS;AAAA,IACP,gBAAA,EAAkB;AAAA;AAEtB;AAMO,MAAM,2BAA2B,oBAAA,CAAqB;AAAA,EAC3D,EAAA,EAAI,mBAAA;AAAA,EACJ,QAAA,EAAU;AACZ,CAAC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage-community/plugin-servicenow",
3
- "version": "1.13.0",
3
+ "version": "1.13.2",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",
@@ -86,7 +86,7 @@
86
86
  "@backstage/dev-utils": "^1.1.24",
87
87
  "@backstage/frontend-test-utils": "^0.6.1",
88
88
  "@backstage/test-utils": "^1.7.19",
89
- "@playwright/test": "1.60.0",
89
+ "@playwright/test": "1.61.1",
90
90
  "@testing-library/dom": "^10.4.1",
91
91
  "@testing-library/jest-dom": "^6.0.0",
92
92
  "@testing-library/react": "^16.0.0",