common-ui/src/lib/common-ui.module.ts
2021-08-10 19:51:44 +03:00

45 lines
2.1 KiB
TypeScript

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { IconButtonComponent } from './buttons/icon-button/icon-button.component';
import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { ChevronButtonComponent } from './buttons/chevron-button/chevron-button.component';
import { DomSanitizer } from '@angular/platform-browser';
import { CircleButtonComponent } from './buttons/circle-button/circle-button.component';
import { MatTooltipModule } from '@angular/material/tooltip';
import { RoundCheckboxComponent } from './inputs/round-checkbox/round-checkbox.component';
import { SortByPipe } from './sorting/sort-by.pipe';
import { HumanizePipe } from './utils/pipes/humanize.pipe';
import { TableColumnNameComponent } from './tables/table-column-name/table-column-name.component';
import { QuickFiltersComponent } from './filtering/quick-filters/quick-filters.component';
import { TableHeaderComponent } from './tables/table-header/table-header.component';
import { TranslateModule } from '@ngx-translate/core';
import { SyncWidthDirective } from './tables/sync-width.directive';
const buttons = [IconButtonComponent, ChevronButtonComponent, CircleButtonComponent];
const inputs = [RoundCheckboxComponent];
const matModules = [MatIconModule, MatButtonModule, MatTooltipModule];
const modules = [...matModules, TranslateModule];
const components = [...buttons, ...inputs, TableColumnNameComponent, QuickFiltersComponent, TableHeaderComponent];
const utils = [SortByPipe, HumanizePipe, SyncWidthDirective];
@NgModule({
declarations: [...components, ...utils],
imports: [CommonModule, ...modules],
exports: [...components, ...utils, ...modules]
})
export class CommonUiModule {
constructor(private readonly _iconRegistry: MatIconRegistry, private readonly _sanitizer: DomSanitizer) {
const icons = ['arrow-down', 'sort-asc', 'sort-desc'];
for (const icon of icons) {
_iconRegistry.addSvgIconInNamespace('iqser', icon, _sanitizer.bypassSecurityTrustResourceUrl(`/assets/icons/${icon}.svg`));
}
}
}