diff --git a/wire/modules/AdminTheme/AdminThemeUikit/AdminThemeUikit.module b/wire/modules/AdminTheme/AdminThemeUikit/AdminThemeUikit.module index 09aa7058..510e6889 100644 --- a/wire/modules/AdminTheme/AdminThemeUikit/AdminThemeUikit.module +++ b/wire/modules/AdminTheme/AdminThemeUikit/AdminThemeUikit.module @@ -24,7 +24,7 @@ class AdminThemeUikit extends AdminThemeFramework implements Module, Configurabl public static function getModuleInfo() { return array( 'title' => 'Uikit', - 'version' => 24, + 'version' => 25, 'summary' => 'Uikit v3 admin theme', 'autoload' => 'template=admin', 'requires' => 'ProcessWire>=3.0.94' diff --git a/wire/modules/AdminTheme/AdminThemeUikit/init.php b/wire/modules/AdminTheme/AdminThemeUikit/init.php index 38b9706c..948a0cf7 100644 --- a/wire/modules/AdminTheme/AdminThemeUikit/init.php +++ b/wire/modules/AdminTheme/AdminThemeUikit/init.php @@ -20,21 +20,17 @@ if(!defined("PROCESSWIRE")) die(); // uk class => width % $ukGridWidths = array( - '80%' => '4-5', - '75%' => '3-4', - '70%' => '2-3', - '64%' => '2-3', - '60%' => '3-5', - '50%' => '1-2', - '45%' => '1-2', - '40%' => '2-5', - '34%' => '1-3', - '33%' => '1-3', - '32%' => '1-3', - '30%' => '1-3', - '25%' => '1-4', - '20%' => '1-5', - '16%' => '1-6', + '85%' => '5-6', // 85%-94% + '80%' => '4-5', // 80%-84% + '75%' => '3-4', // 75%-79% + '64%' => '2-3', // 64%-74% + '60%' => '3-5', // 60%-63% + '45%' => '1-2', // 45%-59% + '36%' => '2-5', // 36%-44% + '27%' => '1-3', // 27%-35% + '25%' => '1-4', // 25%-26% + '18%' => '1-5', // 18%-24% + '11%' => '1-6', // 11%-17% ); $config->set('inputfieldColumnWidthSpacing', 0); diff --git a/wire/modules/AdminTheme/AdminThemeUikit/scripts/main.js b/wire/modules/AdminTheme/AdminThemeUikit/scripts/main.js index 282aba31..11481dea 100644 --- a/wire/modules/AdminTheme/AdminThemeUikit/scripts/main.js +++ b/wire/modules/AdminTheme/AdminThemeUikit/scripts/main.js @@ -543,6 +543,7 @@ var ProcessWireAdminTheme = { } while($in.hasClass('InputfieldColumnWidth')); } + var ukGridClassCache = []; // get or set uk-width class // width: may be integer of width, or classes you want to set (if $in is also provided) // $in: An optional Inputfield that you want to populate given or auto-determined classes to @@ -559,17 +560,21 @@ var ProcessWireAdminTheme = { } else if(!width || width >= 100) { // full width ukGridClass = ukGridClassDefault; + } else if(typeof ukGridClassCache[width] != "undefined") { + // use previously cached value + ukGridClass = 'uk-width-' + ukGridClassCache[width]; } else { // determine width from predefined setting for(var pct in ProcessWire.config.ukGridWidths) { var cn = ProcessWire.config.ukGridWidths[pct]; pct = parseInt(pct); if(width >= pct) { - ukGridClass = 'uk-width-' + cn; - // ukGrid = cn.split('-'); + ukGridClass = cn; break; } } + ukGridClassCache[width] = ukGridClass; + ukGridClass = 'uk-width-' + ukGridClass; } if(!widthIsClass && ukGridClass != ukGridClassDefault) { @@ -596,7 +601,7 @@ var ProcessWireAdminTheme = { str = $in.attr('class'); } if(str.indexOf('uk-width-') > -1) { - var cls = str.replace(/uk-width-(\d-\d@m|\d-\d|expand)\s*/g, ''); + var cls = str.replace(/uk-width-(\d-\d|expand)[@smxl]*\s*/g, ''); if($in !== null) $in.attr('class', cls); } return str; @@ -633,7 +638,7 @@ var ProcessWireAdminTheme = { if(debug) consoleLog('A: hidden', $inputfield); lastW += w; width += w; - if($lastInputfield && width >= 100) { + if($lastInputfield && width >= 95) { // finishing out row, update last visible column to include the width of the hidden column lastW += widthHidden; if(debug) consoleLog('Updating last visible Inputfield to width=' + lastW, $lastInputfield); @@ -674,7 +679,7 @@ var ProcessWireAdminTheme = { // if column has width defined, pull from its data-colwidth property w = hasWidth ? parseInt($inputfield.attr('data-colwidth')) : 0; - if(!w || w >= 100) { + if(!w || w >= 95) { // full-width applyFullWidthInputfield(); return; @@ -702,6 +707,11 @@ var ProcessWireAdminTheme = { // width comes to exactly 100% so make this the last column in the row isLastColumn = true; if(debug) consoleLog('D: width is exactly 100%, so this is the last column', $inputfield); + } else if(width + w >= 95) { + // width is close enough to 100% so treat it the same + isLastColumn = true; + w = 100 - width; + if(debug) consoleLog('D2: width is close enough to 100%, so this is the last column', $inputfield); } else { // column that isn't first or last column if(debug) consoleLog('E: not first or last column', $inputfield); diff --git a/wire/modules/AdminTheme/AdminThemeUikit/scripts/main.min.js b/wire/modules/AdminTheme/AdminThemeUikit/scripts/main.min.js index 44b1e345..afdca0c9 100644 --- a/wire/modules/AdminTheme/AdminThemeUikit/scripts/main.min.js +++ b/wire/modules/AdminTheme/AdminThemeUikit/scripts/main.min.js @@ -1 +1 @@ -var ProcessWireAdminTheme={init:function(){this.setupInputfields();this.setupTooltips();this.checkLayout()},ready:function(){this.setupCloneButton();ProcessWireAdmin.init();this.setupSearch();this.setupSideNav();var b=$("body");$(document).on("wiretabclick opened",function(c){$("body").addClass("pw-fake-resize");$(window).resize();setTimeout(function(){$("body").removeClass("pw-fake-resize")},100)});$("a.notice-remove","#notices").click(function(){$("#notices").slideUp("fast",function(){$(this).remove()});return false});$("a.pw-logo-link").click(this.logoClickEvent);$("#_ProcessPageEditView").click(function(c){c.stopPropagation()});var a=null;$(window).resize(function(){if(a){return}a=setTimeout(function(){ProcessWireAdminTheme.windowResized();a=null},250)});this.setupMasthead();this.setupWireTabs();b.removeClass("pw-init").addClass("pw-ready")},setupWireTabs:function(){var a=$(".WireTabs");if(a.length){$(document).on("wiretabclick",function(b,c){ProcessWireAdminTheme.wireTabClick(c)});setTimeout(function(){var c=a.children(".uk-active");if(c.length){var b=$(c.find("a").attr("href"));if(b.length){ProcessWireAdminTheme.wireTabClick(b)}}},500)}},wireTabClick:function(a){if(!a.length){return}var d=null;var b=null;if(a.hasClass("InputfieldWrapper")){b=a.children(".Inputfields").children(".Inputfield:eq(0)");d=b.children(".InputfieldHeader")}else{if(a.hasClass("Inputfield")){b=a;d=a.children(".InputfieldHeader")}}if(!d||!d.length){return}var i=false;var c=["InputfieldIsPrimary","InputfieldIsWarning","InputfieldIsError","InputfieldIsHighlight","InputfieldIsSuccess"];for(var f=0;f-1){a=a.replace(/([?&]layout)=[-_a-zA-Z0-9]+/,"$1=sidenav-init")}else{a+=(a.indexOf("?")>0?"&":"?")+"layout=sidenav-init"}window.location.href=a}},windowResized:function(){if($("body").hasClass("pw-fake-resize")){return}this.setupMasthead()},setupMasthead:function(){var b=$("#pw-masthead");var e=$("#pw-masthead-mobile");var c=$(window).width();var a=0;var d=0;if(c>767){d=parseInt(b.data("pw-height"));a=b.children(".pw-container").height()}else{a=999}if(b.hasClass("uk-hidden")){b.removeClass("uk-hidden")}if(a>d){if(!b.hasClass("pw-masthead-hidden")){b.addClass("pw-masthead-hidden").css({position:"absolute",top:"-9999px"});e.removeClass("uk-hidden");$("#offcanvas-toggle").removeClass("uk-hidden")}}else{if(b.hasClass("pw-masthead-hidden")){e.addClass("uk-hidden");b.removeClass("pw-masthead-hidden").css({position:"relative",top:0});$("#offcanvas-toggle").addClass("uk-hidden")}}},setupCloneButton:function(){if($("body").is(".modal")){return}var c=$("button.pw-head-button, button.head_button_clone");if(c.length==0){return}var a=$("#pw-content-head-buttons");var e=null;var h=null;var d={};c.each(function(){var m=$(this);var k=m.parent("a");var j;if(k.length>0){j=m.parent("a").clone(true);a.prepend(j)}else{if(m.hasClass("pw-head-button")||m.hasClass("head_button_clone")){j=m.clone(true);j.attr("data-from_id",m.attr("id")).attr("id",m.attr("id")+"_copy").addClass("pw-head-button");j.click(function(){$("#"+$(this).attr("data-from_id")).click();return false});if(j.hasClass("pw-button-dropdown-toggle")){var l=j.attr("id").replace("pw-dropdown-toggle-","");d[l]=j}else{if(j.hasClass("pw-button-dropdown-main")){var i=$("").addClass("pw-button-dropdown-wrap");i.append(j).addClass("uk-float-right");a.prepend(i)}else{j.addClass("uk-float-right");a.prepend(j)}}}}});for(var g in d){var b=d[g];var f=$("#"+g);f.after(b)}},setupSearch:function(){$.widget("custom.adminsearchautocomplete",$.ui.autocomplete,{_renderMenu:function(c,a){var d=this;var b="";c.addClass("pw-dropdown-menu-shorter uk-nav uk-nav-default");c.css("z-index",9999);$.each(a,function(e,f){if(f.type!=b){if(b.length){$("
  • ").appendTo(c)}$("
  • "+f.type+"
  • ").addClass("uk-nav-header").appendTo(c);b=f.type}d._renderItemData(c,f)})},_renderItem:function(a,b){if(b.label==b.template){b.template=""}return $("
  • ").append(""+b.label+" "+b.template+"").appendTo(a)}});$(".pw-search-form").each(function(){var b=$(this);var c=b.find(".pw-search-input");var a={my:"right top",at:"right bottom"};if(b.closest(".uk-offcanvas-bar").length){a.my="left top";a.at="left bottom"}c.click(function(d){d.stopPropagation()});c.adminsearchautocomplete({minLength:2,position:a,search:function(d,e){b.find(".pw-search-icon").addClass("uk-hidden");b.find(".pw-spinner-icon").removeClass("uk-hidden")},open:function(d,e){},close:function(d,e){},source:function(f,d){var e=c.parents("form").attr("data-action")+"for?get=template_label,title&include=all&admin_search="+f.term;$.getJSON(e,function(h){var g=h.matches.length;if(g");b.append(c);$.getJSON(a,function(g){var i=e.clone();var f=i.find("i");if(!f.length){f=$("");i.prepend(f)}f.attr("class","fa fa-fw fa-arrow-circle-right pw-nav-icon");i.removeAttr("data-json").removeAttr("class");i.find("small").remove();var h=$("
  • ").addClass("pw-nav-dup").append(i);b.append(h);if(g.add){var h=$("
  • "+g.add.label+"
  • ");b.append(h)}$.each(g.list,function(k){if(this.label.indexOf("-1){this.label=this.label.replace(/<\/?span[^>]*>/g,"")}var q="";var r=$("
    "+this.label+"
    ");var s=r.text();if(s.length>30){var o=r.find("small");if(o.length){o.remove()}s=r.text();s=s.substring(0,30);var k=s.lastIndexOf(" ");if(k>3){s=s.substring(0,k)+"… "}r.html(s);if(o.length){r.append(o)}}s=r.html().replace(" "," ");if(this.icon){q=""}var j=this.url.indexOf("/")===0?this.url:g.url+this.url;var l=$(""+q+s+"");var p=$("
  • ").append(l);if(this.navJSON!="undefined"&&this.navJSON){l.addClass("pw-has-items pw-has-ajax-items").attr("data-json",this.navJSON);var m=$("
      ");p.addClass("uk-parent").append(m);UIkit.nav(m,{multiple:true})}if(typeof this.className!="undefined"&&this.className&&this.className.length){p.addClass(this.className)}if(p.hasClass("pw-nav-add")||p.hasClass("pw-pagelist-show-all")){b.children(".pw-nav-dup").after(p.removeClass("separator").addClass("pw-nav-add"))}else{b.append(p)}});c.remove();b.addClass("navJSON").addClass("length"+parseInt(g.list.length)).hide();if(b.children().length){b.css("opacity",1).fadeIn("fast")}});return false})},setupInputfields:function(){function e(){$("form.uk-form-horizontal").each(function(){$(this).find(".InputfieldContent > .Inputfields").each(function(){var h=$(this);h.addClass("uk-form-vertical");h.find(".uk-form-label").removeClass("uk-form-label");h.find(".uk-form-controls").removeClass("uk-form-controls")});$(this).find(".InputfieldSubmit, .InputfieldButton").each(function(){$(this).find(".InputfieldContent").before("
       
      ")})});$(".InputfieldNoBorder.uk-card").removeClass("uk-card uk-card-default");$(".InputfieldIsOffset.InputfieldColumnWidthFirst").each(function(){var i=$(this);var h;do{h=i.next(".InputfieldColumnWidth");if(!h.length||h.hasClass("InputfieldColumnWidthFirst")){break}h.addClass("InputfieldIsOffset");i=h}while(true)});$(".Inputfields").each(function(){b($(this))});$(".ui-widget.Inputfield, .ui-widget-header.InputfieldHeader, .ui-widget-content.InputfieldContent").removeClass("ui-widget ui-widget-header ui-widget-content");$(".MarkupPagerNav:not(.uk-pagination)").each(function(){$(this).addClass("uk-pagination")})}function b(h){$(".InputfieldRowFirst",h).removeClass("InputfieldRowFirst");$(".InputfieldRowLast",h).removeClass("InputfieldRowLast");var i=h.children(".Inputfield:not(.InputfieldStateHidden):eq(0)");if(!i.length){return}do{i.addClass("InputfieldRowFirst");i=i.next(".Inputfield:not(.InputfieldStateHidden)")}while(i.hasClass("InputfieldColumnWidth")&&!i.hasClass("InputfieldColumnWidthFirst"));i=h.children(".Inputfield:last-child");while(i.length&&i.hasClass("InputfieldStateHidden")){i=i.prev(".Inputfield")}do{i.addClass("InputfieldRowLast");if(!i.hasClass("InputfieldColumnWidth")||i.hasClass("InputfieldColumnWidthFirst")){break}i=i.prev(".Inputfield:not(.InputfieldStateHidden)")}while(i.hasClass("InputfieldColumnWidth"))}function a(j,n){var i="uk-width-1-1";var h=i;var l=false;if(typeof j=="string"&&typeof n!="undefined"){h=j;l=true}else{if(!j||j>=100){h=i}else{for(var k in ProcessWire.config.ukGridWidths){var m=ProcessWire.config.ukGridWidths[k];k=parseInt(k);if(j>=k){h="uk-width-"+m;break}}}}if(!l&&h!=i){h+="@m"}if(typeof n!="undefined"){if(n.hasClass(h)){}else{d(n);n.addClass(h)}}return h}function d(i){var j=null;if(typeof i!="string"){j=i;i=j.attr("class")}if(i.indexOf("uk-width-")>-1){var h=i.replace(/uk-width-(\d-\d@m|\d-\d|expand)\s*/g,"");if(j!==null){j.attr("class",h)}}return i}function g(h){if(!h){return}var o=h.parent().children(".Inputfield");var p=null;var j=0;var n=0;var r=0;var k=0;var i=false;function s(t,v){if(!i){return}if(typeof v=="undefined"){v=h}var u=v.attr("id");u=u.replace("wrap_Inputfield_","");console.log(u+" (combined width="+j+", w="+r+"): "+t)}function m(t){if(typeof t=="undefined"){t=p}if(t){a("InputfieldColumnWidthLast uk-width-expand",t)}}function l(){if(i){s("A: hidden",h)}k+=r;j+=r;if(p&&j>=100){k+=n;if(i){s("Updating last visible Inputfield to width="+k,p)}a(k,p);j=0;k=0;n=0;p=null}else{n+=r}}function q(){if(i){s("Skipping because full-width",h)}if(j<100&&p){m(p)}p=null;n=0;k=0;j=0}o.each(function(){h=$(this);var w=false;var v=false;var u=h.hasClass("InputfieldColumnWidth");var t=!u||h.hasClass("InputfieldColumnWidthFirst");if(t&&p&&j<100){m(p)}r=u?parseInt(h.attr("data-colwidth")):0;if(!r||r>=100){q();return}if(h.hasClass("InputfieldStateHidden")){l();return}if(!j||j>=100){j=0;v=true;w=false;if(i){s("B: starting new row",h)}}else{if(j+r>100){if(p){m(p)}j=0;v=true;if(i){s("C: start new row because width would exceed 100%",h)}}else{if(j+r==100){w=true;if(i){s("D: width is exactly 100%, so this is the last column",h)}}else{if(i){s("E: not first or last column",h)}}}}if(w){h.addClass("InputfieldColumnWidthLast")}else{h.removeClass("InputfieldColumnWidthLast")}if(v){h.addClass("InputfieldColumnWidthFirst");n=0}else{h.removeClass("InputfieldColumnWidthFirst")}if(w){p=null;j=0;k=0;if(n){r+=n}n=0}else{p=h;j+=r;k=r}a(r,h)});if(j<100&&p){m(p)}}var f=null;var c=function(j,i){var h=$(i);if(j.type=="showInputfield"){h.removeClass("uk-hidden")}else{h.show();h.addClass("uk-hidden")}g(h);if(f){return}f=setTimeout(function(){b(h.closest(".Inputfields"));var k=h.find(".Inputfields");if(k.length){k.each(function(){b($(this))})}f=null},100)};$(document).on("reloaded",function(){e()});$(document).on("hideInputfield",c);$(document).on("showInputfield",c);$("body").addClass("InputfieldColumnWidthsInit");e()},setupTooltips:function(){$(".tooltip, .pw-tooltip").each(function(){$(this).removeClass("tooltip pw-tooltip");UIkit.tooltip($(this))})},linkTargetMainMouseoverEvent:function(){var b=$(this);var a=b.attr("href");if(a.length<2){return}if(b.attr("target")){return}if(b.parent("li").hasClass("PageListActionView")){b.attr("target","_top")}else{b.attr("target","main")}},logoClickEvent:function(){if($("body").hasClass("pw-layout-sidenav-init")){if($("#pw-admin-side").length){toggleSidebarPane()}else{UIkit.toggle("#offcanvas-nav").toggle()}}else{if(ProcessWire.config.adminTheme.logoAction==1){UIkit.toggle("#offcanvas-nav").toggle()}else{return true}}return false}};$(document).ready(function(){ProcessWireAdminTheme.ready()}); \ No newline at end of file +var ProcessWireAdminTheme={init:function(){this.setupInputfields();this.setupTooltips();this.checkLayout()},ready:function(){this.setupCloneButton();ProcessWireAdmin.init();this.setupSearch();this.setupSideNav();var b=$("body");$(document).on("wiretabclick opened",function(c){$("body").addClass("pw-fake-resize");$(window).resize();setTimeout(function(){$("body").removeClass("pw-fake-resize")},100)});$("a.notice-remove","#notices").click(function(){$("#notices").slideUp("fast",function(){$(this).remove()});return false});$("a.pw-logo-link").click(this.logoClickEvent);$("#_ProcessPageEditView").click(function(c){c.stopPropagation()});var a=null;$(window).resize(function(){if(a){return}a=setTimeout(function(){ProcessWireAdminTheme.windowResized();a=null},250)});this.setupMasthead();this.setupWireTabs();b.removeClass("pw-init").addClass("pw-ready")},setupWireTabs:function(){var a=$(".WireTabs");if(a.length){$(document).on("wiretabclick",function(b,c){ProcessWireAdminTheme.wireTabClick(c)});setTimeout(function(){var c=a.children(".uk-active");if(c.length){var b=$(c.find("a").attr("href"));if(b.length){ProcessWireAdminTheme.wireTabClick(b)}}},500)}},wireTabClick:function(a){if(!a.length){return}var d=null;var b=null;if(a.hasClass("InputfieldWrapper")){b=a.children(".Inputfields").children(".Inputfield:eq(0)");d=b.children(".InputfieldHeader")}else{if(a.hasClass("Inputfield")){b=a;d=a.children(".InputfieldHeader")}}if(!d||!d.length){return}var i=false;var c=["InputfieldIsPrimary","InputfieldIsWarning","InputfieldIsError","InputfieldIsHighlight","InputfieldIsSuccess"];for(var f=0;f-1){a=a.replace(/([?&]layout)=[-_a-zA-Z0-9]+/,"$1=sidenav-init")}else{a+=(a.indexOf("?")>0?"&":"?")+"layout=sidenav-init"}window.location.href=a}},windowResized:function(){if($("body").hasClass("pw-fake-resize")){return}this.setupMasthead()},setupMasthead:function(){var b=$("#pw-masthead");var e=$("#pw-masthead-mobile");var c=$(window).width();var a=0;var d=0;if(c>767){d=parseInt(b.data("pw-height"));a=b.children(".pw-container").height()}else{a=999}if(b.hasClass("uk-hidden")){b.removeClass("uk-hidden")}if(a>d){if(!b.hasClass("pw-masthead-hidden")){b.addClass("pw-masthead-hidden").css({position:"absolute",top:"-9999px"});e.removeClass("uk-hidden");$("#offcanvas-toggle").removeClass("uk-hidden")}}else{if(b.hasClass("pw-masthead-hidden")){e.addClass("uk-hidden");b.removeClass("pw-masthead-hidden").css({position:"relative",top:0});$("#offcanvas-toggle").addClass("uk-hidden")}}},setupCloneButton:function(){if($("body").is(".modal")){return}var c=$("button.pw-head-button, button.head_button_clone");if(c.length==0){return}var a=$("#pw-content-head-buttons");var e=null;var h=null;var d={};c.each(function(){var m=$(this);var k=m.parent("a");var j;if(k.length>0){j=m.parent("a").clone(true);a.prepend(j)}else{if(m.hasClass("pw-head-button")||m.hasClass("head_button_clone")){j=m.clone(true);j.attr("data-from_id",m.attr("id")).attr("id",m.attr("id")+"_copy").addClass("pw-head-button");j.click(function(){$("#"+$(this).attr("data-from_id")).click();return false});if(j.hasClass("pw-button-dropdown-toggle")){var l=j.attr("id").replace("pw-dropdown-toggle-","");d[l]=j}else{if(j.hasClass("pw-button-dropdown-main")){var i=$("").addClass("pw-button-dropdown-wrap");i.append(j).addClass("uk-float-right");a.prepend(i)}else{j.addClass("uk-float-right");a.prepend(j)}}}}});for(var g in d){var b=d[g];var f=$("#"+g);f.after(b)}},setupSearch:function(){$.widget("custom.adminsearchautocomplete",$.ui.autocomplete,{_renderMenu:function(c,a){var d=this;var b="";c.addClass("pw-dropdown-menu-shorter uk-nav uk-nav-default");c.css("z-index",9999);$.each(a,function(e,f){if(f.type!=b){if(b.length){$("
    • ").appendTo(c)}$("
    • "+f.type+"
    • ").addClass("uk-nav-header").appendTo(c);b=f.type}d._renderItemData(c,f)})},_renderItem:function(a,b){if(b.label==b.template){b.template=""}return $("
    • ").append(""+b.label+" "+b.template+"").appendTo(a)}});$(".pw-search-form").each(function(){var b=$(this);var c=b.find(".pw-search-input");var a={my:"right top",at:"right bottom"};if(b.closest(".uk-offcanvas-bar").length){a.my="left top";a.at="left bottom"}c.click(function(d){d.stopPropagation()});c.adminsearchautocomplete({minLength:2,position:a,search:function(d,e){b.find(".pw-search-icon").addClass("uk-hidden");b.find(".pw-spinner-icon").removeClass("uk-hidden")},open:function(d,e){},close:function(d,e){},source:function(f,d){var e=c.parents("form").attr("data-action")+"for?get=template_label,title&include=all&admin_search="+f.term;$.getJSON(e,function(h){var g=h.matches.length;if(g");b.append(c);$.getJSON(a,function(g){var i=e.clone();var f=i.find("i");if(!f.length){f=$("");i.prepend(f)}f.attr("class","fa fa-fw fa-arrow-circle-right pw-nav-icon");i.removeAttr("data-json").removeAttr("class");i.find("small").remove();var h=$("
    • ").addClass("pw-nav-dup").append(i);b.append(h);if(g.add){var h=$("
    • "+g.add.label+"
    • ");b.append(h)}$.each(g.list,function(k){if(this.label.indexOf("-1){this.label=this.label.replace(/<\/?span[^>]*>/g,"")}var q="";var r=$("
      "+this.label+"
      ");var s=r.text();if(s.length>30){var o=r.find("small");if(o.length){o.remove()}s=r.text();s=s.substring(0,30);var k=s.lastIndexOf(" ");if(k>3){s=s.substring(0,k)+"… "}r.html(s);if(o.length){r.append(o)}}s=r.html().replace(" "," ");if(this.icon){q=""}var j=this.url.indexOf("/")===0?this.url:g.url+this.url;var l=$(""+q+s+"");var p=$("
    • ").append(l);if(this.navJSON!="undefined"&&this.navJSON){l.addClass("pw-has-items pw-has-ajax-items").attr("data-json",this.navJSON);var m=$("
        ");p.addClass("uk-parent").append(m);UIkit.nav(m,{multiple:true})}if(typeof this.className!="undefined"&&this.className&&this.className.length){p.addClass(this.className)}if(p.hasClass("pw-nav-add")||p.hasClass("pw-pagelist-show-all")){b.children(".pw-nav-dup").after(p.removeClass("separator").addClass("pw-nav-add"))}else{b.append(p)}});c.remove();b.addClass("navJSON").addClass("length"+parseInt(g.list.length)).hide();if(b.children().length){b.css("opacity",1).fadeIn("fast")}});return false})},setupInputfields:function(){function f(){$("form.uk-form-horizontal").each(function(){$(this).find(".InputfieldContent > .Inputfields").each(function(){var i=$(this);i.addClass("uk-form-vertical");i.find(".uk-form-label").removeClass("uk-form-label");i.find(".uk-form-controls").removeClass("uk-form-controls")});$(this).find(".InputfieldSubmit, .InputfieldButton").each(function(){$(this).find(".InputfieldContent").before("
         
        ")})});$(".InputfieldNoBorder.uk-card").removeClass("uk-card uk-card-default");$(".InputfieldIsOffset.InputfieldColumnWidthFirst").each(function(){var j=$(this);var i;do{i=j.next(".InputfieldColumnWidth");if(!i.length||i.hasClass("InputfieldColumnWidthFirst")){break}i.addClass("InputfieldIsOffset");j=i}while(true)});$(".Inputfields").each(function(){b($(this))});$(".ui-widget.Inputfield, .ui-widget-header.InputfieldHeader, .ui-widget-content.InputfieldContent").removeClass("ui-widget ui-widget-header ui-widget-content");$(".MarkupPagerNav:not(.uk-pagination)").each(function(){$(this).addClass("uk-pagination")})}function b(i){$(".InputfieldRowFirst",i).removeClass("InputfieldRowFirst");$(".InputfieldRowLast",i).removeClass("InputfieldRowLast");var j=i.children(".Inputfield:not(.InputfieldStateHidden):eq(0)");if(!j.length){return}do{j.addClass("InputfieldRowFirst");j=j.next(".Inputfield:not(.InputfieldStateHidden)")}while(j.hasClass("InputfieldColumnWidth")&&!j.hasClass("InputfieldColumnWidthFirst"));j=i.children(".Inputfield:last-child");while(j.length&&j.hasClass("InputfieldStateHidden")){j=j.prev(".Inputfield")}do{j.addClass("InputfieldRowLast");if(!j.hasClass("InputfieldColumnWidth")||j.hasClass("InputfieldColumnWidthFirst")){break}j=j.prev(".Inputfield:not(.InputfieldStateHidden)")}while(j.hasClass("InputfieldColumnWidth"))}var e=[];function a(k,o){var j="uk-width-1-1";var i=j;var m=false;if(typeof k=="string"&&typeof o!="undefined"){i=k;m=true}else{if(!k||k>=100){i=j}else{if(typeof e[k]!="undefined"){i="uk-width-"+e[k]}else{for(var l in ProcessWire.config.ukGridWidths){var n=ProcessWire.config.ukGridWidths[l];l=parseInt(l);if(k>=l){i=n;break}}e[k]=i;i="uk-width-"+i}}}if(!m&&i!=j){i+="@m"}if(typeof o!="undefined"){if(o.hasClass(i)){}else{d(o);o.addClass(i)}}return i}function d(j){var k=null;if(typeof j!="string"){k=j;j=k.attr("class")}if(j.indexOf("uk-width-")>-1){var i=j.replace(/uk-width-(\d-\d|expand)[@smxl]*\s*/g,"");if(k!==null){k.attr("class",i)}}return j}function h(i){if(!i){return}var p=i.parent().children(".Inputfield");var q=null;var k=0;var o=0;var s=0;var l=0;var j=false;function t(u,w){if(!j){return}if(typeof w=="undefined"){w=i}var v=w.attr("id");v=v.replace("wrap_Inputfield_","");console.log(v+" (combined width="+k+", w="+s+"): "+u)}function n(u){if(typeof u=="undefined"){u=q}if(u){a("InputfieldColumnWidthLast uk-width-expand",u)}}function m(){if(j){t("A: hidden",i)}l+=s;k+=s;if(q&&k>=95){l+=o;if(j){t("Updating last visible Inputfield to width="+l,q)}a(l,q);k=0;l=0;o=0;q=null}else{o+=s}}function r(){if(j){t("Skipping because full-width",i)}if(k<100&&q){n(q)}q=null;o=0;l=0;k=0}p.each(function(){i=$(this);var x=false;var w=false;var v=i.hasClass("InputfieldColumnWidth");var u=!v||i.hasClass("InputfieldColumnWidthFirst");if(u&&q&&k<100){n(q)}s=v?parseInt(i.attr("data-colwidth")):0;if(!s||s>=95){r();return}if(i.hasClass("InputfieldStateHidden")){m();return}if(!k||k>=100){k=0;w=true;x=false;if(j){t("B: starting new row",i)}}else{if(k+s>100){if(q){n(q)}k=0;w=true;if(j){t("C: start new row because width would exceed 100%",i)}}else{if(k+s==100){x=true;if(j){t("D: width is exactly 100%, so this is the last column",i)}}else{if(k+s>=95){x=true;s=100-k;if(j){t("D2: width is close enough to 100%, so this is the last column",i)}}else{if(j){t("E: not first or last column",i)}}}}}if(x){i.addClass("InputfieldColumnWidthLast")}else{i.removeClass("InputfieldColumnWidthLast")}if(w){i.addClass("InputfieldColumnWidthFirst");o=0}else{i.removeClass("InputfieldColumnWidthFirst")}if(x){q=null;k=0;l=0;if(o){s+=o}o=0}else{q=i;k+=s;l=s}a(s,i)});if(k<100&&q){n(q)}}var g=null;var c=function(k,j){var i=$(j);if(k.type=="showInputfield"){i.removeClass("uk-hidden")}else{i.show();i.addClass("uk-hidden")}h(i);if(g){return}g=setTimeout(function(){b(i.closest(".Inputfields"));var l=i.find(".Inputfields");if(l.length){l.each(function(){b($(this))})}g=null},100)};$(document).on("reloaded",function(){f()});$(document).on("hideInputfield",c);$(document).on("showInputfield",c);$("body").addClass("InputfieldColumnWidthsInit");f()},setupTooltips:function(){$(".tooltip, .pw-tooltip").each(function(){$(this).removeClass("tooltip pw-tooltip");UIkit.tooltip($(this))})},linkTargetMainMouseoverEvent:function(){var b=$(this);var a=b.attr("href");if(a.length<2){return}if(b.attr("target")){return}if(b.parent("li").hasClass("PageListActionView")){b.attr("target","_top")}else{b.attr("target","main")}},logoClickEvent:function(){if($("body").hasClass("pw-layout-sidenav-init")){if($("#pw-admin-side").length){toggleSidebarPane()}else{UIkit.toggle("#offcanvas-nav").toggle()}}else{if(ProcessWire.config.adminTheme.logoAction==1){UIkit.toggle("#offcanvas-nav").toggle()}else{return true}}return false}};$(document).ready(function(){ProcessWireAdminTheme.ready()}); \ No newline at end of file diff --git a/wire/modules/Fieldtype/FieldtypeRepeater/FieldtypeRepeater.module b/wire/modules/Fieldtype/FieldtypeRepeater/FieldtypeRepeater.module index f7e36523..bdd618c0 100644 --- a/wire/modules/Fieldtype/FieldtypeRepeater/FieldtypeRepeater.module +++ b/wire/modules/Fieldtype/FieldtypeRepeater/FieldtypeRepeater.module @@ -609,6 +609,7 @@ class FieldtypeRepeater extends Fieldtype implements ConfigurableModule { if($value) { if($value instanceof Page) $value = array($value); foreach($value as $item) { + /** @var Page $item */ if($item->hasStatus(Page::statusUnpublished) && $item->hasStatus(Page::statusHidden) && $item->id