{"version":3,"file":"projects-C5MQHwmI.js","sources":["../../../../src/ts/projects/main.ts"],"sourcesContent":["import {\n CodebaseTableData\n} from \"../../models/tables\";\nimport { Table, getFindingValueForSorting } from \"../utils\";\n\n// Renamed for UI consistency, but still operates on ProjectTableData for backward compatibility\nexport class CodebaseTable extends Table {\n markAllChecked: boolean = false;\n\n constructor(data: any) {\n data = data.map((item: any) => {\n return { ...item, checked: false };\n });\n super(data)\n }\n\n sort(col: string) {\n if (this.sortCol === col) this.sortAsc = !this.sortAsc;\n else this.sortAsc = false;\n this.sortCol = col;\n this.tableData.sort((a: CodebaseTableData, b: CodebaseTableData) => {\n if (col === \"findings\") {\n if (getFindingValueForSorting(a.findings) < getFindingValueForSorting(b.findings))\n return this.sortAsc ? 1 : -1;\n if (getFindingValueForSorting(a.findings) > getFindingValueForSorting(b.findings))\n return this.sortAsc ? -1 : 1;\n }\n if (\n a[this.sortCol as keyof CodebaseTableData] <\n b[this.sortCol as keyof CodebaseTableData]\n )\n return this.sortAsc ? 1 : -1;\n if (\n a[this.sortCol as keyof CodebaseTableData] >\n b[this.sortCol as keyof CodebaseTableData]\n )\n return this.sortAsc ? -1 : 1;\n return 0;\n });\n }\n\n toggleAllChecked(event: Event) {\n const checkboxElement = event.target as HTMLInputElement;\n this.tableData.forEach((item: any) => {\n item.checked = checkboxElement.checked;\n });\n }\n\n onChangeItemChecked(\n event: Event,\n tableItemsData: (CodebaseTableData & { checked: boolean })[]\n ) {\n const checkboxElement = event.target as HTMLInputElement;\n const isAllChecked = !tableItemsData.find((item) => !item.checked);\n\n if (!checkboxElement.checked) {\n this.markAllChecked = false;\n } else if (isAllChecked) {\n this.markAllChecked = isAllChecked;\n }\n }\n}\n\n// Keep ProjectTable for backward compatibility\nexport class ProjectTable extends CodebaseTable {}\n"],"names":["CodebaseTable","Table","data","item","col","a","b","getFindingValueForSorting","event","checkboxElement","tableItemsData","isAllChecked","ProjectTable"],"mappings":"wXAMO,MAAMA,UAAsBC,CAAM,CACvC,eAA0B,GAE1B,YAAYC,EAAW,CACdA,EAAAA,EAAK,IAAKC,IACR,CAAE,GAAGA,EAAM,QAAS,EAAM,EAClC,EACD,MAAMD,CAAI,CAAA,CAGZ,KAAKE,EAAa,CACZ,KAAK,UAAYA,EAAU,KAAA,QAAU,CAAC,KAAK,aACrC,QAAU,GACpB,KAAK,QAAUA,EACf,KAAK,UAAU,KAAK,CAACC,EAAsBC,IAAyB,CAClE,GAAIF,IAAQ,WAAY,CACtB,GAAIG,EAA0BF,EAAE,QAAQ,EAAIE,EAA0BD,EAAE,QAAQ,EACvE,OAAA,KAAK,QAAU,EAAI,GAC5B,GAAIC,EAA0BF,EAAE,QAAQ,EAAIE,EAA0BD,EAAE,QAAQ,EACvE,OAAA,KAAK,QAAU,GAAK,CAAA,CAE/B,OACED,EAAE,KAAK,OAAkC,EACzCC,EAAE,KAAK,OAAkC,EAElC,KAAK,QAAU,EAAI,GAE1BD,EAAE,KAAK,OAAkC,EACzCC,EAAE,KAAK,OAAkC,EAElC,KAAK,QAAU,GAAK,EACtB,CAAA,CACR,CAAA,CAGH,iBAAiBE,EAAc,CAC7B,MAAMC,EAAkBD,EAAM,OACzB,KAAA,UAAU,QAASL,GAAc,CACpCA,EAAK,QAAUM,EAAgB,OAAA,CAChC,CAAA,CAGH,oBACED,EACAE,EACA,CACA,MAAMD,EAAkBD,EAAM,OACxBG,EAAe,CAACD,EAAe,KAAMP,GAAS,CAACA,EAAK,OAAO,EAE5DM,EAAgB,QAEVE,IACT,KAAK,eAAiBA,GAFtB,KAAK,eAAiB,EAGxB,CAEJ,CAGO,MAAMC,UAAqBZ,CAAc,CAAC"}