diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2014-03-25 15:18:29 +0600 |
---|---|---|
committer | Stas Vilchik <vilchiks@gmail.com> | 2014-03-25 15:18:47 +0600 |
commit | 1c3cbb0af1a1294d2d3c672ee35f10008bee2ac7 (patch) | |
tree | 64cc0dff86514008bf4f45cdb54b68639b316fa7 /sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee | |
parent | 6349cd3b899f37567637c78187f73071c1f64e3c (diff) | |
download | sonarqube-1c3cbb0af1a1294d2d3c672ee35f10008bee2ac7.tar.gz sonarqube-1c3cbb0af1a1294d2d3c672ee35f10008bee2ac7.zip |
Move source outside from webapp
Diffstat (limited to 'sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee')
-rw-r--r-- | sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee b/sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee new file mode 100644 index 00000000000..4cf361c7a5c --- /dev/null +++ b/sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee @@ -0,0 +1,131 @@ +define [ + 'backbone', + 'backbone.marionette', + 'coding-rules/views/coding-rules-detail-quality-profiles-view' + 'templates/coding-rules' +], ( + Backbone, + Marionette, + CodingRulesDetailQualityProfilesView, + Templates +) -> + + class CodingRulesDetailView extends Marionette.Layout + template: Templates['coding-rules-detail'] + + + regions: + qualityProfilesRegion: '#coding-rules-detail-quality-profiles' + + + ui: + tagsChange: '.coding-rules-detail-tags-change' + tagInput: '.coding-rules-detail-tag-input' + tagsEdit: '.coding-rules-detail-tag-edit' + tagsEditDone: '.coding-rules-detail-tag-edit-done' + tagsList: '.coding-rules-detail-tag-list' + + descriptionExtra: '#coding-rules-detail-description-extra' + extendDescriptionLink: '#coding-rules-detail-extend-description' + extendDescriptionForm: '#coding-rules-detail-extend-description-form' + extendDescriptionSubmit: '#coding-rules-detail-extend-description-submit' + extendDescriptionText: '#coding-rules-detail-extend-description-text' + extendDescriptionSpinner: '#coding-rules-detail-extend-description-spinner' + cancelExtendDescription: '#coding-rules-detail-extend-description-cancel' + + activateQualityProfile: '#coding-rules-quality-profile-activate' + changeQualityProfile: '.coding-rules-detail-quality-profile-update' + + + events: + 'click @ui.tagsChange': 'changeTags' + 'click @ui.tagsEditDone': 'editDone' + + 'click @ui.extendDescriptionLink': 'showExtendDescriptionForm' + 'click @ui.cancelExtendDescription': 'hideExtendDescriptionForm' + 'click @ui.extendDescriptionSubmit': 'submitExtendDescription' + + 'click @ui.activateQualityProfile': 'activateQualityProfile' + 'click @ui.changeQualityProfile': 'changeQualityProfile' + + + initialize: (options) -> + @qualityProfilesView = new CodingRulesDetailQualityProfilesView + app: @options.app + collection: new Backbone.Collection options.model.get 'qualityProfiles' + + + onRender: -> + @qualityProfilesRegion.show @qualityProfilesView + + @ui.tagInput.select2 + tags: _.difference @options.app.tags, @model.get 'tags' + width: '300px' + @ui.tagsEdit.hide() + + @ui.extendDescriptionForm.hide() + @ui.extendDescriptionSpinner.hide() + + + changeTags: -> + @ui.tagsEdit.show() + @ui.tagsList.hide() + + + editDone: -> + @ui.tagsEdit.html '<i class="spinner"></i>' + tags = @ui.tagInput.val() + jQuery.ajax + type: 'POST' + url: "#{baseUrl}/api/codingrules/set_tags" + data: tags: tags + .done => + @model.set 'tags', tags.split ',' + @render() + + + showExtendDescriptionForm: -> + @ui.descriptionExtra.hide() + @ui.extendDescriptionForm.show() + + + hideExtendDescriptionForm: -> + @ui.descriptionExtra.show() + @ui.extendDescriptionForm.hide() + + + submitExtendDescription: -> + @ui.extendDescriptionForm.hide() + @ui.extendDescriptionSpinner.show() + jQuery.ajax + type: 'POST' + url: "#{baseUrl}/api/codingrules/extend_description" + dataType: 'json' + data: text: @ui.extendDescriptionText.val() + .done (r) => + @model.set extra: r.extra, extraRaw: r.extraRaw + @render() + + + getContextQualilyProfile: -> + contextQualityProfile = @options.app.getQualityProfile() + _.findWhere @model.get('qualityProfiles'), key: contextQualityProfile + + + activateQualityProfile: -> + @options.app.codingRulesQualityProfileActivationView.model = null + @options.app.codingRulesQualityProfileActivationView.show() + + + changeQualityProfile: -> + @options.app.codingRulesQualityProfileActivationView.model = new Backbone.Model @getContextQualilyProfile() + @options.app.codingRulesQualityProfileActivationView.show() + + + serializeData: -> + contextQualityProfile = @options.app.getQualityProfile() + + _.extend super, + contextQualityProfile: contextQualityProfile + contextQualityProfileName: @options.app.qualityProfileFilter.view.renderValue() + qualityProfile: @getContextQualilyProfile()
\ No newline at end of file |