1"use strict";(self.webpackChunkmapotic_front=self.webpackChunkmapotic_front||[]).push([[7523],{67523:(S,f,l)=>{l.r(f),l.d(f,{AdminLanguagesComponent:()=>_e});var c=l(17520),u=l(94666),i=l(2508),p=l(50253),g=l(68951),h=l(1325),x=l(54857),d=l(25672),_=l(17959),A=l(79109),C=l(69402),e=l(22560),y=l(93681),b=l(68567),m=l(56722),F=l(70207),v=l(75074),M=l(57371);function k(a,o){if(1&a&&(e.TgZ(0,"mat-option",5),e._uU(1),e.qZA()),2&a){const t=o.$implicit;e.Q6J("value",t.code),e.xp6(1),e.hij(" ",t.name," ")}}function E(a,o){1&a&&(e.TgZ(0,"mat-error"),e._uU(1),e.ALo(2,"translate"),e.qZA()),2&a&&(e.xp6(1),e.hij(" ",e.xi3(2,1,"front_create-map_lang_required-error","You need to enter map language.")," "))}let P=(()=>{class a extends y.u{constructor(t,n,s){super(),this.fb=t,this.cdr=n,this.languagesService=s,this.topics=[],this.languages=[],this.ngUnsubscribe=new p.x,this.form=this.fb.group({lang:[null,i.kI.required]})}ngOnInit(){this.form.controls.lang.valueChanges.pipe((0,g.R)(this.ngUnsubscribe)).subscribe(t=>{this.languagesService.setPreSelectedLanguageLanguage(t)})}writeValue(t){this.form.patchValue(t,{emitEvent:!1}),t?.lang&&this.languagesService.setPreSelectedLanguageLanguage(t?.lang)}validate(t){for(let n in this.form.controls)if(this.form.controls[n].invalid)return{invalidControl:{valid:!1,control:n,message:`${n}
1 is invalid`}};return null}setDisabledState(t){t?this.form.disable():this.form.enable(),this.disabled=t}handleChange(){this.onChange(this.form.value),this.onTouched(),this.cdr.markForCheck()}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return a.\u0275fac=function(t){return new(t||a)(e.Y36(i.QS),e.Y36(e.sBO),e.Y36(b.K))},a.\u0275cmp=e.Xpm({type:a,selectors:[["app-admin-forms-default-language"]],inputs:{topics:"topics",lang:"lang",languages:"languages",appearance:"appearance"},standalone:!0,features:[e._Bn([{provide:i.JU,useExisting:(0,e.Gpc)(()=>a),multi:!0},{provide:i.Cf,useExisting:a,multi:!0}]),e.qOj,e.jDz],decls:11,vars:11,consts:[["fxLayout","column","fxLayoutGap","10px",3,"formGroup"],[3,"appearance"],["name","lang","id","lang","formControlName","lang",3,"selectionChange"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],[3,"value"]],template:function(t,n){1&t&&(e.TgZ(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),e._uU(3),e.ALo(4,"translate"),e.qZA(),e.TgZ(5,"mat-select",2),e.NdJ("selectionChange",function(){return n.handleChange()}),e.YNc(6,k,2,2,"mat-option",3),e.qZA(),e.TgZ(7,"mat-hint"),e._uU(8),e.ALo(9,"translate"),e.qZA(),e.YNc(10,E,3,4,"mat-error",4),e.qZA()()),2&t&&(e.Q6J("formGroup",n.form),e.xp6(1),e.Q6J("appearance",n.appearance),e.xp6(2),e.hij(" ",e.lcZ(4,6,"front_admin_map-sett_lang")," "),e.xp6(3),e.Q6J("ngForOf",n.languages),e.xp6(2),e.Oqu(e.xi3(9,8,"front_admin_map-sett_lang_hint","It affects layers and other kind of settings.")),e.xp6(2),e.Q6J("ngIf",n.form.controls.lang.touched&&n.form.controls.lang.errors&&n.form.controls.lang.errors.required))},dependencies:[u.ez,u.sg,u.O5,C.q,m.xw,m.SQ,F.ey,v.TO,v.KE,v.bx,v.hX,M.gD,i.JJ,i.JL,i.sg,i.u,i.u5,i.UX,_.X,A.U],styles:["mat-form-field[_ngcontent-%COMP%]{width:100%;font-size:14px}mat-form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{box-shadow:none!important;font-size:14px}"],changeDetection:0}),a})();var L=l(58593),O=l(35503),U=l(50964),T=l(44792);function Z(a,o){1&a&&(e.TgZ(0,"mat-checkbox",5),e._uU(1),e.ALo(2,"translate"),e.qZA()),2&a&&(e.xp6(1),e.hij(" ",e.xi3(2,1,"front_admin_white-label-multilanguage-label","Enable multilingual content")," "))}function J(a,o){1&a&&(e.TgZ(0,"mat-checkbox",6),e._uU(1),e.ALo(2,"translate"),e.qZA()),2&a&&(e.Q6J("disabled",!0)("checked",!1),e.xp6(1),e.hij(" ",e.xi3(2,3,"front_admin_white-label-multilanguage-label","Enable multilingual content")," "))}function I(a,o){if(1&a&&(e.YNc(0,Z,3,4,"mat-checkbox",3),e.YNc(1,J,3,6,"ng-template",null,4,e.W1O)),2&a){const t=e.MAs(2),n=e.oxw();e.Q6J("ngIf",n.isMultilangAddonActive)("ngIfElse",t)}}let N=(()=>{class a{constructor(t,n,s){this.fb=t,this.cdr=n,this.languagesService=s,this.AddonType=d.BR,this.ngUnsubscribe=new p.x,this.onChange=()=>{},this.onTouched=()=>{},this.ondomain=ondomain}ngOnInit(){this.form=this.fb.group({multilang_content_enabled:[null]}),this.languagesService.multilangContentEnabled$.pipe((0,g.R)(this.ngUnsubscribe)).subscribe(t=>{this.form.get("multilang_content_enabled").setValue(t,{emitEvent:!1})}),this.form.get("multilang_content_enabled").valueChanges.subscribe(t=>{this.languagesService.setMultilangContentEnabled(t),this.onChange(t),this.onTouched()})}writeValue(t){void 0!==t&&this.form.get("multilang_content_enabled").setValue(t,{emitEvent:!1})}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){t?this.form.disable():this.form.enable(),this.cdr.markForCheck()}validate(t){return this.form.valid?null:{invalidForm:{valid:!1,message:"Form is invalid"}}}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return a.\u0275fac=function(t){return new(t||a)(e.Y36(i.qu),e.Y36(e.sBO),e.Y36(b.K))},a.\u0275cmp=e.Xpm({type:a,selectors:[["app-admin-forms-multilang"]],inputs:{mapSlug:"mapSlug",isMultilangAddonActive:"isMultilangAddonActive"},standalone:!0,features:[e._Bn([{provide:i.JU,useExisting:(0,e.Gpc)(()=>a),multi:!0},{provide:i.Cf,useExisting:(0,e.Gpc)(()=>a),multi:!0}]),e.jDz],decls:4,vars:6,consts:[["fxLayout","column","fxLayoutGap","10px",3,"formGroup"],[3,"disabled","addonType","mapSlug"],["mainContent",""],["formControlName","multilang_content_enabled","color","primary",4,"ngIf","ngIfElse"],["noPrivilegesCheckbox",""],["formControlName","multilang_content_enabled","color","primary"],["color","primary",3,"disabled","checked"]],template:function(t,n){1&t&&(e.TgZ(0,"div",0)(1,"app-admin-settings-protected-input",1),e.YNc(2,I,3,2,"ng-template",null,2,e.W1O),e.qZA()()),2&t&&(e.Q6J("formGroup",n.form),e.xp6(1),e.ekj("protected-input",!n.isMultilangAddonActive),e.Q6J("disabled",!n.isMultilangAddonActive)("addonType",n.AddonType.Multilang)("mapSlug",n.mapSlug))},dependencies:[u.ez,u.O5,C.q,m.xw,m.SQ,T.oG,i.JJ,i.JL,i.sg,i.u,i.UX,O.D,_.X,A.U,U.Iq,L.I],styles:["mat-form-field[_ngcontent-%COMP%]{width:100%;font-size:14px}mat-form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{box-shadow:none!important;border-bottom:none!important;font-size:14px}"],changeDetection:0}),a})();var Y=l(82697);function Q(a,o){if(1&a){const t=e.EpF();e.TgZ(0,"mat-checkbox",8),e.NdJ("change",function(s){e.CHM(t);const r=e.oxw(2);return e.KtG(r.handleAllLanguages(s))}),e._uU(1),e.ALo(2,"translate"),e.qZA()}2&a&&(e.xp6(1),e.hij(" ",e.xi3(2,1,"front_admin_white-label-available-languages-all","All languages")," "))}function w(a,o){1&a&&(e.TgZ(0,"mat-checkbox",9),e._uU(1),e.ALo(2,"translate"),e.qZA()),2&a&&(e.Q6J("disabled",!0)("checked",!1),e.xp6(1),e.hij(" ",e.xi3(2,3,"front_admin_white-label-multilanguage-label","All languages")," "))}function D(a,o){if(1&a){const t=e.EpF();e.ynx(0),e.TgZ(1,"mat-checkbox",12),e.NdJ("change",function(){e.CHM(t);const s=e.oxw(3);return e.KtG(s.handleChange())}),e._uU(2),e.qZA(),e.BQk()}if(2&a){const t=o.index,n=e.oxw(3);e.xp6(1),e.Q6J("formControlName",t),e.xp6(1),e.hij(" ",n.languages[t].name," ")}}function G(a,o){if(1&a&&(e.TgZ(0,"fieldset",10),e.YNc(1,D,3,2,"ng-container",11),e.qZA()),2&a){const t=e.oxw(2);e.xp6(1),e.Q6J("ngForOf",t.languagesArray.controls)}}function B(a,o){if(1&a&&(e.ynx(0),e.TgZ(1,"mat-checkbox",13),e._uU(2),e.qZA(),e.BQk()),2&a){const t=o.index,n=e.oxw(3);e.xp6(1),e.Q6J("disabled",!0)("checked",n.languages[t].code===n.preSelectedLanguage),e.xp6(1),e.hij(" ",n.languages[t].name," ")}}function V(a,o){if(1&a&&(e.TgZ(0,"fieldset",10),e.YNc(1,B,3,3,"ng-container",11),e.qZA()),2&a){const t=e.oxw(2);e.xp6(1),e.Q6J("ngForOf",t.languagesArray.controls)}}function R(a,o){if(1&a&&(e.YNc(0,Q,3,4,"mat-checkbox",4),e.YNc(1,w,3,6,"ng-template",null,5,e.W1O),e.YNc(3,G,2,1,"fieldset",6),e.YNc(4,V,2,1,"ng-template",null,7,e.W1O)),2&a){const t=e.MAs(2),n=e.MAs(5),s=e.oxw();e.Q6J("ngIf",s.isMultilangActive&&s.multilangEnabled)("ngIfElse",t),e.xp6(3),e.Q6J("ngIf",s.isMultilangActive&&s.multilangEnabled)("ngIfElse",n)}}function j(a,o){1&a&&(e.TgZ(0,"h5"),e._uU(1),e.ALo(2,"translate"),e.qZA(),e._uU(3),e.ALo(4,"translate")),2&a&&(e.xp6(1),e.hij(" ",e.xi3(2,2,"front_admin_multilanguage_available_languages-disabled-title","Multilangual content is disabled")," "),e.xp6(2),e.hij(" ",e.xi3(4,5,"front_admin_multilanguage_available_languages-disabled-text","To be able edit this section you need to enable it in Multilangual map content section.")," "))}
1function z(a,o){1&a&&(e.ynx(0),e.YNc(1,j,5,8,"ng-template",null,14,e.W1O),e.BQk())}let W=(()=>{class a{constructor(t,n,s){this.fb=t,this.cdr=n,this.languagesService=s,this.AddonType=d.BR,this.languages=[],this.previousLang=null,this.previousStates=new Map,this.previousLangStates=new Map,this.multilangEnabled=null,this.ngUnsubscribe=new p.x,this.onChange=()=>{},this.onTouched=()=>{},this.languages=this.languagesService.languages.map(r=>({...r,checked:!1,disabled:!1}))}ngOnInit(){this.initializeForm(),this.listenForDefaultLanguageChanges(),this.languagesService.multilangContentEnabled$.pipe((0,g.R)(this.ngUnsubscribe)).subscribe(t=>{null!==this.multilangEnabled&&t!==this.multilangEnabled&&(t?this.restorePreviousLangStates():(this.storeCurrentLangStates(),this.disableAllLanguages()),this.handleChange()),this.multilangEnabled=t,this.cdr.detectChanges()})}initializeForm(){this.rebuildFormArray(),this.form=this.fb.group({allLanguages:!1,languages_allowed:this.languagesArray,limitLanguageSelector:!1}),this.languagesArray.valueChanges.subscribe(()=>this.updateAllLanguagesCheckbox()),this.form.valueChanges.subscribe(()=>{this.onChange(this.prepareFormValue())})}rebuildFormArray(){this.languagesArray=this.fb.array(this.languages.map(t=>new i.NI({value:t.checked,disabled:t.disabled})))}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}
1handleChange(){this.languages.forEach((t,n)=>{t.checked=this.languagesArray.at(n).value}),this.onChange(this.prepareFormValue()),this.onTouched(),this.cdr.detectChanges()}handleAllLanguages(t){const n=t.checked;this.languagesArray.controls.forEach((s,r)=>{s.disabled||(s.setValue(n),this.languages[r].checked=n)}),this.handleChange()}storeCurrentLangStates(){this.languages.forEach(t=>{this.previousLangStates.set(t.code,t.checked)})}disableAllLanguages(){this.languagesArray.controls.forEach((t,n)=>{t.disabled||(t.setValue(!1),this.languages[n].checked=!1)})}restorePreviousLangStates(){this.languages.forEach((t,n)=>{if(!t.disabled&&this.previousLangStates.has(t.code)){const s=this.previousLangStates.get(t.code);this.languagesArray.at(n).setValue(s),t.checked=s}})}updateAllLanguagesCheckbox(){const t=this.languagesArray.controls.every(n=>!0===n.value);this.form.controls.allLanguages.setValue(t,{emitEvent:!1})}prepareFormValue(){return{languages_allowed:this.languages.filter(n=>n.checked).map(n=>n.code),limit_language_selector:this.form.controls.limitLanguageSelector.value}}
1writeValue(t){if(t){if(this.languages.forEach(n=>{n.checked=t.languages_allowed.includes(n.code),n.disabled=!1}),this.preSelectedLanguage){const n=this.languages.findIndex(s=>s.code===this.preSelectedLanguage);-1!==n&&(this.previousStates.set(this.preSelectedLanguage,this.languages[n].checked),this.languages[n].checked=!0,this.languages[n].disabled=!0)}this.rebuildFormArray(),this.form.setControl("languages_allowed",this.languagesArray),this.form.patchValue({allLanguages:t.allLanguages||!1,limitLanguageSelector:t.limit_language_selector||!1},{emitEvent:!1})}}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){t?this.form.disable():this.form.enable(),this.cdr.markForCheck()}validate(t){for(let n in this.form.controls)if(this.form.controls[n].invalid)return{invalidControl:{valid:!1,control:n,message:`${n} is invalid`}};return null}listenForDefaultLanguageChanges(){this.languagesService.preSelectedLanguage$.pipe((0,g.R)(this.ngUnsubscribe)).subscribe(t=>{this.preSelectedLanguage=t,this.updatePreselectedLanguage(),this.multilangEnabled||this.disableAllLanguages()})}updatePreselectedLanguage(){if(this.previousLang){const t=this.languages.findIndex(n=>n.code===this.previousLang);if(-1!==t){const n=this.languagesArray.at(t);if(n){const s=this.previousStates.get(this.previousLang);void 0!==s&&(n.setValue(s,{emitEvent:!1}),this.languages[t].checked=s),n.enable(),this.languages[t].disabled=!1}}}if(this.preSelectedLanguage){const t=this.languages.findIndex(n=>n.code===this.preSelectedLanguage);if(-1!==t){const n=this.languagesArray.at(t);n&&(this.previousStates.set(this.preSelectedLanguage,this.languages[t].checked),this.languages[t].checked=!0,n.setValue(!0,{emitEvent:!1}),n.disable(),this.languages[t].disabled=!0)}}this.previousLang=this.preSelectedLanguage,this.cdr.markForCheck()}}return a.\u0275fac=function(t){return new(t||a)(e.Y36(i.qu),e.Y36(e.sBO),e.Y36(b.K))},a.\u0275cmp=e.Xpm({type:a,selectors:[["app-admin-forms-available-languages"]],inputs:{mapSlug:"mapSlug",isMultilangActive:"isMultilangActive"},standalone:!0,features:[e._Bn([{provide:i.JU,useExisting:(0,e.Gpc)(()=>a),multi:!0},{provide:i.Cf,useExisting:(0,e.Gpc)(()=>a),multi:!0}]),e.jDz],decls:5,vars:7,consts:[["fxLayout","column","fxLayoutGap","10px",3,"formGroup"],[3,"disabled","addonType","mapSlug"],["mainContent",""],[4,"ngIf"],["formControlName","allLanguages","color","primary","class","m-b-10",3,"change",4,"ngIf","ngIfElse"],["noPrivilegesAllCheckbox",""],["formArrayName","languages_allowed","class","m-l-20","fxLayout","column","fxLayoutGap","10px",4,"ngIf","ngIfElse"],["noPrivilegesCheckbox",""],["formControlName","allLanguages","color","primary",1,"m-b-10",3,"change"],["color","primary",1,"m-b-10",3,"disabled","checked"],["formArrayName","languages_allowed","fxLayout","column","fxLayoutGap","10px",1,"m-l-20"],[4,"ngFor","ngForOf"],["color","primary",1,"m-t-10",3,"formControlName","change"],["color","primary",1,"m-t-10",3,"disabled","checked"],["dropdownContent",""]],template:function(t,n){1&t&&(e.TgZ(0,"div",0)(1,"app-admin-settings-protected-input",1),e.YNc(2,R,6,4,"ng-template",null,2,e.W1O),e.YNc(4,z,3,0,"ng-container",3),e.qZA()()),2&t&&(e.Q6J("formGroup",n.form),e.xp6(1),e.ekj("protected-input",!n.isMultilangActive||!n.multilangEnabled),e.Q6J("disabled",!n.isMultilangActive||!n.multilangEnabled)("addonType",n.AddonType.Multilang)("mapSlug",n.mapSlug),e.xp6(3),e.Q6J("ngIf",!n.multilangEnabled&&n.isMultilangActive))},dependencies:[i.UX,i.JJ,i.JL,i.sg,i.u,i.CE,L.I,m.ae,m.xw,m.SQ,Y.m,u.sg,u.O5,T.oG,_.X],styles:[".protected-input[_ngcontent-%COMP%]{display:block;margin-top:-5px}"],changeDetection:0}),a})();var H=l(63036),X=l(21525),$=l(45146),K=l(87395),q=l(69244),ee=l(97187),te=l(20309),ne=l(7767),ae=l(73300),ie=l(84522),se=l(57822),le=l(61708),oe=l(17839);const ge=["headerTitleTpl"];function re(a,o){if(1&a&&e._UZ(0,"app-admin-forms-default-language",9),2&a){const t=e.oxw(2);e.Q6J("topics",t.topics)("lang",t.lang)("languages",t.languages)("appearance",t.appearance)}}function ue(a,o){if(1&a&&e._UZ(0,"app-admin-forms-multilang",10),2&a){const t=e.oxw(2);e.Q6J("isMultilangAddonActive",t.isMultilangAddonActive)("mapSlug",null==t.mapSettings?null:t.mapSettings.mapSlug)}}
1function me(a,o){if(1&a&&e._UZ(0,"app-admin-forms-available-languages",11),2&a){const t=e.oxw(2);e.Q6J("isMultilangActive",t.isMultilangAddonActive)("mapSlug",null==t.mapSettings?null:t.mapSettings.slug)}}function ce(a,o){if(1&a&&(e.ynx(0),e.TgZ(1,"app-admin-settings-section",5),e.ALo(2,"translate"),e.ALo(3,"translate"),e.ALo(4,"translate"),e.YNc(5,re,1,4,"ng-template",null,6,e.W1O),e.qZA(),e.TgZ(7,"app-admin-settings-section",7),e.ALo(8,"translate"),e.ALo(9,"translate"),e.ALo(10,"translate"),e.YNc(11,ue,1,2,"ng-template",null,6,e.W1O),e.qZA(),e.TgZ(13,"app-admin-settings-section",8),e.ALo(14,"translate"),e.ALo(15,"translate"),e.YNc(16,me,1,2,"ng-template",null,6,e.W1O),e.qZA(),e.BQk()),2&a){const t=e.oxw();e.xp6(1),e.s9C("sidebarContent",null==t.systemPages||null==t.systemPages.defaultLang?null:t.systemPages.defaultLang.html),e.Q6J("sectionTitle",e.xi3(2,20,"front_admin_map-sett_language_title","Default language"))("sectionSubtitle",e.xi3(3,23,"front_admin_map-sett_language_text","Choose default language for maptiles."))("sidebarTitle",e.xi3(4,26,"front_admin_map-sett_language_help-title","Main language"))("sidebarContentClass","help-block-content")("mapSlug",null==t.mapSettings?null:t.mapSettings.mapSlug),e.xp6(6),e.s9C("sidebarContent",null==t.systemPages||null==t.systemPages.mapContent?null:t.systemPages.mapContent.html),e.Q6J("sectionTitle",e.xi3(8,29,"front_admin_white-label-multilanguage-title","Multilingual map content"))("sectionSubtitle",e.xi3(9,32,"front_admin_white-label-multilanguage-desc-title","Allows you to translate essential map content"))("sidebarTitle",e.xi3(10,35,"front_admin_map-multilanguage-title","Multilingual map content"))("sidebarContentClass","help-block-content")("mapSlug",null==t.mapSettings?null:t.mapSettings.mapSlug)("addonType",t.AddonType.Multilang)("greyBackground",!t.isMultilangAddonActive),e.xp6(6),e.s9C("sidebarContent",null==t.systemPages||null==t.systemPages.availableLang?null:t.systemPages.availableLang.html),e.Q6J("sectionTitle",e.xi3(14,38,"front_admin_available_languages","Available languages"))("sidebarTitle",e.xi3(15,41,"front_admin_available_languages_help-title","Available languages"))("sidebarContentClass","help-block-content")("addonType",t.AddonType.Multilang)("greyBackground",!t.isMultilangAddonActive||!t.multilangEnabled)}}function de(a,o){1&a&&(e.TgZ(0,"div",12),e._UZ(1,"mat-spinner",13),e.qZA()),2&a&&(e.xp6(1),e.Q6J("diameter",40))}function pe(a,o){1&a&&e._UZ(0,"mat-spinner",18),2&a&&e.Q6J("diameter",20)}function he(a,o){if(1&a){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",14)(2,"button",15),e.NdJ("click",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.onSubmit())}),e.YNc(3,pe,1,1,"mat-spinner",16),e.TgZ(4,"span"),e._uU(5),e.ALo(6,"translate"),e.ALo(7,"translate"),e.qZA()(),e.TgZ(8,"button",17),e.NdJ("click",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.onDiscard())}),e._uU(9),e.ALo(10,"translate"),e.qZA()(),e.BQk()}if(2&a){const t=e.oxw();e.xp6(2),e.Q6J("disabled",t.form.invalid||!t.dirty||t.state.saving),e.xp6(1),e.Q6J("ngIf",t.state.saving),e.xp6(2),e.Oqu(t.state.saving?e.xi3(6,5,"front_uni_saving","Saving\u2026"):e.lcZ(7,8,"front_uni_save")),e.xp6(3),e.Q6J("disabled",!t.dirty||t.state.saving),e.xp6(1),e.hij(" ",e.xi3(10,10,"front_uni_discard-changes","Discard changes")," ")}}function fe(a,o){1&a&&(e.TgZ(0,"app-admin-header-title",19),e.ALo(1,"translate"),e.TgZ(2,"mat-icon"),e._uU(3,"settings"),e.qZA()()),2&a&&e.Q6J("title",e.xi3(1,1,"front_admin-menu_settings","Settings"))}let _e=(()=>{class a{constructor(t,n,s,r,be,ve,Ae,Ce,xe,Le,Te,Se){this.translate=t,this.fb=n,this.cdr=s,this.languagesService=r,this.apiService=be,this.notificationService=ve,this.unsavedWork=Ae,this.adminFooterPortalService=Ce,this.adminHeaderTitlePortalService=xe,this.viewContainerRef=Le,this.systemPagesService=Te,this.metaTitleTags=Se,this.ngUnsubscribe=new p.x,this.languages=[],this.appearance="outline",this.initialized=!1,this.AddonType=d.BR,this.systemPages={},this.form=this.fb.group({defaultLanguage:[null,i.kI.required],multilangContent:[!1,i.kI.required],availableLanguages:[null,i.kI.required]}),this.state=new x.r,this.isMultilangAddonActive=!1,this.isAdminProActive=!1,this.multilangEnabled=null,this.customUrl="/api/v2/admin/",this.topics=[],this.ondomain=ondomain,this.languages=this.languagesService.languages,this.form.disable()}get dirty(){return this.form.touched||this.form.dirty}canDeactivate(){return!this.dirty||this.unsavedWork.openConfirmLeave()}ngAfterViewInit(){this.headerTitlePortal=new c.UE(this.headerTitleTpl,this.viewContainerRef),this.adminHeaderTitlePortalService.setPortal(this.headerTitlePortal)}ngOnInit(){this.form=this.fb.group({defaultLanguage:[null,i.kI.required],multilangContent:[!1,i.kI.required],availableLanguages:[null,i.kI.required]}),this.adminFooterPortalService.setPortal(this.portalContent),this.apiService.getMapSettings(this.customUrl).pipe((0,g.R)(this.ngUnsubscribe)).subscribe(t=>{t&&(this.setTitle(t),this.mapSettings=t,this.isAdminProActive=this.mapSettings?.active_addons?.includes(d.BR.AdminPro),this.isMultilangAddonActive=this.mapSettings?.active_addons?.includes(d.BR.Multilang),this.lang=this.translate.getLanguage(),this.patchForms())}),this.languagesService.multilangContentEnabled$.pipe((0,g.R)(this.ngUnsubscribe)).subscribe(t=>{this.multilangEnabled=t,this.form.patchValue({multilangContent:t})}),this.setHelpContent()}ngOnDestroy(){this.portalContent.detach(),this.headerTitlePortal.detach(),this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}patchForms(){this.initialized||setTimeout(()=>{this.initialized=!0,this.cdr.markForCheck()},1e3),setTimeout(()=>{this.form.enable(),this.form.controls.defaultLanguage.setValue({name:this.mapSettings?.name,short_name:this.mapSettings?.shortName,topic:this.mapSettings?.topic?.id,lang:this.mapSettings?.lang},{emitEvent:!1}),this.form.controls.availableLanguages.setValue({languages_allowed:this.mapSettings?.addon_configs?.[d.BR.Multilang]?.languages_allowed??[],limit_language_selector:this.mapSettings?.addon_configs?.[d.BR.Multilang]?.limit_language_selector||!1},{emitEvent:!1}),this.languagesService.setMultilangContentEnabled(!!this.mapSettings?.addon_configs?.[d.BR.Multilang]?.multilang_content_enabled),this.form.markAsPristine(),this.form.markAsUntouched(),this.state.lastValue=this.form.value,this.cdr.markForCheck()})}
1onSubmit(){if(this.form.invalid)return;this.form.disable(),this.state.saving=!0;const n=this.form.controls.availableLanguages.value;this.apiService.patchMapSettings({lang:this.form.controls.defaultLanguage.value.lang,addon_configs:{multilang:{languages_allowed:n.languages_allowed,multilang_content_enabled:this.form.controls.multilangContent.value,limit_language_selector:n.limit_language_selector}}},this.customUrl).pipe((0,g.R)(this.ngUnsubscribe)).subscribe({next:()=>{this.form.enable(),this.state.saving=!1,this.state.lastValue=this.form.value,this.form.markAsPristine(),this.form.markAsUntouched(),this.notificationService.createNotification("mapsettings-update-success","admin_map-sett_update-success-title",this.translate.instant("front_admin_map-sett_update-success-text"),"success")},error:r=>{this.form.enable(),this.state.saving=!1,this.notificationService.createNotification("mapsettings-update-error",this.translate.instant("front_admin_map-sett_update-error-title"),this.notificationService.getErrorMessage(r),"danger")}})}setHelpContent(){const t="admin-multilang";let n=[];this.apiService.getSystemPages().pipe((0,g.R)(this.ngUnsubscribe)).subscribe(s=>{n=this.systemPagesService.getPages(s,t),n.forEach(r=>{switch(r.code){case`${t}-default-lang`:this.systemPages.defaultLang=r;break;case`${t}-map-content`:this.systemPages.mapContent=r;break;case`${t}-available-lang`:this.systemPages.availableLang=r}})})}onDiscard(){this.unsavedWork.openConfirmDiscard(()=>this.onReset())}onReset(){this.form.reset(),this.form.patchValue(this.state.lastValue),this.form.markAsPristine()}setTitle(t){const n=this.translate.instant("front_admin_languages-title");this.metaTitleTags.setTitle(`${n} | ${t?.name} | Mapotic`)}}return a.\u0275fac=function(t){return new(t||a)(e.Y36(X.s),e.Y36(i.QS),e.Y36(e.sBO),e.Y36(b.K),e.Y36($.s),e.Y36(K.g),e.Y36(q.n),e.Y36(ee.L),e.Y36(te.k),e.Y36(e.s_b),e.Y36(ne.q),e.Y36(ae.H))},a.\u0275cmp=e.Xpm({type:a,selectors:[["app-admin-settings-general-languages"]],viewQuery:function(t,n){if(1&t&&(e.Gf(c.ig,7),e.Gf(ge,5)),2&t){let s;e.iGM(s=e.CRH())&&(n.portalContent=s.first),e.iGM(s=e.CRH())&&(n.headerTitleTpl=s.first)}},standalone:!0,features:[e.jDz],decls:7,vars:3,consts:[["appFormFocusInvalid","","fxLayout","column","fxLayoutGap","40px",3,"formGroup","ngSubmit"],[4,"ngIf","ngIfElse"],["loading",""],[4,"cdkPortal"],["headerTitleTpl",""],[3,"sectionTitle","sectionSubtitle","sidebarTitle","sidebarContent","sidebarContentClass","mapSlug"],["cardContent",""],[3,"sectionTitle","sectionSubtitle","sidebarTitle","sidebarContent","sidebarContentClass","mapSlug","addonType","greyBackground"],[3,"sectionTitle","sidebarTitle","sidebarContent","sidebarContentClass","addonType","greyBackground"],["formControlName","defaultLanguage",3,"topics","lang","languages","appearance"],["formControlName","multilangContent",3,"isMultilangAddonActive","mapSlug"],["formControlName","availableLanguages",3,"isMultilangActive","mapSlug"],[1,"loading-wrapper"],[3,"diameter"],["fxLayout","row","fxLayoutGap","10px",1,"p-b-10","p-t-10"],["mat-flat-button","","color","primary","type","button",3,"disabled","click"],["class","spinner",3,"diameter",4,"ngIf"],["mat-button","","color","warn","type","button",3,"disabled","click"],[1,"spinner",3,"diameter"],[3,"title"]],template:function(t,n){if(1&t&&(e.TgZ(0,"form",0),e.NdJ("ngSubmit",function(){return n.onSubmit()}),e.YNc(1,ce,18,44,"ng-container",1),e.YNc(2,de,2,1,"ng-template",null,2,e.W1O),e.qZA(),e.YNc(4,he,11,13,"ng-container",3),e.YNc(5,fe,4,4,"ng-template",null,4,e.W1O)),2&t){const s=e.MAs(3);e.Q6J("formGroup",n.form),e.xp6(1),e.Q6J("ngIf",n.mapSettings)("ngIfElse",s)}},dependencies:[u.ez,u.O5,C.q,m.xw,m.SQ,ie.lW,se.Hw,le.Ou,c.ig,i._Y,i.JJ,i.JL,i.sg,i.u,_.X,i.u5,i.UX,A.U,oe.b,h.M,P,N,W,H.M],styles:[".spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:10px}.spinner.mat-spinner[_ngcontent-%COMP%] circle{stroke:#fff}mat-form-field[_ngcontent-%COMP%]{width:100%;font-size:14px}mat-form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{box-shadow:none!important;font-size:14px}mat-radio-button[_ngcontent-%COMP%] label{margin:0!important}.followers-text[_ngcontent-%COMP%]{font-size:14px}.loading-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-height:300px;height:100%}"],changeDetection:0}),a})()},17839:(S,f,l)=>{l.d(f,{b:()=>u});var c=l(22560);let u=(()=>{class i{constructor(g){this.el=g,this.throttle=0}onFormSubmit(){setTimeout(()=>{const g=this.el.nativeElement.querySelector(".mat-form-field-invalid");if(g&&(g.focus(),g.scrollIntoView({block:"center",inline:"center"}),typeof window<"u")){const h=window.pageYOffset||document.documentElement.scrollTop;window.scrollTo({top:h-160})}},this.throttle)}}return i.\u0275fac=function(g){return new(g||i)(c.Y36(c.SBq))},i.\u0275dir=c.lG2({type:i,selectors:[["","appFormFocusInvalid",""]],hostBindings:function(g,h){1&g&&c.NdJ("submit",function(){return h.onFormSubmit()})}}),i})()}}]);
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.