Skip to content

AppSettings

reference
5 min readUpdated

Kind: Class

Source: Pams/Web/Pams.Web/Client/app/settings/app/app.settings.ts (line 126)

Part of: Pams

AppSettings centralizes client-side application setting checks and UI-related helper methods. It exposes methods for origin URL access, date handling, company and developer checks, page-leave behavior, dashboard display values, and equality checks.

Methods

MethodSignatureReturns
getOriginUrlgetOriginUrl()void
addTimeZoneToDateaddTimeZoneToDate(date: Date)void
isMeDeveloperisMeDeveloper()boolean
ifShotecCompanyifShotecCompany()void
if_ShotecSAE_ServiceCenter_Branchesif_ShotecSAE_ServiceCenter_Branches(BranchId: undefined)boolean
leavePageleavePage()void
CalculateSizeCalculateSize(offset: number)void
setYearsColorForDashboardsetYearsColorForDashboard(year: number)string
GetPrecentageGetPrecentage(val: undefined, total_val: undefined)void
checkEqualitycheckEquality(source: any, target: any, pro: string, CalculatedFields: any[])boolean
DataChangedDataChanged(source: any, target: any, CalculatedFields: any[])boolean
formatDateformatDate(e: Date)void
formatDateTimeformatDateTime(e: Date)void
ConvertDateToStringConvertDateToString(dateX: Date)string
ConvertDateToStringEUConvertDateToStringEU(dateX: Date)string
ConvertStringToDateConvertStringToDate(data: string)Date
ConvertStringToDateEUConvertStringToDateEU(data: string)Date
NumeralConversionDefaultNumeralConversionDefault(data: undefined, format: undefined)string
NumeralConversionForRateNumeralConversionForRate(data: undefined, format: undefined)string
NumeralConversionNumeralConversion(data: undefined, format: undefined, currency: undefined)string
NumeralUnConversionNumeralUnConversion(data: undefined)number
returnDecimalDigitsreturnDecimalDigits(numOfDigits: number)string
getDecimalDigitsgetDecimalDigits(value: number)string
ParseErrorParseError(error: any)string
UlitizeTimeUlitizeTime(i: number, Sperator: string, title: string)void
calculateTimePeriodcalculateTimePeriod(periodId: number)number
returnTimePeriodForMomentreturnTimePeriodForMoment(periodId: number)string
setCookiesetCookie(cName: undefined, cValue: undefined, expDays: undefined)void
getCookiegetCookie(cName: undefined)void
deleteCookiedeleteCookie(cName: string)void
saveLocalStoragesaveLocalStorage()void
ifSavePamsStorageifSavePamsStorage()boolean
ifSaveUserLoggedInStorageifSaveUserLoggedInStorage()boolean
readPamsLocalStoragereadPamsLocalStorage()void
readUserLoggedInLocalStoragereadUserLoggedInLocalStorage()void
clearLocalStorageclearLocalStorage()void
ifStorageUpdatedifStorageUpdated()boolean
save2WayAuthenticationLocalStoragesave2WayAuthenticationLocalStorage()void
read2WayAuthenticationLocalStorageread2WayAuthenticationLocalStorage()void
if2WayAuthenticationSaveStorageif2WayAuthenticationSaveStorage()boolean
clear2WayAuthenticationLocalStorageclear2WayAuthenticationLocalStorage()void
if2WayAuthenticationStorageUpdatedif2WayAuthenticationStorageUpdated()void
saveUserLoggedInsaveUserLoggedIn()void
ifSaveUserLoggedInifSaveUserLoggedIn()boolean
encodingStringencodingString(str: string)string
decodingStringdecodingString(str: string)string
readUserLoggedInreadUserLoggedIn()void
checkUserDepartmentcheckUserDepartment(checkDepartment: number)boolean
getSelectedPrincipalsgetSelectedPrincipals()void
setSelectedPrincipalssetSelectedPrincipals(selectedPrincipals: number[])void

Properties

PropertyType
APIUrlany
APIOneDriveUrlany
OriginFrontURLany
newMailURLany
AppVersionNumberany
AppVersionany
AppNameany
bottomActionBarany
ImgPathany
MainPageRouteany
API_ProjectProcessWorkflowTypeControllerany
API_CategoryControllerany
API_ProductControllerany
API_ProductVariantControllerany
API_ProductSubSupplierControllerany
API_AuthControllerany
API_UnitControllerany
API_CountryControllerany
API_Activitiesany
API_ActivitiesLookupsany
API_CompanyCurrencyControllerany
API_OfferControllerany
API_OfferItemControllerany
API_ItemControllerany
API_TimePeriodControllerany
API_NewTimePeriodany
API_OfferMileStoneControllerany
API_OfferItemVersionControllerany
API_InquiryControllerany
API_GuaranteeTypeControllerany
API_JobGuaranteeControllerany
API_CurrencyControllerany
API_ContactInfoTypesControllerany
API_ContactInfoRelatedTypeControllerany
API_JobProcessControllerany
API_JobItemControllerany
API_JobVersionControllerany
API_CityControllerany
API_GovernateControllerany
API_SerialStatusControllerany
API_SerialCombinationsControllerany
API_SerialComponentsControllerany
API_SerialTypeControllerany
API_PaymentMethodControllerany
API_DeliveryTermControllerany
API_ClientsControllerany
API_PersonControllerany
API_ClientTypesControllerany
API_SupplierTypesControllerany
API_MarketSegmentControllerany

