Skip to content

AppSettings

reference
3 min readUpdated

Kind: Class

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

Part of: Pams

AppSettings is a client-side settings model in Pams.WebApp that handles size calculation, origin URL lookup, validation error access, error parsing, equality checks, change detection, and date/time formatting. Components can call it when displaying, validating, or comparing application settings.

Methods

MethodSignatureReturns
CalculateSizeCalculateSize()void
getOriginUrlgetOriginUrl()void
getValidationErrorListgetValidationErrorList(errors: ValidationError[])void
getValidationErrorgetValidationError(error: ValidationError, messageList: string[])string[]
ParseErrorParseError(error: any)string
TimeDifferenceStringTimeDifferenceString(days: number, Sperator: string, title: string)void
checkEqualitycheckEquality(source: any, target: any, pro: string, CalculatedFields: any[])boolean
DataChangedDataChanged(source: any, target: any, CalculatedFields: any[])boolean
ConvertDateToStringConvertDateToString(dateX: Date)string
ConvertDateToStringEUConvertDateToStringEU(dateX: Date)string
ConvertStringToDateConvertStringToDate(data: string)Date
ConvertStringToDateEUConvertStringToDateEU(data: string)Date
NumeralConversionDefaultNumeralConversionDefault(data: undefined, format: undefined)string
NumeralConversionNumeralConversion(data: undefined, format: undefined, currency: undefined)string
NumeralUnConversionNumeralUnConversion(data: undefined)number
UlitizeTimeUlitizeTime(i: number, Sperator: string, title: string)void

Properties

PropertyType
API_Url_Localany
API_Url_Remoteany
APIUrlany
ImgPathany
API_ProjectProcessWorkflowTypeControllerany
API_CategoryControllerany
API_AuthControllerany
API_UnitControllerany
API_CountryControllerany
API_CompanyCurrencyControllerany
API_OfferControllerany
API_OfferItemControllerany
API_ItemControllerany
API_TimePeriodControllerany
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
API_PersonEmailControllerany
API_PersonPhoneControllerany
API_SupplierControllerany
API_CompanyBranchContactInfoControllerany
API_ContactInfoControllerany
API_CompanyBranchControllerany
API_CompanyControllerany
API_AddressControllerany
API_AddressTypeControllerany
API_CompanyBranchSettingControllerany
API_ProcessReasonontrollerany
API_InquiryTypesControllerany

Where it refuses work

  • 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 !i.

Diagram

mermaid
graph LR
  Component[Client Component] --> Settings[AppSettings]
  Settings --> Origin[getOriginUrl]
  Settings --> Validation[getValidationErrorList / getValidationError]
  Settings --> Errors[ParseError]
  Settings --> Changes[checkEquality / DataChanged]
  Settings --> Dates[ConvertDateToString / ConvertDateToStringEU / TimeDifferenceString]
  Settings --> Size[CalculateSize]

Usage

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

const settings = new AppSettings();

const originUrl = settings.getOriginUrl();
const validationErrors: string[] = settings.getValidationError();
const hasChanges = settings.DataChanged();

if (!hasChanges && validationErrors.length === 0) {
  console.log(`Settings are ready for ${originUrl}`);
}

console.log(settings.ConvertDateToString());
console.log(settings.ParseError());

AI Coding Instructions

  • Keep method names and casing unchanged, including CalculateSize, DataChanged, and ConvertDateToStringEU.
  • Check getValidationError() or getValidationErrorList() before displaying parsed error text from ParseError().
  • Use DataChanged() and checkEquality() for settings comparisons instead of duplicating comparison logic in components.
  • Keep date display logic in ConvertDateToString() and ConvertDateToStringEU() rather than formatting settings dates in each caller.

Relationships

  • IMPORTS → environment
  • CALLS → FilesController
  • CALLS → MarketSegmentController
  • CALLS → CategoryController
  • CALLS → UnitController
  • CALLS → CountryController
  • CALLS → CompanyCurrencyController
  • CALLS → OfferController
  • CALLS → ItemController
  • CALLS → TimePeriodController
  • 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 → CompanyController
  • CALLS → AddressController
  • CALLS → AddressTypeController
  • CALLS → CompanyBranchSettingController
  • CALLS → ProcessReasonController
  • CALLS → InquiryTypesController
  • CALLS → OfferStatusController
  • CALLS → OrderChanceController
  • CALLS → OrderStatusController
  • CALLS → JobListLayoutController
  • CALLS → DefaultJobListLayoutController
  • CALLS → ProductTypeController
  • CALLS → BookingTargetController
  • CALLS → NationalityController
  • CALLS → EmployeeTypesController
  • CALLS → MaritalStatusController
  • CALLS → CompanyBranchDepartmentController
  • CALLS → ProjectCommentController
  • CALLS → ProjectRegisteredController
  • CALLS → ShareholdersController
  • CALLS → ContactPersonController
  • CALLS → ContactPersonRelatedTypeController
  • CALLS → RegistrationStatusController
  • CALLS → DataSourceController
  • CALLS → DashboardController
  • CALLS → ReactivationReasonsController
  • CALLS → DefaultSerialStatusController
  • CALLS → ConnectionTypeController
  • CALLS → MailToController
  • CALLS → NotificationController
  • CALLS → NotificationTypeController
  • CALLS → ReminderController
  • CALLS → SentEmailsController
  • CALLS → TimeUnitTypeController
  • CALLS → UserEmailSettingController
  • CALLS → AssigneeController
  • CALLS → AssigneeAccessTypeController
  • CALLS → StatusController
  • CALLS → TaskController
  • CALLS → CommentsController
  • CALLS → RelatedToTypesController
  • CALLS → TagsController
  • CALLS → ClientDelayController
  • CALLS → DashboardWidgetController
  • CALLS → AccountsController
  • CALLS → PersonUserController
  • CALLS → RoleController
  • CALLS → PersonTypeController
  • CALLS → PermissionController
  • CALLS → RolePermissionsController
  • CALLS → JobVersionStatusLogController
  • CALLS → JobItemStatusController
  • CALLS → JobItemStatusDataController
  • CALLS → ProjectController
  • CALLS → ProjectStatusController
  • CALLS → JobDocumentController

Used by

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

Imported by (110)

  • BaseEditPams/Web/Pams.WebApp/Client/app/core/components/base-edit.component.ts:1
  • CoreModulePams/Web/Pams.WebApp/Client/app/core/core.module.ts:1
  • BaseApiPams/Web/Pams.WebApp/Client/app/core/services/api/base-api.service.ts:1
  • PreviousPageServicePams/Web/Pams.WebApp/Client/app/core/services/previous-page.service.ts:1
  • AssigneeAccessTypeServicePams/Web/Pams.WebApp/Client/app/services/Tasks/assignee-access-type.service.ts:1
  • AssigneeServicePams/Web/Pams.WebApp/Client/app/services/Tasks/assignee.service.ts:1
  • PrioritiesServicePams/Web/Pams.WebApp/Client/app/services/Tasks/priorities.service.ts:1
  • StatusServicePams/Web/Pams.WebApp/Client/app/services/Tasks/status.service.ts:1

…and 102 more.

Was this page helpful?

Download as PDF