1import{a as ye,c as ne,d as Ae,h as Y}from"./chunk-BZIRJEPC.js";import{a as W}from"./chunk-CHS56LIY.js";import{a as we,d as Pe,e as Me,f as Ie}from"./chunk-4VAMX5WK.js";import{a as be,b as Ee}from"./chunk-QDRIPFVV.js";import"./chunk-DGOHN5MI.js";import"./chunk-P6TIZVOU.js";import{a as Q}from"./chunk-DRMZ367D.js";import"./chunk-UVNRP7DL.js";import"./chunk-4HVR5UFO.js";import"./chunk-CLSAFS5Q.js";import"./chunk-CJXEOJFV.js";import"./chunk-DGJ3RKEZ.js";import"./chunk-4WAUMBH6.js";import"./chunk-DAYZHUJE.js";import"./chunk-KH7K5DGA.js";import{a as k}from"./chunk-JZVF4UFD.js";import{a as R}from"./chunk-EBRNEVEB.js";import"./chunk-VO63BEYI.js";import{a as q}from"./chunk-XXUVMEHX.js";import{a as ve}from"./chunk-SIVW2O5K.js";import{a as xe}from"./chunk-IXYALPCC.js";import{a as Te}from"./chunk-X25PQIQX.js";import{a as fe,b as Ce}from"./chunk-6KLVNBIT.js";import"./chunk-2INMHT5S.js";import"./chunk-AV4I7H6P.js";import{C as ie,F as H,d as B,g as j,h as K,k as ue,m as X,p as he,q as Z,t as ee,z as te}from"./chunk-3G75FYOC.js";import{d as D,f as N,g as L}from"./chunk-MIJHCTDG.js";import"./chunk-PZHDZNOO.js";import{a as F}from"./chunk-GGODJQRR.js";import"./chunk-4ZHAVEY3.js";import"./chunk-ERNNOIEA.js";import"./chunk-BFJOYHTI.js";import"./chunk-SRQR6N6L.js";import"./chunk-7QCXACDV.js";import{qa as ge}from"./chunk-PQEV5SKX.js";import{Ac as z,Db as v,Dc as $,Fb as g,Ga as J,Hb as d,Hc as O,La as a,Lb as U,Mb as V,Nb as G,Oc as ce,Rb as le,Tb as pe,Wa as S,Wb as C,Xb as b,Yb as E,ab as y,ea as u,gb as de,kb as M,la as h,ma as f,mb as I,md as _e,rb as m,sb as r,tb as p,ua as P,ub as x,vc as c,wc as _}from"./chunk-NMIDHYRA.js";import{k as w}from"./chunk-ZOCHBAGS.js";var Ne=["footer"];function Le(i,l){if(i&1){let o=v();r(0,"div",4)(1,"dui-button",5),c(2,"translate"),g("onClick",function(){h(o);let t=d();return f(t.closePopUp())}),p(),r(3,"dui-button",6),c(4,"translate"),g("onClick",function(){h(o);let t=d();return f(t.save())}),p()()}if(i&2){let o=d();a(),m("label",_(2,5,"COMMON.CANCEL"))("disabled",o.loading()),a(2),m("label",_(4,7,"TEMPLATE_IMAGES.CREATE_FOLDER"))("disabled",o.loading()||o.form.invalid)("loading",o.loading())}}var oe="template-image-folder-create",Oe=(()=>{let l=class l{constructor(){this.formBuilder=u(ie),this.daptaPopUpController=u(R),this.daptaToastController=u(k),this.templateImagesService=u(W),this.translate=u(D),this.parentId=O(null),this.loading=P(!1),this.form=this.formBuilder.group({name:["",[B.required,B.maxLength(255)]]})}ngAfterViewInit(){this.daptaPopUpController.getPopUpById(oe).popUpComponent.setFooterTemplate(this.footer)}
1closePopUp(e){this.daptaPopUpController.closePopUp(e,oe)}save(){return w(this,null,function*(){if(this.form.invalid){this.form.markAllAsTouched();return}let e=(this.form.value.name??"").trim();if(!e){this.form.markAllAsTouched();return}this.loading.set(!0);try{let t=yield this.templateImagesService.createFolder({name:e,parent_id:this.parentId()??null});this.daptaToastController.handleSuccess({message:this.translate.instant("TEMPLATE_IMAGES.FOLDER_CREATED")}),this.closePopUp(t)}catch{this.daptaToastController.handleError({message:this.translate.instant("TEMPLATE_IMAGES.ERROR_CREATING_FOLDER")})}finally{this.loading.set(!1)}})}};l.\u0275fac=function(t){return new(t||l)},l.\u0275cmp=S({type:l,selectors:[["app-template-image-folder-create"]],viewQuery:function(t,n){if(t&1&&U(Ne,5),t&2){let s;V(s=G())&&(n.footer=s.first)}},inputs:{parentId:[1,"parentId"]},decls:7,vars:10,consts:[["footer",""],[1,"folder-create"],[3,"ngSubmit","formGroup"],["formControlName","name",3,"onEnter","label","placeholder","maxLength","autofocus","required"],[1,"folder-create__footer"],["variant","text",3,"onClick","label","disabled"],[3,"onClick","label","disabled","loading"]],template:function(t,n){if(t&1){let s=v();r(0,"div",1)(1,"form",2),g("ngSubmit",function(){return h(s),f(n.save())}),r(2,"dui-input",3),c(3,"translate"),c(4,"translate"),g("onEnter",function(){return h(s),f(n.save())}),p()()(),y(5,Le,5,9,"ng-template",null,0,z)}t&2&&(a(),m("formGroup",n.form),a(),m("label",_(3,6,"TEMPLATE_IMAGES.FOLDER_NAME"))("placeholder",_(4,8,"TEMPLATE_IMAGES.ENTER_FOLDER_NAME"))("maxLength",255)("autofocus",!0)("required",!0))},dependencies:[H,X,j,K,te,Z,ee,L,Q,F,N],styles:[".folder-create[_ngcontent-%COMP%]{padding:8px 4px 4px}.folder-create__footer[_ngcontent-%COMP%]{display:flex;gap:16px;justify-content:flex-end;padding:20px}"],changeDetection:0});let i=l;return i})();var Re=["footer"],ke=["fileInput"];function Ue(i,l){if(i&1){let o=v();r(0,"dui-button",12),g("onClick",function(){h(o);let t=d();return f(t.triggerFileInput())}),x(1,"dapta-material-icon",13),C(2),c(3,"translate"),p()}i&2&&(a(2),E(" ",_(3,1,"TEMPLATE_IMAGES.SELECT_FILE")," "))}function Ve(i,l){if(i&1){let o=v();r(0,"div",10),x(1,"dapta-material-icon",14),r(2,"span",15),C(3),p(),r(4,"dapta-material-icon",16),g("click",function(){h(o);let t=d();return f(t.removeFile())}),p()()}if(i&2){let o,e=d();a(),m("iconName",e.fileIcon()),a(2),b((o=e.selectedFile())==null?null:o.name)}}function Ge(i,l){if(i&1&&(r(0,"div",11)(1,"label",6),C(2),c(3,"translate"),p(),r(4,"div",17),x(5,"img",18),p()()),i&2){let o=d();a(2),E(" ",_(3,2,"TEMPLATE_IMAGES.PREVIEW")," "),a(3),m("src",o.imagePreview(),J)}}function ze(i,l){if(i&1){let o=v();r(0,"div",19)(1,"dui-button",20),c(2,"translate"),g("onClick",function(){h(o);let t=d();return f(t.closePopUp())}),p(),r(3,"dui-button",21),c(4,"translate"),g("onClick",function(){h(o);let t=d();return f(t.save())}),p()()}if(i&2){let o=d();a(),m("label",_(2,5,"COMMON.CANCEL"))("disabled",o.loading()),a(2),m("label",_(4,7,"TEMPLATE_IMAGES.ADD_IMAGE"))("disabled",o.loading()||o.form.invalid||!o.hasFile)("loading",o.loading())}}var ae="template-image-create",Fe=(()=>{let l=class l{constructor(){this.formBuilder=u(ie),this.daptaPopUpController=u(R),this.daptaToastController=u(k),this.templateImagesService=u(W),this.translate=u(D),this.folderId=O(null),this.folderPath=O([]),this.loading=P(!1),this.imagePreview=P(null),this.selectedFile=P(null),this.acceptedTypes=ye,this.fileIcon=$(()=>{let e=this.selectedFile();return e?Y(e.name,e.type):"draft"}),this.form=this.formBuilder.group({name:["",[B.required,B.maxLength(255)]]})}get hasFile(){return this.selectedFile()!==null}ngAfterViewInit(){this.daptaPopUpController.getPopUpById(ae).popUpComponent.setFooterTemplate(this.footer)}
1closePopUp(e){this.daptaPopUpController.closePopUp(e,ae)}triggerFileInput(){this.fileInput.nativeElement.click()}onFileSelected(e){let t=e.target,n=t.files?.[0];if(n){if(!Ae(n)){this.daptaToastController.handleError({message:this.translate.instant("TEMPLATE_IMAGES.INVALID_FILE_TYPE")}),t.value="";return}if(this.selectedFile.set(n),this.form.value.name?.trim()||this.form.patchValue({name:n.name}),ne(n.name,n.type)){let s=new FileReader;s.onload=()=>{this.imagePreview.set(s.result)},s.readAsDataURL(n)}else this.imagePreview.set(null)}}removeFile(){this.imagePreview.set(null),this.selectedFile.set(null),this.fileInput&&(this.fileInput.nativeElement.value="")}save(){return w(this,null,function*(){let e=this.selectedFile();if(this.form.invalid||!e){this.form.markAllAsTouched();return}let t=(this.form.value.name??"").trim();if(!t){this.form.markAllAsTouched();return}let s=[...this.folderPath(),e.name].join("/");this.loading.set(!0);try{let T=yield this.templateImagesService.createImage({file:e,name:t,path:s,folder_id:this.folderId()??null});this.daptaToastController.handleSuccess({message:this.translate.instant("TEMPLATE_IMAGES.IMAGE_CREATED")}),this.closePopUp(T)}catch{this.daptaToastController.handleError({message:this.translate.instant("TEMPLATE_IMAGES.ERROR_CREATING_IMAGE")})}finally{this.loading.set(!1)}})}};l.\u0275fac=function(t){return new(t||l)},l.\u0275cmp=S({type:l,selectors:[["app-template-image-create"]],viewQuery:function(t,n){if(t&1&&(U(Re,5),U(ke,5)),t&2){let s;V(s=G())&&(n.footer=s.first),V(s=G())&&(n.fileInput=s.first)}},inputs:{folderId:[1,"folderId"],folderPath:[1,"folderPath"]},decls:18,vars:16,consts:[["fileInput",""],["footer",""],[1,"image-create"],[3,"ngSubmit","formGroup"],["formControlName","name",3,"label","placeholder","maxLength","autofocus","required"],[1,"image-create__upload"],[1,"image-create__upload-label"],[1,"image-create__required"],["type","file",1,"image-create__file-input",3,"change","accept"],["variant","outlined","type","button"],[1,"image-create__file-info"],[1,"image-create__preview"],["variant","outlined","type","button",3,"onClick"],["iconName","upload","iconClass","dapta-button__icon","size","18px"],["size","16px",3,"iconName"],[1,"image-create__file-name"],["iconName","close","size","16px",1,"image-create__file-remove",3,"click"],[1,"image-create__preview-container"],["alt","Preview",1,"image-create__preview-img",3,"src"],[1,"image-create__footer"],["variant","text",3,"onClick","label","disabled"],[3,"onClick","label","disabled","loading"]],template:function(t,n){if(t&1){let s=v();r(0,"div",2)(1,"form",3),g("ngSubmit",function(){return h(s),f(n.save())}),x(2,"dui-input",4),c(3,"translate"),c(4,"translate"),r(5,"div",5)(6,"label",6),C(7),c(8,"translate"),r(9,"span",7),C(10,"*"),p()(),r(11,"input",8,0),g("change",function(A){return h(s),f(n.onFileSelected(A))}),p(),M(13,Ue,4,3,"dui-button",9)(14,Ve,5,2,"div",10),p(),M(15,Ge,6,4,"div",11),p()(),y(16,ze,5,9,"ng-template",null,1,z)}t&2&&(a(),m("formGroup",n.form),a(),m("label",_(3,10,"TEMPLATE_IMAGES.IMAGE_NAME"))("placeholder",_(4,12,"TEMPLATE_IMAGES.ENTER_IMAGE_NAME"))("maxLength",255)("autofocus",!0)("required",!0),a(5),E(" ",_(8,14,"TEMPLATE_IMAGES.IMAGE_FILE")," "),a(4),m("accept",n.acceptedTypes),a(2),I(n.hasFile?14:13),a(2),I(n.imagePreview()?15:-1))},dependencies:[H,X,j,K,te,Z,ee,L,Q,F,q,N],styles:[".image-create[_ngcontent-%COMP%]{padding:8px 4px 4px}.image-create__upload[_ngcontent-%COMP%]{margin-top:16px}.image-create__upload-label[_ngcontent-%COMP%]{display:block;margin-bottom:6px;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.image-create__required[_ngcontent-%COMP%]{color:var(--danger-500);margin-left:2px}.image-create__file-input[_ngcontent-%COMP%]{display:none}.image-create__file-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--space-200);border-radius:8px;background-color:var(--space-400);color:var(--text-primary);font-size:var(--font-size-body)}.image-create__file-name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-create__file-remove[_ngcontent-%COMP%]{cursor:pointer;color:var(--text-secondary);transition:color .12s ease}.image-create__file-remove[_ngcontent-%COMP%]:hover{color:var(--danger-500)}.image-create__preview[_ngcontent-%COMP%]{margin-top:16px}.image-create__preview-container[_ngcontent-%COMP%]{border:1px solid var(--space-200);border-radius:8px;overflow:hidden;background-color:var(--space-400);padding:8px;display:flex;align-items:center;justify-content:center;max-height:160px}.image-create__preview-img[_ngcontent-%COMP%]{max-width:100%;max-height:140px;object-fit:contain;border-radius:4px}.image-create__footer[_ngcontent-%COMP%]{display:flex;gap:16px;justify-content:flex-end;padding:20px}"],changeDetection:0});let i=l;return i})();var Be=["footer"];function je(i,l){if(i&1&&x(0,"img",3),i&2){let o=d();m("src",o.imageUrl(),J)("alt",o.imageName())}}function He(i,l){if(i&1&&(r(0,"div",4),x(1,"dapta-material-icon",9),r(2,"span",10),C(3),p()()),i&2){let o=d();a(),m("iconName",o.fileIcon()),a(2),b(o.imageName())}}function qe(i,l){if(i&1){let o=v();r(0,"div",11)(1,"dui-button",12),c(2,"translate"),g("onClick",function(){h(o);let t=d();return f(t.closePopUp())}),p(),r(3,"dui-button",13),g("onClick",function(){h(o);let t=d();return f(t.openInNewTab())}),x(4,"dapta-material-icon",14),C(5),c(6,"translate"),p()()}i&2&&(a(),m("label",_(2,2,"COMMON.CANCEL")),a(4),E(" ",_(6,4,"TEMPLATE_IMAGES.OPEN_IN_NEW_TAB")," "))}var re="template-image-preview",De=(()=>{let l=class l{constructor(){this.daptaPopUpController=u(R),this.daptaToastController=u(k),this.translate=u(D),this.imageUrl=O(""),this.imageName=O(""),this.isImage=$(()=>ne(this.imageUrl()||this.imageName())),this.fileIcon=$(()=>Y(this.imageUrl()||this.imageName()))}ngAfterViewInit(){this.daptaPopUpController.getPopUpById(re).popUpComponent.setFooterTemplate(this.footer)}
1closePopUp(){this.daptaPopUpController.closePopUp(null,re)}copyUrl(){navigator.clipboard.writeText(this.imageUrl()).then(()=>{this.daptaToastController.handleSuccess({message:this.translate.instant("TEMPLATE_IMAGES.URL_COPIED")})})}openInNewTab(){window.open(this.imageUrl(),"_blank")}};l.\u0275fac=function(t){return new(t||l)},l.\u0275cmp=S({type:l,selectors:[["app-template-image-preview"]],viewQuery:function(t,n){if(t&1&&U(Be,5),t&2){let s;V(s=G())&&(n.footer=s.first)}},inputs:{imageUrl:[1,"imageUrl"],imageName:[1,"imageName"]},decls:11,vars:2,consts:[["footer",""],[1,"image-preview"],[1,"image-preview__container"],[1,"image-preview__img",3,"src","alt"],[1,"image-preview__file"],[1,"image-preview__url-row"],["iconName","link","size","16px"],[1,"image-preview__url-text"],["iconName","content_copy","size","16px",1,"image-preview__copy-icon",3,"click"],["size","48px",3,"iconName"],[1,"image-preview__file-name"],[1,"image-preview__footer"],["variant","text",3,"onClick","label"],["variant","outlined",3,"onClick"],["iconName","open_in_new","iconClass","dapta-button__icon","size","18px"]],template:function(t,n){if(t&1){let s=v();r(0,"div",1)(1,"div",2),M(2,je,1,2,"img",3)(3,He,4,2,"div",4),p(),r(4,"div",5),x(5,"dapta-material-icon",6),r(6,"span",7),C(7),p(),r(8,"dapta-material-icon",8),g("click",function(){return h(s),f(n.copyUrl())}),p()()(),y(9,qe,7,6,"ng-template",null,0,z)}t&2&&(a(2),I(n.isImage()?2:3),a(5),b(n.imageUrl()))},dependencies:[L,F,q,N],styles:[".image-preview[_ngcontent-%COMP%]{padding:8px 4px 4px}.image-preview__container[_ngcontent-%COMP%]{border:1px solid var(--space-200);border-radius:8px;overflow:hidden;background-color:var(--space-400);padding:8px;display:flex;align-items:center;justify-content:center;min-height:120px;max-height:360px}.image-preview__img[_ngcontent-%COMP%]{max-width:100%;max-height:340px;object-fit:contain;border-radius:4px}.image-preview__file[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;color:var(--text-secondary);text-align:center}.image-preview__file-name[_ngcontent-%COMP%]{font-size:var(--font-size-body);word-break:break-word}.image-preview__url-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;border:1px solid var(--space-200);border-radius:8px;background-color:var(--space-400);color:var(--text-secondary);font-size:var(--font-size-body)}.image-preview__url-text[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview__copy-icon[_ngcontent-%COMP%]{cursor:pointer;color:var(--text-secondary);transition:color .12s ease}.image-preview__copy-icon[_ngcontent-%COMP%]:hover{color:var(--primary-500)}.image-preview__footer[_ngcontent-%COMP%]{display:flex;gap:16px;justify-content:flex-end;padding:20px}"],changeDetection:0});let i=l;return i})();function Qe(i,l){if(i&1){let o=v();r(0,"dui-button",19),c(1,"translate"),g("onClick",function(){h(o);let t=d();return f(t.createFolder(null))}),x(2,"dapta-material-icon",20),r(3,"span",21),C(4),c(5,"translate"),p()()}i&2&&(m("ariaLabel",_(1,2,"TEMPLATE_IMAGES.NEW_FOLDER")),a(4),b(_(5,4,"TEMPLATE_IMAGES.NEW_FOLDER")))}function We(i,l){if(i&1){let o=v();r(0,"dui-button",22),c(1,"translate"),g("onClick",function(){h(o);let t=d();return f(t.addImage(null))}),x(2,"dapta-material-icon",23),r(3,"span",21),C(4),c(5,"translate"),p()()}i&2&&(m("ariaLabel",_(1,2,"TEMPLATE_IMAGES.ADD_IMAGE")),a(4),b(_(5,4,"TEMPLATE_IMAGES.ADD_IMAGE")))}function Ye(i,l){i&1&&(r(0,"colgroup"),x(1,"col",24)(2,"col",25)(3,"col",26),p())}function $e(i,l){i&1&&(r(0,"tr")(1,"th",24),C(2),c(3,"translate"),p(),r(4,"th",25),C(5),c(6,"translate"),p(),x(7,"th",26),p()),i&2&&(a(2),b(_(3,2,"TEMPLATE_IMAGES.COL_NAME")),a(3),b(_(6,4,"TEMPLATE_IMAGES.COL_URL")))}function Je(i,l){if(i&1){let o=v();
1r(0,"dapta-material-icon",36),g("click",function(t){h(o),d();let n=le(4);return f(n.onClick(t))}),p()}if(i&2){let o=d().$implicit;m("iconName",o.node.expanded?"folder_open":"folder")}}function Ke(i,l){if(i&1&&x(0,"dapta-material-icon",31),i&2){let o=d().rowData,e=d();m("iconName",e.getFileIcon(o))}}function Xe(i,l){i&1&&(r(0,"span",33),C(1),c(2,"translate"),p()),i&2&&(a(),b(_(2,1,"folder")))}function Ze(i,l){if(i&1&&(r(0,"span",34),C(1),p()),i&2){let o=d().rowData;m("pTooltip",o.url)("showDelay",300),a(),E(" ",o.url," ")}}function et(i,l){if(i&1){let o=v();r(0,"div",35)(1,"p-menu",37,1),g("onShow",function(){h(o);let t=d().rowData,n=d();return f(n.onMenuShow(t))})("onHide",function(){h(o);let t=d(2);return f(t.onMenuHide())}),p(),r(3,"dui-button",38),c(4,"translate"),g("onClick",function(t){h(o);let n=le(2);return t.stopPropagation(),f(n.toggle(t))}),p()()}if(i&2){let o=d().rowData,e=d();a(),m("model",e.isFolderRow(o)?e.menuItemsForFolder:e.menuItemsForImage)("popup",!0),a(2),m("ariaLabel",_(4,3,"actions"))}}function tt(i,l){if(i&1&&(r(0,"tr",27)(1,"td",24)(2,"div",28),x(3,"p-treeTableToggler",29,0),M(5,Je,1,1,"dapta-material-icon",30)(6,Ke,1,1,"dapta-material-icon",31),r(7,"span",32),C(8),p(),M(9,Xe,3,3,"span",33),p()(),r(10,"td",25),M(11,Ze,2,3,"span",34),p(),r(12,"td",26),M(13,et,5,5,"div",35),p()()),i&2){let o=l.$implicit,e=l.rowData,t=d();pe("tree-row--folder",t.isFolderRow(e)),m("ttRow",o),a(3),m("rowNode",o),a(2),I(t.isFolderRow(e)?5:6),a(2),pe("column-name--folder",t.isFolderRow(e)),m("pTooltip",e.name)("showDelay",300),a(),E(" ",e.name," "),a(),I(t.isFolderRow(e)?9:-1),a(2),I(!t.isFolderRow(e)&&e.url?11:-1),a(2),I(t.canEditFiles()||!t.isFolderRow(e)?13:-1)}}function it(i,l){i&1&&(r(0,"tr")(1,"td"),C(2),c(3,"translate"),p()()),i&2&&(a(),de("colspan",3),a(),E(" ",_(3,2,"TEMPLATE_IMAGES.EMPTY")," "))}var gi=(()=>{let l=class l{constructor(){this.templateImagesService=u(W),this.translate=u(D),this.daptaToastController=u(k),this.daptaPopUpController=u(R),this.cdr=u(ce),this.rolesPermissionsService=u(xe),this.searchControl=new ue(""),this.treeNodes=P([]),this.loading=P(!1),this.totalResults=P(0),this.currentPage=1,this.pageSize=20,this.currentTextFilter="",this.rowToEdit=null,this.permissionsList=Te,this.canEditFiles=this.rolesPermissionsService.hasSignalPermission(this.permissionsList.DATA_STUDIO.TEMPLATE_IMAGES_WRITE),this.menuItemsForFolder=[{label:this.translateOrFallback("TEMPLATE_IMAGES.NEW_FOLDER","New folder"),icon:"pi pi-folder",command:()=>this.createFolder(this.rowToEdit?.id??null)},{label:this.translateOrFallback("TEMPLATE_IMAGES.ADD_IMAGE","Add file"),icon:"pi pi-file",command:()=>this.addImage(this.rowToEdit?.id??null)}],this.menuItemsForImage=[{label:this.translateOrFallback("TEMPLATE_IMAGES.VIEW_FILE","View file"),icon:"pi pi-eye",command:()=>this.rowToEdit&&this.openFilePreview(this.rowToEdit)},{label:this.translateOrFallback("TEMPLATE_IMAGES.COPY_URL","Copy URL"),icon:"pi pi-copy",command:()=>this.rowToEdit?.url&&this.copyUrl(this.rowToEdit.url)}]}ngOnInit(){this.loadTree()}loadTree(){return w(this,arguments,function*(e=this.currentPage,t=this.currentTextFilter){this.loading.set(!0);try{let n=yield this.templateImagesService.getTree({parentId:null,textFilter:t||void 0,page:e,pageSize:this.pageSize});this.treeNodes.set(n.records.map(s=>this.toTreeNode(s))),this.totalResults.set(n.total_records)}catch{this.daptaToastController.handleError({message:this.translate.instant("TEMPLATE_IMAGES.ERROR_LOADING")})}finally{this.loading.set(!1),this.cdr.markForCheck()}})}onNodeExpand(e){return w(this,null,function*(){let t=e.node;if(!(!t?.data||!this.isFolderRow(t.data))&&!((t.children?.length??0)>0)){t.loading=!0;try{let n=yield this.templateImagesService.getTree({parentId:t.data.id,page:1,pageSize:100});t.children=n.records.map(s=>this.toTreeNode(s))}catch{this.daptaToastController.handleError({message:this.translate.instant("TEMPLATE_IMAGES.ERROR_LOADING")})}finally{t.loading=!1,this.treeNodes.update(n=>[...n]),this.cdr.markForCheck()}}})}onPageChange(e){let t=e.first??0,n=e.rows??this.pageSize;this.currentPage=Math.floor(t/n)+1,this.loadTree()}applyFilter(e){this.currentTextFilter=e,this.currentPage=1,this.loadTree()}clearFilter(){this.searchControl.setValue(""),this.applyFilter("")}refreshTable(){this.loadTree()}createFolder(e=null){return w(this,null,function*(){(yield this.daptaPopUpController.openPopUp({component:Oe,componentProps:{parentId:e},id:oe,header:{title:this.translate.instant("TEMPLATE_IMAGES.CREATE_FOL
1DER")},styles:{height:"fit-content",maxHeight:"320px",width:"420px"}})).popUpClosed().then(n=>{n&&this.refreshCurrentLevel()})})}addImage(e=null){return w(this,null,function*(){let t=e?this.buildFolderPath(e):[];(yield this.daptaPopUpController.openPopUp({component:Fe,componentProps:{folderId:e,folderPath:t},id:ae,header:{title:this.translate.instant("TEMPLATE_IMAGES.ADD_IMAGE")},styles:{height:"fit-content",maxHeight:"520px",width:"420px"}})).popUpClosed().then(s=>{s&&this.refreshCurrentLevel()})})}refreshCurrentLevel(){this.loadTree(this.currentPage,this.currentTextFilter)}onMenuShow(e){this.rowToEdit=e}onMenuHide(){this.rowToEdit=null}isFolderRow(e){return e.type==="template_image_folder"}copyUrl(e){navigator.clipboard.writeText(e).then(()=>{this.daptaToastController.handleSuccess({message:this.translate.instant("TEMPLATE_IMAGES.URL_COPIED")})})}getFileIcon(e){return Y(e.url??e.name)}openFilePreview(e){return w(this,null,function*(){e.url&&(yield this.daptaPopUpController.openPopUp({component:De,componentProps:{imageUrl:e.url,imageName:e.name},id:re,header:{title:e.name},styles:{height:"fit-content",maxHeight:"580px",width:"520px"}}))})}buildFolderPath(e){let t=[],n=(s,T)=>{for(let A of s)if(A.data){if(A.data.id===T)return t.push(A.data.name),!0;if(A.children?.length&&n(A.children,T))return t.unshift(A.data.name),!0}return!1};return n(this.treeNodes(),e),t}translateOrFallback(e,t){let n=this.translate.instant(e);return n===e?t:n}toTreeNode(e){let t=this.isFolderRow(e);return{data:e,children:t?[]:void 0,leaf:!t}}};l.\u0275fac=function(t){return new(t||l)},l.\u0275cmp=S({type:l,selectors:[["app-template-images"]],decls:23,vars:25,consts:[["toggler",""],["options",""],[1,"template-images","template-images--padding"],[1,"template-images__title","text--title"],[1,"margin-top--8"],[1,"search-container"],[1,"search-form"],["icon","pi pi-search",3,"onEnter","onClear","formControl","showClear","placeholder"],[1,"toolbar-actions"],[1,"toolbar-buttons"],["variant","outlined","icon","pi pi-refresh","styleClass","template-images-action-button","tooltipPosition","bottom",3,"onClick","pTooltip"],["variant","outlined",3,"ariaLabel","onClick",4,"appHasPermission"],[3,"ariaLabel","onClick",4,"appHasPermission"],[1,"table-container"],["styleClass","dapta-treetable",3,"onPage","onNodeExpand","value","loading","paginator","lazy","rows","totalRecords","rowHover","first","showGridlines"],["pTemplate","colgroup"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],["variant","outlined",3,"onClick","ariaLabel"],["iconName","create_new_folder","iconClass","dapta-button__icon"],[1,"hidden","md:inline"],[3,"onClick","ariaLabel"],["iconName","add_circle","iconClass","dapta-button__icon"],[1,"col-name"],[1,"col-url"],[1,"col-actions"],[3,"ttRow"],[1,"cell-name"],[3,"rowNode"],["size","18px",1,"folder-row__icon",3,"iconName"],["size","18px",1,"image-row__icon",3,"iconName"],["tooltipPosition","top","appendTo","body",1,"column-name",3,"pTooltip","showDelay"],[1,"folder-row__label"],["tooltipPosition","top","appendTo","body",1,"url-text",3,"pTooltip","showDelay"],[1,"flex","justify-content-end"],["size","18px",1,"folder-row__icon",3,"click","iconName"],["appendTo","body",3,"onShow","onHide","model","popup"],["variant","text","icon","pi pi-ellipsis-v","size","small","styleClass","row-menu-button",3,"onClick","ariaLabel"]],template:function(t,n){t&1&&(r(0,"section",2)(1,"h1",3),C(2),c(3,"translate"),p(),r(4,"p",4),C(5),c(6,"translate"),p(),r(7,"div",5)(8,"div",6)(9,"dui-input",7),c(10,"translate"),g("onEnter",function(){return n.applyFilter(n.searchControl.value||"")})("onClear",function(){return n.clearFilter()}),p()(),r(11,"div",8)(12,"div",9)(13,"dui-button",10),c(14,"translate"),g("onClick",function(){return n.refreshTable()}),p(),y(15,Qe,6,6,"dui-button",11)(16,We,6,6,"dui-button",12),p()()(),r(17,"div",13)(18,"p-treetable",14),g("onPage",function(T){return n.onPageChange(T)})("onNodeExpand",function(T){return n.onNodeExpand(T)}),y(19,Ye,4,0,"ng-template",15)(20,$e,8,6,"ng-template",16)(21,tt,14,13,"ng-template",17)(22,it,4,4,"ng-template",18),p()()()),t&2&&(a(2),b(_(3,17,"TEMPLATE_IMAGES.TITLE")),a(3),E(" ",_(6,19,"TEMPLATE_IMAGES.DESCRIPTION")," "),a(4),m("formControl",n.searchControl)("showClear",!0)("placeholder",_(10,21,"TEMPLATE_IMAGES.SEARCH_PLACEHOLDER")),a(4),m("pTooltip",_(14,23,"refresh")),a(2),m("appHasPermission",
1n.permissionsList.DATA_STUDIO.TEMPLATE_IMAGES_WRITE),a(),m("appHasPermission",n.permissionsList.DATA_STUDIO.TEMPLATE_IMAGES_WRITE),a(2),m("value",n.treeNodes())("loading",n.loading())("paginator",!0)("lazy",!0)("rows",n.pageSize)("totalRecords",n.totalResults())("rowHover",!0)("first",(n.currentPage-1)*n.pageSize)("showGridlines",!0))},dependencies:[_e,H,j,he,Ee,be,ge,Ie,we,Me,Pe,Ce,fe,L,q,F,Q,ve,N],styles:[".template-images[_ngcontent-%COMP%]{--toolbar-height: 40px;--action-size: 40px;--toolbar-radius: 10px;--toolbar-bg: var(--space-400);--toolbar-bg-active: color-mix(in srgb, var(--green-dapta-400) 8%, var(--space-400));--toolbar-border: var(--space-200);--toolbar-border-hover: var(--green-dapta-400);--toolbar-icon: var(--space-100);height:100%;overflow:auto;display:flex;flex-direction:column}.template-images__title[_ngcontent-%COMP%]{padding-top:16px}.template-images--padding[_ngcontent-%COMP%]{padding:var(--page-padding);padding-top:0;padding-bottom:0}.search-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.search-form[_ngcontent-%COMP%]{margin-top:1rem;flex:1;max-width:500px}.toolbar-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;flex-wrap:nowrap;gap:6px;margin-top:1rem}.toolbar-buttons[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;height:var(--toolbar-height);margin-left:0}[_nghost-%COMP%] button.dui-button.template-images-action-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--action-size);min-width:var(--action-size);height:var(--toolbar-height);min-height:var(--toolbar-height);max-height:var(--toolbar-height);padding:0;border-color:var(--toolbar-border);border-radius:var(--toolbar-radius);color:var(--toolbar-icon);background:var(--toolbar-bg);box-shadow:none;line-height:1}[_nghost-%COMP%] button.dui-button.template-images-action-button:enabled:hover, [_nghost-%COMP%] button.dui-button.template-images-action-button:enabled:focus, [_nghost-%COMP%] button.dui-button.template-images-action-button:enabled:focus-visible{color:var(--green-dapta-400);border-color:var(--toolbar-border-hover);background:var(--toolbar-bg-active);box-shadow:none;outline:none}[_nghost-%COMP%] button.dui-button.template-images-action-button .p-button-icon{font-size:17px;line-height:1}[_nghost-%COMP%] button.dui-button.template-images-action-button dapta-material-icon{display:flex;align-items:center;justify-content:center;line-height:0}.table-container[_ngcontent-%COMP%]{flex:1;position:relative;padding-top:8px;overflow-x:auto}[_nghost-%COMP%] .dapta-treetable .p-treetable-table{width:max-content;min-width:100%;table-layout:auto}[_nghost-%COMP%] .dapta-treetable th, [_nghost-%COMP%] .dapta-treetable td{box-sizing:border-box}.col-name[_ngcontent-%COMP%]{width:300px;min-width:300px;text-align:left}[_nghost-%COMP%] .dapta-treetable .p-treetable-thead>tr>th.col-name, [_nghost-%COMP%] .dapta-treetable .p-treetable-tbody>tr>td.col-name{position:sticky;left:0;z-index:8;background-color:var(--space-500);background-clip:padding-box;overflow:hidden;box-shadow:1px 0 0 var(--space-200),10px 0 14px #00000038}[_nghost-%COMP%] .dapta-treetable .p-treetable-thead>tr>th.col-name{z-index:9}[_nghost-%COMP%] .dapta-treetable .p-treetable-tbody>tr:not(.p-treetable-row-selected):hover>td.col-name{background-color:var(--space-400)}[_nghost-%COMP%] .dapta-treetable .p-treetable-thead>tr>th.col-name{text-align:left}[_nghost-%COMP%] .dapta-treetable .p-treetable-tbody>tr>td.col-name{text-align:left;padding-inline:12px}
1.col-url[_ngcontent-%COMP%]{min-width:200px;text-align:left}.col-actions[_ngcontent-%COMP%]{width:100px;min-width:100px;text-align:right}[_nghost-%COMP%] .dapta-treetable .p-treetable-thead>tr>th.col-actions, [_nghost-%COMP%] .dapta-treetable .p-treetable-tbody>tr>td.col-actions{padding-inline:8px;text-align:right}.cell-name[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;width:100%;min-width:0;overflow:hidden}.column-name[_ngcontent-%COMP%]{flex:1;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-name--folder[_ngcontent-%COMP%]{font-weight:var(--font-weight-semibold)}.column-name[_ngcontent-%COMP%]:hover{color:var(--primary-500)}.folder-row__icon[_ngcontent-%COMP%]{color:var(--primary-500);cursor:pointer}.folder-row__label[_ngcontent-%COMP%]{flex:0 0 auto;margin-left:2px;padding:2px 8px;border:1px solid var(--space-200);border-radius:12px;background-color:color-mix(in srgb,var(--space-300) 70%,transparent);color:var(--text-secondary);font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.3px}.image-row__icon[_ngcontent-%COMP%], .tree-row--folder[_ngcontent-%COMP%]{color:var(--text-secondary)}.tree-row--folder[_ngcontent-%COMP%] .column-name--folder[_ngcontent-%COMP%]{flex:0 1 auto;color:var(--text-primary)}.tree-row--folder[_ngcontent-%COMP%] .folder-row__icon[_ngcontent-%COMP%]{color:var(--primary-500)}.url-text[_ngcontent-%COMP%]{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:var(--font-size-body)}.row-actions[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.action-icon[_ngcontent-%COMP%]{cursor:pointer;color:var(--text-secondary);transition:color .12s ease}.action-icon[_ngcontent-%COMP%]:hover{color:var(--primary-500)}.row-menu-button[_ngcontent-%COMP%]{color:var(--text-secondary)}@media(max-width:800px){.search-container[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column;gap:1rem}.search-form[_ngcontent-%COMP%]{max-width:none;width:100%}.toolbar-actions[_ngcontent-%COMP%]{justify-content:flex-start;width:100%}.toolbar-buttons[_ngcontent-%COMP%]{width:100%}}[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .p-treetable.dapta-treetable .p-treetable-thead>tr>th{white-space:nowrap;background-color:var(--space-500);border:none!important}[_nghost-%COMP%] .p-treetable.dapta-treetable .p-treetable-thead>tr>th .column-header{display:flex;align-items:center;gap:4px;min-width:0}[_nghost-%COMP%] .p-treetable.dapta-treetable .p-treetable-thead>tr>th .column-header>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}[_nghost-%COMP%] .p-treetable.dapta-treetable .p-treetable-tbody>tr>td{padding:8px 16px;white-space:nowrap;border:none!important;border-bottom:1px solid var(--space-200)!important}[_nghost-%COMP%] .p-treetable.dapta-treetable .p-treetable-tbody>tr>td .cell-content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[_nghost-%COMP%] .p-treetable.dapta-treetable .p-treetable-tbody>tr:nth-child(odd){background-color:transparent!important}[_nghost-%COMP%] .p-treetable.dapta-treetable .p-treetable-tbody>tr:not(.p-treetable-row-selected):hover{background-color:var(--space-400)!important}[_nghost-%COMP%] .p-treetable.dapta-treetable .p-paginator{position:sticky;bottom:0;background-color:var(--space-500);z-index:1;border:none!important}[_nghost-%COMP%] .p-treetable .p-treetable-tbody>tr{background-color:transparent!important}"],changeDetection:0});let i=l;return i})();export{gi as TemplateImagesComponent};
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.