66 lines
1.7 KiB
JavaScript
66 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
SwaggerUi.Views.SignatureView = Backbone.View.extend({
|
|
events: {
|
|
'click a.description-link' : 'switchToDescription',
|
|
'click a.snippet-link' : 'switchToSnippet',
|
|
'mousedown .snippet' : 'snippetToTextArea'
|
|
},
|
|
|
|
initialize: function () {
|
|
|
|
},
|
|
|
|
render: function(){
|
|
|
|
$(this.el).html(Handlebars.templates.signature(this.model));
|
|
|
|
if (this.model.defaultRendering === 'model') {
|
|
this.switchToDescription();
|
|
} else {
|
|
this.switchToSnippet();
|
|
}
|
|
|
|
this.isParam = this.model.isParam;
|
|
|
|
if (this.isParam) {
|
|
$('.notice', $(this.el)).text('Click to set as parameter value');
|
|
}
|
|
|
|
return this;
|
|
},
|
|
|
|
// handler for show signature
|
|
switchToDescription: function(e){
|
|
if (e) { e.preventDefault(); }
|
|
|
|
$('.snippet', $(this.el)).hide();
|
|
$('.description', $(this.el)).show();
|
|
$('.description-link', $(this.el)).addClass('selected');
|
|
$('.snippet-link', $(this.el)).removeClass('selected');
|
|
},
|
|
|
|
// handler for show sample
|
|
switchToSnippet: function(e){
|
|
if (e) { e.preventDefault(); }
|
|
|
|
$('.description', $(this.el)).hide();
|
|
$('.snippet', $(this.el)).show();
|
|
$('.snippet-link', $(this.el)).addClass('selected');
|
|
$('.description-link', $(this.el)).removeClass('selected');
|
|
},
|
|
|
|
// handler for snippet to text area
|
|
snippetToTextArea: function(e) {
|
|
if (this.isParam) {
|
|
if (e) { e.preventDefault(); }
|
|
|
|
var textArea = $('textarea', $(this.el.parentNode.parentNode.parentNode));
|
|
|
|
// Fix for bug in IE 10/11 which causes placeholder text to be copied to "value"
|
|
if ($.trim(textArea.val()) === '' || textArea.prop('placeholder') === textArea.val()) {
|
|
textArea.val(this.model.sampleJSON);
|
|
}
|
|
}
|
|
}
|
|
}); |