diff --git a/src/lib/filtering/filter-card/filter-card.component.ts b/src/lib/filtering/filter-card/filter-card.component.ts index b70fb55..7f1d26e 100644 --- a/src/lib/filtering/filter-card/filter-card.component.ts +++ b/src/lib/filtering/filter-card/filter-card.component.ts @@ -10,7 +10,12 @@ import { Filter } from '../models/filter'; import { map } from 'rxjs/operators'; import { shareDistinctLast, shareLast } from '../../utils'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { MAT_CHECKBOX_DEFAULT_OPTIONS } from '@angular/material/checkbox'; +import { MAT_CHECKBOX_DEFAULT_OPTIONS, MatCheckbox } from '@angular/material/checkbox'; +import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common'; +import { InputWithActionComponent } from '../../inputs'; +import { TranslateModule } from '@ngx-translate/core'; +import { MatIcon } from '@angular/material/icon'; +import { StopPropagationDirective } from '../../directives'; const areExpandable = (nestedFilter: INestedFilter) => !!nestedFilter?.children?.length; const atLeastOneIsExpandable = pipe( @@ -44,6 +49,18 @@ export interface LocalStorageFilters { }, }, ], + standalone: true, + imports: [ + AsyncPipe, + InputWithActionComponent, + NgTemplateOutlet, + TranslateModule, + MatIcon, + MatCheckbox, + StopPropagationDirective, + NgIf, + NgForOf, + ], }) export class FilterCardComponent implements OnInit { @Input() primaryFiltersSlug!: string; diff --git a/src/lib/filtering/filters.module.ts b/src/lib/filtering/filters.module.ts index e13a6e8..c774b1f 100644 --- a/src/lib/filtering/filters.module.ts +++ b/src/lib/filtering/filters.module.ts @@ -4,16 +4,14 @@ import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatMenuModule } from '@angular/material/menu'; import { TranslateModule } from '@ngx-translate/core'; import { ChevronButtonComponent, IconButtonComponent } from '../buttons'; -import { PopupFilterComponent } from './popup-filter/popup-filter.component'; import { QuickFiltersComponent } from './quick-filters/quick-filters.component'; import { IqserHelpModeModule } from '../help-mode'; import { SingleFilterComponent } from './single-filter/single-filter.component'; -import { FilterCardComponent } from './filter-card/filter-card.component'; import { MatIconModule } from '@angular/material/icon'; import { PreventDefaultDirective, StopPropagationDirective } from '../directives'; import { InputWithActionComponent } from '../inputs'; -const components = [QuickFiltersComponent, PopupFilterComponent, SingleFilterComponent, FilterCardComponent]; +const components = [QuickFiltersComponent, SingleFilterComponent]; @NgModule({ declarations: [...components], diff --git a/src/lib/filtering/popup-filter/popup-filter.component.ts b/src/lib/filtering/popup-filter/popup-filter.component.ts index 3434d39..5733893 100644 --- a/src/lib/filtering/popup-filter/popup-filter.component.ts +++ b/src/lib/filtering/popup-filter/popup-filter.component.ts @@ -5,12 +5,31 @@ import { shareDistinctLast, shareLast, some } from '../../utils'; import { FilterService } from '../filter.service'; import { IFilterGroup } from '../models/filter-group.model'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { ChevronButtonComponent, IconButtonComponent } from '../../buttons'; +import { AsyncPipe, NgIf } from '@angular/common'; +import { TranslateModule } from '@ngx-translate/core'; +import { MatMenu, MatMenuContent, MatMenuTrigger } from '@angular/material/menu'; +import { FilterCardComponent } from '../filter-card/filter-card.component'; +import { StopPropagationDirective } from '../../directives'; @Component({ selector: 'iqser-popup-filter [primaryFiltersSlug]', templateUrl: './popup-filter.component.html', styleUrls: ['./popup-filter.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, + imports: [ + IconButtonComponent, + AsyncPipe, + TranslateModule, + MatMenuTrigger, + ChevronButtonComponent, + MatMenu, + FilterCardComponent, + StopPropagationDirective, + MatMenuContent, + NgIf, + ], + standalone: true, }) export class PopupFilterComponent implements OnInit { @Input() primaryFiltersSlug!: string; diff --git a/src/lib/help-mode/help-mode.module.ts b/src/lib/help-mode/help-mode.module.ts index f395c73..3491e76 100644 --- a/src/lib/help-mode/help-mode.module.ts +++ b/src/lib/help-mode/help-mode.module.ts @@ -12,6 +12,7 @@ import { HelpModeDialogComponent } from './help-mode-dialog/help-mode-dialog.com const components = [HelpModeComponent, HelpButtonComponent, HelpModeDialogComponent]; +// TODO: Get rid of this, make everything standalone. @NgModule({ declarations: [...components], imports: [CommonModule, TranslateModule, CircleButtonComponent, MatCheckbox, MatIcon], diff --git a/src/lib/listing/listing.module.ts b/src/lib/listing/listing.module.ts index 9192053..4e4595f 100644 --- a/src/lib/listing/listing.module.ts +++ b/src/lib/listing/listing.module.ts @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { TranslateModule } from '@ngx-translate/core'; import { TableHeaderComponent } from './table-header/table-header.component'; -import { IqserFiltersModule } from '../filtering'; +import { IqserFiltersModule, PopupFilterComponent } from '../filtering'; import { MatTooltipModule } from '@angular/material/tooltip'; import { TableColumnNameComponent } from './table-column-name/table-column-name.component'; import { ScrollButtonComponent } from './scroll-button/scroll-button.component'; @@ -52,6 +52,7 @@ const modules = [DragDropModule, TranslateModule, IqserFiltersModule, ScrollingM InputWithActionComponent, SyncWidthDirective, SnakeCasePipe, + PopupFilterComponent, ], }) export class IqserListingModule {} diff --git a/src/lib/upload-file/drag-drop-file-upload.directive.ts b/src/lib/upload-file/drag-drop-file-upload.directive.ts index fc73659..6a3383c 100644 --- a/src/lib/upload-file/drag-drop-file-upload.directive.ts +++ b/src/lib/upload-file/drag-drop-file-upload.directive.ts @@ -2,6 +2,7 @@ import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@ang @Directive({ selector: '[iqserDragDropFileUpload]', + standalone: true, }) export class DragDropFileUploadDirective { @Output() readonly fileDropped = new EventEmitter(); diff --git a/src/lib/upload-file/index.ts b/src/lib/upload-file/index.ts index 2eeb4b4..3889b3c 100644 --- a/src/lib/upload-file/index.ts +++ b/src/lib/upload-file/index.ts @@ -1,3 +1,2 @@ export * from './drag-drop-file-upload.directive'; export * from './upload-file.component'; -export * from './upload-file.module'; diff --git a/src/lib/upload-file/upload-file.component.ts b/src/lib/upload-file/upload-file.component.ts index e021dce..5c089f2 100644 --- a/src/lib/upload-file/upload-file.component.ts +++ b/src/lib/upload-file/upload-file.component.ts @@ -1,4 +1,8 @@ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core'; +import { DragDropFileUploadDirective } from './drag-drop-file-upload.directive'; +import { MatIcon } from '@angular/material/icon'; +import { NgIf } from '@angular/common'; +import { TranslateModule } from '@ngx-translate/core'; @Component({ selector: 'iqser-upload-file', @@ -6,6 +10,8 @@ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Ou // eslint-disable-next-line @angular-eslint/no-host-metadata-property host: { '[class.iqser-upload-file]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [DragDropFileUploadDirective, MatIcon, NgIf, TranslateModule], }) export class UploadFileComponent { @ViewChild('attachFileInput', { static: true }) attachFileInput!: ElementRef; diff --git a/src/lib/upload-file/upload-file.module.ts b/src/lib/upload-file/upload-file.module.ts deleted file mode 100644 index d2665ac..0000000 --- a/src/lib/upload-file/upload-file.module.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NgModule } from '@angular/core'; -import { UploadFileComponent } from './upload-file.component'; -import { DragDropFileUploadDirective } from './drag-drop-file-upload.directive'; -import { MatIconModule } from '@angular/material/icon'; -import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; - -const components = [UploadFileComponent, DragDropFileUploadDirective]; - -@NgModule({ - declarations: [...components], - exports: [...components], - imports: [MatIconModule, CommonModule, TranslateModule], -}) -export class IqserUploadFileModule {} diff --git a/src/lib/users/components/initials-avatar/initials-avatar.component.ts b/src/lib/users/components/initials-avatar/initials-avatar.component.ts index 0e37f98..01300b5 100644 --- a/src/lib/users/components/initials-avatar/initials-avatar.component.ts +++ b/src/lib/users/components/initials-avatar/initials-avatar.component.ts @@ -4,12 +4,17 @@ import { IqserUser } from '../../iqser-user.model'; import { IqserUserService } from '../../services/iqser-user.service'; import { NamePipeOptions } from '../../types/name-pipe-options'; import { IIqserUser } from '../../types/user.response'; +import { NgIf } from '@angular/common'; +import { NamePipe } from '../../name.pipe'; +import { MatTooltip } from '@angular/material/tooltip'; @Component({ selector: 'iqser-initials-avatar', templateUrl: './initials-avatar.component.html', styleUrls: ['./initials-avatar.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [NgIf, NamePipe, MatTooltip], }) export class InitialsAvatarComponent implements OnInit, OnChanges diff --git a/src/lib/users/iqser-users.module.ts b/src/lib/users/iqser-users.module.ts index 513c54f..95c3464 100644 --- a/src/lib/users/iqser-users.module.ts +++ b/src/lib/users/iqser-users.module.ts @@ -18,10 +18,19 @@ import { MatIconModule } from '@angular/material/icon'; import { MatButtonModule } from '@angular/material/button'; import { TranslateModule } from '@ngx-translate/core'; -const components = [NamePipe, InitialsAvatarComponent, UserButtonComponent]; +const components = [UserButtonComponent]; @NgModule({ - imports: [KeycloakAngularModule, MatTooltipModule, CommonModule, MatIconModule, MatButtonModule, TranslateModule], + imports: [ + KeycloakAngularModule, + MatTooltipModule, + CommonModule, + MatIconModule, + MatButtonModule, + TranslateModule, + InitialsAvatarComponent, + NamePipe, + ], declarations: [...components], exports: [...components], }) diff --git a/src/lib/users/name.pipe.ts b/src/lib/users/name.pipe.ts index 22e302a..492606f 100644 --- a/src/lib/users/name.pipe.ts +++ b/src/lib/users/name.pipe.ts @@ -19,6 +19,7 @@ function getInitials(name: string) { @Pipe({ name: 'name', + standalone: true, }) export class NamePipe implements PipeTransform { readonly #translateService = inject(TranslateService);