PageSourceSearch

https://fredericksburgfc.org/chunk-Z5RJBS3P.js

js fredericksburgfc.org collected 2026-10-04 20:39:58 UTC 37,626 bytes, 390 lines download raw bytes

1import{a as X}from"./chunk-BFPYKIIC.js";import{a as J}from"./chunk-4CVZBQNN.js";import{b as Z}from"./chunk-4D5SN44G.js";import"./chunk-6Q5DDO7R.js";import"./chunk-U22BTVEZ.js";import{Ec as Se,Gb as ve,Gc as ye,Hc as Te,Mb as z,Sc as Le,Xc as De,Zc as we,b as me,d as ce,id as j,jb as be,jc as Ce,k as pe,kh as Pe,m as xe,va as $,ve as Y,w as ue,x as ge,ye as Me}from"./chunk-X5J6QTCG.js";import{$ as U,$a as g,Ad as K,Fa as r,Fb as w,Gb as ae,Hb as le,Ib as e,Jb as f,Ka as y,Kb as c,Lc as de,Ma as F,Na as A,Qb as v,Rb as C,Sa as I,Sb as S,U as T,Xa as _,_ as te,ba as ie,bb as h,be as fe,cc as se,d as q,db as ne,dc as Q,eb as re,fa as L,fb as oe,fi as _e,ga as D,gb as p,hb as i,hd as W,ib as t,jb as x,lc as M,nb as R,nc as P,ob as O,pj as V,qb as B,sb as b,tb as m,vd as N,xd as he,yd as Ee}from"./chunk-SMW7PHYX.js";import{a as H}from"./chunk-BMIYOSOG.js";var k=(()=>{let d=class d{constructor(a){this.webAPI=a,this.baseUrl="admin/error-log"}searchErrorLogs(a){return this.webAPI.getData(`${this.baseUrl}`,this.buildQueryParams(a))}getErrorLogDetails(a){return this.webAPI.getData(`${this.baseUrl}/${a}`)}triggerTestErrors(a,l){let s=new W().set("uniqueErrorCount",a.toString()).set("repetitionsPerError",l.toString());return this.webAPI.postData(`${this.baseUrl}/test/trigger-errors`,null,s)}triggerConcurrentTestErrors(a,l){let s=new W().set("concurrentTasks",a.toString()).set("errorsPerTask",l.toString());return this.webAPI.postData(`${this.baseUrl}/test/trigger-concurrent-errors`,null,s)}buildQueryParams(a){let l=new W;return a.searchTerm?.trim()&&(l=l.set("searchTerm",a.searchTerm.trim())),a.startDate&&(l=l.set("startDate",a.startDate.toISOString())),a.endDate&&(l=l.set("endDate",a.endDate.toISOString())),a.clubId&&a.clubId>0&&(l=l.set("clubId",a.clubId.toString())),a.clubUserId&&a.clubUserId>0&&(l=l.set("clubUserId",a.clubUserId.toString())),a.requestUrl?.trim()&&(l=l.set("requestUrl",a.requestUrl.trim())),l=l.set("page",a.page.toString()),l=l.set("pageSize",Math.min(a.pageSize,100).toString()),l=l.set("sortColumn",a.sortColumn||"ErrorTime"),l=l.set("sortDirection",a.sortDirection||"desc"),l}};d.\u0275fac=function(l){return new(l||d)(ie(_e))},d.\u0275prov=te({token:d,factory:d.\u0275fac,providedIn:"root"});let o=d;return o}
1)();var ee={page:1,pageSize:25,sortColumn:"ErrorTime",sortDirection:"desc"};var Ne=()=>({width:"600px"}),Ie=o=>["/admin/error-logs",o];function Ve(o,d){if(o&1&&(e(0,`
2    `),i(1,"div",28),e(2,`
3      `),i(3,"app-inline-alert",29),e(4),t(),e(5,`
4    `),t(),e(6,`
5  `)),o&2){let n=m();r(4),c(`
6        `,n.error,`
7      `)}}function ze(o,d){o&1&&(e(0,`
8        `),i(1,"tr"),e(2,`
9          `),i(3,"th",30),e(4,`
10            `),i(5,"div",31),e(6,`
11              ID
12              `),x(7,"p-sortIcon",32),e(8,`
13            `),t(),e(9,`
14          `),t(),e(10,`
15          `),i(11,"th",33),e(12,`
16            `),i(13,"div",31),e(14,`
17              Date/Time
18              `),x(15,"p-sortIcon",34),e(16,`
19            `),t(),e(17,`
20          `),t(),e(18,`
21          `),i(19,"th",35),e(20,`
22            `),i(21,"div",36),e(22,`
23              Error Message
24              `),x(23,"p-sortIcon",37),e(24,`
25            `),t(),e(25,`
26          `),t(),e(26,`
27          `),i(27,"th",38),e(28,`
28            `),i(29,"div",31),e(30,`
29              URL
30              `),x(31,"p-sortIcon",39),e(32,`
31            `),t(),e(33,`
32          `),t(),e(34,`
33          `),i(35,"th",40),e(36,`
34            `),i(37,"div",31),e(38,`
35              Club
36              `),x(39,"p-sortIcon",41),e(40,`
37            `),t(),e(41,`
38          `),t(),e(42,`
39          `),i(43,"th",42),e(44,`
40            `),i(45,"div",31),e(46,`
41              User
42              `),x(47,"p-sortIcon",43),e(48,`
43            `),t(),e(49,`
44          `),t(),e(50,`
45          `),i(51,"th"),e(52,"Actions"),t(),e(53,`
46        `),t(),e(54,`
47      `)),o&2&&(r(3),_("aria-label","Sort by Error ID"),r(8),_("aria-label","Sort by Date/Time"),r(8),_("aria-label","Sort by Error Message"),r(8),_("aria-label","Sort by URL"),r(8),_("aria-label","Sort by Club"),r(8),_("aria-label","Sort by User"))}function je(o,d){if(o&1&&(e(0,`
48        `),i(1,"tr"),e(2,`
49          `),i(3,"td"),e(4,`
50            `),i(5,"a",44),e(6),t(),e(7,`
51          `),t(),e(8,`
52          `),i(9,"td"),e(10,`
53            `),i(11,"div",45),e(12),M(13,"utcDate"),t(),e(14,`
54            `),i(15,"div",45),e(16),M(17,"utcDate"),t(),e(18,`
55          `),t(),e(19,`
56          `),i(20,"td",46),e(21,`
57            `),i(22,"code",47),e(23),t(),e(24,`
58          `),t(),e(25,`
59          `),i(26,"td"),e(27,`
60            `),i(28,"span",48),e(29),t(),e(30,`
61          `),t(),e(31,`
62          `),i(32,"td"),e(33,`
63            `),i(34,"span",49),e(35),t(),e(36,`
64          `),t(),e(37,`
65          `),i(38,"td"),e(39,`
66            `),i(40,"span",49),e(41),t(),e(42,`
67          `),t(),e(43,`
68          `),i(44,"td"),e(45,`
69            `),i(46,"button",50),e(47,`
70              Details
71            `),t(),e(48,`
72          `),t(),e(49,`
73        `),t(),e(50,`
74      `)),o&2){let n=d.$implicit,a=m();r(5),p("routerLink",Q(18,Ie,n.errorId)),r(),c(`
75              #`,n.errorId,`
76            `),r(6),f(P(13,12,n.errorTime,"MM/dd/yyyy")),r(4),f(P(17,15,n.errorTime,"hh:mm:ss a")),r(6),p("title",n.errorText),r(),f(n.errorText),r(5),p("title",n.requestURL),r(),c(`
77              `,a.getUrlDisplayText(n.requestURL),`
78            `),r(6),c(`
79              `,n.clubName||"-",`
80            `),r(6),c(`
81              `,n.userName||"-",`
82            `),r(5),p("routerLink",Q(20,Ie,n.errorId)),_("aria-label","View details for error "+n.errorId)}}function Ye(o,d){o&1&&(e(0,`
83        `),i(1,"tr"),e(2,`
84          `),i(3,"td",51),e(4,`
85            `),i(5,"div",52),e(6,`
86              `),i(7,"app-inline-alert",53),e(8,`
87                No errors found matching your search criteria
88              `),t(),e(9,`
89            `),t(),e(10,`
90          `),t(),e(11,`
91        `),t(),e(12,`
92      `)),o&2&&(r(7),p("isInline",!0))}function Ge(o,d){if(o&1){let n=B();e(0,`
93      `),i(1,"div",54),e(2,`
94        `),i(3,"p",28),e(4,"Generate unique error types with multiple repetitions to test deduplication."),t(),e(5,`
95        `),i(6,"div",10),e(7,`
96          `),i(8,"label",55),e(9,"Unique Error Count (1-500)"),t(),e(10,`
97          `),i(11,"input",56),S("ngModelChange",function(l){L(n);let s=m();
97return C(s.testParams.uniqueErrorCount,l)||(s.testParams.uniqueErrorCount=l),D(l)}),t(),e(12,`
98          `),i(13,"small",57),e(14,"Number of unique error types to generate"),t(),e(15,`
99        `),t(),e(16,`
100        `),i(17,"div",10),e(18,`
101          `),i(19,"label",58),e(20,"Repetitions Per Error (1-200)"),t(),e(21,`
102          `),i(22,"input",59),S("ngModelChange",function(l){L(n);let s=m();return C(s.testParams.repetitionsPerError,l)||(s.testParams.repetitionsPerError=l),D(l)}),t(),e(23,`
103          `),i(24,"small",57),e(25,"How many times to repeat each error"),t(),e(26,`
104        `),t(),e(27,`
105      `),t(),e(28,`
106    `)}if(o&2){let n=m();r(11),v("ngModel",n.testParams.uniqueErrorCount),p("min",1)("max",500),r(11),v("ngModel",n.testParams.repetitionsPerError),p("min",1)("max",200)}}function He(o,d){if(o&1){let n=B();e(0,`
107      `),i(1,"div",54),e(2,`
108        `),i(3,"p",28),e(4,"Generate errors across multiple concurrent tasks to stress test the system."),t(),e(5,`
109        `),i(6,"div",10),e(7,`
110          `),i(8,"label",60),e(9,"Concurrent Tasks (1-50)"),t(),e(10,`
111          `),i(11,"input",61),S("ngModelChange",function(l){L(n);let s=m();return C(s.testParams.concurrentTasks,l)||(s.testParams.concurrentTasks=l),D(l)}),t(),e(12,`
112          `),i(13,"small",57),e(14,"Number of parallel tasks to run"),t(),e(15,`
113        `),t(),e(16,`
114        `),i(17,"div",10),e(18,`
115          `),i(19,"label",62),e(20,"Errors Per Task (1-500)"),t(),e(21,`
116          `),i(22,"input",63),S("ngModelChange",function(l){L(n);let s=m();return C(s.testParams.errorsPerTask,l)||(s.testParams.errorsPerTask=l),D(l)}),t(),e(23,`
117          `),i(24,"small",57),e(25,"Number of errors each task will generate"),t(),e(26,`
118        `),t(),e(27,`
119      `),t(),e(28,`
120    `)}if(o&2){let n=m();r(11),v("ngModel",n.testParams.concurrentTasks),p("min",1)("max",50),r(11),v("ngModel",n.testParams.errorsPerTask),p("min",1)("max",500)}}function Qe(o,d){if(o&1&&(e(0,`
121            `),i(1,"div")(2,"strong"),e(3,"Failures:"),t(),e(4," "),i(5,"span",67),e(6),t()(),e(7,`
122          `)),o&2){let n=m(2);r(6),f(n.testResult.failures)}}function Ke(o,d){if(o&1&&(e(0,`
123            `),i(1,"div")(2,"strong"),e(3,"Concurrent Tasks:"),t(),e(4),t(),e(5,`
124          `)),o&2){let n=m(2);r(4),c(" ",n.testResult.concurrentTasks)}}function $e(o,d){if(o&1&&(e(0,`
125                `),i(1,"li",49),e(2),t(),e(3,`
126              `)),o&2){let n=d.$implicit;r(2),f(n)}}function Je(o,d){if(o&1&&(e(0,`
127          `),i(1,"div",68),e(2,`
128            `),i(3,"strong"),e(4,"Sample Errors:"),t(),e(5,`
129            `),i(6,"ul",69),e(7,`
130              `),re(8,$e,4,1,null,null,ne),t(),e(10,`
131          `),t(),e(11,`
132        `)),o&2){let n=m(2);r(8),oe(n.testResult.sampleErrors)}}function Xe(o,d){if(o&1&&(e(0,`
133      `),i(1,"div",64),e(2,`
134        `),i(3,"h4",65),e(4,"Test Results"),t(),e(5,`
135        `),i(6,"div",66),e(7,`
136          `),i(8,"div")(9,"strong"),e(10,"Test Run ID:"),t(),e(11),t(),e(12,`
137          `),i(13,"div")(14,"strong"),e(15,"Duration:"),t(),e(16),t(),e(17,`
138          `),i(18,"div")(19,"strong"),e(20,"Total Attempted:"),t(),e(21),t(),e(22,`
139          `),i(23,"div")(24,"strong"),e(25,"Successful:"),t(),e(26),t(),e(27,`
140          `),i(28,"div")(29,"strong"),e(30,"Skipped (Duplicates):"),t(),e(31),t(),e(32,`
141          `),g(33,Qe,8,1),g(34,Ke,6,1),t(),e(35,`
142        `),g(36,Je,12,0),t(),e(37,`
143    `)),o&2){let n=m();r(),p("ngClass",n.testResult.failures>0?"bg-danger-light":"bg-success-light"),r(10),c(" ",n.testResult.testRunId),r(5),c(" ",n.testResult.durationMs,"ms"),r(5),c(" ",n.testResult.totalAttempted),r(5),c(" ",n.testResult.successfulLogs),r(5),c(" ",n.testResult.skippedDuplicates),r(2),h(n.testResult.failures>0?33:-1),r(),h(n.testResult.concurrentTasks?34:-1),r(2),h(n.testResult.sampleErrors&&n.testResult.sampleErrors.length>0?36:-1)}}function Ze(o,d){if(o&1&&(e(0,`
144      `),i(1,"div",68),e(2,`
145        `),i(3,"app-inline-alert",29),e(4),t(),e(5,`
146      `),t(),e(6,`
147    `)),o&2){let n=m();r(4),c(`
148          `,n.testError,`
149        `)}}function et(o,d){if(o&1){let n=B();e(0,`
150    `),i(1,"app-dialog-footer"),e(2,`
151      `),R(3,70),e(4,`
152        `),i(5,"button",71),b("click",function(){L(n);let l=m();
152return D(l.closeTestModal())}),e(6,"Close"),t(),e(7,`
153      `),O(),e(8,`
154      `),R(9,72),e(10,`
155        `),i(11,"button",73),b("click",function(){L(n);let l=m();return D(l.runTest())}),e(12,`
156          `),x(13,"i"),e(14),t(),e(15,`
157      `),O(),e(16,`
158    `),t(),e(17,`
159  `)}if(o&2){let n=m();r(5),p("disabled",n.testRunning),r(6),p("disabled",n.testRunning),r(2),le(n.testRunning?"fa fa-spinner fa-spin mr-1":"fa-regular fa-play mr-1"),r(),c(`
160          `,n.testRunning?"Running...":"Run Test",`
161        `)}}var Re=(()=>{let d=class d{get isDevOrLocal(){return this.environment===$.DEV||this.environment===$.LOCAL}constructor(a,l,s){this.siteDataService=a,this.errorLogService=l,this.route=s,this.unsubscribe$=new q,this.errorLogs=[],this.totalRecords=0,this.loading=!1,this.error="",this.searchRequest=H({},ee),this.first=0,this.rowsPerPageOptions=[10,25,50,100],this.showTestModal=!1,this.testType="sequential",this.testRunning=!1,this.testError="",this.testResult=null,this.testParams={uniqueErrorCount:100,repetitionsPerError:100,concurrentTasks:10,errorsPerTask:100}}ngOnInit(){this.siteDataService.getEnvironment().pipe(T(this.unsubscribe$)).subscribe(a=>{console.log("Current Environment:",a),this.environment=a}),this.route.queryParams.pipe(T(this.unsubscribe$)).subscribe(a=>{a.search&&(this.searchRequest.searchTerm=a.search),a.startDate&&(this.searchRequest.startDate=new Date(a.startDate)),a.endDate&&(this.searchRequest.endDate=new Date(a.endDate)),a.requestUrl&&(this.searchRequest.requestUrl=a.requestUrl),this.loadErrorLogs()})}ngOnDestroy(){this.unsubscribe$.next(),this.unsubscribe$.complete()}loadErrorLogs(){this.loading=!0,this.error="",this.errorLogService.searchErrorLogs(this.searchRequest).pipe(T(this.unsubscribe$)).subscribe({next:a=>{this.errorLogs=a.data,this.totalRecords=a.totalCount,this.loading=!1,this.siteDataService.hideSiteLoader()},error:a=>{console.error("Error loading error logs:",a),this.error="Failed to load error logs. Please try again.",this.loading=!1,this.siteDataService.hideSiteLoader()}})}loadErrorLogsLazy(a){this.searchRequest.page=Math.floor(a.first/a.rows)+1,this.searchRequest.pageSize=a.rows,a.sortField&&(this.searchRequest.sortColumn=a.sortField,this.searchRequest.sortDirection=a.sortOrder===1?"asc":"desc"),this.loadErrorLogs()}run(){this.resetToFirstPage(),this.loadErrorLogs()}clearFilters(){this.searchRequest=H({},ee),this.resetToFirstPage(),this.loadErrorLogs()}resetToFirstPage(){this.searchRequest.page=1,this.first=0}getUrlDisplayText(a){return a?a.length>100?a.substring(0,100)+"...":a:""}runTest(){this.testRunning=!0,this.testError="",this.testResult=null,(this.testType==="sequential"?this.errorLogService.triggerTestErrors(this.testParams.uniqueErrorCount,this.testParams.repetitionsPerError):this.errorLogService.triggerConcurrentTestErrors(this.testParams.concurrentTasks,this.testParams.errorsPerTask)).pipe(T(this.unsubscribe$)).subscribe({next:l=>{this.testResult=l,this.testRunning=!1,this.loadErrorLogs()},error:l=>{console.error("Error running test:",l),this.testError=l.error?.message||"Failed to run test. Please try again.",this.testRunning=!1}})}closeTestModal(){this.showTestModal=!1,this.testResult=null,this.testError="",this.testType="sequential"}};d.\u0275fac=function(l){return new(l||d)(y(V),y(k),y(N))},d.\u0275cmp=F({type:d,selectors:[["app-error-log-list"]],standalone:!1,decls:111,vars:41,consts:[["role","main",3,"keydown.enter"],[3,"secondaryBtnAction","pageTitle","secondaryBtnText","secondaryBtnIcon"],[3,"adminFilterReset","adminFilterSearch","showAdvanced","showLabels"],["primary",""],[1,"col","pr-0"],["type","text","id","searchTerm","pInputText","","placeholder","Search error messages...",1,"full-width",3,"ngModelChange","ngModel"],["for","searchTerm",1,"sr-only"],["advanced",""],[1,"row","align-bottom"],[1,"col-md-4"],[1,"form-group"],["id","startDate","dateFormat","mm/dd/yy","placeholder","MM/DD/YYYY","appendTo","body",3,"ngModelChange","ngModel","maxDate"],["id","endDate","dateFormat","mm/dd/yy","placeholder","MM/DD/YYYY","appendTo","body",3,"ngModelChange","ngModel","minDate"],[1,"col-md-8"],["type","text","placeholder","Filter by URL pattern...",3,"ngModelChange","ngModel"],[1,"table-responsive"],["currentPageReportTemplate","Showing {first} to {last} of {totalRecords} errors","dataKey","errorId",1,"table","table-striped","table-sm",3,"onLazyLoad","value","lazy","paginator","rows","totalRecords","loading","showCurrentPageReport","rowsPerPageOptions","sortMode","sortField","
161sortOrder","first"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],["header","Error Log Test Suite",3,"visibleChange","visible","modal","dismissableMask"],[1,"test-modal-content"],["alertType","warning",1,"mb-3",3,"isInline"],[1,"tabs","mb-4"],["role","tablist",1,"tab-nav","no-bullets","inline-list"],[1,"nav-item"],["href","javascript:void(0);","role","tab",1,"nav-link",3,"click"],["pTemplate","footer"],[1,"mb-3"],["alertType","error"],["pSortableColumn","ErrorId"],[1,"d-flex","align-items-center"],["field","ErrorId"],["pSortableColumn","ErrorTime"],["field","ErrorTime"],["pSortableColumn","ErrorText",2,"width","45%"],[1,"d-flex","align-items-center","text-break"],["field","ErrorText"],["pSortableColumn","RequestURL"],["field","RequestURL"],["pSortableColumn","ClubName"],["field","ClubName"],["pSortableColumn","UserName"],["field","UserName"],[1,"text-primary","text-decoration-none",3,"routerLink"],[1,"text-smallest"],[2,"width","45%"],[1,"d-inline-block","text-small","text-break",3,"title"],[1,"d-inline-block","text-small",3,"title"],[1,"text-small"],["type","button",1,"btn","btn-sm",3,"routerLink"],["colspan","7",1,"text-center","py-4"],[1,"empty-state"],[3,"isInline"],[1,"test-form"],["for","uniqueErrorCount"],["type","number","id","uniqueErrorCount","pInputText","","placeholder","100",1,"full-width",3,"ngModelChange","ngModel","min","max"],[1,"text-muted"],["for","repetitionsPerError"],["type","number","id","repetitionsPerError","pInputText","","placeholder","100",1,"full-width",3,"ngModelChange","ngModel","min","max"],["for","concurrentTasks"],["type","number","id","concurrentTasks","pInputText","","placeholder","10",1,"full-width",3,"ngModelChange","ngModel","min","max"],["for","errorsPerTask"],["type","number","id","errorsPerTask","pInputText","","placeholder","100",1,"full-width",3,"ngModelChange","ngModel","min","max"],[1,"test-results","mt-4","p-3","border-radius",3,"ngClass"],[1,"mb-2"],[1,"result-grid"],[1,"text-danger"],[1,"mt-3"],[1,"mb-0"],["slot","secondary"],["type","button",1,"btn",3,"click","disabled"],["slot","primary"],["type","button",1,"btn","btn-primary",3,"click","disabled"]],template:function(l,s){l&1&&(i(0,"main",0),b("keydown.enter",function(){return s.run()}),e(1,`
162  `),i(2,"app-admin-header",1),b("secondaryBtnAction",function(){return s.showTestModal=!0}),e(3,`
163  `),t(),e(4,`
164
165  `),i(5,"app-admin-filter",2),b("adminFilterReset",function(){return s.clearFilters()})("adminFilterSearch",function(){return s.run()}),e(6,`
166    `),R(7,3),e(8,`
167      `),i(9,"div",4),e(10,`
168        `),i(11,"input",5),S("ngModelChange",function(u){return C(s.searchRequest.searchTerm,u)||(s.searchRequest.searchTerm=u),u}),t(),e(12,`
169        `),i(13,"label",6),e(14,"Search Error Messages"),t(),e(15,`
170      `),t(),e(16,`
171    `),O(),e(17,`
172    `),R(18,7),e(19,`
173      `),i(20,"div",8),e(21,`
174        `),i(22,"div",9),e(23,`
175          `),i(24,"div",10),e(25,`
176            `),i(26,"label"),e(27,"Date Range"),t(),e(28,`
177            `),i(29,"p-inputgroup"),e(30,`
178              `),i(31,"p-datepicker",11),S("ngModelChange",function(u){return C(s.searchRequest.startDate,u)||(s.searchRequest.startDate=u),u}),e(32,`
179              `),t(),e(33,`
180              `),i(34,"p-inputgroup-addon"),e(35,"to"),t(),e(36,`
181              `),i(37,"p-datepicker",12),S("ngModelChange",function(u){return C(s.searchRequest.endDate,u)||(s.searchRequest.endDate=u),u}),e(38,`
182              `),t(),e(39,`
183            `),t(),e(40,`
184          `),t(),e(41,`
185        `),t(),e(42,`
186        `),i(43,"div",13),e(44,`
187          `),i(45,"div",10),e(46,`
188            `),i(47,"label"),e(48,"Request URL"),t(),e(49,`
189            `),i(50,"input",14),S("ngModelChange",function(u){return C(s.searchRequest.requestUrl,u)||(s.searchRequest.requestUrl=u),u}),t(),e(51,`
190          `),t(),e(52,`
191        `),t(),e(53,`
192      `),t(),e(54,`
193    `),O(),e(55,`
194  `),t(),e(56,`
195
196  `),e(57,`
197  `),g(58,Ve,7,1),i(59,"div",15),e(60,`
198    `),i(61,"p-table",16),b("onLazyLoad",function(u){return s.loadErrorLogsLazy(u)}),e(62,`
199      `),I(63,ze,55,6,"ng-template",17),e(64,`
200
201      `),I(65,je,51,22,"ng-template",18),e(66,`
202
203      `),I(67,Ye,13,1,"ng-template",19),e(68,`
204    `),t(),e(69,`
205  `),t(),e(70,`
206`),t(),e(71,`
207
208`),e(72,`
209`),i(73,"p-dialog",20),S("visibleChange",function(u){return C(s.showTestModal,u)||(s.showTestModal=u),u}),e(74,`
210    `),i(75,"div",21),e(76,`
211    `),i(77,"app-inline-alert",22),e(78,`
212      `),i(79,"strong"),e(80,"Warning:"),t(),e(81,` These tests will generate synthetic errors in the error log system.
213    `),t(),e(82,`
214
215    `),e(83,`
216    `),i(84,"div",23),e(85,`
217      `),i(86,"ul",24),e(87,`
218        `),i(88,"li",25),e(89,`
219          `),i(90,"a",26),b("click",function(){return s.testType="sequential"}),e(91,`
220            Sequential Test
221          `),t(),e(92,`
222        `),t(),e(93,`
223        `),i(94,"li",25),e(95,`
224          `),i(96,"a",26),b("click",function(){return s.testType="concurrent"}),e(97,`
225            Concurrent Test
226          `),t(),e(98,`
227        `),t(),e(99,`
228      `),t(),e(100,`
229    `),t(),e(101,`
230
231    `),e(102,`
232    `),g(103,Ge,29,6),g(104,He,29,6),g(105,Xe,38,9),g(106,Ze,7,1),t(),e(107,`
233
234  `),I(108,et,18,5,"ng-template",27),e(109,`
235`),t(),e(110,`
236`)),l&2&&(r(2),p("pageTitle","Error Logs")("secondaryBtnText",s.isDevOrLocal?"Run Tests":null)("secondaryBtnIcon","fa-regular fa-bolt"),r(3),p("showAdvanced",!0)("showLabels",!1),r(6),v("ngModel",s.searchRequest.searchTerm),r(20),v("ngModel",s.searchRequest.startDate),p("maxDate",s.searchRequest.endD
236ate),r(6),v("ngModel",s.searchRequest.endDate),p("minDate",s.searchRequest.startDate),r(13),v("ngModel",s.searchRequest.requestUrl),r(8),h(s.error?58:-1),r(3),p("value",s.errorLogs)("lazy",!0)("paginator",!0)("rows",s.searchRequest.pageSize)("totalRecords",s.totalRecords)("loading",s.loading)("showCurrentPageReport",!0)("rowsPerPageOptions",s.rowsPerPageOptions)("sortMode","single")("sortField",s.searchRequest.sortColumn)("sortOrder",s.searchRequest.sortDirection==="asc"?1:-1)("first",s.first),r(12),ae(se(40,Ne)),v("visible",s.showTestModal),p("modal",!0)("dismissableMask",!0),r(4),p("isInline",!0),r(11),w("active",s.testType==="sequential"),r(2),_("aria-selected",s.testType==="sequential"),r(4),w("active",s.testType==="concurrent"),r(2),_("aria-selected",s.testType==="concurrent"),r(7),h(s.testType==="sequential"?103:-1),r(),h(s.testType==="concurrent"?104:-1),r(),h(s.testResult?105:-1),r(),h(s.testError?106:-1))},dependencies:[de,me,xe,ce,ge,ue,pe,Ee,fe,z,Y,Me,Le,De,we,Se,ye,Te,Ce,ve,j],styles:[".test-modal-content[_ngcontent-%COMP%]   .test-form[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.test-modal-content[_ngcontent-%COMP%]   .test-form[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:block;margin-bottom:.25rem;font-weight:500}.test-modal-content[_ngcontent-%COMP%]   .test-form[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]   small[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.test-modal-content[_ngcontent-%COMP%]   .test-results[_ngcontent-%COMP%]{border:1px solid #dee2e6}.test-modal-content[_ngcontent-%COMP%]   .test-results.bg-success-light[_ngcontent-%COMP%]{background-color:#d4edda;border-color:#c3e6cb}.test-modal-content[_ngcontent-%COMP%]   .test-results.bg-danger-light[_ngcontent-%COMP%]{background-color:#f8d7da;border-color:#f5c6cb}.test-modal-content[_ngcontent-%COMP%]   .test-results[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%]{margin-bottom:.5rem}.test-modal-content[_ngcontent-%COMP%]   .test-results[_ngcontent-%COMP%]   .result-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.9rem}td[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{white-space:pre-wrap}"]});let o=d;return o}
236)();function tt(o,d){o&1&&(e(0,`
237    `),i(1,"div",2),e(2,`
238      `),i(3,"div",3),e(4,`
239        `),i(5,"span",4),e(6,"Loading error details..."),t(),e(7,`
240      `),t(),e(8,`
241      `),i(9,"p",5),e(10,"Loading error details..."),t(),e(11,`
242    `),t(),e(12,`
243  `))}function it(o,d){if(o&1&&(e(0,`
244    `),i(1,"div",6),e(2,`
245      `),i(3,"app-inline-alert",7),e(4),t(),e(5,`
246    `),t(),e(6,`
247  `)),o&2){let n=m();r(4),c(`
248        `,n.error,`
249      `)}}function nt(o,d){if(o&1&&(e(0,`
250                `),i(1,"div"),e(2,`
251                  `),i(3,"span",25),e(4,"Referrer"),t(),e(5,`
252                  `),i(6,"div",32),e(7,`
253                    `),i(8,"span",33),x(9,"i",34),t(),e(10,`
254                    `),i(11,"span",35)(12,"span",36),e(13),t()(),e(14,`
255                  `),t(),e(15,`
256                `),t(),e(16,`
257              `)),o&2){let n=m(2);r(),w("mb-3",n.errorDetail.sessionID),r(12),f(n.errorDetail.referer)}}function rt(o,d){if(o&1&&(e(0,`
258                `),i(1,"div"),e(2,`
259                  `),i(3,"span",25),e(4,"Session ID"),t(),e(5,`
260                  `),i(6,"div",32),e(7,`
261                    `),i(8,"span",33),e(9,`
262                      `),x(10,"i",37),e(11,`
263                    `),t(),e(12,`
264                    `),i(13,"span",35),e(14,`
265                      `),i(15,"span",38),e(16),t(),e(17,`
266                    `),t(),e(18,`
267                  `),t(),e(19,`
268                `),t(),e(20,`
269              `)),o&2){let n=m(2);r(16),f(n.errorDetail.sessionID)}}function ot(o,d){if(o&1&&(e(0,`
270                    `),i(1,"div",39),e(2,`
271                      `),e(3,`
272                      `),i(4,"div",40),e(5,`
273                        `),i(6,"div",9),e(7,`
274                          `),x(8,"i",41),e(9,`
275                        `),t(),e(10,`
276                        `),i(11,"div",12),e(12,`
277                          `),i(13,"span",42),e(14),t(),e(15,`
278                          `),i(16,"span",43),e(17),t(),e(18,`
279                        `),t(),e(19,`
280                      `),t(),e(20,`
281                    `),t(),e(21,`
282                  `)),o&2){let n=m(3);r(14),f(n.errorDetail.clubName),r(3),c("(ID: ",n.errorDetail.clubId,")")}}function at(o,d){if(o&1&&(e(0,`
283                            `),i(1,"div",46),e(2),t(),e(3,`
284                          `)),o&2){let n=m(4);r(2),c(`
285                              `,n.errorDetail.userEmail,`
286                            `)}}function lt(o,d){if(o&1&&(e(0,`
287                    `),i(1,"div",39),e(2,`
288                      `),e(3,`
289                      `),i(4,"div",40),e(5,`
290                        `),i(6,"div",9),e(7,`
291                          `),x(8,"i",44),e(9,`
292                        `),t(),e(10,`
293                        `),i(11,"div",12),e(12,`
294                          `),i(13,"div",45),e(14),t(),e(15,`
295                          `),g(16,at,4,1),t(),e(17,`
296                      `),t(),e(18,`
297                    `),t(),e(19,`
298                  `)),o&2){let n=m(3);r(14),c(`
299                            `,n.errorDetail.userFullName,`
300                          `),r(2),h(n.errorDetail.userEmail?16:-1)}}function st(o,d){if(o&1&&(e(0,`
301              `),i(1,"div",18),e(2,`
302                `),i(3,"div",19),e(4,`
303                  Club & User Information
304                `),t(),e(5,`
305                `),x(6,"hr"),e(7,`
306                `),i(8,"div",16),e(9,`
307                  `),g(10,ot,22,2),g(11,lt,20,2),t(),e(12,`
308              `),t(),e(13,`
309            `)),o&2){let n=m(2);r(10),h(n.errorDetail.clubName?10:-1),r(),h(n.errorDetail.userFullName?11:-1)}}function dt(o,d){if(o&1&&(e(0,`
310                `),i(1,"div"),e(2,`
311                  `),x(3,"hr"),e(4,`
312                  `),i(5,"div",19),e(6,`
313                    Stack Trace
314                  `),t(),e(7,`
315                  `),i(8,"div",47),e(9,`
316                    `),i(10,"pre",48),e(11),t(),e(12,`
317                  `),t(),e(13,`
318                `),t(),e(14,`
319              `)),o&2){let n=m(2);r(11),f(n.errorDetail.stackTrace)}}function mt(o,d){o&1&&(e(0,`
320                `),i(1,"div"),e(2,`
321                  `),x(3,"hr"),e(4,`
322                  `),i(5,"div",19),e(6,`
323                    Stack Trace
324                  `),t(),e(7,`
325                  `),i(8,"app-inline-alert",49),e(9,`
326                    No stack trace available for this error
327                  `),t(),e(10,`
328                `),t(),e(11,`
329              `)),o&2&&(r(8),p("isInline",!0))}function ct(o,d){if(o&1&&(e(0,`
330    `),i(1,"div"),e(2,`
331      `),e(3,`
332      `),i(4,"div",8),e(5,`
333        `),i(6,"span",9)(7,"span",10)(8,"span",11),e(9),t()()(),e(10,`
334        `),i(11,"span",12),e(12,`
335          `),i(13,"h2",13),e(14,"Error Details"),t(),e(15,`
336          `),i(16,"div",14),e(17,`
337            `),i(18,"strong"),e(19,"Error Time"),t(),e(20),M(21,"utcDate"),i(22,"span",15),e(23),M(24,"utcDate"),t(),e(25,`
338          `),t(),e(26,`
339          `),i(27,"div",14),e(28,`
340            `),i(29,"strong"),e(30,"Host/Server"),t(),e(31),t(),e(32,`
341        `),t(),e(33,`
342      `),t(),e(34,`
343      `),x(35,"hr"),e(36,`
344        `),i(37,"div",16),e(38,`
345          `),i(39,"div",17),e(40,`
346            `),e(41,`
347            `),i(42,"div",18),e(43,`
348              `),i(44,"div",19),e(45,`
349                `),i(46,"span",20),e(47,"Request Information"),t(),e(48,`
350                `),i(49,"span",21),e(50,`
351                  `),x(51,"i",22),e(52),t(),e(53,`
352                `),i(54,"span",23),e(55),t(),e(56,`
353              `),t(),e(57,`
354              `),x(58,"hr"),e(59,`
355              `),i(60,"div",24),e(61,`
356                `),i(62,"span",25),e(63,"Request URL"),t(),e(64,`
357                `),i(65,"div",26),e(66,`
358                  `),x(67,"i",27),e(68,`
359                  `),i(69,"code",28),e(70),t(),e(71,`
360                `),t(),e(72,`
361              `),t(),e(73,`
362              `),x(74,"hr"),e(75,`
363              `),g(76,nt,17,3),g(77,rt,21,1),t(),e(78,`
364            `),e(79,`
365            `),g(80,st,14,2),t(),e(81,`
366          `),i(82,"div",29),e(83,`
367            `),e(84,`
368            `),i(85,"div",18),e(86,`
369              `),i(87,"div",19),e(88,"Error Message"),t(),e(89,`
370              `),x(90,"hr"),e(91,`
371              `),i(92,"div",30),e(93,`
372                `),i(94,"div",31),e(95),t(),e(96,`
373              `),t(),e(97,`
374              `),e(98,`
375              `),g(99,dt,15,1),g(100,mt,12,1),t(),e(101,`
376          `),t(),e(102,`
377        `),t(),e(103,`
378      `),t(),e(104,`
379    `)),o&2){let n=m();r(9),c("#",n.errorDetail.errorId),r(11),c(": ",P(21,23,n.errorDetail.errorTime,"EEEE, MMMM d, y")," "),r(3),f(P(24,26,n.errorDetail.errorTime,"h:mm:ss a")),r(8),c(": ",n.errorDetail.hostName||"Unknown",`
380          `),r(18),w("mobile",n.errorDetail.isMobile)("desktop",!n.errorDetail.isMobile),p("pTooltip","Device Type"),r(2),w("fa-mobile-alt",n.errorDetail.isMobile)("fa-desktop",!n.errorDetail.isMobile),r(),c(`
381                  `,n.errorDetail.isMobile?"Mobile":"Desktop",`
382                `),r(2),_("data-method",n.errorDetail.requestMethod==null?null:n.errorDetail.requestMethod.toLowerCase()),r(),c(`
383                  `,n.errorDetail.requestMethod||"Unknown",`
384                `),r(15),f(n.errorDetail.requestURL||"Not available"),r(6),h(n.errorDetail.referer?76:-1),r(),h(n.errorDetail.sessionID?77:-1),r(3),h(n.errorDetail.clubName||n.errorDetail.userFullName?80:-1),r(15),c(`
385                  `,n.errorDetail.errorText,`
386                `),r(4),h(n.errorDetail.stackTrace?99:-1),r(),h(n.errorDetail.stackTrace?-1:100)}}var Oe=(()=>{let d=class d{constructor(a,l,s,E){this.siteDataService=a,this.route=l,this.router=s,this.errorLogService=E,this.unsubscribe$=new q,this.errorDetail=null,this.loading=!1,this.error=""}ngOnInit(){this.route.params.pipe(T(this.unsubscribe$)).subscribe({next:a=>{let l=+a.errorId;l&&l>0?this.loadErrorDetail(l):this.error="Invalid error ID",this.siteDataService.hideSiteLoader()},error:()=>{this.error="Unable to load route parameters",this.siteDataService.hideSiteLoader()}})}ngOnDestroy(){this.unsubscribe$.next(),this.unsubscribe$.complete()}loadErrorDetail(a){this.loading=!0,this.error="",this.errorLogService.getErrorLogDetails(a).pipe(T(this.unsubscribe$)).subscribe({next:l=>{this.errorDetail=l,this.loading=!1},error:l=>{console.error("Error loading error log details:",l),this.error=l.status===404?"Error log not found":"Failed to load error details. Please try again.",this.loading=!1}})}goBack(){this.router.navigate(["/admin/error-logs"])}createBugReport(){window.open("https://dev.azure.com/sprocket-sports/SprocketSports/_workitems/create/Bug","_blank","noopener,noreferrer")}};d.\u0275fac=function(l){return new(l||d)(y(V),y(N),y(he),y(k))},d.\u0275cmp=F({type:d,selectors:[["app-error-log-detail"]],standalone:!1,decls:8,vars:7,consts:[["role","main"],["parentLinkUrl","../",3,"primaryBtnAction","pageTitle","showBackButton","primaryBtnText","primaryBtnIcon"],[1,"text-center","py-5"],["role","status",1,"spinner-border","text-primary"],[1,"sr-only"],[1,"mt-2","text-muted"],[1,"mb-3"],["alertType","error"],[1,"row","d-flex","align-items-center","justify-content-between","mb-3"],[1,"col-auto"],[1,"large-circle","user-initials","user4"],[1,"text-default"],[1,"col"],[1,"mb-0"],[1,"text-small"],[1,"time-part"],[1,"row"],[1,"col-12","col-md-4"],[1,"card","edit-card","mb-4"],[1,"text-h3"],[1,"d-inline-block","mr-3"],[1,"device-badge","d-inline-block","mr-2",3,"pTooltip"],["aria-hidden","true",1,"fa"],["pToolTip","HTTP Method",1,"method-badge"],[1,"info-item","mb-3"],[1,"d-inline-block","text-h5"],[1,"info-value","url-container"],["aria-hidden","true",1,"fa","fa-link","me-2"],[1,"url-text"],[1,"col-12","col-md-8"],[1,"info-item"],[1,"error-message-container","font-monospaced"],[1,"row","info-value","my-1","py-2","px-3"],[1,"col-1"],["aria-hidden","true",1,"fa","fa-external-link-alt","me-2"],[1,"col-11"],[1,"font-monospaced","text-red","text-break"],["aria-hidden","true",1,"fa","fa-fingerprint"],[1,"font-monospaced","text-red","session-id","text-break"],[1,"col-12","col-lg-6"],[1,"info-value","row"],["aria-hidden","true",1,"fa","fa-building","me-2"],[1,"club-name"],[1,"club-id"],["aria-hidden","true",1,"fa","fa-user","me-2"],[1,"user-name"],[1,"user-email","text-break"],[1,"stack-trace-wrapper"],[1,"stack-trace-container"],[3,"isInline"]],template:function(l,s){l&1&&(i(0,"main",0),e(1,`
387  `),i(2,"app-admin-header",1),b("primaryBtnAction",function(){return s.createBugReport()}),t(),e(3,`
388
389  `),e(4,`
390  `),g(5,tt,13,0),g(6,it,7,1),g(7,ct,105,29),t()),l&2&&(r(2),p("pageTitle","Error Details")("showBackButton",!0)("primaryBtnText","Create Bug")("primaryBtnIcon","fa fa-bug"),r(3),h(s.loading?5:-1),r(),h(s.error?6:-1),r(),h(s.errorDetail&&!s.loading?7:-1))},dependencies:[z,Y,be,j],styles:['[_ngcontent-%COMP%]:root{--error-gradient: linear-gradient(135deg, var(--red-400) 0%, var(--red-600) 100%)}.error-message-container[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--red-25) 0%,var(--red-50) 100%);border:1px solid var(--red-200);border-radius:var(--border-radius-lg);padding:1.5rem;font-weight:500;line-height:1.6;position:relative}.error-message-container[_ngcontent-%COMP%]:before{content:"";position:absolute;
390left:0;top:0;bottom:0;width:4px;background:var(--error-gradient);border-radius:2px 0 0 2px}.url-container[_ngcontent-%COMP%]{background:var(--grey-100);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:.75rem 1rem}.url-container[_ngcontent-%COMP%]   .url-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--grey-800);font-size:var(--text-medium);word-break:break-all}.method-badge[_ngcontent-%COMP%]{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:var(--text-medium);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--box-shadow)}.method-badge[data-method=get][_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--green-400) 0%,var(--green-700) 100%);color:var(--color-white)}.method-badge[data-method=post][_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-800) 100%);color:var(--color-white)}.method-badge[data-method=put][_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--yellow-400) 0%,var(--yellow-600) 100%);color:var(--color-white)}.method-badge[data-method=delete][_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--red-400) 0%,var(--red-600) 100%);color:var(--color-white)}.method-badge[_ngcontent-%COMP%]:not([data-method=get]):not([data-method=post]):not([data-method=put]):not([data-method=delete]){background:linear-gradient(135deg,var(--grey-600) 0%,var(--grey-700) 100%);color:var(--color-white)}.device-badge[_ngcontent-%COMP%]{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:var(--text-medium);
390box-shadow:var(--box-shadow)}.device-badge.mobile[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--blue-400) 0%,var(--blue-800) 100%);color:var(--color-white)}.device-badge.desktop[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--grey-600) 0%,var(--grey-700) 100%);color:var(--color-white)}.session-id[_ngcontent-%COMP%]{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:var(--grey-100);padding:.25rem .5rem;border-radius:var(--border-radius);font-size:var(--text-medium)}.stack-trace-wrapper[_ngcontent-%COMP%]{position:relative}.stack-trace-container[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--grey-900) 0%,var(--grey-800) 100%);border:none;border-radius:var(--border-radius-lg);padding:2rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:var(--text-medium);line-height:1.6;color:var(--color-white);white-space:pre-wrap;word-break:break-all;max-height:600px;overflow-y:auto;margin:0;box-shadow:inset 0 2px 10px #0000004d}.stack-trace-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px}.stack-trace-container[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#ffffff1a;border-radius:var(--border-radius)}.stack-trace-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:var(--border-radius)}.stack-trace-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#ffffff80}.spinner-border[_ngcontent-%COMP%]{width:4rem;height:4rem;border-width:.4rem}@keyframes _ngcontent-%COMP%_slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}']});let o=d;return o}
390)();var pt=[{path:"",component:Re,canActivate:[J,X,Z],data:{admin:!0,metaTitle:"Error Logs"}},{path:":errorId",component:Oe,canActivate:[J,X,Z],data:{admin:!0,metaTitle:"Error Details"}}],qe=(()=>{let d=class d{};d.\u0275fac=function(l){return new(l||d)},d.\u0275mod=A({type:d}),d.\u0275inj=U({imports:[K.forChild(pt),K]});let o=d;return o})();var ai=(()=>{let d=class d{};d.\u0275fac=function(l){return new(l||d)},d.\u0275mod=A({type:d}),d.\u0275inj=U({providers:[k],imports:[Pe,qe]});let o=d;return o})();export{ai as ErrorLogModule};

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.