Adds salary specifications with detailed accordion view
Introduces new salary specification feature with interactive accordion component Implements detailed salary breakdown including: - Salary specification JSON data model - Salary specification page with printable view - Accordion component for expanding/collapsing salary details - Localization support for new salary labels Enhances employee salary transparency and detail presentation
This commit is contained in:
parent
f3c54dde35
commit
a1059adf06
14 changed files with 1613 additions and 46 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import { createChart } from '@sevenweirdpeople/swp-charting';
|
||||
import { Accordion, initAccordions } from './accordion';
|
||||
|
||||
/**
|
||||
* Employees Controller
|
||||
|
|
@ -72,6 +73,7 @@ export class EmployeesController {
|
|||
private ratesSync: RatesSyncController | null = null;
|
||||
private scheduleController: ScheduleController | null = null;
|
||||
private statsController: EmployeeStatsController | null = null;
|
||||
private salaryAccordions: Accordion[] = [];
|
||||
private listView: HTMLElement | null = null;
|
||||
private detailView: HTMLElement | null = null;
|
||||
|
||||
|
|
@ -91,6 +93,20 @@ export class EmployeesController {
|
|||
this.ratesSync = new RatesSyncController();
|
||||
this.scheduleController = new ScheduleController();
|
||||
this.statsController = new EmployeeStatsController();
|
||||
this.initSalaryAccordions();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize salary accordions when they exist
|
||||
*/
|
||||
private initSalaryAccordions(): void {
|
||||
// Initialize all accordions in the salary tab
|
||||
const salaryTab = document.querySelector('swp-tab-content[data-tab="salary"]');
|
||||
if (salaryTab) {
|
||||
salaryTab.querySelectorAll<HTMLElement>('swp-accordion').forEach(accordion => {
|
||||
this.salaryAccordions.push(new Accordion(accordion, { singleOpen: true }));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue