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