Where it refuses work

  • AppSettings stops the work with an early return when AppSettings.userLoggedInObj.userId == 1.
  • AppSettings stops the work with an early return when AppSettings.userLoggedInObj && AppSettings.userLoggedInObj.companyId != 1.
  • AppSettings stops the work with an early return when BranchId == 1 || BranchId == 4.
  • AppSettings stops the work with an early return when new Date().getFullYear() - year >= 5.
  • AppSettings stops the work with an early return when source && target && source[pro] && source[pro] != target[pro] && CalculatedFields.findInd….
  • AppSettings stops the work with an early return when date.trim() != "".

Diagram

mermaid
graph LR
  AppSettings --> Origin[getOriginUrl]
  AppSettings --> Date[addTimeZoneToDate]
  AppSettings --> Access[isMeDeveloper]
  AppSettings --> Company[ifShotecCompany]
  AppSettings --> Branches[if_ShotecSAE_ServiceCenter_Branches]
  AppSettings --> Navigation[leavePage]
  AppSettings --> Layout[CalculateSize]
  AppSettings --> Dashboard[setYearsColorForDashboard]
  AppSettings --> Percentage[GetPrecentage]
  AppSettings --> Validation[checkEquality]

Usage

ts
import { AppSettings } from './app.settings';

const appSettings = new AppSettings();

const originUrl = appSettings.getOriginUrl();
const isDeveloper = appSettings.isMeDeveloper();
const isServiceCenterBranch =
  appSettings.if_ShotecSAE_ServiceCenter_Branches();

if (isDeveloper) {
  console.log(`Developer session at ${originUrl}`);
}

const dashboardYearColor = appSettings.setYearsColorForDashboard();
const valuesMatch = appSettings.checkEquality();

if (!valuesMatch) {
  appSettings.leavePage();
}

AI Coding Instructions

  • Keep environment, company, and role checks inside AppSettings instead of duplicating conditional logic in components.
  • Preserve existing method names, including GetPrecentage and if_ShotecSAE_ServiceCenter_Branches, because callers may depend on them.
  • Check boolean return values from isMeDeveloper, if_ShotecCompany, and checkEquality before changing UI or navigation behavior.
  • Call addTimeZoneToDate when working with dates that must follow the application's timezone handling rules.

