1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-12 01:34:31 +02:00
This commit is contained in:
Ryan Cramer
2019-11-20 10:54:51 -05:00
parent 4f054c3c19
commit fd7917c7d1
2 changed files with 14 additions and 3 deletions

View File

@@ -98,9 +98,20 @@ var InputfieldPageListSelectMultiple = {
id = id.substring(0, id.lastIndexOf('_'));
var $input = $('#' + id);
var value = '';
var selected = {};
$ol.children(':not(.itemTemplate)').each(function() {
if(value.length > 0) value += ',';
value += $(this).children('.itemValue').text();
var $li = $(this);
var v = $li.children('.itemValue').text();
if(typeof selected[v] != "undefined") {
// item already in list
if(jQuery.ui) selected[v].effect('highlight', 1000);
$li.remove();
} else {
// add new item to list
selected[v] = $li;
if(value.length > 0) value += ',';
value += v;
}
});
$input.val(value);
$input.change();

View File

@@ -1 +1 @@
var InputfieldPageListSelectMultiple={init:function(a){if(a.hasClass("InputfieldPageListSelectMultipleData")){var b=a}else{var b=a.find(".InputfieldPageListSelectMultipleData")}if(!b.length){return}if(b.hasClass("InputfieldPageListSelectMultipleInit")){return}b.ProcessPageList({mode:"select",rootPageID:b.attr("data-root"),selectShowPageHeader:false,selectSelectHref:b.attr("data-href"),selectStartLabel:b.attr("data-start"),selectCancelLabel:b.attr("data-cancel"),selectSelectLabel:b.attr("data-select"),selectUnselectLabel:b.attr("data-unselect"),moreLabel:b.attr("data-more"),labelName:b.attr("data-labelName")}).hide().addClass("InputfieldPageListSelectMultipleInit");b.bind("pageSelected",b,InputfieldPageListSelectMultiple.pageSelected);InputfieldPageListSelectMultiple.initList($("#"+b.attr("id")+"_items"))},initList:function(a){var b=function(c){c.sortable({axis:"y",update:function(f,d){InputfieldPageListSelectMultiple.rebuildInput($(this))},start:function(f,d){d.item.addClass("ui-state-highlight")},stop:function(f,d){d.item.removeClass("ui-state-highlight")}});c.addClass("InputfieldPageListSelectMultipleSortable")};$("#"+a.attr("id")).on("mouseover",">li",function(){$(this).removeClass("ui-state-default").addClass("ui-state-hover");if(!a.is(".InputfieldPageListSelectMultipleSortable")){b(a)}}).on("mouseout",">li",function(){$(this).removeClass("ui-state-hover").addClass("ui-state-default")});a.on("click","a.itemRemove",function(){var e=$(this).parent();var c=e.parent();var d=e.children(".itemValue").text();e.remove();InputfieldPageListSelectMultiple.rebuildInput(c);return false})},pageSelected:function(c,b){$input=c.data;var a=$("#"+$input.attr("id")+"_items");var d=a.children(".itemTemplate").clone();d.removeClass("itemTemplate");d.children(".itemValue").text(b.id);d.children(".itemLabel").text(b.title);a.append(d);InputfieldPageListSelectMultiple.rebuildInput(a)},rebuildInput:function(a){var d=a.attr("id");d=d.substring(0,d.lastIndexOf("_"));var c=$("#"+d);var b="";a.children(":not(.itemTemplate)").each(function(){if(b.length>0){b+=","}b+=$(this).children(".itemValue").text()});c.val(b);c.change()}};$(document).ready(function(){$(".InputfieldPageListSelectMultiple").each(function(){InputfieldPageListSelectMultiple.init($(this))});$(document).on("reloaded",".InputfieldPageListSelectMultiple, .InputfieldPage",function(){InputfieldPageListSelectMultiple.init($(this))})});
var InputfieldPageListSelectMultiple={init:function($inputfield){if($inputfield.hasClass("InputfieldPageListSelectMultipleData")){var $t=$inputfield}else{var $t=$inputfield.find(".InputfieldPageListSelectMultipleData")}if(!$t.length)return;if($t.hasClass("InputfieldPageListSelectMultipleInit"))return;$t.ProcessPageList({mode:"select",rootPageID:$t.attr("data-root"),selectShowPageHeader:false,selectSelectHref:$t.attr("data-href"),selectStartLabel:$t.attr("data-start"),selectCancelLabel:$t.attr("data-cancel"),selectSelectLabel:$t.attr("data-select"),selectUnselectLabel:$t.attr("data-unselect"),moreLabel:$t.attr("data-more"),labelName:$t.attr("data-labelName")}).hide().addClass("InputfieldPageListSelectMultipleInit");$t.bind("pageSelected",$t,InputfieldPageListSelectMultiple.pageSelected);InputfieldPageListSelectMultiple.initList($("#"+$t.attr("id")+"_items"))},initList:function($ol){var makeSortable=function($ol){$ol.sortable({axis:"y",update:function(e,data){InputfieldPageListSelectMultiple.rebuildInput($(this))},start:function(e,data){data.item.addClass("ui-state-highlight")},stop:function(e,data){data.item.removeClass("ui-state-highlight")}});$ol.addClass("InputfieldPageListSelectMultipleSortable")};$("#"+$ol.attr("id")).on("mouseover",">li",function(){$(this).removeClass("ui-state-default").addClass("ui-state-hover");if(!$ol.is(".InputfieldPageListSelectMultipleSortable"))makeSortable($ol)}).on("mouseout",">li",function(){$(this).removeClass("ui-state-hover").addClass("ui-state-default")});$ol.on("click","a.itemRemove",function(){var $li=$(this).parent();var $ol=$li.parent();var id=$li.children(".itemValue").text();$li.remove();InputfieldPageListSelectMultiple.rebuildInput($ol);return false})},pageSelected:function(e,page){$input=e.data;var $ol=$("#"+$input.attr("id")+"_items");var $li=$ol.children(".itemTemplate").clone();$li.removeClass("itemTemplate");$li.children(".itemValue").text(page.id);$li.children(".itemLabel").text(page.title);$ol.append($li);InputfieldPageListSelectMultiple.rebuildInput($ol)},rebuildInput:function($ol){var id=$ol.attr("id");id=id.substring(0,id.lastIndexOf("_"));var $input=$("#"+id);var value="";var selected={};$ol.children(":not(.itemTemplate)").each(function(){var $li=$(this);var v=$li.children(".itemValue").text();if(typeof selected[v]!="undefined"){if(jQuery.ui)selected[v].effect("highlight",1e3);$li.remove()}else{selected[v]=$li;if(value.length>0)value+=",";value+=v}});$input.val(value);$input.change()}};$(document).ready(function(){$(".InputfieldPageListSelectMultiple").each(function(){InputfieldPageListSelectMultiple.init($(this))});$(document).on("reloaded",".InputfieldPageListSelectMultiple, .InputfieldPage",function(){InputfieldPageListSelectMultiple.init($(this))})});