import { AfterViewInit, EventEmitter, OnInit, SimpleChanges, TemplateRef } from '@angular/core'; import { Subject } from 'rxjs'; import { GridComponent } from '../grid/grid.component'; import { MatBottomSheet } from '@angular/material/bottom-sheet'; import { NgxLiveViewService } from '../ngx-live-view.service'; import { CustomOption } from '../models/IOption'; import { ViewListModel } from '../models/ViewListModel'; import { VideoGridService } from './video-grid.service'; import * as i0 from "@angular/core"; export interface Tile { color: string; cols: number; rows: number; text: string; } export declare class VideoGridComponent implements OnInit, AfterViewInit { private _NgxLiveViewService; private _bottomSheet; private _videoGridService; theme: string; inputPlayVideo: any; options: CustomOption[]; ViewList: any[]; gridMode: string; playerServerIp: string; streamerIp: string; playDuplicate: boolean; gridView: ViewListModel; VideoStarted: EventEmitter; ClearGridEvent: EventEmitter; VideoClosed: EventEmitter; FunctionClick: EventEmitter; DimensionChange: EventEmitter; springTemplate: TemplateRef; appGrid: GridComponent; showViewList: boolean; gridSubject: Subject; eventDataSubject: Subject; selfheight: number; selfwidth: number; optionsHeight: number; _ViewList: ViewListModel[]; ThemeScheme: any; borderColor: string; SelectedView: any; searchText: string; search: boolean; Rows: number; Cols: number; width: number; numbers: number[]; cameras: any[]; showToolbar: boolean; currentVideoFit: string; videoFit: { name: string; value: string; }[]; IsDetailsHiddenFromGrid: boolean; GridRowRatio: number; tiles: Tile[]; constructor(_NgxLiveViewService: NgxLiveViewService, _bottomSheet: MatBottomSheet, _videoGridService: VideoGridService); ngOnInit(): void; ngAfterViewInit(): void; /** * If the theme is dark, change it to light, otherwise change it to dark */ ChangeTheme(): void; ngOnChanges(changes: SimpleChanges): void; /** *Here we find the index of the selected view from the ViewList array and then assign the Rows * and Cols of the selected view to the Rows and Cols of the appGrid. * @param {any} view - any - selected configuration from the view list */ view_selected(view: any): void; /** * If the appGrid exists, set the Rows and Cols properties of the appGrid to the Rows and Cols * properties of the view (configuation layout), and then call the ChangeLayout function of the appGrid, passing in the * SpecialElement, SEHeight, and SEWidth properties of the view. * @param {number} index - the index of the view in the ViewList array */ viewSelected(index: number): void; /** * "This function is called when a user clicks on a camera in the UI. It then sends a message to the * gridSubject, which is a BehaviorSubject. The gridSubject is subscribed to by the grid component, * which then adds a new node to the grid." * * @param resource - { time_out: any; id: any; resourceName: any; info: any; }, * @param {string} mode - "LIVE" or "PLAYBACK" * @param {any} [eventObject] - this is the event object that is passed to the video component. * @param {any} [color] - string * @param {any} [timeRange] - if any time range * @param {any} [byAction] - boolean * @param {string} [parentNode] - string - this is the id of the parent node */ play(resource: any, mode: string, eventObject?: any, color?: any, timeRange?: any, byAction?: any, parentNode?: string): void; /** * The function is called when the user clicks the Clear Grid button. The function emits an event to * the parent component. The parent component then calls the clearGrid() function in the child * component */ onClearGrid(): void; /** * The function is called when the user clicks on the "Clear Grid" button. The function calls the * closeGridCard() function in the appGrid component. */ clearGrid(): void; /** * When an element is removed from the grid, the inputPlayVideo variable is set to undefined and the * onVideoClosed event is emitted. * @param {any} element - any - the element that was removed */ onElementRemovedFromGrid(element: any): void; /** * When the video starts, emit the event to the parent component (application). * @param {any} event - any */ VideoGridVideoStarted(event: any): void; /** * If the appGrid exists, then we can toggle the fullScreen. */ toggleFullScreen(): void; /** * If there is any selected elements in the grid. Then, we change the objectFit property of the selected elements. * else we change the objectFit property of all the elements in the grid. The video elements have an id like this: videoContainer_+'id'+_video. * If the selectedGridElements array is empty, then all the video elements will be selected. * @param {string} videoFit - string - the video fit type (contain, cover, fill, none, scale-down, or inherit) */ changeAllVideoFit(videoFit: string): void; /** * It finds all the divs with id header_+'id' and footer_+'id' and changes the height of the video * containers with id appWebPlayer_+'id'. * If there are no selected elements, it changes the height of all the video containers. * else it changes the height of the video containers of the selected elements. */ stichVideos(): void; /** * If there are no selected Grid present if the element is equal to 0, then for each video in Grid, set the parameter to the * then set the height of the parameter to 100% and if the element is not equal to 0, then toggle the display of the HTML Element. * else for selcted Grid, if the element is equal to 0, then set height else display of video element * @param List - NodeListOf : Either of the following: headerElements, footerElements, videoContainerElements; * @param {string} str - string = "all" or "appWebPlayer_" * @param {number} element - number => this is the index of the selected element in the grid. */ stich(List: NodeListOf, str: string, element: number): void; /** * The openBottomSheet() function opens the bottom sheet which include functions for total video Grid. */ openBottomSheet(): void; /** * If the grid is selected, then for each selected grid element, click the snapshot button. * If the grid is not selected, then click the snapshot button for each element. */ clickSnapshot(): void; /** * This function is called by the Video-Grid component and it sends a message to the * NgxLiveViewService, which is then received by the LiveView component. * @param {any} callback - This is the function that you want to call from the parent component. */ videogridfunctionCallback(callback: any): void; fill(data: any): void; /** * The function resizer() is called when the window is resized. It checks to see if the grid exists, * and if it does, it calls the resizeGrid() function on the grid */ resizer(): void; onDimensionChange(event: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }