@orchestrator-ui/orchestrator-ui-components 1.21.0 → 1.22.0
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/.turbo/turbo-build.log +4 -4
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +14 -13
- package/CHANGELOG.md +14 -0
- package/dist/index.d.ts +25 -16
- package/dist/index.js +75 -83
- package/package.json +1 -1
- package/src/components/WfoForms/UserInputForm.tsx +1 -3
- package/src/components/WfoForms/UserInputFormWizard.tsx +2 -2
- package/src/components/WfoForms/formFields/deprecated/ImsPortIdField.tsx +28 -50
- package/src/components/WfoForms/formFields/deprecated/types.ts +10 -15
- package/src/components/WfoPageTemplate/WfoSidebar/WfoSidebar.tsx +2 -10
- package/src/components/WfoPageTemplate/WfoSidebar/index.ts +1 -0
- package/src/components/WfoPageTemplate/WfoSidebar/utils/index.ts +1 -0
- package/src/components/WfoPageTemplate/WfoSidebar/utils/menuItemIsAllowed.spec.ts +48 -0
- package/src/components/WfoPageTemplate/WfoSidebar/utils/menuItemIsAllowed.ts +13 -0
- package/src/components/WfoRouteChangeListener/WfoRouteChangeListener.tsx +2 -2
- package/src/components/WfoSubscription/WfoInUseByRelations.tsx +1 -0
- package/src/components/WfoSubscription/WfoSubscriptionDetailTree.tsx +10 -1
- package/src/pages/startPage/queryVariables.ts +17 -8
- package/src/rtk/api.ts +2 -2
- package/src/rtk/endpoints/formFields.ts +33 -37
- package/src/rtk/endpoints/productsSummary.ts +4 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @orchestrator-ui/orchestrator-ui-components@1.
|
|
2
|
+
> @orchestrator-ui/orchestrator-ui-components@1.22.0 build
|
|
3
3
|
> tsup src/index.ts --format esm --dts --tsconfig tsconfig.build.json
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.ts
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
[34mESM[39m Build start
|
|
10
10
|
[34mDTS[39m Build start
|
|
11
11
|
[32mESM[39m [1mdist/index.js [22m[32m2.14 MB[39m
|
|
12
|
-
[32mESM[39m ⚡️ Build success in
|
|
13
|
-
[32mDTS[39m ⚡️ Build success in
|
|
14
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
12
|
+
[32mESM[39m ⚡️ Build success in 1001ms
|
|
13
|
+
[32mDTS[39m ⚡️ Build success in 13674ms
|
|
14
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m171.59 KB[39m
|
package/.turbo/turbo-lint.log
CHANGED
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,37 +1,38 @@
|
|
|
1
1
|
|
|
2
|
-
> @orchestrator-ui/orchestrator-ui-components@1.
|
|
2
|
+
> @orchestrator-ui/orchestrator-ui-components@1.22.0 test
|
|
3
3
|
> jest
|
|
4
4
|
|
|
5
|
-
PASS Orchestrator UI Components Tests src/utils/date.spec.ts
|
|
6
5
|
PASS Orchestrator UI Components Tests src/components/WfoForms/formFields/utils.spec.ts
|
|
7
6
|
PASS Orchestrator UI Components Tests src/components/WfoSubscription/utils/utils.spec.ts
|
|
8
|
-
PASS Orchestrator UI Components Tests src/utils/
|
|
7
|
+
PASS Orchestrator UI Components Tests src/utils/date.spec.ts
|
|
9
8
|
PASS Orchestrator UI Components Tests src/pages/processes/timelineUtils.spec.ts
|
|
9
|
+
PASS Orchestrator UI Components Tests src/utils/getProductNamesFromProcess.spec.ts
|
|
10
10
|
PASS Orchestrator UI Components Tests src/utils/string.spec.ts
|
|
11
|
-
PASS Orchestrator UI Components Tests src/components/WfoTable/WfoDataGridTable/WfodataGridColumns.spec.ts
|
|
12
11
|
PASS Orchestrator UI Components Tests src/components/WfoTree/treeUtils.spec.ts
|
|
13
12
|
PASS Orchestrator UI Components Tests src/components/WfoTable/WfoTableWithFilter/updateQueryString.spec.ts
|
|
13
|
+
PASS Orchestrator UI Components Tests src/components/WfoTable/WfoDataGridTable/WfodataGridColumns.spec.ts
|
|
14
14
|
PASS Orchestrator UI Components Tests src/components/WfoTable/utils/tableUtils.spec.ts
|
|
15
|
-
PASS Orchestrator UI Components Tests src/components/WfoTable/utils/tableConfigPersistence.spec.ts
|
|
16
15
|
PASS Orchestrator UI Components Tests src/components/WfoTable/utils/mapSortableAndFilterableValuesToTableColumnConfig.spec.ts
|
|
16
|
+
PASS Orchestrator UI Components Tests src/components/WfoTable/utils/tableConfigPersistence.spec.ts
|
|
17
17
|
PASS Orchestrator UI Components Tests src/messages/getTranslationMessages.spec.ts
|
|
18
|
+
PASS Orchestrator UI Components Tests src/components/WfoPageTemplate/WfoSidebar/utils/menuItemIsAllowed.spec.ts
|
|
18
19
|
PASS Orchestrator UI Components Tests src/utils/resultFlattener.spec.ts
|
|
19
20
|
PASS Orchestrator UI Components Tests src/utils/getToastMessage.spec.ts
|
|
20
21
|
PASS Orchestrator UI Components Tests src/utils/optionalArray.spec.ts
|
|
21
|
-
PASS Orchestrator UI Components Tests src/utils/filterData.spec.ts
|
|
22
22
|
PASS Orchestrator UI Components Tests src/components/WfoTable/utils/columns.spec.ts
|
|
23
|
-
PASS Orchestrator UI Components Tests src/utils/getTokenName.spec.ts
|
|
24
|
-
PASS Orchestrator UI Components Tests src/components/WfoWorkflowSteps/stepListUtils.spec.ts
|
|
25
23
|
PASS Orchestrator UI Components Tests src/utils/sortObjectKeys.spec.ts
|
|
26
|
-
PASS Orchestrator UI Components Tests src/utils/
|
|
24
|
+
PASS Orchestrator UI Components Tests src/utils/filterData.spec.ts
|
|
25
|
+
PASS Orchestrator UI Components Tests src/components/WfoWorkflowSteps/stepListUtils.spec.ts
|
|
26
|
+
PASS Orchestrator UI Components Tests src/utils/getTokenName.spec.ts
|
|
27
27
|
PASS Orchestrator UI Components Tests src/utils/onlyUnique.spec.ts
|
|
28
|
+
PASS Orchestrator UI Components Tests src/utils/environmentVariables.spec.ts
|
|
28
29
|
PASS Orchestrator UI Components Tests src/utils/uuid.spec.ts
|
|
29
30
|
PASS Orchestrator UI Components Tests src/utils/getTypedFieldFromObject.spec.ts
|
|
30
|
-
PASS Orchestrator UI Components Tests src/components/WfoPageTemplate/WfoPageHeader/utils/toHexColorWithOpacity.spec.ts
|
|
31
31
|
PASS Orchestrator UI Components Tests src/utils/getQueryVariablesForExport.spec.ts
|
|
32
|
+
PASS Orchestrator UI Components Tests src/components/WfoPageTemplate/WfoPageHeader/utils/toHexColorWithOpacity.spec.ts
|
|
32
33
|
|
|
33
|
-
Test Suites:
|
|
34
|
-
Tests:
|
|
34
|
+
Test Suites: 28 passed, 28 total
|
|
35
|
+
Tests: 165 passed, 165 total
|
|
35
36
|
Snapshots: 0 total
|
|
36
|
-
Time: 3.
|
|
37
|
+
Time: 3.813 s
|
|
37
38
|
Ran all test suites.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @orchestrator-ui/orchestrator-ui-components
|
|
2
2
|
|
|
3
|
+
## 1.22.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- f6dc4fb: Replaces subscriptionsWithFilter REST call with a graphQL query
|
|
8
|
+
- d48df6b: Exports WFoUserInputForm
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- bcfe7de: 916 Exposes menuItemIsAllowed helper function
|
|
13
|
+
- 50e8f68: Fixes signOut modal showing in some cases
|
|
14
|
+
- 6a7264f: 1086 StartPage: Summary card with product counts ignores terminated instances
|
|
15
|
+
- aca21a5: 1085 Filters out current subscription from the related subscriptions list
|
|
16
|
+
|
|
3
17
|
## 1.21.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { HTMLFieldProps, FieldProps as FieldProps$2 } from 'uniforms';
|
|
|
9
9
|
import * as _reduxjs_toolkit_dist_query_baseQueryTypes from '@reduxjs/toolkit/dist/query/baseQueryTypes';
|
|
10
10
|
import * as _reduxjs_toolkit_query_react from '@reduxjs/toolkit/query/react';
|
|
11
11
|
import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
|
|
12
|
+
import { NextRouter } from 'next/router';
|
|
12
13
|
import { EuiSideNavItemType } from '@elastic/eui/src/components/side_nav/side_nav_types';
|
|
13
14
|
import { TranslationValues } from 'next-intl';
|
|
14
15
|
import { EuiDataGridControlColumn, EuiDataGridSorting, EuiDataGridPaginationProps } from '@elastic/eui/src/components/datagrid/data_grid_types';
|
|
@@ -535,11 +536,11 @@ declare const useLazyGetProductsQuery: _reduxjs_toolkit_dist_query_react_buildHo
|
|
|
535
536
|
stack: string | undefined;
|
|
536
537
|
}, {}>>, CacheTags, ProductsResponse, "orchestratorApi">>;
|
|
537
538
|
|
|
538
|
-
declare const productsSummary = "\n query MetadataProducts(\n $first: Int!\n $after: Int!\n $sortBy: [GraphqlSort!]\n ) {\n products(first: $first, after: $after, sortBy: $sortBy) {\n page {\n name\n subscriptions {\n pageInfo {\n totalItems\n }\n }\n }\n pageInfo {\n totalItems\n startCursor\n endCursor\n }\n }\n }\n";
|
|
539
|
+
declare const productsSummary = "\n query MetadataProducts(\n $first: Int!\n $after: Int!\n $sortBy: [GraphqlSort!]\n $filterBy: [GraphqlFilter!]\n ) {\n products(first: $first, after: $after, sortBy: $sortBy) {\n page {\n name\n subscriptions(filterBy: $filterBy) {\n pageInfo {\n totalItems\n }\n }\n }\n pageInfo {\n totalItems\n startCursor\n endCursor\n }\n }\n }\n";
|
|
539
540
|
declare type ProductsSummaryResponse = {
|
|
540
541
|
products: ProductsSummary[];
|
|
541
542
|
} & BaseGraphQlResult;
|
|
542
|
-
declare const useGetProductsSummaryQuery: _reduxjs_toolkit_dist_query_react_buildHooks.UseQuery<_reduxjs_toolkit_query.QueryDefinition<GraphqlQueryVariables<
|
|
543
|
+
declare const useGetProductsSummaryQuery: _reduxjs_toolkit_dist_query_react_buildHooks.UseQuery<_reduxjs_toolkit_query.QueryDefinition<GraphqlQueryVariables<Pick<ProductDefinition, "name"> & SubscriptionsResult<never> & Subscription>, (args: any, api: _reduxjs_toolkit_query.BaseQueryApi, extraOptions: {
|
|
543
544
|
baseQueryType?: BaseQueryTypes | undefined;
|
|
544
545
|
apiName?: string | undefined;
|
|
545
546
|
}) => {
|
|
@@ -2039,6 +2040,8 @@ declare type WfoMenuItemLinkProps = {
|
|
|
2039
2040
|
};
|
|
2040
2041
|
declare const WfoMenuItemLink: FC<WfoMenuItemLinkProps>;
|
|
2041
2042
|
|
|
2043
|
+
declare const menuItemIsAllowed: (url: string | undefined, urlPolicyMap: Map<string, string>, isAllowedHandler: (resource?: string | undefined) => boolean) => boolean;
|
|
2044
|
+
|
|
2042
2045
|
declare const PATH_START = "/";
|
|
2043
2046
|
declare const PATH_START_NEW_WORKFLOW = "/workflows/new";
|
|
2044
2047
|
declare const PATH_START_NEW_TASK = "/tasks/new";
|
|
@@ -2246,6 +2249,20 @@ declare type TreeProviderProps = {
|
|
|
2246
2249
|
};
|
|
2247
2250
|
declare const TreeProvider: React.FC<TreeProviderProps>;
|
|
2248
2251
|
|
|
2252
|
+
interface IProps$1 {
|
|
2253
|
+
router: NextRouter;
|
|
2254
|
+
stepUserInput: JSONSchema6;
|
|
2255
|
+
validSubmit: (userInput: {
|
|
2256
|
+
[index: string]: unknown;
|
|
2257
|
+
}) => Promise<unknown>;
|
|
2258
|
+
cancel?: ConfirmDialogActions['closeConfirmDialog'];
|
|
2259
|
+
previous: ConfirmDialogActions['closeConfirmDialog'];
|
|
2260
|
+
hasNext?: boolean;
|
|
2261
|
+
hasPrev?: boolean;
|
|
2262
|
+
userInput: object;
|
|
2263
|
+
isTask?: boolean;
|
|
2264
|
+
isResuming?: boolean;
|
|
2265
|
+
}
|
|
2249
2266
|
declare module 'uniforms' {
|
|
2250
2267
|
interface FilterDOMProps {
|
|
2251
2268
|
customPropToFilter: never;
|
|
@@ -2260,6 +2277,7 @@ declare module 'uniforms' {
|
|
|
2260
2277
|
options: never;
|
|
2261
2278
|
}
|
|
2262
2279
|
}
|
|
2280
|
+
declare function WfoUserInputForm({ router, stepUserInput, validSubmit, cancel, previous, hasNext, hasPrev, userInput, isTask, isResuming, }: IProps$1): _emotion_react_jsx_runtime.JSX.Element;
|
|
2263
2281
|
|
|
2264
2282
|
interface UserInputFormWizardProps {
|
|
2265
2283
|
stepUserInput: InputForm;
|
|
@@ -2480,19 +2498,6 @@ declare type VlanFieldProps = FieldProps<string, {
|
|
|
2480
2498
|
declare type VlanRange = [number, number];
|
|
2481
2499
|
declare const VlanField: uniforms.ConnectedField<VlanFieldProps, string | undefined>;
|
|
2482
2500
|
|
|
2483
|
-
interface NodeSubscription {
|
|
2484
|
-
name: string;
|
|
2485
|
-
subscription_id: string;
|
|
2486
|
-
description: string;
|
|
2487
|
-
product: ProductDefinition;
|
|
2488
|
-
product_id: string;
|
|
2489
|
-
status: string;
|
|
2490
|
-
insync: boolean;
|
|
2491
|
-
customer_id: string;
|
|
2492
|
-
start_date: number;
|
|
2493
|
-
end_date: number;
|
|
2494
|
-
note: string;
|
|
2495
|
-
}
|
|
2496
2501
|
interface ServicePort {
|
|
2497
2502
|
subscription_id?: string;
|
|
2498
2503
|
vlan?: string;
|
|
@@ -2549,6 +2554,10 @@ interface IpBlock {
|
|
|
2549
2554
|
is_subnet: boolean;
|
|
2550
2555
|
state_repr: string;
|
|
2551
2556
|
}
|
|
2557
|
+
declare type NodeSubscriptionOption = Pick<Subscription, 'subscriptionId' | 'description'>;
|
|
2558
|
+
interface NodeSubscriptionOptionsResult {
|
|
2559
|
+
subscriptions: GraphQlSinglePage<NodeSubscriptionOption>;
|
|
2560
|
+
}
|
|
2552
2561
|
|
|
2553
2562
|
declare const ipamStates: (string | null)[];
|
|
2554
2563
|
|
|
@@ -4036,4 +4045,4 @@ declare const optionalArrayMapper: <T, U>(data: T[] | undefined, mapper: (input:
|
|
|
4036
4045
|
|
|
4037
4046
|
declare const filterDataByCriteria: <Type>(data: Type[], filterCriteria: GraphqlFilter<Type>[]) => Type[];
|
|
4038
4047
|
|
|
4039
|
-
export { ACTIVE_PROCESSES_LIST_TABLE_LOCAL_STORAGE_KEY, ACTIVE_TASKS_LIST_TABLE_LOCAL_STORAGE_KEY, AcceptField, type AcceptFieldProps, type AppDispatch, type AutoFieldsProps, BadgeType, type BaseGraphQlResult, BaseQueryTypes, BoolField, type BoolFieldProps, COMPLETED_PROCESSES_LIST_TABLE_LOCAL_STORAGE_KEY, COMPLETED_TASKS_LIST_TABLE_LOCAL_STORAGE_KEY, type CacheNames, type CacheOption, CacheTags, ColorModes, type ColumnConfig, type ConfirmDialogActions, ConfirmationDialogContext, ConfirmationDialogContextWrapper, ConfirmationDialogProvider, ConnectedSelectField, ContactPersonAutocomplete, ContactPersonNameField, type ContactPersonNameFieldProps, CreateForm, type CustomApiConfig, type Customer, type CustomerDescriptions, CustomerField, type CustomerFieldProps, type CustomersResult, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, type DataDisplayParams, type DataDisplayReturnValues, DateField, type DateFieldProps, DividerField, type DividerFieldProps, type EmailAddress, type EmailState, EngineStatus, Environment, ErrorField, type ErrorFieldProps, ErrorsField, type ErrorsFieldProps, type ExternalService, type FetchFilter, type FieldProps$1 as FieldProps, type FieldValue, type FilterQuery, type FixedInputDefinition, type Form, type FormNotCompleteResponse, type FormValidationError, type GraphQLPageInfo, type GraphQLSort, type GraphQlResultPage, type GraphQlSinglePage, type GraphqlFilter, type GraphqlQueryVariables, type GroupedStep, HIDDEN_KEYS, type HeaderBadgeProps, HttpStatus, IPAM_ENDPOINT, IPAM_FREE_SUBNETS_ENDPOINT, IPAM_IP_BLOCKS_ENDPOINT, IPAM_PREFIX_FILTERS_ENDPOINT, type IPvAnyNetworkFieldProps, type ImsNode, ImsNodeIdField, type ImsNodeIdFieldProps, type ImsPort, type ImsPortFieldProps, ImsPortIdField, type InUseByRelation, type InUseByRelationDetail, type InUseByRelationsDetailResponse, type InUseByRelationsDetailResult, type InitialOrchestratorStoreConfig, type InputForm, type IpBlock, IpNetworkField, type IpPrefix, LabelField, type LabelFieldProps, ListAddField, type ListAddFieldProps, ListDelField, type ListDelFieldProps, ListField, type ListFieldProps, ListSelectField, type ListSelectFieldProps, Locale, LocationCodeField, type LocationCodeFieldProps, LongTextField, type LongTextFieldProps, MAXIMUM_ITEMS_FOR_BULK_FETCHING, METADATA_PRODUCT_BLOCKS_TABLE_LOCAL_STORAGE_KEY, METADATA_PRODUCT_TABLE_LOCAL_STORAGE_KEY, METADATA_RESOURCE_TYPES_TABLE_LOCAL_STORAGE_KEY, METADATA_TASKS_TABLE_LOCAL_STORAGE_KEY, METADATA_WORKFLOWS_TABLE_LOCAL_STORAGE_KEY, type MetaDataTab, NUMBER_OF_ITEMS_REPRESENTING_ALL_ITEMS, NestField, type NestFieldProps, type NodeSubscription, type Nullable, NumField, type NumFieldProps, OptGroupField, type OptGroupFieldProps, type OrchestratorComponentOverride, type OrchestratorConfig, OrchestratorConfigContext, OrchestratorConfigProvider, type OrchestratorConfigProviderProps, PATH_METADATA, PATH_METADATA_PRODUCTS, PATH_METADATA_PRODUCT_BLOCKS, PATH_METADATA_RESOURCE_TYPES, PATH_METADATA_TASKS, PATH_METADATA_WORKFLOWS, PATH_SETTINGS, PATH_START, PATH_START_NEW_TASK, PATH_START_NEW_WORKFLOW, PATH_SUBSCRIPTIONS, PATH_TASKS, PATH_WORKFLOWS, PROCESSES_ENDPOINT, PROCESSES_RESUME_ALL_ENDPOINT, PROCESS_ABORT_ENDPOINT, PROCESS_RESUME_ENDPOINT, PROCESS_STATUS_COUNTS_ENDPOINT, type Pagination, type Policy, PolicyContext, PolicyContextProvider, type PolicyProviderProps, PolicyResource, PortMode, type Process, type ProcessDetail, type ProcessDetailResultRaw, ProcessDoneStatuses, type ProcessListExportItem, type ProcessListItem, type ProcessListResponse, type ProcessListResult, type ProcessListSummaryResponse, ProcessStatus, type ProcessStepsResult, type ProcessSummary, type ProcessesDetailResult, type ProductBlockDefinition, type ProductBlockDefinitionsResult, type ProductBlockInstance, type ProductBlocksResponse, type ProductDefinition, type ProductDefinitionsResult, ProductLifecycleStatus, ProductTag, type ProductsResponse, type ProductsSummary, type ProductsSummaryResponse, RENDER_ALL, RESOURCE_TYPE_FIELD_DESCRIPTION, RESOURCE_TYPE_FIELD_ID, RESOURCE_TYPE_FIELD_PRODUCT_BLOCKS, RESOURCE_TYPE_FIELD_TYPE, RadioField, type RadioFieldProps, type RelatedSubscription, RelatedSubscriptionsQuery, type RelatedSubscriptionsResponse, type RelatedSubscriptionsResult, RenderDirection, type ResourceTypeDefinition, type ResourceTypeDefinitionsResult, type ResourceTypesResponse, type RootState, SETTINGS_CACHE_ENDPOINT, SETTINGS_CACHE_NAMES_ENDPOINT, SETTINGS_ENDPOINT, SETTINGS_SEARCH_INDEX_RESET_ENDPOINT, SETTINGS_STATUS_ENDPOINT, STEP_STATE_HIDDEN_KEYS, SUBSCRIPTIONS_TABLE_LOCAL_STORAGE_KEY, SUBSCRIPTION_ACTIONS_ENDPOINT, type SelectFieldProps, type ServicePort, type ShowConfirmDialog, type ShowConfirmDialogType, type SortOption, SortOrder, type StartComboBoxOption, type StartOptionsResponse, type StartOptionsResult, type StartProcessStep, type Step, type StepListItem, type StepState, StepStatus, StoreProvider, type StoreProviderProps, type StoredTableConfig, SubmitField, type SubmitFieldProps, type Subscription, type SubscriptionAction, type SubscriptionActions, type SubscriptionDetail, type SubscriptionDetailProcess, type SubscriptionDetailResponse, type SubscriptionDetailResult, SubscriptionDetailTab, type SubscriptionDropdownOption, type SubscriptionDropdownOptionsResponse, type SubscriptionDropdownOptionsResult, SubscriptionField, type SubscriptionFieldProps, SubscriptionKeyValueBlock, type SubscriptionListItem, type SubscriptionListResponse, type SubscriptionListSummaryResponse, SubscriptionStatus, type SubscriptionSummary, SubscriptionSummaryField, type SubscriptionSummaryFieldProps, type SubscriptionsResult, type SummaryCardButtonConfig, type SummaryCardListItem, SummaryCardStatus, SummaryField, type SummaryFieldProps, type TableColumnKeys, type TableConfig, TableSettingsModal, type TableSettingsModalProps, type TaskDefinition, type TaskDefinitionsResult, type TaskListItem, type TasksResponse, TextField, type TextFieldProps, type TimelineItem, TimelinePosition, TimestampField, type TimestampFieldProps, type ToastState, ToastTypes, type TreeBlock, TreeContext, type TreeContextType, TreeProvider, type TreeProviderProps, UnconnectedSelectField, type UserInputForm, UserInputFormWizard, type ValidationError, type ValidationErrorContext, type ValueOverrideConfiguration, type ValueOverrideFunction, VlanField, type VlanFieldProps, type VlanRange, WFO_STATUS_COLOR_FIELD, WfoActiveWorkflowsSummaryCard, WfoArrowNarrowDown, WfoArrowNarrowUp, WfoArrowsExpand, WfoAuth, WfoBadge, type WfoBadgeProps, WfoBasicTable, type WfoBasicTableColumns, type WfoBasicTableColumnsWithControlColumns, type WfoBasicTableProps, WfoBell, WfoBoltFill, WfoBoltSlashFill, WfoBreadcrumbs, WfoCheckmarkCircleFill, WfoChevronDown, WfoChevronUp, WfoCode, WfoCogFill, WfoContactEnvelopeFill, type WfoControlColumn, WfoCubeSolid, WfoDataGridTable, type WfoDataGridTableColumns, type WfoDataGridTableProps, type WfoDataSearch, type WfoDataSorting, WfoDateTime, type WfoDateTimeProps, WfoDropdownButton, WfoEngineStatusBadge, WfoEngineStatusButton, WfoEnvironmentBadge, WfoError, WfoErrorBoundary, type WfoEuiBasicTableColumn, WfoExpandableField, type WfoExpandableFieldProps, WfoExternalLink, WfoEyeFill, WfoFailedTasksBadge, WfoFailedTasksSummaryCard, type WfoFilterTab, WfoFilterTabs, type WfoFilterTabsProps, WfoFirstPartUUID, type WfoFirstUUIDPartProps, WfoFlushSettings, WfoHeaderBadge, type WfoIconProps, WfoInSyncField, WfoInformationModal, type WfoInformationModalProps, WfoInlineJson, type WfoInlineJsonProps, WfoInsyncIcon, WfoIsAllowedToRender, type WfoIsAllowedToRenderProps, WfoJsonCodeBlock, type WfoJsonCodeBlockProps, WfoKeyCell, type WfoKeyCellProps, WfoKeyValueTable, type WfoKeyValueTableDataType, type WfoKeyValueTableProps, WfoLatestActiveSubscriptionsSummaryCard, WfoLatestOutOfSyncSubscriptionSummaryCard, WfoLoading, WfoLogoutIcon, WfoMenuItemLink, WfoMetadataPageLayout, WfoMinusCircleFill, WfoMinusCircleOutline, WfoModifySettings, WfoMyWorkflowsSummaryCard, type WfoMyWorkflowsSummaryCardProps, WfoNoResults, WfoPageHeader, type WfoPageHeaderProps, WfoPageTemplate, type WfoPageTemplateProps, WfoPageUnauthorized, WfoPencil, WfoPencilAlt, WfoPlayCircle, WfoPlayFill, WfoPlusCircleFill, type WfoPolicyRenderFallbackProps, WfoPolicyRenderPageFallback, WfoProcessDetailPage, WfoProcessListSubscriptionsCell, WfoProcessRawData, WfoProcessStatusBadge, type WfoProcessStatusBadgeProps, WfoProcessSubscriptionDelta, WfoProcessesList, type WfoProcessesListProps, type WfoProcessesListSubscriptionsCellProps, WfoProcessesTimeline, WfoProductBlockBadge, type WfoProductBlockBadgeProps, WfoProductBlockKeyValueRow, type WfoProductBlockKeyValueRowProps, WfoProductBlocksPage, WfoProductInformationWithLink, WfoProductStatusBadge, type WfoProductStatusBadgeProps, WfoProductsPage, WfoProductsSummaryCard, WfoRefresh, WfoRelatedSubscriptions, WfoResetTextSearchIndexButton, WfoResourceTypesPage, WfoRouteChangeListener, WfoSearchField, type WfoSearchFieldProps, WfoSearchStrikethrough, type WfoSession, WfoSettingsModal, type WfoSettingsModalProps, WfoSettingsPage, WfoShare, WfoSideMenu, WfoSidebar, type WfoSidebarProps, WfoSortAsc, WfoSortButton, type WfoSortButtonProps, WfoSortButtons, type WfoSortButtonsProps, WfoSortDesc, WfoSortDirectionIcon, type WfoSortDirectionIconProps, WfoStartPage, WfoStartProcessPage, WfoStartTaskButtonComboBox, WfoStartWorkflowButtonComboBox, WfoStatistic, WfoStatus, WfoStatusColorField, type WfoStatusColorFieldProps, WfoStatusDotIcon, WfoStep, WfoStepList, WfoStepListHeader, type WfoStepListHeaderProps, type WfoStepListProps, type WfoStepListRef, type WfoStepProps, WfoStepStatusIcon, type WfoStepStatusIconProps, WfoSubmitModal, type WfoSubmitModalProps, WfoSubscription, WfoSubscriptionActions, type WfoSubscriptionActionsProps, type WfoSubscriptionDetailGeneralConfiguration, WfoSubscriptionDetailPage, WfoSubscriptionDetailTree, WfoSubscriptionGeneral, WfoSubscriptionListTab, WfoSubscriptionProductBlock, WfoSubscriptionStatusBadge, type WfoSubscriptionStatusBadgeProps, WfoSubscriptionsList, WfoSubscriptionsListPage, type WfoSubscriptionsListProps, WfoSummaryCard, WfoSummaryCardHeader, type WfoSummaryCardHeaderProps, WfoSummaryCardList, WfoSummaryCardListItem, type WfoSummaryCardListItemProps, type WfoSummaryCardListProps, type WfoSummaryCardProps, WfoSummaryCards, type WfoSummaryCardsProps, type WfoTableColumns, type WfoTableColumnsWithExtraNonDataFields, type WfoTableControlColumnConfig, type WfoTableDataColumnConfig, WfoTableHeaderCell, type WfoTableHeaderCellProps, WfoTableWithFilter, type WfoTableWithFilterProps, WfoTasksListPage, WfoTasksListTabType, WfoTasksPage, WfoTextAnchor, type WfoTheme, WfoTimeline, type WfoTimelineProps, WfoToastsList, WfoTrash, type WfoTreeNodeMap, type WfoUserProfile, WfoValueCell, type WfoValueCellProps, WfoViewList, WfoWarningTriangle, WfoWorkflowStepList, type WfoWorkflowStepListProps, WfoWorkflowTargetBadge, type WfoWorkflowTargetBadgeProps, WfoWorkflowsListPage, WfoWorkflowsListTabType, WfoWorkflowsPage, WfoXCircleFill, type WorkflowDefinition, type WorkflowDefinitionsResult, type WorkflowListItem, WorkflowTarget, type WorkflowsResponse, addToastMessage, calculateTimeDifference, camelToHuman, clearTableConfigFromLocalStorage, csvDownloadHandler, defaultOrchestratorTheme, defaultTasksListTabs, defaultWorkflowsListTabs, determineNewSortOrder, determinePageIndex, filterDataByCriteria, flattenArrayProps, formatDate, formatDateCetWithUtc, getConcatenatedPagedResult, getConcatenatedResult, getCsvFileNameWithDate, getCurrentBrowserLocale, getCustomApiSlice, getDataSortHandler, getDate, getFieldFromProductBlockInstanceValues, getFirstUuidPart, getFormFieldsBaseStyle, getInitialColumnOrder, getLastUncompletedProcess, getLatestTaskDate, getNumberOfColumns, getNumberValueFromEnvironmentVariable, getOrchestratorComponentOverrideSlice, getOrchestratorConfigSlice, getOrchestratorStore, getPageChangeHandler, getProductBlockTitle, getProductNamesFromProcess, getQueryStringHandler, getQueryVariablesForExport, getSortDirectionFromString, getStatusBadgeColor, getStepContent, getStyles, getTableConfigFromLocalStorage, getTasksListTabTypeFromString, getTypedFieldFromObject, getWfoBasicTableStyles, getWorkflowTargetColor, getWorkflowTargetIconContent, getWorkflowsListTabTypeFromString, graphQlWorkflowListMapper, handlePromiseErrorWithCallback, imsPortIdFieldStyling, initiateCsvFileDownload, ipPrefixTableFieldStyling, ipamStates, isToday, isUuid4, isValidLocalStorageTableConfig, localMomentToUtcTimestamp, mapColumnSortToEuiDataGridSorting, mapGraphQlSubscriptionsResultToPageInfo, mapGraphQlSubscriptionsResultToSubscriptionListItems, mapProcessSummaryToSummaryCardListItem, mapSortableAndFilterableValuesToTableColumnConfig, mapSubscriptionSummaryToSummaryCardListItem, mapWorkflowDefinitionToWorkflowListItem, metaDataTabs, onlyUnique, optionalArrayMapper, orchestratorApi, parseDate, parseDateOrTimeRelativeToToday, parseDateRelativeToToday, parseDateToLocaleDateString, parseDateToLocaleDateTimeString, parseDateToLocaleTimeString, parseIsoString, prepareHeaders, processListQuery, processListSummaryQuery, processStepsQuery, productBlocksQuery, products, productsSummary, removeSuffix, removeToastMessage, resourceTypesQuery, selectOrchestratorConfig, setTableConfigToLocalStorage, snakeToHuman, snakeToKebab, splitPrefixStyling, stop, subscriptionDetailQuery, subscriptionInUseByRelationQuery, subscriptionListQuery, subscriptionListSummaryQuery, subscriptionListTabs, subscriptionsDropdownOptionsQuery, tasksQuery, toOptionalArrayEntry, toastMessagesReducer, toastMessagesSlice, upperCaseFirstChar, urlPolicyMap, useCheckEngineStatus, useClearCacheMutation, useDataDisplayParams, useGetCacheNamesQuery, useGetCustomerQuery, useGetCustomersQuery, useGetEngineStatusQuery, useGetInUseByRelationDetailsQuery, useGetOrchestratorConfig, useGetProcessListQuery, useGetProcessListSummaryQuery, useGetProductBlocksQuery, useGetProductsQuery, useGetProductsSummaryQuery, useGetRelatedSubscriptionsQuery, useGetResourceTypesQuery, useGetSubscriptionDetailQuery, useGetSubscriptionListQuery, useGetSubscriptionSummaryListQuery, useGetSubscriptionsDropdownOptionsQuery, useGetTaskOptionsQuery, useGetTasksQuery, useGetTimeLineItemsQuery, useGetTranslationMessages, useGetWorkflowOptionsQuery, useGetWorkflowsQuery, useLazyGetProcessListQuery, useLazyGetProductBlocksQuery, useLazyGetProductsQuery, useLazyGetResourceTypesQuery, useLazyGetSubscriptionListQuery, useLazyGetTasksQuery, useLazyGetWorkflowsQuery, useOrchestratorConfig, useOrchestratorTheme, usePolicy, useResetTextSearchIndexMutation, useSetEngineStatusMutation, useSetSubscriptionInSyncMutation, useShowToastMessage, useStoredTableConfig, useStreamMessagesQuery, useSubscriptionDetailValueOverride, useWfoSession, useWithOrchestratorTheme, utcTimestampToLocalMoment, workflowFieldMapper, workflowsQuery };
|
|
4048
|
+
export { ACTIVE_PROCESSES_LIST_TABLE_LOCAL_STORAGE_KEY, ACTIVE_TASKS_LIST_TABLE_LOCAL_STORAGE_KEY, AcceptField, type AcceptFieldProps, type AppDispatch, type AutoFieldsProps, BadgeType, type BaseGraphQlResult, BaseQueryTypes, BoolField, type BoolFieldProps, COMPLETED_PROCESSES_LIST_TABLE_LOCAL_STORAGE_KEY, COMPLETED_TASKS_LIST_TABLE_LOCAL_STORAGE_KEY, type CacheNames, type CacheOption, CacheTags, ColorModes, type ColumnConfig, type ConfirmDialogActions, ConfirmationDialogContext, ConfirmationDialogContextWrapper, ConfirmationDialogProvider, ConnectedSelectField, ContactPersonAutocomplete, ContactPersonNameField, type ContactPersonNameFieldProps, CreateForm, type CustomApiConfig, type Customer, type CustomerDescriptions, CustomerField, type CustomerFieldProps, type CustomersResult, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, type DataDisplayParams, type DataDisplayReturnValues, DateField, type DateFieldProps, DividerField, type DividerFieldProps, type EmailAddress, type EmailState, EngineStatus, Environment, ErrorField, type ErrorFieldProps, ErrorsField, type ErrorsFieldProps, type ExternalService, type FetchFilter, type FieldProps$1 as FieldProps, type FieldValue, type FilterQuery, type FixedInputDefinition, type Form, type FormNotCompleteResponse, type FormValidationError, type GraphQLPageInfo, type GraphQLSort, type GraphQlResultPage, type GraphQlSinglePage, type GraphqlFilter, type GraphqlQueryVariables, type GroupedStep, HIDDEN_KEYS, type HeaderBadgeProps, HttpStatus, IPAM_ENDPOINT, IPAM_FREE_SUBNETS_ENDPOINT, IPAM_IP_BLOCKS_ENDPOINT, IPAM_PREFIX_FILTERS_ENDPOINT, type IPvAnyNetworkFieldProps, type ImsNode, ImsNodeIdField, type ImsNodeIdFieldProps, type ImsPort, type ImsPortFieldProps, ImsPortIdField, type InUseByRelation, type InUseByRelationDetail, type InUseByRelationsDetailResponse, type InUseByRelationsDetailResult, type InitialOrchestratorStoreConfig, type InputForm, type IpBlock, IpNetworkField, type IpPrefix, LabelField, type LabelFieldProps, ListAddField, type ListAddFieldProps, ListDelField, type ListDelFieldProps, ListField, type ListFieldProps, ListSelectField, type ListSelectFieldProps, Locale, LocationCodeField, type LocationCodeFieldProps, LongTextField, type LongTextFieldProps, MAXIMUM_ITEMS_FOR_BULK_FETCHING, METADATA_PRODUCT_BLOCKS_TABLE_LOCAL_STORAGE_KEY, METADATA_PRODUCT_TABLE_LOCAL_STORAGE_KEY, METADATA_RESOURCE_TYPES_TABLE_LOCAL_STORAGE_KEY, METADATA_TASKS_TABLE_LOCAL_STORAGE_KEY, METADATA_WORKFLOWS_TABLE_LOCAL_STORAGE_KEY, type MetaDataTab, NUMBER_OF_ITEMS_REPRESENTING_ALL_ITEMS, NestField, type NestFieldProps, type NodeSubscriptionOption, type NodeSubscriptionOptionsResult, type Nullable, NumField, type NumFieldProps, OptGroupField, type OptGroupFieldProps, type OrchestratorComponentOverride, type OrchestratorConfig, OrchestratorConfigContext, OrchestratorConfigProvider, type OrchestratorConfigProviderProps, PATH_METADATA, PATH_METADATA_PRODUCTS, PATH_METADATA_PRODUCT_BLOCKS, PATH_METADATA_RESOURCE_TYPES, PATH_METADATA_TASKS, PATH_METADATA_WORKFLOWS, PATH_SETTINGS, PATH_START, PATH_START_NEW_TASK, PATH_START_NEW_WORKFLOW, PATH_SUBSCRIPTIONS, PATH_TASKS, PATH_WORKFLOWS, PROCESSES_ENDPOINT, PROCESSES_RESUME_ALL_ENDPOINT, PROCESS_ABORT_ENDPOINT, PROCESS_RESUME_ENDPOINT, PROCESS_STATUS_COUNTS_ENDPOINT, type Pagination, type Policy, PolicyContext, PolicyContextProvider, type PolicyProviderProps, PolicyResource, PortMode, type Process, type ProcessDetail, type ProcessDetailResultRaw, ProcessDoneStatuses, type ProcessListExportItem, type ProcessListItem, type ProcessListResponse, type ProcessListResult, type ProcessListSummaryResponse, ProcessStatus, type ProcessStepsResult, type ProcessSummary, type ProcessesDetailResult, type ProductBlockDefinition, type ProductBlockDefinitionsResult, type ProductBlockInstance, type ProductBlocksResponse, type ProductDefinition, type ProductDefinitionsResult, ProductLifecycleStatus, ProductTag, type ProductsResponse, type ProductsSummary, type ProductsSummaryResponse, RENDER_ALL, RESOURCE_TYPE_FIELD_DESCRIPTION, RESOURCE_TYPE_FIELD_ID, RESOURCE_TYPE_FIELD_PRODUCT_BLOCKS, RESOURCE_TYPE_FIELD_TYPE, RadioField, type RadioFieldProps, type RelatedSubscription, RelatedSubscriptionsQuery, type RelatedSubscriptionsResponse, type RelatedSubscriptionsResult, RenderDirection, type ResourceTypeDefinition, type ResourceTypeDefinitionsResult, type ResourceTypesResponse, type RootState, SETTINGS_CACHE_ENDPOINT, SETTINGS_CACHE_NAMES_ENDPOINT, SETTINGS_ENDPOINT, SETTINGS_SEARCH_INDEX_RESET_ENDPOINT, SETTINGS_STATUS_ENDPOINT, STEP_STATE_HIDDEN_KEYS, SUBSCRIPTIONS_TABLE_LOCAL_STORAGE_KEY, SUBSCRIPTION_ACTIONS_ENDPOINT, type SelectFieldProps, type ServicePort, type ShowConfirmDialog, type ShowConfirmDialogType, type SortOption, SortOrder, type StartComboBoxOption, type StartOptionsResponse, type StartOptionsResult, type StartProcessStep, type Step, type StepListItem, type StepState, StepStatus, StoreProvider, type StoreProviderProps, type StoredTableConfig, SubmitField, type SubmitFieldProps, type Subscription, type SubscriptionAction, type SubscriptionActions, type SubscriptionDetail, type SubscriptionDetailProcess, type SubscriptionDetailResponse, type SubscriptionDetailResult, SubscriptionDetailTab, type SubscriptionDropdownOption, type SubscriptionDropdownOptionsResponse, type SubscriptionDropdownOptionsResult, SubscriptionField, type SubscriptionFieldProps, SubscriptionKeyValueBlock, type SubscriptionListItem, type SubscriptionListResponse, type SubscriptionListSummaryResponse, SubscriptionStatus, type SubscriptionSummary, SubscriptionSummaryField, type SubscriptionSummaryFieldProps, type SubscriptionsResult, type SummaryCardButtonConfig, type SummaryCardListItem, SummaryCardStatus, SummaryField, type SummaryFieldProps, type TableColumnKeys, type TableConfig, TableSettingsModal, type TableSettingsModalProps, type TaskDefinition, type TaskDefinitionsResult, type TaskListItem, type TasksResponse, TextField, type TextFieldProps, type TimelineItem, TimelinePosition, TimestampField, type TimestampFieldProps, type ToastState, ToastTypes, type TreeBlock, TreeContext, type TreeContextType, TreeProvider, type TreeProviderProps, UnconnectedSelectField, type UserInputForm, UserInputFormWizard, type ValidationError, type ValidationErrorContext, type ValueOverrideConfiguration, type ValueOverrideFunction, VlanField, type VlanFieldProps, type VlanRange, WFO_STATUS_COLOR_FIELD, WfoActiveWorkflowsSummaryCard, WfoArrowNarrowDown, WfoArrowNarrowUp, WfoArrowsExpand, WfoAuth, WfoBadge, type WfoBadgeProps, WfoBasicTable, type WfoBasicTableColumns, type WfoBasicTableColumnsWithControlColumns, type WfoBasicTableProps, WfoBell, WfoBoltFill, WfoBoltSlashFill, WfoBreadcrumbs, WfoCheckmarkCircleFill, WfoChevronDown, WfoChevronUp, WfoCode, WfoCogFill, WfoContactEnvelopeFill, type WfoControlColumn, WfoCubeSolid, WfoDataGridTable, type WfoDataGridTableColumns, type WfoDataGridTableProps, type WfoDataSearch, type WfoDataSorting, WfoDateTime, type WfoDateTimeProps, WfoDropdownButton, WfoEngineStatusBadge, WfoEngineStatusButton, WfoEnvironmentBadge, WfoError, WfoErrorBoundary, type WfoEuiBasicTableColumn, WfoExpandableField, type WfoExpandableFieldProps, WfoExternalLink, WfoEyeFill, WfoFailedTasksBadge, WfoFailedTasksSummaryCard, type WfoFilterTab, WfoFilterTabs, type WfoFilterTabsProps, WfoFirstPartUUID, type WfoFirstUUIDPartProps, WfoFlushSettings, WfoHeaderBadge, type WfoIconProps, WfoInSyncField, WfoInformationModal, type WfoInformationModalProps, WfoInlineJson, type WfoInlineJsonProps, WfoInsyncIcon, WfoIsAllowedToRender, type WfoIsAllowedToRenderProps, WfoJsonCodeBlock, type WfoJsonCodeBlockProps, WfoKeyCell, type WfoKeyCellProps, WfoKeyValueTable, type WfoKeyValueTableDataType, type WfoKeyValueTableProps, WfoLatestActiveSubscriptionsSummaryCard, WfoLatestOutOfSyncSubscriptionSummaryCard, WfoLoading, WfoLogoutIcon, WfoMenuItemLink, WfoMetadataPageLayout, WfoMinusCircleFill, WfoMinusCircleOutline, WfoModifySettings, WfoMyWorkflowsSummaryCard, type WfoMyWorkflowsSummaryCardProps, WfoNoResults, WfoPageHeader, type WfoPageHeaderProps, WfoPageTemplate, type WfoPageTemplateProps, WfoPageUnauthorized, WfoPencil, WfoPencilAlt, WfoPlayCircle, WfoPlayFill, WfoPlusCircleFill, type WfoPolicyRenderFallbackProps, WfoPolicyRenderPageFallback, WfoProcessDetailPage, WfoProcessListSubscriptionsCell, WfoProcessRawData, WfoProcessStatusBadge, type WfoProcessStatusBadgeProps, WfoProcessSubscriptionDelta, WfoProcessesList, type WfoProcessesListProps, type WfoProcessesListSubscriptionsCellProps, WfoProcessesTimeline, WfoProductBlockBadge, type WfoProductBlockBadgeProps, WfoProductBlockKeyValueRow, type WfoProductBlockKeyValueRowProps, WfoProductBlocksPage, WfoProductInformationWithLink, WfoProductStatusBadge, type WfoProductStatusBadgeProps, WfoProductsPage, WfoProductsSummaryCard, WfoRefresh, WfoRelatedSubscriptions, WfoResetTextSearchIndexButton, WfoResourceTypesPage, WfoRouteChangeListener, WfoSearchField, type WfoSearchFieldProps, WfoSearchStrikethrough, type WfoSession, WfoSettingsModal, type WfoSettingsModalProps, WfoSettingsPage, WfoShare, WfoSideMenu, WfoSidebar, type WfoSidebarProps, WfoSortAsc, WfoSortButton, type WfoSortButtonProps, WfoSortButtons, type WfoSortButtonsProps, WfoSortDesc, WfoSortDirectionIcon, type WfoSortDirectionIconProps, WfoStartPage, WfoStartProcessPage, WfoStartTaskButtonComboBox, WfoStartWorkflowButtonComboBox, WfoStatistic, WfoStatus, WfoStatusColorField, type WfoStatusColorFieldProps, WfoStatusDotIcon, WfoStep, WfoStepList, WfoStepListHeader, type WfoStepListHeaderProps, type WfoStepListProps, type WfoStepListRef, type WfoStepProps, WfoStepStatusIcon, type WfoStepStatusIconProps, WfoSubmitModal, type WfoSubmitModalProps, WfoSubscription, WfoSubscriptionActions, type WfoSubscriptionActionsProps, type WfoSubscriptionDetailGeneralConfiguration, WfoSubscriptionDetailPage, WfoSubscriptionDetailTree, WfoSubscriptionGeneral, WfoSubscriptionListTab, WfoSubscriptionProductBlock, WfoSubscriptionStatusBadge, type WfoSubscriptionStatusBadgeProps, WfoSubscriptionsList, WfoSubscriptionsListPage, type WfoSubscriptionsListProps, WfoSummaryCard, WfoSummaryCardHeader, type WfoSummaryCardHeaderProps, WfoSummaryCardList, WfoSummaryCardListItem, type WfoSummaryCardListItemProps, type WfoSummaryCardListProps, type WfoSummaryCardProps, WfoSummaryCards, type WfoSummaryCardsProps, type WfoTableColumns, type WfoTableColumnsWithExtraNonDataFields, type WfoTableControlColumnConfig, type WfoTableDataColumnConfig, WfoTableHeaderCell, type WfoTableHeaderCellProps, WfoTableWithFilter, type WfoTableWithFilterProps, WfoTasksListPage, WfoTasksListTabType, WfoTasksPage, WfoTextAnchor, type WfoTheme, WfoTimeline, type WfoTimelineProps, WfoToastsList, WfoTrash, type WfoTreeNodeMap, WfoUserInputForm, type WfoUserProfile, WfoValueCell, type WfoValueCellProps, WfoViewList, WfoWarningTriangle, WfoWorkflowStepList, type WfoWorkflowStepListProps, WfoWorkflowTargetBadge, type WfoWorkflowTargetBadgeProps, WfoWorkflowsListPage, WfoWorkflowsListTabType, WfoWorkflowsPage, WfoXCircleFill, type WorkflowDefinition, type WorkflowDefinitionsResult, type WorkflowListItem, WorkflowTarget, type WorkflowsResponse, addToastMessage, calculateTimeDifference, camelToHuman, clearTableConfigFromLocalStorage, csvDownloadHandler, defaultOrchestratorTheme, defaultTasksListTabs, defaultWorkflowsListTabs, determineNewSortOrder, determinePageIndex, filterDataByCriteria, flattenArrayProps, formatDate, formatDateCetWithUtc, getConcatenatedPagedResult, getConcatenatedResult, getCsvFileNameWithDate, getCurrentBrowserLocale, getCustomApiSlice, getDataSortHandler, getDate, getFieldFromProductBlockInstanceValues, getFirstUuidPart, getFormFieldsBaseStyle, getInitialColumnOrder, getLastUncompletedProcess, getLatestTaskDate, getNumberOfColumns, getNumberValueFromEnvironmentVariable, getOrchestratorComponentOverrideSlice, getOrchestratorConfigSlice, getOrchestratorStore, getPageChangeHandler, getProductBlockTitle, getProductNamesFromProcess, getQueryStringHandler, getQueryVariablesForExport, getSortDirectionFromString, getStatusBadgeColor, getStepContent, getStyles, getTableConfigFromLocalStorage, getTasksListTabTypeFromString, getTypedFieldFromObject, getWfoBasicTableStyles, getWorkflowTargetColor, getWorkflowTargetIconContent, getWorkflowsListTabTypeFromString, graphQlWorkflowListMapper, handlePromiseErrorWithCallback, imsPortIdFieldStyling, initiateCsvFileDownload, ipPrefixTableFieldStyling, ipamStates, isToday, isUuid4, isValidLocalStorageTableConfig, localMomentToUtcTimestamp, mapColumnSortToEuiDataGridSorting, mapGraphQlSubscriptionsResultToPageInfo, mapGraphQlSubscriptionsResultToSubscriptionListItems, mapProcessSummaryToSummaryCardListItem, mapSortableAndFilterableValuesToTableColumnConfig, mapSubscriptionSummaryToSummaryCardListItem, mapWorkflowDefinitionToWorkflowListItem, menuItemIsAllowed, metaDataTabs, onlyUnique, optionalArrayMapper, orchestratorApi, parseDate, parseDateOrTimeRelativeToToday, parseDateRelativeToToday, parseDateToLocaleDateString, parseDateToLocaleDateTimeString, parseDateToLocaleTimeString, parseIsoString, prepareHeaders, processListQuery, processListSummaryQuery, processStepsQuery, productBlocksQuery, products, productsSummary, removeSuffix, removeToastMessage, resourceTypesQuery, selectOrchestratorConfig, setTableConfigToLocalStorage, snakeToHuman, snakeToKebab, splitPrefixStyling, stop, subscriptionDetailQuery, subscriptionInUseByRelationQuery, subscriptionListQuery, subscriptionListSummaryQuery, subscriptionListTabs, subscriptionsDropdownOptionsQuery, tasksQuery, toOptionalArrayEntry, toastMessagesReducer, toastMessagesSlice, upperCaseFirstChar, urlPolicyMap, useCheckEngineStatus, useClearCacheMutation, useDataDisplayParams, useGetCacheNamesQuery, useGetCustomerQuery, useGetCustomersQuery, useGetEngineStatusQuery, useGetInUseByRelationDetailsQuery, useGetOrchestratorConfig, useGetProcessListQuery, useGetProcessListSummaryQuery, useGetProductBlocksQuery, useGetProductsQuery, useGetProductsSummaryQuery, useGetRelatedSubscriptionsQuery, useGetResourceTypesQuery, useGetSubscriptionDetailQuery, useGetSubscriptionListQuery, useGetSubscriptionSummaryListQuery, useGetSubscriptionsDropdownOptionsQuery, useGetTaskOptionsQuery, useGetTasksQuery, useGetTimeLineItemsQuery, useGetTranslationMessages, useGetWorkflowOptionsQuery, useGetWorkflowsQuery, useLazyGetProcessListQuery, useLazyGetProductBlocksQuery, useLazyGetProductsQuery, useLazyGetResourceTypesQuery, useLazyGetSubscriptionListQuery, useLazyGetTasksQuery, useLazyGetWorkflowsQuery, useOrchestratorConfig, useOrchestratorTheme, usePolicy, useResetTextSearchIndexMutation, useSetEngineStatusMutation, useSetSubscriptionInSyncMutation, useShowToastMessage, useStoredTableConfig, useStreamMessagesQuery, useSubscriptionDetailValueOverride, useWfoSession, useWithOrchestratorTheme, utcTimestampToLocalMoment, workflowFieldMapper, workflowsQuery };
|
package/dist/index.js
CHANGED
|
@@ -40295,7 +40295,7 @@ var orchestratorApi = createApi2({
|
|
|
40295
40295
|
var _a;
|
|
40296
40296
|
const { baseQueryType, apiName } = extraOptions || {};
|
|
40297
40297
|
const state = api.getState();
|
|
40298
|
-
const { orchestratorApiBaseUrl, graphqlEndpointCore } = state.orchestratorConfig;
|
|
40298
|
+
const { orchestratorApiBaseUrl, graphqlEndpointCore, authActive } = state.orchestratorConfig;
|
|
40299
40299
|
const customApi = (_a = state.customApis) == null ? void 0 : _a.find(
|
|
40300
40300
|
(query) => query.apiName === apiName
|
|
40301
40301
|
);
|
|
@@ -40313,7 +40313,7 @@ var orchestratorApi = createApi2({
|
|
|
40313
40313
|
customErrors: (error) => {
|
|
40314
40314
|
var _a2;
|
|
40315
40315
|
const { name, message, stack, response } = error;
|
|
40316
|
-
if ((response == null ? void 0 : response.errors)
|
|
40316
|
+
if (((_a2 = response == null ? void 0 : response.errors) == null ? void 0 : _a2.length) && authActive) {
|
|
40317
40317
|
response.errors.map((error2) => {
|
|
40318
40318
|
var _a3;
|
|
40319
40319
|
if (((_a3 = error2.extensions) == null ? void 0 : _a3.error_type) === "not_authorized") {
|
|
@@ -41065,11 +41065,12 @@ var productsSummary = `
|
|
|
41065
41065
|
$first: Int!
|
|
41066
41066
|
$after: Int!
|
|
41067
41067
|
$sortBy: [GraphqlSort!]
|
|
41068
|
+
$filterBy: [GraphqlFilter!]
|
|
41068
41069
|
) {
|
|
41069
41070
|
products(first: $first, after: $after, sortBy: $sortBy) {
|
|
41070
41071
|
page {
|
|
41071
41072
|
name
|
|
41072
|
-
subscriptions {
|
|
41073
|
+
subscriptions(filterBy: $filterBy) {
|
|
41073
41074
|
pageInfo {
|
|
41074
41075
|
totalItems
|
|
41075
41076
|
}
|
|
@@ -45161,13 +45162,7 @@ var WfoSidebar = ({ overrideMenuItems }) => {
|
|
|
45161
45162
|
}
|
|
45162
45163
|
];
|
|
45163
45164
|
const defaultMenuItemsFilteredByPolicy = defaultMenuItems.filter(
|
|
45164
|
-
({ href }) =>
|
|
45165
|
-
if (!href) {
|
|
45166
|
-
return true;
|
|
45167
|
-
}
|
|
45168
|
-
const policyResource = urlPolicyMap.get(href);
|
|
45169
|
-
return policyResource ? isAllowed(policyResource) : true;
|
|
45170
|
-
}
|
|
45165
|
+
({ href }) => menuItemIsAllowed(href, urlPolicyMap, isAllowed)
|
|
45171
45166
|
);
|
|
45172
45167
|
const defaultMenu = [
|
|
45173
45168
|
{
|
|
@@ -45199,6 +45194,15 @@ var WfoSidebar = ({ overrideMenuItems }) => {
|
|
|
45199
45194
|
);
|
|
45200
45195
|
};
|
|
45201
45196
|
|
|
45197
|
+
// src/components/WfoPageTemplate/WfoSidebar/utils/menuItemIsAllowed.ts
|
|
45198
|
+
var menuItemIsAllowed = (url, urlPolicyMap2, isAllowedHandler) => {
|
|
45199
|
+
if (!url) {
|
|
45200
|
+
return true;
|
|
45201
|
+
}
|
|
45202
|
+
const policyResource = urlPolicyMap2.get(url);
|
|
45203
|
+
return policyResource ? isAllowedHandler(policyResource) : true;
|
|
45204
|
+
};
|
|
45205
|
+
|
|
45202
45206
|
// src/components/WfoPageTemplate/WfoPageTemplate/WfoPageTemplate.tsx
|
|
45203
45207
|
import { Fragment as Fragment7, jsx as jsx67, jsxs as jsxs48 } from "@emotion/react/jsx-runtime";
|
|
45204
45208
|
var WfoPageTemplate = ({
|
|
@@ -46468,6 +46472,7 @@ var WfoInUseByRelations = ({
|
|
|
46468
46472
|
Link5,
|
|
46469
46473
|
{
|
|
46470
46474
|
href: `/${PATH_SUBSCRIPTIONS}/${inUseByRelationDetails.subscriptionId}`,
|
|
46475
|
+
target: "_blank",
|
|
46471
46476
|
children: inUseByRelationDetails.description
|
|
46472
46477
|
}
|
|
46473
46478
|
),
|
|
@@ -46941,13 +46946,16 @@ var WfoSubscriptionDetailTree = ({
|
|
|
46941
46946
|
),
|
|
46942
46947
|
selectedIds.length !== 0 && selectedIds.map((id, index) => {
|
|
46943
46948
|
const block = idToNodeMap[selectedIds[index]];
|
|
46949
|
+
const inUseByRelationsWithoutCurrentSubscription = block.inUseByRelations.filter(
|
|
46950
|
+
(inUseByRelation) => inUseByRelation.subscription_id !== subscriptionId
|
|
46951
|
+
);
|
|
46944
46952
|
return /* @__PURE__ */ jsx90(
|
|
46945
46953
|
WfoSubscriptionProductBlock,
|
|
46946
46954
|
{
|
|
46947
46955
|
ownerSubscriptionId: block.ownerSubscriptionId,
|
|
46948
46956
|
subscriptionInstanceId: block.subscriptionInstanceId,
|
|
46949
46957
|
productBlockInstanceValues: block.productBlockInstanceValues,
|
|
46950
|
-
inUseByRelations:
|
|
46958
|
+
inUseByRelations: inUseByRelationsWithoutCurrentSubscription,
|
|
46951
46959
|
isOutsideCurrentSubscription: block.isOutsideCurrentSubscription,
|
|
46952
46960
|
id
|
|
46953
46961
|
},
|
|
@@ -49839,23 +49847,20 @@ var CONTACT_PERSONS_ENDPOINT = "surf/crm/contacts";
|
|
|
49839
49847
|
var IMS_NODES_ENDPOINT = "/surf/ims/nodes";
|
|
49840
49848
|
var VLANS_BY_SERVICE_PORT = "surf/subscriptions/vlans-by-service-port";
|
|
49841
49849
|
var FREE_PORTS_BY_NODE_SUBSCRIPTION_AND_SPEED = "surf/ims/free_ports";
|
|
49842
|
-
var
|
|
49843
|
-
|
|
49844
|
-
|
|
49845
|
-
|
|
49846
|
-
|
|
49847
|
-
|
|
49848
|
-
|
|
49849
|
-
|
|
49850
|
-
|
|
49851
|
-
|
|
49852
|
-
|
|
49853
|
-
|
|
49854
|
-
|
|
49855
|
-
}
|
|
49856
|
-
var nodeSubscriptions = (statusList = []) => {
|
|
49857
|
-
return subscriptionsParams(["Node"], statusList);
|
|
49858
|
-
};
|
|
49850
|
+
var nodeSubscriptionsQuery = `query NodeSubscriptions(
|
|
49851
|
+
$statuses: String!
|
|
49852
|
+
) {
|
|
49853
|
+
subscriptions(filterBy: [
|
|
49854
|
+
{field: "tag", value: "Node"},
|
|
49855
|
+
{field: "status", value: $statuses}
|
|
49856
|
+
|
|
49857
|
+
], first: ${NUMBER_OF_ITEMS_REPRESENTING_ALL_ITEMS}, after: 0) {
|
|
49858
|
+
page {
|
|
49859
|
+
description
|
|
49860
|
+
subscriptionId
|
|
49861
|
+
}
|
|
49862
|
+
}
|
|
49863
|
+
}`;
|
|
49859
49864
|
var formFieldsApi = orchestratorApi.injectEndpoints({
|
|
49860
49865
|
endpoints: (build) => ({
|
|
49861
49866
|
locationCodes: build.query({
|
|
@@ -49918,16 +49923,16 @@ var formFieldsApi = orchestratorApi.injectEndpoints({
|
|
|
49918
49923
|
baseQueryType: "fetch" /* fetch */
|
|
49919
49924
|
}
|
|
49920
49925
|
}),
|
|
49921
|
-
|
|
49922
|
-
query: ({
|
|
49923
|
-
|
|
49924
|
-
|
|
49925
|
-
|
|
49926
|
-
"Content-Type": "application/json"
|
|
49926
|
+
getNodeSubscriptionOptions: build.query({
|
|
49927
|
+
query: ({ statuses }) => ({
|
|
49928
|
+
document: nodeSubscriptionsQuery,
|
|
49929
|
+
variables: {
|
|
49930
|
+
statuses
|
|
49927
49931
|
}
|
|
49928
49932
|
}),
|
|
49929
|
-
|
|
49930
|
-
|
|
49933
|
+
transformResponse: (response) => {
|
|
49934
|
+
var _a;
|
|
49935
|
+
return ((_a = response == null ? void 0 : response.subscriptions) == null ? void 0 : _a.page) || [];
|
|
49931
49936
|
}
|
|
49932
49937
|
})
|
|
49933
49938
|
})
|
|
@@ -49938,7 +49943,7 @@ var {
|
|
|
49938
49943
|
useImsNodesQuery,
|
|
49939
49944
|
useVlansByServicePortQuery,
|
|
49940
49945
|
useFreePortsByNodeSubscriptionIdAndSpeedQuery,
|
|
49941
|
-
|
|
49946
|
+
useGetNodeSubscriptionOptionsQuery
|
|
49942
49947
|
} = formFieldsApi;
|
|
49943
49948
|
|
|
49944
49949
|
// src/components/WfoForms/formFields/LocationCodeField.tsx
|
|
@@ -50412,10 +50417,10 @@ var imsPortIdFieldStyling = css20`
|
|
|
50412
50417
|
|
|
50413
50418
|
// src/components/WfoForms/formFields/deprecated/ImsPortIdField.tsx
|
|
50414
50419
|
import { jsx as jsx130, jsxs as jsxs77 } from "@emotion/react/jsx-runtime";
|
|
50415
|
-
function nodeToOptionCorelink(
|
|
50420
|
+
function nodeToOptionCorelink(nodeOption) {
|
|
50416
50421
|
return {
|
|
50417
|
-
value:
|
|
50418
|
-
label: `${
|
|
50422
|
+
value: nodeOption.subscriptionId,
|
|
50423
|
+
label: `${nodeOption.subscriptionId.substring(0, 8)} ${nodeOption.description.trim() || "<No description>"}`
|
|
50419
50424
|
};
|
|
50420
50425
|
}
|
|
50421
50426
|
filterDOMProps19.register(
|
|
@@ -50458,13 +50463,13 @@ function ImsPortId(_a) {
|
|
|
50458
50463
|
"imsPortMode",
|
|
50459
50464
|
"nodeStatuses"
|
|
50460
50465
|
]);
|
|
50461
|
-
|
|
50462
|
-
const { reactSelectInnerComponentStyles } = useWithOrchestratorTheme(getSelectFieldStyles);
|
|
50463
|
-
const [nodes, setNodes] = useState21([]);
|
|
50466
|
+
var _a2;
|
|
50464
50467
|
const [nodeId, setNodeId] = useState21(
|
|
50465
50468
|
nodeSubscriptionId
|
|
50466
50469
|
);
|
|
50467
50470
|
const [ports, setPorts] = useState21([]);
|
|
50471
|
+
const t = useTranslations33("pydanticForms");
|
|
50472
|
+
const { reactSelectInnerComponentStyles } = useWithOrchestratorTheme(getSelectFieldStyles);
|
|
50468
50473
|
const {
|
|
50469
50474
|
data: freePorts,
|
|
50470
50475
|
error: freePortsError,
|
|
@@ -50479,8 +50484,8 @@ function ImsPortId(_a) {
|
|
|
50479
50484
|
skip: !nodeId
|
|
50480
50485
|
}
|
|
50481
50486
|
);
|
|
50482
|
-
const { data:
|
|
50483
|
-
|
|
50487
|
+
const { data: nodeSubscriptionOptions } = useGetNodeSubscriptionOptionsQuery({
|
|
50488
|
+
statuses: (_a2 = nodeStatuses == null ? void 0 : nodeStatuses.join("-")) != null ? _a2 : "active"
|
|
50484
50489
|
});
|
|
50485
50490
|
useEffect12(() => {
|
|
50486
50491
|
setPorts(freePorts != null ? freePorts : []);
|
|
@@ -50497,38 +50502,18 @@ function ImsPortId(_a) {
|
|
|
50497
50502
|
},
|
|
50498
50503
|
[onChange]
|
|
50499
50504
|
);
|
|
50500
|
-
useEffect12(() => {
|
|
50501
|
-
if (nodeSubscriptionId && nodeSubscriptionsData) {
|
|
50502
|
-
setNodes(
|
|
50503
|
-
nodeSubscriptionsData.filter(
|
|
50504
|
-
(subscription) => subscription.subscription_id === nodeSubscriptionId
|
|
50505
|
-
)
|
|
50506
|
-
);
|
|
50507
|
-
onChangeNodes({ value: nodeSubscriptionId });
|
|
50508
|
-
} else {
|
|
50509
|
-
setNodes(nodeSubscriptionsData != null ? nodeSubscriptionsData : []);
|
|
50510
|
-
}
|
|
50511
|
-
}, [
|
|
50512
|
-
onChangeNodes,
|
|
50513
|
-
nodeStatuses,
|
|
50514
|
-
nodeSubscriptionId,
|
|
50515
|
-
loading,
|
|
50516
|
-
nodeSubscriptionsData
|
|
50517
|
-
]);
|
|
50518
50505
|
const nodesPlaceholder = loading ? t("widgets.nodePort.loadingNodes") : t("widgets.nodePort.selectNode");
|
|
50519
50506
|
const portPlaceholder = loading ? t("widgets.nodePort.loadingPorts") : nodeId ? t("widgets.nodePort.selectPort") : t("widgets.nodePort.selectNodeFirst");
|
|
50520
|
-
const
|
|
50521
|
-
|
|
50522
|
-
|
|
50523
|
-
node_options.sort((x, y) => x.label.localeCompare(y.label));
|
|
50524
|
-
const node_value = node_options.find(
|
|
50507
|
+
const nodeOptions = (nodeSubscriptionOptions == null ? void 0 : nodeSubscriptionOptions.map(nodeToOptionCorelink)) || [];
|
|
50508
|
+
nodeOptions.sort((x, y) => x.label.localeCompare(y.label));
|
|
50509
|
+
const nodeValue = nodeOptions.find(
|
|
50525
50510
|
(option) => option.value === (nodeId == null ? void 0 : nodeId.toString())
|
|
50526
50511
|
);
|
|
50527
|
-
const
|
|
50512
|
+
const portOptions = ports.map((aPort) => ({
|
|
50528
50513
|
value: aPort.id,
|
|
50529
50514
|
label: `${aPort.port} (${aPort.status}) (${aPort.iface_type})`
|
|
50530
50515
|
})).sort((x, y) => x.label.localeCompare(y.label));
|
|
50531
|
-
const
|
|
50516
|
+
const portValue = portOptions.find((option) => option.value === value);
|
|
50532
50517
|
return /* @__PURE__ */ jsx130(EuiFlexItem16, { css: imsPortIdFieldStyling, children: /* @__PURE__ */ jsx130("section", __spreadProps(__spreadValues({}, filterDOMProps19(props)), { children: /* @__PURE__ */ jsx130(
|
|
50533
50518
|
EuiFormRow12,
|
|
50534
50519
|
{
|
|
@@ -50551,11 +50536,11 @@ function ImsPortId(_a) {
|
|
|
50551
50536
|
inputId: `${id}.node.search`,
|
|
50552
50537
|
name: `${name}.node`,
|
|
50553
50538
|
onChange: onChangeNodes,
|
|
50554
|
-
options:
|
|
50539
|
+
options: nodeOptions,
|
|
50555
50540
|
placeholder: nodesPlaceholder,
|
|
50556
|
-
value:
|
|
50541
|
+
value: nodeValue,
|
|
50557
50542
|
isSearchable: true,
|
|
50558
|
-
isDisabled: disabled || readOnly ||
|
|
50543
|
+
isDisabled: disabled || readOnly || nodeOptions.length === 0 || !!nodeSubscriptionId,
|
|
50559
50544
|
styles: reactSelectInnerComponentStyles
|
|
50560
50545
|
}
|
|
50561
50546
|
)
|
|
@@ -50569,11 +50554,11 @@ function ImsPortId(_a) {
|
|
|
50569
50554
|
onChange: (selected) => {
|
|
50570
50555
|
onChange(selected == null ? void 0 : selected.value);
|
|
50571
50556
|
},
|
|
50572
|
-
options:
|
|
50557
|
+
options: portOptions,
|
|
50573
50558
|
placeholder: portPlaceholder,
|
|
50574
|
-
value:
|
|
50559
|
+
value: portValue || null,
|
|
50575
50560
|
isSearchable: true,
|
|
50576
|
-
isDisabled: disabled || readOnly ||
|
|
50561
|
+
isDisabled: disabled || readOnly || portOptions.length === 0,
|
|
50577
50562
|
styles: reactSelectInnerComponentStyles
|
|
50578
50563
|
}
|
|
50579
50564
|
) }) })
|
|
@@ -52542,7 +52527,7 @@ function fillPreselection(form, router) {
|
|
|
52542
52527
|
}
|
|
52543
52528
|
return form;
|
|
52544
52529
|
}
|
|
52545
|
-
function
|
|
52530
|
+
function WfoUserInputForm({
|
|
52546
52531
|
router,
|
|
52547
52532
|
stepUserInput,
|
|
52548
52533
|
validSubmit,
|
|
@@ -52742,7 +52727,6 @@ function UserInputForm({
|
|
|
52742
52727
|
) })
|
|
52743
52728
|
] }) }) });
|
|
52744
52729
|
}
|
|
52745
|
-
var UserInputForm_default = UserInputForm;
|
|
52746
52730
|
|
|
52747
52731
|
// src/components/WfoForms/UserInputFormWizard.tsx
|
|
52748
52732
|
import { useEffect as useEffect16, useState as useState27 } from "react";
|
|
@@ -52800,7 +52784,7 @@ var UserInputFormWizard = ({
|
|
|
52800
52784
|
}
|
|
52801
52785
|
const key = hash.sha1({ form: currentForm.form, length: forms.length });
|
|
52802
52786
|
return /* @__PURE__ */ jsx143(
|
|
52803
|
-
|
|
52787
|
+
WfoUserInputForm,
|
|
52804
52788
|
{
|
|
52805
52789
|
router,
|
|
52806
52790
|
stepUserInput: currentForm.form,
|
|
@@ -57505,12 +57489,18 @@ var taskListSummaryQueryVariables = __spreadProps(__spreadValues({}, baseQueryVa
|
|
|
57505
57489
|
]
|
|
57506
57490
|
});
|
|
57507
57491
|
var productsSummaryQueryVariables = {
|
|
57508
|
-
first:
|
|
57492
|
+
first: MAXIMUM_ITEMS_FOR_BULK_FETCHING,
|
|
57509
57493
|
after: 0,
|
|
57510
57494
|
sortBy: {
|
|
57511
57495
|
field: "name",
|
|
57512
57496
|
order: "ASC" /* ASC */
|
|
57513
|
-
}
|
|
57497
|
+
},
|
|
57498
|
+
filterBy: [
|
|
57499
|
+
{
|
|
57500
|
+
field: "status",
|
|
57501
|
+
value: `!${"terminated" /* TERMINATED */}`
|
|
57502
|
+
}
|
|
57503
|
+
]
|
|
57514
57504
|
};
|
|
57515
57505
|
|
|
57516
57506
|
// src/components/WfoSummary/WfoActiveWorkflowsSummaryCard.tsx
|
|
@@ -57707,7 +57697,7 @@ var WfoProductsSummaryCard = () => {
|
|
|
57707
57697
|
|
|
57708
57698
|
// src/components/WfoRouteChangeListener/WfoRouteChangeListener.tsx
|
|
57709
57699
|
import { useEffect as useEffect30 } from "react";
|
|
57710
|
-
import { getSession as getSession3,
|
|
57700
|
+
import { getSession as getSession3, signIn } from "next-auth/react";
|
|
57711
57701
|
import { useRouter as useRouter16 } from "next/router";
|
|
57712
57702
|
import { Fragment as Fragment47, jsx as jsx199 } from "@emotion/react/jsx-runtime";
|
|
57713
57703
|
var WfoRouteChangeListener = () => {
|
|
@@ -57717,7 +57707,7 @@ var WfoRouteChangeListener = () => {
|
|
|
57717
57707
|
if (authActive) {
|
|
57718
57708
|
getSession3().then((session) => {
|
|
57719
57709
|
if (!session) {
|
|
57720
|
-
|
|
57710
|
+
signIn();
|
|
57721
57711
|
}
|
|
57722
57712
|
});
|
|
57723
57713
|
}
|
|
@@ -58843,6 +58833,7 @@ export {
|
|
|
58843
58833
|
WfoTimeline,
|
|
58844
58834
|
WfoToastsList,
|
|
58845
58835
|
WfoTrash,
|
|
58836
|
+
WfoUserInputForm,
|
|
58846
58837
|
WfoValueCell,
|
|
58847
58838
|
WfoViewList,
|
|
58848
58839
|
WfoWarningTriangle,
|
|
@@ -58918,6 +58909,7 @@ export {
|
|
|
58918
58909
|
mapSortableAndFilterableValuesToTableColumnConfig,
|
|
58919
58910
|
mapSubscriptionSummaryToSummaryCardListItem,
|
|
58920
58911
|
mapWorkflowDefinitionToWorkflowListItem,
|
|
58912
|
+
menuItemIsAllowed,
|
|
58921
58913
|
metaDataTabs,
|
|
58922
58914
|
onlyUnique,
|
|
58923
58915
|
optionalArrayMapper,
|
package/package.json
CHANGED
|
@@ -410,7 +410,7 @@ function fillPreselection(form: JSONSchema6, router: NextRouter) {
|
|
|
410
410
|
return form;
|
|
411
411
|
}
|
|
412
412
|
|
|
413
|
-
function
|
|
413
|
+
export function WfoUserInputForm({
|
|
414
414
|
router,
|
|
415
415
|
stepUserInput,
|
|
416
416
|
validSubmit,
|
|
@@ -668,5 +668,3 @@ function UserInputForm({
|
|
|
668
668
|
</div>
|
|
669
669
|
);
|
|
670
670
|
}
|
|
671
|
-
|
|
672
|
-
export default UserInputForm;
|
|
@@ -21,7 +21,7 @@ import { ConfirmDialogActions } from '@/contexts';
|
|
|
21
21
|
import { HttpStatus, handlePromiseErrorWithCallback } from '@/rtk';
|
|
22
22
|
import { FormNotCompleteResponse, InputForm } from '@/types/forms';
|
|
23
23
|
|
|
24
|
-
import
|
|
24
|
+
import { WfoUserInputForm } from './UserInputForm';
|
|
25
25
|
|
|
26
26
|
interface Form {
|
|
27
27
|
form: InputForm;
|
|
@@ -104,7 +104,7 @@ export const UserInputFormWizard = ({
|
|
|
104
104
|
* */
|
|
105
105
|
const key = hash.sha1({ form: currentForm.form, length: forms.length });
|
|
106
106
|
return (
|
|
107
|
-
<
|
|
107
|
+
<WfoUserInputForm
|
|
108
108
|
key={key}
|
|
109
109
|
router={router}
|
|
110
110
|
stepUserInput={currentForm.form}
|
|
@@ -22,15 +22,14 @@ import { EuiFlexItem, EuiFormRow, EuiText } from '@elastic/eui';
|
|
|
22
22
|
|
|
23
23
|
import { useWithOrchestratorTheme } from '@/hooks';
|
|
24
24
|
import {
|
|
25
|
-
nodeSubscriptions,
|
|
26
25
|
useFreePortsByNodeSubscriptionIdAndSpeedQuery,
|
|
27
|
-
|
|
26
|
+
useGetNodeSubscriptionOptionsQuery,
|
|
28
27
|
} from '@/rtk/endpoints/formFields';
|
|
29
28
|
|
|
30
29
|
import { getSelectFieldStyles } from '../SelectField/styles';
|
|
31
30
|
import { FieldProps, Option } from '../types';
|
|
32
31
|
import { imsPortIdFieldStyling } from './ImsPortIdFieldStyling';
|
|
33
|
-
import {
|
|
32
|
+
import { ImsPort, NodeSubscriptionOption } from './types';
|
|
34
33
|
|
|
35
34
|
export type ImsPortFieldProps = FieldProps<
|
|
36
35
|
number,
|
|
@@ -42,11 +41,11 @@ export type ImsPortFieldProps = FieldProps<
|
|
|
42
41
|
}
|
|
43
42
|
>;
|
|
44
43
|
|
|
45
|
-
function nodeToOptionCorelink(
|
|
44
|
+
function nodeToOptionCorelink(nodeOption: NodeSubscriptionOption): Option {
|
|
46
45
|
return {
|
|
47
|
-
value:
|
|
48
|
-
label: `${
|
|
49
|
-
|
|
46
|
+
value: nodeOption.subscriptionId,
|
|
47
|
+
label: `${nodeOption.subscriptionId.substring(0, 8)} ${
|
|
48
|
+
nodeOption.description.trim() || '<No description>'
|
|
50
49
|
}`,
|
|
51
50
|
};
|
|
52
51
|
}
|
|
@@ -84,17 +83,16 @@ function ImsPortId({
|
|
|
84
83
|
nodeStatuses,
|
|
85
84
|
...props
|
|
86
85
|
}: ImsPortFieldProps) {
|
|
87
|
-
const t = useTranslations('pydanticForms');
|
|
88
|
-
// React select allows callbacks to supply style for innercomponents: https://react-select.com/styles#inner-components
|
|
89
|
-
const { reactSelectInnerComponentStyles } =
|
|
90
|
-
useWithOrchestratorTheme(getSelectFieldStyles);
|
|
91
|
-
|
|
92
|
-
const [nodes, setNodes] = useState<ImsNode[] | NodeSubscription[]>([]);
|
|
93
86
|
const [nodeId, setNodeId] = useState<number | string | undefined>(
|
|
94
87
|
nodeSubscriptionId,
|
|
95
88
|
);
|
|
96
89
|
const [ports, setPorts] = useState<ImsPort[]>([]);
|
|
97
90
|
|
|
91
|
+
const t = useTranslations('pydanticForms');
|
|
92
|
+
// React select allows callbacks to supply style for innercomponents: https://react-select.com/styles#inner-components
|
|
93
|
+
const { reactSelectInnerComponentStyles } =
|
|
94
|
+
useWithOrchestratorTheme(getSelectFieldStyles);
|
|
95
|
+
|
|
98
96
|
const {
|
|
99
97
|
data: freePorts,
|
|
100
98
|
error: freePortsError,
|
|
@@ -110,9 +108,10 @@ function ImsPortId({
|
|
|
110
108
|
},
|
|
111
109
|
);
|
|
112
110
|
|
|
113
|
-
const { data:
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
const { data: nodeSubscriptionOptions } =
|
|
112
|
+
useGetNodeSubscriptionOptionsQuery({
|
|
113
|
+
statuses: nodeStatuses?.join('-') ?? 'active',
|
|
114
|
+
});
|
|
116
115
|
|
|
117
116
|
useEffect(() => {
|
|
118
117
|
setPorts(freePorts ?? []);
|
|
@@ -133,26 +132,6 @@ function ImsPortId({
|
|
|
133
132
|
[onChange],
|
|
134
133
|
);
|
|
135
134
|
|
|
136
|
-
useEffect(() => {
|
|
137
|
-
if (nodeSubscriptionId && nodeSubscriptionsData) {
|
|
138
|
-
setNodes(
|
|
139
|
-
nodeSubscriptionsData.filter(
|
|
140
|
-
(subscription) =>
|
|
141
|
-
subscription.subscription_id === nodeSubscriptionId,
|
|
142
|
-
),
|
|
143
|
-
);
|
|
144
|
-
onChangeNodes({ value: nodeSubscriptionId } as Option);
|
|
145
|
-
} else {
|
|
146
|
-
setNodes(nodeSubscriptionsData ?? []);
|
|
147
|
-
}
|
|
148
|
-
}, [
|
|
149
|
-
onChangeNodes,
|
|
150
|
-
nodeStatuses,
|
|
151
|
-
nodeSubscriptionId,
|
|
152
|
-
loading,
|
|
153
|
-
nodeSubscriptionsData,
|
|
154
|
-
]);
|
|
155
|
-
|
|
156
135
|
const nodesPlaceholder = loading
|
|
157
136
|
? t('widgets.nodePort.loadingNodes')
|
|
158
137
|
: t('widgets.nodePort.selectNode');
|
|
@@ -163,22 +142,21 @@ function ImsPortId({
|
|
|
163
142
|
? t('widgets.nodePort.selectPort')
|
|
164
143
|
: t('widgets.nodePort.selectNodeFirst');
|
|
165
144
|
|
|
166
|
-
const
|
|
167
|
-
nodeToOptionCorelink
|
|
168
|
-
);
|
|
145
|
+
const nodeOptions: Option[] =
|
|
146
|
+
nodeSubscriptionOptions?.map(nodeToOptionCorelink) || [];
|
|
169
147
|
|
|
170
|
-
|
|
171
|
-
const
|
|
148
|
+
nodeOptions.sort((x, y) => x.label.localeCompare(y.label));
|
|
149
|
+
const nodeValue = nodeOptions.find(
|
|
172
150
|
(option) => option.value === nodeId?.toString(),
|
|
173
151
|
);
|
|
174
152
|
|
|
175
|
-
const
|
|
153
|
+
const portOptions: Option<number>[] = ports
|
|
176
154
|
.map((aPort) => ({
|
|
177
155
|
value: aPort.id,
|
|
178
156
|
label: `${aPort.port} (${aPort.status}) (${aPort.iface_type})`,
|
|
179
157
|
}))
|
|
180
158
|
.sort((x, y) => x.label.localeCompare(y.label));
|
|
181
|
-
const
|
|
159
|
+
const portValue = portOptions.find((option) => option.value === value);
|
|
182
160
|
|
|
183
161
|
return (
|
|
184
162
|
<EuiFlexItem css={imsPortIdFieldStyling}>
|
|
@@ -202,15 +180,15 @@ function ImsPortId({
|
|
|
202
180
|
inputId={`${id}.node.search`}
|
|
203
181
|
name={`${name}.node`}
|
|
204
182
|
onChange={onChangeNodes}
|
|
205
|
-
options={
|
|
183
|
+
options={nodeOptions}
|
|
206
184
|
placeholder={nodesPlaceholder}
|
|
207
|
-
value={
|
|
185
|
+
value={nodeValue}
|
|
208
186
|
isSearchable={true}
|
|
209
187
|
isDisabled={
|
|
210
188
|
disabled ||
|
|
211
189
|
readOnly ||
|
|
212
|
-
|
|
213
|
-
|
|
190
|
+
nodeOptions.length === 0 ||
|
|
191
|
+
!!nodeSubscriptionId
|
|
214
192
|
}
|
|
215
193
|
styles={reactSelectInnerComponentStyles}
|
|
216
194
|
/>
|
|
@@ -224,14 +202,14 @@ function ImsPortId({
|
|
|
224
202
|
onChange={(selected) => {
|
|
225
203
|
onChange(selected?.value);
|
|
226
204
|
}}
|
|
227
|
-
options={
|
|
205
|
+
options={portOptions}
|
|
228
206
|
placeholder={portPlaceholder}
|
|
229
|
-
value={
|
|
207
|
+
value={portValue || null}
|
|
230
208
|
isSearchable={true}
|
|
231
209
|
isDisabled={
|
|
232
210
|
disabled ||
|
|
233
211
|
readOnly ||
|
|
234
|
-
|
|
212
|
+
portOptions.length === 0
|
|
235
213
|
}
|
|
236
214
|
styles={reactSelectInnerComponentStyles}
|
|
237
215
|
/>
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export interface NodeSubscription {
|
|
4
|
-
name: string;
|
|
5
|
-
subscription_id: string;
|
|
6
|
-
description: string;
|
|
7
|
-
product: ProductDefinition;
|
|
8
|
-
product_id: string;
|
|
9
|
-
status: string;
|
|
10
|
-
insync: boolean;
|
|
11
|
-
customer_id: string;
|
|
12
|
-
start_date: number;
|
|
13
|
-
end_date: number;
|
|
14
|
-
note: string;
|
|
15
|
-
}
|
|
1
|
+
import { GraphQlSinglePage, Subscription } from '@/types';
|
|
16
2
|
|
|
17
3
|
export interface ServicePort {
|
|
18
4
|
subscription_id?: string;
|
|
@@ -77,3 +63,12 @@ export interface IpBlock {
|
|
|
77
63
|
is_subnet: boolean;
|
|
78
64
|
state_repr: string;
|
|
79
65
|
}
|
|
66
|
+
|
|
67
|
+
export type NodeSubscriptionOption = Pick<
|
|
68
|
+
Subscription,
|
|
69
|
+
'subscriptionId' | 'description'
|
|
70
|
+
>;
|
|
71
|
+
|
|
72
|
+
export interface NodeSubscriptionOptionsResult {
|
|
73
|
+
subscriptions: GraphQlSinglePage<NodeSubscriptionOption>;
|
|
74
|
+
}
|
|
@@ -6,7 +6,7 @@ import { useRouter } from 'next/router';
|
|
|
6
6
|
import { EuiSideNav, EuiSpacer } from '@elastic/eui';
|
|
7
7
|
import { EuiSideNavItemType } from '@elastic/eui/src/components/side_nav/side_nav_types';
|
|
8
8
|
|
|
9
|
-
import { WfoIsAllowedToRender } from '@/components';
|
|
9
|
+
import { WfoIsAllowedToRender, menuItemIsAllowed } from '@/components';
|
|
10
10
|
import { getMenuStyles } from '@/components/WfoPageTemplate/WfoSidebar/styles';
|
|
11
11
|
import { WfoStartWorkflowButtonComboBox } from '@/components/WfoStartButton/WfoStartWorkflowComboBox';
|
|
12
12
|
import { PolicyResource } from '@/configuration/policy-resources';
|
|
@@ -225,15 +225,7 @@ export const WfoSidebar: FC<WfoSidebarProps> = ({ overrideMenuItems }) => {
|
|
|
225
225
|
];
|
|
226
226
|
|
|
227
227
|
const defaultMenuItemsFilteredByPolicy = defaultMenuItems.filter(
|
|
228
|
-
({ href }) =>
|
|
229
|
-
if (!href) {
|
|
230
|
-
return true;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
const policyResource = urlPolicyMap.get(href);
|
|
234
|
-
|
|
235
|
-
return policyResource ? isAllowed(policyResource) : true;
|
|
236
|
-
},
|
|
228
|
+
({ href }) => menuItemIsAllowed(href, urlPolicyMap, isAllowed),
|
|
237
229
|
);
|
|
238
230
|
|
|
239
231
|
const defaultMenu: EuiSideNavItemType<object>[] = [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './menuItemIsAllowed';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { menuItemIsAllowed } from './menuItemIsAllowed';
|
|
2
|
+
|
|
3
|
+
const isAllowedHandlerMock = jest.fn();
|
|
4
|
+
const testUrlMap = new Map<string, string>([
|
|
5
|
+
['/testUrl1', '/testPolicyResource1'],
|
|
6
|
+
['/testUrl2', '/testPolicyResource2'],
|
|
7
|
+
]);
|
|
8
|
+
|
|
9
|
+
describe('menuItemIsAllowed', () => {
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
isAllowedHandlerMock.mockClear();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it.each([undefined, ''])(
|
|
15
|
+
'returns true when the value of the url is: "%s"',
|
|
16
|
+
(url) => {
|
|
17
|
+
const result = menuItemIsAllowed(
|
|
18
|
+
url,
|
|
19
|
+
testUrlMap,
|
|
20
|
+
isAllowedHandlerMock,
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
expect(result).toEqual(true);
|
|
24
|
+
expect(isAllowedHandlerMock).not.toHaveBeenCalled();
|
|
25
|
+
},
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
it('returns the result of the isAllowedHandler when url is in the url-map', () => {
|
|
29
|
+
const url = '/testUrl1';
|
|
30
|
+
isAllowedHandlerMock.mockReturnValue(false);
|
|
31
|
+
|
|
32
|
+
const result = menuItemIsAllowed(url, testUrlMap, isAllowedHandlerMock);
|
|
33
|
+
|
|
34
|
+
expect(result).toEqual(false);
|
|
35
|
+
expect(isAllowedHandlerMock).toHaveBeenCalledWith(
|
|
36
|
+
'/testPolicyResource1',
|
|
37
|
+
);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('returns true if url is not in the url-map', () => {
|
|
41
|
+
const url = '/does-not-exist';
|
|
42
|
+
|
|
43
|
+
const result = menuItemIsAllowed(url, testUrlMap, isAllowedHandlerMock);
|
|
44
|
+
|
|
45
|
+
expect(result).toEqual(true);
|
|
46
|
+
expect(isAllowedHandlerMock).not.toHaveBeenCalled();
|
|
47
|
+
});
|
|
48
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const menuItemIsAllowed = (
|
|
2
|
+
url: string | undefined,
|
|
3
|
+
urlPolicyMap: Map<string, string>,
|
|
4
|
+
isAllowedHandler: (resource?: string) => boolean,
|
|
5
|
+
) => {
|
|
6
|
+
if (!url) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const policyResource = urlPolicyMap.get(url);
|
|
11
|
+
|
|
12
|
+
return policyResource ? isAllowedHandler(policyResource) : true;
|
|
13
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
2
|
|
|
3
|
-
import { getSession,
|
|
3
|
+
import { getSession, signIn } from 'next-auth/react';
|
|
4
4
|
import { useRouter } from 'next/router';
|
|
5
5
|
|
|
6
6
|
import { useGetOrchestratorConfig } from '@/hooks';
|
|
@@ -13,7 +13,7 @@ export const WfoRouteChangeListener = () => {
|
|
|
13
13
|
if (authActive) {
|
|
14
14
|
getSession().then((session) => {
|
|
15
15
|
if (!session) {
|
|
16
|
-
|
|
16
|
+
signIn();
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -153,6 +153,13 @@ export const WfoSubscriptionDetailTree = ({
|
|
|
153
153
|
selectedIds.map((id, index) => {
|
|
154
154
|
const block = idToNodeMap[selectedIds[index]];
|
|
155
155
|
|
|
156
|
+
const inUseByRelationsWithoutCurrentSubscription =
|
|
157
|
+
block.inUseByRelations.filter(
|
|
158
|
+
(inUseByRelation) =>
|
|
159
|
+
inUseByRelation.subscription_id !==
|
|
160
|
+
subscriptionId,
|
|
161
|
+
);
|
|
162
|
+
|
|
156
163
|
return (
|
|
157
164
|
<WfoSubscriptionProductBlock
|
|
158
165
|
key={index}
|
|
@@ -165,7 +172,9 @@ export const WfoSubscriptionDetailTree = ({
|
|
|
165
172
|
productBlockInstanceValues={
|
|
166
173
|
block.productBlockInstanceValues
|
|
167
174
|
}
|
|
168
|
-
inUseByRelations={
|
|
175
|
+
inUseByRelations={
|
|
176
|
+
inUseByRelationsWithoutCurrentSubscription
|
|
177
|
+
}
|
|
169
178
|
isOutsideCurrentSubscription={
|
|
170
179
|
block.isOutsideCurrentSubscription
|
|
171
180
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MAXIMUM_ITEMS_FOR_BULK_FETCHING } from '@/configuration';
|
|
1
2
|
import {
|
|
2
3
|
GraphqlFilter,
|
|
3
4
|
GraphqlQueryVariables,
|
|
@@ -5,6 +6,7 @@ import {
|
|
|
5
6
|
ProductsSummary,
|
|
6
7
|
SortOrder,
|
|
7
8
|
Subscription,
|
|
9
|
+
SubscriptionStatus,
|
|
8
10
|
} from '@/types';
|
|
9
11
|
|
|
10
12
|
const baseQueryVariables: Partial<GraphqlQueryVariables<unknown>> = {
|
|
@@ -100,12 +102,19 @@ export const taskListSummaryQueryVariables: GraphqlQueryVariables<Process> = {
|
|
|
100
102
|
],
|
|
101
103
|
};
|
|
102
104
|
|
|
103
|
-
export const productsSummaryQueryVariables: GraphqlQueryVariables<
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
export const productsSummaryQueryVariables: GraphqlQueryVariables<
|
|
106
|
+
ProductsSummary & Subscription
|
|
107
|
+
> = {
|
|
108
|
+
first: MAXIMUM_ITEMS_FOR_BULK_FETCHING,
|
|
109
|
+
after: 0,
|
|
110
|
+
sortBy: {
|
|
111
|
+
field: 'name',
|
|
112
|
+
order: SortOrder.ASC,
|
|
113
|
+
},
|
|
114
|
+
filterBy: [
|
|
115
|
+
{
|
|
116
|
+
field: 'status',
|
|
117
|
+
value: `!${SubscriptionStatus.TERMINATED}`,
|
|
110
118
|
},
|
|
111
|
-
|
|
119
|
+
],
|
|
120
|
+
};
|
package/src/rtk/api.ts
CHANGED
|
@@ -65,7 +65,7 @@ export const orchestratorApi = createApi({
|
|
|
65
65
|
const { baseQueryType, apiName } = extraOptions || {};
|
|
66
66
|
|
|
67
67
|
const state = api.getState() as RootState;
|
|
68
|
-
const { orchestratorApiBaseUrl, graphqlEndpointCore } =
|
|
68
|
+
const { orchestratorApiBaseUrl, graphqlEndpointCore, authActive } =
|
|
69
69
|
state.orchestratorConfig;
|
|
70
70
|
|
|
71
71
|
const customApi = state.customApis?.find(
|
|
@@ -87,7 +87,7 @@ export const orchestratorApi = createApi({
|
|
|
87
87
|
prepareHeaders,
|
|
88
88
|
customErrors: (error) => {
|
|
89
89
|
const { name, message, stack, response } = error;
|
|
90
|
-
if (response?.errors
|
|
90
|
+
if (response?.errors?.length && authActive) {
|
|
91
91
|
response.errors.map((error) => {
|
|
92
92
|
// TODO: https://github.com/workfloworchestrator/orchestrator-ui-library/issues/1105
|
|
93
93
|
if (
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ImsNode,
|
|
3
|
+
ImsPort,
|
|
4
|
+
NodeSubscriptionOption,
|
|
5
|
+
NodeSubscriptionOptionsResult,
|
|
6
|
+
VlanRange,
|
|
7
|
+
} from '@/components';
|
|
2
8
|
import { ContactPerson } from '@/components/WfoForms/formFields/types';
|
|
9
|
+
import { NUMBER_OF_ITEMS_REPRESENTING_ALL_ITEMS } from '@/configuration';
|
|
3
10
|
import { BaseQueryTypes, orchestratorApi } from '@/rtk';
|
|
4
11
|
|
|
5
12
|
const LOCATION_CODES_ENDPOINT = 'surf/crm/location_codes';
|
|
@@ -7,31 +14,21 @@ const CONTACT_PERSONS_ENDPOINT = 'surf/crm/contacts';
|
|
|
7
14
|
const IMS_NODES_ENDPOINT = '/surf/ims/nodes';
|
|
8
15
|
const VLANS_BY_SERVICE_PORT = 'surf/subscriptions/vlans-by-service-port';
|
|
9
16
|
const FREE_PORTS_BY_NODE_SUBSCRIPTION_AND_SPEED = 'surf/ims/free_ports';
|
|
10
|
-
const SUBSCRIPTIONS = 'subscriptions';
|
|
11
17
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const params = new URLSearchParams();
|
|
27
|
-
if (filters.length) params.set('filter', filters.join(','));
|
|
28
|
-
|
|
29
|
-
return `${filters.length ? '?' : ''}${params.toString()}`;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export const nodeSubscriptions = (statusList: string[] = []): string => {
|
|
33
|
-
return subscriptionsParams(['Node'], statusList);
|
|
34
|
-
};
|
|
18
|
+
const nodeSubscriptionsQuery = `query NodeSubscriptions(
|
|
19
|
+
$statuses: String!
|
|
20
|
+
) {
|
|
21
|
+
subscriptions(filterBy: [
|
|
22
|
+
{field: "tag", value: "Node"},
|
|
23
|
+
{field: "status", value: $statuses}
|
|
24
|
+
|
|
25
|
+
], first: ${NUMBER_OF_ITEMS_REPRESENTING_ALL_ITEMS}, after: 0) {
|
|
26
|
+
page {
|
|
27
|
+
description
|
|
28
|
+
subscriptionId
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}`;
|
|
35
32
|
|
|
36
33
|
const formFieldsApi = orchestratorApi.injectEndpoints({
|
|
37
34
|
endpoints: (build) => ({
|
|
@@ -107,20 +104,19 @@ const formFieldsApi = orchestratorApi.injectEndpoints({
|
|
|
107
104
|
baseQueryType: BaseQueryTypes.fetch,
|
|
108
105
|
},
|
|
109
106
|
}),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
{
|
|
107
|
+
getNodeSubscriptionOptions: build.query<
|
|
108
|
+
NodeSubscriptionOption[],
|
|
109
|
+
{ statuses: string }
|
|
113
110
|
>({
|
|
114
|
-
query: ({
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
'Content-Type': 'application/json',
|
|
111
|
+
query: ({ statuses }) => ({
|
|
112
|
+
document: nodeSubscriptionsQuery,
|
|
113
|
+
variables: {
|
|
114
|
+
statuses,
|
|
119
115
|
},
|
|
120
116
|
}),
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
117
|
+
transformResponse: (
|
|
118
|
+
response: NodeSubscriptionOptionsResult,
|
|
119
|
+
): NodeSubscriptionOption[] => response?.subscriptions?.page || [],
|
|
124
120
|
}),
|
|
125
121
|
}),
|
|
126
122
|
});
|
|
@@ -131,5 +127,5 @@ export const {
|
|
|
131
127
|
useImsNodesQuery,
|
|
132
128
|
useVlansByServicePortQuery,
|
|
133
129
|
useFreePortsByNodeSubscriptionIdAndSpeedQuery,
|
|
134
|
-
|
|
130
|
+
useGetNodeSubscriptionOptionsQuery,
|
|
135
131
|
} = formFieldsApi;
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
GraphqlQueryVariables,
|
|
5
5
|
ProductDefinitionsResult,
|
|
6
6
|
ProductsSummary,
|
|
7
|
+
Subscription,
|
|
7
8
|
} from '@/types';
|
|
8
9
|
|
|
9
10
|
export const productsSummary = `
|
|
@@ -11,11 +12,12 @@ export const productsSummary = `
|
|
|
11
12
|
$first: Int!
|
|
12
13
|
$after: Int!
|
|
13
14
|
$sortBy: [GraphqlSort!]
|
|
15
|
+
$filterBy: [GraphqlFilter!]
|
|
14
16
|
) {
|
|
15
17
|
products(first: $first, after: $after, sortBy: $sortBy) {
|
|
16
18
|
page {
|
|
17
19
|
name
|
|
18
|
-
subscriptions {
|
|
20
|
+
subscriptions(filterBy: $filterBy) {
|
|
19
21
|
pageInfo {
|
|
20
22
|
totalItems
|
|
21
23
|
}
|
|
@@ -38,7 +40,7 @@ const productsSummaryApi = orchestratorApi.injectEndpoints({
|
|
|
38
40
|
endpoints: (builder) => ({
|
|
39
41
|
getProductsSummary: builder.query<
|
|
40
42
|
ProductsSummaryResponse,
|
|
41
|
-
GraphqlQueryVariables<ProductsSummary>
|
|
43
|
+
GraphqlQueryVariables<ProductsSummary & Subscription>
|
|
42
44
|
>({
|
|
43
45
|
query: (variables) => ({
|
|
44
46
|
document: productsSummary,
|