Kind: Class
Source: Frontend/src/app/components/dashboard/dashboard-libary/widgets/mrm-depreciation/mrm-depreciation.component.ts (line 77)
Part of: Frontend
MrmDepreciationComponent manages depreciation data for a dashboard widget by initializing, retrieving, saving, and calculating totals by year or month. It also checks feature subscription access and prepares month and price values for display.
Extends: BaseWidgetComponent
Methods
| Method | Signature | Returns |
|---|---|---|
checkFeatureSubscription | checkFeatureSubscription() | boolean |
ngOnInit | ngOnInit() | void |
ngOnChanges | ngOnChanges() | void |
getDashboardData | getDashboardData() | void |
initalizingData | initalizingData(value: BranchData[]) | void |
saveDashboardData | saveDashboardData() | void |
calculateSumByYear | calculateSumByYear() | void |
calculateSumByMonth | calculateSumByMonth(monthIndex: number) | void |
translateMonthName | translateMonthName(month: BranchData) | string |
getpriceFormatted | getpriceFormatted(x: undefined) | string |
onResize | onResize() | void |
setChaching | setChaching() | void |
getChaching | getChaching() | void |
switchChartTypeHandler | switchChartTypeHandler() | void |
switchBasedOnTendencyHandler | switchBasedOnTendencyHandler() | void |
comparingWithPrevMonth | comparingWithPrevMonth(month: BranchData, bIndex: number, propertyName: string) | string |
comparingBookingWithPrevSumm | comparingBookingWithPrevSumm(month: MonthsSum, index: number, propertyName: string) | string |
isCurrentMonth | isCurrentMonth(month: MonthData) | boolean |
getpriceForecastAmount | getpriceForecastAmount(month: MonthData) | number |
expectedCurrencyChange | expectedCurrencyChange(e: undefined) | void |
selectText | selectText(e: undefined) | void |
editSelectedMonthPrepare | editSelectedMonthPrepare(month: MonthData, supplierId: number) | void |
openPopup | openPopup(n: string, t: string, i: string, btnTxt: string) | void |
savePopup | savePopup() | void |
ClosewithDonotSave | ClosewithDonotSave() | void |
OnOpenedPopup | OnOpenedPopup() | void |
closePopup | closePopup() | void |
Properties
| Property | Type |
|---|---|
sharedPopup | SharedPopupComponent |
_widget | Widget |
_widgetType | string |
yearId | number |
periodId | number |
countOfEditablePrevMonths | number |
withoutOptionBar | boolean |
editMode | boolean |
bookingOrSales | number |
withNominal | boolean |
selectedTeam | number |
forecastRuleId | number |
allowedtoEdit | boolean |
allowedtoEnableEdting | boolean |
widgetEditRequest | any |
widgetEditEnd | any |
forecastRules | any[] |
selectedYear | number |
numYearsDatasource | any[] |
todayWidgetsEnum | any |
cachingWidgetData | CachingWidgetData |
data | BranchData[] |
originalData | BranchData[] |
selectedData | BranchData[] |
singleMonths | MonthData |
branchCurrency | any |
basedOnTendency | boolean |
SeriseRange | any[] |
echartsIntance | any |
totalBookingMonths | MonthsSum[] |
tempMonthSum | MonthsSum |
totalTargets | number |
yearBooking | number |
totalForecasts | number |
tempTotalTarget | TotalTargets |
totalDepreciationAmount | number |
totalOthers | number |
totalTotalSGAndA | number |
totalFORX | number |
totalTotal | number |
totalCumulative | number |
totalPercentageUsedBudget | number |
popup | any |
searchText | string |
pastDiff | number |
urrenFeature | number |
Where it refuses work
MrmDepreciationComponentstops the work with an early return whenthis.dashboardLibraryService.checkFeatureSubscription(this.widget.chartEnumId).MrmDepreciationComponentstops the work with an early return whenmonth.MonthId == 12.MrmDepreciationComponentstops the work with an early return whenmonth[propertyName] < this.data[bIndex - 1][propertyName].MrmDepreciationComponentstops the work with an early return whenmonth[propertyName] < this.totalBookingMonths[index - 1][propertyName].MrmDepreciationComponentstops the work with an early return whenAppSettings.calculateMonthsBeforeToday(month.YearId, month.MonthId -1) == 0 || AppSetting….
Diagram
mermaidgraph LR Lifecycle[Angular lifecycle] --> Init[ngOnInit] Lifecycle --> Changes[ngOnChanges] Init --> Subscription[checkFeatureSubscription] Subscription --> Load[getDashboardData] Load --> Initialize[initalizingData] Initialize --> YearSum[calculateSumByYear] Initialize --> MonthSum[calculateSumByMonth] Initialize --> Save[saveDashboardData] YearSum --> Display[getpriceFormatted] MonthSum --> MonthLabel[translateMonthName] MonthLabel --> Display
Usage
tsimport { ComponentFixture, TestBed } from '@angular/core/testing';
import { MrmDepreciationComponent } from './mrm-depreciation.component';
describe('MrmDepreciationComponent', () => {
let fixture: ComponentFixture<MrmDepreciationComponent>;
let component: MrmDepreciationComponent;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [MrmDepreciationComponent],
});
fixture = TestBed.createComponent(MrmDepreciationComponent);
component = fixture.componentInstance;
});
it('loads and formats depreciation dashboard data', () => {
fixture.detectChanges();
if (component.checkFeatureSubscription()) {
component.getDashboardData();
component.calculateSumByYear();
component.calculateSumByMonth();
const formattedPrice = component.getpriceFormatted();
const monthName = component.translateMonthName();
expect(formattedPrice).toBeDefined();
expect(monthName).toBeDefined();
}
});
});
AI Coding Instructions
- Keep data loading and initialization aligned with
ngOnInitandngOnChanges. - Check
checkFeatureSubscription()before showing or requesting depreciation dashboard data. - Run
calculateSumByYear()andcalculateSumByMonth()only after the required dashboard data is initialized. - Use
translateMonthName()andgetpriceFormatted()for widget display values instead of formatting those values in templates. - Save changes through
saveDashboardData()after updating the component’s depreciation state.
Used by
3 references from 3 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.
Imported by (3)
DashboardTabComponent—Frontend/src/app/components/dashboard/dashboard-libary/dashboard-tab/dashboard-tab.component.ts:1DashboardWidgetsModule—Frontend/src/app/components/dashboard/dashboard-widgets.module.ts:1ReportsTabComponent—Frontend/src/app/components/reports/reports-library/reports-tab/reports-tab.component.ts:1
Was this page helpful?