]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5718 Drop old issues page
authorStas Vilchik <vilchiks@gmail.com>
Fri, 28 Nov 2014 10:43:34 +0000 (11:43 +0100)
committerStas Vilchik <vilchiks@gmail.com>
Fri, 28 Nov 2014 10:43:34 +0000 (11:43 +0100)
server/sonar-web/Gruntfile.coffee
server/sonar-web/src/main/hbs/issues-old/filter-bar.hbs [deleted file]
server/sonar-web/src/main/hbs/issues-old/issue-detail.hbs [deleted file]
server/sonar-web/src/main/hbs/issues-old/issues-actions.hbs [deleted file]
server/sonar-web/src/main/hbs/issues-old/issues-details-favorite-filter.hbs [deleted file]
server/sonar-web/src/main/hbs/issues-old/issues-header.hbs [deleted file]
server/sonar-web/src/main/hbs/issues-old/issues.hbs [deleted file]
server/sonar-web/src/main/hbs/issues-old/no-issues.hbs [deleted file]
server/sonar-web/src/main/js/issues-old/app.js [deleted file]
server/sonar-web/src/main/js/issues-old/extra.js [deleted file]
server/sonar-web/src/main/webapp/WEB-INF/app/views/layouts/_layout.html.erb

index 1127dbaf1cf3af2874d68ddef7b604343e2d3194..6d576c949001edd0eb94f5a429dc68f11185c985 100644 (file)
@@ -180,10 +180,6 @@ module.exports = (grunt) ->
         name: 'issues/app'
         out: '<%= pkg.assets %>build/js/issues/app.js'
 
-      issuesOld: options:
-        name: 'issues-old/app'
-        out: '<%= pkg.assets %>build/js/issues-old/app.js'
-
       measures: options:
         name: 'measures/app'
         out: '<%= pkg.assets %>build/js/measures/app.js'
@@ -263,9 +259,6 @@ module.exports = (grunt) ->
           '<%= pkg.assets %>js/templates/issues.js': [
             '<%= pkg.sources %>hbs/issues/**/*.hbs'
           ]
-          '<%= pkg.assets %>js/templates/issues-old.js': [
-            '<%= pkg.sources %>hbs/issues-old/**/*.hbs'
-          ]
           '<%= pkg.assets %>js/templates/api-documentation.js': [
             '<%= pkg.sources %>hbs/api-documentation/**/*.hbs'
           ]
