diff options
author | Aijana Schumann <aijana.schumann@highstreet-technologies.com> | 2021-07-28 11:19:09 +0200 |
---|---|---|
committer | Aijana Schumann <aijana.schumann@highstreet-technologies.com> | 2021-07-28 11:19:09 +0200 |
commit | d70d7624795a9305eef1f0a6d3842d47ecd27160 (patch) | |
tree | 5324c4484be5a94d2a8f2cebb8035792a6073d7b /sdnr/wt/odlux/apps/connectApp/src/actions | |
parent | 2aa3a5dd6c190bf0a6c398bf7bf69e359eff2f9d (diff) |
ODLUX Connect App Info enhancement
Present yang capabilities in a table view instead of list
Issue-ID: SDNC-1121
Signed-off-by: Aijana Schumann <aijana.schumann@highstreet-technologies.com>
Change-Id: I4904fb132351199b57a851faf07d371fa5e575ab
Diffstat (limited to 'sdnr/wt/odlux/apps/connectApp/src/actions')
-rw-r--r-- | sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts | 26 | ||||
-rw-r--r-- | sdnr/wt/odlux/apps/connectApp/src/actions/infoNetworkElementActions.ts | 105 |
2 files changed, 80 insertions, 51 deletions
diff --git a/sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts b/sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts index 0c3266216..26aa8d2d7 100644 --- a/sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts +++ b/sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts @@ -64,6 +64,9 @@ export const findWebUrisForGuiCutThroughAsyncAction = (networkElementIds: string // keep method from executing simultanously; state not used because change of iu isn't needed + if (isBusy) + return; + isBusy = true; const { connect: { guiCutThrough, networkElements } } = getState(); @@ -78,16 +81,16 @@ export const findWebUrisForGuiCutThroughAsyncAction = (networkElementIds: string if (item.status === "Connected") { // if (item.coreModelCapability !== "Unsupported") { - // element is connected and is added to search list, if it doesn't exist already - const exists = guiCutThrough.searchedElements.filter(element => element.id === id).length > 0; - if (!exists) { - elementsToSearch.push(id); - - //element was found previously, but wasn't connected - if (guiCutThrough.notSearchedElements.length > 0 && guiCutThrough.notSearchedElements.includes(id)) { - prevFoundElements.push(id); - } + // element is connected and is added to search list, if it doesn't exist already + const exists = guiCutThrough.searchedElements.filter(element => element.id === id).length > 0; + if (!exists) { + elementsToSearch.push(id); + + //element was found previously, but wasn't connected + if (guiCutThrough.notSearchedElements.length > 0 && guiCutThrough.notSearchedElements.includes(id)) { + prevFoundElements.push(id); } + } // } else { // // element does not support core model and must not be searched for a weburi // const id = item.id as string; @@ -113,9 +116,10 @@ export const findWebUrisForGuiCutThroughAsyncAction = (networkElementIds: string if (elementsToSearch.length > 0 || notConnectedElements.length > 0 || unsupportedElements.length > 0) { - const result = await connectService.getAllWebUriExtensionsForNetworkElementListAsync(elementsToSearch); - dispatcher(new AddWebUriList(result, notConnectedElements, unsupportedElements, prevFoundElements)); + const result = await connectService.getAllWebUriExtensionsForNetworkElementListAsync(elementsToSearch); + dispatcher(new AddWebUriList(result, notConnectedElements, unsupportedElements, prevFoundElements)); } + isBusy = false; } diff --git a/sdnr/wt/odlux/apps/connectApp/src/actions/infoNetworkElementActions.ts b/sdnr/wt/odlux/apps/connectApp/src/actions/infoNetworkElementActions.ts index 4ae28aab2..bb744e236 100644 --- a/sdnr/wt/odlux/apps/connectApp/src/actions/infoNetworkElementActions.ts +++ b/sdnr/wt/odlux/apps/connectApp/src/actions/infoNetworkElementActions.ts @@ -15,43 +15,68 @@ * the License. * ============LICENSE_END========================================================================== */ -import { Action } from '../../../../framework/src/flux/action'; -import { Dispatch } from '../../../../framework/src/flux/store'; - -import { TopologyNode } from '../models/topologyNetconf'; -import { connectService } from '../services/connectService'; - -/** - * Represents the base action. - */ -export class BaseAction extends Action { } - -/** - * Represents an action causing the store to load all element Yang capabilities. - */ -export class LoadAllElementInfoAction extends BaseAction { } - -/** - * Represents an action causing the store to update element Yang capabilities. - */ -export class AllElementInfoLoadedAction extends BaseAction { - /** - * Initialize this instance. - * @param elementInfo The information of the element which is returned. - */ - constructor(public elementInfo: TopologyNode | null, public error?: string) { - super(); - } -} - -/** - * Represents an asynchronous thunk action to load all yang capabilities. - */ -export const loadAllInfoElementAsync = (nodeId: string) => (dispatch: Dispatch) => { - dispatch(new LoadAllElementInfoAction()); - connectService.infoNetworkElement(nodeId).then(info => { - dispatch(new AllElementInfoLoadedAction(info)); - }, error => { - dispatch(new AllElementInfoLoadedAction(null, error)); - }); -}
\ No newline at end of file + import { Action } from '../../../../framework/src/flux/action'; + import { Dispatch } from '../../../../framework/src/flux/store'; + + import { Module, TopologyNode } from '../models/topologyNetconf'; + import { connectService } from '../services/connectService'; + + /** + * Represents the base action. + */ + export class BaseAction extends Action { } + + /** + * Represents an action causing the store to load all element Yang capabilities. + */ + export class LoadAllElementInfoAction extends BaseAction { } + + /** + * Represents an action causing the store to update element Yang capabilities. + */ + export class AllElementInfoLoadedAction extends BaseAction { + /** + * Initialize this instance. + * @param elementInfo The information of the element which is returned. + */ + constructor(public elementInfo: TopologyNode | null, public error?: string) { + super(); + } + } + + /** + * Represents an action causing the store to update element Yang capabilities Module Features. + */ + export class AllElementInfoFeatureLoadedAction extends BaseAction { + /** + * Initialize this instance. + * @param elementFeatureInfo The information of the element which is returned. + */ + constructor(public elementFeatureInfo: Module[] | null | undefined, public error?: string) { + super(); + } + } + + /** + * Represents an asynchronous thunk action to load all yang capabilities. + */ + export const loadAllInfoElementAsync = (nodeId: string) => (dispatch: Dispatch) => { + dispatch(new LoadAllElementInfoAction()); + connectService.infoNetworkElement(nodeId).then(info => { + dispatch(new AllElementInfoLoadedAction(info)); + }, error => { + dispatch(new AllElementInfoLoadedAction(null, error)); + }); + } + + /** + * Represents an asynchronous thunk action to load all yang features. + */ + export const loadAllInfoElementFeaturesAsync = (nodeId: string) => (dispatch: Dispatch) => { + dispatch(new LoadAllElementInfoAction()); + connectService.infoNetworkElementFeatures(nodeId).then(infoFeatures => { + dispatch(new AllElementInfoFeatureLoadedAction(infoFeatures)); + }, error => { + dispatch(new AllElementInfoFeatureLoadedAction(null, error)); + }); + }
\ No newline at end of file |