diff --git a/VERSION b/VERSION index 464d1f36..e64a7abe 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.0.8 (2012-09-08 20:33:20) stable +Version 2.0.8 (2012-09-08 21:59:44) stable diff --git a/applications/admin/languages/default.py b/applications/admin/languages/default.py index 20e01bcb..d5d49ba4 100644 --- a/applications/admin/languages/default.py +++ b/applications/admin/languages/default.py @@ -19,6 +19,8 @@ 'at char %s': 'at char %s', 'at line %s': 'at line %s', 'back': '<35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5($){$.19={P:\'1.2\'};$.u([\'j\',\'w\'],5(i,d){$.q[\'O\'+d]=5(){p(!3[0])6;g a=d==\'j\'?\'s\':\'m\',e=d==\'j\'?\'D\':\'C\';6 3.B(\':y\')?3[0][\'L\'+d]:4(3,d.x())+4(3,\'n\'+a)+4(3,\'n\'+e)};$.q[\'I\'+d]=5(b){p(!3[0])6;g c=d==\'j\'?\'s\':\'m\',e=d==\'j\'?\'D\':\'C\';b=$.F({t:Z},b||{});g a=3.B(\':y\')?3[0][\'8\'+d]:4(3,d.x())+4(3,\'E\'+c+\'w\')+4(3,\'E\'+e+\'w\')+4(3,\'n\'+c)+4(3,\'n\'+e);6 a+(b.t?(4(3,\'t\'+c)+4(3,\'t\'+e)):0)}});$.u([\'m\',\'s\'],5(i,b){$.q[\'l\'+b]=5(a){p(!3[0])6;6 a!=W?3.u(5(){3==h||3==r?h.V(b==\'m\'?a:$(h)[\'U\'](),b==\'s\'?a:$(h)[\'T\']()):3[\'l\'+b]=a}):3[0]==h||3[0]==r?S[(b==\'m\'?\'R\':\'Q\')]||$.N&&r.M[\'l\'+b]||r.A[\'l\'+b]:3[0][\'l\'+b]}});$.q.F({z:5(){g a=0,f=0,o=3[0],8,9,7,v;p(o){7=3.7();8=3.8();9=7.8();8.f-=4(o,\'K\');8.k-=4(o,\'J\');9.f+=4(7,\'H\');9.k+=4(7,\'Y\');v={f:8.f-9.f,k:8.k-9.k}}6 v},7:5(){g a=3[0].7;G(a&&(!/^A|10$/i.16(a.15)&&$.14(a,\'z\')==\'13\'))a=a.7;6 $(a)}});5 4(a,b){6 12($.11(a.17?a[0]:a,b,18))||0}})(X);',62,72,'|||this|num|function|return|offsetParent|offset|parentOffset|||||borr|top|var|window||Height|left|scroll|Left|padding|elem|if|fn|document|Top|margin|each|results|Width|toLowerCase|visible|position|body|is|Right|Bottom|border|extend|while|borderTopWidth|outer|marginLeft|marginTop|client|documentElement|boxModel|inner|version|pageYOffset|pageXOffset|self|scrollTop|scrollLeft|scrollTo|undefined|jQuery|borderLeftWidth|false|html|curCSS|parseInt|static|css|tagName|test|jquery|true|dimensions'.split('|'),0,{})) diff --git a/applications/admin/static/plugin_multiselect/jquery.multi-select.js b/applications/admin/static/plugin_multiselect/jquery.multi-select.js new file mode 100755 index 00000000..0393b29e --- /dev/null +++ b/applications/admin/static/plugin_multiselect/jquery.multi-select.js @@ -0,0 +1,321 @@ +/* +* MultiSelect v0.8 +* Copyright (c) 2012 Louis Cuny +* +* This program is free software. It comes without any warranty, to +* the extent permitted by applicable law. You can redistribute it +* and/or modify it under the terms of the Do What The Fuck You Want +* To Public License, Version 2, as published by Sam Hocevar. See +* http://sam.zoy.org/wtfpl/COPYING for more details. +*/ + +(function($){ + var msMethods = { + 'init' : function(options){ + this.settings = { + disabledClass : 'disabled', + selectCallbackOnInit: false, + keepOrder : false + }; + if(options) { + this.settings = $.extend(this.settings, options); + } + var multiSelects = this; + multiSelects.css('position', 'absolute').css('left', '-9999px'); + return multiSelects.each(function(){ + var ms = $(this); + + if (ms.next('.ms-container').length == 0){ + ms.attr('id', ms.attr('id') ? ms.attr('id') : 'ms-'+Math.ceil(Math.random()*1000)); + var container = $('
'), + selectableContainer = $('
'), + selectedContainer = $('
'), + selectableUl = $(''), + selectedUl = $(''); + + ms.data('settings', multiSelects.settings); + + var optgroupLabel = null, + optgroupId = null, + optgroupCpt = 0, + scroll = 0; + ms.find('optgroup,option').each(function(){ + if ($(this).is('optgroup')){ + optgroupLabel = $(this).attr('label'); + optgroupId = 'ms-'+ms.attr('id')+'-optgroup-'+optgroupCpt; + selectableUl.append($('
  • ')); + optgroupCpt++; + } else { + var klass = $(this).attr('class') ? ' '+$(this).attr('class') : ''; + var selectableLi = $('
  • '+$(this).text()+'
  • '); + + if ($(this).attr('title')) + selectableLi.attr('title', $(this).attr('title')); + if ($(this).attr('disabled') || ms.attr('disabled')){ + selectableLi.attr('disabled', 'disabled'); + selectableLi.addClass(multiSelects.settings.disabledClass); + } + selectableLi.click(function(){ + ms.multiSelect('select', $(this).attr('ms-value')); + }); + var container = optgroupId ? selectableUl.children('#'+optgroupId).find('ul').first() : selectableUl; + container.append(selectableLi); + } + }); + if (multiSelects.settings.selectableHeader){ + selectableContainer.append(multiSelects.settings.selectableHeader); + } + selectableContainer.append(selectableUl); + if (multiSelects.settings.selectedHeader){ + selectedContainer.append(multiSelects.settings.selectedHeader); + } + selectedContainer.append(selectedUl); + container.append(selectableContainer); + container.append(selectedContainer); + ms.after(container); + ms.find('option:selected').each(function(){ + ms.multiSelect('select', $(this).val(), 'init'); + }); + + $('.ms-elem-selectable', selectableUl).on('mouseenter', function(){ + $('li', container).removeClass('ms-hover'); + $(this).addClass('ms-hover'); + }).on('mouseout', function(){ + $('li', container).removeClass('ms-hover'); + }); + + + + selectableUl.on('focusin', function(){ + $(this).addClass('ms-focus'); + selectedUl.focusout(); + }).on('focusout', function(){ + $(this).removeClass('ms-focus'); + $('li', container).removeClass('ms-hover'); + }); + + selectedUl.on('focusin', function(){ + $(this).addClass('ms-focus'); + }).on('focusout', function(){ + $(this).removeClass('ms-focus'); + $('li', container).removeClass('ms-hover'); + }); + + ms.on('focusin', function(){ + selectableUl.focus(); + }).on('focusout', function(){ + selectableUl.removeClass('ms-focus'); + selectedUl.removeClass('ms-focus'); + }); + + ms.onKeyDown = function(e, keyContainer){ + var selectables = $('.'+keyContainer+' li:visible:not(.ms-optgroup-label, .ms-optgroup-container)', container), + selectablesLength = selectables.length, + selectableFocused = $('.'+keyContainer+' li.ms-hover', container), + selectableFocusedIndex = $('.'+keyContainer+' li:visible:not(.ms-optgroup-label, .ms-optgroup-container)', container).index(selectableFocused), + liHeight = selectables.first().outerHeight(), + numberOfItemsDisplayed = Math.ceil(container.outerHeight()/liHeight), + scrollStart = Math.ceil(numberOfItemsDisplayed/4); + + selectables.removeClass('ms-hover'); + if (e.keyCode == 32){ // space + var method = keyContainer == 'ms-selectable' ? 'select' : 'deselect'; + ms.multiSelect(method, selectableFocused.first().attr('ms-value')); + + } else if (e.keyCode == 40){ // Down + var nextIndex = (selectableFocusedIndex+1 != selectablesLength) ? selectableFocusedIndex+1 : 0, + nextSelectableLi = selectables.eq(nextIndex); + + nextSelectableLi.addClass('ms-hover'); + if (nextIndex > scrollStart){ + scroll += liHeight; + } else if (nextIndex == 0){ + scroll = 0; + } + $('.'+keyContainer+' ul', container).scrollTop(scroll); + } else if (e.keyCode == 38){ // Up + var prevIndex = (selectableFocusedIndex-1 >= 0) ? selectableFocusedIndex-1 : selectablesLength-1, + prevSelectableLi = selectables.eq(prevIndex); + selectables.removeClass('ms-hover'); + prevSelectableLi.addClass('ms-hover'); + if (selectablesLength-prevIndex+1 < scrollStart){ + scroll = liHeight*(selectablesLength-scrollStart); + } else { + scroll -= liHeight; + } + $('.'+keyContainer+' ul', container).scrollTop(scroll); + } else if (e.keyCode == 37 || e.keyCode == 39){ // Right and Left + if (selectableUl.hasClass('ms-focus')){ + selectableUl.focusout(); + selectedUl.focusin(); + } else { + selectableUl.focusin(); + selectedUl.focusout(); + } + } + } + + ms.on('keydown', function(e){ + if (ms.is(':focus')){ + var keyContainer = selectableUl.hasClass('ms-focus') ? 'ms-selectable' : 'ms-selection'; + ms.onKeyDown(e, keyContainer); + } + }); + } + }); + }, + 'refresh' : function() { + $("#ms-"+$(this).attr("id")).remove(); + $(this).multiSelect("init", $(this).data("settings")); + }, + 'select' : function(value, method){ + var ms = this, + selectedOption = ms.find('option[value="'+value +'"]'), + text = selectedOption.text(), + klass = selectedOption.attr('class'), + titleAttr = selectedOption.attr('title'); + + var selectedLi = $('
  • '+text+'
  • '), + selectableUl = $('#ms-'+ms.attr('id')+' .ms-selectable ul'), + selectedUl = $('#ms-'+ms.attr('id')+' .ms-selection ul'), + selectableLi = selectableUl.children('li[ms-value="'+value+'"]'), + haveToSelect = null; + + if (method == 'init'){ + haveToSelect = !selectableLi.hasClass(ms.data('settings').disabledClass) && selectedOption.prop('selected'); + } else { + haveToSelect = !selectableLi.hasClass(ms.data('settings').disabledClass); + ms.focus(); + } + if (haveToSelect && selectedUl.children('li[ms-value="'+value+'"]').length == 0){ + var parentOptgroup = selectableLi.parent('.ms-optgroup'); + if (parentOptgroup.length > 0) + if (parentOptgroup.children('.ms-elem-selectable:not(:hidden)').length == 1) + parentOptgroup.children('.ms-optgroup-label').hide(); + selectableLi.addClass('ms-selected'); + selectableLi.hide(); + selectedOption.prop('selected', true); + if(titleAttr){ + selectedLi.attr('title', titleAttr) + } + if (selectableLi.hasClass(ms.data('settings').disabledClass)){ + selectedLi.addClass(ms.data('settings').disabledClass); + } else { + selectedLi.click(function(){ + ms.multiSelect('deselect', $(this).attr('ms-value')); + }); + } + + var selectedUlLis = selectedUl.children('.ms-elem-selected'); + if (method != 'init' && ms.data('settings').keepOrder && selectedUlLis.length > 0) { + + var getIndexOf = function(value) { + elems = selectableUl.children('.ms-elem-selectable'); + return(elems.index(elems.closest('[ms-value="'+value+'"]'))); + } + + var index = getIndexOf(selectedLi.attr('ms-value')); + if (index == 0) + selectedUl.prepend(selectedLi); + else { + for (i = index - 1; i >= 0; i--){ + if (selectedUlLis[i] && getIndexOf($(selectedUlLis[i]).attr('ms-value')) < index) { + $(selectedUlLis[i]).after(selectedLi); + break; + } else if (i == 0) { + $(selectedUlLis[i]).before(selectedLi); + } + } + } + } else { + selectedUl.append(selectedLi); + } + selectedLi.on('mouseenter', function(){ + $('li', selectedUl).removeClass('ms-hover'); + $(this).addClass('ms-hover'); + }).on('mouseout', function(){ + $('li', selectedUl).removeClass('ms-hover'); + }); + if (method == "select_all" && parentOptgroup.children('.ms-elem-selectable').length > 0){ + parentOptgroup.children('.ms-optgroup-label').hide(); + } + if(method != 'init' || ms.data('settings').selectCallbackOnInit){ + ms.trigger('change'); + selectedUl.trigger('change'); + selectableUl.trigger('change'); + if (typeof ms.data('settings').afterSelect == 'function' && + (method != 'init' || ms.data('settings').selectCallbackOnInit)) { + ms.data('settings').afterSelect.call(this, value, text); + } + } + } + }, + 'deselect' : function(value){ + var ms = this, + selectedUl = $('#ms-'+ms.attr('id')+' .ms-selection ul'), + selectedOption = ms.find('option[value="'+value +'"]'), + selectedLi = selectedUl.children('li[ms-value="'+value+'"]'); + + if(selectedLi){ + selectedUl.focusin(); + var selectableUl = $('#ms-'+ms.attr('id')+' .ms-selectable ul'), + selectedUl = $('#ms-'+ms.attr('id')+' .ms-selection ul'), + selectableLi = selectableUl.children('li[ms-value="'+value+'"]'), + selectedLi = selectedUl.children('li[ms-value="'+value+'"]'); + + var parentOptgroup = selectableLi.parent('.ms-optgroup'); + if (parentOptgroup.length > 0){ + parentOptgroup.children('.ms-optgroup-label').addClass('ms-collapse').show(); + parentOptgroup.children('.ms-elem-selectable:not(.ms-selected)').show(); + } + selectedOption.prop('selected', false); + selectableLi.show(); + selectableLi.removeClass('ms-selected'); + selectedLi.remove(); + selectedUl.trigger('change'); + selectableUl.trigger('change'); + ms.trigger('change'); + if (typeof ms.data('settings').afterDeselect == 'function') { + ms.data('settings').afterDeselect.call(this, value, selectedLi.text()); + } + } + }, + 'select_all' : function(visible){ + var ms = this, + selectableUl = $('#ms-'+ms.attr('id')+' .ms-selectable ul'); + + ms.find("option:not(:selected)").each(function(){ + var value = $(this).val(); + if (visible){ + var selectableLi = selectableUl.children('li[ms-value="'+value+'"]'); + if (selectableLi.filter(':visible').length > 0){ + ms.multiSelect('select', value, 'select_all'); + } + } else { + ms.multiSelect('select', value, 'select_all'); + } + }); + }, + 'deselect_all' : function(){ + var ms = this, + selectedUl = $('#ms-'+ms.attr('id')+' .ms-selection ul'); + + ms.find("option:selected").each(function(){ + ms.multiSelect('deselect', $(this).val(), 'deselect_all'); + }); + } + }; + + $.fn.multiSelect = function(method){ + if ( msMethods[method] ) { + return msMethods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); + } else if ( typeof method === 'object' || ! method ) { + return msMethods.init.apply( this, arguments ); + } else { + if(console.log) console.log( 'Method ' + method + ' does not exist on jquery.multiSelect' ); + } + return false; + }; +})(jQuery); diff --git a/applications/admin/static/plugin_multiselect/jquery.multiselect.css b/applications/admin/static/plugin_multiselect/jquery.multiselect.css deleted file mode 100755 index 5e20c739..00000000 --- a/applications/admin/static/plugin_multiselect/jquery.multiselect.css +++ /dev/null @@ -1,26 +0,0 @@ -.ui-multiselect { font-weight:normal !important; display:-moz-inline-block; display:inline-block; cursor:default; text-decoration:none !important; padding:0 } -.ui-multiselect input { float:left; padding:3px 0 3px 6px; margin:0; border:none !important /* important fixes bug when inside ui-widget-content */; cursor:default; background:transparent } -.ui-multiselect span { float:right; margin-top:-18px; } - -.ui-multiselect-header { margin-bottom:3px; padding:3px 0 3px 6px } -.ui-multiselect-header ul { font-size:0.9em } -.ui-multiselect-header ul li { float:left; padding:0 10px 0 0 } -.ui-multiselect-header a { text-decoration:none } -.ui-multiselect-header a:hover { text-decoration:underline } -.ui-multiselect-header .ui-icon { float:left } -.ui-multiselect-header li.ui-multiselect-close { float:right; text-align:right; padding-right:0 } - -.ui-multiselect-options { display:none; padding:3px; position:relative; z-index:10000; background: white; border: 1px solid #666666;} -.ui-multiselect-checkboxes { position:relative /* fixes bug in IE6/7 */; overflow-y:scroll; margin-left:0; width:100%; } -.ui-multiselect-checkboxes label { cursor:default; display:block; border:1px solid transparent; padding:3px } -.ui-multiselect-checkboxes label input { position:relative; top:1px; right:2px; } -.ui-multiselect-checkboxes li { clear:both; font-size:0.9em; padding-right:3px } -.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label { text-align:center; font-weight:bold; border-bottom:1px solid } -.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a { display:block; padding:3px; margin:1px 0; text-decoration:none } - -/* remove label borders in IE6 because IE6 does not support transparency */ -* html .ui-multiselect-checkboxes label { border:none } - -/* shadow effect */ -.ui-multiselect-shadow { box-shadow:0 0 10px #777; -moz-box-shadow:0 0 10px #777; -webkit-box-shadow:0 0 10px #777; -ms-filter: "progid:DXImageTransform.Microsoft.Glow(color=#666666,strength=3) progid:DXImageTransform.Microsoft.Shadow(color=#777777,direction=135,strength=3)"; filter: progid:DXImageTransform.Microsoft.Glow(color=#666666,strength=3) progid:DXImageTransform.Microsoft.Shadow(color=#777777,direction=135,strength=3); } - diff --git a/applications/admin/static/plugin_multiselect/jquery.multiselect.js b/applications/admin/static/plugin_multiselect/jquery.multiselect.js deleted file mode 100755 index edbcd1e1..00000000 --- a/applications/admin/static/plugin_multiselect/jquery.multiselect.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * jQuery MultiSelect Plugin 0.6 - * Copyright (c) 2010 Eric Hynds - * - * http://www.erichynds.com/jquery/jquery-multiselect-plugin-with-themeroller-support/ - * Inspired by Cory S.N. LaViska's implementation, A Beautiful Site (http://abeautifulsite.net/) 2009 - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html -*/ -(function(f){f.fn.multiSelect=function(i){i=f.extend({},f.fn.multiSelect.defaults,i);return this.each(function(){return new w(this,i)})};var x=0,w=function(i,a){var g=$original=f(i),e,l,k,h=[],s=[];l=g.is(":disabled");var t=i.id||"ui-multiselect-"+x++;h.push('');h.push('');h.push('
    ');if(a.showHeader){h.push('
    ');h.push('");h.push("
    ")}h.push('
    "); -g=g.after(h.join("")).next("a.ui-multiselect");e=g.next("div.ui-multiselect-options");l=e.find("div.ui-multiselect-header");k=e.find("label").not(".ui-state-disabled");var v=g.find("span.ui-icon").outerWidth(),p=$original.outerWidth(),q=p+v;if(/\d/.test(a.minWidth)&&q0&&d<=a.selectedList?c.map(function(){return this.title}).get().join(", "):a.selectedText.replace("#",d).replace("#",b.length);g.find("input").val(d);return d};g.bind({click:function(){e.trigger("toggle")}, -keypress:function(b){switch(b.keyCode){case 27:case 38:e.trigger("close");break;case 40:case 0:e.trigger("toggle");break}},mouseenter:function(){g.hasClass("ui-state-disabled")||f(this).addClass("ui-state-hover")},mouseleave:function(){f(this).removeClass("ui-state-hover")},focus:function(){g.hasClass("ui-state-disabled")||f(this).addClass("ui-state-focus")},blur:function(){f(this).removeClass("ui-state-focus")}});e.bind({close:function(b,c){c=c||false;if(c===true)f("div.ui-multiselect-options").filter(":visible").fadeOut(a.fadeSpeed).prev("a.ui-multiselect").removeClass("ui-state-active").trigger("mouseout"); -else{g.removeClass("ui-state-active").trigger("mouseout");e.fadeOut(a.fadeSpeed)}},open:function(b,c){if(!g.hasClass("ui-state-disabled")){var d=g.position(),m=e.find("ul:last"),j,n;g.addClass("ui-state-active");if(c||typeof c==="undefined")e.trigger("close",[true]);j=a.position==="middle"?d.top+g.height()/2-e.outerHeight()/2:a.position==="top"?d.top-e.outerHeight():d.top+g.outerHeight();n=g.width()-parseInt(e.css("padding-left"),10)-parseInt(e.css("padding-right"),10);k.filter("label:first").trigger("mouseenter").trigger("focus"); -e.css({position:"absolute",top:j+"px",left:d.left+"px",width:n+"px"}).show();m.scrollTop(0);a.maxHeight&&m.css("height",a.maxHeight);a.onOpen.call(e[0])}},toggle:function(){e.trigger(f(this).is(":hidden")?"open":"close")},traverse:function(b,c,d){b=f(c);d=d===38||d===37?true:false;b=b.parent()[d?"prevAll":"nextAll"]("li:not(.ui-multiselect-disabled, .ui-multiselect-optgroup-label)")[d?"last":"first"]();if(b.length)b.find("label").trigger("mouseenter");else{b=e.find("ul:last");e.find("label")[d?"last": -"first"]().trigger("mouseover");b.scrollTop(d?b.height():0)}},toggleChecked:function(b,c,d){(d&&d.length?d:k.find("input")).not(":disable d").attr("checked",c);r()}}).find("li.ui-multiselect-optgroup-label a").click(function(b){var c=f(this).parent().nextUntil("li.ui-multiselect-optgroup-label").find("input");e.trigger("toggleChecked",[c.filter(":checked").length===c.length?false:true,c]);a.onOptgroupToggle.call(this,c.get());b.preventDefault()});k.bind({mouseenter:function(){k.removeClass("ui-state-hover"); -f(this).addClass("ui-state-hover").find("input").focus()},keyup:function(b){switch(b.keyCode){case 27:e.trigger("close");break;case 38:case 40:case 37:case 39:e.trigger("traverse",[this,b.keyCode]);break;case 13:b.preventDefault();f(this).click();break}}}).find("input").bind("click",function(){a.onCheck.call(this);r()});$original.remove();f.fn.bgiframe&&e.bgiframe();a.state==="open"&&e.trigger("open",[false]);g.find("input")[0].defaultValue=r();return g};f(document).bind("click",function(i){i=f(i.target); -!i.closest("div.ui-multiselect-options").length&&!i.parent().hasClass("ui-multiselect")&&f("div.ui-multiselect-options").trigger("close",[true])});f.fn.multiSelect.defaults={showHeader:true,maxHeight:175,minWidth:215,checkAllText:"Check all",unCheckAllText:"Uncheck all",noneSelectedText:"Select options",selectedText:"# selected",selectedList:0,position:"bottom",shadow:false,fadeSpeed:200,disabled:false,state:"closed",multiple:true,onCheck:function(){},onOpen:function(){},onCheckAll:function(){},onUncheckAll:function(){}, -onOptgroupToggle:function(){}}})(jQuery); - diff --git a/applications/admin/static/plugin_multiselect/multi-select.css b/applications/admin/static/plugin_multiselect/multi-select.css new file mode 100755 index 00000000..4fdcfc9c --- /dev/null +++ b/applications/admin/static/plugin_multiselect/multi-select.css @@ -0,0 +1,91 @@ +.ms-container{ + background: transparent url('switch.png') no-repeat 164px 80px; +} + +.ms-container:after{ + content: "."; display: block; height: 0; line-height: 0; font-size: 0; clear: both; min-height: 0; visibility: hidden; +} + +.ms-container .ms-selectable, .ms-container .ms-selection{ + + background: #fff; + color: #555555; + float: left; +} + +.ms-container .ms-list{ + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -ms-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; + border: 1px solid #cccccc; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + + +.ms-selected{ + display:none; +} +.ms-container .ms-selectable{ + margin-right: 40px; +} + +.ms-container .ms-list.ms-focus{ + border-color: rgba(82, 168, 236, 0.8); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + outline: 0; + outline: thin dotted \9; +} + +.ms-container ul { + margin: 0; + list-style-type: none; +} + +.ms-container ul li { + margin: 0; +} + +.ms-container ul.ms-list{ + width: 160px; + height: 200px; + padding: 0px 0px; + overflow-y: auto; +} + +.ms-container .ms-selectable li.ms-elem-selectable, +.ms-container .ms-selection li.ms-elem-selected{ + border-bottom: 1px #eee solid; + padding: 2px 10px; + color: #555; + font-size: 14px; +} + +.ms-container .ms-selectable li.disabled, +.ms-container .ms-selection li.disabled{ + background-color: #eee; + color: #aaa; +} + +.ms-container .ms-optgroup-label{ + padding: 5px 0px 0px 5px; + cursor: pointer; + color: #999; +} + +.ms-container li.ms-elem-selectable:not(.disabled).ms-hover, +.ms-container .ms-selection li:not(.disabled).ms-hover{ + cursor: pointer; + color: #ffffff; + text-decoration: none; + background-color: #0088cc; +} + diff --git a/applications/admin/static/plugin_multiselect/start.js b/applications/admin/static/plugin_multiselect/start.js index 5553ba5e..b5d6d0d9 100644 --- a/applications/admin/static/plugin_multiselect/start.js +++ b/applications/admin/static/plugin_multiselect/start.js @@ -1 +1 @@ -jQuery(document).ready(function(){jQuery('[multiple]').multiSelect({maxHeight:200});}); +jQuery(document).ready(function(){jQuery('[multiple]').multiSelect({selectableHeader:'Options',selectedHeader:'Selected'});}); diff --git a/applications/admin/static/plugin_multiselect/switch.png b/applications/admin/static/plugin_multiselect/switch.png new file mode 100755 index 00000000..7accb6ac Binary files /dev/null and b/applications/admin/static/plugin_multiselect/switch.png differ diff --git a/applications/admin/views/wizard/step.html b/applications/admin/views/wizard/step.html index b1975c79..6b7f6d6e 100644 --- a/applications/admin/views/wizard/step.html +++ b/applications/admin/views/wizard/step.html @@ -70,11 +70,11 @@ {{=form}}