diff --git a/ifthenelse.module b/ifthenelse.module
index 87643bc..056f288 100644
--- a/ifthenelse.module
+++ b/ifthenelse.module
@@ -39,12 +39,11 @@ function ifthenelse_form_alter(&$form, FormStateInterface $form_state, $form_id)
       }
     }
 
-    if($rule_config['debug'] == 1){
+    if ($rule_config['debug'] == 1) {
       $messenger = \Drupal::messenger();
-      $messenger->addMessage($rule_config['name'].' ifthenelse rule Triggered.', $messenger::TYPE_STATUS);
+      $messenger->addMessage($rule_config['name'] . ' ifthenelse rule Triggered.', $messenger::TYPE_STATUS);
     }
 
-
     // Repeat this untill all nodes are processed.
     while (!empty($precedent_nodes)) {
       // Looking for a node whose all input nodes are processed but that node
diff --git a/js/formalterNodes.js b/js/formalterNodes.js
index dac460f..c13ac1e 100644
--- a/js/formalterNodes.js
+++ b/js/formalterNodes.js
@@ -183,10 +183,12 @@ var VueFormIdControl = {
       if(this.selected_entity != undefined && typeof this.selected_entity != 'undefined' && this.selected_entity != ''){
         var selected_entity = this.selected_entity.value;
         if(drupalSettings.ifthenelserule.entity_info){
-          var bundle_list = JSON.parse(drupalSettings.ifthenelserule.entity_info)[selected_entity]['bundles'];
-          Object.keys(bundle_list).forEach(itemKey => {
-            this.bundles.push({label: bundle_list[itemKey].label, value: bundle_list[itemKey].bundle_id});
-          });
+          if(selected_entity != 'other_form'){
+            var bundle_list = JSON.parse(drupalSettings.ifthenelserule.entity_info)[selected_entity]['bundles'];
+            Object.keys(bundle_list).forEach(itemKey => {
+              this.bundles.push({label: bundle_list[itemKey].label, value: bundle_list[itemKey].bundle_id});
+            });
+          }
         } 
       }
       
@@ -495,31 +497,43 @@ var VueFieldDefaultValueControl = {
         }
       });
       
-      var postData = [];
-      postData = {entity: selected_entity, bundle: selected_bundle, field_name: value.code};
-      Vue.http.post(drupalSettings.path.baseUrl+'ifthenelse/fetch-field-info',postData).then((response) => {
-        // get body data
-        var result = JSON.parse(response.bodyText);
-        this.formSchema.fields = [];
-
-        if(typeof result != 'undefined'){
-          this.formSchema.fields.push({
-            type: result.type,
-            name: result.field_name,
-            label: result.field_label,
-          });
-
-          this.formData = {
-            [result.field_name]: {
-              value: result.value,
+      this.formSchema.fields = [];
+      this.formData = {};
+      if(value != null){
+        var postData = [];
+        postData = {entity: selected_entity, bundle: selected_bundle, field_name: value.code};
+        Vue.http.post(drupalSettings.path.baseUrl+'ifthenelse/fetch-field-info',postData).then((response) => {
+          // get body data
+          var result = JSON.parse(response.bodyText);
+          
+  
+          if(typeof result != 'undefined'){
+            this.formSchema.fields.push({
+              type: result.type,
+              name: result.field_name,
+              label: result.field_label,
+            });
+  
+            this.formData = {
+              [result.field_name]: {
+                value: result.value,
+              }
             }
           }
-        }
-        
-        this.showLoadingSpinner = false
-      }, (response) => {
-        // error callback
-      });     
+  
+          this.putData('formSchema',this.formSchema);
+          this.putData('formData',this.formData);
+  
+        }, (response) => {
+          // error callback
+        });        
+      }
+
+      var selectedOptions = [];
+      selectedOptions.push({name: value.name, code: value.code});
+      
+      this.putData('form_fields',selectedOptions);
+      this.emitter.trigger('process');
     },    
   },
 
@@ -535,6 +549,26 @@ var VueFieldDefaultValueControl = {
     }else{
       this.putData('form_fields',[]);
     }
+
+    var get_formSchema = this.getData('formSchema');
+    if(typeof get_formSchema != 'undefined'){
+      this.formSchema = this.getData('formSchema');
+    }else{
+      this.putData('formSchema',[]);
+    }
+
+    var get_formData = this.getData('formData');
+    if(typeof get_formData != 'undefined'){
+      this.formData = this.getData('formData');
+    }else{
+      this.putData('formData',{});
+    }
+  },
+  created() {
+    if(drupalSettings.ifthenelserule.form_fields){
+      //setting list of all fields for a form when rule edit page loads.
+      this.options = JSON.parse(drupalSettings.ifthenelserule.form_fields);
+    }
   }
 }
 
@@ -572,7 +606,7 @@ class FieldDefaultValueComponent extends Rete.Component {
   }
 
   worker(node, inputs, outputs) {
-    
+    outputs['form_fields'] = node.data.value;
   }
 }
 
