diff --git a/.github/workflows/dotnet-core-master.yml b/.github/workflows/dotnet-core-master.yml index 825c6c7f..182aeeb6 100644 --- a/.github/workflows/dotnet-core-master.yml +++ b/.github/workflows/dotnet-core-master.yml @@ -8,6 +8,32 @@ on: - '.github/**' jobs: + angular-unit-test: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + with: + path: eform-angular-workflow-plugin + - name: Preparing Frontend checkout + uses: actions/checkout@v4 + with: + repository: microting/eform-angular-frontend + ref: ${{ github.ref_name }} + path: eform-angular-frontend + - name: Copy dependencies + run: | + cp -av eform-angular-workflow-plugin/eform-client/src/app/plugins/modules/workflow-pn eform-angular-frontend/eform-client/src/app/plugins/modules/workflow-pn + cd eform-angular-frontend/eform-client && ../../eform-angular-workflow-plugin/testinginstallpn.sh + - uses: actions/setup-node@v4 + with: + node-version: 22 + - name: Enable Corepack + run: corepack enable + - name: yarn install + run: cd eform-angular-frontend/eform-client && yarn install + - name: Unit tests + run: cd eform-angular-frontend/eform-client && npx ng test --watch=false --include='src/app/plugins/modules/workflow-pn/**/*.spec.ts' workflow-build: runs-on: ubuntu-latest steps: @@ -34,8 +60,6 @@ jobs: cp -av eform-angular-workflow-plugin/eform-client/e2e/Tests/workflow-settings eform-angular-frontend/eform-client/e2e/Tests/workflow-settings cp -av eform-angular-workflow-plugin/eform-client/e2e/Tests/workflow-general eform-angular-frontend/eform-client/e2e/Tests/workflow-general cp -av eform-angular-workflow-plugin/eform-client/e2e/Page\ objects/Workflow eform-angular-frontend/eform-client/e2e/Page\ objects/Workflow - cp -av eform-angular-workflow-plugin/eform-client/wdio-headless-plugin-step2.conf.ts eform-angular-frontend/eform-client/wdio-headless-plugin-step2.conf.ts - cp -av eform-angular-workflow-plugin/eform-client/wdio-plugin-step2.conf.ts eform-angular-frontend/eform-client/wdio-plugin-step2.conf.ts mkdir -p eform-angular-frontend/eFormAPI/eFormAPI.Web/Plugins cd eform-angular-frontend/eform-client && ../../eform-angular-workflow-plugin/testinginstallpn.sh - name: Button conventions @@ -107,8 +131,6 @@ jobs: cp -av eform-angular-workflow-plugin/eform-client/e2e/Tests/workflow-settings eform-angular-frontend/eform-client/e2e/Tests/workflow-settings cp -av eform-angular-workflow-plugin/eform-client/e2e/Tests/workflow-general eform-angular-frontend/eform-client/e2e/Tests/workflow-general cp -av eform-angular-workflow-plugin/eform-client/e2e/Page\ objects/Workflow eform-angular-frontend/eform-client/e2e/Page\ objects/Workflow - cp -av eform-angular-workflow-plugin/eform-client/wdio-headless-plugin-step2.conf.ts eform-angular-frontend/eform-client/wdio-headless-plugin-step2.conf.ts - cp -av eform-angular-workflow-plugin/eform-client/wdio-plugin-step2.conf.ts eform-angular-frontend/eform-client/wdio-plugin-step2.conf.ts mkdir -p eform-angular-frontend/eFormAPI/eFormAPI.Web/Plugins cd eform-angular-frontend/eform-client && ../../eform-angular-workflow-plugin/testinginstallpn.sh - name: Start the newly build Docker container @@ -120,6 +142,8 @@ jobs: run: cat docker_run_log - name: Pretest changes to work with Docker container run: sed -i 's/localhost/mariadbtest/g' eform-angular-frontend/eform-client/e2e/Constants/DatabaseConfigurationConstants.ts + - name: Enable Corepack + run: corepack enable - name: yarn install run: cd eform-angular-frontend/eform-client && yarn install - name: DB Configuration @@ -238,6 +262,8 @@ jobs: run: cat docker_run_log - name: Pretest changes to work with Docker container run: sed -i 's/localhost/mariadbtest/g' eform-angular-frontend/eform-client/e2e/Constants/DatabaseConfigurationConstants.ts + - name: Enable Corepack + run: corepack enable - name: yarn install run: cd eform-angular-frontend/eform-client && yarn install - name: Install Playwright browsers diff --git a/.github/workflows/dotnet-core-pr.yml b/.github/workflows/dotnet-core-pr.yml index 5ffc4860..6d970660 100644 --- a/.github/workflows/dotnet-core-pr.yml +++ b/.github/workflows/dotnet-core-pr.yml @@ -8,6 +8,32 @@ on: - '.github/**' jobs: + angular-unit-test: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + with: + path: eform-angular-workflow-plugin + - name: Preparing Frontend checkout + uses: actions/checkout@v4 + with: + repository: microting/eform-angular-frontend + ref: ${{ github.base_ref }} + path: eform-angular-frontend + - name: Copy dependencies + run: | + cp -av eform-angular-workflow-plugin/eform-client/src/app/plugins/modules/workflow-pn eform-angular-frontend/eform-client/src/app/plugins/modules/workflow-pn + cd eform-angular-frontend/eform-client && ../../eform-angular-workflow-plugin/testinginstallpn.sh + - uses: actions/setup-node@v4 + with: + node-version: 22 + - name: Enable Corepack + run: corepack enable + - name: yarn install + run: cd eform-angular-frontend/eform-client && yarn install + - name: Unit tests + run: cd eform-angular-frontend/eform-client && npx ng test --watch=false --include='src/app/plugins/modules/workflow-pn/**/*.spec.ts' workflow-build: runs-on: ubuntu-latest steps: @@ -19,7 +45,7 @@ jobs: with: fetch-depth: 0 repository: microting/eform-angular-frontend - ref: stable + ref: ${{ github.base_ref }} path: eform-angular-frontend - name: Copy dependencies run: | @@ -31,8 +57,6 @@ jobs: cp -av eform-angular-workflow-plugin/eform-client/e2e/Tests/workflow-settings eform-angular-frontend/eform-client/e2e/Tests/workflow-settings cp -av eform-angular-workflow-plugin/eform-client/e2e/Tests/workflow-general eform-angular-frontend/eform-client/e2e/Tests/workflow-general cp -av eform-angular-workflow-plugin/eform-client/e2e/Page\ objects/Workflow eform-angular-frontend/eform-client/e2e/Page\ objects/Workflow - cp -av eform-angular-workflow-plugin/eform-client/wdio-headless-plugin-step2.conf.ts eform-angular-frontend/eform-client/wdio-headless-plugin-step2.conf.ts - cp -av eform-angular-workflow-plugin/eform-client/wdio-plugin-step2.conf.ts eform-angular-frontend/eform-client/wdio-plugin-step2.conf.ts mkdir -p eform-angular-frontend/eFormAPI/eFormAPI.Web/Plugins cd eform-angular-frontend/eform-client && ../../eform-angular-workflow-plugin/testinginstallpn.sh - name: Button conventions @@ -83,7 +107,7 @@ jobs: uses: actions/checkout@v3 with: repository: microting/eform-angular-frontend - ref: stable + ref: ${{ github.base_ref }} path: eform-angular-frontend - name: Sleep 15 seconds run: sleep 15 @@ -101,8 +125,6 @@ jobs: cp -av eform-angular-workflow-plugin/eform-client/e2e/Tests/workflow-settings eform-angular-frontend/eform-client/e2e/Tests/workflow-settings cp -av eform-angular-workflow-plugin/eform-client/e2e/Tests/workflow-general eform-angular-frontend/eform-client/e2e/Tests/workflow-general cp -av eform-angular-workflow-plugin/eform-client/e2e/Page\ objects/Workflow eform-angular-frontend/eform-client/e2e/Page\ objects/Workflow - cp -av eform-angular-workflow-plugin/eform-client/wdio-headless-plugin-step2.conf.ts eform-angular-frontend/eform-client/wdio-headless-plugin-step2.conf.ts - cp -av eform-angular-workflow-plugin/eform-client/wdio-plugin-step2.conf.ts eform-angular-frontend/eform-client/wdio-plugin-step2.conf.ts mkdir -p eform-angular-frontend/eFormAPI/eFormAPI.Web/Plugins cd eform-angular-frontend/eform-client && ../../eform-angular-workflow-plugin/testinginstallpn.sh - name: Start the newly build Docker container @@ -114,6 +136,8 @@ jobs: run: cat docker_run_log - name: Pretest changes to work with Docker container run: sed -i 's/localhost/mariadbtest/g' eform-angular-frontend/eform-client/e2e/Constants/DatabaseConfigurationConstants.ts + - name: Enable Corepack + run: corepack enable - name: yarn install run: cd eform-angular-frontend/eform-client && yarn install - name: DB Configuration @@ -202,7 +226,7 @@ jobs: uses: actions/checkout@v3 with: repository: microting/eform-angular-frontend - ref: stable + ref: ${{ github.base_ref }} path: eform-angular-frontend - name: Sleep 15 seconds run: sleep 15 @@ -229,6 +253,8 @@ jobs: run: cat docker_run_log - name: Pretest changes to work with Docker container run: sed -i 's/localhost/mariadbtest/g' eform-angular-frontend/eform-client/e2e/Constants/DatabaseConfigurationConstants.ts + - name: Enable Corepack + run: corepack enable - name: yarn install run: cd eform-angular-frontend/eform-client && yarn install - name: Install Playwright browsers diff --git a/Dockerfile b/Dockerfile index 8b4f59b2..8771ef8a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,9 @@ FROM node:22-bookworm-slim as node-env WORKDIR /app ENV PATH /app/node_modules/.bin:$PATH COPY eform-angular-frontend/eform-client ./ +RUN corepack enable RUN yarn install -RUN npm run build +RUN yarn build FROM mcr.microsoft.com/dotnet/sdk:10.0-noble AS build-env WORKDIR /app diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/index.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/index.ts index 85e0d0af..21cc08ac 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/index.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/components/index.ts @@ -2,4 +2,3 @@ export * from './workflow-cases'; export * from './settings/workflow-settings/workflow-settings.component'; export * from './settings/workflow-folders-modal/workflow-folders-modal.component'; export * from './settings/settings-add-site-modal/settings-add-site-modal.component'; -// export * from './settings/settings-remove-site-modal/settings-remove-site-modal.component'; diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-add-site-modal/settings-add-site-modal.component.spec.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-add-site-modal/settings-add-site-modal.component.spec.ts index 013fcbe5..b6f7c0f8 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-add-site-modal/settings-add-site-modal.component.spec.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-add-site-modal/settings-add-site-modal.component.spec.ts @@ -1,25 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { SettingsAddSiteModalComponent } from './settings-add-site-modal.component'; - -describe('SettingsAddSiteModalComponent', () => { - let component: SettingsAddSiteModalComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ SettingsAddSiteModalComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(SettingsAddSiteModalComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { provideNoopAnimations } from '@angular/platform-browser/animations'; +import { TranslateModule } from '@ngx-translate/core'; +import { describe, it, expect, beforeEach, vi } from 'vitest'; +import { WorkflowPnSettingsService } from '../../../services'; +import { SettingsAddSiteModalComponent } from './settings-add-site-modal.component'; + +describe('SettingsAddSiteModalComponent', () => { + let component: SettingsAddSiteModalComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [SettingsAddSiteModalComponent, TranslateModule.forRoot()], + providers: [ + provideNoopAnimations(), + { provide: WorkflowPnSettingsService, useValue: { addSiteToSettings: vi.fn() } }, + { provide: MatDialogRef, useValue: { close: vi.fn() } }, + { + provide: MAT_DIALOG_DATA, + useValue: { + sites: [{ siteUId: 1, siteName: 'A' }, { siteUId: 2, siteName: 'B' }], + assignedSites: [{ siteUId: 1, siteName: 'A' }], + }, + }, + ], + }).compileComponents(); + + fixture = TestBed.createComponent(SettingsAddSiteModalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + it('should only offer sites that are not assigned yet', () => { + expect(component.availableSites.map((s) => s.siteUId)).toEqual([2]); + }); +}); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-add-site-modal/settings-add-site-modal.component.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-add-site-modal/settings-add-site-modal.component.ts index 59d83a61..6e54f82e 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-add-site-modal/settings-add-site-modal.component.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-add-site-modal/settings-add-site-modal.component.ts @@ -5,13 +5,18 @@ import {Subscription} from 'rxjs'; import {WorkflowPnSettingsService} from '../../../services'; import {eqBy, prop, symmetricDifferenceWith} from 'ramda'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; +import {MatDialogTitle, MatDialogContent, MatDialogActions} from '@angular/material/dialog'; +import {MatFormField, MatLabel} from '@angular/material/form-field'; +import {MtxSelect} from '@ng-matero/extensions/select'; +import {FormsModule} from '@angular/forms'; +import {TranslatePipe} from '@ngx-translate/core'; @AutoUnsubscribe() @Component({ selector: 'app-settings-add-site-modal', templateUrl: './settings-add-site-modal.component.html', styleUrls: ['./settings-add-site-modal.component.scss'], - standalone: false + imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatFormField, MatLabel, MtxSelect, FormsModule, TranslatePipe], }) export class SettingsAddSiteModalComponent implements OnInit, OnDestroy { private settingsService = inject(WorkflowPnSettingsService); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.html b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.html deleted file mode 100644 index 62276664..00000000 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.html +++ /dev/null @@ -1,37 +0,0 @@ - diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.scss b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.spec.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.spec.ts deleted file mode 100644 index a2b7a168..00000000 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { SettingsRemoveSiteModalComponent } from './settings-remove-site-modal.component'; - -describe('SettingsRemoveSiteModalComponent', () => { - let component: SettingsRemoveSiteModalComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ SettingsRemoveSiteModalComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(SettingsRemoveSiteModalComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.ts deleted file mode 100644 index 6ea409c4..00000000 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/settings-remove-site-modal/settings-remove-site-modal.component.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { - Component, - EventEmitter, - OnDestroy, - OnInit, - Output, - ViewChild, - inject -} from '@angular/core'; -import { SiteNameDto } from 'src/app/common/models'; -import {WorkflowPnSettingsService} from '../../../services'; -import { AutoUnsubscribe } from 'ngx-auto-unsubscribe'; -import { Subscription } from 'rxjs'; - -@AutoUnsubscribe() -@Component({ - selector: 'app-settings-remove-site-modal', - templateUrl: './settings-remove-site-modal.component.html', - styleUrls: ['./settings-remove-site-modal.component.scss'], - standalone: false -}) -export class SettingsRemoveSiteModalComponent implements OnInit, OnDestroy { - private settingsService = inject(WorkflowPnSettingsService); - - @ViewChild('frame', { static: false }) frame; - @Output() siteRemoved: EventEmitter = new EventEmitter(); - selectedSite: SiteNameDto = new SiteNameDto(); - removeSub$: Subscription; - - ngOnInit(): void {} - - show(site: SiteNameDto) { - this.selectedSite = site; - this.frame.show(); - } - - removeSite() { - this.removeSub$ = this.settingsService - .removeSiteFromSettings(this.selectedSite.siteUId) - .subscribe((data) => { - this.siteRemoved.emit(); - this.frame.hide(); - this.selectedSite = new SiteNameDto(); - }); - } - - ngOnDestroy() {} -} diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/workflow-folders-modal/workflow-folders-modal.component.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/workflow-folders-modal/workflow-folders-modal.component.ts index 777bfef8..821701f8 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/workflow-folders-modal/workflow-folders-modal.component.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/workflow-folders-modal/workflow-folders-modal.component.ts @@ -9,13 +9,17 @@ import { AuthService, FoldersService} from 'src/app/common/services'; import { AutoUnsubscribe } from 'ngx-auto-unsubscribe'; import { FolderDto } from 'src/app/common/models'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; +import {MatDialogTitle, MatDialogContent} from '@angular/material/dialog'; +import {MatCard, MatCardContent} from '@angular/material/card'; +import {EformTreeViewPickerComponent} from 'src/app/common/modules/eform-shared/components'; +import {TranslatePipe} from '@ngx-translate/core'; @AutoUnsubscribe() @Component({ selector: 'app-workflow-folders-modal', templateUrl: './workflow-folders-modal.component.html', styleUrls: ['./workflow-folders-modal.component.scss'], - standalone: false + imports: [MatDialogTitle, MatDialogContent, MatCard, MatCardContent, EformTreeViewPickerComponent, TranslatePipe], }) export class WorkflowFoldersModalComponent implements OnInit, OnDestroy { private folderService = inject(FoldersService); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/workflow-settings/workflow-settings.component.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/workflow-settings/workflow-settings.component.ts index 246b6ca8..39356c49 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/settings/workflow-settings/workflow-settings.component.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/components/settings/workflow-settings/workflow-settings.component.ts @@ -22,13 +22,22 @@ import {Overlay} from '@angular/cdk/overlay'; import {MtxGridColumn} from '@ng-matero/extensions/grid'; import {TranslateService} from '@ngx-translate/core'; import {DeleteModalComponent} from 'src/app/common/modules/eform-shared/components'; +import {EformNewSubheaderComponent} from 'src/app/common/modules/eform-shared/components'; +import {MatButton} from '@angular/material/button'; +import {MatTooltip} from '@angular/material/tooltip'; +import {MatIcon} from '@angular/material/icon'; +import {TranslatePipe} from '@ngx-translate/core'; +import {MatFormField, MatLabel} from '@angular/material/form-field'; +import {MatInput} from '@angular/material/input'; +import {FormsModule} from '@angular/forms'; +import {MtxGrid} from '@ng-matero/extensions/grid'; @AutoUnsubscribe() @Component({ selector: 'app-workflow-settings', templateUrl: './workflow-settings.component.html', styleUrls: ['./workflow-settings.component.scss'], - standalone: false + imports: [EformNewSubheaderComponent, MatButton, MatTooltip, MatIcon, TranslatePipe, MatFormField, MatLabel, MatInput, FormsModule, MtxGrid], }) export class WorkflowSettingsComponent implements OnInit, OnDestroy { private workflowPnSettingsService = inject(WorkflowPnSettingsService); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-case-delete/workflow-case-delete.component.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-case-delete/workflow-case-delete.component.ts index 4bcd0147..a074a2b3 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-case-delete/workflow-case-delete.component.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-case-delete/workflow-case-delete.component.ts @@ -10,13 +10,16 @@ import {Subscription} from 'rxjs'; import {WorkflowCaseModel} from '../../../models'; import {WorkflowPnCasesService} from '../../../services'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; +import {MatDialogTitle, MatDialogContent, MatDialogActions} from '@angular/material/dialog'; +import {DatePipe} from '@angular/common'; +import {TranslatePipe} from '@ngx-translate/core'; @AutoUnsubscribe() @Component({ selector: 'app-workflow-case-delete', templateUrl: './workflow-case-delete.component.html', styleUrls: ['./workflow-case-delete.component.scss'], - standalone: false + imports: [MatDialogTitle, MatDialogContent, MatDialogActions, TranslatePipe, DatePipe], }) export class WorkflowCaseDeleteComponent implements OnInit, OnDestroy { private workflowCaseService = inject(WorkflowPnCasesService); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-case-edit/workflow-case-edit.component.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-case-edit/workflow-case-edit.component.ts index 7fb6fa9c..3051e970 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-case-edit/workflow-case-edit.component.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-case-edit/workflow-case-edit.component.ts @@ -17,13 +17,24 @@ import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import {format} from 'date-fns'; import {Store} from '@ngrx/store'; import {MatDatepickerInputEvent} from '@angular/material/datepicker'; +import {EformNewSubheaderComponent} from 'src/app/common/modules/eform-shared/components'; +import {MatCard, MatCardHeader, MatCardContent, MatCardFooter} from '@angular/material/card'; +import {MatFormField, MatLabel, MatSuffix} from '@angular/material/form-field'; +import {MatInput} from '@angular/material/input'; +import {MatDatepickerToggle, MatDatepickerInput, MatDatepicker} from '@angular/material/datepicker'; +import {MtxSelect} from '@ng-matero/extensions/select'; +import {FormsModule} from '@angular/forms'; +import {NgIf, DatePipe} from '@angular/common'; +import {ElementPictureComponent} from 'src/app/common/modules/eform-cases/components'; +import {MatButton} from '@angular/material/button'; +import {TranslatePipe} from '@ngx-translate/core'; @AutoUnsubscribe() @Component({ selector: 'app-workflow-case-edit', templateUrl: './workflow-case-edit.component.html', styleUrls: ['./workflow-case-edit.component.scss'], - standalone: false + imports: [EformNewSubheaderComponent, MatCard, MatCardHeader, MatCardContent, MatCardFooter, MatFormField, MatLabel, MatSuffix, MatInput, MatDatepickerToggle, MatDatepickerInput, MatDatepicker, MtxSelect, FormsModule, NgIf, DatePipe, ElementPictureComponent, MatButton, TranslatePipe], }) export class WorkflowCaseEditComponent implements OnInit, OnDestroy { private activateRoute = inject(ActivatedRoute); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-cases-page/workflow-cases-page.component.ts b/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-cases-page/workflow-cases-page.component.ts index f71a4d29..779b13c6 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-cases-page/workflow-cases-page.component.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/components/workflow-cases/workflow-cases-page/workflow-cases-page.component.ts @@ -15,7 +15,7 @@ import {Overlay} from '@angular/cdk/overlay'; import {dialogConfigHelper} from 'src/app/common/helpers'; import {DeleteModalComponent} from 'src/app/common/modules/eform-shared/components'; import {PdfIcon, WordIcon} from 'src/app/common/const'; -import {MatIconRegistry} from '@angular/material/icon'; +import {MatIcon, MatIconRegistry} from '@angular/material/icon'; import {DomSanitizer} from '@angular/platform-browser'; import {Store} from '@ngrx/store'; import { @@ -24,13 +24,24 @@ import { selectWorkflowCasesPaginationIsSortDsc, selectWorkflowCasesPaginationSort } from '../../../state'; +import {EformNewSubheaderComponent, EformPaginationComponent} from 'src/app/common/modules/eform-shared/components'; +import {MatIconButton} from '@angular/material/button'; +import {MatTooltip} from '@angular/material/tooltip'; +import {MatFormField, MatLabel} from '@angular/material/form-field'; +import {MatInput} from '@angular/material/input'; +import {FormsModule} from '@angular/forms'; +import {MtxGrid} from '@ng-matero/extensions/grid'; +import {MatMenu, MatMenuItem, MatMenuTrigger} from '@angular/material/menu'; +import {RouterLink} from '@angular/router'; +import {AsyncPipe} from '@angular/common'; +import {TranslatePipe} from '@ngx-translate/core'; @AutoUnsubscribe() @Component({ selector: 'app-workflow-cases-page', templateUrl: './workflow-cases-page.component.html', styleUrls: ['./workflow-cases-page.component.scss'], - standalone: false + imports: [EformNewSubheaderComponent, EformPaginationComponent, MatIconButton, MatTooltip, MatIcon, MatFormField, MatLabel, MatInput, FormsModule, MtxGrid, MatMenu, MatMenuItem, MatMenuTrigger, RouterLink, AsyncPipe, TranslatePipe], }) export class WorkflowCasesPageComponent implements OnInit, OnDestroy { private store = inject(Store); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/layouts/workflow-pn-layout.component.ts b/eform-client/src/app/plugins/modules/workflow-pn/layouts/workflow-pn-layout.component.ts index e8b15429..baf3735c 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/layouts/workflow-pn-layout.component.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/layouts/workflow-pn-layout.component.ts @@ -4,12 +4,13 @@ import {translates} from './../i18n/translates'; import {Store} from '@ngrx/store'; import {take} from 'rxjs'; import {addPluginToVisited, selectPluginsVisitedPlugins} from 'src/app/state'; +import {RouterOutlet} from '@angular/router'; @Component({ selector: 'app-workflow-pn-layout', template: ` `, - standalone: false + imports: [RouterOutlet], }) export class WorkflowPnLayoutComponent implements AfterContentInit, OnInit { private translateService = inject(TranslateService); diff --git a/eform-client/src/app/plugins/modules/workflow-pn/workflow-pn.module.ts b/eform-client/src/app/plugins/modules/workflow-pn/workflow-pn.module.ts index a6d405ed..8e328f7b 100644 --- a/eform-client/src/app/plugins/modules/workflow-pn/workflow-pn.module.ts +++ b/eform-client/src/app/plugins/modules/workflow-pn/workflow-pn.module.ts @@ -1,72 +1,17 @@ -import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { FormsModule } from '@angular/forms'; -import { RouterModule } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; -import { EformSharedModule } from 'src/app/common/modules/eform-shared/eform-shared.module'; -import { - SettingsAddSiteModalComponent, - /*SettingsRemoveSiteModalComponent,*/ - WorkflowCaseDeleteComponent, - WorkflowCaseEditComponent, - WorkflowCasesPageComponent, - WorkflowSettingsComponent, WorkflowFoldersModalComponent, -} from './components'; -import { WorkflowPnLayoutComponent } from './layouts'; +import {MatDialogModule} from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; import { WorkflowPnCasesService, WorkflowPnSettingsService } from './services'; import { WorkflowPnRouting } from './workflow-pn.routing'; -import {EformImportedModule} from 'src/app/common/modules/eform-imported/eform-imported.module'; -import {EformCasesModule} from 'src/app/common/modules/eform-cases/eform-cases.module'; -import {MtxGridModule} from '@ng-matero/extensions/grid'; -import {MatFormFieldModule} from '@angular/material/form-field'; -import {MatInputModule} from '@angular/material/input'; -import {MatButtonModule} from '@angular/material/button'; -import {MatIconModule} from '@angular/material/icon'; -import {MatTooltipModule} from '@angular/material/tooltip'; -import {MatDialogModule} from '@angular/material/dialog'; -import {MatCardModule} from '@angular/material/card'; -import {MtxSelectModule} from '@ng-matero/extensions/select'; -import {StoreModule} from '@ngrx/store'; import * as workflowCasesReducer from './state/workflow-cases/workflow-cases.reducer'; -import {MatDatepickerModule} from '@angular/material/datepicker'; -import {MatMenu, MatMenuItem, MatMenuTrigger} from "@angular/material/menu"; @NgModule({ imports: [ - CommonModule, - TranslateModule, - FormsModule, - EformSharedModule, - RouterModule, - WorkflowPnRouting, - EformImportedModule, - EformCasesModule, - MtxGridModule, - MatFormFieldModule, - MatInputModule, - MatButtonModule, - MatIconModule, - MatTooltipModule, MatDialogModule, - MatCardModule, - MtxSelectModule, + WorkflowPnRouting, StoreModule.forFeature('workflowPn', { workflowCasesState: workflowCasesReducer.reducer, }), - MatDatepickerModule, - MatMenuTrigger, - MatMenu, - MatMenuItem, - ], - declarations: [ - WorkflowPnLayoutComponent, - WorkflowSettingsComponent, - WorkflowCasesPageComponent, - WorkflowCaseDeleteComponent, - WorkflowCaseEditComponent, - SettingsAddSiteModalComponent, - // SettingsRemoveSiteModalComponent, - WorkflowFoldersModalComponent, ], providers: [ WorkflowPnSettingsService,