Skip to content

MrmCurrencyRateComponent

reference
2 min readUpdated

Kind: Class

Source: Pams/Web/Pams.Web/Client/app/components/dashboard/dashboard-libary/widgets/mrm-currency-rate/mrm-currency-rate.component.ts (line 77)

Part of: Pams

MrmCurrencyRateComponent is an Angular dashboard widget that retrieves, initializes, and saves currency-rate dashboard data. It responds to lifecycle changes, calculates totals by year and month, translates month names, and cleans up when the component is destroyed.

Methods

MethodSignatureReturns
GetAuthorizationAccessGetAuthorizationAccess(url: string)void
ngOnInitngOnInit()void
ngOnChangesngOnChanges()void
ngOnDestroyngOnDestroy()void
getDashboardDatagetDashboardData()void
initalizingDatainitalizingData(value: BranchData[])void
saveDashboardDatasaveDashboardData()void
calculateSumByYearcalculateSumByYear()void
calculateSumByMonthcalculateSumByMonth(monthIndex: number)void
translateMonthNametranslateMonthName(month: BranchData)string
getpriceFormattedgetpriceFormatted(x: undefined)string
onResizeonResize()void
setChachingsetChaching()void
getChachinggetChaching()void
switchChartTypeHandlerswitchChartTypeHandler()void
switchBasedOnTendencyHandlerswitchBasedOnTendencyHandler()void
comparingWithPrevMonthcomparingWithPrevMonth(month: BranchData, bIndex: number, propertyName: string)string
comparingBookingWithPrevSummcomparingBookingWithPrevSumm(month: MonthsSum, index: number, propertyName: string)string
isCurrentMonthisCurrentMonth(month: MonthData)boolean
getpriceForecastAmountgetpriceForecastAmount(month: MonthData)number
expectedCurrencyChangeexpectedCurrencyChange(e: undefined)void
selectTextselectText(e: undefined)void
editSelectedMonthPrepareeditSelectedMonthPrepare(month: MonthData, supplierId: number)void
openPopupopenPopup(n: string, t: string, i: string, btnTxt: string)void
savePopupsavePopup()void
ClosewithDonotSaveClosewithDonotSave()void
OnOpenedPopupOnOpenedPopup()void
closePopupclosePopup()void

Properties

PropertyType
sharedPopupSharedPopupComponent
_widgetWidget
_widgetTypestring
withoutOptionBarboolean
editModeboolean
bookingOrSalesnumber
withNominalboolean
selectedTeamnumber
forecastRuleIdnumber
allowedtoEditboolean
allowedtoEnableEdtingboolean
widgetEditRequestany
widgetEditEndany
forecastRulesany[]
selectedYearnumber
numYearsDatasourceany[]
todayWidgetsEnumany
cachingWidgetDataCachingWidgetData
dataBranchData[]
originalDataBranchData[]
selectedDataBranchData[]
singleMonthsMonthData
branchCurrencyany
basedOnTendencyboolean
subscriptionSubscription
SeriseRangeany[]
echartsIntanceany
totalBookingMonthsMonthsSum[]
tempMonthSumMonthsSum
totalTargetsnumber
yearBookingnumber
totalForecastsnumber
tempTotalTargetTotalTargets
totalPercentageUsedBudgetnumber
popupany
searchTextstring

Where it refuses work

  • MrmCurrencyRateComponent stops the work with an early return when month.MonthId == 12.
  • MrmCurrencyRateComponent stops the work with an early return when month[propertyName] < this.data[bIndex - 1][propertyName].
  • MrmCurrencyRateComponent stops the work with an early return when month[propertyName] < this.totalBookingMonths[index - 1][propertyName].
  • MrmCurrencyRateComponent stops the work with an early return when this.allowedtoEnableEdting.
  • MrmCurrencyRateComponent stops the work with an early return when this.allowedtoEdit.

Diagram

mermaid
graph LR
    A[Angular Lifecycle] --> B[ngOnInit]
    A --> C[ngOnChanges]
    A --> D[ngOnDestroy]

    B --> E[GetAuthorizationAccess]
    E --> F[getDashboardData]
    F --> G[initalizingData]

    G --> H[calculateSumByYear]
    G --> I[calculateSumByMonth]
    G --> J[translateMonthName]

    G --> K[saveDashboardData]

Usage

ts
import { MrmCurrencyRateComponent } from './mrm-currency-rate.component';

export function refreshCurrencyRateWidget(
  widget: MrmCurrencyRateComponent,
) {
  widget.GetAuthorizationAccess();
  widget.getDashboardData();

  const yearlyTotal = widget.calculateSumByYear();
  const monthlyTotal = widget.calculateSumByMonth();
  const monthName = widget.translateMonthName();

  widget.saveDashboardData();

  return {
    yearlyTotal,
    monthlyTotal,
    monthName,
  };
}

AI Coding Instructions

  • Let Angular call ngOnInit, ngOnChanges, and ngOnDestroy; avoid calling lifecycle hooks from application code.
  • Keep the existing initalizingData() method name when changing related code, including its current spelling.
  • Fetch and initialize dashboard data before calling calculateSumByYear() or calculateSumByMonth().
  • Keep authorization checks in GetAuthorizationAccess() aligned with dashboard data access behavior.
  • Add cleanup for subscriptions, timers, or other resources in ngOnDestroy() when extending data-loading logic.

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)

  • TranslateHandlerPams/Web/Pams.Web/Client/app/app.module.ts:1
  • DashboardTabComponentPams/Web/Pams.Web/Client/app/components/dashboard/dashboard-libary/dashboard-tab/dashboard-tab.component.ts:1
  • ReportsTabComponentPams/Web/Pams.Web/Client/app/components/dashboard/reports-library/reports-tab/reports-tab.component.ts:1

Was this page helpful?

Download as PDF