diff --git a/server/sonar-web/src/main/hbs/issues-old/filter-bar.hbs b/server/sonar-web/src/main/hbs/issues-old/filter-bar.hbs
deleted file mode 100644 (file)
index 4f19079..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<div class="navigator-filters-list"></div>
-<button class="navigator-filter-submit">{{t 'search_verb'}}</button>
diff --git a/server/sonar-web/src/main/hbs/issues-old/issue-detail.hbs b/server/sonar-web/src/main/hbs/issues-old/issue-detail.hbs
deleted file mode 100644 (file)
index c746f72..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<div class="line line-small">
-  {{severityIcon severity}}{{translate "severities" severity}}&nbsp;
-  {{statusIcon status}}{{translate "statuses" status}}
-  {{#if resolution}}({{translate "resolutions" resolution}}){{/if}}
-
-  <div class="line-right">
-    {{fUpdateAge}}
-  </div>
-</div>
-
-<div class="line line-nowrap" title="{{message}}">
-  {{message}}
-</div>
-
-<div class="line">
-  {{#unless singleProject}}
-    <div class="subtitle line-nowrap">{{default projectLongName projectName}}</div>
-  {{/unless}}
-  <div class="subtitle line-nowrap">{{componentLongName}}</div>
-</div>
diff --git a/server/sonar-web/src/main/hbs/issues-old/issues-actions.hbs b/server/sonar-web/src/main/hbs/issues-old/issues-actions.hbs
deleted file mode 100644 (file)
index 351d6d4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{{#unless maxResultsReached}}
-  <div class="navigator-actions-order">
-    {{#if sorting}}
-      {{t 'issues.ordered_by'}} <strong class="navigator-actions-ordered-by">{{sorting.sortText}}</strong> {{#if sorting.asc}}<i class="icon-sort-asc"></i>{{else}}<i class="icon-sort-desc"></i>{{/if}}
-    {{else}}
-      Order
-    {{/if}}
-  </div>
-  <ul class="navigator-actions-order-choices">
-    <li data-sort="UPDATE_DATE" data-asc="true">{{t 'issues.sort.update_date'}} <i class="icon-sort-asc"></i></li>
-    <li data-sort="UPDATE_DATE" data-asc="false">{{t 'issues.sort.update_date'}} <i class="icon-sort-desc"></i></li>
-    <li data-sort="SEVERITY" data-asc="true">{{t 'issues.sort.severity'}} <i class="icon-sort-asc"></i></li>
-    <li data-sort="SEVERITY" data-asc="false">{{t 'issues.sort.severity'}} <i class="icon-sort-desc"></i></li>
-    <li data-sort="STATUS" data-asc="true">{{t 'issues.sort.status'}} <i class="icon-sort-asc"></i></li>
-    <li data-sort="STATUS" data-asc="false">{{t 'issues.sort.status'}} <i class="icon-sort-desc"></i></li>
-  </ul>
-{{/unless}}
-<div class="navigator-actions-total">
-  {{t 'issues.found'}}: <strong>{{paging.fTotal}}</strong>
-  {{#notEq paging.fTotal 0}}
-    {{#if appState.canBulkChange}}
-      <a href="{{bulkChangeUrl}}?{{query}}"
-         class="navigator-actions-bulk icon-bulk-change" title="{{t 'bulk_change'}}"></a>
-    {{/if}}
-  {{/notEq}}
-</div>
diff --git a/server/sonar-web/src/main/hbs/issues-old/issues-details-favorite-filter.hbs b/server/sonar-web/src/main/hbs/issues-old/issues-details-favorite-filter.hbs
deleted file mode 100644 (file)
index 84c2658..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{{#if items}}
-  <ul class="navigator-filter-select-list">
-    {{#each items}}
-      <li>
-        <label data-id="{{id}}">{{{name}}}</label>
-      </li>
-    {{/each}}
-  </ul>
-{{/if}}
-<ul class="navigator-filter-select-list">
-  <li class="manage">
-    <label id="manage-favorites">{{t 'manage'}}</label>
-  </li>
-</ul>
diff --git a/server/sonar-web/src/main/hbs/issues-old/issues-header.hbs b/server/sonar-web/src/main/hbs/issues-old/issues-header.hbs
deleted file mode 100644 (file)
index bb44852..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<h1 class="navigator-header-title">
-  {{#if name}}
-    {{name}}
-    <span class="navigator-header-title-note">
-      {{#unless shared}}
-        [{{t 'issue_filter.private'}}]
-      {{else}}
-        {{#eq user currentUser}}
-          [{{t 'issue_filter.shared_with_all_users'}}]
-        {{else}}
-          {{#if user}}
-            [{{t 'issue_filter.shared'}}]
-          {{/if}}
-        {{/eq}}
-      {{/unless}}
-    </span>
-  {{else}}
-    {{t 'issues'}}
-  {{/if}}
-</h1>
-
-  <div class="navigator-header-actions button-group">
-    <button id="issues-new-search">{{t 'issue_filter.new_search'}}</button>
-
-    {{#if appState.canManageFilters}}
-      {{#if canModify}}
-        {{#if canSave}}<button id="issues-filter-save">{{t 'save'}}</button>{{/if}}
-      {{/if}}
-      {{#unless id}}<button id="issues-filter-save-as">{{t 'save_as'}}</button>{{/unless}}
-      {{#if id}}<button id="issues-filter-copy">{{t 'copy'}}</button>{{/if}}
-      {{#if canModify}}
-        {{#if id}}<button id="issues-filter-edit">{{t 'edit'}}</button>{{/if}}
-      {{/if}}
-    {{/if}}
-  </div>
-
-{{#if description}}
-  <div class="navigator-header-description">{{description}}</div>
-{{/if}}
diff --git a/server/sonar-web/src/main/hbs/issues-old/issues.hbs b/server/sonar-web/src/main/hbs/issues-old/issues.hbs
deleted file mode 100644 (file)
index 50dba46..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<ol class="navigator-results-list"></ol>
-<div class="navigator-results-loader">
-  <i class="spinner"></i>
-</div>
diff --git a/server/sonar-web/src/main/hbs/issues-old/no-issues.hbs b/server/sonar-web/src/main/hbs/issues-old/no-issues.hbs
deleted file mode 100644 (file)
index 33ec191..0000000
+++ /dev/null
@@ -1 +0,0 @@
-{{t 'issue_filter.no_issues'}}
diff --git a/server/sonar-web/src/main/js/issues-old/app.js b/server/sonar-web/src/main/js/issues-old/app.js
deleted file mode 100644 (file)
index 2d45ffd..0000000
+++ /dev/null
@@ -1,551 +0,0 @@
-requirejs.config({
-  baseUrl: baseUrl + '/js',
-
-  paths: {
-    'backbone': 'third-party/backbone',
-    'backbone.marionette': 'third-party/backbone.marionette',
-    'handlebars': 'third-party/handlebars'
-  },
-
-  shim: {
-    'backbone.marionette': {
-      deps: ['backbone'],
-      exports: 'Marionette'
-    },
-    'backbone': {
-      exports: 'Backbone'
-    },
-    'handlebars': {
-      exports: 'Handlebars'
-    }
-  }
-
-});
-
-requirejs(
-    [
-      'backbone', 'backbone.marionette', 'handlebars',
-      'issues-old/extra',
-      'navigator/filters/filter-bar',
-      'navigator/filters/base-filters',
-      'navigator/filters/checkbox-filters',
-      'navigator/filters/choice-filters',
-      'navigator/filters/ajax-select-filters',
-      'navigator/filters/favorite-filters',
-      'navigator/filters/range-filters',
-      'navigator/filters/context-filters',
-      'navigator/filters/read-only-filters',
-      'navigator/filters/action-plan-filters',
-      'navigator/filters/rule-filters',
-
-      'common/handlebars-extensions'
-    ],
-    function (Backbone, Marionette, Handlebars, Extra, FilterBar, BaseFilters, CheckboxFilterView,
-              ChoiceFilters, AjaxSelectFilters, FavoriteFilters, RangeFilters, ContextFilterView,
-              ReadOnlyFilterView, ActionPlanFilterView, RuleFilterView) {
-      Handlebars.registerPartial('detailInnerTemplate', jQuery('#issue-detail-inner-template').html());
-
-      var NavigatorApp = new Marionette.Application();
-
-
-      NavigatorApp.addRegions({
-        headerRegion: '.navigator-header',
-        filtersRegion: '.navigator-filters',
-        resultsRegion: '.navigator-results',
-        actionsRegion: '.navigator-actions',
-        detailsRegion: '.navigator-details'
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        jQuery('html').addClass('navigator-page issues-page');
-
-        this.appState = new Extra.AppState();
-        window.SS.appState = this.appState;
-
-        this.state = new Backbone.Model({
-          query: ''
-        });
-
-        this.issues = new Extra.Issues();
-        this.issues.sorting = {
-          sort: 'UPDATE_DATE',
-          asc: false
-        };
-        this.issuesPage = 1;
-
-        this.filters = new BaseFilters.Filters();
-
-        this.favoriteFilter = new Extra.FavoriteFilter();
-        this.issuesHeaderView = new Extra.IssuesHeaderView({
-          app: this,
-          model: this.favoriteFilter
-        });
-        this.headerRegion.show(this.issuesHeaderView);
-
-        this.issuesView = new Extra.IssuesView({
-          app: this,
-          collection: this.issues
-        });
-        this.resultsRegion.show(this.issuesView);
-
-        this.issuesActionsView = new Extra.IssuesActionsView({
-          app: this,
-          collection: this.issues
-        });
-        this.actionsRegion.show(this.issuesActionsView);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.projectFilter = new BaseFilters.Filter({
-          name: window.SS.phrases.project,
-          property: 'componentRoots',
-          type: AjaxSelectFilters.ProjectFilterView,
-          enabled: true,
-          optional: false
-        });
-        this.filters.add(this.projectFilter);
-
-        this.assigneeChoices = {
-          '!assigned': window.SS.phrases.unassigned
-        };
-        this.reporterChoices = {};
-        if (window.SS.currentUser) {
-          this.assigneeChoices[window.SS.currentUser] = window.SS.currentUserName + ' (' + window.SS.currentUser + ')';
-          this.reporterChoices[window.SS.currentUser] = window.SS.currentUserName + ' (' + window.SS.currentUser + ')';
-        }
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.severity,
-            property: 'severities',
-            type: ChoiceFilters.ChoiceFilterView,
-            enabled: true,
-            optional: false,
-            choices: {
-              'BLOCKER': window.SS.phrases.severities.BLOCKER,
-              'CRITICAL': window.SS.phrases.severities.CRITICAL,
-              'MAJOR': window.SS.phrases.severities.MAJOR,
-              'MINOR': window.SS.phrases.severities.MINOR,
-              'INFO': window.SS.phrases.severities.INFO
-            },
-            choiceIcons: {
-              'BLOCKER': 'severity-blocker',
-              'CRITICAL': 'severity-critical',
-              'MAJOR': 'severity-major',
-              'MINOR': 'severity-minor',
-              'INFO': 'severity-info'
-            }
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.status,
-            property: 'statuses',
-            type: ChoiceFilters.ChoiceFilterView,
-            enabled: true,
-            optional: false,
-            choices: {
-              'OPEN': window.SS.phrases.statuses.OPEN,
-              'CONFIRMED': window.SS.phrases.statuses.CONFIRMED,
-              'REOPENED': window.SS.phrases.statuses.REOPENED,
-              'RESOLVED': window.SS.phrases.statuses.RESOLVED,
-              'CLOSED': window.SS.phrases.statuses.CLOSED
-            },
-            choiceIcons: {
-              'OPEN': 'status-open',
-              'CONFIRMED': 'status-confirmed',
-              'REOPENED': 'status-reopened',
-              'RESOLVED': 'status-resolved',
-              'CLOSED': 'status-closed'
-            }
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.assignee,
-            property: 'assignees',
-            type: AjaxSelectFilters.AssigneeFilterView,
-            enabled: true,
-            optional: false,
-            choices: this.assigneeChoices
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.resolution,
-            property: 'resolutions',
-            type: ChoiceFilters.ChoiceFilterView,
-            enabled: true,
-            optional: false,
-            choices: {
-              '!resolved=true': window.SS.phrases.resolutions.RESOLVED,
-              '!resolved=false': window.SS.phrases.resolutions.UNRESOLVED,
-              'FALSE-POSITIVE': window.SS.phrases.resolutions['FALSE-POSITIVE'],
-              'FIXED': window.SS.phrases.resolutions.FIXED,
-              'REMOVED': window.SS.phrases.resolutions.REMOVED
-            }
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.actionPlan,
-            property: 'actionPlans',
-            type: ActionPlanFilterView,
-            enabled: false,
-            optional: true,
-            projectFilter: this.projectFilter,
-            choices: {
-              '!planned': window.SS.phrases.unplanned
-            }
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.created,
-            propertyFrom: 'createdAfter',
-            propertyTo: 'createdBefore',
-            type: RangeFilters.DateRangeFilterView,
-            enabled: false,
-            optional: true
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.createdAt,
-            property: 'createdAt',
-            type: ReadOnlyFilterView,
-            enabled: false,
-            optional: true,
-            format: function(value) { return moment(value).format('YYYY-MM-DD HH:mm'); }
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.language,
-            property: 'languages',
-            type: ChoiceFilters.ChoiceFilterView,
-            enabled: false,
-            optional: true,
-            choices: window.SS.languages
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.reporter,
-            property: 'reporters',
-            type: AjaxSelectFilters.ReporterFilterView,
-            enabled: false,
-            optional: true,
-            choices: this.reporterChoices
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filters.add([
-          new BaseFilters.Filter({
-            name: window.SS.phrases.rule,
-            property: 'rules',
-            type: RuleFilterView,
-            enabled: false,
-            optional: true
-          })
-        ]);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.filterBarView = new Extra.IssuesFilterBarView({
-          app: this,
-          collection: this.filters,
-          extra: {
-            sort: '',
-            asc: false
-          }
-        });
-
-        this.filtersRegion.show(this.filterBarView);
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        var app = this;
-
-        jQuery.when(this.appState.fetch()).done(function () {
-
-          if (app.appState.get('favorites')) {
-            app.filters.unshift(
-                new BaseFilters.Filter({
-                  type: Extra.IssuesFavoriteFilterView,
-                  enabled: true,
-                  optional: false,
-                  choices: app.appState.get('favorites'),
-                  manageUrl: '/issues/manage'
-                })
-            );
-          }
-
-          app.router = new Extra.IssuesRouter({
-            app: app
-          });
-          Backbone.history.start();
-
-          app.favoriteFilter.on('change:query', function (model, query) {
-            app.router.navigate(query, { trigger: true, replace: true });
-          });
-        });
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        var app = this;
-
-        window.onBulkIssues = function () {
-          app.fetchFirstPage();
-          jQuery('#modal').dialog('close');
-        };
-
-        window.onSaveAs = window.onCopy = window.onEdit = function (id) {
-          jQuery('#modal').dialog('close');
-          app.appState.fetch();
-
-          var filter = new Extra.FavoriteFilter({ id: id });
-          filter.fetch({
-            success: function () {
-              app.state.set('search', false);
-              app.favoriteFilter.set(filter.toJSON());
-              app.fetchFirstPage();
-            }
-          });
-        };
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        this.onResize = function() {
-          var footerEl = jQuery('#footer'),
-              footerHeight = footerEl.outerHeight(true);
-
-          var resultsEl = jQuery('.navigator-results'),
-              resultsHeight = jQuery(window).height() - resultsEl.offset().top -
-                  parseInt(resultsEl.css('margin-bottom'), 10) - footerHeight;
-          resultsEl.height(resultsHeight);
-
-          var detailsEl = jQuery('.navigator-details'),
-              detailsWidth = jQuery(window).width() - detailsEl.offset().left -
-                  parseInt(detailsEl.css('margin-right'), 10) - 20,
-              detailsHeight = jQuery(window).height() - detailsEl.offset().top -
-                  parseInt(detailsEl.css('margin-bottom'), 10) - footerHeight;
-          detailsEl.width(detailsWidth).height(detailsHeight);
-
-          var resultsLoadingEl = jQuery('.navigator-results-loader');
-          resultsLoadingEl
-              .css('top', resultsEl.offset().top)
-              .css('left', resultsEl.offset().left)
-              .width(resultsEl.width() + 10)
-              .height(resultsEl.height() + 10);
-        };
-        jQuery(window).on('resize', this.onResize);
-        this.onResize();
-      });
-
-
-      NavigatorApp.addInitializer(function () {
-        var that = this;
-        jQuery('body')
-            .on('mousemove', function (e) {
-              that.processResize(e);
-            })
-            .on('mouseup', function () {
-              that.stopResize();
-            });
-        jQuery('.navigator-resizer').on('mousedown', function (e) {
-          that.startResize(e);
-        });
-
-        var resultsWidth = localStorage.getItem('issuesResultsWidth');
-        if (resultsWidth) {
-          jQuery('.navigator-results').width(+resultsWidth);
-          jQuery('.navigator-side').width(+resultsWidth + 20);
-          this.onResize();
-        }
-      });
-
-
-      NavigatorApp.startResize = function (e) {
-        this.isResize = true;
-        this.originalWidth = jQuery('.navigator-results').width();
-        this.x = e.clientX;
-        jQuery('html').attr('unselectable', 'on').css('user-select', 'none').on('selectstart', false);
-      };
-
-
-      NavigatorApp.processResize = function (e) {
-        if (this.isResize) {
-          var delta = e.clientX - this.x;
-          jQuery('.navigator-results').width(this.originalWidth + delta);
-          jQuery('.navigator-side').width(this.originalWidth + 20 + delta);
-          localStorage.setItem('issuesResultsWidth', jQuery('.navigator-results').width());
-          this.onResize();
-        }
-      };
-
-
-      NavigatorApp.stopResize = function() {
-        if (this.isResize) {
-          jQuery('html').attr('unselectable', 'off').css('user-select', 'text').off('selectstart');
-        }
-        this.isResize = false;
-      };
-
-
-      NavigatorApp.getQuery = function (withoutId) {
-        if (this.filterBarView) {
-          var query = this.filterBarView.getQuery();
-          if (!withoutId && this.favoriteFilter.id) {
-            query['id'] = this.favoriteFilter.id;
-          }
-          return query;
-        } else {
-          return {};
-        }
-      };
-
-
-      NavigatorApp.storeQuery = function (query, sorting) {
-        if (sorting) {
-          _.extend(query, {
-            sort: sorting.sort,
-            asc: '' + sorting.asc
-          });
-        }
-
-        var queryString = _.map(query,function (v, k) {
-          return [k, encodeURIComponent(v)].join('=');
-        }).join('|');
-        this.router.navigate(queryString, { replace: true });
-      };
-
-
-      NavigatorApp.restoreSorting = function (query) {
-        var sort = _.findWhere(query, { key: 'sort' }),
-            asc = _.findWhere(query, { key: 'asc' });
-
-        if (sort && asc) {
-          this.issues.sorting = {
-            sort: sort.value,
-            sortText: jQuery('[data-sort=' + sort.value + ']:first').text(),
-            asc: asc.value === 'true'
-          };
-        }
-      };
-
-
-      NavigatorApp.fetchIssues = function (firstPage) {
-        var query = this.getQuery(),
-            fetchQuery = _.extend({
-              pageIndex: this.issuesPage
-            }, query);
-
-        // SONAR-5086
-        if (fetchQuery['actionPlans'] && fetchQuery['componentRoots']) {
-          delete fetchQuery['componentRoots'];
-        }
-
-        if (this.issues.sorting) {
-          _.extend(fetchQuery, {
-            sort: this.issues.sorting.sort,
-            asc: this.issues.sorting.asc
-          });
-        }
-
-        _.extend(fetchQuery, {
-          hideRules: true
-        });
-
-        if (this.favoriteFilter.id) {
-          query['id'] = this.favoriteFilter.id;
-          fetchQuery['id'] = this.favoriteFilter.id;
-        }
-
-        this.storeQuery(query, this.issues.sorting);
-
-        var that = this;
-        jQuery('.navigator-results').addClass('fetching');
-        if (firstPage) {
-          this.issues.fetch({
-            data: fetchQuery,
-            success: function () {
-              jQuery('.navigator-results').removeClass('fetching');
-              that.issuesView.selectFirst();
-            }
-          });
-          this.detailsRegion.reset();
-        } else {
-          this.issues.fetch({
-            data: fetchQuery,
-            remove: false,
-            success: function () {
-              jQuery('.navigator-results').removeClass('fetching');
-            }
-          });
-        }
-      };
-
-
-      NavigatorApp.fetchFirstPage = function () {
-        this.issuesPage = 1;
-        this.fetchIssues(true);
-      };
-
-
-      NavigatorApp.fetchNextPage = function () {
-        if (this.issuesPage < this.issues.paging.pages) {
-          this.issuesPage++;
-          this.fetchIssues(false);
-        }
-      };
-
-      window.requestMessages().done(function () {
-        NavigatorApp.start();
-      });
-
-    });
diff --git a/server/sonar-web/src/main/js/issues-old/extra.js b/server/sonar-web/src/main/js/issues-old/extra.js
deleted file mode 100644 (file)
index ba1c35a..0000000
+++ /dev/null
@@ -1,673 +0,0 @@
-define(
-    [
-      'backbone',
-      'backbone.marionette',
-      'navigator/filters/filter-bar',
-      'navigator/filters/base-filters',
-      'navigator/filters/favorite-filters',
-      'navigator/filters/read-only-filters',
-      'component-viewer/main',
-      'templates/issues-old'
-    ],
-    function (Backbone, Marionette, FilterBarView, BaseFilters, FavoriteFiltersModule, ReadOnlyFilterView,
-              ComponentViewer, Templates) {
-
-      var AppState = Backbone.Model.extend({
-
-        defaults: {
-          canManageFilters: false,
-          canBulkChange: false
-        },
-
-
-        url: function () {
-          return baseUrl + '/api/issue_filters/app';
-        }
-
-      });
-
-
-      var Issue = Backbone.Model.extend({
-
-        url: function () {
-          return baseUrl + '/api/issues/show?key=' + this.get('key');
-        },
-
-
-        parse: function (r) {
-          return r.issue ? r.issue : r;
-        }
-
-      });
-
-
-      var Issues = Backbone.Collection.extend({
-        model: Issue,
-
-
-        url: function () {
-          return baseUrl + '/api/issues/search';
-        },
-
-
-        parse: function (r) {
-
-          function find(source, key, keyField) {
-            var searchDict = {};
-            searchDict[keyField || 'key'] = key;
-            return _.findWhere(source, searchDict) || key;
-          }
-
-          this.paging = r.paging;
-          this.maxResultsReached = r.maxResultsReached;
-
-          return r.issues.map(function (issue) {
-            var component = find(r.components, issue.component),
-                project = find(r.projects, issue.project),
-                rule = find(r.rules, issue.rule);
-
-            if (component) {
-              _.extend(issue, {
-                componentLongName: component.longName,
-                componentQualifier: component.qualifier
-              });
-            }
-
-            if (project) {
-              _.extend(issue, {
-                projectLongName: project.longName
-              });
-            }
-
-            if (rule) {
-              _.extend(issue, {
-                ruleName: rule.name
-              });
-            }
-
-            return issue;
-          });
-
-        }
-      });
-
-
-      var FavoriteFilter = Backbone.Model.extend({
-
-        url: function () {
-          return baseUrl + '/api/issue_filters/show/' + this.get('id');
-        },
-
-
-        parse: function (r) {
-          return r.filter ? r.filter : r;
-        }
-      });
-
-
-      var FavoriteFilters = Backbone.Collection.extend({
-        model: FavoriteFilter,
-
-
-        url: function () {
-          return baseUrl + '/api/issue_filters/favorites';
-        },
-
-
-        parse: function (r) {
-          return r.favoriteFilters;
-        }
-      });
-
-
-      var IssueView = Marionette.ItemView.extend({
-        template: Templates['issue-detail'],
-        tagName: 'li',
-
-
-        ui: {
-          component: '.component'
-        },
-
-
-        events: {
-          'click': 'showDetails'
-        },
-
-
-        modelEvents: {
-          'change': 'render'
-        },
-
-
-        showDetails: function () {
-          key.setScope('list');
-          this.options.issuesView.selected = this.$el.parent().children().index(this.$el);
-
-          this.options.issuesView.selectIssue(this.$el, false);
-
-          var that = this,
-              app = this.options.app,
-              settings = localStorage.getItem('componentViewerSettings'),
-              navigatorDetails = jQuery('.navigator-details'),
-              componentViewer = new ComponentViewer({
-                settings: settings,
-                shouldStoreSettings: true,
-                elementToFit: navigatorDetails,
-                component: {
-                  project: this.model.get('project'),
-                  projectLongName: this.model.get('projectLongName')
-                }
-              }),
-              showCallback = function () {
-                navigatorDetails.removeClass('navigator-fetching');
-                app.detailsRegion.show(componentViewer);
-                componentViewer.settings.set('issues', false);
-                componentViewer.open(that.model.get('component'));
-                componentViewer.on('loaded', function() {
-                  componentViewer.off('loaded');
-                  componentViewer.showIssues(false, that.model.toJSON());
-                });
-              };
-
-          navigatorDetails.empty().addClass('navigator-fetching');
-          var issueKey = this.model.get('key');
-          this.model.clear({ silent: true });
-          this.model.set({ key: issueKey }, { silent: true });
-          jQuery.when(this.model.fetch()).done(showCallback);
-        },
-
-
-        serializeData: function () {
-          var projectFilter = this.options.app.filters.findWhere({ property: 'componentRoots' }),
-              singleProject = _.isArray(projectFilter.get('value')) && projectFilter.get('value').length === 1;
-
-          return _.extend({
-            singleProject: singleProject
-          }, this.model.toJSON());
-        }
-      });
-
-
-      var NoIssuesView = Marionette.ItemView.extend({
-        tagName: 'li',
-        className: 'navigator-results-no-results',
-        template: Templates['no-issues']
-      });
-
-
-      var IssuesView = Marionette.CompositeView.extend({
-        template: Templates['issues'],
-        itemViewContainer: '.navigator-results-list',
-        itemView: IssueView,
-        emptyView: NoIssuesView,
-
-
-        initialize: function() {
-          var openIssue = function(el) {
-            el.click();
-          };
-          this.openIssue = _.debounce(openIssue, 300);
-        },
-
-
-        itemViewOptions: function () {
-          return {
-            issuesView: this,
-            app: this.options.app
-          };
-        },
-
-
-        selectIssue: function(el, open) {
-          this.$('.active').removeClass('active');
-          el.addClass('active');
-          if (open) {
-            this.openIssue(el);
-          }
-        },
-
-
-        selectFirst: function() {
-          this.selected = -1;
-          this.selectNext();
-        },
-
-
-        selectNext: function() {
-          if (this.selected < this.collection.length - 1) {
-            this.selected++;
-            var child = this.$(this.itemViewContainer).children().eq(this.selected),
-                container = jQuery('.navigator-results'),
-                containerHeight = container.height(),
-                bottom = child.position().top + child.outerHeight();
-            if (bottom > containerHeight) {
-              container.scrollTop(container.scrollTop() - containerHeight + bottom);
-            }
-            this.selectIssue(child, true);
-          }
-        },
-
-
-        selectPrev: function() {
-          if (this.selected > 0) {
-            this.selected--;
-            var child = this.$(this.itemViewContainer).children().eq(this.selected),
-                container = jQuery('.navigator-results'),
-                top = child.position().top;
-            if (top < 0) {
-              container.scrollTop(container.scrollTop() + top);
-            }
-            this.selectIssue(child, true);
-          }
-        },
-
-
-        onRender: function () {
-          var that = this,
-              $scrollEl = jQuery('.navigator-results'),
-              scrollEl = $scrollEl.get(0),
-              onScroll = function () {
-                if (scrollEl.offsetHeight + scrollEl.scrollTop >= scrollEl.scrollHeight) {
-                  that.options.app.fetchNextPage();
-                }
-              },
-              throttledScroll = _.throttle(onScroll, 300);
-          $scrollEl.off('scroll').on('scroll', throttledScroll);
-          this.bindShortcuts();
-        },
-
-
-        onAfterItemAdded: function () {
-          var showLimitNotes = this.collection.maxResultsReached != null && this.collection.maxResultsReached;
-          jQuery('.navigator').toggleClass('navigator-with-notes', showLimitNotes);
-          jQuery('.navigator-notes').toggle(showLimitNotes);
-        },
-
-
-        close: function () {
-          var scrollEl = jQuery('.navigator-results');
-          scrollEl.off('scroll');
-          Marionette.CollectionView.prototype.close.call(this);
-        },
-
-
-        bindShortcuts: function () {
-          var that = this;
-          key('up', 'list', function() {
-            that.selectPrev();
-          });
-          key('down', 'list', function() {
-            that.selectNext();
-          });
-        }
-
-      });
-
-
-      var IssuesActionsView = Marionette.ItemView.extend({
-        template: Templates['issues-actions'],
-
-
-        collectionEvents: {
-          'sync': 'render'
-        },
-
-
-        events: {
-          'click .navigator-actions-order': 'toggleOrderChoices',
-          'click .navigator-actions-order-choices': 'sort',
-          'click .navigator-actions-bulk': 'bulkChange'
-        },
-
-
-        ui: {
-          orderChoices: '.navigator-actions-order-choices'
-        },
-
-
-        onRender: function () {
-          if (!this.collection.sorting.sortText) {
-            this.collection.sorting.sortText = this.$('[data-sort=' + this.collection.sorting.sort + ']:first').text();
-            this.$('.navigator-actions-ordered-by').text(this.collection.sorting.sortText);
-          }
-        },
-
-
-        toggleOrderChoices: function (e) {
-          e.stopPropagation();
-          this.ui.orderChoices.toggleClass('open');
-          if (this.ui.orderChoices.is('.open')) {
-            var that = this;
-            jQuery('body').on('click.issues_actions', function () {
-              that.ui.orderChoices.removeClass('open');
-            });
-          }
-        },
-
-
-        sort: function (e) {
-          e.stopPropagation();
-          this.ui.orderChoices.removeClass('open');
-          jQuery('body').off('click.issues_actions');
-          var el = jQuery(e.target),
-              sort = el.data('sort'),
-              asc = el.data('asc');
-
-          if (sort != null && asc != null) {
-            this.collection.sorting = {
-              sort: sort,
-              sortText: el.text(),
-              asc: asc
-            };
-            this.options.app.fetchFirstPage();
-          }
-        },
-
-
-        bulkChange: function(e) {
-          e.preventDefault();
-          openModalWindow(jQuery(e.currentTarget).prop('href'), {});
-        },
-
-
-        serializeData: function () {
-          var data = Marionette.ItemView.prototype.serializeData.apply(this, arguments),
-              bulkChangeData = this.options.app.getQuery(true),
-              bulkChangeQuery = _.map(bulkChangeData,function (v, k) {
-                return [k, encodeURIComponent(v)].join('=');
-              }).join('&');
-          return _.extend(data || {}, {
-            paging: this.collection.paging,
-            sorting: this.collection.sorting,
-            maxResultsReached: this.collection.maxResultsReached,
-            appState: window.SS.appState.toJSON(),
-            bulkChangeUrl: baseUrl + '/issues/bulk_change_form',
-            query: bulkChangeQuery
-          });
-        }
-      });
-
-
-
-      var IssuesDetailsFavoriteFilterView = FavoriteFiltersModule.DetailsFavoriteFilterView.extend({
-        template: Templates['issues-details-favorite-filter'],
-
-
-        applyFavorite: function (e) {
-          var id = $j(e.target).data('id'),
-              filter = new FavoriteFilter({ id: id }),
-              app = this.options.filterView.options.app;
-
-          filter.fetch({
-            success: function () {
-              app.state.set('search', false);
-              app.favoriteFilter.clear({ silent: true });
-              app.favoriteFilter.set(filter.toJSON());
-            }
-          });
-
-          this.options.filterView.hideDetails();
-        },
-
-
-        serializeData: function () {
-          return _.extend({}, this.model.toJSON(), {
-            items: _.sortBy(this.model.get('choices'), function(item) {
-              return item.name.toLowerCase();
-            })
-          });
-        }
-      });
-
-
-
-      var IssuesFavoriteFilterView = FavoriteFiltersModule.FavoriteFilterView.extend({
-
-        initialize: function () {
-          BaseFilters.BaseFilterView.prototype.initialize.call(this, {
-            detailsView: IssuesDetailsFavoriteFilterView
-          });
-
-          this.listenTo(window.SS.appState, 'change:favorites', this.updateFavorites);
-        },
-
-
-        updateFavorites: function () {
-          this.model.set('choices', window.SS.appState.get('favorites'));
-          this.render();
-        }
-      });
-
-
-
-      var IssuesFilterBarView = FilterBarView.extend({
-        template: Templates['filter-bar'],
-
-        collectionEvents: {
-          'change:enabled': 'changeEnabled'
-        },
-
-
-        events: {
-          'click .navigator-filter-submit': 'search'
-        },
-
-
-        getQuery: function () {
-          var query = {};
-          this.collection.each(function (filter) {
-            _.extend(query, filter.view.formatValue());
-          });
-          return query;
-        },
-
-
-        onAfterItemAdded: function (itemView) {
-          if (itemView.model.get('type') === FavoriteFiltersModule.FavoriteFilterView ||
-              itemView.model.get('type') === IssuesFavoriteFilterView) {
-            jQuery('.navigator-header').addClass('navigator-header-favorite');
-          }
-        },
-
-
-        addMoreCriteriaFilter: function() {
-          var readOnlyFilters = this.collection.where({ type: ReadOnlyFilterView }),
-              disabledFilters = _.difference(this.collection.where({ enabled: false }), readOnlyFilters);
-          this.moreCriteriaFilter = new BaseFilters.Filter({
-            type: require('navigator/filters/more-criteria-filters').MoreCriteriaFilterView,
-            enabled: true,
-            optional: false,
-            filters: disabledFilters
-          });
-          this.collection.add(this.moreCriteriaFilter);
-        },
-
-
-        changeEnabled: function () {
-          var disabledFilters = _.reject(this.collection.where({ enabled: false }), function (filter) {
-                return filter.get('type') ===
-                       require('navigator/filters/more-criteria-filters').MoreCriteriaFilterView ||
-                       filter.get('type') === ReadOnlyFilterView;
-              });
-
-          if (disabledFilters.length === 0) {
-            this.moreCriteriaFilter.set({ enabled: false }, { silent: true });
-          } else {
-            this.moreCriteriaFilter.set({ enabled: true }, { silent: true });
-          }
-          this.moreCriteriaFilter.set({ filters: disabledFilters }, { silent: true });
-          this.moreCriteriaFilter.trigger('change:filters');
-        },
-
-
-        search: function () {
-          this.$('.navigator-filter-submit').blur();
-          this.options.app.state.set({
-            query: this.options.app.getQuery(),
-            search: true
-          });
-          this.options.app.fetchFirstPage();
-        },
-
-
-        fetchNextPage: function () {
-          this.options.app.fetchNextPage();
-        }
-
-      });
-
-
-      var IssuesHeaderView = Marionette.ItemView.extend({
-        template: Templates['issues-header'],
-
-
-        modelEvents: {
-          'change': 'render'
-        },
-
-
-        events: {
-          'click #issues-new-search': 'newSearch',
-          'click #issues-filter-save-as': 'saveAs',
-          'click #issues-filter-save': 'save',
-          'click #issues-filter-copy': 'copy',
-          'click #issues-filter-edit': 'edit'
-        },
-
-
-        initialize: function (options) {
-          Marionette.ItemView.prototype.initialize.apply(this, arguments);
-          this.listenTo(options.app.state, 'change', this.render);
-        },
-
-
-        newSearch: function () {
-          this.model.clear();
-          this.options.app.router.navigate('resolved=false', { trigger: true, replace: true });
-        },
-
-
-        saveAs: function () {
-          var url = baseUrl + '/issues/save_as_form?' + (Backbone.history.fragment || '').replace(/\|/g, '&');
-          openModalWindow(url, {});
-        },
-
-
-        save: function () {
-          var that = this;
-          url = baseUrl + '/issues/save/' + this.model.id + '?' + (Backbone.history.fragment || '').replace(/\|/g, '&');
-          jQuery.ajax({
-            type: 'POST',
-            url: url
-          }).done(function () {
-                that.options.app.state.set('search', false);
-              });
-        },
-
-
-        copy: function () {
-          var url = baseUrl + '/issues/copy_form/' + this.model.id;
-          openModalWindow(url, {});
-        },
-
-
-        edit: function () {
-          var url = baseUrl + '/issues/edit_form/' + this.model.id;
-          openModalWindow(url, {});
-        },
-
-
-        serializeData: function () {
-          return _.extend({
-            canSave: this.model.id && this.options.app.state.get('search'),
-            appState: window.SS.appState.toJSON(),
-            currentUser: window.SS.currentUser
-          }, this.model.toJSON());
-        }
-
-      });
-
-
-
-      var IssuesRouter = Backbone.Router.extend({
-
-        routes: {
-          '': 'emptyQuery',
-          ':query': 'index'
-        },
-
-
-        initialize: function (options) {
-          this.app = options.app;
-        },
-
-
-        parseQuery: function (query, separator) {
-          return (query || '').split(separator || '|').map(function (t) {
-            var tokens = t.split('=');
-            return {
-              key: tokens[0],
-              value: decodeURIComponent(tokens[1])
-            };
-          });
-        },
-
-
-        emptyQuery: function () {
-          this.navigate('resolved=false', { trigger: true, replace: true });
-        },
-
-
-        index: function (query) {
-          var params = this.parseQuery(query);
-
-          var idObj = _.findWhere(params, { key: 'id' });
-          if (idObj) {
-            var that = this,
-              f = this.app.favoriteFilter;
-            this.app.canSave = false;
-            f.set('id', idObj.value);
-            f.fetch({
-              success: function () {
-                var parsedFilter = that.parseQuery(f.get('query'));
-                params = _.extend({}, params);
-                params = _.extent(params, parsedFilter);
-                that.loadResults(params);
-              }
-            });
-          } else {
-            this.loadResults(params);
-          }
-        },
-
-
-        loadResults: function (params) {
-          this.app.filterBarView.restoreFromQuery(params);
-          this.app.restoreSorting(params);
-          this.app.fetchFirstPage();
-        }
-
-      });
-
-
-      /*
-       * Export public classes
-       */
-
-      return {
-        AppState: AppState,
-        Issue: Issue,
-        Issues: Issues,
-        FavoriteFilter: FavoriteFilter,
-        FavoriteFilters: FavoriteFilters,
-        IssueView: IssueView,
-        IssuesView: IssuesView,
-        IssuesActionsView: IssuesActionsView,
-        IssuesFilterBarView: IssuesFilterBarView,
-        IssuesHeaderView: IssuesHeaderView,
-        IssuesFavoriteFilterView: IssuesFavoriteFilterView,
-        IssuesRouter: IssuesRouter
-      };
-
-    });
index ecf608e904f03af0c6ce710b71d1a190d9236308..fd4844050c6c6090670b1e8f95398ad4352ecd4c 100644 (file)
@@ -21,9 +21,6 @@
         <li>
           <a href="<%= ApplicationController.root_context -%>/issues/index" class="<%= 'selected' if selected_section==Navigation::SECTION_ISSUES -%>"><%= message('issues.page') -%></a>
         </li>
-        <li>
-            <a href="<%= ApplicationController.root_context -%>/issues2/index" class="<%= 'selected' if selected_section==Navigation::SECTION_ISSUES2 -%>">Old Issues</a>
-        </li>
         <li>
           <a href="<%= ApplicationController.root_context -%>/coding_rules" class="<%= 'selected' if selected_section==Navigation::SECTION_CODING_RULES -%>"><%= message('coding_rules.page') -%></a>
         </li>