| /* |
| * 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; |