diff --git a/js/client-mainmenu.js b/js/client-mainmenu.js index 15ccef913..87e6082f7 100644 --- a/js/client-mainmenu.js +++ b/js/client-mainmenu.js @@ -609,7 +609,7 @@ initialize: function(data) { var curFormat = data.format; var selectType = (this.sourceEl.closest('form').data('search') ? 'search' : 'challenge'); - var bufs = ['','']; + var bufs = []; var curBuf = 0; var curSection = ''; for (var i in BattleFormats) { @@ -620,17 +620,33 @@ if (format.section && format.section !== curSection) { curSection = format.section; - curBuf = (curSection === 'Doubles' || curSection === 'Past Generations') ? 1 : 0; + if (!BattleFormats._supportsColumns) { + curBuf = (curSection === 'Doubles' || curSection === 'Past Generations') ? 1 : 0; + } else { + curBuf = format.column || 0; + } + if (!bufs[curBuf]) { + bufs[curBuf] = ''; + } bufs[curBuf] += '
  • '+Tools.escapeHTML(curSection)+'

  • '; } bufs[curBuf] += '
  • '; } - if (bufs[1]) { - this.$el.html('
    '); - } else { - this.$el.html(''); + var html = ''; + for (var i = 0, l = bufs.length; i < l; i++) { + html += ''; } + html += '
    '; + this.$el.html(html); }, selectFormat: function(format) { var $teamButton = this.sourceEl.closest('form').find('button[name=team]'); diff --git a/js/client.js b/js/client.js index 05a4065fe..413ead902 100644 --- a/js/client.js +++ b/js/client.js @@ -919,13 +919,23 @@ parseFormats: function(formatsList) { var isSection = false; var section = ''; + + var column = 0; + var columnChanged = false; + BattleFormats = {}; for (var j=1; j