56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
///
 | 
						|
/// Copyright © 2016-2023 The Thingsboard Authors
 | 
						|
///
 | 
						|
/// Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
/// you may not use this file except in compliance with the License.
 | 
						|
/// You may obtain a copy of the License at
 | 
						|
///
 | 
						|
///     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
///
 | 
						|
/// Unless required by applicable law or agreed to in writing, software
 | 
						|
/// distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
/// See the License for the specific language governing permissions and
 | 
						|
/// limitations under the License.
 | 
						|
///
 | 
						|
 | 
						|
import { BaseData, HasId } from '@shared/models/base-data';
 | 
						|
import { PageComponent } from '@shared/components/page.component';
 | 
						|
import { Directive, Input, OnInit } from '@angular/core';
 | 
						|
import { Store } from '@ngrx/store';
 | 
						|
import { AppState } from '@core/core.state';
 | 
						|
import { EntityTableConfig } from '@home/models/entity/entities-table-config.models';
 | 
						|
import { PageLink } from '@shared/models/page/page-link';
 | 
						|
 | 
						|
@Directive()
 | 
						|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
 | 
						|
export abstract class EntityTableHeaderComponent<T extends BaseData<HasId>,
 | 
						|
  P extends PageLink = PageLink,
 | 
						|
  L extends BaseData<HasId> = T,
 | 
						|
  C extends EntityTableConfig<T, P, L> = EntityTableConfig<T, P, L>>
 | 
						|
  extends PageComponent implements OnInit {
 | 
						|
 | 
						|
  entitiesTableConfigValue: C;
 | 
						|
 | 
						|
  @Input()
 | 
						|
  set entitiesTableConfig(entitiesTableConfig: C) {
 | 
						|
    this.setEntitiesTableConfig(entitiesTableConfig);
 | 
						|
  }
 | 
						|
 | 
						|
  get entitiesTableConfig(): C {
 | 
						|
    return this.entitiesTableConfigValue;
 | 
						|
  }
 | 
						|
 | 
						|
  protected constructor(protected store: Store<AppState>) {
 | 
						|
    super(store);
 | 
						|
  }
 | 
						|
 | 
						|
  ngOnInit() {
 | 
						|
  }
 | 
						|
 | 
						|
  protected setEntitiesTableConfig(entitiesTableConfig: C) {
 | 
						|
    this.entitiesTableConfigValue = entitiesTableConfig;
 | 
						|
  }
 | 
						|
 | 
						|
}
 |