{"version":3,"sources":["webpack:///./src/resources/central-report-teaching-edit/central-report-teaching-edit.ts","webpack:///./src/resources/central-report-teaching-edit/central-report-teaching-edit.html","webpack:///./src/resources/central-report-teaching-view/central-report-teaching-view.ts","webpack:///./src/resources/central-report-teaching-view/central-report-teaching-view.html","webpack:///./src/resources/central-report-unit-organization-edit/central-report-unit-organization-edit.ts","webpack:///./src/resources/central-report-unit-organization-edit/central-report-unit-organization-edit.html","webpack:///./src/resources/central-report-unit-organization-lastperiod-edit/central-report-unit-organization-lastperiod-edit.ts","webpack:///./src/resources/central-report-unit-organization-lastperiod-edit/central-report-unit-organization-lastperiod-edit.html","webpack:///./src/resources/central-report-unit-organization-view/central-report-unit-organization-view.ts","webpack:///./src/resources/central-report-unit-organization-view/central-report-unit-organization-view.html","webpack:///./src/resources/dashboard-chart/DashboardChartData.ts","webpack:///./src/resources/dashboard-chart/dashboard-chart.ts","webpack:///./src/resources/dashboard-chart/dashboard-chart.html","webpack:///./src/resources/decimal-only-attribute/decimal-only-attribute.ts","webpack:///./src/resources/finance-balance/finance-balance.ts","webpack:///./src/resources/finance-balance/finance-balance.html","webpack:///./src/resources/finance-worker-promise-this-period/finance-worker-promise-this-period.ts","webpack:///./src/resources/finance-worker-promise-this-period/finance-worker-promise-this-period.html"],"names":["defaultBindingMode","oneWay","module","exports","CentralReportUnitOrganizationEdit","CentralReportUnitOrganizationLastperiodEdit","CentralReportUnitOrganizationView","id","workerMeetingKpi","tarbiyahKpi","dawahEventKpi","increaseAmKpi","increasePmKpi","reportSubmissionKpi","attached","this","initializeCharts","detached","detachAllCharts","chartData","initializeTmGaugeChart","initializeAmGaugeChart","initializePmGaugeChart","initializeWmGaugeChart","initializeDmGaugeChart","initializeRsGaugeChart","Chart","window","tmGaugeCanvas","value","Math","min","tmGaugeChart","gaugeConfig","amGaugeCanvas","amGaugeChart","pmGaugeCanvas","pmGaugeChart","wmGaugeCanvas","wmGaugeChart","dmGaugeCanvas","dmGaugeChart","rsGaugeCanvas","rsGaugeChart","destroy","data","chartTitle","type","labels","datasets","label","minValue","backgroundColor","borderWidth","options","legend","display","position","generateLabels","responsive","title","text","layout","padding","bottom","needle","radiusPercentage","widthPercentage","lengthPercentage","color","valueLabel","fontSize","formatter","context","plugins","datalabels","chart","dataIndex","font","innerRadius","round","weight","size","getRandomNumber","max","floor","random","DashboardChartData","DashboardChart","element","onKeyDown","e","cancelable","decimalRegex","test","key","preventDefault","DecimalOnlyCustomAttribute","addEventListener","removeEventListener","RegExp","Element","zeroBalance","AUD","getProps","dto","lastPeriod","amount","collection","expense","financeDataChanged","newValue","oldValue","initialData","latestData","financeData","JSON","stringify","balance","newBalance","FinanceBalance","zeroThisPeriod","workerPromiseLastPeriod","workerPromiseIncreaseTarget","workerPromiseIncreased","workerPromiseDecreased","workerPromiseThisPeriod","newThisPeriod","FinanceWorkerPromiseThisPeriod"],"mappings":"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","file":"app~6bb0f9c3.25cb13c1f18d3d68f3a9.chunk.js","sourcesContent":["import { bindable, bindingMode } from \"aurelia-framework\";\r\nimport { TeachingLearningProgramData } from \"models/TeachingLearningProgramData\";\r\n\r\nexport class CentralReportTeachingEdit {\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) groupStudyTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) groupStudyTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) studyCircleForAssociateMemberTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) studyCircleForAssociateMemberTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) studyCircleTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) studyCircleTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) practiceDarsTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) practiceDarsTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateLearningCampTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateLearningCampTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) quranStudyTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) quranStudyTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) hadithTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) hadithTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) quranClassTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) quranClassTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) weekendIslamicSchoolTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) weekendIslamicSchoolTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingAyatTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingAyatTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingHadithTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingHadithTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingDoaTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingDoaTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateLearningSessionTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateLearningSessionTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateQiyamulLailTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateQiyamulLailTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) otherTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) otherTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n}","module.exports = \"\\r\\n\";","import { bindable, bindingMode } from \"aurelia-framework\";\r\nimport { TeachingLearningProgramData } from \"models/TeachingLearningProgramData\";\r\n\r\nexport class CentralReportTeachingView {\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) groupStudyTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) groupStudyTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) studyCircleForAssociateMemberTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) studyCircleForAssociateMemberTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) studyCircleTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) studyCircleTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) practiceDarsTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) practiceDarsTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateLearningCampTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateLearningCampTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) quranStudyTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) quranStudyTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) hadithTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) hadithTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) quranClassTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) quranClassTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) weekendIslamicSchoolTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) weekendIslamicSchoolTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingAyatTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingAyatTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingHadithTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingHadithTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingDoaTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) memorizingDoaTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateLearningSessionTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateLearningSessionTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateQiyamulLailTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) stateQiyamulLailTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) otherTeachingLearningProgramData: TeachingLearningProgramData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) otherTeachingLearningProgramGeneratedData: TeachingLearningProgramData;\r\n}","module.exports = \"\\r\\n\";","import { bindable, bindingMode, containerless } from \"aurelia-framework\";\r\nimport { UnitOrganizationReportData } from \"models/UnitOrganizationReportData\";\r\n\r\n@containerless\r\nexport class CentralReportUnitOrganizationEdit {\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) dawahUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) dawahUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) organizationUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) organizationUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymbUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymbUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymsUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymsUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) lmUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) lmUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n}\r\n","module.exports = \"\\r\\n\";","import { bindable, bindingMode, containerless } from \"aurelia-framework\";\r\nimport { UnitOrganizationReportData } from \"models/UnitOrganizationReportData\";\r\n\r\n@containerless\r\nexport class CentralReportUnitOrganizationLastperiodEdit {\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) dawahUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) dawahUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) organizationUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) organizationUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymbUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymbUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymsUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymsUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) lmUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) lmUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n}\r\n","module.exports = \"\\r\\n\";","import { bindable, bindingMode, containerless } from \"aurelia-framework\";\r\nimport { UnitOrganizationReportData } from \"models/UnitOrganizationReportData\";\r\n\r\n@containerless\r\nexport class CentralReportUnitOrganizationView {\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) dawahUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) dawahUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) organizationUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) organizationUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymbUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymbUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymsUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) ymsUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) lmUnitOrganizationData: UnitOrganizationReportData;\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) lmUnitOrganizationGeneratedData: UnitOrganizationReportData;\r\n}\r\n","module.exports = \"\\r\\n\";","\r\nexport class DashboardChartData {\r\n constructor(\r\n public id: number,\r\n public workerMeetingKpi,\r\n public tarbiyahKpi,\r\n public dawahEventKpi,\r\n public increaseAmKpi,\r\n public increasePmKpi,\r\n public reportSubmissionKpi\r\n ) { }\r\n}\r\n","import { bindable, bindingMode, containerless, autoinject } from \"aurelia-framework\";\r\nimport { DashboardChartData } from \"resources/dashboard-chart/DashboardChartData\";\r\n\r\n@containerless\r\n@autoinject\r\nexport class DashboardChart {\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) chartData: DashboardChartData;\r\n\r\n // Chart properties\r\n private tmGaugeChart: Chart | undefined;\r\n private tmGaugeCanvas: HTMLCanvasElement | undefined;\r\n \r\n private amGaugeChart: Chart | undefined;\r\n private amGaugeCanvas: HTMLCanvasElement | undefined;\r\n \r\n private pmGaugeChart: Chart | undefined;\r\n private pmGaugeCanvas: HTMLCanvasElement | undefined;\r\n \r\n private wmGaugeChart: Chart | undefined;\r\n private wmGaugeCanvas: HTMLCanvasElement | undefined;\r\n \r\n private dmGaugeChart: Chart | undefined;\r\n private dmGaugeCanvas: HTMLCanvasElement | undefined;\r\n \r\n private rsGaugeChart: Chart | undefined;\r\n private rsGaugeCanvas: HTMLCanvasElement | undefined;\r\n \r\n constructor() {}\r\n \r\n attached() {\r\n this.initializeCharts();\r\n }\r\n \r\n detached() {\r\n this.detachAllCharts();\r\n }\r\n \r\n private initializeCharts() {\r\n if (this.chartData) {\r\n this.initializeTmGaugeChart();\r\n this.initializeAmGaugeChart();\r\n this.initializePmGaugeChart();\r\n this.initializeWmGaugeChart();\r\n this.initializeDmGaugeChart();\r\n this.initializeRsGaugeChart();\r\n }\r\n }\r\n \r\n private initializeTmGaugeChart() {\r\n const Chart = (window as any).Chart;\r\n if (!Chart || !this.tmGaugeCanvas) return;\r\n \r\n var data = [25, 50, 75, 100];\r\n var value = Math.min(this.chartData.tarbiyahKpi, 100);\r\n var chartTitle = \"Tarbiah Meeting\";\r\n \r\n this.tmGaugeChart = new Chart(this.tmGaugeCanvas, this.gaugeConfig(data, value, chartTitle));\r\n }\r\n \r\n private initializeAmGaugeChart() {\r\n const Chart = (window as any).Chart;\r\n if (!Chart || !this.amGaugeCanvas) return;\r\n \r\n var data = [25, 50, 75, 100];\r\n var value = Math.min(this.chartData.increaseAmKpi, 100);\r\n var chartTitle = \"AM Increase\";\r\n \r\n this.amGaugeChart = new Chart(this.amGaugeCanvas, this.gaugeConfig(data, value, chartTitle));\r\n }\r\n \r\n private initializePmGaugeChart() {\r\n const Chart = (window as any).Chart;\r\n if (!Chart || !this.pmGaugeCanvas) return;\r\n \r\n var data = [25, 50, 75, 100];\r\n var value = Math.min(this.chartData.increasePmKpi, 100);\r\n var chartTitle = \"PM Increase\";\r\n \r\n this.pmGaugeChart = new Chart(this.pmGaugeCanvas, this.gaugeConfig(data, value, chartTitle));\r\n }\r\n \r\n private initializeWmGaugeChart() {\r\n const Chart = (window as any).Chart;\r\n if (!Chart || !this.wmGaugeCanvas) return;\r\n \r\n var data = [25, 50, 75, 100];\r\n var value = Math.min(this.chartData.workerMeetingKpi, 100);\r\n var chartTitle = \"Worker Meeting\";\r\n \r\n this.wmGaugeChart = new Chart(this.wmGaugeCanvas, this.gaugeConfig(data, value, chartTitle));\r\n }\r\n \r\n private initializeDmGaugeChart() {\r\n const Chart = (window as any).Chart;\r\n if (!Chart || !this.dmGaugeCanvas) return;\r\n \r\n var data = [25, 50, 75, 100];\r\n var value = Math.min(this.chartData.dawahEventKpi, 100);\r\n var chartTitle = \"Dawah Event\";\r\n \r\n this.dmGaugeChart = new Chart(this.dmGaugeCanvas, this.gaugeConfig(data, value, chartTitle));\r\n }\r\n\r\n private initializeRsGaugeChart() {\r\n const Chart = (window as any).Chart;\r\n if (!Chart || !this.rsGaugeCanvas) return;\r\n \r\n var data = [25, 50, 75, 100];\r\n var value = Math.min(this.chartData.reportSubmissionKpi, 100);\r\n var chartTitle = \"Report Submission\";\r\n \r\n this.rsGaugeChart = new Chart(this.rsGaugeCanvas, this.gaugeConfig(data, value, chartTitle));\r\n }\r\n \r\n private detachAllCharts() {\r\n if (this.tmGaugeChart) this.tmGaugeChart.destroy();\r\n if (this.amGaugeChart) this.amGaugeChart.destroy();\r\n if (this.pmGaugeChart) this.pmGaugeChart.destroy();\r\n if (this.wmGaugeChart) this.wmGaugeChart.destroy();\r\n if (this.dmGaugeChart) this.dmGaugeChart.destroy();\r\n if (this.rsGaugeChart) this.rsGaugeChart.destroy();\r\n }\r\n \r\n private gaugeConfig(data: number[], value: number, chartTitle: string) {\r\n return {\r\n type: \"gauge\",\r\n data: {\r\n labels: [\"Poor\", \"Fair\", \"Good\", \"Very Good\"],\r\n datasets: [{\r\n label: \"\",\r\n data: data,\r\n value: value,\r\n minValue: 0,\r\n backgroundColor: [\"#fc5b5b\", \"orange\", \"yellow\", \"#1c9e46\"],\r\n borderWidth: 2\r\n }]\r\n },\r\n options: {\r\n legend: {\r\n display: false,\r\n position: \"bottom\",\r\n labels: {\r\n generateLabels: {}\r\n }\r\n },\r\n responsive: true,\r\n title: {\r\n display: true,\r\n text: chartTitle,\r\n position: \"bottom\",\r\n },\r\n layout: {\r\n padding: {\r\n bottom: 30,\r\n }\r\n },\r\n needle: {\r\n radiusPercentage: 1,\r\n widthPercentage: 1,\r\n lengthPercentage: 60,\r\n color: \"rgba(0, 0, 0, 1)\"\r\n },\r\n valueLabel: {\r\n fontSize: 15,\r\n formatter: function (value: any, context: any) {\r\n return value + \"%\";\r\n },\r\n color: \"white\",\r\n backgroundColor: \"#6c7a6e\"\r\n },\r\n plugins: {\r\n datalabels: {\r\n display: \"auto\",\r\n formatter: function (value: any, context: any) {\r\n return context.chart.data.labels[context.dataIndex];\r\n },\r\n color: function (context: any) {\r\n return \"#2d2d2e\";\r\n },\r\n font: function (context: any) {\r\n var innerRadius = Math.round(context.chart.innerRadius);\r\n var size = Math.round(innerRadius / 8);\r\n return {\r\n weight: \"normal\",\r\n size: size\r\n };\r\n }\r\n }\r\n }\r\n \r\n }\r\n };\r\n }\r\n \r\n private getRandomNumber(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n}\r\n","module.exports = \"\";","import { inject } from \"aurelia-framework\";\r\n\r\n@inject(Element)\r\nexport class DecimalOnlyCustomAttribute {\r\n constructor(public element: Element) {}\r\n\r\n attached() {\r\n this.element.addEventListener(\"keydown\", this.onKeyDown, false);\r\n }\r\n\r\n detached() {\r\n this.element.removeEventListener(\"keydown\", this.onKeyDown);\r\n }\r\n\r\n static decimalRegex = new RegExp(/[0-9]|Backspace|Delete|Home|End|ArrowLeft|ArrowRight|Tab|\\./);\r\n\r\n onKeyDown = (e: KeyboardEvent) => {\r\n //console.log([e.key, DecimalOnlyCustomAttribute.decimalRegex.test(e.key), e]);\r\n if(e.cancelable && !DecimalOnlyCustomAttribute.decimalRegex.test(e.key)){\r\n e.preventDefault();\r\n }\r\n }\r\n}","import { bindable, bindingMode, containerless } from \"aurelia-framework\";\r\nimport { Money } from \"models/Money\";\r\nimport { FinanceData } from \"models/FinanceData\";\r\nimport { Currency } from \"models/Currency\";\r\n\r\ntype props = {\r\n lastPeriod: number,\r\n collection: number,\r\n expense: number,\r\n //nisabPaidToCentral: number\r\n};\r\n\r\n@containerless\r\nexport class FinanceBalance {\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) financeData: FinanceData;\r\n initialData: props;\r\n\r\n getProps(dto: FinanceData) {\r\n const propsData: props = {\r\n lastPeriod: dto.lastPeriod.amount,\r\n collection: dto.collection.amount,\r\n expense: dto.expense.amount,\r\n //nisabPaidToCentral: dto.nisabPaidToCentral.amount\r\n };\r\n return propsData;\r\n }\r\n \r\n financeDataChanged(newValue: FinanceData, oldValue: FinanceData) {\r\n this.initialData = this.getProps(newValue);\r\n }\r\n\r\n get isDirty() {\r\n const latestData: props = this.getProps(this.financeData);\r\n return JSON.stringify(this.initialData) !== JSON.stringify(latestData) && this.financeData.balance.amount != this.newBalance.amount;\r\n }\r\n \r\n zeroBalance = new Money(0, Currency.AUD);\r\n \r\n get newBalance() {\r\n // `this.financeData.nisabPaidToCentral.amount` hasn't been subtracted because we aren't using it anymore.\r\n const newValue = this.financeData.lastPeriod.amount + this.financeData.collection.amount - this.financeData.expense.amount;\r\n return new Money(newValue, Currency.AUD);\r\n }\r\n}\r\n","module.exports = \"\";","import { bindable, bindingMode, containerless } from \"aurelia-framework\";\r\nimport { Money } from \"models/Money\";\r\nimport { FinanceData } from \"models/FinanceData\";\r\nimport { Currency } from \"models/Currency\";\r\n\r\ntype props = {\r\n workerPromiseLastPeriod: number,\r\n workerPromiseIncreaseTarget: number,\r\n workerPromiseIncreased: number,\r\n workerPromiseDecreased: number\r\n};\r\n\r\n@containerless\r\nexport class FinanceWorkerPromiseThisPeriod {\r\n @bindable({ defaultBindingMode: bindingMode.oneWay }) financeData: FinanceData;\r\n initialData: props;\r\n\r\n getProps(dto: FinanceData) {\r\n const propsData: props = {\r\n workerPromiseLastPeriod: dto.workerPromiseLastPeriod.amount,\r\n workerPromiseIncreaseTarget: dto.workerPromiseIncreaseTarget.amount,\r\n workerPromiseIncreased: dto.workerPromiseIncreased.amount,\r\n workerPromiseDecreased: dto.workerPromiseDecreased.amount\r\n };\r\n return propsData;\r\n }\r\n financeDataChanged(newValue: FinanceData, oldValue: FinanceData) {\r\n this.initialData = this.getProps(newValue);\r\n }\r\n\r\n get isDirty() {\r\n const latestData: props = this.getProps(this.financeData);\r\n return JSON.stringify(this.initialData) !== JSON.stringify(latestData) && this.financeData.workerPromiseThisPeriod.amount != this.newThisPeriod.amount;\r\n }\r\n \r\n zeroThisPeriod = new Money(0, Currency.AUD);\r\n \r\n get newThisPeriod() {\r\n const newValue = this.financeData.workerPromiseLastPeriod.amount + this.financeData.workerPromiseIncreased.amount - this.financeData.workerPromiseDecreased.amount;\r\n return newValue < 0 ? this.zeroThisPeriod : new Money(newValue, Currency.AUD);\r\n }\r\n}","module.exports = \"\";"],"sourceRoot":""}