diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2015-05-18 16:29:19 +0200 |
---|---|---|
committer | Stas Vilchik <vilchiks@gmail.com> | 2015-05-19 18:20:09 +0200 |
commit | e59e4aa2c06a57566f148f4217d286461231ae58 (patch) | |
tree | ad0918eb06b2474a6c71997b7ff573bbb93e0170 /server/sonar-web/src/main/js/apps/api-documentation/action-view.js | |
parent | 8d82c9cf9ba88c1517604b4063ad0fc2a9a1bb9a (diff) | |
download | sonarqube-e59e4aa2c06a57566f148f4217d286461231ae58.tar.gz sonarqube-e59e4aa2c06a57566f148f4217d286461231ae58.zip |
change web structure: separate components
Diffstat (limited to 'server/sonar-web/src/main/js/apps/api-documentation/action-view.js')
-rw-r--r-- | server/sonar-web/src/main/js/apps/api-documentation/action-view.js | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/server/sonar-web/src/main/js/apps/api-documentation/action-view.js b/server/sonar-web/src/main/js/apps/api-documentation/action-view.js new file mode 100644 index 00000000000..6df5db30ee5 --- /dev/null +++ b/server/sonar-web/src/main/js/apps/api-documentation/action-view.js @@ -0,0 +1,58 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2014 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * SonarQube is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +define([ + './templates' +], function () { + + var $ = jQuery; + + return Marionette.ItemView.extend({ + className: 'panel panel-vertical', + template: Templates['api-documentation-action'], + + modelEvents: { + 'change': 'render' + }, + + events: { + 'click .js-show-response-example': 'onShowResponseExampleClick' + }, + + onRender: function () { + this.$el.attr('data-web-service', this.model.get('path')); + this.$el.attr('data-action', this.model.get('key')); + }, + + onShowResponseExampleClick: function (e) { + e.preventDefault(); + this.fetchResponse(); + }, + + fetchResponse: function () { + var that = this, + url = baseUrl + '/api/webservices/response_example', + options = { controller: this.model.get('path'), action: this.model.get('key') }; + return $.get(url, options).done(function (r) { + that.model.set({ responseExample: r.example }); + }); + } + }); + +}); |