move menu show/hide logic out of sequence.js and into stream.js's StreamBlockMenu code

This commit is contained in:
Matt Westcott 2015-02-27 19:36:31 +00:00
parent a52f7ccf1a
commit 9a5aaf3288
2 changed files with 20 additions and 45 deletions

View file

@ -10,15 +10,9 @@ For example, they don't assume the presence of a 'delete' button - it's up to th
var self = {};
self.prefix = prefix;
self.container = $('#' + self.prefix + '-container');
self.menu = $('> .stream-menu', self.container);
var indexField = $('#' + self.prefix + '-order');
self.menu.click(function(e){
e.preventDefault();
self.toggleMenu();
});
self.delete = function() {
sequence.deleteMember(self);
};
@ -38,8 +32,6 @@ For example, they don't assume the presence of a 'delete' button - it's up to th
self.container.hide();
self.container.slideDown();
self.hideMenu();
// focus first suitable input found
var timeout = setTimeout(function(){
$('.input input,.input textarea,.input .richtext', self.container).first().focus();
@ -52,20 +44,6 @@ For example, they don't assume the presence of a 'delete' button - it's up to th
indexField.val(i);
};
self.toggleMenu = function(){
if(self.menu.hasClass('stream-menu-closed')){
self.showMenu();
} else {
self.hideMenu();
}
};
self.showMenu = function(){
self.menu.removeClass('stream-menu-closed');
};
self.hideMenu = function(){
self.menu.addClass('stream-menu-closed');
};
return self;
};
window.Sequence = function(opts) {
@ -74,12 +52,6 @@ For example, they don't assume the presence of a 'delete' button - it's up to th
var countField = $('#' + opts.prefix + '-count');
/* NB countField includes deleted items; for the count of non-deleted items, use members.length */
var members = [];
self.menu = countField.siblings('.stream-menu');
self.menu.click(function(e){
e.preventDefault();
self.toggleMenu();
});
self.getCount = function() {
return parseInt(countField.val(), 10);
@ -199,23 +171,6 @@ For example, they don't assume the presence of a 'delete' button - it's up to th
member._markDeleted();
};
self.toggleMenu = function(){
if(self.menu.hasClass('stream-menu-closed')){
self.showMenu();
} else {
self.hideMenu();
}
};
self.showMenu = function(){
self.menu.removeClass('stream-menu-closed');
};
self.hideMenu = function(){
self.menu.addClass('stream-menu-closed');
};
/* initialize initial list members */
for (var i = 0; i < self.getCount(); i++) {
var memberPrefix = opts.prefix + '-' + i;

View file

@ -11,6 +11,26 @@
var self = {};
self.container = $('#' + opts.id);
self.show = function(){
self.container.removeClass('stream-menu-closed');
};
self.hide = function(){
self.container.addClass('stream-menu-closed');
};
self.toggle = function(){
if(self.container.hasClass('stream-menu-closed')){
self.show();
} else {
self.hide();
}
};
/* set up show/hide on click behaviour */
self.container.click(function(e){
e.preventDefault();
self.toggle();
});
/* set up button behaviour */
$.each(opts.childBlocks, function(i, childBlock) {
var button = self.container.find('.action-add-block-' + childBlock.name);