migrate attach cloud widget

This commit is contained in:
Denys Vuika
2024-10-02 09:57:26 -04:00
parent feca05e835
commit 2eec264bff
6 changed files with 50 additions and 20 deletions
@@ -150,7 +150,7 @@ describe('AttachFileCloudWidgetComponent', () => {
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ProcessServiceCloudTestingModule, FormCloudModule, ContentModule.forRoot()], imports: [ProcessServiceCloudTestingModule, AttachFileCloudWidgetComponent, FormCloudModule, ContentModule.forRoot()],
schemas: [CUSTOM_ELEMENTS_SCHEMA] schemas: [CUSTOM_ELEMENTS_SCHEMA]
}); });
notificationService = TestBed.inject(NotificationService); notificationService = TestBed.inject(NotificationService);
@@ -26,7 +26,8 @@ import {
ContentLinkModel, ContentLinkModel,
AppConfigService, AppConfigService,
UploadWidgetContentLinkModel, UploadWidgetContentLinkModel,
DestinationFolderPath DestinationFolderPath,
ErrorWidgetComponent
} from '@alfresco/adf-core'; } from '@alfresco/adf-core';
import { Node, NodesApi, RelatedContentRepresentation } from '@alfresco/js-api'; import { Node, NodesApi, RelatedContentRepresentation } from '@alfresco/js-api';
import { ContentCloudNodeSelectorService } from '../../../services/content-cloud-node-selector.service'; import { ContentCloudNodeSelectorService } from '../../../services/content-cloud-node-selector.service';
@@ -41,6 +42,11 @@ import {
NewVersionUploaderService, NewVersionUploaderService,
VersionManagerUploadData VersionManagerUploadData
} from '@alfresco/adf-content-services'; } from '@alfresco/adf-content-services';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { FilePropertiesTableCloudComponent } from './file-properties-table-cloud.component';
export const RETRIEVE_METADATA_OPTION = 'retrieveMetadata'; export const RETRIEVE_METADATA_OPTION = 'retrieveMetadata';
export const ALIAS_ROOT_FOLDER = '-root-'; export const ALIAS_ROOT_FOLDER = '-root-';
@@ -50,6 +56,8 @@ export const VALID_ALIAS = [ALIAS_ROOT_FOLDER, ALIAS_USER_FOLDER, '-shared-'];
@Component({ @Component({
selector: 'adf-cloud-attach-file-cloud-widget', selector: 'adf-cloud-attach-file-cloud-widget',
standalone: true,
imports: [CommonModule, TranslateModule, ErrorWidgetComponent, MatButtonModule, MatIconModule, FilePropertiesTableCloudComponent],
templateUrl: './attach-file-cloud-widget.component.html', templateUrl: './attach-file-cloud-widget.component.html',
styleUrls: ['./attach-file-cloud-widget.component.scss'], styleUrls: ['./attach-file-cloud-widget.component.scss'],
host: { host: {
@@ -20,21 +20,16 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ProcessServiceCloudTestingModule } from '../../../../testing/process-service-cloud.testing.module'; import { ProcessServiceCloudTestingModule } from '../../../../testing/process-service-cloud.testing.module';
import { FilePropertiesTableCloudComponent } from './file-properties-table-cloud.component'; import { FilePropertiesTableCloudComponent } from './file-properties-table-cloud.component';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { MatTableModule } from '@angular/material/table';
import { MatIconModule } from '@angular/material/icon';
describe('FilePropertiesTableCloudComponent', () => { describe('FilePropertiesTableCloudComponent', () => {
let widget: FilePropertiesTableCloudComponent; let widget: FilePropertiesTableCloudComponent;
let fixture: ComponentFixture<FilePropertiesTableCloudComponent>; let fixture: ComponentFixture<FilePropertiesTableCloudComponent>;
beforeEach(async () => { beforeEach(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ProcessServiceCloudTestingModule, MatTableModule, MatIconModule], imports: [ProcessServiceCloudTestingModule, FilePropertiesTableCloudComponent]
declarations: [FilePropertiesTableCloudComponent]
}).compileComponents();
}); });
beforeEach(() => {
fixture = TestBed.createComponent(FilePropertiesTableCloudComponent); fixture = TestBed.createComponent(FilePropertiesTableCloudComponent);
widget = fixture.componentInstance; widget = fixture.componentInstance;
@@ -64,9 +59,7 @@ describe('FilePropertiesTableCloudComponent', () => {
]; ];
widget.hasFile = true; widget.hasFile = true;
widget.displayedColumns = ['icon', 'fileName']; widget.displayedColumns = ['icon', 'fileName'];
fixture.detectChanges(); fixture.detectChanges();
}); });
@@ -18,14 +18,34 @@
/* eslint-disable @angular-eslint/component-selector */ /* eslint-disable @angular-eslint/component-selector */
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { Component, EventEmitter, Input, Output } from '@angular/core';
import { LocalizedDatePipe, ThumbnailService } from '@alfresco/adf-core'; import { LocalizedDatePipe, ThumbnailService, UploadDirective } from '@alfresco/adf-core';
import { Node } from '@alfresco/js-api'; import { Node } from '@alfresco/js-api';
import { NewVersionUploaderDialogData } from '@alfresco/adf-content-services'; import { NewVersionUploaderDialogData } from '@alfresco/adf-content-services';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { MatMenuModule } from '@angular/material/menu';
import { MatTableModule } from '@angular/material/table';
import { MatLineModule } from '@angular/material/core';
import { MatListModule } from '@angular/material/list';
export const RETRIEVE_METADATA_OPTION = 'retrieveMetadata'; export const RETRIEVE_METADATA_OPTION = 'retrieveMetadata';
@Component({ @Component({
selector: 'adf-cloud-file-properties-table', selector: 'adf-cloud-file-properties-table',
standalone: true,
imports: [
CommonModule,
TranslateModule,
MatIconModule,
MatButtonModule,
MatMenuModule,
UploadDirective,
MatTableModule,
MatLineModule,
MatListModule
],
templateUrl: './file-properties-table-cloud.component.html', templateUrl: './file-properties-table-cloud.component.html',
styleUrls: ['./file-properties-table-cloud.component.scss'] styleUrls: ['./file-properties-table-cloud.component.scss']
}) })
@@ -21,13 +21,21 @@ import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild, ViewEnc
import { Node } from '@alfresco/js-api'; import { Node } from '@alfresco/js-api';
import { Observable, from } from 'rxjs'; import { Observable, from } from 'rxjs';
import { mergeMap } from 'rxjs/operators'; import { mergeMap } from 'rxjs/operators';
import { WidgetComponent, FormService, ThumbnailService, NotificationService } from '@alfresco/adf-core'; import { WidgetComponent, FormService, ThumbnailService, NotificationService, ErrorWidgetComponent } from '@alfresco/adf-core';
import { ProcessCloudContentService } from '../../../services/process-cloud-content.service'; import { ProcessCloudContentService } from '../../../services/process-cloud-content.service';
import { FileSourceTypes, DestinationFolderPathType } from '../../../models/form-cloud-representation.model'; import { FileSourceTypes, DestinationFolderPathType } from '../../../models/form-cloud-representation.model';
import { VersionManagerUploadData } from '@alfresco/adf-content-services'; import { VersionManagerUploadData } from '@alfresco/adf-content-services';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { MatLineModule } from '@angular/material/core';
import { MatListModule } from '@angular/material/list';
@Component({ @Component({
selector: 'upload-cloud-widget', selector: 'upload-cloud-widget',
standalone: true,
imports: [CommonModule, TranslateModule, MatIconModule, MatButtonModule, ErrorWidgetComponent, MatLineModule, MatListModule],
templateUrl: './upload-cloud.widget.html', templateUrl: './upload-cloud.widget.html',
styleUrls: ['./upload-cloud.widget.scss'], styleUrls: ['./upload-cloud.widget.scss'],
host: { host: {
@@ -66,20 +66,20 @@ import { FormSpinnerComponent } from './components/spinner/form-spinner.componen
...CONTENT_UPLOAD_DIRECTIVES, ...CONTENT_UPLOAD_DIRECTIVES,
...CONTENT_METADATA_DIRECTIVES, ...CONTENT_METADATA_DIRECTIVES,
FormStylePipe, FormStylePipe,
FormSpinnerComponent FormSpinnerComponent,
UploadCloudWidgetComponent,
AttachFileCloudWidgetComponent,
FilePropertiesTableCloudComponent
], ],
declarations: [ declarations: [
FormCloudComponent, FormCloudComponent,
UploadCloudWidgetComponent,
FormDefinitionSelectorCloudComponent, FormDefinitionSelectorCloudComponent,
FormCustomOutcomesComponent, FormCustomOutcomesComponent,
RadioButtonsCloudWidgetComponent, RadioButtonsCloudWidgetComponent,
AttachFileCloudWidgetComponent,
PeopleCloudWidgetComponent, PeopleCloudWidgetComponent,
GroupCloudWidgetComponent, GroupCloudWidgetComponent,
PropertiesViewerWrapperComponent, PropertiesViewerWrapperComponent,
PropertiesViewerWidgetComponent, PropertiesViewerWidgetComponent,
FilePropertiesTableCloudComponent,
FileViewerWidgetComponent, FileViewerWidgetComponent,
DisplayRichTextWidgetComponent DisplayRichTextWidgetComponent
], ],
@@ -94,7 +94,8 @@ import { FormSpinnerComponent } from './components/spinner/form-spinner.componen
GroupCloudWidgetComponent, GroupCloudWidgetComponent,
PropertiesViewerWidgetComponent, PropertiesViewerWidgetComponent,
FileViewerWidgetComponent, FileViewerWidgetComponent,
DisplayRichTextWidgetComponent DisplayRichTextWidgetComponent,
FilePropertiesTableCloudComponent
] ]
}) })
export class FormCloudModule {} export class FormCloudModule {}