Relationships

  • CALLS → FilesController
  • CALLS → MarketSegmentController
  • CALLS → CategoryController
  • CALLS → ProductController
  • CALLS → ProductVariantController
  • CALLS → ProductSupplierController
  • CALLS → UnitController
  • CALLS → CountryController
  • CALLS → ActivitiesController
  • CALLS → VisitPurposeController
  • CALLS → CompanyCurrencyController
  • CALLS → OfferController
  • CALLS → ItemController
  • CALLS → TimePeriodController
  • CALLS → SalesJobController
  • CALLS → OfferMileStoneController
  • CALLS → InquiryController
  • CALLS → GuaranteeTypesController
  • CALLS → JobGuaranteesController
  • CALLS → CurrencyController
  • CALLS → ContactInfoTypeController
  • CALLS → ContactInfoRelatedTypeController
  • CALLS → JobProcessController
  • CALLS → JobItemController
  • CALLS → JobVersionController
  • CALLS → CityController
  • CALLS → GovernateController
  • CALLS → SerialStatusController
  • CALLS → SerialCombinationsController
  • CALLS → SerialComponentsController
  • CALLS → SerialTypeController
  • CALLS → PaymentMethodController
  • CALLS → DeliveryTermController
  • CALLS → PersonController
  • CALLS → ClientTypeController
  • CALLS → SupplierTypeController
  • CALLS → PersonEmailController
  • CALLS → PersonPhoneController
  • CALLS → CompanyBranchContactInfoController
  • CALLS → ContactInfoController
  • CALLS → CompanyBranchController
  • CALLS → StoreController
  • CALLS → StoreAreaController
  • CALLS → WarehouseModelController
  • CALLS → ReceivingShipmentController
  • CALLS → InspectionSheetController
  • CALLS → InspectionBaseController
  • CALLS → TransferOrderReasonController
  • CALLS → ExternalServiceTypeController
  • CALLS → ProductWithdrawalController
  • CALLS → BookingProductController
  • CALLS → StoreProductController
  • CALLS → ShippingOrderController
  • CALLS → ProductionOrderController
  • CALLS → IssuingGoodsController
  • CALLS → ReturnNoteController
  • CALLS → DeliveryNoteController
  • CALLS → ExternalServiceController
  • CALLS → TransferOrderController
  • CALLS → BankController
  • CALLS → BankAccountController
  • CALLS → CompanyController
  • CALLS → AddressController
  • CALLS → AddressTypeController
  • CALLS → CompanyBranchSettingController
  • CALLS → ProcessReasonController
  • CALLS → InquiryTypesController
  • CALLS → OfferStatusController
  • CALLS → OrderChanceController
  • CALLS → OrderStatusController
  • CALLS → JobListLayoutController
  • CALLS → DefaultJobListLayoutController
  • CALLS → ProductTypeController
  • CALLS → MRQProductTypeController
  • CALLS → BookingTargetController
  • CALLS → ForecastedBookingController
  • CALLS → TeamTargetController
  • CALLS → PrincipalTargetController
  • CALLS → AccountManagerTargetController
  • CALLS → ProductTypeTargetController
  • CALLS → FinanceBudgetController
  • CALLS → ProductTypeGroupController
  • CALLS → NationalityController
  • CALLS → EmployeeTypesController
  • CALLS → MaritalStatusController
  • CALLS → CompanyBranchDepartmentController
  • CALLS → ProjectCommentController
  • CALLS → ProjectRegisteredController
  • CALLS → ShareholdersController
  • CALLS → ContactPersonController
  • CALLS → ContactPersonReferenceController
  • CALLS → ContactPersonRelatedTypeController
  • CALLS → RegistrationStatusController
  • CALLS → DataSourceController
  • CALLS → DashboardController
  • CALLS → DashboardDataController
  • CALLS → OrderActivationConditionController
  • CALLS → MyDeskController
  • CALLS → ReactivationReasonsController
  • CALLS → DefaultSerialStatusController
  • CALLS → ConnectionTypeController
  • CALLS → MailToController
  • CALLS → NotificationController
  • CALLS → NotificationTypeController
  • CALLS → ReminderController
  • CALLS → SytemNotificationController
  • CALLS → SentEmailsController
  • CALLS → TimeUnitTypeController
  • CALLS → UserEmailSettingController
  • CALLS → AssigneeController
  • CALLS → AssigneeAccessTypeController
  • CALLS → PriorityController
  • CALLS → StatusController
  • CALLS → TaskController
  • CALLS → CommentsController
  • CALLS → RelatedToTypesController
  • CALLS → TagsController
  • CALLS → ClientDelayController
  • CALLS → DashboardWidgetController
  • CALLS → AccountsController
  • CALLS → ProductCategoryController
  • CALLS → PersonUserController
  • CALLS → RoleController
  • CALLS → PersonTypeController
  • CALLS → PermissionController
  • CALLS → RolePermissionsController
  • CALLS → JobVersionStatusLogController
  • CALLS → JobItemStatusController
  • CALLS → JobItemStatusDataController
  • CALLS → ProjectController
  • CALLS → ProjectStatusController
  • CALLS → JobDocumentController
  • CALLS → InvoiceController
  • CALLS → UpcomingInvoiceController
  • CALLS → PaymentController
  • CALLS → ImportController
  • CALLS → LetterOfGuaranteeController
  • CALLS → PmSerialCombinationController
  • CALLS → BillOfMaterialController
  • CALLS → MaterialsRequisitionController
  • CALLS → MRQJobController
  • CALLS → MRQJobInquiryController
  • CALLS → MRQJobOfferController
  • CALLS → MRQJobOrderController
  • CALLS → MRQJobProductController
  • CALLS → SalesPotentialController
  • CALLS → SalesFollowerController
  • CALLS → SalesPotentialStatusController
  • CALLS → SalesOfferController
  • CALLS → SalesOrderController
  • CALLS → SalesItemController
  • CALLS → CustomFieldController
  • CALLS → PrincipalInvoicePaymentController
  • CALLS → PrincipalPaymentController
  • CALLS → PrincipalDeductionController
  • CALLS → UpcomingPrincipalInvoiceController
  • CALLS → PurchasingJobController
  • CALLS → purchasingInquiryController
  • CALLS → PurchasingOfferController
  • CALLS → PurchasingOrderController
  • CALLS → PurchasingItemController
  • CALLS → PurchasePaymentMilestoneController
  • CALLS → WordTemplateController
  • CALLS → AuditController
  • CALLS → ColorMarkerController
  • CALLS → ClientProfileController

Used by

291 references from 291 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

Imported by (291)

  • AppComponentPams/Web/Pams.Web/Client/app/app.component.ts:1
  • TranslateHandlerPams/Web/Pams.Web/Client/app/app.module.ts:1
  • MrqDetailsComponentPams/Web/Pams.Web/Client/app/components/MRQ/mrq-details/mrq-details.component.ts:1
  • MrqListComponentPams/Web/Pams.Web/Client/app/components/MRQ/mrq-list/mrq-list.component.ts:1
  • MrqServicePams/Web/Pams.Web/Client/app/components/MRQ/mrq.service.ts:1
  • BillOfMaterialsListComponentPams/Web/Pams.Web/Client/app/components/bill-of-materials/bill-of-materials-list/bill-of-materials-list.component.ts:1
  • BlogsComponentPams/Web/Pams.Web/Client/app/components/blogs/blogs.component.ts:1
  • BlogsServicePams/Web/Pams.Web/Client/app/components/blogs/blogs.service.ts:1

…and 283 more.

Was this page helpful?

Download as PDF