RED-9321: made some components standalone, removed upload-file module.

This commit is contained in:
Nicoleta Panaghiu 2024-06-11 18:50:41 +03:00
parent 748cce4032
commit 960b434ef6
12 changed files with 65 additions and 23 deletions

View File

@ -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;

View File

@ -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],

View File

@ -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;

View File

@ -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],

View File

@ -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 {}

View File

@ -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();

View File

@ -1,3 +1,2 @@
export * from './drag-drop-file-upload.directive';
export * from './upload-file.component';
export * from './upload-file.module';

View File

@ -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;

View File

@ -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 {}

View File

@ -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<Interface extends IIqserUser = IIqserUser, Class extends IqserUser & Interface = IqserUser & Interface>
implements OnInit, OnChanges

View File

@ -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],
})

View File

@ -19,6 +19,7 @@ function getInitials(name: string) {
@Pipe({
name: 'name',
standalone: true,
})
export class NamePipe implements PipeTransform {
readonly #translateService = inject(TranslateService);