aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/connectApp/src/actions
diff options
context:
space:
mode:
authorAijana Schumann <aijana.schumann@highstreet-technologies.com>2021-07-28 11:19:09 +0200
committerAijana Schumann <aijana.schumann@highstreet-technologies.com>2021-07-28 11:19:09 +0200
commitd70d7624795a9305eef1f0a6d3842d47ecd27160 (patch)
tree5324c4484be5a94d2a8f2cebb8035792a6073d7b /sdnr/wt/odlux/apps/connectApp/src/actions
parent2aa3a5dd6c190bf0a6c398bf7bf69e359eff2f9d (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.ts26
-rw-r--r--sdnr/wt/odlux/apps/connectApp/src/actions/infoNetworkElementActions.ts105
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