import { EventEmitter, OnChanges, SimpleChanges, OnDestroy } from '@angular/core'; import { Observable, Subscription } from 'rxjs'; import { DialogService, UserSessionService, UnsavedChangeDetector } from '@rbaip/ui-component'; import { FormControl } from '@angular/forms'; import { MatAutocompleteTrigger, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete'; import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; import { Asset, AssetInfo, AssetSaleFieldInfoTooltip, AssetSaleInfo, BudgetInfo, EquipmentCategory, EquipmentManufacturer, EquipmentModel, EquipmentType, EquipmentUsage } from '../../shared/domain/item'; import { ItemSummaryItemService } from '../../shared/asset/item-summary-item.service'; import { AddAssetService } from '../../shared/asset/item-summary-add-new-asset.service'; import { GalleryPhoto } from '../../shared/photo-gallery'; import { AssetPackageDto } from "../../shared/domain/asset-package"; import { MatDialog } from '@angular/material/dialog'; export declare class AssetInfoComponent extends UnsavedChangeDetector implements OnChanges, OnDestroy { addAssetService: AddAssetService; dialogService: DialogService; userSessionService: UserSessionService; private dialog; itemId: number; assetInfo: AssetInfo; asset: Asset; assetSaleInfo: AssetSaleInfo; budgetInfo: BudgetInfo; saveAndCreateAnotherAsset: boolean; editEnabled: boolean; itemService: ItemSummaryItemService; afterSave: EventEmitter; editModeChanged: EventEmitter; matTypeAutoComplete: MatAutocompleteTrigger; matCategoryAutoComplete: MatAutocompleteTrigger; matModelAutoComplete: MatAutocompleteTrigger; matMakeAutoComplete: MatAutocompleteTrigger; modelVirtualScrollViewport: CdkVirtualScrollViewport; makeVirtualScrollViewport: CdkVirtualScrollViewport; categoryVirtualScrollViewport: CdkVirtualScrollViewport; typeVirtualScrollViewport: CdkVirtualScrollViewport; conditionAutoComplete: MatAutocompleteTrigger; readonly TITLE_NOT_REQUIRED: string; updatedAsset: Asset; originalAssetInfo: AssetInfo; inputedAssetInfo: AssetInfo; makeControl: FormControl; modelControl: FormControl; categoryControl: FormControl; typeControl: FormControl; conditionControl: FormControl; postModelDescrControl: FormControl; equipmentManufacturerList: EquipmentManufacturer[]; filteredManufacturerList: Observable; equipmentModelList: EquipmentModel[]; filteredEquipmentModelList: Observable; filteredConditionList: Observable<{ name: string; value: string; }[]>; equipmentCategoryList: EquipmentCategory[]; filteredEquipmentCategoryList: Observable; equipmentTypeList: EquipmentType[]; filteredEquipmentTypeList: Observable; initialListsLoaded: boolean; autoSelectManufacturer: boolean; autoSelectModel: boolean; autoSelectCategory: boolean; autoSelectType: boolean; bAddTranslatedDesc: boolean; assetPackage: AssetPackageDto; selectedEquipmentCategory: EquipmentCategory; saveAttempted: boolean; isFirstLoad: boolean; isLoadingManufacturer: boolean; isLoadingModelList: boolean; isLoadingCategoryList: boolean; isLoadingTypeList: boolean; loadInitialCatalogs: boolean; categorySelected: boolean; oldTypeId: number; oldCatId: number; oldMakeId: number; oldModelId: number; oldCat: string; oldType: string; oldMake: string; oldModel: string; oldDescription: string; validNumericValue: string; isReloadingManufacturerList: boolean; isReloadingModelList: boolean; isReloadingCategoryList: boolean; isReloadingTypeList: boolean; readonly MAX_NUMBER_OF_TITLES: number; readonly MIN_NUMBER_OF_TITLES: number; manufacturerSizeList: number; modelSizeList: number; categorySizeList: number; typeSizeList: number; saveAssetInformationSubscription: Subscription; currentUserChangedSubscription: Subscription; assetSaleInfoToolTips: typeof AssetSaleFieldInfoTooltip; conditionArray: { name: string; value: string; }[]; constructor(addAssetService: AddAssetService, dialogService: DialogService, userSessionService: UserSessionService, dialog: MatDialog); ngOnChanges(changes: SimpleChanges): void; initializeAssetInfoComponent(): void; loadOriginalAssetValues(): void; private initializeAssetValues; init(): void; ngOnDestroy(): void; subscribeManufacturerAutoCompleteChanges(): void; subscribeToSearchManufacturer(): void; subscribeModelAutoCompleteChanges(): void; subscribeToSearchModel(): void; subscribeCategoryAutoCompleteChanges(): void; subscribeToSearchCategory(): void; subscribeToConditionChange(): void; clearCondition(event: any): void; conditionFocusOut(event: any): void; getConditionName(selectedCondition: { name: string; value: string; }): string; conditionSelected(event: MatAutocompleteSelectedEvent): void; subscribeTypeAutoCompleteChanges(): void; subscribeToSearchType(): void; changeAssetType(): void; private showAssetTypeChangeDialog; private cancelAssetTypeChange; generateDescription(): void; onYearChange(year: any): void; numberOnly(event: any): boolean; isAlphanumric(event: any): boolean; /** * This method will prevent the decimal numbers * @param event */ preventDecimalValue(event: any, ngModel: any): void; loadManufacturerList(modelId?: number, categoryId?: number, typeId?: number): void; loadModelList(makeId?: number, categoryId?: number, typeId?: number): void; loadTypeList(makeId?: number, modelId?: number, categoryId?: number): void; loadCategoryList(makeId?: number, modelId?: number, typeId?: number): void; loadSelectedCategory(): void; isRequiredTitlePerCategory(): boolean; setDefaultNumberOfTitles(): void; resetNumberOfTitles(): void; convertToUpperCase(attrib: string, value: string): void; private selectUniqueManufacturerItemByDefault; private selectUniqueTypeItemByDefault; private selectUniqueCategoryItemByDefault; private selectUniqueModelItemByDefault; checkUnUsed(): void; checkInoperable(): void; checkPartsOnly(): void; checkGlidered(): void; saveAssetInformation(): void; doSaveAssetInformation(): void; requestSave(): void; toggleEditAssetFlag(): void; cancel(): void; restoreOriginalValues(): void; showPhotoGallerySerialNumber(): void; showPhotoGalleryMeterReading(): void; constructPhotoObject(photoUrls: string[], typeName: string): GalleryPhoto[]; checkDuplicateSerialNumber(serialNumber: string): void; checkDuplicateSellerTrackingCode(sellerTrackingCode: string): void; isSerialNumberInvalid(value: any): boolean; setManufacturerName(event: MatAutocompleteSelectedEvent): void; getManufacturerName(manufacturerSelected?: any): string; setModelName(event: MatAutocompleteSelectedEvent): void; getModelName(modelSelected?: any): string; setMatOptionCategoryId(event: MatAutocompleteSelectedEvent): void; getCategoryName(categorySelected?: any): string; setMatOptionTypeId(event: MatAutocompleteSelectedEvent): void; getTypeName(typeSelected?: any): string; filterConditionList(value: string): { name: string; value: string; }[]; filterMakeList(value: any): EquipmentManufacturer[]; filterModelList(value: any): EquipmentModel[]; getActualFilterValue(value: any): string; filterCategoryList(value: any): EquipmentCategory[]; filterTypeList(value: any): EquipmentType[]; sortFilterManufacturerValues(originList: EquipmentManufacturer[], startWithValue: string): EquipmentManufacturer[]; sortFilterModelValues(originList: EquipmentModel[], startWithValue: string): EquipmentModel[]; sortFilterEquipmentCategoryValues(originList: EquipmentCategory[], startWithValue: string): EquipmentCategory[]; sortFilterEquipmentTypeValues(originList: EquipmentType[], startWithValue: string): EquipmentType[]; isLoadingLists(): boolean; getFilterValue(value: any): string; includesAnyKeyword(source: string, keyword: string): boolean; openTypeAutocomplete(): void; closeTypeAutocomplete(): void; clearTypeInput(): void; reloadDefaultTypeList(): void; openCategoryAutocomplete(): void; closeCategoryAutocomplete(): void; clearCategoryInput(): void; reloadDefaultCategoryList(): void; openModelAutocomplete(): void; closeModelAutocomplete(): void; toggleConditionAutocomplete(isOpened: boolean): void; clearModelInput(): void; reloadDefaultModelList(): void; openMakeAutocomplete(): void; closeMakeAutocomplete(): void; clearMakeInput(): void; reloadDefaultMakeList(): void; decreaseNumberOfTitles(): void; increaseNumberOfTitles(): void; preventInput(event: any): void; subscribeCurrentUserChanged(): void; handleUsageChanged(equipmentUsage: EquipmentUsage): void; missingPostModelDescription(): boolean; checkAssetTypeMisc(): void; loadDropDownLists(): void; loadPreSetDropDownLists(): void; getAssetInfoTypeObjectValue(): EquipmentType; getAssetInfoCategoryObjectValue(): EquipmentCategory; getAssetInfoModelObjectValue(): EquipmentModel; getAssetInfoManufacturerObjectValue(): EquipmentManufacturer; syncManufacturerList(disableAutoSelectManufacturer?: boolean): void; verifyCurrentManufacturerValue(): void; syncModelList(disableAutoSelectModel?: boolean): void; verifyCurrentModelValue(): void; syncCategoryList(): void; verifyCategoryValue(): void; syncTypeList(): void; verifyTypeValue(): void; editAsset(): void; editTranslatedDescr(): void; hasChanges(): boolean; broadcastEditModeChanged(isOnEditMode: boolean): void; removeDuplicatedCategoryItems(items: EquipmentCategory[], source: EquipmentCategory[]): EquipmentCategory[]; removeDuplicatedTypeItems(items: EquipmentType[], source: EquipmentType[]): EquipmentType[]; isShootPriceValid(): boolean; showShootPrice(): boolean; private cleanTypeAndCategoryFields; getCurrencyPlaceHolder(): string; isCurrencyPrefixVisible(theValue: any): boolean; }