comunic/assets/js/metro/metro-listview.js

54 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2016-11-19 11:08:12 +00:00
(function( $ ) {
$.widget("metro.listview", {
version: "1.0.0",
options: {
onGroupExpand: function(g){},
onGroupCollapse: function(g){},
onListClick: function(l){}
},
_create: function(){
var that = this, element = this.element;
element.children('.collapsed').children('.group-content').hide();
element.find('.group-title').on('click', function(e){
var $this = $(this),
group = $this.parent('.list-group'),
group_content = group.children('.group-content');
group.toggleClass('collapsed');
if (group.hasClass('collapsed')) {
group_content.slideUp();
that.options.onGroupCollapse(group);
} else {
group_content.slideDown();
that.options.onGroupExpand(group);
}
e.preventDefault();
});
element.find('.list').on('click', function(e){
element.find('.list').removeClass('active');
$(this).toggleClass('active');
that.options.onListClick($(this));
e.preventDefault();
});
},
_destroy: function(){
},
_setOption: function(key, value){
this._super('_setOption', key, value);
}
})
})( jQuery );