auto migrate standalone components

This commit is contained in:
2025-01-05 10:26:35 +01:00
parent 8b8395fc3c
commit 54ee9a5b11
121 changed files with 947 additions and 685 deletions

View File

@@ -9,8 +9,8 @@ describe('FilterComponent', () => {
beforeEach(
waitForAsync(() => {
void TestBed.configureTestingModule({
declarations: [FilterComponent],
}).compileComponents();
imports: [FilterComponent],
}).compileComponents();
}),
);

View File

@@ -1,16 +1,35 @@
import {Component, Input} from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {UntypedFormBuilder, UntypedFormGroup} from '@angular/forms';
import { UntypedFormBuilder, UntypedFormGroup, ReactiveFormsModule } from '@angular/forms';
import {SongService} from '../../services/song.service';
import {FilterValues} from './filter-values';
import {Song} from '../../services/song';
import {KEYS} from '../../services/key.helper';
import { MatFormField, MatLabel } from '@angular/material/form-field';
import { MatInput } from '@angular/material/input';
import { MatSelect } from '@angular/material/select';
import { MatOption } from '@angular/material/core';
import { NgFor } from '@angular/common';
import { LegalTypePipe } from '../../../../widget-modules/pipes/legal-type-translator/legal-type.pipe';
import { KeyPipe } from '../../../../widget-modules/pipes/key-translator/key.pipe';
import { SongTypePipe } from '../../../../widget-modules/pipes/song-type-translater/song-type.pipe';
@Component({
selector: 'app-filter',
templateUrl: './filter.component.html',
styleUrls: ['./filter.component.less'],
standalone: false,
selector: 'app-filter',
templateUrl: './filter.component.html',
styleUrls: ['./filter.component.less'],
imports: [
ReactiveFormsModule,
MatFormField,
MatLabel,
MatInput,
MatSelect,
MatOption,
NgFor,
LegalTypePipe,
KeyPipe,
SongTypePipe,
],
})
export class FilterComponent {
public filterFormGroup: UntypedFormGroup;

View File

@@ -18,10 +18,10 @@ describe('SongListComponent', () => {
beforeEach(
waitForAsync(() => {
void TestBed.configureTestingModule({
declarations: [SongListComponent],
providers: [{provide: SongService, useValue: mockSongService}],
schemas: [NO_ERRORS_SCHEMA],
}).compileComponents();
imports: [SongListComponent],
providers: [{ provide: SongService, useValue: mockSongService }],
schemas: [NO_ERRORS_SCHEMA],
}).compileComponents();
}),
);

View File

@@ -4,19 +4,35 @@ import {Song} from '../services/song';
import {map} from 'rxjs/operators';
import {combineLatest, Observable} from 'rxjs';
import {fade} from '../../../animations';
import {ActivatedRoute} from '@angular/router';
import { ActivatedRoute, RouterLink } from '@angular/router';
import {filterSong} from '../../../services/filter.helper';
import {FilterValues} from './filter/filter-values';
import {ScrollService} from '../../../services/scroll.service';
import {faBalanceScaleRight, faCheck, faPencilRuler} from '@fortawesome/free-solid-svg-icons';
import { NgIf, NgFor, AsyncPipe } from '@angular/common';
import { ListHeaderComponent } from '../../../widget-modules/components/list-header/list-header.component';
import { FilterComponent } from './filter/filter.component';
import { CardComponent } from '../../../widget-modules/components/card/card.component';
import { RoleDirective } from '../../../services/user/role.directive';
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
@Component({
selector: 'app-songs',
templateUrl: './song-list.component.html',
styleUrls: ['./song-list.component.less'],
changeDetection: ChangeDetectionStrategy.OnPush,
animations: [fade],
standalone: false,
selector: 'app-songs',
templateUrl: './song-list.component.html',
styleUrls: ['./song-list.component.less'],
changeDetection: ChangeDetectionStrategy.OnPush,
animations: [fade],
imports: [
NgIf,
ListHeaderComponent,
FilterComponent,
CardComponent,
NgFor,
RouterLink,
RoleDirective,
FaIconComponent,
AsyncPipe,
],
})
export class SongListComponent implements OnInit, OnDestroy {
public anyFilterActive = false;

View File

@@ -1,40 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {SongListComponent} from './song-list.component';
import {CardModule} from '../../../widget-modules/components/card/card.module';
import {RouterModule} from '@angular/router';
import {ListHeaderModule} from '../../../widget-modules/components/list-header/list-header.module';
import {MatFormFieldModule} from '@angular/material/form-field';
import {MatInputModule} from '@angular/material/input';
import {FilterComponent} from './filter/filter.component';
import {ReactiveFormsModule} from '@angular/forms';
import {MatSelectModule} from '@angular/material/select';
import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
import {MatTooltipModule} from '@angular/material/tooltip';
import {RoleModule} from '../../../services/user/role.module';
import {KeyPipe} from '../../../widget-modules/pipes/key-translator/key.pipe';
import {LegalTypePipe} from '../../../widget-modules/pipes/legal-type-translator/legal-type.pipe';
import {SongTypePipe} from '../../../widget-modules/pipes/song-type-translater/song-type.pipe';
@NgModule({
declarations: [SongListComponent, FilterComponent],
exports: [SongListComponent],
imports: [
CommonModule,
RouterModule,
CardModule,
LegalTypePipe,
ListHeaderModule,
MatFormFieldModule,
MatInputModule,
ReactiveFormsModule,
MatSelectModule,
FontAwesomeModule,
MatTooltipModule,
RoleModule,
KeyPipe,
SongTypePipe,
],
})
export class SongListModule {}