import { OnInit, SimpleChanges } from '@angular/core'; import { VhImage, VhQueryAutoWeb, VhEventMediator } from 'vhautowebdb'; import { HttpClient } from '@angular/common/http'; import { MatDialog } from '@angular/material/dialog'; import { LanguageService } from 'vhobjects-service/src/services'; import { FunctionService } from 'vhobjects-service/src/services'; import { ThemeService } from 'vhobjects-service/src/services'; import * as i0 from "@angular/core"; interface TabBarNavItem { label: string; type: string; icon?: string; image?: string; link?: string; active?: boolean; loginState?: 'both' | 'login' | 'logout'; loginDisplayMode?: 'hide' | 'opacity' | 'redirect'; loginOpacity?: number; loginRedirectLink?: string; __pendingImageFile?: File; } export declare class AtwTabBarConfig implements OnInit { vhQueryAutoWeb: VhQueryAutoWeb; private http; private vhEventMediator; private dialog; functionService: FunctionService; private platformId; private languageService; themeService: ThemeService; private vhImage; isCollapsed: boolean; isShowConfirmPopup: boolean; isConfirmLoading: boolean; isViewAll: boolean; currentViewAll: any; objectChoosing: any; type: any; device: any; class: any; staticdata: any; config: any; blocks_of_page?: any; effect_hover: any[]; isApplyShadow: boolean; effect_hover_data: any; visible_config_tool: boolean; previewUploadUrl: string | null; pendingObjectImageFile: File | null; dragging: boolean; navItemImageModalVisible: boolean; navItemImageSource: string; navItemImagePreviewUrl: string | null; navItemImageFile: File | null; navItemEditing: TabBarNavItem | null; navItemImageSaving: boolean; customize: any[]; backgroundColor: any; styles_field: { title: string; index: number; }[]; /** Có nên mở nút cập nhật kích thước ảnh cho bằng kích thước thiết kế hay không */ isDesignImageSizeValid: boolean; id_subproject: any; imageDeviceWidthMax: string; widthImageMax: number; heightImageMax: number; subProject: any; resolution: any; width: number; height: number; constructor(vhQueryAutoWeb: VhQueryAutoWeb, http: HttpClient, vhEventMediator: VhEventMediator, dialog: MatDialog, functionService: FunctionService, platformId: Object, languageService: LanguageService, themeService: ThemeService, vhImage: VhImage); ngOnInit(): Promise; ngOnChanges(changes: SimpleChanges): Promise; /** * Cập nhật staticdata vào database. */ updateStaticData(): void; /** * Cập nhật Setups vào database. */ updateSetups(): void; /** *Hàm update config vào database. */ updateConfig(): void; /** * Hàm update object vào database. */ updateFields(value: any): void; /** *Hàm update class vào database. */ updateClass(): void; /** * Hàm này dùng để cho phép mở menu config . * Khi mở ở vị trí menu[0] thì các menu khác (menu[n]) đóng lại. * @param: value */ openMap: { [name: string]: boolean; }; openMapSub: { [name: string]: boolean; }; openHandler(value: string, isSub?: boolean): void; /** * hàm này nhận sk thay đổi width height từ component app-width-height-config truyền về * @param event width hieght của element sau khi thay đổi */ changeWidthHeight(event: any): void; updateClassAndConfig(): void; /** * Hàm này dùng để mở rộng phần cấu hình. * @param field_text : trả về phần tử được chọn của mảng style_field */ openViewAll(field_text: any): void; /** * Hàm này set customize mở phần mở rộng của config từ choose-animations-config truyền về * @param event customize sau khi thay đổi */ openAnimationDetail(event: any): void; updateBackgroundRgb(): void; /** * Hàm update object vào database. */ updateObject(): void; /** * Hàm này thực hiện thêm màu gradient vào array. * */ addGradient(value: any): void; /** * @param index : vị trí phần tử muốn xóa * Hàm này cho phép xóa phần tử màu gradient trong array bằng index của phần tử đó. */ deleteGradient(index: any): void; /** * Chuyển đổi mã màu hexadecimal thành mã màu rgba. * @param hex : tham số trả về mã màu hex * @returns string : trả về chuỗi rgb */ hexToRGB(hex: string): string; /** Hàm này cho phép chọn options direction của màu gradient * @param direction : trả về hướng phối màu được chọn * @param event : trả về element được active */ chooseOption(direction: any, event: any): void; /**Hàm này dùng để click chọn màu nền của danh sách màu. * @param bgColor : trả về màu được chọn * @param event : trả về element được active */ chooseBg(bgColor: any, event: any, classBg: any): void; visibleAdd: boolean; openDialogChooseIcon(item: any): void; openDialogChooseImage(item: TabBarNavItem): void; activeIndex: number; onActiveChange(index: number): void; normalizeNavItems(): void; addTab(): void; openAddTabModal(event?: Event): void; closeAddTabModal(event?: Event): void; stopModalEvent(event: Event): void; removeTab(index: number): void; listPage: any[]; /** * Xử lý lấy link các page về. */ getLinkAllPages(): void; saveTab(): Promise; closeNavItemImageModal(): void; openNavItemUpload(): void; onNavItemImageSelected(event: Event): void; onNavItemFileDropped(event: DragEvent): void; onNavItemImageSourceChange(source: string): void; canSaveNavItemImage(): boolean; private setNavItemImageFile; saveNavItemImage(): Promise; private uploadImageFileToServer; /** * Hàm xử lý khi người dùng kéo và thả (drop) một tệp vào vùng upload. * @param event */ onObjectImageDropped(event: DragEvent, type?: string): void; /** * Hành động khi người dùng kéo file qua vùng upload (chưa thả). * @param event */ onDragOver_upload(event: DragEvent): void; /** * Hành động khi người dùng rời con trỏ khỏi vùng upload mà chưa thả. */ onDragLeave_upload(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};