# Optimize requested fields
_.extend fetchQuery, f: 'name,lang,status'
+ if @codingRulesListView
+ scrollOffset = jQuery('.navigator-results')[0].scrollTop
+ else
+ scrollOffset = 0
+
@layout.showSpinner 'resultsRegion'
@layout.showSpinner 'facetsRegion' unless fromFacets || !firstPage
jQuery.ajax
pageIndex: r.p
pageSize: r.ps
pages: 1 + (r.total / r.ps)
+
@codingRulesListView = new CodingRulesListView
app: @
collection: @codingRules
@layout.resultsRegion.show @codingRulesListView
@codingRulesListView.selectFirst()
+ unless firstPage
+ jQuery('.navigator-results')[0].scrollTop = scrollOffset
+
unless fromFacets
@codingRulesFacetsView = new CodingRulesFacetsView
app: @
# Call app before start the application
appXHR = jQuery.ajax
url: "#{baseUrl}/api/rules/app"
+ .done (r) ->
+ App.appState = new Backbone.Model
+ App.state = new Backbone.Model
+ App.canWrite = r.canWrite
+ App.qualityProfiles = r.qualityprofiles
+ App.languages = r.languages
+ App.repositories = r.repositories
+ App.statuses = r.statuses
+ App.characteristics = r.characteristics
+
+ App.facetPropertyToLabels =
+ 'languages': App.languages
+ 'repositories': App.repositories
# Message bundles
l10nXHR = window.requestMessages()
- jQuery.when(appXHR, l10nXHR)
- .done (r) ->
- App.appState = new Backbone.Model
- App.state = new Backbone.Model
- App.canWrite = r.canWrite
- App.qualityProfiles = r.qualityprofiles
- App.languages = r.languages
- App.repositories = r.repositories
- App.statuses = r.statuses
- App.characteristics = r.characteristics
-
- App.facetPropertyToLabels =
- 'languages': App.languages
- 'repositories': App.repositories
-
+ jQuery.when(appXHR, l10nXHR).done ->
# Remove the initial spinner
jQuery('#coding-rules-page-loader').remove()
key 'up', 'list', => @selectPrev()
key 'down', 'list', => @selectNext()
- that = @
$scrollEl = jQuery('.navigator-results')
scrollEl = $scrollEl.get(0)
- onScroll = ->
- if (scrollEl.offsetHeight + scrollEl.scrollTop >= scrollEl.scrollHeight)
- that.options.app.fetchNextPage()
- throttledScroll = _.throttle(onScroll, 300)
- $scrollEl.off('scroll').on('scroll', throttledScroll)
+ onScroll = =>
+ if scrollEl.offsetHeight + scrollEl.scrollTop >= scrollEl.scrollHeight
+ @options.app.fetchNextPage()
+ throttledScroll = _.throttle onScroll, 300
+ $scrollEl.off('scroll').on 'scroll', throttledScroll
close: ->
- super
key.unbind 'up', 'list'
key.unbind 'down', 'list'
scrollEl = jQuery '.navigator-results'
scrollEl.off 'scroll';
+ super
selectIssue: (el, open) ->