diff --git a/wagtail/wagtailadmin/static/wagtailadmin/js/blocks/sequence.js b/wagtail/wagtailadmin/static/wagtailadmin/js/blocks/sequence.js index a1d107f97..2652d7447 100644 --- a/wagtail/wagtailadmin/static/wagtailadmin/js/blocks/sequence.js +++ b/wagtail/wagtailadmin/static/wagtailadmin/js/blocks/sequence.js @@ -15,7 +15,7 @@ For example, they don't assume the presence of a 'delete' button - it's up to th var indexField = $('#' + self.prefix + '-order'); self.menu.click(function(){ - self.menu.toggleClass('stream-menu-closed'); + self.toggleMenu(); }); self.delete = function() { @@ -44,6 +44,14 @@ For example, they don't assume the presence of a 'delete' button - it's up to th self.setIndex = function(i) { 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'); }; @@ -61,6 +69,10 @@ For example, they don't assume the presence of a 'delete' button - it's up to th var members = []; self.menu = countField.siblings('.stream-menu'); + self.menu.click(function(){ + self.toggleMenu(); + }); + self.getCount = function() { return parseInt(countField.val(), 10); }; @@ -179,6 +191,23 @@ 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;