From: Stas Vilchik Date: Wed, 30 Jul 2014 08:53:14 +0000 (+0200) Subject: Merge branch 'branch-4.4' X-Git-Tag: 4.5-RC1~320^2~26 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6f22dcadaf12e718bb8984c3415d8dae6e4a17b8;p=sonarqube.git Merge branch 'branch-4.4' Conflicts: sonar-server/src/main/coffee/drilldown/app.coffee --- 6f22dcadaf12e718bb8984c3415d8dae6e4a17b8 diff --cc server/sonar-web/src/main/coffee/drilldown/app.coffee index c1179e3e05d,00000000000..860b9b3d985 mode 100644,000000..100644 --- a/server/sonar-web/src/main/coffee/drilldown/app.coffee +++ b/server/sonar-web/src/main/coffee/drilldown/app.coffee @@@ -1,100 -1,0 +1,102 @@@ +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.marionette' + 'component-viewer/main' + 'drilldown/conf' +], ( + Marionette + ComponentViewer + MetricConf +) -> + + $ = jQuery + App = new Marionette.Application() + el = $('#accordion-panel') + + + App.addRegions + viewerRegion: '#accordion-panel' + + + App.resizeContainer = -> + height = Math.min 780, ($(window).height() - 20) + el.innerHeight(height) + + + App.requestComponentViewer = -> + unless App.componentViewer? + @resizeContainer() + $(window).on 'resize', => @resizeContainer() + App.componentViewer = new ComponentViewer + elementToFit: el + App.viewerRegion.show App.componentViewer + App.componentViewer + + + App.addInitializer -> + # Define parameters + drilldown = window.drilldown || {} + activeHeaderTab = 'issues' + activeHeaderItem = '.js-filter-unresolved-issues' + if drilldown.metric? + metricConf = MetricConf[drilldown.metric] + if metricConf? + activeHeaderTab = metricConf.tab + activeHeaderItem = metricConf.item + else + activeHeaderTab = 'basic' + activeHeaderItem = null + else if drilldown.rule? + activeHeaderTab = 'issues' + activeHeaderItem = ".js-filter-rule[data-rule='#{drilldown.rule}']" + else if drilldown.severity? + activeHeaderTab = 'issues' + activeHeaderItem = ".js-filter-#{drilldown.severity}-issues" + + # Add event listeners + $('.js-drilldown-link').on 'click', (e) -> + e.preventDefault() + key = $(e.currentTarget).data 'key' + viewer = App.requestComponentViewer() + + f = -> + if drilldown.period? + viewer.enablePeriod drilldown.period, activeHeaderItem + else if activeHeaderItem? + viewer.state.set activeHeaderTab: activeHeaderTab, activeHeaderItem: activeHeaderItem + viewer.render() + else viewer.showAllLines() + - viewer.open(key).done -> ++ viewer.open key ++ viewer.on 'loaded', -> ++ viewer.off 'loaded' + if activeHeaderTab? + viewer.headerView.enableBar(activeHeaderTab).done -> f() + else f() + + + + # Message bundles + l10nXHR = window.requestMessages() + + + $.when(l10nXHR).done -> + # Start the application + App.start()