]> source.dussan.org Git - sonarqube.git/commitdiff
New Issues Page: add "actionsPlans" and "resolved" query parameters
authorStas Vilchik <vilchiks@gmail.com>
Thu, 23 Jan 2014 11:38:52 +0000 (17:38 +0600)
committerStas Vilchik <vilchiks@gmail.com>
Thu, 23 Jan 2014 12:35:42 +0000 (18:35 +0600)
sonar-server/src/main/webapp/WEB-INF/app/views/layouts/_head.html.erb
sonar-server/src/main/webapp/javascripts/navigator/filters/context-filters.js [new file with mode: 0644]
sonar-server/src/main/webapp/javascripts/navigator/issues-app.js
sonar-server/wro.xml

index b5871e7f4db3cdc07db68a08ad4f7170636267a7..78fc422705dfde0ea20f018b33d03ac59627b66b 100644 (file)
@@ -71,6 +71,7 @@
     <%= javascript_include_tag 'navigator/filters/metric-filters' %>
     <%= javascript_include_tag 'navigator/filters/favorite-filters' %>
     <%= javascript_include_tag 'navigator/filters/more-criteria-filters' %>
+    <%= javascript_include_tag 'navigator/filters/context-filters' %>
 
     <%= javascript_include_tag 'navigator/issues' %>
     <%= javascript_include_tag 'navigator/issues-app' %>
diff --git a/sonar-server/src/main/webapp/javascripts/navigator/filters/context-filters.js b/sonar-server/src/main/webapp/javascripts/navigator/filters/context-filters.js
new file mode 100644 (file)
index 0000000..c74571b
--- /dev/null
@@ -0,0 +1,80 @@
+/* global _:false, $j:false, Backbone:false */
+
+window.SS = typeof window.SS === 'object' ? window.SS : {};
+
+(function() {
+
+  var ContextFilterView = Backbone.View.extend({
+
+    initialize: function() {
+      this.model.view = this;
+    },
+
+
+    render: function() {
+      this.$el.hide();
+    },
+
+
+    renderBase: function() {},
+    renderInput: function() {},
+    focus: function() {},
+    showDetails: function() {},
+    registerShowedDetails: function() {},
+    hideDetails: function() {},
+    isActive: function() {},
+    renderValue: function() {},
+    isDefaultValue: function() {},
+
+
+    restoreFromQuery: function(q) {
+      var param = _.findWhere(q, { key: this.model.get('property') });
+      if (param && param.value) {
+        this.restore(param.value);
+      } else {
+        this.clear();
+      }
+    },
+
+
+    restore: function(value) {
+      this.model.set({ value: value });
+    },
+
+
+    clear: function() {
+      this.model.unset('value');
+    },
+
+
+    disable: function(e) {
+      e.stopPropagation();
+      this.hideDetails();
+      this.options.filterBarView.hideDetails();
+      this.model.set({
+        enabled: false,
+        value: null
+      });
+    },
+
+
+    formatValue: function() {
+      var q = {};
+      if (this.model.has('property') && this.model.has('value') && this.model.get('value')) {
+        q[this.model.get('property')] = this.model.get('value');
+      }
+      return q;
+    }
+  });
+
+
+
+  /*
+   * Export public classes
+   */
+
+  _.extend(window.SS, {
+    ContextFilterView: ContextFilterView
+  });
+
+})();
index f0ce1aa138924a650e1325dd705ad028bd62703f..652d9620acb9b099d96395ae1579123826bf0048 100644 (file)
@@ -147,6 +147,20 @@ jQuery(function() {
         type: window.SS.DateRangeFilterView,
         enabled: false,
         optional: true
+      }),
+
+      new window.SS.Filter({
+        property: 'resolved',
+        type: window.SS.ContextFilterView,
+        enabled: true,
+        optional: false
+      }),
+
+      new window.SS.Filter({
+        property: 'actionPlans',
+        type: window.SS.ContextFilterView,
+        enabled: true,
+        optional: false
       })
     ]);
 
index 9cb1055e69dd0f1e12027e827aece3179dfc9ab4..9525843b1a7441589d5d7ec0ae3083c04a0a1fbb 100644 (file)
@@ -51,6 +51,7 @@
     <js>/javascripts/navigator/filters/metric-filters.js</js>
     <js>/javascripts/navigator/filters/favorite-filters.js</js>
     <js>/javascripts/navigator/filters/more-criteria-filters.js</js>
+    <js>/javascripts/navigator/filters/context-filters.js</js>
 
     <js>/javascripts/navigator/issues.js</js>
     <js>/javascripts/navigator/issues-app.js</js>