Merge "Web Client context menu item display"
[ccsdk/features.git] / sdnr / wt / odlux / apps / connectApp / src / actions / infoNetworkElementActions.ts
index 4ae28aa..120f991 100644 (file)
  */
 import { Action } from '../../../../framework/src/flux/action';
 import { Dispatch } from '../../../../framework/src/flux/store';
-
-import { TopologyNode } from '../models/topologyNetconf';
+import { Module, TopologyNode } from '../models/topologyNetconf';
 import { connectService } from '../services/connectService';
-
 /** 
- * Represents the base action. 
- */
 * Represents the base action. 
 */
 export class BaseAction extends Action { }
-
 /** 
- * Represents an action causing the store to load all element Yang capabilities.
- */
 * 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. 
- */
 * 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.
-   */
+    * 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. 
- */
+  * 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 => {
@@ -54,4 +67,16 @@ export const loadAllInfoElementAsync = (nodeId: string) => (dispatch: Dispatch)
   }, error => {
     dispatch(new AllElementInfoLoadedAction(null, error));
   });
-} 
\ No newline at end of file
+}; 
+/** 
+  * 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