Merge "Ignore package-lock.json"
diff --git a/dev/js/src/panel/vcpanel.js b/dev/js/src/panel/vcpanel.js
new file mode 100644
index 0000000..98a9b4b
--- /dev/null
+++ b/dev/js/src/panel/vcpanel.js
@@ -0,0 +1,52 @@
+/**
+ * The vc info panel
+ * 
+ * The vc info panel displays information about the virtual corpus, 
+ * for example the corpus statistic
+ * 
+ * @author Helge Stallkamp
+ */
+
+define([
+  'panel',
+  'view/corpstatv'
+], function (panelClass, corpStatVClass) {
+  
+  const d = document;
+
+  // Localization values
+  const loc = KorAP.Locale;
+  loc.SHOW_STAT= loc.SHOW_STAT || 'Statistics';
+  loc.VERB_SHOWSTAT = loc.VERB_SHOWSTAT    || 'Corpus Statistics';
+  
+  return {
+    create : function (vc) {
+      return Object.create(panelClass)._init(['vcinfo']).upgradeTo(this)._init(vc);
+    }, 
+    
+    _init : function(vc){
+     this.vc = vc;
+     var actions = this.actions;
+     var that = this;
+     actions.add(loc.SHOW_STAT, [ 'statistic' ], function() {
+       that.addCorpStat();
+      });
+     
+      return this;
+    },
+    
+
+    /**
+     * Add corpus statistic view to panel
+     */
+    addCorpStat: function(){
+      if (this.statView === undefined || !this.statView.shown()) {
+        this.statView = corpStatVClass.create(this.vc, this);
+        this.add(this.statView);
+      }
+
+    },
+    
+    
+  }
+});
diff --git a/dev/js/src/vc.js b/dev/js/src/vc.js
index 7494cdf..711008f 100644
--- a/dev/js/src/vc.js
+++ b/dev/js/src/vc.js
@@ -53,7 +53,7 @@
   'vc/statistic',
   'datepicker',
   'buttongroup',
-  'panel',
+  'panel/vcpanel',
   'view/corpstatv',
   'buttongroup',
   'util'
@@ -66,7 +66,7 @@
   statClass,
   dpClass,
   buttonGrClass,
-  panelClass,
+  vcPanelClass,
   corpStatVClass,
   buttonGroupClass) {
   "use strict";
@@ -81,8 +81,6 @@
   // KorAP._validDateMatchRE is defined in datepicker.js!
 
   const loc = KorAP.Locale;
-  loc.SHOW_STAT        = loc.SHOW_STAT        || 'Statistics';
-  loc.VERB_SHOWSTAT    = loc.VERB_SHOWSTAT    || 'Corpus Statistics';
   loc.VC_allCorpora    = loc.VC_allCorpora    || 'all corpora';
   loc.VC_oneCollection = loc.VC_oneCollection || 'a virtual corpus';
   loc.MINIMIZE         = loc.MINIMIZE         || 'Minimize';
@@ -362,12 +360,13 @@
     
     /**
      * Update the whole object based on the underlying data structure
-     */
+     */ 
     update : function() {
       this._root.update();
       return this;
     },
-
+    
+ 
     /**
      * Make the vc persistant by injecting the current timestamp as a
      * creation date limit criterion.
@@ -470,26 +469,17 @@
       return this._root.toQuery();
     },
 
-
-    /*
+    
+    /**
      * Add panel to display virtual corpus information
      */
     addVcInfPanel : function() {
-
       var dv = this._element.addE('div');
-      var panel = panelClass.create([ 'vcinfo' ]);
-      dv.appendChild(panel.element());
-      
-      var that = this;
-      var actions = panel.actions;
-      var statView;
-      
-      actions.add(loc.SHOW_STAT, [ 'statistic' ], function() {
-        if (statView === undefined || !statView.shown()) {
-          statView = corpStatVClass.create(that);
-          panel.add(statView);
-        }
-      });
-    }
+      //Create panel  
+      this.panel = vcPanelClass.create(this); 
+      dv.appendChild(this.panel.element());
+    },
+    
+    
   };
 });