PageSourceSearch

https://app.timix.ai/chunk-XEQGWIHY.js

js timix.ai collected 2026-10-05 13:59:34 UTC 12,335 bytes, 1 lines download raw bytes

1import{a as Z}from"./chunk-PQFGMNK2.js";import{c as B,d as te}from"./chunk-YMF4U2T3.js";import{a as X}from"./chunk-N3DJKW4L.js";import{a as ee}from"./chunk-CHX5Z37A.js";import"./chunk-3DMSNHIN.js";import{a as Q}from"./chunk-4KU7OFDB.js";import"./chunk-MKEORCA2.js";import{a as K}from"./chunk-YLAVS2OH.js";import"./chunk-XIUPUWS2.js";import{a as U}from"./chunk-BWTGMZSK.js";import{E as J,g as j,n as W,w as H,x as Y,y as G}from"./chunk-GSV7AEOW.js";import{T as q,v as y}from"./chunk-5WB6OT6J.js";import{i as D,j as z}from"./chunk-4BQ2D56M.js";import{g as E,i as A,j as N,k as $}from"./chunk-D66FS6PW.js";import"./chunk-VOACWWGK.js";import{t as R}from"./chunk-3ETYRU43.js";import{$b as P,Ac as a,Bb as F,Bc as f,Cc as V,Ea as L,Hb as b,Oa as g,Rb as S,Sb as T,Sc as l,Tc as c,Xb as I,_b as O,ac as i,bc as n,cc as k,gc as w,hd as M,lc as _,ma as u,mc as v,ob as t,wa as x,xa as h,zc as o}from"./chunk-BZRRMV4J.js";import"./chunk-ZY7WU73K.js";var ie=(r,p)=>p.id;function ne(r,p){if(r&1&&(i(0,"option",9),o(1),n()),r&2){let e=p.$implicit;S("value",e.id),t(),a(e.name)}}function oe(r,p){r&1&&(i(0,"div",17),o(1),l(2,"transloco"),n()),r&2&&(t(),a(c(2,1,"invoicing.list.loading")))}function re(r,p){if(r&1){let e=w();i(0,"div",17)(1,"i",19),o(2,"error_outline"),n(),o(3),l(4,"transloco"),k(5,"br"),i(6,"button",20),_("click",function(){x(e);let s=v();return h(s.load())}),o(7),l(8,"transloco"),n()()}r&2&&(t(3),f(" ",c(4,2,"invoicing.list.loadError")," "),t(4),a(c(8,4,"invoicing.list.retry")))}function ae(r,p){r&1&&(o(0),l(1,"transloco"),i(2,"a",21),o(3),l(4,"transloco"),n(),o(5,". ")),r&2&&(f(" ",c(1,2,"invoicing.list.noCustomersYet")," "),t(3),a(c(4,4,"invoicing.list.goToCustomers")))}function le(r,p){if(r&1){let e=w();o(0),l(1,"transloco"),i(2,"button",22),_("click",function(){x(e);let s=v(2);return h(s.create())}),o(3),l(4,"transloco"),n(),o(5,". ")}r&2&&(f(" ",c(1,2,"invoicing.list.empty")," "),t(3),a(c(4,4,"invoicing.list.createFirst")))}function ce(r,p){if(r&1&&(i(0,"div",17),b(1,ae,6,6)(2,le,6,6),n()),r&2){let e=v();t(),I(e.noCustomers()?1:2)}}function se(r,p){r&1&&(i(0,"span",29),o(1),l(2,"transloco"),n()),r&2&&(t(),a(c(2,1,"invoicing.badge.creditNote")))}function de(r,p){if(r&1){let e=w();i(0,"button",22),_("click",function(s){x(e);let m=v().$implicit;return v(2).openFrameOrder(m.frameOrderId),h(s.stopPropagation())}),o(1),n()}if(r&2){let e=v().$implicit;t(),f(" ",e.frameOrderReference," ")}}function pe(r,p){r&1&&o(0," \u2014 ")}function me(r,p){if(r&1){let e=w();i(0,"tr",27),_("click",function(){let s=x(e).$implicit,m=v(2);return h(m.open(s.id))}),i(1,"td")(2,"span",28),o(3),l(4,"transloco"),n(),b(5,se,3,3,"span",29),n(),i(6,"td"),o(7),n(),i(8,"td",30),b(9,de,2,1,"button",31)(10,pe,1,0),n(),i(11,"td",30),o(12),n(),i(13,"td",32),o(14),n(),i(15,"td",25)(16,"span",33)(17,"i",34),o(18),n(),o(19),l(20,"transloco"),n()(),i(21,"td",30),o(22),n(),i(23,"td",25)(24,"button",22),_("click",function(s){let m=x(e).$implicit;return v(2).downloadPdf(m),h(s.stopPropagation())}),o(25),l(26,"transloco"),n()()()}if(r&2){let e=p.$implicit,d=v(2);t(3),a(e.invoiceNumber||c(4,15,"invoiceStatus.draft")),t(2),I(e.isCreditNote?5:-1),t(2),a(e.customerName),t(2),I(e.frameOrderReference?9:10),t(3),V("",d.formatDate(e.periodStart)," \u2013 ",d.formatDate(e.periodEnd),""),t(2),a(d.money(e.totalAmount,e.currency)),t(2),T("color",d.statusMeta(e.status).token)("background",d.badgeBg(e.status)),t(2),a(d.statusMeta(e.status).icon),t(),f(" ",c(20,17,d.statusMeta(e.status).label)," "),t(3),a(d.formatDate(e.invoiceDate)),t(3),a(c(26,19,"invoicing.pdf.download"))}}function ve(r,p){if(r&1&&(i(0,"div",18)(1,"table",23)(2,"thead")(3,"tr")(4,"th"),o(5),l(6,"transloco"),n(),i(7,"th"),o(8),l(9,"transloco"),n(),i(10,"th"),o(11),l(12,"transloco"),n(),i(13,"th"),o(14),l(15,"transloco"),n(),i(16,"th",24),o(17),l(18,"transloco"),n(),i(19,"th",25),o(20),l(21,"transloco"),n(),i(22,"th"),o(23),l(24,"transloco"),n(),i(25,"th",25),o(26),l(27,"transloco"),n()()(),i(28,"tbody"),O(29,me,27,21,"tr",26,ie),n()()()),r&2){let e=v();t(5),a(c(6,8,"invoicing.table.invoiceNumber")),t(3),a(c(9,10,"invoicing.table.customer")),t(3),a(c(12,12,"invoicing.table.frameOrder")),t(3),a(c(15,14,"invoicing.table.period")),t(3),a(c(18,16,"invoicing.table.total")),t(3),a(c(21,18,"invoicing.table.status")),t(3),a(c(24,20,"invoicing.table.issued")),t(3),a(c(27,22,"invoicing.table.pdf")),t(3),P(e.invoices())}}var Fe=(()=>
1{class r{constructor(){this.router=u(D),this.api=u(ee),this.customerApi=u(Z),this.authService=u(q),this.toast=u(K),this.destroyRef=u(L),this.authzService=u(U),this.translocoService=u(N),this._lang=A(this.translocoService.langChanges$,{initialValue:this.translocoService.getActiveLang()}),this.invoices=g([]),this.customers=g([]),this.customersLoaded=g(!1),this.loading=g(!0),this.loadError=g(!1),this.customerFilter=g(""),this.statusFilter=g(""),this.noCustomers=M(()=>this.customersLoaded()&&this.customers().length===0),this.breadcrumbs=M(()=>(this._lang(),[{label:this.translocoService.translate("invoicing.breadcrumb.invoices"),url:"/invoicing",icon:"request_quote"}])),this.canWrite=M(()=>this.authzService.hasAnyRoleSync([y.Owner,y.Admin,y.Finance])),this.headerActions=M(()=>(this._lang(),this.canWrite()?[{label:this.translocoService.translate("invoicing.createInvoice"),icon:"add",action:()=>this.create(),type:"primary"}]:[])),this.statusMeta=B,this.formatDate=te}ngOnInit(){this.loadCustomers(),this.load()}money(e,d){return X(e??0,d)}badgeBg(e){return`color-mix(in srgb, ${B(e).token} 15%, transparent)`}onCustomerFilter(e){this.customerFilter.set(e),this.load()}onStatusFilter(e){this.statusFilter.set(e),this.load()}create(){this.router.navigate(["/invoicing/create"])}open(e){this.router.navigate(["/invoicing",e])}openFrameOrder(e){this.router.navigate(["/frame-orders",e])}load(){this.loading.set(!0),this.loadError.set(!1),this.api.list(this.customerFilter()||void 0,this.statusFilter()||void 0).pipe(E(this.destroyRef)).subscribe({next:e=>{this.loading.set(!1),e.success&&e.data?this.invoices.set(e.data):e.success?this.invoices.set([]):(this.loadError.set(!0),this.invoices.set([]))},error:()=>{this.loading.set(!1),this.loadError.set(!0),this.invoices.set([])}})}loadCustomers(){let e=this.authService.getOrganizationId();e&&this.customerApi.getAllByOrganization(e).pipe(E(this.destroyRef)).subscribe({next:d=>{this.customers.set((d??[]).map(s=>({id:s.id??"",name:s.name??""})).filter(s=>s.id)),this.customersLoaded.set(!0)},error:()=>{}})}downloadPdf(e){this.api.downloadPdf(e.id).pipe(E(this.destroyRef)).subscribe(d=>{if(!d){this.toast.error(this.translocoService.translate("invoicing.pdf.downloadError"));return}let s=window.URL.createObjectURL(d),m=document.createElement("a");m.href=s,m.download=`invoice-${e.invoiceNumber||e.id}.pdf`,m.click(),window.URL.revokeObjectURL(s)})}static{this.\u0275fac=function(d){return new(d||r)}}static{this.\u0275cmp=F({type:r,selectors:[["app-invoice-list"]],decls:44,vars:36,consts:[[1,"page-container"],["icon","request_quote",3,"title","showDescription","breadcrumbs","actions"],[1,"page-content","space-y-4","md:space-y-6"],[1,"inv-card"],[1,"flex","flex-col","md:flex-row","gap-4","md:items-end"],[1,"md:flex-1"],[1,"inv-label"],[1,"inv-input",3,"ngModelChange","ngModel"],["value",""],[3,"value"],[1,"md:w-56"],["value","Draft"],["value","Issued"],["value","Sent"],["value","Paid"],["value","Void"],[1,"inv-card","inv-table-wrap"],[1,"inv-empty"],[1,"inv-table-scroll"],[1,"material-icons",2,"font-size","2rem","color","var(--color-error)","margin-bottom","0.5rem","display","block"],[1,"inv-link",2,"margin-top","0.5rem",3,"click"],["routerLink","/entities/customers",1,"inv-link"],[1,"inv-link",3,"click"],[1,"inv-table"],[1,"right"],[1,"center"],[1,"inv-row"],[1,"inv-row",3,"click"],[1,"inv-number"],[1,"inv-credit"],[1,"muted"],[1,"inv-link"],[1,"right","strong"],[1,"inv-badge"],["aria-hidden","true",1,"material-icons","inv-badge-icon"]],template:function(d,s){d&1&&(i(0,"div",0),k(1,"app-page-header",1),l(2,"transloco"),i(3,"div",2)(4,"div",3)(5,"div",4)(6,"div",5)(7,"label",6),o(8),l(9,"transloco"),n(),i(10,"select",7),_("ngModelChange",function(C){return s.onCustomerFilter(C)}),i(11,"option",8),o(12),l(13,"transloco"),n(),O(14,ne,2,2,"option",9,ie),n()(),i(16,"div",10)(17,"label",6),o(18),l(19,"transloco"),n(),i(20,"select",7),_("ngModelChange",function(C){return s.onStatusFilter(C)}),i(21,"option",8),o(22),l(23,"transloco"),n(),i(24,"option",11),o(25),l(26,"transloco"),n(),i(27,"option",12),o(28),l(29,"transloco"),n(),i(30,"option",13),o(31),l(32,"transloco"),n(),i(33,"option",14),o(34),l(35,"transloco"),n(),i(36,"option",15),o(37),l(38,"transloco"),n()()()()(),i(39,"div",16),b(40,oe,3,3,"div",17)(41,re,9,6,"div",17)(42,ce,3,1,"div",17)(43,ve,31,24,"div",18),n()()()),d&2&&(t(),S("title",c(2,16,"invoicing.pageTitle"))("showDescription",!1)("breadcrumbs",s.breadcrumbs())("actions",s.headerActions()),t(7),a(c(9,18,"invoicing.filter.customer")),t(2),S("ngModel",s.customerFilter()),t(2),a(c(13,20,"invoicing.filter.allCustomers")),t(2),P(s.customers()),t(4),a(c(19,22,"invoicing.filter.status")),t(2),S("ngModel",s.statusFilter()),t(2),a(c(23,24,"invoicing.filter.allStatuses")),t(3),a(c(26,26,"invoiceStatus.draft")),t(3),a(c(29,28,"invoiceStatus.issued")),t(3),a(c(32,30,"invoiceStatus.sent")),t(3),a(c(35,32,"invoiceStatus.paid")),t(3),a(c(38,34,"invoiceStatus.void")),t(3),I(s.loading()?40:s.loadError()?41:s.invoices().length===0?42:43))},dependencies:[R,J,Y,G,H,j,W,z,Q,$],styles:['@charset "UTF-8";.page-container[_ngcontent-%COMP%]{min-height:100vh;background:var(--color-surface-primary)}.inv-card[_ngcontent-%COMP%]{background:var(--color-surface-tertiary);border:1px solid var(--color-border-light);border-radius:.75rem;padding:1rem 1.25rem}.inv-table-wrap[_ngcontent-%COMP%]{padding:0;overflow:hidden;max-width:100%;width:100%}.inv-table-scroll[_ngcontent-%COMP%]{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding-inline-end:4.5rem}@media (min-width: 768px){.inv-table-scroll[_ngcontent-%COMP%]{padding-inline-end:0}}.inv-table-wrap[_ngcontent-%COMP%]   .inv-table[_ngcontent-%COMP%]{min-width:700px}.inv-label[_ngcontent-%COMP%]{display:block;font-size:.8125rem;font-weight:600;color:var(--color-text-tertiary);margin-bottom:.4rem}.inv-input[_ngcontent-%COMP%]{width:100%;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--color-border-light);background:var(--color-surface-quaternary);color:var(--color-text-primary);font-size:.875rem}.inv-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;font-size:.875rem}.inv-table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{text-align:start;padding:.75rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-tertiary);background:var(--color-surface-quaternary);border-bottom:1px solid var(--color-border-light)}.inv-table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary)}.inv-table[_ngcontent-%COMP%]   th.right[_ngcontent-%COMP%], .inv-table[_ngcontent-%COMP%]   td.right[_ngcontent-%COMP%]{text-align:end}.inv-table[_ngcontent-%COMP%]   th.center[_ngcontent-%COMP%], .inv-table[_ngcontent-%COMP%]   td.center[_ngcontent-%COMP%]{text-align:center}.inv-row[_ngcontent-%COMP%]{cursor:pointer;transition:background .12s}.inv-row[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.inv-number[_ngcontent-%COMP%]{font-weight:600;color:var(--color-text-primary)}.inv-credit[_ngcontent-%COMP%]{margin-inline-start:.4rem;font-size:.6875rem;color:var(--color-warning)}.strong[_ngcontent-%COMP%]{font-weight:700;color:var(--color-text-primary)}.muted[_ngcontent-%COMP%]{color:var(--color-text-tertiary)}.inv-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;padding:.2rem .5rem;border-radius:9999px}.inv-badge-icon[_ngcontent-%COMP%]{font-size:12px;line-height:1}.inv-empty[_ngcontent-%COMP%]{padding:2.5rem 1rem;text-align:center;color:var(--color-text-tertiary)}.inv-link[_ngcontent-%COMP%]{color:var(--color-primary);font-weight:600}.inv-link[_ngcontent-%COMP%]:hover{text-decoration:underline}'],changeDetection:0})}}return r})();export{Fe as InvoiceListComponent};

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.