uawdijnntqw1x1x1
IP : 216.73.216.46
Hostname : toronto-dev2
Kernel : Linux toronto-dev2 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
srv
/
users
/
craft4
/
apps
/
craft4-newsite-space
/
public
/
cpresources
/
9e85d86b
/
MatrixConfigurator.js
/
/
!function(e){Craft.MatrixConfigurator=Garnish.Base.extend({fieldTypeInfo:null,inputNamePrefix:null,fieldTypeSettingsNamespace:null,inputIdPrefix:null,placeholderKey:null,$container:null,$blockTypesColumnContainer:null,$fieldsColumnContainer:null,$fieldSettingsColumnContainer:null,$blockTypeItemsOuterContainer:null,$blockTypeItemsContainer:null,$fieldItemsContainer:null,$fieldSettingItemsContainer:null,$newBlockTypeBtn:null,$newFieldBtn:null,blockTypes:null,selectedBlockType:null,blockTypeSort:null,totalNewBlockTypes:0,_fieldTypeSettingsHtml:null,_cancelToken:null,_ignoreFailedRequest:!1,init:function(t,n,s,l){this.fieldTypeInfo=t,this.inputNamePrefix=n,this.fieldTypeSettingsNamespace=s,this.inputIdPrefix=Craft.formatInputId(this.inputNamePrefix),this.placeholderKey=l,this.$container=e("#"+this.inputIdPrefix+"-matrix-configurator:first .input:first"),this.$blockTypesColumnContainer=this.$container.children(".block-types").children(),this.$fieldsColumnContainer=this.$container.children(".mc-fields").children(),this.$fieldSettingsColumnContainer=this.$container.children(".mc-field-settings").children(),this.$blockTypeItemsOuterContainer=this.$blockTypesColumnContainer.children(".mc-col-items"),this.$blockTypeItemsContainer=this.$blockTypeItemsOuterContainer.children(".mc-blocktypes"),this.$fieldItemsOuterContainer=this.$fieldsColumnContainer.children(".mc-col-items"),this.$fieldSettingItemsContainer=this.$fieldSettingsColumnContainer.children(".mc-col-items"),this.$newBlockTypeBtn=this.$blockTypeItemsOuterContainer.children(".btn"),this.$newFieldBtn=this.$fieldItemsOuterContainer.children(".btn"),this._fieldTypeSettingsHtml={},this.blockTypes={};for(var a=this.$blockTypeItemsContainer.children(),d=0;d<a.length;d++){var r=e(a[d]),o=r.data("id");this.blockTypes[o]=new i(this,r);var h="string"==typeof o&&o.match(/new(\d+)/);h&&h[1]>this.totalNewBlockTypes&&(this.totalNewBlockTypes=parseInt(h[1]))}this.blockTypeSort=new Garnish.DragSort(a,{handle:".move",axis:"y"}),this.addListener(this.$newBlockTypeBtn,"click","addBlockType"),this.addListener(this.$newFieldBtn,"click","addFieldToSelectedBlockType")},getFieldTypeInfo:function(e){for(var t=0;t<this.fieldTypeInfo.length;t++)if(this.fieldTypeInfo[t].type===e)return this.fieldTypeInfo[t]},addBlockType:function(){var t=this;this.getBlockTypeSettingsModal(),this.blockTypeSettingsModal.show(),this.blockTypeSettingsModal.onSubmit=function(n,s){t.totalNewBlockTypes++;var l="new"+t.totalNewBlockTypes,a=e('<div class="matrixconfigitem mci-blocktype" data-id="'+l+'"><div class="mci-name"><h4></h4><div class="smalltext light code"></div></div><a class="settings icon" title="'+Craft.t("app","Settings")+'"></a><a class="move icon" title="'+Craft.t("app","Reorder")+'"></a><input class="hidden" name="'+t.inputNamePrefix+"[blockTypes]["+l+'][name]"><input class="hidden" name="'+t.inputNamePrefix+"[blockTypes]["+l+'][handle]"></div>').appendTo(t.$blockTypeItemsContainer);t.blockTypes[l]=new i(t,a),t.blockTypes[l].applySettings(n,s),t.blockTypes[l].select(),t.blockTypes[l].addField(),t.blockTypeSort.addItems(a)}},addFieldToSelectedBlockType:function(){this.selectedBlockType&&this.selectedBlockType.addField()},getBlockTypeSettingsModal:function(){return this.blockTypeSettingsModal||(this.blockTypeSettingsModal=new t),this.blockTypeSettingsModal},getFieldTypeSettingsHtml:function(e){var t=this;return new Promise((function(i,n){void 0===t._fieldTypeSettingsHtml[e]?(t._cancelToken&&(t._ignoreFailedRequest=!0,t._cancelToken.cancel(),Garnish.requestAnimationFrame((function(){t._ignoreFailedRequest=!1}))),t._cancelToken=axios.CancelToken.source(),Craft.sendActionRequest("POST","fields/render-settings",{cancelToken:t._cancelToken.token,data:{type:e,namespace:t.fieldTypeSettingsNamespace}}).then((function(n){t._fieldTypeSettingsHtml[e]=n.data,i(n.data)})).catch((function(e){var i,s;t._ignoreFailedRequest||Craft.cp.displayError(null==e||null===(i=e.response)||void 0===i||null===(s=i.data)||void 0===s?void 0:s.message),n()}))):i(t._fieldTypeSettingsHtml[e])}))}});var t=Garnish.Modal.extend({init:function(){this.base(),this.$form=e('<form class="modal fitted"/>').appendTo(Garnish.$bod),this.setContainer(this.$form),this.$body=e('<div class="body"/>').appendTo(this.$form);var t=Craft.ui.createTextField({label:Craft.t("app","Name"),instructions:Craft.t("app","What this block type will be called in the control panel.")}).appendTo(this.$body).find(".input");this.$nameInput=t.find(".text"),this.$nameErrorList=e('<ul class="errors"/>').appendTo(t).hide();var i=Craft.ui.createTextField({label:Craft.t("app","Handle"),instructions:Craft.t("app","How you’ll refer to this block type in the templates."),class:"code",maxlength:47}).appendTo(this.$body).find(".input");this.$handleInput=i.find(".text"),this.$handleErrorList=e('<ul class="errors"/>').appendTo(i).hide(),this.$deleteBtn=e('<a class="error left hidden" style="line-height: 30px;">'+Craft.t("app","Delete")+"</a>").appendTo(this.$body),this.$buttons=e('<div class="buttons right" style="margin-top: 0;"/>').appendTo(this.$body),this.$cancelBtn=e("<button/>",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(this.$buttons),this.$submitBtn=e("<button/>",{type:"submit",class:"btn submit"}).appendTo(this.$buttons),this.handleGenerator=new Craft.HandleGenerator(this.$nameInput,this.$handleInput),this.addListener(this.$cancelBtn,"click","hide"),this.addListener(this.$form,"submit","onFormSubmit"),this.addListener(this.$deleteBtn,"click","onDeleteClick")},onFormSubmit:function(e){if(e.preventDefault(),this.visible){this.handleGenerator.listening&&this.handleGenerator.updateTarget();var t=this.$nameInput.val().trim(),i=this.$handleInput.val().trim();t&&i?(this.hide(),this.onSubmit(t,i)):Garnish.shake(this.$form)}},onDeleteClick:function(){confirm(Craft.t("app","Are you sure you want to delete this block type?"))&&(this.hide(),this.onDelete())},show:function(e,t,i){var n=this;this.$nameInput.val("string"==typeof e?e:""),this.$handleInput.val("string"==typeof t?t:""),t?this.handleGenerator.stopListening():this.handleGenerator.startListening(),void 0===e?(this.$deleteBtn.addClass("hidden"),this.$submitBtn.text(Craft.t("app","Create"))):(this.$deleteBtn.removeClass("hidden"),this.$submitBtn.text(Craft.t("app","Apply"))),this.displayErrors("name",i?i.name:null),this.displayErrors("handle",i?i.handle:null),Garnish.isMobileBrowser()||setTimeout((function(){n.$nameInput.focus()}),100),this.base()},displayErrors:function(t,i){var n=this["$"+t+"Input"],s=this["$"+t+"ErrorList"];if(s.children().remove(),i){n.addClass("error"),s.show();for(var l=0;l<i.length;l++)e("<li/>").text(i[l]).appendTo(s)}else n.removeClass("error"),s.hide()}}),i=Garnish.Base.extend({configurator:null,id:null,errors:null,inputNamePrefix:null,inputIdPrefix:null,$item:null,$nameLabel:null,$handleLabel:null,$nameHiddenInput:null,$handleHiddenInput:null,$settingsBtn:null,$fieldItemsContainer:null,$fieldSettingsContainer:null,fields:null,selectedField:null,fieldSort:null,totalNewFields:0,fieldSettings:null,init:function(t,i){var s=this;this.configurator=t,this.$item=i,this.id=this.$item.data("id"),this.errors=this.$item.data("errors"),this.inputNamePrefix=this.configurator.inputNamePrefix+"[blockTypes]["+this.id+"]",this.inputIdPrefix=this.configurator.inputIdPrefix+"-blockTypes-"+this.id;var l=this.$item.children(".mci-name");this.$nameLabel=l.children("h4"),this.$handleLabel=l.children(".smalltext"),this.$nameHiddenInput=this.$item.find('input[name$="[name]"]:first'),this.$handleHiddenInput=this.$item.find('input[name$="[handle]"]:first'),this.$settingsBtn=this.$item.find(".settings"),this.$fieldItemsContainer=this.configurator.$fieldItemsOuterContainer.children('[data-id="'+this.id+'"]:first'),this.$fieldItemsContainer.length||(this.$fieldItemsContainer=e('<div data-id="'+this.id+'"/>').insertBefore(this.configurator.$newFieldBtn)),this.$fieldSettingsContainer=this.configurator.$fieldSettingItemsContainer.children('[data-id="'+this.id+'"]:first'),this.$fieldSettingsContainer.length||(this.$fieldSettingsContainer=e('<div data-id="'+this.id+'"/>').appendTo(this.configurator.$fieldSettingItemsContainer)),this.fields={};for(var a=this.$fieldItemsContainer.children(),d=0;d<a.length;d++){var r=e(a[d]),o=r.data("id");this.fields[o]=new n(this.configurator,this,r);var h="string"==typeof o&&o.match(/new(\d+)/);h&&h[1]>this.totalNewFields&&(this.totalNewFields=parseInt(h[1]))}this.addListener(this.$item,"click","select"),this.addListener(this.$settingsBtn,"click","showSettings"),this.fieldSort=new Garnish.DragSort(a,{handle:".move",axis:"y",onSortChange:function(){for(var t=0;t<s.fieldSort.$items.length;t++){var i=e(s.fieldSort.$items[t]).data("id");s.fields[i].$fieldSettingsContainer.appendTo(s.$fieldSettingsContainer)}}})},select:function(){this.configurator.selectedBlockType!==this&&(this.configurator.selectedBlockType&&this.configurator.selectedBlockType.deselect(),this.configurator.$fieldsColumnContainer.removeClass("hidden"),this.$fieldItemsContainer.removeClass("hidden"),this.$item.addClass("sel"),this.configurator.selectedBlockType=this,Garnish.$win.trigger("resize"))},deselect:function(){this.$item.removeClass("sel"),this.configurator.$fieldsColumnContainer.addClass("hidden"),this.$fieldItemsContainer.addClass("hidden"),this.$fieldSettingsContainer.addClass("hidden"),this.configurator.selectedBlockType=null,this.selectedField&&this.selectedField.deselect(),Garnish.$win.trigger("resize")},showSettings:function(){var e=this.configurator.getBlockTypeSettingsModal();e.show(this.$nameHiddenInput.val(),this.$handleHiddenInput.val(),this.errors),e.onSubmit=this.applySettings.bind(this),e.onDelete=this.selfDestruct.bind(this)},applySettings:function(e,t){this.errors&&(this.errors=null,this.$settingsBtn.removeClass("error")),this.$nameLabel.attr("title",e).text(e),this.$handleLabel.attr("title",t).text(t),this.$nameHiddenInput.val(e),this.$handleHiddenInput.val(t)},addField:function(){this.totalNewFields++;var t="new"+this.totalNewFields,i=e('<div class="matrixconfigitem mci-field" data-id="'+t+'"><div class="mci-name"><h4><em class="light">'+Craft.t("app","(blank)")+'</em></h4><div class="smalltext light code"></div></div><div class="actions"><a class="move icon" title="'+Craft.t("app","Reorder")+'"></a></div></div>').appendTo(this.$fieldItemsContainer);this.fields[t]=new n(this.configurator,this,i),this.fields[t].select(),this.fieldSort.addItems(i)},selfDestruct:function(){this.deselect(),this.$item.remove(),this.$fieldItemsContainer.remove(),this.$fieldSettingsContainer.remove(),this.configurator.blockTypes[this.id]=null,delete this.configurator.blockTypes[this.id]}}),n=Garnish.Base.extend({configurator:null,blockType:null,id:null,inputNamePrefix:null,inputIdPrefix:null,selectedFieldType:null,initializedFieldTypeSettings:null,$item:null,$nameLabel:null,$handleLabel:null,$fieldSettingsContainer:null,$nameInput:null,$handleInput:null,$requiredCheckbox:null,$typeSelect:null,$translationSettingsContainer:null,$typeSettingsContainer:null,$widthInput:null,$deleteBtn:null,init:function(t,i,n){var s=this;this.configurator=t,this.blockType=i,this.$item=n,this.id=this.$item.data("id"),this.inputNamePrefix=this.blockType.inputNamePrefix+"[fields]["+this.id+"]",this.inputIdPrefix=this.blockType.inputIdPrefix+"-fields-"+this.id,this.initializedFieldTypeSettings={},this.fieldTypeSettingsTemplates={};var l=this.$item.children(".mci-name");this.$nameLabel=l.children("h4"),this.$handleLabel=l.children(".smalltext"),this.$fieldSettingsContainer=this.blockType.$fieldSettingsContainer.children('[data-id="'+this.id+'"]:first');var a=!this.$fieldSettingsContainer.length;a&&(this.$fieldSettingsContainer=this.getDefaultFieldSettings().appendTo(this.blockType.$fieldSettingsContainer)),this.$nameInput=e("#"+this.inputIdPrefix+"-name"),this.$handleInput=e("#"+this.inputIdPrefix+"-handle"),this.$requiredCheckbox=e("#"+this.inputIdPrefix+"-required"),this.$typeSelect=e("#"+this.inputIdPrefix+"-type"),this.$translationSettingsContainer=e("#"+this.inputIdPrefix+"-translation-settings"),this.$typeSettingsContainer=this.$fieldSettingsContainer.children(".mc-fieldtype-settings:first"),this.$widthInput=e("#"+this.inputIdPrefix+"-width"),this.$deleteBtn=this.$fieldSettingsContainer.children("a.delete:first"),a?this.setFieldType("craft\\fields\\PlainText"):(this.selectedFieldType=this.$typeSelect.val(),this.initializedFieldTypeSettings[this.selectedFieldType]=this.$typeSettingsContainer.children()),this.$handleInput.val()||new Craft.HandleGenerator(this.$nameInput,this.$handleInput),this.addListener(this.$item,"click","select"),this.addListener(this.$nameInput,"input","updateNameLabel"),this.addListener(this.$handleInput,"input","updateHandleLabel"),this.addListener(this.$requiredCheckbox,"change","updateRequiredIcon"),this.addListener(this.$typeSelect,"change","onTypeSelectChange"),this.addListener(this.$deleteBtn,"click","confirmDelete"),new Craft.SlidePicker(this.$widthInput.val()||100,{min:25,max:100,step:25,valueLabel:function(e){return Craft.t("app","{pct} width",{pct:"".concat(e,"%")})},onChange:function(e){s.$widthInput.val(e)}}).$container.insertAfter(l)},select:function(){var e=this;this.blockType.selectedField!==this&&(this.blockType.selectedField&&this.blockType.selectedField.deselect(),this.configurator.$fieldSettingsColumnContainer.removeClass("hidden"),this.blockType.$fieldSettingsContainer.removeClass("hidden"),this.$fieldSettingsContainer.removeClass("hidden"),this.$item.addClass("sel"),this.blockType.selectedField=this,Garnish.$win.trigger("resize"),Garnish.isMobileBrowser()||setTimeout((function(){e.$nameInput.focus()}),100))},deselect:function(){this.$item.removeClass("sel"),this.configurator.$fieldSettingsColumnContainer.addClass("hidden"),this.blockType.$fieldSettingsContainer.addClass("hidden"),this.$fieldSettingsContainer.addClass("hidden"),this.blockType.selectedField=null,Garnish.$win.trigger("resize")},updateNameLabel:function(){var e=this.$nameInput.val();this.$nameLabel.attr("title",e).html(e?Craft.escapeHtml(e):'<em class="light">'+Craft.t("app","(blank)")+"</em>")},updateHandleLabel:function(){var e=this.$handleInput.val();this.$handleLabel.attr("title",e).html(Craft.escapeHtml(e))},updateRequiredIcon:function(){this.$requiredCheckbox.prop("checked")?this.$nameLabel.addClass("mci-required"):this.$nameLabel.removeClass("mci-required")},onTypeSelectChange:function(){this.setFieldType(this.$typeSelect.val())},setFieldType:function(e){var t=this;Craft.updateTranslationMethodSettings(e,this.$translationSettingsContainer),this.selectedFieldType&&this.initializedFieldTypeSettings[this.selectedFieldType].detach(),this.selectedFieldType=e,this.$typeSelect.val(e),this.$typeSettingsContainer.html('<div class="zilch"><div class="spinner"></div></div>'),this.getFieldTypeSettings(e).then((function(e){var i=e.fresh,n=e.$settings,s=e.headHtml,l=e.bodyHtml;t.$typeSettingsContainer.html("").append(n),i&&(Craft.initUiElements(n),Craft.appendHeadHtml(s),Craft.appendBodyHtml(l)),Garnish.$win.trigger("resize")})).catch((function(){t.$typeSettingsContainer.html("")}))},getFieldTypeSettings:function(t){var i=this;return new Promise((function(n,s){void 0===i.initializedFieldTypeSettings[t]?i.configurator.getFieldTypeSettingsHtml(t).then((function(s){var l=s.settingsHtml,a=s.headHtml,d=s.bodyHtml;l=i.getParsedFieldTypeHtml(l),a=i.getParsedFieldTypeHtml(a),d=i.getParsedFieldTypeHtml(d);var r=e("<div/>").html(l);i.initializedFieldTypeSettings[t]=r,n({fresh:!0,$settings:r,headHtml:a,bodyHtml:d})})).catch(e.noop):n({fresh:!1,$settings:i.initializedFieldTypeSettings[t]})}))},getParsedFieldTypeHtml:function(e){return"string"==typeof e?(e=e.replace(new RegExp("__BLOCK_TYPE_".concat(this.configurator.placeholderKey,"__"),"g"),this.blockType.id)).replace(new RegExp("__FIELD_".concat(this.configurator.placeholderKey,"__"),"g"),this.id):""},getDefaultFieldSettings:function(){var t=e("<div/>",{"data-id":this.id});Craft.ui.createTextField({label:Craft.t("app","Name"),id:this.inputIdPrefix+"-name",name:this.inputNamePrefix+"[name]"}).appendTo(t),Craft.ui.createTextField({label:Craft.t("app","Handle"),id:this.inputIdPrefix+"-handle",class:"code",name:this.inputNamePrefix+"[handle]",maxlength:64,required:!0}).appendTo(t),Craft.ui.createTextareaField({label:Craft.t("app","Instructions"),id:this.inputIdPrefix+"-instructions",class:"nicetext",name:this.inputNamePrefix+"[instructions]"}).appendTo(t);var i=e("<fieldset/>").appendTo(t);Craft.ui.createCheckboxField({label:Craft.t("app","This field is required"),id:this.inputIdPrefix+"-required",name:this.inputNamePrefix+"[required]"}).appendTo(i),Craft.ui.createCheckboxField({label:Craft.t("app","Use this field’s values as search keywords"),id:this.inputIdPrefix+"-searchable",name:this.inputNamePrefix+"[searchable]",checked:!1}).appendTo(i);for(var n=[],s=0;s<this.configurator.fieldTypeInfo.length;s++)n.push({value:this.configurator.fieldTypeInfo[s].type,label:this.configurator.fieldTypeInfo[s].name});if(Craft.ui.createSelectField({label:Craft.t("app","Field Type"),id:this.inputIdPrefix+"-type",name:this.inputNamePrefix+"[type]",options:n,value:"craft\\fields\\PlainText"}).appendTo(t),Craft.isMultiSite){var l=e("<div/>",{id:this.inputIdPrefix+"-translation-settings"}).appendTo(t);Craft.ui.createSelectField({label:Craft.t("app","Translation Method"),id:this.inputIdPrefix+"-translation-method",name:this.inputNamePrefix+"[translationMethod]",options:[],value:"none",toggle:!0,targetPrefix:this.inputIdPrefix+"-translation-method-"}).appendTo(l);var a=e("<div/>",{id:this.inputIdPrefix+"-translation-method-custom",class:"hidden"}).appendTo(l);Craft.ui.createTextField({label:Craft.t("app","Translation Key Format"),id:this.inputIdPrefix+"-translation-key-format",name:this.inputNamePrefix+"[translationKeyFormat]"}).appendTo(a)}return e("<hr/>").appendTo(t),e("<div/>",{class:"mc-fieldtype-settings"}).appendTo(t),e("<input/>",{type:"hidden",id:this.inputIdPrefix+"-width",name:this.inputNamePrefix+"[width]",value:"100"}).appendTo(t),e("<hr/>").appendTo(t),e("<a/>",{class:"error delete",text:Craft.t("app","Delete")}).appendTo(t),t},confirmDelete:function(){confirm(Craft.t("app","Are you sure you want to delete this field?"))&&this.selfDestruct()},selfDestruct:function(){this.deselect(),this.$item.remove(),this.$fieldSettingsContainer.remove(),this.blockType.fields[this.id]=null,delete this.blockType.fields[this.id]}})}(jQuery); //# sourceMappingURL=MatrixConfigurator.js.map
/srv/users/craft4/apps/craft4-newsite-space/public/cpresources/9e85d86b/MatrixConfigurator.js