diff --git a/wire/modules/Process/ProcessField/ProcessField.js b/wire/modules/Process/ProcessField/ProcessField.js
index 557a45b3..d8ee6465 100644
--- a/wire/modules/Process/ProcessField/ProcessField.js
+++ b/wire/modules/Process/ProcessField/ProcessField.js
@@ -22,9 +22,8 @@ $(document).ready(function() {
if(showIf && showIf.length > 0) tpl = "" + tpl;
if(required) tpl = "" + tpl;
var w = parseInt($columnWidth.val());
- if(w == 100) w = 0;
+ if(w < 1 || w > 100) w = 100;
if(w > 0) w = w + '%';
- else w = '';
tpl = tpl.replace('%', w);
$asmListItemStatus.val(tpl);
diff --git a/wire/modules/Process/ProcessField/ProcessField.min.js b/wire/modules/Process/ProcessField/ProcessField.min.js
index 561792c1..726299c0 100644
--- a/wire/modules/Process/ProcessField/ProcessField.min.js
+++ b/wire/modules/Process/ProcessField/ProcessField.min.js
@@ -1 +1 @@
-$(document).ready(function(){var fieldFilterFormChange=function(){$("#field_filter_form").trigger("submit")};$("#templates_id").on("change",fieldFilterFormChange);$("#fieldtype").on("change",fieldFilterFormChange);$("#wrap_show_system input").on("click",fieldFilterFormChange);var $asmListItemStatus=$("#asmListItemStatus");var $columnWidth=$("#columnWidth");function setAsmListItemStatus(){var tpl=$asmListItemStatus.attr("data-tpl");if(!tpl)return;var showIf=$("#Inputfield_showIf").val();var required=$("#Inputfield_required").is(":checked")?true:false;if(showIf&&showIf.length>0)tpl=""+tpl;if(required)tpl=""+tpl;var w=parseInt($columnWidth.val());if(w==100)w=0;if(w>0)w=w+"%";else w="";tpl=tpl.replace("%",w);$asmListItemStatus.val(tpl)}$("#Inputfield_showIf").on("change",setAsmListItemStatus);$("#Inputfield_required").on("change",setAsmListItemStatus);setAsmListItemStatus();$(".columnWidthInput").each(function(){var $columnWidth=$(this);var $slider=$("
");var columnWidthVal=parseInt($columnWidth.val());$columnWidth.val(columnWidthVal+"%");$columnWidth.after($slider);$slider.slider({range:"min",min:10,max:100,value:parseInt($columnWidth.val()),slide:function(e,ui){var val=ui.value+"%";$columnWidth.val(val).trigger("change");if($columnWidth.prop("id")==="columnWidth")setAsmListItemStatus()}});$columnWidth.on("change",function(){var val=parseInt($(this).val());if(val>100)val=100;if(val<10)val=10;$(this).val(val+"%");$slider.slider("option","value",val)})});var $fieldEdit=$("#ProcessFieldEdit");if($fieldEdit.length>0&&$("li.WireTab").length>1){$fieldEdit.find("script").remove();$fieldEdit.WireTabs({items:$(".Inputfields li.WireTab"),id:"FieldEditTabs",skipRememberTabIDs:["delete"]})}$("#fieldgroupContextSelect").on("change",function(){var field_id=$("#Inputfield_id").val();var fieldgroup_id=$(this).val();var href="./edit?id="+field_id;if(fieldgroup_id>0)href+="&fieldgroup_id="+fieldgroup_id;window.location=href});$("a.fieldFlag").on("click",function(){if($(this).attr("href")==="#")return false});$("#export_data").on("click",function(){$(this).trigger("select")});$(".import_toggle input[type=radio]").on("change",function(){var $table=$(this).parents("p.import_toggle").next("table");var $fieldset=$(this).closest(".InputfieldFieldset");if($(this).is(":checked")&&$(this).val()==0){$table.hide();$fieldset.addClass("ui-priority-secondary")}else{$table.show();$fieldset.removeClass("ui-priority-secondary")}}).trigger("change");$("#wrap_Inputfield_send_templates").find(":input").on("change",function(){$("#_send_templates_changed").val("changed")});$("#viewRoles_37").on("click",function(){if($(this).is(":checked"))$("input.viewRoles").prop("checked",true)});$("input.viewRoles:not(#viewRoles_37)").on("click",function(){if($("#viewRoles_37").is(":checked"))return false;return true});$("input.editRoles:not(:disabled)").on("click",function(){if($(this).is(":checked")){$(this).closest("tr").find("input.viewRoles").prop("checked",true)}});$(".override-select-all").on("click",function(){var $checkboxes=$(this).closest("table").find("input[type=checkbox]");if($(this).hasClass("override-checked")){$checkboxes.prop("checked",false);$(this).removeClass("override-checked")}else{$checkboxes.prop("checked",true);$(this).addClass("override-checked")}return false});$(document).on("pw-modal-closed","a",function(e,ui){if(!$("#tab-overrides").is(":visible"))return;Inputfields.reload("#Inputfield_overrides_table")})});
\ No newline at end of file
+$(document).ready(function(){var fieldFilterFormChange=function(){$("#field_filter_form").trigger("submit")};$("#templates_id").on("change",fieldFilterFormChange);$("#fieldtype").on("change",fieldFilterFormChange);$("#wrap_show_system input").on("click",fieldFilterFormChange);var $asmListItemStatus=$("#asmListItemStatus");var $columnWidth=$("#columnWidth");function setAsmListItemStatus(){var tpl=$asmListItemStatus.attr("data-tpl");if(!tpl)return;var showIf=$("#Inputfield_showIf").val();var required=$("#Inputfield_required").is(":checked")?true:false;if(showIf&&showIf.length>0)tpl=""+tpl;if(required)tpl=""+tpl;var w=parseInt($columnWidth.val());if(w<1||w>100)w=100;if(w>0)w=w+"%";tpl=tpl.replace("%",w);$asmListItemStatus.val(tpl)}$("#Inputfield_showIf").on("change",setAsmListItemStatus);$("#Inputfield_required").on("change",setAsmListItemStatus);setAsmListItemStatus();$(".columnWidthInput").each(function(){var $columnWidth=$(this);var $slider=$("");var columnWidthVal=parseInt($columnWidth.val());$columnWidth.val(columnWidthVal+"%");$columnWidth.after($slider);$slider.slider({range:"min",min:10,max:100,value:parseInt($columnWidth.val()),slide:function(e,ui){var val=ui.value+"%";$columnWidth.val(val).trigger("change");if($columnWidth.prop("id")==="columnWidth")setAsmListItemStatus()}});$columnWidth.on("change",function(){var val=parseInt($(this).val());if(val>100)val=100;if(val<10)val=10;$(this).val(val+"%");$slider.slider("option","value",val)})});var $fieldEdit=$("#ProcessFieldEdit");if($fieldEdit.length>0&&$("li.WireTab").length>1){$fieldEdit.find("script").remove();$fieldEdit.WireTabs({items:$(".Inputfields li.WireTab"),id:"FieldEditTabs",skipRememberTabIDs:["delete"]})}$("#fieldgroupContextSelect").on("change",function(){var field_id=$("#Inputfield_id").val();var fieldgroup_id=$(this).val();var href="./edit?id="+field_id;if(fieldgroup_id>0)href+="&fieldgroup_id="+fieldgroup_id;window.location=href});$("a.fieldFlag").on("click",function(){if($(this).attr("href")==="#")return false});$("#export_data").on("click",function(){$(this).trigger("select")});$(".import_toggle input[type=radio]").on("change",function(){var $table=$(this).parents("p.import_toggle").next("table");var $fieldset=$(this).closest(".InputfieldFieldset");if($(this).is(":checked")&&$(this).val()==0){$table.hide();$fieldset.addClass("ui-priority-secondary")}else{$table.show();$fieldset.removeClass("ui-priority-secondary")}}).trigger("change");$("#wrap_Inputfield_send_templates").find(":input").on("change",function(){$("#_send_templates_changed").val("changed")});$("#viewRoles_37").on("click",function(){if($(this).is(":checked"))$("input.viewRoles").prop("checked",true)});$("input.viewRoles:not(#viewRoles_37)").on("click",function(){if($("#viewRoles_37").is(":checked"))return false;return true});$("input.editRoles:not(:disabled)").on("click",function(){if($(this).is(":checked")){$(this).closest("tr").find("input.viewRoles").prop("checked",true)}});$(".override-select-all").on("click",function(){var $checkboxes=$(this).closest("table").find("input[type=checkbox]");if($(this).hasClass("override-checked")){$checkboxes.prop("checked",false);$(this).removeClass("override-checked")}else{$checkboxes.prop("checked",true);$(this).addClass("override-checked")}return false});$(document).on("pw-modal-closed","a",function(e,ui){if(!$("#tab-overrides").is(":visible"))return;Inputfields.reload("#Inputfield_overrides_table")})});
\ No newline at end of file
diff --git a/wire/modules/Process/ProcessField/ProcessField.module b/wire/modules/Process/ProcessField/ProcessField.module
index f6ca5fab..4ae9ed13 100644
--- a/wire/modules/Process/ProcessField/ProcessField.module
+++ b/wire/modules/Process/ProcessField/ProcessField.module
@@ -1183,9 +1183,11 @@ class ProcessField extends Process implements ConfigurableModule {
$field = $modules->get('InputfieldHidden');
$field->attr('id+name', 'asmListItemStatus');
$field->attr('class', 'asmListItemStatus');
+ $width = $this->field->columnWidth;
$field->attr('data-tpl',
// % gets replaced with live percent
- "" . $this->field->type->shortName . " %"
+ "" . $this->field->type->shortName . " " .
+ "%"
);
$field->attr('value', '');
$form->append($field);
diff --git a/wire/modules/Process/ProcessTemplate/ProcessTemplate.js b/wire/modules/Process/ProcessTemplate/ProcessTemplate.js
index c21e1a95..a68f96f3 100644
--- a/wire/modules/Process/ProcessTemplate/ProcessTemplate.js
+++ b/wire/modules/Process/ProcessTemplate/ProcessTemplate.js
@@ -96,6 +96,8 @@ function ProcessTemplateAsmSelect() {
var isDblClick = false;
var snapWithin = 9;
var snapWidth = 0;
+ var useSnapWidth = false;
+ var useRails = true;
function asmListItem($item) {
if(!$item.hasClass('asmListItem')) $item = $item.closest('.asmListItem');
@@ -111,7 +113,32 @@ function ProcessTemplateAsmSelect() {
$item = columnWidthItem($item);
return parseInt($item.text());
}
+
+ /**
+ * Given a width (10-100), pad it to the nearest 5% or nearest predefined (33%, etc.)
+ *
+ * @param width
+ * @returns {number|*}
+ *
+ */
+ function getRailWidth(width) {
+ if(width >= 96) return 100;
+ if(width <= 10) return 10;
+ if(width == 33 || width == 34 || width == 66) return width;
+ width = width.toString();
+ var w1 = parseInt(width.substring(0,1));
+ var w2 = parseInt(width.substring(1));
+ if(w2 >= 7) {
+ w1++; w2 = 0;
+ } else if(w2 >= 4) {
+ w2 = 5;
+ } else if(w2 >= 0) {
+ w2 = 0;
+ }
+ return parseInt(w1.toString() + w2.toString());
+ }
+ // deprecated
function getSnapWidth($item) {
$item = asmListItem($item);
var rowWidth = getRowWidth($item);
@@ -169,19 +196,22 @@ function ProcessTemplateAsmSelect() {
$parent = $item;
$item = $item.find('.columnWidth');
}
- if(snapWidth > 0) {
+ if(useSnapWidth && snapWidth > 0) {
if(columnWidth > snapWidth && columnWidth - snapWidth <= snapWithin) {
columnWidth = snapWidth;
} else if(columnWidth < snapWidth && snapWidth - columnWidth <= snapWithin) {
columnWidth = snapWidth;
}
}
+ if(useRails) columnWidth = getRailWidth(columnWidth);
var pct = parseInt(columnWidth) + '%';
$item.text(pct);
var $columnWidthBar = $parent.find('.columnWidthBar');
var $columnWidthBarPct = $columnWidthBar.children('.columnWidthBarPct');
+ $columnWidthBar.css('transition', 'width 0.1s');// ease-in');
$columnWidthBar.css('width', columnWidth + '%')
- if(columnWidth >= 90) {
+ $columnWidthBarPct.text(pct);
+ if(columnWidth > 95) {
$columnWidthBarPct.text('');
} else {
$columnWidthBarPct.text(pct);
@@ -239,7 +269,7 @@ function ProcessTemplateAsmSelect() {
$('body').addClass('columnWidthActive');
$item.siblings('.fieldType, .fieldInfo').css('opacity', 0.3);
$list.sortable('disable');
- snapWidth = getSnapWidth($parent);
+ if(useSnapWidth) snapWidth = getSnapWidth($parent);
startColumnWidthBar($item);
} else {
if(!mousingActive) return;
@@ -252,16 +282,40 @@ function ProcessTemplateAsmSelect() {
$list.sortable('enable');
}
}
+
+ // returns all widths in an array. also disables the useRails option when
+ // any existing width does not line up with our predefined rail size
+ function getAllWidths($inputfield) {
+ var widths = [];
+ $inputfield.find('.columnWidth').each(function() {
+ var width = parseInt($(this).text());
+ widths.push(width);
+ if(useRails && width != 66 && width != 33 && width != 34) {
+ if(width % 5 !== 0) useRails = false;
+ }
+ });
+ useSnapWidth = !useRails;
+ return widths;
+ }
var mouseMove = function(e) {
if(lastPageX && lastPageY) {
- var diffX = e.pageX - lastPageX;
- var diffY = e.pageY - lastPageY;
+ var diffX = (e.pageX - lastPageX) / 3;
+ var diffY = (e.pageY - lastPageY);
var diff = Math.abs(diffX) >= Math.abs(diffY) ? diffX : (diffY * -1);
if(diff === 0) return;
var pct = currentPct;
- if(diff > 0 && pct < 100) pct++;
- if(diff < 0 && pct > 10) pct--;
+ var detectMax = 10;
+ var detectMin = 1;
+ var d = Math.abs(diff);
+ if(useRails && d >= detectMax) {
+ var moveAmt = 5;
+ if(diff > 0 && pct < 100) pct += diff > detectMax ? moveAmt : 1;
+ if(diff < 0 && pct > 10) pct -= d > detectMax ? moveAmt : 1;
+ } else if(d >= detectMin) {
+ if(diff > 0 && pct < 100) pct++;
+ if(diff < 0 && pct > 10) pct--;
+ }
if(pct != currentPct) {
setColumnWidth($percentElement, pct);
currentPct = pct;
@@ -278,9 +332,28 @@ function ProcessTemplateAsmSelect() {
setActive($percentElement, false);
setupRows();
};
-
+
+ var mouseDblClick = function($percentElement) {
+ var $editLink = $percentElement.closest('li').find('.asmListItemEdit').eq(0).children('a');
+ var href = $editLink.attr('href'); // geet the url to update
+ $editLink.attr('href', href + '#find-columnWidth'); // update url to find the columnWidth inputfield
+ setTimeout(function() { $editLink.attr('href', href); }, 1000); // restore previous url
+ $editLink.trigger('click');
+ };
+
+ var isMousedown = false;
+
var mouseDown = function(e) {
$percentElement = $(this);
+ if(isMousedown) {
+ isMousedown = false;
+ mouseDblClick($percentElement);
+ $percentElement.trigger('mouseup'); // prevents a asm sort from starting
+ return;
+ }
+ isMousedown = true;
+ setTimeout(function() { isMousedown = false; }, 500);
+
if($percentElement.hasClass('columnWidthOff')) return false;
setActive($percentElement, true);
currentPct = getColumnWidth($percentElement);
@@ -298,9 +371,13 @@ function ProcessTemplateAsmSelect() {
$(this).closest('.ui-sortable').sortable('disable');
};
+ /*
var dblClick = function(e) {
var $t = $(this);
isDblClick = true;
+ console.log('dblclick');
+ var $editLink = $t.closest('li').find('.asmListItemEdit').eq(0).children('a');
+ $editLink.trigger('click');
snapWidth = getSnapWidth($t);
if(snapWidth) {
setColumnWidth($t, snapWidth);
@@ -309,6 +386,7 @@ function ProcessTemplateAsmSelect() {
}
isDblClick = false;
};
+ */
/*
var toggleRequired = function() {
@@ -334,17 +412,20 @@ function ProcessTemplateAsmSelect() {
var $inputfield = $('#wrap_fieldgroup_fields'); // Inputfield wrapping element
var $select = $('#fieldgroup_fields'); // original (hidden) select
-
+
$inputfield
- //.on('dblclick', '.fieldType', toggleRequired)
.on('mousedown', '.columnWidth', mouseDown)
.on('mouseover', '.columnWidth', mouseOver)
.on('mouseout', '.columnWidth', mouseOut)
- .on('dblclick', '.columnWidth', dblClick)
.on('asm-ready', function() {
// triggered by manual inline call to ProcessTemplateInitFields() function
setupRows()
- });
+ // sets the useRails toggle
+ getAllWidths($inputfield);
+ })
+ .on('asmItemUpdated', function() {
+ setupRows();
+ });
$select.on('change', function(e, eventData) {
diff --git a/wire/modules/Process/ProcessTemplate/ProcessTemplate.min.js b/wire/modules/Process/ProcessTemplate/ProcessTemplate.min.js
index c8d6cd3c..f1de2dc1 100644
--- a/wire/modules/Process/ProcessTemplate/ProcessTemplate.min.js
+++ b/wire/modules/Process/ProcessTemplate/ProcessTemplate.min.js
@@ -1 +1 @@
-function ProcessTemplateAsmSelect(){function setupRows(){var $inputfield=$("#wrap_fieldgroup_fields");var $item=$inputfield.find(".asmListItem").eq(0);var $lastItem=null;var lastItemWidth=0;var total=0;var numRows=0;do{$item.removeClass("rowItem rowStart rowStop rowError");var w=parseInt($item.find(".columnWidth").text());if(w===100){if(total>0&&total<100&&lastItemWidth>0&&lastItemWidth<100){$lastItem.addClass("rowError");if(!$lastItem.hasClass("rowStart"))$lastItem.addClass("rowStop")}total=0}else{if(!total){$item.addClass("rowStart");numRows++}$item.addClass("rowItem");if(total+w>100){if($lastItem&&lastItemWidth<100){if($lastItem.hasClass("rowStart")){$lastItem.addClass("rowError")}else{$lastItem.addClass("rowStop rowError")}}$item.addClass("rowStart");numRows++;total=w}else if(total+w==100){$item.addClass("rowStop");total=0}else{total+=w}}$lastItem=$item;lastItemWidth=w;$item=$item.next(".asmListItem")}while($item.length);if($lastItem.length&&lastItemWidth<100){$lastItem.addClass("rowStop");if(total>0&&total<100){$lastItem.addClass("rowError")}else{$lastItem.removeClass("rowError")}}return numRows}function setupColumnWidth(){var $percentElement=null;var currentPct=0;var lastPageX=0;var lastPageY=0;var mousingActive=false;var isDblClick=false;var snapWithin=9;var snapWidth=0;function asmListItem($item){if(!$item.hasClass("asmListItem"))$item=$item.closest(".asmListItem");return $item}function columnWidthItem($item){if($item.hasClass("columnWidth"))return $item;return $item.find(".columnWidth")}function getColumnWidth($item){$item=columnWidthItem($item);return parseInt($item.text())}function getSnapWidth($item){$item=asmListItem($item);var rowWidth=getRowWidth($item);var itemWidth=getColumnWidth($item);var snap;if(rowWidth==100){snap=itemWidth}else{snap=100-(rowWidth-itemWidth)}return snap}function getRowStartItem($item){$item=asmListItem($item);if(!$item.hasClass("rowItem")||$item.hasClass("rowStart"))return $item;var $prevItem=$item;do{$prevItem=$prevItem.prev(".rowItem")}while($prevItem.length&&!$prevItem.hasClass("rowStart"));return $prevItem.length?$prevItem:$item}function getRowStopItem($item){$item=asmListItem($item);if(!item.hasClass("rowItem")||$item.hasClass("rowStop"))return $item;var $nextItem=$item;do{$nextItem=$nextItem.next(".rowItem")}while($nextItem.length&&!$nextItem.hasClass("rowStop"));return $nextItem.length?$nextItem:$item}function getRowWidth($item){if(!$item.hasClass("rowItem"))return 100;$item=getRowStartItem($item);var total=getColumnWidth($item);var $nextItem=$item;var w=0;do{$nextItem=$nextItem.next(".rowItem");if(!$nextItem.length||$nextItem.hasClass("rowStart"))break;w=getColumnWidth($nextItem);if(total+w>100)break;total+=w}while(total<100&&!$nextItem.hasClass("rowStop"));return total}function setColumnWidth($item,columnWidth){var $parent;if($item.hasClass("columnWidth")){$parent=$item.closest(".asmListItem")}else{$parent=$item;$item=$item.find(".columnWidth")}if(snapWidth>0){if(columnWidth>snapWidth&&columnWidth-snapWidth<=snapWithin){columnWidth=snapWidth}else if(columnWidth=90){$columnWidthBarPct.text("")}else{$columnWidthBarPct.text(pct)}}function saveColumnWidth($item){var columnWidth=getColumnWidth($item);var $li=$item.hasClass("asmListItem")?$item:$item.closest(".asmListItem");var url="./saveProperty";var data={id:$("#Inputfield_id").val(),property:"columnWidth",columnWidth:columnWidth,field:parseInt($li.find(".columnWidth").attr("data-field"))};var $csrf=$("input._post_token");data[$csrf.attr("name")]=$csrf.val();$.post(url,data,function(result){if(result.success){if(result.value!=columnWidth)setColumnWidth($item,result.value)}},"json")}function startColumnWidthBar($item){if(!$item.hasClass("asmListItem"))$item=$item.closest(".asmListItem");if(isDblClick||!mousingActive)return;var $columnWidthBar=$item.find(".columnWidthBar");if($columnWidthBar.length)$columnWidthBar.remove();var pct=getColumnWidth($item)+"%";var $columnWidthBarPct=$("").addClass("columnWidthBarPct").text(pct);$columnWidthBar=$("").addClass("columnWidthBar").append($columnWidthBarPct);$columnWidthBar.appendTo($item);$columnWidthBar.css("width",pct)}function stopColumnWidthBar($item){if(!$item.hasClass("asmListItem"))$item=$item.closest(".asmListItem");var $columnWidthBar=$item.find(".columnWidthBar");if(!$columnWidthBar.length)return;$columnWidthBar.remove()}function setActive($item,active){var $list=$item.closest(".ui-sortable");if(!$item.hasClass("columnWidth"))$item=$item.find(".columnWidth");var $parent=$item.closest(".asmListItem");if(active){if(mousingActive)return;mousingActive=true;$item.addClass("columnWidthActive");$("body").addClass("columnWidthActive");$item.siblings(".fieldType, .fieldInfo").css("opacity",.3);$list.sortable("disable");snapWidth=getSnapWidth($parent);startColumnWidthBar($item)}else{if(!mousingActive)return;mousingActive=false;stopColumnWidthBar($item);snapWidth=0;$item.removeClass("columnWidthActive");$("body").removeClass("columnWidthActive");$item.siblings(".fieldType, .fieldInfo").css("opacity",1);$list.sortable("enable")}}var mouseMove=function(e){if(lastPageX&&lastPageY){var diffX=e.pageX-lastPageX;var diffY=e.pageY-lastPageY;var diff=Math.abs(diffX)>=Math.abs(diffY)?diffX:diffY*-1;if(diff===0)return;var pct=currentPct;if(diff>0&&pct<100)pct++;if(diff<0&&pct>10)pct--;if(pct!=currentPct){setColumnWidth($percentElement,pct);currentPct=pct}}lastPageX=e.pageX;lastPageY=e.pageY};var mouseUp=function(){$(document).off("mouseup",mouseUp);$(document).off("mousemove",mouseMove);saveColumnWidth($percentElement);setActive($percentElement,false);setupRows()};var mouseDown=function(e){$percentElement=$(this);if($percentElement.hasClass("columnWidthOff"))return false;setActive($percentElement,true);currentPct=getColumnWidth($percentElement);$(document).on("mouseup",mouseUp);$(document).on("mousemove",mouseMove)};var mouseOut=function(e){if(mousingActive)return;$(this).closest(".ui-sortable").sortable("enable")};var mouseOver=function(e){if(mousingActive)return;$(this).closest(".ui-sortable").sortable("disable")};var dblClick=function(e){var $t=$(this);isDblClick=true;snapWidth=getSnapWidth($t);if(snapWidth){setColumnWidth($t,snapWidth);setupRows();saveColumnWidth($t)}isDblClick=false};var $inputfield=$("#wrap_fieldgroup_fields");var $select=$("#fieldgroup_fields");$inputfield.on("mousedown",".columnWidth",mouseDown).on("mouseover",".columnWidth",mouseOver).on("mouseout",".columnWidth",mouseOut).on("dblclick",".columnWidth",dblClick).on("asm-ready",function(){setupRows()});$select.on("change",function(e,eventData){if(typeof eventData=="undefined")return;if(typeof eventData.type=="undefined")return;if(eventData.type==="add")$inputfield.addClass("field-added");if(eventData.type!="sort")return;setupRows();var value=$(this).val();var url="./saveProperty";var data={id:$("#Inputfield_id").val(),property:"fieldgroup_fields",fieldgroup_fields:value,_fieldgroup_fields_changed:"changed"};var $csrf=$("input._post_token");data[$csrf.attr("name")]=$csrf.val();$.post(url,data,function(result){},"json")})}setupColumnWidth()}function ProcessTemplate(){function setupAccessTab(){var redirectLoginClick=function(){if($("#redirectLogin_-1:checked").length>0){$("#wrap_redirectLoginURL").slideDown()}else{$("#wrap_redirectLoginURL").hide()}};var adjustAccessFields=function(){var items=["#wrap_redirectLogin","#wrap_guestSearchable"];if($("#roles_37").is(":checked")){$("#wrap_redirectLoginURL").hide();$(items).each(function(key,value){var $item=$(value);if($item.is(".InputfieldStateCollapsed")){$item.hide()}else{$item.slideUp()}});$("input.viewRoles").prop("checked",true)}else{$(items).each(function(key,value){var $item=$(value);if($item.is(":visible"))return;$item.slideDown("fast",function(){if(!$item.is(".InputfieldStateCollapsed"))return;$item.find(".InputfieldStateToggle").trigger("click")})});redirectLoginClick()}};$("#wrap_useRoles input").on("click",function(){if($("#useRoles_1:checked").length>0){$("#wrap_redirectLogin").hide();$("#wrap_guestSearchable").hide();$("#useRolesYes").slideDown(400,function(){$(this).css("overflow","visible")});$("input.viewRoles").prop("checked",true)}else{$("#useRolesYes").slideUp();$("#accessOverrides:visible").slideUp()}});if($("#useRoles_0:checked").length>0){$("#useRolesYes").hide();$("#accessOverrides").hide()}$("#roles_37").on("click",adjustAccessFields);$("input.viewRoles:not(#roles_37)").on("click",function(){var $t=$(this);if($("#roles_37").is(":checked"))return false;return true});var editRolesClick=function(){var $editRoles=$("#roles_editor input.editRoles");var numChecked=0;$editRoles.each(function(){var $t=$(this);if($t.is(":disabled"))return false;var $createRoles=$("input.createRoles[value="+$t.attr("value")+"]");if($t.is(":checked")){numChecked++;$createRoles.prop("disabled",false)}else{$createRoles.prop("checked",false).prop("disabled",true)}});if(numChecked){$("#accessOverrides").slideDown()}else{$("#accessOverrides").hide()}return true};var editOrAddClick=function(){var numChecked=0;$("#roles_editor input.editRoles").each(function(){if(!$(this).is(":disabled")&&$(this).is(":checked"))numChecked++});$("#roles_editor input.addRoles").each(function(){if(!$(this).is(":disabled")&&$(this).is(":checked"))numChecked++});numChecked>0?$("#wrap_noInherit").slideDown():$("#wrap_noInherit").hide()};$("#roles_editor input.editRoles").on("click",editRolesClick);$("#roles_editor input.editRoles, #roles_editor input.addRoles").on("click",editOrAddClick);editRolesClick();editOrAddClick();$("#wrap_redirectLogin input").on("click",redirectLoginClick);adjustAccessFields();redirectLoginClick()}function setupImportExport(){$("#export_data").on("click",function(){$(this).select()});$(".import_toggle input[type=radio]").on("change",function(){var $table=$(this).parents("p.import_toggle").next("table");var $fieldset=$(this).closest(".InputfieldFieldset");if($(this).is(":checked")&&$(this).val()==0){$table.hide();$fieldset.addClass("ui-priority-secondary")}else{$table.show();$fieldset.removeClass("ui-priority-secondary")}}).trigger("change");$("#import_form table td:not(:first-child)").each(function(){var html=$(this).html();var refresh=false;if(html.substring(0,1)=="{"){html=""+html+"
";html=html.replace(/
/g,"");refresh=true}if(refresh)$(this).html(html)})}function init(){$("#wrap_filter_system input").on("click",function(){$(this).parents("form").trigger("submit")});$("#filter_field").on("change",function(){$(this).parents("form").trigger("submit")});setupAccessTab();var $templateEdit=$("#ProcessTemplateEdit");if($templateEdit.length>0){$templateEdit.find("script").remove();$templateEdit.WireTabs({items:$(".Inputfields li.WireTab"),id:"TemplateEditTabs",skipRememberTabIDs:["WireTabDelete"]})}setupImportExport();$("#fieldgroup_fields").on("change",function(){$("#_fieldgroup_fields_changed").val("changed")})}init()}function ProcessTemplateInitFields(){$("#wrap_fieldgroup_fields").trigger("asm-ready")}$(document).ready(function(){ProcessTemplate();ProcessTemplateAsmSelect()});
\ No newline at end of file
+function ProcessTemplateAsmSelect(){function setupRows(){var $inputfield=$("#wrap_fieldgroup_fields");var $item=$inputfield.find(".asmListItem").eq(0);var $lastItem=null;var lastItemWidth=0;var total=0;var numRows=0;do{$item.removeClass("rowItem rowStart rowStop rowError");var w=parseInt($item.find(".columnWidth").text());if(w===100){if(total>0&&total<100&&lastItemWidth>0&&lastItemWidth<100){$lastItem.addClass("rowError");if(!$lastItem.hasClass("rowStart"))$lastItem.addClass("rowStop")}total=0}else{if(!total){$item.addClass("rowStart");numRows++}$item.addClass("rowItem");if(total+w>100){if($lastItem&&lastItemWidth<100){if($lastItem.hasClass("rowStart")){$lastItem.addClass("rowError")}else{$lastItem.addClass("rowStop rowError")}}$item.addClass("rowStart");numRows++;total=w}else if(total+w==100){$item.addClass("rowStop");total=0}else{total+=w}}$lastItem=$item;lastItemWidth=w;$item=$item.next(".asmListItem")}while($item.length);if($lastItem.length&&lastItemWidth<100){$lastItem.addClass("rowStop");if(total>0&&total<100){$lastItem.addClass("rowError")}else{$lastItem.removeClass("rowError")}}return numRows}function setupColumnWidth(){var $percentElement=null;var currentPct=0;var lastPageX=0;var lastPageY=0;var mousingActive=false;var isDblClick=false;var snapWithin=9;var snapWidth=0;var useSnapWidth=false;var useRails=true;function asmListItem($item){if(!$item.hasClass("asmListItem"))$item=$item.closest(".asmListItem");return $item}function columnWidthItem($item){if($item.hasClass("columnWidth"))return $item;return $item.find(".columnWidth")}function getColumnWidth($item){$item=columnWidthItem($item);return parseInt($item.text())}function getRailWidth(width){if(width>=96)return 100;if(width<=10)return 10;if(width==33||width==34||width==66)return width;width=width.toString();var w1=parseInt(width.substring(0,1));var w2=parseInt(width.substring(1));if(w2>=7){w1++;w2=0}else if(w2>=4){w2=5}else if(w2>=0){w2=0}return parseInt(w1.toString()+w2.toString())}function getSnapWidth($item){$item=asmListItem($item);var rowWidth=getRowWidth($item);var itemWidth=getColumnWidth($item);var snap;if(rowWidth==100){snap=itemWidth}else{snap=100-(rowWidth-itemWidth)}return snap}function getRowStartItem($item){$item=asmListItem($item);if(!$item.hasClass("rowItem")||$item.hasClass("rowStart"))return $item;var $prevItem=$item;do{$prevItem=$prevItem.prev(".rowItem")}while($prevItem.length&&!$prevItem.hasClass("rowStart"));return $prevItem.length?$prevItem:$item}function getRowStopItem($item){$item=asmListItem($item);if(!item.hasClass("rowItem")||$item.hasClass("rowStop"))return $item;var $nextItem=$item;do{$nextItem=$nextItem.next(".rowItem")}while($nextItem.length&&!$nextItem.hasClass("rowStop"));return $nextItem.length?$nextItem:$item}function getRowWidth($item){if(!$item.hasClass("rowItem"))return 100;$item=getRowStartItem($item);var total=getColumnWidth($item);var $nextItem=$item;var w=0;do{$nextItem=$nextItem.next(".rowItem");if(!$nextItem.length||$nextItem.hasClass("rowStart"))break;w=getColumnWidth($nextItem);if(total+w>100)break;total+=w}while(total<100&&!$nextItem.hasClass("rowStop"));return total}function setColumnWidth($item,columnWidth){var $parent;if($item.hasClass("columnWidth")){$parent=$item.closest(".asmListItem")}else{$parent=$item;$item=$item.find(".columnWidth")}if(useSnapWidth&&snapWidth>0){if(columnWidth>snapWidth&&columnWidth-snapWidth<=snapWithin){columnWidth=snapWidth}else if(columnWidth95){$columnWidthBarPct.text("")}else{$columnWidthBarPct.text(pct)}}function saveColumnWidth($item){var columnWidth=getColumnWidth($item);var $li=$item.hasClass("asmListItem")?$item:$item.closest(".asmListItem");var url="./saveProperty";var data={id:$("#Inputfield_id").val(),property:"columnWidth",columnWidth:columnWidth,field:parseInt($li.find(".columnWidth").attr("data-field"))};var $csrf=$("input._post_token");data[$csrf.attr("name")]=$csrf.val();$.post(url,data,function(result){if(result.success){if(result.value!=columnWidth)setColumnWidth($item,result.value)}},"json")}function startColumnWidthBar($item){if(!$item.hasClass("asmListItem"))$item=$item.closest(".asmListItem");if(isDblClick||!mousingActive)return;var $columnWidthBar=$item.find(".columnWidthBar");if($columnWidthBar.length)$columnWidthBar.remove();var pct=getColumnWidth($item)+"%";var $columnWidthBarPct=$("").addClass("columnWidthBarPct").text(pct);$columnWidthBar=$("").addClass("columnWidthBar").append($columnWidthBarPct);$columnWidthBar.appendTo($item);$columnWidthBar.css("width",pct)}function stopColumnWidthBar($item){if(!$item.hasClass("asmListItem"))$item=$item.closest(".asmListItem");var $columnWidthBar=$item.find(".columnWidthBar");if(!$columnWidthBar.length)return;$columnWidthBar.remove()}function setActive($item,active){var $list=$item.closest(".ui-sortable");if(!$item.hasClass("columnWidth"))$item=$item.find(".columnWidth");var $parent=$item.closest(".asmListItem");if(active){if(mousingActive)return;mousingActive=true;$item.addClass("columnWidthActive");$("body").addClass("columnWidthActive");$item.siblings(".fieldType, .fieldInfo").css("opacity",.3);$list.sortable("disable");if(useSnapWidth)snapWidth=getSnapWidth($parent);startColumnWidthBar($item)}else{if(!mousingActive)return;mousingActive=false;stopColumnWidthBar($item);snapWidth=0;$item.removeClass("columnWidthActive");$("body").removeClass("columnWidthActive");$item.siblings(".fieldType, .fieldInfo").css("opacity",1);$list.sortable("enable")}}function getAllWidths($inputfield){var widths=[];$inputfield.find(".columnWidth").each(function(){var width=parseInt($(this).text());widths.push(width);if(useRails&&width!=66&&width!=33&&width!=34){if(width%5!==0)useRails=false}});useSnapWidth=!useRails;return widths}var mouseMove=function(e){if(lastPageX&&lastPageY){var diffX=(e.pageX-lastPageX)/3;var diffY=e.pageY-lastPageY;var diff=Math.abs(diffX)>=Math.abs(diffY)?diffX:diffY*-1;if(diff===0)return;var pct=currentPct;var detectMax=10;var detectMin=1;var d=Math.abs(diff);if(useRails&&d>=detectMax){var moveAmt=5;if(diff>0&&pct<100)pct+=diff>detectMax?moveAmt:1;if(diff<0&&pct>10)pct-=d>detectMax?moveAmt:1}else if(d>=detectMin){if(diff>0&&pct<100)pct++;if(diff<0&&pct>10)pct--}if(pct!=currentPct){setColumnWidth($percentElement,pct);currentPct=pct}}lastPageX=e.pageX;lastPageY=e.pageY};var mouseUp=function(){$(document).off("mouseup",mouseUp);$(document).off("mousemove",mouseMove);saveColumnWidth($percentElement);setActive($percentElement,false);setupRows()};var mouseDblClick=function($percentElement){var $editLink=$percentElement.closest("li").find(".asmListItemEdit").eq(0).children("a");var href=$editLink.attr("href");$editLink.attr("href",href+"#find-columnWidth");setTimeout(function(){$editLink.attr("href",href)},1e3);$editLink.trigger("click")};var isMousedown=false;var mouseDown=function(e){$percentElement=$(this);if(isMousedown){isMousedown=false;mouseDblClick($percentElement);$percentElement.trigger("mouseup");return}isMousedown=true;setTimeout(function(){isMousedown=false},500);if($percentElement.hasClass("columnWidthOff"))return false;setActive($percentElement,true);currentPct=getColumnWidth($percentElement);$(document).on("mouseup",mouseUp);$(document).on("mousemove",mouseMove)};var mouseOut=function(e){if(mousingActive)return;$(this).closest(".ui-sortable").sortable("enable")};var mouseOver=function(e){if(mousingActive)return;$(this).closest(".ui-sortable").sortable("disable")};var $inputfield=$("#wrap_fieldgroup_fields");var $select=$("#fieldgroup_fields");$inputfield.on("mousedown",".columnWidth",mouseDown).on("mouseover",".columnWidth",mouseOver).on("mouseout",".columnWidth",mouseOut).on("asm-ready",function(){setupRows();getAllWidths($inputfield)}).on("asmItemUpdated",function(){setupRows()});$select.on("change",function(e,eventData){if(typeof eventData=="undefined")return;if(typeof eventData.type=="undefined")return;if(eventData.type==="add")$inputfield.addClass("field-added");if(eventData.type!="sort")return;setupRows();var value=$(this).val();var url="./saveProperty";var data={id:$("#Inputfield_id").val(),property:"fieldgroup_fields",fieldgroup_fields:value,_fieldgroup_fields_changed:"changed"};var $csrf=$("input._post_token");data[$csrf.attr("name")]=$csrf.val();$.post(url,data,function(result){},"json")})}setupColumnWidth()}function ProcessTemplate(){function setupAccessTab(){var redirectLoginClick=function(){if($("#redirectLogin_-1:checked").length>0){$("#wrap_redirectLoginURL").slideDown()}else{$("#wrap_redirectLoginURL").hide()}};var adjustAccessFields=function(){var items=["#wrap_redirectLogin","#wrap_guestSearchable"];if($("#roles_37").is(":checked")){$("#wrap_redirectLoginURL").hide();$(items).each(function(key,value){var $item=$(value);if($item.is(".InputfieldStateCollapsed")){$item.hide()}else{$item.slideUp()}});$("input.viewRoles").prop("checked",true)}else{$(items).each(function(key,value){var $item=$(value);if($item.is(":visible"))return;$item.slideDown("fast",function(){if(!$item.is(".InputfieldStateCollapsed"))return;$item.find(".InputfieldStateToggle").trigger("click")})});redirectLoginClick()}};$("#wrap_useRoles input").on("click",function(){if($("#useRoles_1:checked").length>0){$("#wrap_redirectLogin").hide();$("#wrap_guestSearchable").hide();$("#useRolesYes").slideDown(400,function(){$(this).css("overflow","visible")});$("input.viewRoles").prop("checked",true)}else{$("#useRolesYes").slideUp();$("#accessOverrides:visible").slideUp()}});if($("#useRoles_0:checked").length>0){$("#useRolesYes").hide();$("#accessOverrides").hide()}$("#roles_37").on("click",adjustAccessFields);$("input.viewRoles:not(#roles_37)").on("click",function(){var $t=$(this);if($("#roles_37").is(":checked"))return false;return true});var editRolesClick=function(){var $editRoles=$("#roles_editor input.editRoles");var numChecked=0;$editRoles.each(function(){var $t=$(this);if($t.is(":disabled"))return false;var $createRoles=$("input.createRoles[value="+$t.attr("value")+"]");if($t.is(":checked")){numChecked++;$createRoles.prop("disabled",false)}else{$createRoles.prop("checked",false).prop("disabled",true)}});if(numChecked){$("#accessOverrides").slideDown()}else{$("#accessOverrides").hide()}return true};var editOrAddClick=function(){var numChecked=0;$("#roles_editor input.editRoles").each(function(){if(!$(this).is(":disabled")&&$(this).is(":checked"))numChecked++});$("#roles_editor input.addRoles").each(function(){if(!$(this).is(":disabled")&&$(this).is(":checked"))numChecked++});numChecked>0?$("#wrap_noInherit").slideDown():$("#wrap_noInherit").hide()};$("#roles_editor input.editRoles").on("click",editRolesClick);$("#roles_editor input.editRoles, #roles_editor input.addRoles").on("click",editOrAddClick);editRolesClick();editOrAddClick();$("#wrap_redirectLogin input").on("click",redirectLoginClick);adjustAccessFields();redirectLoginClick()}function setupImportExport(){$("#export_data").on("click",function(){$(this).select()});$(".import_toggle input[type=radio]").on("change",function(){var $table=$(this).parents("p.import_toggle").next("table");var $fieldset=$(this).closest(".InputfieldFieldset");if($(this).is(":checked")&&$(this).val()==0){$table.hide();$fieldset.addClass("ui-priority-secondary")}else{$table.show();$fieldset.removeClass("ui-priority-secondary")}}).trigger("change");$("#import_form table td:not(:first-child)").each(function(){var html=$(this).html();var refresh=false;if(html.substring(0,1)=="{"){html=""+html+"
";html=html.replace(/
/g,"");refresh=true}if(refresh)$(this).html(html)})}function init(){$("#wrap_filter_system input").on("click",function(){$(this).parents("form").trigger("submit")});$("#filter_field").on("change",function(){$(this).parents("form").trigger("submit")});setupAccessTab();var $templateEdit=$("#ProcessTemplateEdit");if($templateEdit.length>0){$templateEdit.find("script").remove();$templateEdit.WireTabs({items:$(".Inputfields li.WireTab"),id:"TemplateEditTabs",skipRememberTabIDs:["WireTabDelete"]})}setupImportExport();$("#fieldgroup_fields").on("change",function(){$("#_fieldgroup_fields_changed").val("changed")})}init()}function ProcessTemplateInitFields(){$("#wrap_fieldgroup_fields").trigger("asm-ready")}$(document).ready(function(){ProcessTemplate();ProcessTemplateAsmSelect()});
\ No newline at end of file