PageSourceSearch

https://www.shingle.com/scripts/ContentBuilder/content-builder-helpers.bundle.min.js

js shingle.com collected 2026-10-08 03:29:08 UTC 62,866 bytes, 2 lines download raw bytes

1var GalleryEditor=function(e){var r=this;this.cbElement=e,this.startGalleries=function(){$("#GalleryEditModal").length||r.addModal(),document.galleryNum=0,document.galleryInterval=setInterval(function(){var e=$(".cb-gallery:not(.slick-initialized, .slick-editing, .slick-moving)");$.each(e,function(e,t){var i=$(t),a=0;i.attr("gallery-id")?a=i.attr("gallery-id"):(a=++document.galleryNum,i.attr("gallery-id",document.galleryNum)),i.find("figcaption").each(function(){$(this).attr("contenteditable",!1)}),r.RecursiveUnbind(i);t=i.parent(),a=$('<button class="btn btn-success edit-gallery" data-gallery="'+a+'"><i class="bi bi-pencil-fill"></i> Edit</button>').on("click",function(){r.editGallery(this)});0<t.find(".gallery-ctrl-div").length?$(t.find(".gallery-ctrl-div")[0]).append(a):t.append($('<div class="gallery-ctrl-div"></div>').append(a)),i.slick(JSON.parse(i.attr("data-slick")));a=i.closest(".ui-draggable");a.find(".row-html").hide(),a.find(".row-handle").on("mousedown",function(){document.movingGallery=!0,i.addClass("slick-moving"),r.unSlickify(i,!0),$(document).on("mouseup.galleryMove",function(){document.movingGallery&&(i.removeClass("slick-moving"),document.movingGallery=!1,$(this).off("mouseup.galleryMove"),i.find(".cb-gallery-slide").each(function(e,t){$(t).removeClass("collapse")}))})}),a.find(".row-copy").show(),a.find(".row-copy").bindFirst("click",function(e){e.stopPropagation(),r.unSlickify(i,!1),r.refreshBuilder()})})},200),$.fn.bindFirst=function(e,t){var i,a,n;for(this.bind(e,t),a=0,n=this.length;a<n;a++)i=this[a],(i=jQuery._data(i).events[e.split(".")[0]]).unshift(i.pop())}},this.editGallery=function(e){var t=$(e).data("gallery"),i=$($('[gallery-id="'+t+'"]')[0]);i.addClass("slick-editing"),i.slick("unslick");var s=$("<button class='btn btn-success toggle-caption' title='Add/Remove Image Caption' data-gallery='"+t+"'><i class='bi bi-chat'></i> Caption</button>"),o=$("<button class='btn btn-danger delete-slide' title='Delete Slide' data-gallery='"+t+"'><i class='bi bi-x-lg'></i></button>"),l=$("<div class='reorder-slide-container'><button class='btn btn-info slide-up' title='Move Slide Up' data-gallery='"+t+"'><i class='bi bi-chevron-up'></i></button><button class='btn btn-info slide-down' title='Move Slide Down' data-gallery='"+t+"'><i class='bi bi-chevron-down'></i></button></div>"),a=i.find(".cb-gallery-slide");$.each(a,function(e,t){var i=$(t),a=s.clone(!0),n=o.clone(!0),t=l.clone(!0);i.append(a),i.append(n),i.append(t)}),r.retargetSlides();var n=$(i.parent().find(".gallery-ctrl-div")[0]),a=$('<button class="btn btn-warning preview-gallery" data-gallery="'+t+'"><i class="bi bi-image"></i> Preview</button>').on("click",function(){r.previewGallery($(this).data("gallery"))});n.append(a);t=$('<button class="btn btn-success add-slide" data-gallery="'+t+'"><i class="bi bi-plus-lg"></i> Add Slide</button>').on("click",function(){r.addSlide(this)});n.append(t);t=$('<button type="button" class="btn btn-primary gallery-settings" data-bs-toggle="modal" data-bs-target="#GalleryEditModal"><i class="bi bi-gear-fill"></i> Settings</button>');n.append(t),r.setupControlPanel(i.attr("gallery-id")),$(e).remove(),i.closest(".ui-draggable").find(".row-copy").hide(),r.refreshBuilder(),i.find("figcaption").each(function(){$(this).attr("contenteditable",!0)}),i.find("button").each(function(){$(this).attr("contenteditable",!1)})},this.setupControlPanel=function(e){var t=$('[gallery-id="'+e+'"]').first(),i=$("#GalleryEditModal"),e=JSON.parse(t.attr("data-slick")),a=i.find(".AutoPlay"),n=i.find(".auto-speed-div"),s=i.find(".AutoSpeed"),o=i.find(".ShowDots"),l=i.find(".SlidesToShow"),r=i.find(".SlidesToScroll");a.val(e.autoplay),e.autoplay?(a.prop("checked",!0),n.show()):(a.prop("checked",!1),n.hide()),a.on("change",function(){a.prop("checked")?n.slideDown(100):n.slideUp(100)}),s.val(e.autoplaySpeed/1e3),o.value=e.dots,e.dots?o.prop("checked",!0):o.prop("checked",!1),l.val(e.slidesToShow),r.val(e.slidesToScroll),i.find(".save-changes").on("click",function(){var e=JSON.parse(t.attr("data-slick"));a.prop("checked")?e.autoplay=!0:e.autoplay=!1,e.autoplaySpeed=1e3*s.val(),e.slidesToShow=parseInt(l.val()),e.slidesToScroll=parseInt(r.val()),o.prop("checked")?e.dots=!0:e.dots=!1,t.attr("data-slick",JSON.stringify(e))})},this.addSlide=function(e){var t=$(e).data("gallery"),e=$($('.slick-editing[gallery-id="'+t+'"]')[0]),t=r.scrubSlide(e.find(".cb-gallery-slide:first-of-type").clone(),t);e.append(t),r.retargetSlides(),r.refreshBuilder()},this.previewGallery=function(e){e=$('[gallery-id="'+e+'"]')[0];$(e).removeClass("slick-editing"),$(e).find(".toggle-caption").remove(),$(e).find(".delete-slide").remove(),$(e).find(".reorder-slide-container").remove(),$(e).parent().find(".gallery-settings").remove(),$(e).parent().find(".add-slide").remove(),$(e).parent().find(".preview-gallery").remove(),$(e).find("figcaption").each(function(){$(this).attr("contenteditable",!1)}),r.refreshBuilder()},this.deleteSlide=function(e){var t=$($('[gallery-id="'+$(e).data("gallery")+'"]')[0]),i=t.find(".cb-gallery-slide");1==i.length?t.closest(".ui-draggable").find(".row-remove").trigger("click"):$(i[$(e).data("slide")]).remove(),r.retargetSlides()},this.slideUp=function(e){var t=$($('[gallery-id="'+$(e).data("gallery")+'"]')[0]).find(".cb-gallery-slide"),e=$(e).data("slide");$(t[e-1]).before(t[e]),r.retargetSlides()},this.slideDown=function(e){var t=$($('[gallery-id="'+$(e).data("gallery")+'"]')[0]).find(".cb-gallery-slide"),e=$(e).data("slide");$(t[e]).before(t[e+1]),r.retargetSlides()},this.toggleCaption=function(e){var t=$($('[gallery-id="'+$(e).data("gallery")+'"]')[0]),i=t.find(".cb-gallery-slide"),a=$(i[$(e).data("slide")]),i=a.find(".caption-container");0<i.length?(r.toggleCaptionColors(e,!1),a.find("figure").removeClass("hdr-no-zoom"),$(i).remove()):(r.toggleCaptionColors(e,!0),a.find("figure").addClass("hdr-no-zoom"),i=$("<div class='caption-container'><figcaption><h2>
1Slide Caption</h2><p>Here's the SubCaption</p></figcaption></div>"),(0<t.closest(".left-gallery").length||0<t.closest(".right-gallery").length)&&(i=$("<div class='caption-container'><figcaption><p class='image-title image-title-right'>caption text</div></figcaption></p>")),$(a.find("figure")[0]).append(i)),r.refreshBuilder()},this.toggleCaptionColors=function(e,t){var i="btn-danger",a="bi-slash-circle",n="btn-success",s="bi-chat-text";t?($(e).addClass(i).removeClass(n),$(e).find("i").addClass(a).removeClass(s)):($(e).addClass(n).removeClass(i),$(e).find("i").addClass(s).removeClass(a))},this.retargetSlides=function(){var e=$(".cb-gallery");$.each(e,function(e,t){var s=$(t).find(".cb-gallery-slide");$.each(s,function(e,t){var i=$(t),a=i.find(".toggle-caption").data("slide",e).off(),n=$(i.find(".slide-up")).off().data("slide",e),t=$(i.find(".slide-down")[0]).off().data("slide",e);i.find(".delete-slide").data("slide",e).off().on("click",function(){r.deleteSlide(this)}),r.toggleCaptionColors(a,0<i.find(".caption-container").length),a.on("click",function(){r.toggleCaption(this)}),0<e?n.show().on("click",function(){r.slideUp(this)}):n.hide(),e<s.length-1?t.show().on("click",function(){r.slideDown(this)}):t.hide()})})},this.refreshBuilder=function(){window.cbi&&"contentbox"==window.cbi.__cbEditorType?this.cbElement.data(cbi.__cbEditorType).applyBoxBehavior():this.cbElement.data("contentbuilder").applyBehavior()},this.removeGalleriesForSave=function(){document.galleryInterval&&clearInterval(document.galleryInterval);var e=$(".cb-gallery:not(#temp-contentbuilder .cb-gallery)");$.each(e,function(e,t){r.unSlickify($(t),!1)}),r.refreshBuilder()},this.unSlickify=function(e,t){null==t&&(t=!1),e.removeAttr("gallery-id"),e.hasClass("slick-initialized")&&e.slick("unslick"),e.removeClass("slick-editing"),e.parent().find(".gallery-ctrl-div").remove(),e.parent().find(".delete-slide").remove(),e.parent().find(".toggle-caption").remove(),e.parent().find(".reorder-slide-container").remove(),t&&e.find(".cb-gallery-slide").each(function(e,t){0!=e&&$(t).addClass("collapse")})},this.scrubSlide=function(e,t){return $(e).find(".caption-container").remove(),$(e).find("figure").removeClass("hdr-no-zoom"),$(e.find("img")[0]).attr("src","/content/assets/images/water.jpg"),$(e.find(".delete-slide")[0]).attr("data-gallery",t),$(e.find("figcaption")[0]).html("<h2>New Slide</h2><p>Here's your new slide</p>"),e},this.RecursiveUnbind=function(e){e.unbind(),e.off(),e.children().each(function(){r.RecursiveUnbind($(this))})},this.addModal=function(){$("body").append('<div class="modal fade content-modal slider-settings-modal" id="GalleryEditModal" tabindex="-1" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header">Slider Settings</div><div class="modal-body"><div class="row form form-horizontal"><div class="col-5"><div class="form-group row"><label class="col-8 control-label" for="AutoPlay">Auto play</label><div class="checkbox col-4 text-end"><input type="checkbox" class="AutoPlay"></div></div><div class="form-group auto-speed-div row"><label class="col-8 control-label" for="AutoSpeed">Slide Duration <small>(seconds)</small></label><div class="col-4"><input type="number" class="form-control AutoSpeed" min="2" max="10" step="0.5"></div></div><div class="form-group row"><label class="col-8 control-label" for="AutoPlay">Show Page Dots</label><div class="checkbox col-4 text-end"><input type="checkbox" class="ShowDots"></div></div></div><div class="col-2"></div><div class="col-5"><div class="form-group row"><label class="col-8 control-label" for="SlidesToShow">Slides to Show</label><div class="col-4"><input type="number" class="form-control SlidesToShow" min="1" max="4" step="1" ></div></div><div class="form-group row"><label class="col-8 control-label" for="SlidesToScroll">Slides to Scroll</label><div class="col-4"><input type="number" class="form-control SlidesToScroll" min="1" max="4" step="1"></div></div></div></div></div><div class="modal-footer text-end"><button type="button" class="btn btn-primary save-changes" data-bs-dismiss="modal"><i class="bi bi-save"></i> Save changes</button></div></div></div></div>')}}
1,ImageResizer=function(t){(resizer=this).settingsButton=$('<button type="button" class="btn btn-default settings-button collapse" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="<div><div class=\'btn-group form-group\'>'+"<button class='btn btn-sm btn-default' id='imageSmall'>Small</button><button class='btn btn-sm btn-default' id='imageMedium'>Medium</button><button class='btn btn-sm btn-default' id='imageLarge'>Large</button></div><div class='row'><div class='col-10'><div class='input-group form-group'><label class='input-group-text' for='widthBox'>Width</label><input type='text' id='widthBox' class='form-control'></div><div class='input-group form-group'><label class='input-group-text' for='heightBox'>Height</label><input type='text' id='heightBox' class='form-control'></div><div class='form-group no-margin'><button type='button' id='imgEditSubmit' class='btn btn-sm btn-info btn-block'>Apply</button></div></div><div class='col-2'><div><button type='button' title='Lock image size ratio.' id='imgRatioLock' class='btn btn-xs btn-default active' data-status='locked'><i class='bi bi-link-45deg'></i></button></div></div></div></div>\" data-bs-html=\"true\"><i class=\"bi bi-gear-fill\"></i></button>"),this.imageSizer=$('<span class="size-preview collapse"></span>'),this.imageResizerLeft=$('<span class="resizer resizer-left"><i class="bi bi-arrows-angle-expand"></i></span>'),this.imageResizerRight=$('<span class="resizer resizer-right"><i class="bi bi-arrows-angle-expand"></i></span>'),this.minimumImageSize=50,this.init=function(){$("body").append(resizer.settingsButton).append(resizer.imageSizer).append(resizer.imageResizerLeft).append(resizer.imageResizerRight),$("body").on("mouseup",".popover",function(){$(this).data("isClicked",!0)}),resizer.settingsButton.popover({sanitize:!1}),resizer.settingsButton.on("mouseup",function(){$(this).data("isClicked",!0)}),resizer.settingsButton.on("hide.bs.popover",function(e){$(this).data("isOpen",!1)}),resizer.settingsButton.on("show.bs.popover",function(e){$(this).data("isOpen",!0)}),resizer.settingsButton.on("shown.bs.popover",function(e){var t=$("body").data("active-resizer-element");$("#widthBox").val(t.css("width")),$("#heightBox").val(t.css("height"))});function t(){var e=$("body").data("active-resizer-element");e.data("changed",!0),resizer.updateReverts(e),resizer.updateResizerButtonPositions(e)}$("body").on("click","#imageSmall",function(){resizer.updateImage("30%",null),t()}).on("click","#imageMedium",function(){resizer.updateImage("60%",null);$("body").data("active-resizer-element");t()}).on("click","#imageLarge",function(){resizer.updateImage("100%",null),t()}).on("click","#imgEditSubmit",function(){resizer.updateImage($("#widthBox").val(),$("#heightBox").val()),t()}).on("click","#imgRatioLock",function(){$(this).toggleClass("active"),$(this).attr("data-status",$(this).is(".active")?"locked":"unlocked")}).on("click","#imageSmall, #imageMedium, #imageLarge, #imgEditSubmit",function(){resizer.setChanged(!0)}).on("keyup.widthChange","#widthBox",function(e){var t,i;"locked"==$("#imgRatioLock").attr("data-status")&&(i=$("body").data("active-resizer-element"),t=parseInt($(this).val().replace(/[^0-9]/g,"")),i=i.height()/i.width(),$("#heightBox").val(NaN==t?"":Math.floor(t*i)+"px"))}).on("keyup.heightChange","#heightBox",function(e){var t,i;"locked"==$("#imgRatioLock").attr("data-status")&&(i=$("body").data("active-resizer-element"),t=parseInt($(this).val().replace(/[^0-9]/g,"")),i=i.width()/i.height(),$("#widthBox").val(NaN==t?"":Math.floor(t*i)+"px"))}).on("keyup.widthOrHeight","#widthBox, #heightBox",function(e){var t;e=e,window.event?t=e.keyCode:e.which&&(t=e.which),13===t&&$("#imgEditSubmit").trigger("click")}).on("click",'[contenteditable="true"] img:not(.cb-gallery img, .hdr img)',function(){var u,m,e,t,g=$(this);g.data("isDown")||$(".updating").is(":visible")||$("#contentBuilder.saving").length||(u=parseInt(g.css("padding-left").replace("px","")),m=parseInt(g.css("padding-right").replace("px","")),g.position(),e=g.offset(),t=0<$(".resizer:visible").length,g.data("clone")||g.data("clone",g.clone()),t||(resizer.setImageResizerPositions(e,g,u,m),"left"!=(t=g.css("text-align"))&&"start"!=t&&resizer.imageResizerLeft.show(),"right"!=t&&"end"!=t&&resizer.imageResizerRight.show(),resizer.setSettingsButtonPosition(e,u,g.width()),resizer.settingsButton.show(),resizer.setImageSizerPosition(e,u),resizer.setImageSizerText(g),resizer.imageSizer.show(),$.each([resizer.imageResizerLeft,resizer.imageResizerRight,resizer.settingsButton,resizer.imageSizer],function(e,t){t.css({zIndex:100})})),$("body").data("active-resizer-element",g),$("body").on("mousedown.resize",".resizer",function(e){var l,r,d,c;1===e.which&&($(".settings-button").data("isOpen")&&$(".settings-button").trigger("click"),g.data("changed",!0),g.data("isDown",!0),e=e||window.event,(e=jQuery.event.fix(e)).preventDefault(),l=$(this).is(".resizer-left"),r=[e.pageX,e.pageY],d=g.height(),c=g.width(),$("body").on("mousemove.resize",function(e){e=e||window.event,e=jQuery.event.fix(e);var t=null,i=null,a=(g.position(),g.offset()),n=(g.height(),g.width()),i=l?r[0]-e.pageX+c:e.pageX-r[0]+c,s=d/c,o=s<1?resizer.minimumImageSize:resizer.minimumImageSize*s,e=o*(c/d);g.inlineStyle("height")&&(t=i*s),g.data("isDown")&&$("#contentBuilder").ismouseover()&&(g.css({width:(e<i?i:e)+u+m+"px"}),t&&(t=Math.max(o,Math.min(n*s,t)),g.css({height:t+"px"}))),resizer.setImageResizerPositions(a,g,u,m),resizer.setImageSizerPosition(a,u),resizer.setImageSizerText(g),resizer.setSettingsButtonPosition(a,u,g.width()),resizer.updateReverts()}))}))}).on("blur",'[contenteditable="true"] img:not(.cb-gallery img, .hdr img)',function(){var t=$(this);jQuery.mlp={x:e.pageX,y:e.pageY},t.ismouseover()||t.data("isDown")||$(".settings-button").ismouseover()||resizer.clearHovers()}),$("body").on("mouseup",function(){$("body").data("resizer-popover-click")||resizer.clearHovers()}).on("mousedown",function(){$("body").data("resizer-popover-click",$(".popover").ismouseover())}).on("click",".revert-img-size",function(){var e,t=$(this).data("assignedImg");t&&(e=t.data("clone"),t.attr("style",e.attr("style")||""),t.data("hasRevert",!1),t.data("changed",!1),t.trigger("mouseleave"),resizer.updateReverts()),$(this).remove()}),$.mlp={x:0,y:0},$(function(){(this===document?$(this):$(this).contents()).mousemove(function(e){jQuery.mlp={x:e.pageX,y:e.pageY}})}),$.fn.ismouseover=function(i){var a=!1;return this.eq(0).each(function(){var e=i||$(this),t=e.offset();a=t.left<=$.mlp.x&&t.left+e.outerWidth()>$.mlp.x&&t.top<=$.mlp.y&&t.top+e.outerHeight()>$.mlp.y}),a},$.fn.inlineStyle=function(e){return this.prop("style")[$.camelCase(e)]}},this.updateResizerButtonPositions=function(e){var t=e.offset(),i=parseInt(e.css("padding-left").replace("px","")),a=parseInt(e.css("padding-right").replace("px",""));resizer.setImageResizerPositions(t,e,i,a),resizer.setSettingsButtonPosition(t,i,e.width()),resizer.setImageSizerPosition(t,i),$(".settings-button").data("isOpen")&&(i=$(".settings-button")[0],bootstrap.Popover.getInstance(i).update())},this.updateReverts=function(){$("img","#contentBuilder").each(function(e,t){var i,a=$(t),n=a.offset(),t=parseInt(a.css("padding-left").replace("px",""));!a.data("hasRevert")&&a.data("changed")?(a.data("hasRevert",!0),(i=$('<span class="btn btn-default btn-xs revert-img-size"><i class="bi bi-arrow-clockwise"></i> Undo Resize</span>')).data("assignedImg",a),$("body").append(i),a.data("assignedRevert",i)):a.data("assignedRevert")&&(i=a.data("assignedRevert")),i&&i.css({left:n.left+t+a.width()/2-i.outerWidth()/2,to
1p:n.top+a.height()-i.outerHeight()-10,zIndex:100})})},this.setSettingsButtonPosition=function(e,t,i){this.settingsButton.css({left:e.left+t+i-this.settingsButton.outerWidth()-10,top:e.top+10})},this.setImageSizerPosition=function(e,t){this.imageSizer.css({left:e.left+t+5,top:e.top+5})},this.setImageSizerText=function(e){this.imageSizer.text(e.outerWidth()+"x"+e.outerHeight())},this.setImageResizerPositions=function(e,t,i,a){var n=t.height(),i={x:e.left+i,y:e.top+n},a=e.left+t.outerWidth()-a,n=e.top+n;this.imageResizerLeft.css({left:i.x,top:i.y-this.imageResizerLeft.height()}),this.imageResizerRight.css({left:a-this.imageResizerRight.width(),top:n-this.imageResizerRight.height()})},this.clearHovers=function(){var e=$(".settings-button"),t=$(".popover");e.data("isClicked")?e.data("isClicked",!1):t&&t.data("isClicked")?t.data("isClicked",!1):((t=$("body")).off("mousemove.resize"),t.off("mousedown.resize"),$(".resizer").hide(),resizer.imageSizer.hide(),e.hide(),e.data("isOpen")&&e.trigger("click"),$('[contenteditable="true"] img').each(function(e,t){$(t).data("isDown",!1),$(t).ismouseover()&&$(t).trigger("mouseenter")}))},this.updateImage=function(e,t){t=t||"";var i=$("body").data("active-resizer-element");i.css({width:e,height:t});var a=i.css("width"),e=i.css("height");i.css({width:a,height:t?e:""}),$("#widthBox").val(i.css("width")),$("#heightBox").val(i.css("height")),resizer.removeReverts()},this.setChanged=function(e){$("body").data("active-resizer-element").data("changed",e),$("body").trigger("mousemove")},this.removeResizerElements=function(){$(".resizer").remove(),$(".revert-img-size").remove()},this.setDisplaySizes=function(e){},this.removeReverts=function(){$(".revert-img-size").each(function(e,t){var i=$(t).data("assignedImg");i.data("assignedRevert",null),i.data("hasRevert",!1),$(t).remove()})}},YouzignHelper=function(){var o=this;this.credStorageName="YouzignCreds",this.thumbnailDataName="ImageData",this.activeImageClass="active-youzign",this.credentials=null,this.imageData=null,this.lastImageGrab=null,this.youzignApiBase="https://www.youzign.com/api",this.webAllianceApiBase="/api/v1/admin/contentbuilder",this.loaderDiv='<div class="h2 text-center"><i class="wa-spinner wa-spinner-xl"></i> Contacting Youzign...</div>',this.init=function(){o.hasStoredCredentials()?o.credentials=o.getStoredCredentials():$.get(o.webAllianceApiBase+"/YouzignCreds",function(e){e&&(e={key:e.Key,token:e.Token},o.storeCredentials(e),o.credentials=e)}),o.setListeners(),$("body").append('<button id="YouzignSelector" title="Youzign Images"><img src="/content/assets/icons/youzign.png" /></button>')},this.hasStoredCredentials=function(){return sessionStorage.getItem(o.credStorageName)},this.storeCredentials=function(e){sessionStorage.setItem(o.credStorageName,btoa(JSON.stringify(e)))},this.getStoredCredentials=function(){return JSON.parse(atob(sessionStorage.getItem(o.credStorageName)))},this.showAllImages=function(){o.credentials?($("#everywhere-modal").initModal({size:"large",header:"Youzign Images",body:'<div id="YouzignThumbs">'+o.loaderDiv+"</div>",footerButtons:[$('<a class="btn btn-success pull-left" target="_blank" href="https://youzign.com/editors/index.php?action=create&type=custom-size"><i class="bi bi-plus-lg"></i> Create</a>').on("click",function(){$(this).closest(".modal").modal("hide")}),$('<button class="btn btn-default pull-left" data-bs-dismiss="modal"><i class="bi bi-key-fill"></i> Manage Credentials</button>').on("click",function(){o.handleCredentials()})],centerFooterButtons:!0,footerCloseButtonClass:"btn-default pull-right",footerCloseButtonText:'<i class="bi bi-x-lg"></i> Cancel'}),o.imageData&&(new Date).getTime()-o.lastImageGrab.getTime()<3e5?setTimeout(function(){o.handleShowAllData(o.imageData)},1e3):$.post(o.youzignApiBase+"/designs/",o.credentials).done(function(e){e.error?($("#YouzignThumbs").closest(".modal").modal("hide"),$("#everywhere-modal").alert("Something went wrong. Please try again.")):(o.imageData=e,o.lastImageGrab=new Date,o.handleShowAllData(e))})):o.handleCredentials(!0)},this.handleCredentials=function(n){$("#everywhere-modal").confirm({header:"Provide Youzign Credentials",body:'<div class="form"><div class="alert alert-warning"><p>Youzign is an online serice that allows you to create and host images/graphics. Use this integration to easily access your Youzign hosted files.</p><small style="margin-bottom: -10px;margin-top: 10px;text-align: right;display: block;">Youzign is not a part of WebAlliance</small></div><div class="alert alert-info"><p>Users can retrieve their API keys from their Youzign profile page (accessible <strong><a href="https://youzign.com/profile" target="_blank">here</a></strong>).</p></div><div class="form-group"><label for="YouzignKey">API Key</label><input type="text" class="form-control" id="YouzignKey" placeholder="Youzign API Key" value="'+(o.credentials?o.credentials.key:"")+'" /></div><div class="form-group"><label for="YouzignToken">User Token</label><input type="text" class="form-control" id="YouzignToken" placeholder="Youzign User Token" value="'+(o.credentials?o.credentials.token:"")+'" /></div><div class="form-group"><div class="form-check"><input type="checkbox" id="YouzignRemember" checked class="form-check-input"><label for="YouzignRemember" class="form-check-label"> Remember Credentials</label></div></div><div class="alert alert-danger collapse" id="ErrorMessage"><p>Both the key and the token are required in order to connect with Youzign.</p></div><div class="collapse" id="GetCredentialsLoader">'+o.loaderDiv+"</div></div>",confirmText:"Submit",confirmDismissModal:!1,confirmMethod:function(){$("#ErrorMessage").hide();var t,e=$("#YouzignKey").val(),i=$("#YouzignToken").val(),a=$("#YouzignRemember").is(":checked");e&&i?($("#GetCredentialsLoader").show(),t={key:e,token:i},$.post(o.youzignApiBase,t,function(e){$("#GetCredentialsLoader").hide(),e.authenticated?(o.storeCredentials(t),o.credentials=t,a?$.post(o.webAllianceApiBase+"/saveYouzignCredentials",t,function(){}):$.get(o.webAllianceApiBase+"/forgetYouzignCredentials",function(){}),$("#YouzignKey").closest(".modal").modal("hide"),n&&o.showAllImages()):e.error?$("#everywhere-modal").alert(e.error):$("#everywhere-modal").alert("Something has gone wrong. Please refresh and try again.")})):$("#ErrorMessage").show()}})},this.handleShowAllData=function(e){var a=$("#YouzignThumbs");a.empty(),$.each(e,function(e,t){var i;"Video"!==t.template_type&&t.image_sizes.thumbnail&&t.image_sizes.thumbnail.length&&((i=$('<div class="thumbnail-container" title="{{Title}}"><img src="{{Source}}" name="{{Title}}" alt="{{Title}}" class="youzign-thumb" /><div class="thumbnail-overlay"><span class="thumbnail-title">{{Title}}</span></div></div>'.replace("{{Source}}",t.image_sizes.thumbnail[0]).replace(/{{Title}}/g,t.title))).data(o.thumbnailDataName,t),a.append(i))})},this.setListeners=function(){$("body").on("click.youzign-thumb",".thumbnail-container",function(){var e=$
1(this).data(o.thumbnailDataName);o.handleThumbnailClick(e)}),$("body").on("hover.imageHover",'[contenteditable="true"] img:not(.cb-gallery img), .cb-gallery.slick-editing img',function(e){"mouseenter"===e.type&&(e=$("#divToolImg").position(),$("#YouzignSelector").css({top:e.top+35,left:e.left}).stop().hide().fadeIn(20))}),$("body").on("click.credentialManager","#ManageCredentials",function(){o.handleCredentials()}),$("body").on("click.openYouzign","#YouzignSelector",function(){$('[contenteditable="true"] img:not(.cb-gallery img), .cb-gallery.slick-editing img').each(function(){$(this).ismouseover()?$(this).addClass(o.activeImageClass):$(this).removeClass(o.activeImageClass)}),o.showAllImages()}),$.fn.ismouseover=function(i){var a=!1;return this.eq(0).each(function(){var e=i||$(this),t=e.offset();a=t.left<=$.mlp.x&&t.left+e.outerWidth()>$.mlp.x&&t.top<=$.mlp.y&&t.top+e.outerHeight()>$.mlp.y}),a}},this.handleThumbnailClick=function(t){var e=o.buildImageSizeOptionString(t.image_sizes),i=(i='<div id="YouzignImport"><div class="row"><div class="col-12 text-center"><div class="form-group"><h3>{{ImageName}}</h3><img src="{{ImageSrc}}" class="youzign-import-preview"></div></div></div><div class="row"><div class="col-12 text-center"><div class="form-group no-margin"><select id="YousignSizeOptions" class="form-control"><option value="" disabled hidden selected>Select Size</option>{{Options}}</select></div></div></div></div>').replace("{{ImageName}}",t.title).replace("{{ImageSrc}}",o.getPreviewImgUrl(t)).replace("{{Options}}",e);$("#everywhere-modal").confirm({header:"Import Youzign Image",body:i,confirmText:"Import",confirmDismissModal:!1,confirmButtonClass:"btn-success",cancelButtonClass:"btn-default",confirmMethod:function(){var e=$
1("#YousignSizeOptions").val();e?o.setBase64FromImageUrl(t.image_sizes[e][0],$("img.active-youzign").eq(0),t.title+"-"+t.id+"-"+e)?($("#YouzignImport").closest(".modal").modal("hide"),$("#YouzignThumbs").closest(".modal").modal("hide"),$("."+o.activeImageClass).removeClass(o.activeImageClass)):$("#everywhere-modal").alert("<p>Something went wrong, please try again.</p>"):$("#YousignSizeOptions").off("change").on("change",function(){$(this).parent().removeClass("has-danger")}).parent().addClass("has-danger")}})},this.getPreviewImgUrl=function(e){return(e.image_sizes.medium||e.image_src)[0]},this.buildImageSizeOptionString=function(e){var t="";return e.large&&(t+=o.fillOptionTemplate("large","Large",e.large[1],e.large[2])),e.medium_large&&(t+=o.fillOptionTemplate("medium_large","Medium Large",e.medium_large[1],e.medium_large[2])),e.medium&&(t+=o.fillOptionTemplate("medium","Medium",e.medium[1],e.medium[2])),e.thumbnail&&(t+=o.fillOptionTemplate("thumbnail","Thumbnail",e.thumbnail[1],e.thumbnail[2])),t},this.fillOptionTemplate=function(e,t,i,a){return'<option value="{{Size}}">{{SizeName}} ({{Width}}x{{Height}})</option>'.replace("{{Size}}",e).replace("{{SizeName}}",t).replace("{{Width}}",i).replace("{{Height}}",a)},this.guid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})},this.setBase64FromImageUrl=function(i,a,n){try{var e=new Image;if(e.setAttribute("crossOrigin","anonymous"),!i||!a||!a.length)return!1;n=n||guid();var s=$(a).attr("src");return $(a).attr("src","/images/Misc/loading.gif").addClass("youzign-image-loading"),e.onerror=function(e){o.handleImageFail(a,s,i)},e.onload=function(){try{var e=document.createElement("canvas");e.width=this.width,e.height=this.height,e.getContext("2d").drawImage(this,0,0);var t=e.toDataURL("image/png");$(a).attr("src",t).data("filename",n).removeClass("youzign-image-loading")}catch(e){return o.handleImageFail(a,s,i),!1}},e.src=i,!0}catch(e){return o.handleImageFail(a,s,i),!1}},this.handleImageFail=function(e,t,i){$("#everywhere-modal").alert('<p>Something went wrong collecting the image from Youzign. Please try again.</p><div class="alert alert-info"><p>Some browsers block these images if they are smaller than 400x300. If the issue persists please download the image from Youzign directly and upload it here or in the file manager.</p><p>The image you were trying to reach can be found <a href="'+i+'" target="_blank">here</a></p></div>'),$(e).attr("src",t).removeClass("youzign-image-loading")},this.init()},FormHelper=function(){var s=this;this.uninitializedClass="form-builder-uninitialized",this.formBuilderDivClass="form-builder-form",this.formBuilderParentDivClass="form-builder-parent",this.helperDivClass="form-builder-helper",this.helperPreviewDivClass="form-builder-helper-preview",this.formLoadingText="Loading Forms",this.snippetTemplate="[InsertForm:{{FormName}}]",this.selectedFormAttrText="data-selected-form",this.loaderDiv='<div class="h2 text-center"><i class="wa-spinner wa-spinner-xl"></i> {{Text}}...</div>',this.formSelectorId="FormSelector",this.init=function(){$("body").off("click.form-selector").on("click.form-selector",".form-selector",function(){s.openSelectFormModal($(this))}).off("click.form-menu-link").on("click.form-menu-link",".form-menu-link a",function(){var e,t=$(this).closest("li").data("form-name");t&&((e=$("."+s.formBuilderParentDivClass)).find("."+s.formBuilderDivClass).attr(s.selectedFormAttrText,t).html(s.createInsertSnippet(t)),s.loadPreview(e)),$(this).closest(".modal").modal("hide")}).off("mouseenter.clearContentEditables").on("mouseenter.clearContentEditables","."+s.helperDivClass,function(){$('.custom-cb-form [contenteditable="true"]').attr("contenteditable",null)})}
1,this.handleNewDrops=function(){var e=$("."+this.uninitializedClass);e.length&&(1<$("."+s.formBuilderDivClass).length?(s.alert({body:"<h3>There can only be one form on the page at a time</h3>",type:"warning",modalIcon:"exclamation"}),e.closest(".cb-snippet").remove()):(e.removeClass(this.uninitializedClass),s.initializeElements()))},this.openSelectFormModal=function(e){this.confirm({body:'<div id="'+s.formSelectorId+'">'+s.buildLoader(s.formLoadingText)+"</div>",onLoad:function(){s.getForms($("#"+s.formSelectorId),s.getSelectedFormName())},size:"medium",header:"Add a Form",classes:"add-form-modal",keepFooter:!1,type:"success",disableBackgroundClick:!1})},this.getSelectedFormName=function(){var e=$("."+s.formBuilderDivClass);return e.length?e.attr(s.selectedFormAttrText):null},this.loadPreview=function(e){var t=e.find("."+s.helperPreviewDivClass);t.length||(t=$('<div class="'+s.helperPreviewDivClass+'"></div>'),e.append(t));e=e.find("."+s.formBuilderDivClass).attr(s.selectedFormAttrText);e?this.getFormPreview(t,e):$("."+s.helperDivClass).show()},this.getFormPreview=function(t,e){t.html(s.buildLoader("Loading Preview")),this.get("/api/v1/admin/contentbuilder/GetFormPreview?formName="+e,function(e){t.html(e),t.closest(".custom-cb-form").addClass("has-preview")},function(){t.html('<h3 class="text-center text-danger">Could not load preview.</h3>')},function(){$("."+s.helperDivClass).show()})},this.createInsertSnippet=function(e){return this.snippetTemplate.replace("{{FormName}}",e)},this.getForms=function(a,n,e){e&&a.html(s.buildLoader(s.formLoadingText)),this.get("/api/v1/admin/content/forms",function(e){var t,i;e&&(t=$('<div class="form-group mb-3"><div class="form-selector-dropdown dropdown"><button class="btn btn-default dropdown-toggle relative" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">'+(n||"Select Form")+'</button><button class="btn btn-default form-refresher"><i class="bi bi-arrow-clockwise" title="Refresh Forms"></i></button></div></div>'),i=$('<ul class="dropdown-menu shadow"></ul>'),$.each(e,function(e,t){t!==n&&i.append('<li class="form-menu-link" data-form-name="'+t+'"><a class="dropdown-item" role="link">'+t+"</a></li>")}),t.find(".form-refresher").on("click",function(){s.getForms(a,n,!0)}),t.find(".form-selector-dropdown").append(i),a.empty().append(t).append('<a target="_blank" href="/admin2/content/formbuilder" class="btn btn-primary"><i class="bi bi-pencil-square me-1"></i> Edit Forms</a>'))},function(e,t,i){})},this.removeElements=function(){$("."+this.helperDivClass).closest(".custom-cb-form").removeClass("has-preview"),$("."+this.helperDivClass).remove(),$("."+this.helperPreviewDivClass).remove()},this.initializeElements=function(e){$("."+s.formBuilderDivClass).parent().each(function(e,t){var i=$(t).closest(".ui-draggable");i.find(".row-html").hide(),i.find(".row-copy").hide(),$(t).find("."+s.helperDivClass).length||$(t).append('<div class="'+s.helperDivClass+' collapse"><button class="btn btn-default btn-lg form-selector"><i class="bi bi-check2-square"></i> Select Form</button></div>'),s.loadPreview($(t))})},this.buildLoader=function(e){return this.loaderDiv.replace("{{Text}}",e||"Loading")},this.get=function(e,t,i,a){return $.get(e,t).fail(i||function(e,t,i){}).always(a||null)},this.alert=function(e){"string"==typeof e&&(e={body:e}),$("#everywhere-modal").alert(e)},this.confirm=function(e){e=$.extend({header:"Form Editor",body:null,type:"success",keepFooter:!1},e);$("#everywhere-modal").confirm(e)},this.init()},ItemListHelper=function(){var s=this,t="item-list-uninitialized",i="item-list",a="item-list-helper",n="item-list-helper-preview",o="Loading Item Lists",l="/api/v1/admin/content/itemlist",r="data-selected-list",d="ItemListItems",e="ItemListAddItemsButton",c="ItemListItemsInput",u="ItemListName",m="ItemListCount",g='<div class="row text-start"><div class="col-md-6 col-12"><div class="form"><div class="form-group"><label for="'+u+'">List Name</label><input class="form-control" type="text" id="'+u+'" placeholder="Item List Name" value="{{ItemListName}}"/><p class="text-danger fw-bold d-none" data-list-name-error-msg>ERROR</p></div><div class="form-group"><label for="'+c+'">List Items</label><textarea class="form-control" type="text" id="'+c+'" placeholder="Item Codes" rows="13"></textarea></div><button class="btn btn-default mt-2" id="'+e+'" title="Add Items To List"><i class="bi bi-plus-lg"></i> Add Items</button></div></div><div class="col-md-6 col-12"><div class="well well-sm"><label>Current List Items (<span id="'+m+'"></span>)</label><div class="list-group no-margin" id="'+d+'"></div></div></div></div>',h="ListSelector",p=[],f=!1;function v(e){var t,i,a;1!=f&&1!=e.data("touched")||(i=!(t=""),(a=(a=e.val())&&a.trim())?s.isValidListName(a)||(i=!1,t="List name may only contain letters, numbers, space
1s, dashes, and underscores."):(i=!1,t="List name is required."),(a=$("[data-list-name-error-msg]")).text(t),a.toggleClass("d-none",1==i),e.toggleClass("haserror",0==i))}this.init=function(){$("body").off("click.item-list-selector").on("click.item-list-selector",".item-list-selector",function(){s.openSelectListModal($(this))}).off("click.item-list-select").on("click.item-list-select",".item-list-select",function(){var e,t=$(this).data("list-name");t&&((e=$(".item-list-parent")).find("."+i).attr(r,t).html(s.createInsertSnippet(t)),s.loadPreview(e)),$(this).closest(".modal").modal("hide")}).off("click.item-list-edit").on("click.item-list-edit",".item-list-edit",function(e){e.stopPropagation(),s.openItemListEdit($(this).closest(".list-group-item").data("list-id"))}).off("click.item-list-delete").on("click.item-list-delete",".item-list-delete",function(e){e.stopPropagation(),s.deleteItemList($(this).closest(".list-group-item").data("list-id"))}).off("click.remove-item-list-item").on("click.remove-item-list-item",".item-list-item .remove-item",function(){$(this).closest(".list-group-item").remove(),s.updateCount()}).off("keyup.item-code-add-enter").on("keyup.item-code-add-enter","#"+c,function(e){13===e.keyCode&&e.shiftKey&&s.handleAddToListEvent()}).off("click.item-code-add-click").on("click.item-code-add-click","#"+e,function(){s.handleAddToListEvent()}).off("click.add-new-list").on("click.add-new-list","#AddNewListButton",function(){s.openItemListNew()}).off("mouseenter.clearContentEditables").on("mouseenter.clearContentEditables","."+a,function(){$('.custom-cb-list [contenteditable="true"]').attr("contenteditable",null)}).off("keyup.itemListName").on("keyup.itemListName","#"+u,function(){v($(this))}).off("blur.itemListName").on("blur.itemListName","#"+u,function(){$(this).data("touched",!0),v($(this))})}
1,this.handleAddToListEvent=function(){var e=$("#"+d);s.addItemsToDomList(e,$("#"+c).val()),$("#"+c).val(""),e.animate({scrollTop:e.prop("scrollHeight")},500)},this.handleNewDrops=function(){var e=$("."+t);e.length&&(1<$("."+i).length?(s.alert({body:"<h3>There can only be one item list on the page at a time</h3>",type:"warning",modalIcon:"exclamation"}),e.closest(".cb-snippet").remove()):(e.removeClass(t),s.initializeElements()))},this.openItemListEdit=function(e){this.openEditModal(e,!1)},this.openItemListNew=function(){this.openEditModal(null,!0)};var b=/^[0-9A-Za-z\s\-_]+$/;this.isValidListName=function(e){return!!e&&0!=b.test(e)},this.openEditModal=function(e,a){var n=s.getListById(e),i=!1;n||a?this.confirm({header:a?"New List":"Edit List",body:g.replace("{{ItemListName}}",a?"":n.ListName),confirmButtonClass:"btn-success open-edit-item-list-confirm-button",confirmDismissModal:!1,confirmText:"Save List",confirmIcon:"bi-save",classes:"edit-item-list-modal",size:"large",type:"success",mustClickButtonsToLeave:!0,confirmMethod:function(){v($("#"+u)),f=!0;var e=$(".open-edit-item-list-confirm-button"),t=e.html();e.html('<i class="wa-spinner"></i> Saving...'),n=n||{},a&&(n.ListID=-1,n.ListType=2),n.ItemCodes=s.getItemCodes(),n.ListName=$("#"+u).val().trim(),n.ListName&&""!=n.ListName.trim()?0==s.isValidListName(n.ListName)?(e.html(t),v($("#"+u))):($("#"+u).removeClass("haserror"),0==n.ItemCodes.length?(s.alert({body:'<h3>Items are required for this list</h3><p>Please add items for the list and click the "Add Items" button to continue.</p>',type:"danger",modalIcon:"exclamation",zIndex:1070}),e.html(t)):200<n.ItemCodes.length?(s.alert({body:"<h3>You cannot have more than 200 items in a list</h3>",type:"warning",modalIcon:"exclamation",zIndex:1070}),e.html(t)):s.post(l+(a?"/Insert":"/Update"),n,function(){a?s.addListData(n):s.replaceListData(n),i=!0,e.closest(".modal").modal("hide")},function(e){e.responseJSON?s.alert({body:"<h3>Something went wrong while saving this list</h3><p>"+e.responseJSON+"</p>",type:"danger",modalIcon:"exclamation",zIndex:1070}):s.alert({body:"<h3>Something went wrong while saving this list</h3><p>Please try again.</p>",type:"danger",modalIcon:"exclamation",zIndex:1070})},function(){e.html(t)})):(s.alert({body:"<h3>A name is required for this list</h3><p>Please enter a name for the list to continue.</p>",type:"danger",modalIcon:"exclamation",zIndex:1070}),e.html(t),$("#"+u).addClass("haserror"))},onLoad:function(){f=!1;var i=$("#"+d);i.sortable(),a||n.ItemCodes&&n.ItemCodes.length&&($.each(n.ItemCodes,function(e,t){s.addItemToDomList(i,t)}),s.updateCount())},afterCloseMethod:function(){i&&s.getLists($("#ListSelector"))}}):this.alert({body:"<h3>List not found</h3>",type:"danger",modalIcon:"exclamation"})},this.deleteItemList=function(e){var i=s.getListById(e);i?this.confirm({keepHeader:!1,body:"<h3>Really delete this list?</h3><p>This list may appear in other content pages. <br /><strong>Deleting this list cannot be undone!</strong></p>",type:"danger",modalIcon:"exclamation",zIndex:1065,confirmButtonClass:"btn-danger delete-button-confirm",confirmDismissModal:!1,confirmText:"Delete List",confirmMethod:function(){var e=$
1(".delete-button-confirm"),t=e.html();e.html('<i class="wa-spinner"></i> Deleting...'),s.post(l+"/delete",i,function(){e.closest(".modal").modal("hide")},function(){s.alert("<p>Something went wrong while deleting this list</p><p>Please try again.</p>")},function(){e.html(t)})},mustClickButtonsToLeave:!0,onLoad:function(){},afterCloseMethod:function(){s.getLists($("#ListSelector"))}}):this.alert({body:"<h3>List not found</h3>",type:"danger",modalIcon:"exclamation"})},this.openSelectListModal=function(e){this.confirm({body:'<div id="'+h+'">'+s.buildLoader(o)+"</div>",disableBackgroundClick:!1,confirmButtonClass:"hidden",cancelButtonClass:"hidden",keepFooter:!1,onLoad:function(){s.getLists($("#"+h))}})},this.loadPreview=function(e){var t=e.find("."+n);t.length||(t=$('<div class="'+n+'"></div>'),e.append(t));e=e.find("."+i).attr(r);e?this.getListPreview(t,e):$("."+a).show()},this.getListPreview=function(t,e){t.html(s.buildLoader("Loading Preview")),this.get("/pagebuilder/GetItemListPreview?listName="+e,function(e){e?(t.html(e),t.closest(".custom-cb-list").addClass("has-preview")):t.html('<h3 class="text-danger">No valid items in list</h3>')},function(){t.html('<h3 class="text-danger">Could not load preview</h3>')},function(){$("."+a).show()})},this.createInsertSnippet=function(e){return"[InsertList:{{ListName}}]".replace("{{ListName}}",e)},this.getLists=function(a,e){e&&a.html(s.buildLoader(o)),this.get(l+"/GetAllMarketing",function(e){var i;e&&(p=e,i=$('<div class="list-group text-start mb-4"></div>'),$.each(e,function(e,t){i.append('<div class="list-group-item list-group-item-action item-list-select d-flex justify-content-between align-items-center" data-list-name="'+t.ListName+'" data-list-Id="'+t.ListID+'" title="'+t.ItemCodes.length+' Items"><div>'+t.ListName+'</div><div class="btn-group"><button title="Edit List" class="item-list-edit btn btn-default btn-sm py-1 px-2"><i class="bi bi-pencil-square m-0"></i></button><button title="Delete List" class="item-list-delete btn btn-default btn-sm py-1 px-2"><i class="bi bi-trash m-0"></i></button></div></div>')}),a.empty().append(i).append('<div class="text-center"><button class="btn btn-default list-refresher"><i class="bi bi-arrow-clockwise"></i> Refresh</button> <button id="AddNewListButton" class="btn btn-primary"><i class="bi bi-plus-lg"></i> New List</button></div>'),a.find(".list-refresher").on("click",function(){s.getLists(a,!0)}))},function(e,t,i){a.html("<p>Failed to retrieve lists.</p><p>Please close this window, and try again.</p>")})},this.removeElements=function(){$("."+a).closest(".custom-cb-list").removeClass("has-preview"),$("."+a).remove(),$("."+n).remove()},this.initializeElements=function(e){$("."+i).parent().each(function(e,t){var i=$(t).closest(".ui-draggable");i.find(".row-html").hide(),i.find(".row-copy").hide(),$(t).find("."+a).length||$(t).append('<div class="'+a+' collapse text-center"><button class="btn btn-default btn-lg item-list-selector"><i class="bi bi-check2-square"></i> Select Item List</button></div>'),s.loadPreview($(t))})},this.buildLoader=function(e){return'<div class="h2 text-center"><i class="wa-spinner wa-spinner-xl"></i> {{Text}}...</div>'.replace("{{Text}}",e||"Loading")},this.get=function(e,t,i,a){return $.get(e,t).fail(i||function(e,t,i){}).always(a||null)},this.post=function(e,t,i,a,n){return $.post(e,t,i).fail(a||function(e,t,i){}).always(n||null)},this.getListById=function(e){var t,i=null;return p&&p.length&&(t=parseInt(e),(e=p.filter(function(e){return e.ListID===t})).length&&(i=e[0])),i},this.replaceListData=function(e){if(p&&p.length)for(var t=0;t<p.length;t++)if(p[t].ListID===e.ListID){p[t]=e;break}},this.addListData=function(e){(p=p||[]).push(e)},this.addItemToDomList=function(e,t){e.append('<div class="list-group-item item-list-item d-flex align-items-center" style="cursor: move;" data-item-code="'+t+'" title="'+t+'"><span class="flex-grow-1"><i class="bi bi-grip-vertical"></i> '+t+'</span><span class="label label-default remove-item clickable" title="Remove Item"><i class="bi bi-trash"></i></span></div>')},this.addItemsToDomList=function(i,e){var a;e&&(e=(e=e.trim()).split("\n"),a=s.getItemCodes(),$.each(e,function(e,t){t&&!s.listHasItemCode(a,t)&&(a.push(t),s.addItemToDomList(i,t.trim()))}),s.updateCount())},this.updateCount=function(){$("#"+m).html($(".item-list-item").length)},this.listHasItemCode=function(e,t){t=t.trim();for(var i=0;i<e.length;i++)if(e[i].trim()===t)return!0;return!1},this.getItemCodes=function(){var i=[];return $("#"+d).find(".item-list-item").each(function(e,t){i.push($(t).data("item-code").toString())}),i},this.alert=function(e){"string"==typeof e&&(e={body:e}),$("#everywhere-modal").alert(e)},this.confirm=function(e){e=$.extend({header:"Item List Editor",body:null,type:"success"},e);$("#everywhere-modal").confirm(e)},this.init()}
1,ItemBuilderHelper=function(){var a="item-builder-helper",n="item-builder",s="item-builder-helper-preview",o="data-selected-builder";function l(e){var t=e.find("."+s);t.length||(t=$('<div data-ib-remove class="'+s+'"></div>'),e.append(t));var i,e=e.find("."+n),e=e.attr("data-builder-name")||e.attr(o);e?(i=function(e){t.html(e),$("."+a).show()},$.get("/api/v1/admin/quickassemble/preview?builderName="+encodeURIComponent(e),function(e){e.IsSuccess&&e.Data?i("<div data-ib-remove>"+e.Data+"</div>"):i("<div data-ib-remove class='alert alert-warning'>Error loading preview: "+(e.ErrorInfo||"Unknown error")+"</div>")}).catch(function(){i("<div data-ib-remove class='alert alert-danger'>Error loading preview</div>")})):$("."+a).show()}this.initializeElements=function(){this.removeElements();var e=$("."+n).parent();e&&e.length&&e.each(function(e,t){var i=$(t).closest(".ui-draggable");i.find(".row-html").hide(),i.find(".row-copy").hide(),$(t).find("."+n).hide(),$(t).find("."+a).length||$(t).append('<div data-ib-remove class="'+a+' collapse text-center"><button class="btn btn-default btn-lg item-builder-selector"><i class="bi bi-check2-square"></i> Select Quick Assemble Builder</button></div>'),l($(t))})},this.handleNewDrops=function(){this.initializeElements()},this.removeElements=function(){$("[data-ib-remove]").remove();var e=$("."+n);
1e.each(function(){var e=$(this),t=e.attr("data-builder-name")||e.attr(o);t&&e.html("[ITEMBUILDER:{{builderName}}]".replace("{{builderName}}",t))}),e.show()},$("body").on("click",".item-builder-selector",function(e){var t,i=$(this).closest(".item-builder-parent").find("."+n);t=function(e){i.attr(o,e),i.attr("data-builder-name",e),i.html('<div class="custom-cb-builder"><h3>'+e+'</h3><div class="item-builder-loading">Loading builder preview...</div></div>'),l(i.closest(".ui-draggable"))},$.everywhere.alert({header:"Select Quick Assemble Builder",body:'<div data-builders-container class="list-group overflow-auto" style="max-height: 303px;"></div><div class="mt-5 d-flex align-items-center gap-2 justify-content-center"><button class="btn btn-default" data-refresh-builders><i class="bi bi-arrow-clockwise me-1"></i>Refresh</button><a href="/admin2/quickassemble" target="_blank" class="btn btn-primary"><i class="bi bi-list-task me-1"></i>Manage Quick Assemble Builders</a></div>',keepFooter:!1,onShow:function(){function e(){var t,i;$("[data-builders-container]").html('<div class="py-5 my-5"><span class="wa-spinner me-1"></span>Loading Quick Assemble Builders</div>'),t=function(e){if($("[data-builders-container]").html(""),e&&e.length)for(var t=0;t<e.length;t++){var i=e[t],a=i.Stages&&i.Stages.length?i.Stages.length:0;$("[data-builders-container]").append('<div class="list-group-item d-flex justify-content-between gap-2 align-items-center" role="button" title="'+i.Name+'" data-select-builder-btn="'+i.Name+'"> <div class="d-flex gap-2 align-items-center justify-content-start text-start"><div><div>'+i.Title+'</div><div class="text-muted fs-9">'+a+" stage"+(1!==a?"s":"")+'</div></div></div><div></div><button class="btn btn-primary btn-sm">Select</button></div>')}else $("[data-builders-container]").html('<span class="py-3">There are no Quick Assemble builders.</span>')},i=function(){$("[data-builders-container]").html('<span class="text-danger fw-bold">Error loading Quick Assemble builders.</span>')},$.get("/api/v1/admin/quickassemble/all",function(e){e.IsSuccess&&e.Data?t(e.Data):i()}).catch(function(){i()})}$("body").off("click","[data-select-builder-btn]").on("click","[data-select-builder-btn]",function(){$(this).closest(".modal").modal("hide");var e=$(this).attr("data-select-builder-btn");t(e)}),$("body").off("click","[data-refresh-builders]").on("click","[data-refresh-builders]",function(){e()}),e()}})})},PartsFinderHelper=function(){var a="part-finder-helper",n="parts-finder",s="parts-finder-helper-preview",o="data-selected-pf";function l(e){var t=e.find("."+s);t.length||(t=$('<div data-pf-remove class="'+s+'"></div>'),e.append(t));var i,e=e.find("."+n).attr(o);e?(i=function(e){t.html(e),$("."+a).show()},$.get("/api/v1/admin/partsfinder/LoadPreview?urlName="+e,function(e){i("<div data-pf-remove>"+e+"</div>")}).catch(function(){i("<div data-pf-remove>Error loading preview</div>")})):$("."+a).show()}this.initializeElements=function(){this.removeElements();var e=$("."+n).parent();e&&e.length&&e.each(function(e,t){var i=$(t).closest(".ui-draggable");i.find(".row-html").hide(),i.find(".row-copy").hide(),$(t).find("."+n).hide(),$(t).find("."+a).length||$(t).append('<div data-pf-remove class="'+a+' collapse text-center"><button class="btn btn-default btn-lg part-finder-selector"><i class="bi bi-check2-square"></i> Select Schematic</button></div>'),l($(t))})},this.handleNewDrops=function(){this.initializeElements()},this.removeElements=function(){$("[data-pf-remove]").remove(),$("."+n).show()},$("body").on("click",".part-finder-selector",function(e){var t,i=$(this).closest(".parts-finder-parent").find("."+n);t=function(e){i.attr(o,e),i.html("[PARTSFINDER:{{urlName}}]".replace("{{urlName}}",e)),l(i.closest(".ui-draggable"))},$.everywhere.alert({header:"Select Schematic",body:'<div data-part-finders-container class="list-group overflow-auto" style="max-height: 303px;"></div><div class="mt-5 d-flex align-items-center gap-2 justify-content-center"><button class="btn btn-default" data-refresh-part-finders><i class="bi bi-arrow-clockwise me-1"></i>Refresh</button><a href="/admin2/partsfinder" target="_blank" class="btn btn-primary"><i class="bi bi-list-task me-1"></i>Manage Schematics</a></div>',keepFooter:!1,onShow:function(){function e(){var t,i;$("[data-part-finders-container]").html('<div class="py-5 my-5"><span class="wa-spinner me-1"></span>Loading Schematics</div>'),t=function(e){if($("[data-part-finders-container]").html(""),e&&e.length)for(var t=0;t<e.length;t++){var i=e[t];$("[data-part-finders-container]").append('<div class="list-group-item d-flex justify-content-between gap-2 align-items-center" role="button" title="'+i.UrlName+'" data-select-pf-btn="'+i.UrlName+'"> <div class="d-flex gap-2 align-items-center justify-content-start text-start"><img src="'+i.ImgLoc+'" height="50" width="50" class="me-3" alt="Part Finder Image" ><div><div>'+i.ProductName+'</div><div class="text-muted fs-9">/partsfinder/'+i.UrlName+'</div></div></div><div></div><button class="btn btn-primary btn-sm">Select</button></div>')}else $("[data-part-finders-container]").html('<span class="py-3">There are no schematics.</span>')},i=function(){$("[data-part-finders-container]").html('<span class="text-danger fw-bold">Error loading schematics.</span>')},$.get("/api/v1/admin/partsfinder/GetAllPartFinders",function(e){e.IsSuccess&&e.Data?t(e.Data.Schematics):i()}).catch(function(){i()})}
1$("body").off("click","[data-select-pf-btn]").on("click","[data-select-pf-btn]",function(){$(this).closest(".modal").modal("hide");var e=$(this).attr("data-select-pf-btn");t(e)}),$("body").off("click","[data-refresh-part-finders]").on("click","[data-refresh-part-finders]",function(){e()}),e()}})})},SearchWithinWidgetHelper=function(){var t="search-within-uninitialized",i="SearchWithin",a="txtSearchWithinWidget",n=null,s=null,o=null;this.init=function(e){o=e},this.initializeElements=function(){$.get("/api/v1/admin/content/getSearchWithinWidget",{type:o,name:n,id:s},function(e){var t;e&&e.IsSuccess?(t=e.Data,$("#"+a).attr("placeholder",t.Title),$("#searchLabel").text(t.Name),$("#"+a).attr("data-search-url",t.SearchUrl),$("#btnSearchWithinWidget").attr("data-search-in-btn",t.SearchUrl),$("#"+i).append(t.ScriptToAdd),$("#"+i).attr("data-type",t.Type)):($.everywhere.alert({body:"<h3>Error retrieving snippet</h3><p>Please try again</p>",modalIcon:"exclamation",type:"warning"}),console.log(e.ErrorInfo||"Error retrieving snippet"))}).catch(function(e){$.everywhere.alert({body:"<h3>Error retrieving snippet</h3><p>Please try again</p>",modalIcon:"exclamation",type:"warning"}),console.log(e)})}
1,this.handleNewDrops=function(){var e=$("."+t);e.length&&(1<$("#contentBuilder").find(".search-within-widget-snippet").length?($.everywhere.alert({body:"<h3>There can only be one widget on the page at a time</h3>",type:"warning",modalIcon:"exclamation"}),e.closest(".cb-snip").remove()):(e.removeClass(t),$.everywhere.alert({body:"<h3>Snippet added!</h3><p>Snippet is only a preview, styling will differ from published content</p>",type:"success",modalIcon:"checkadmin"}),this.initializeElements()))},this.updateSelection=function(e,t){e&&(n=e),t&&(s=t)},this.init()};function targetedEditor(o,e){function i(){for(var e="",t=Object.keys(d.targetTypes),i=0;i<t.length;i++)"LoggedIn"===t[i]&&!0===d.hideLoggedIn||"UserGroup"===t[i]&&!0===d.hideUserGroup||"Customer"===t[i]&&!0===d.hideCustomer||"Retail"===t[i]&&!0===d.hideRetail||(e+='<option value="'+d.targetTypes[t[i]]+'">'+t[i]+"</option>");var a,n="",s=Object.keys(d.targetGroups);for(i=0;i<s.length;i++)n+='<option value="'+s[i]+'">'+d.targetGroups[s[i]]+"</option>";o&&$(o).length&&(a='<label class="target-label">'+d.label+'</label><div class="targeted-input-container"><div class="targeted-list-outer"><div id="TargetListArea"></div><button type="button" class="btn btn-primary btn-sm" id="AddTargetButton"><i class="bi bi-plus-lg me-1"></i> New Group</button></div><div class="targeted-editor"><div class="form-group mb-3"><select class="form-select required" id="TargetedType">'+e+'</select><div class="req-message text-danger bold collapse">Content Target Type is required.</div></div><div class="form-group mb-3"><input id="ContentDetailTextInput" class="form-control content-detail-input" style="display: none; margin-top:15px;" /><select id="ContentDetailLoggedInSelector" class="form-select required content-detail-input" style="display: none; margin-top:15px;"><option value="true">Logged In</option><option value="false">Anonymous</option></select><select id="ContentDetailUserGroupSelector" class="form-select content-detail-input" style="display: none; margin-top:15px;">'+n+'</select><div class="req-message text-danger bold collapse">Content Target Type is required.</div></div><div class="form-check exclude-checkbox hidden"><input type="checkbox" class="form-check-input" id="excludeCheckbox" /><label class="form-check-label" for="excludeCheckbox"> Exclude </label></div><button type="button" class="btn btn-success btn-sm targeted-editor-confirm" style="margin-right: 5px">Confirm</button><button type="button" class="btn btn-default btn-sm targeted-editor-cancel">Cancel</button></div></div>',$(o).html(a),$(o+" #TargetedType").find("option").each(function(){if(null!==$(this).attr("value")&&void 0!==$(this).attr("value")){var e=$(this).text();switch(parseInt($(this).attr("value"))){case d.targetTypes.UserGroup:e="User Group";break;case d.targetTypes.LoggedIn:e="Login Status";break;case d.targetTypes.Username:e="Username";break;case d.targetTypes.Customer:e="Customer";break;case d.targetTypes.All:e="All"}$(this).text(e)}}
1),$(o).on("click",".edit-target-button",function(){var e=$(this).closest(".targeted-content-row").data("index"),t=r[e];$("#TargetedType").val(t.Type),c(t.Detail),$("#excludeCheckbox").prop("checked",t.ShouldExclude),$(".targeted-editor").addClass("open").data("target-index",e),u()}).on("click","#AddTargetButton",function(){5<=r.length?$.everywhere.alert({body:"<h3>You have reached the maximum number of targets allowed for a single item</h3>",type:"danger",modalIcon:"exclamation"}):($("#TargetedType").val(d.targetTypes.All),$(".content-detail-input").val(""),c(),$(".targeted-editor").addClass("open").data("target-index",-1))}).on("click",".delete-target-button",function(){var e;1===$(".delete-target-button").length?$.everywhere.alert({body:"<h3>You cannot delete all targets</h3>",type:"danger",modalIcon:"exclamation"}):(e=$(this).closest(".targeted-content-row").data("index"),!0===d.skipConfirmDelete?(r.splice(e,1),u(),d.editedCallback&&d.editedCallback(r)):$.everywhere.confirm({keepHeader:!1,body:d.confirmDeleteMessage,type:"danger",confirmMethod:function(){r.splice(e,1),u(),d.editedCallback&&d.editedCallback(r)}}))}).on("click",".targeted-editor-confirm",function(){$(".content-detail-input").removeClass("haserror");var e=$(".targeted-editor").data("target-index");if(0<=e){if(r[e].Type=parseInt($("#TargetedType").val()),r[e].Detail=$(".content-detail-input.active-detail").val(),r[e].ShouldExclude=1==$("#excludeCheckbox").prop("checked"),400!==r[e].Type&&600!==r[e].Type&&(null===r[e].Detail||void 0===r[e].Detail||""===r[e].Detail))return void $(".content-detail-input").addClass("haserror")}else{e={Type:parseInt($("#TargetedType").val()),Detail:$(".content-detail-input.active-detail").val(),ShouldExclude:1==$("#excludeCheckbox").prop("checked")};r.push(e)}$(".content-detail-input").val(""),$("#excludeCheckbox").prop("checked",!1),$(".targeted-editor").removeClass("open"),u(),d.editedCallback&&d.editedCallback(r)}).on("click",".targeted-editor-cancel",function(){$(".content-detail-input").removeClass("haserror"),$("#excludeCheckbox").prop("checked",!1),$(".targeted-editor").removeClass("open")}).on("change","#TargetedType",function(){c()}).on("keydown","#ContentDetailTextInput",function(e){13===e.keyCode&&(e.preventDefault(),e.stopPropagation(),$(o+" .targeted-editor-confirm").trigger("click"))}),d.initialTargets&&d.initialTargets.length?"string"==typeof d.initialTargets?l.setTargets(l.parseTargetsString(d.initialTargets)):l.setTargets(d.initialTargets):!0===d.defaultToAll&&l.setTargets([{Type:d.targetTypes.All,Detail:null}])),d.afterInit&&d.afterInit(l,r)}var l=this,r=[],d=$.extend({editedCallback:null,targetGroups:[],targetTypes:[],label:"Target Users",skipConfirmDelete:!1,confirmDeleteMessage:'<label>NOTE</label><p>This change will not be applied until you click "Save".</p>',initialTargets:[],defaultToAll:!1,hideLoggedIn:!1,hideCustomer:!1,hideRetail:!1,hideUserGroup:!1,afterInit:null},e),c=function(e){var t;switch($(".content-detail-input").removeClass("haserror").removeClass("active-detail").slideUp(),parseInt($("#TargetedType").val())){case d.targetTypes.UserGroup:t=$("#ContentDetailUserGroupSelector").stop().slideDown(),$(".exclude-checkbox").removeClass("hidden");break;case d.targetTypes.LoggedIn:t=$("#ContentDetailLoggedInSelector").addClass("active-detail").stop().slideDown(),$(".exclude-checkbox").addClass("hidden");break;case d.targetTypes.Username:t=$("#ContentDetailTextInput").addClass("active-detail").attr("placeholder","Enter username").stop().slideDown(),$(".exclude-checkbox").removeClass("hidden");break;case d.targetTypes.Customer:t=$("#ContentDetailTextInput").addClass("active-detail").attr("placeholder","Enter Customer Code").stop().slideDown(),$(".exclude-checkbox").removeClass("hidden");break;case d.targetTypes.Retail:$(".exclude-checkbox").removeClass("hidden");break;default:$(".exclude-checkbox").addClass("hidden")}t&&t.length&&(t.addClass("active-detail"),null!=e&&t.val(e))},u=function(){for(var e=$("#TargetListArea").empty(),t=0;t<r.length;t++){var i=!0;r[t].Type==d.targetTypes.UserGroup&&(d.targetGroups[r[t].Detail]||(i=!1)),i&&e.append('<div data-index="'+t+'" data-target-type="'+r[t].Type+'" data-target-value="'+r[t].Detail+'" class="targeted-content-row d-flex align-items-center"><div class="target-descriptor me-auto">'+l.getFriendlyTargetDisplay(r[t])+"</div>"+l.getExcludeBadgeDisplay(r[t])+'<div class="d-flex"><button type="button" class="edit-target-button"><i class="bi bi-pencil-square"></i></button><button type="button" class="delete-target-button"><i class="bi bi-trash"></i></button></div></div>')}};this.getExcludeBadgeDisplay=function(e){return 1==e.ShouldExclude?'<div class="badge rounded-pill bg-secondary me-2">Exclude</div>':""},this.getFriendlyTargetDisplay=function(e){switch(e.Type){case d.targetTypes.UserGroup:return"Group: "+d.targetGroups[e.Detail];case d.targetTypes.LoggedIn:return"true"===e.Detail?"Logged In":"Anonymous";case d.targetTypes.Retail:return"Retail";case d.targetTypes.Username:return"Username: "+e.Detail;case d.targetTypes.Customer:return"Customer: "+e.Detail;case d.targetTypes.All:return"All"}},this.getTargets=function(){return r},this.parseTargetsString=function(e){if(e){for(var t=JSON.parse(e),i=[],a=0;a<t.length;a++)300===t[a].Type&&!d.targetGroups[t[a].Detail]||i.push(t[a]);return i}return[]},this.setTargets=function(e){r=e&&e.length?JSON.parse(JSON.stringify(e)):[],u()},this.isTargetedToAll=function(e){"string"==typeof e&&(e=l.parseTargetsString(e));for(var t=!1,i=0;i<e.length;i++)if(e[i].Type===d.targetTypes.All){t=!0;break}return t},this.buildTextFromTargets=function(e){"string"==typeof e&&(e=l.parseTargetsString(e));for(var t="",i=0;i<e.length;i++)t+="("+l.getFriendlyTargetDisplay(e[i])+")";return t},this.getDefaultTargets=function(){return[{Type:d.targetTypes.All,Detail:""}]},this.getTargetGroups=function(){return d.targetGroups};var a=!(this.getTargetTypes=function(){return d.targetTypes}),n=!1;return d.targetGroups&&Object.keys(d.targetGroups).length||(a=!0),!1===(n=!d.targetTypes||!Object.keys(d.targetTypes).length?!0:n)&&!1===a?i():(o&&$(o).length&&$(o).html('<div class="h3 no-margin text-center"><i class="wa-spinner wa-spinner-lg"></i> Loading...</div>'),e=[],!0===a&&e.push($.get("/api/v1/content/targetedEditorUserGroups")),!0===n&&e.push($.get("/api/v1/content/targetedEditorTargetTypes")),$.when(e).done(function(e){var t=window.setInterval(function(){e&&e.length?4===e[0].readyState&&(e.length<1||4===e[1].readyState)&&(window.clearInterval(t),!0===a&&!0===n?(d.targetGroups=JSON.parse(e[0].responseJSON),d.targetTypes=JSON.parse(e[1].responseJSON)):!0===a?d.targetGroups=JSON.parse(e[0].responseJSON):!0===n&&(d.targetTypes=JSON.parse(e[0].responseJSON)),i()):window.clearInterval(t)},50)})),this}
2//# sourceMappingURL=content-builder-helpers.bundle.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.