blob: 30f22898a0dbd88c9a1078e979b9f654db818136 [file] [log] [blame]
/*
* Copyright (c) 2013 DataTorrent, Inc. ALL Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* WidgetHeaderView
*
* This view controls the header for every widget.
*/
var _ = require('underscore');
var kt = require('knights-templar');
var BaseView = require('./WidgetCtrlView');
var WidgetHeaderView = BaseView.extend({
initialize: function(options) {
BaseView.prototype.initialize.call(this, options);
// debugger;
},
events: {
'click .wi-toggle-collapse': 'toggleCollapse',
'dblclick': 'toggleCollapse'
},
render: function() {
var json, html;
json = this.model.toJSON();
html = this.template(json);
this.$el.html(html);
return this;
},
toggleCollapse: function(evt) {
var $content = this.$el.next('.widget-content');
var $icon = this.$('.wi-toggle-collapse');
var isVisible = $icon.hasClass('icon-minus');
if (isVisible) {
$content.slideUp('fast');
$icon.removeClass('icon-minus').addClass('icon-plus');
} else {
$content.slideDown('fast');
$icon.removeClass('icon-plus').addClass('icon-minus');
}
evt.stopPropagation();
},
template: kt.make(__dirname+'/WidgetHeaderView.html','_')
});
exports = module.exports = WidgetHeaderView;