[ADF-2005] Cannot view document in tasklist attachment list (#2701)

This commit is contained in:
Eugenio Romano 2017-11-23 14:05:13 +00:00 committed by GitHub
parent 9bc99665ef
commit bc48a3923e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 128 additions and 133 deletions

View File

@ -22,13 +22,11 @@ import { FormComponent } from './components/form/form.component';
import { FormListComponent } from './components/form/form-list.component'; import { FormListComponent } from './components/form/form-list.component';
import { CustomSourcesComponent } from './components/files/custom-sources.component'; import { CustomSourcesComponent } from './components/files/custom-sources.component';
import { ActivitiComponent } from './components/activiti/activiti.component'; import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ActivitiTaskAttachmentsComponent } from './components/activiti/activiti-task-attachments.component'; import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
import { ActivitiProcessAttachmentsComponent } from './components/activiti/activiti-process-attachments.component'; import { FormViewerComponent } from './components/process-service/form-viewer.component';
import { ActivitiShowDiagramComponent } from './components/activiti/activiti-show-diagram.component'; import { FormNodeViewerComponent } from './components/process-service/form-node-viewer.component';
import { FormViewerComponent } from './components/activiti/form-viewer.component'; import { AppsViewComponent } from './components/process-service/apps-view.component';
import { FormNodeViewerComponent } from './components/activiti/form-node-viewer.component';
import { ActivitiAppsViewComponent } from './components/activiti/apps-view.component';
import { DataTableComponent } from './components/datatable/datatable.component'; import { DataTableComponent } from './components/datatable/datatable.component';
import { FilesComponent } from './components/files/files.component'; import { FilesComponent } from './components/files/files.component';
import { FileViewComponent } from './components/file-view/file-view.component'; import { FileViewComponent } from './components/file-view/file-view.component';
@ -43,6 +41,8 @@ import { DebugAppConfigService } from './services/debug-app-config.service';
import { routing } from './app.routes'; import { routing } from './app.routes';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { ReactiveFormsModule } from '@angular/forms'; import { ReactiveFormsModule } from '@angular/forms';
import { TaskAttachmentsComponent } from './components/process-service/task-attachments.component';
import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component';
@NgModule({ @NgModule({
@ -69,13 +69,11 @@ import { ReactiveFormsModule } from '@angular/forms';
SearchBarComponent, SearchBarComponent,
SearchResultComponent, SearchResultComponent,
AboutComponent, AboutComponent,
ActivitiComponent, ProcessServiceComponent,
ActivitiTaskAttachmentsComponent, ShowDiagramComponent,
ActivitiProcessAttachmentsComponent,
ActivitiShowDiagramComponent,
FormViewerComponent, FormViewerComponent,
FormNodeViewerComponent, FormNodeViewerComponent,
ActivitiAppsViewComponent, AppsViewComponent,
DataTableComponent, DataTableComponent,
FilesComponent, FilesComponent,
FileViewComponent, FileViewComponent,
@ -85,7 +83,9 @@ import { ReactiveFormsModule } from '@angular/forms';
TagComponent, TagComponent,
SocialComponent, SocialComponent,
CustomSourcesComponent, CustomSourcesComponent,
VersionManagerDialogAdapterComponent VersionManagerDialogAdapterComponent,
TaskAttachmentsComponent,
ProcessAttachmentsComponent
], ],
providers: [ providers: [
TranslateService, TranslateService,

View File

@ -23,11 +23,11 @@ import { LoginComponent } from './components/login/login.component';
import { SettingsComponent } from './components/settings/settings.component'; import { SettingsComponent } from './components/settings/settings.component';
import { HomeComponent } from './components/home/home.component'; import { HomeComponent } from './components/home/home.component';
import { AboutComponent } from './components/about/about.component'; import { AboutComponent } from './components/about/about.component';
import { ActivitiComponent } from './components/activiti/activiti.component'; import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ActivitiShowDiagramComponent } from './components/activiti/activiti-show-diagram.component'; import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
import { FormViewerComponent } from './components/activiti/form-viewer.component'; import { FormViewerComponent } from './components/process-service/form-viewer.component';
import { FormNodeViewerComponent } from './components/activiti/form-node-viewer.component'; import { FormNodeViewerComponent } from './components/process-service/form-node-viewer.component';
import { ActivitiAppsViewComponent } from './components/activiti/apps-view.component'; import { AppsViewComponent } from './components/process-service/apps-view.component';
import { SearchResultComponent } from './components/search/search-result.component'; import { SearchResultComponent } from './components/search/search-result.component';
import { DataTableComponent } from './components/datatable/datatable.component'; import { DataTableComponent } from './components/datatable/datatable.component';
@ -91,33 +91,33 @@ export const appRoutes: Routes = [
}, },
{ {
path: 'activiti', path: 'activiti',
component: ActivitiAppsViewComponent, component: AppsViewComponent,
canActivate: [AuthGuardBpm] canActivate: [AuthGuardBpm]
}, },
{ {
path: 'activiti/apps', path: 'activiti/apps',
component: ActivitiAppsViewComponent, component: AppsViewComponent,
canActivate: [AuthGuardBpm] canActivate: [AuthGuardBpm]
}, },
{ {
path: 'activiti/apps/:appId/tasks', path: 'activiti/apps/:appId/tasks',
component: ActivitiComponent, component: ProcessServiceComponent,
canActivate: [AuthGuardBpm] canActivate: [AuthGuardBpm]
}, },
{ {
path: 'activiti/apps/:appId/processes', path: 'activiti/apps/:appId/processes',
component: ActivitiComponent, component: ProcessServiceComponent,
canActivate: [AuthGuardBpm] canActivate: [AuthGuardBpm]
}, },
{ {
path: 'activiti/apps/:appId/diagram/:processDefinitionId', path: 'activiti/apps/:appId/diagram/:processDefinitionId',
component: ActivitiShowDiagramComponent, component: ShowDiagramComponent,
canActivate: [AuthGuardBpm] canActivate: [AuthGuardBpm]
}, },
// TODO: check if neeeded // TODO: check if neeeded
{ {
path: 'activiti/appId/:appId', path: 'activiti/appId/:appId',
component: ActivitiComponent, component: ProcessServiceComponent,
canActivate: [AuthGuardBpm] canActivate: [AuthGuardBpm]
}, },
// TODO: check if needed // TODO: check if needed

View File

@ -1,32 +0,0 @@
<div id="attachment-task-list" *ngIf="taskId">
<h5>Attachments</h5>
<div class="adf-no-form-container">
<adf-upload-drag-area
[parentId]="taskId"
[disabled]="isCompletedTask()"
[showNotificationBar]="false">
<adf-task-attachment-list #taskAttachList
*ngIf="taskId"
[taskId]="taskId"
[disabled]="isCompletedTask()"
(attachmentClick)="onAttachmentClick($event)">
</adf-task-attachment-list>
</adf-upload-drag-area>
<adf-create-task-attachment
*ngIf="!isCompletedTask()"
[taskId]="taskId"
(success)="onFileUploadComplete($event)">
</adf-create-task-attachment>
</div>
</div>
<div *ngIf="fileShowed">
<adf-viewer
[(showViewer)]="fileShowed"
[blobFile]="content"
[displayName]="contentName"
[overlayMode]="true">
</adf-viewer>
</div>

View File

@ -20,7 +20,7 @@ import { ActivatedRoute, Router } from '@angular/router';
import { AlfrescoApiService } from '@alfresco/adf-core'; import { AlfrescoApiService } from '@alfresco/adf-core';
@Component({ @Component({
selector: 'adf-file-view', selector: 'app-file-view',
templateUrl: 'file-view.component.html' templateUrl: 'file-view.component.html'
}) })
export class FileViewComponent implements OnInit { export class FileViewComponent implements OnInit {
@ -33,6 +33,10 @@ export class FileViewComponent implements OnInit {
private apiService: AlfrescoApiService) {} private apiService: AlfrescoApiService) {}
ngOnInit() { ngOnInit() {
this.route
.data
.subscribe(v => console.log(v));
this.route.params.subscribe(params => { this.route.params.subscribe(params => {
const id = params.nodeId; const id = params.nodeId;
if (id) { if (id) {

View File

@ -20,10 +20,10 @@ import { Router } from '@angular/router';
import { AppDefinitionRepresentationModel } from '@alfresco/adf-process-services'; import { AppDefinitionRepresentationModel } from '@alfresco/adf-process-services';
@Component({ @Component({
selector: 'activiti-apps-view', selector: 'app-process-list-view',
templateUrl: './apps-view.component.html' templateUrl: './apps-view.component.html'
}) })
export class ActivitiAppsViewComponent { export class AppsViewComponent {
constructor(private router: Router) { constructor(private router: Router) {
} }

View File

@ -35,7 +35,7 @@ export class CustomEditorComponent extends WidgetComponent {
@Component({ @Component({
selector: 'custom-stencil-01', selector: 'custom-stencil-01',
template: `<div style="color: green">ADF version of custom Activiti stencil</div>` template: `<div style="color: green">ADF version of custom ProcessService stencil</div>`
}) })
export class CustomStencil01 extends WidgetComponent { export class CustomStencil01 extends WidgetComponent {

View File

@ -20,7 +20,7 @@ import { ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs/Rx'; import { Subscription } from 'rxjs/Rx';
@Component({ @Component({
selector: 'form-viewer', selector: 'app-form-viewer',
templateUrl: './form-viewer.component.html', templateUrl: './form-viewer.component.html',
styleUrls: ['./form-viewer.component.css'] styleUrls: ['./form-viewer.component.css']
}) })

View File

@ -1,21 +1,21 @@
<div id="attachment-process-list" *ngIf="processId"> <div id="attachment-process-list" *ngIf="processInstanceId">
<h5>Attachments</h5> <h5>Attachments</h5>
<div class="adf-no-form-container"> <div class="adf-no-form-container">
<adf-upload-drag-area <adf-upload-drag-area
[parentId]="processId" [parentId]="processInstanceId"
[disabled]="isCompletedProcess()" [disabled]="isCompletedProcess()"
[showNotificationBar]="false"> [showNotificationBar]="false">
<adf-process-attachment-list #processAttachList <adf-process-attachment-list #processAttachList
*ngIf="processId" *ngIf="processInstanceId"
[disabled]="isCompletedProcess()" [disabled]="isCompletedProcess()"
[processInstanceId]="processId" [processInstanceId]="processInstanceId"
(attachmentClick)="onAttachmentClick($event)"> (attachmentClick)="onAttachmentClick($event)">
</adf-process-attachment-list> </adf-process-attachment-list>
</adf-upload-drag-area> </adf-upload-drag-area>
<adf-create-process-attachment <adf-create-process-attachment
*ngIf="!isCompletedProcess()" *ngIf="!isCompletedProcess()"
[processInstanceId]="processId" [processInstanceId]="processInstanceId"
(success)="onFileUploadComplete($event)"> (success)="onFileUploadComplete($event)">
</adf-create-process-attachment> </adf-create-process-attachment>

View File

@ -21,18 +21,18 @@ import { ProcessInstance, ProcessService ,
import { UploadService } from '@alfresco/adf-core'; import { UploadService } from '@alfresco/adf-core';
@Component({ @Component({
selector: 'activiti-process-attachments', selector: 'app-process-attachments',
templateUrl: './activiti-process-attachments.component.html', templateUrl: './process-attachments.component.html',
styleUrls: ['./activiti-process-attachments.component.css'], styleUrls: ['./process-attachments.component.css'],
providers: [ providers: [
{provide: UploadService, useClass: ProcessUploadService} {provide: UploadService, useClass: ProcessUploadService}
] ]
}) })
export class ActivitiProcessAttachmentsComponent implements OnInit, OnChanges { export class ProcessAttachmentsComponent implements OnInit, OnChanges {
@Input() @Input()
processId: string; processInstanceId: string;
@ViewChild(ProcessAttachmentListComponent) @ViewChild(ProcessAttachmentListComponent)
processAttachList: ProcessAttachmentListComponent; processAttachList: ProcessAttachmentListComponent;
@ -50,8 +50,8 @@ export class ActivitiProcessAttachmentsComponent implements OnInit, OnChanges {
} }
ngOnChanges() { ngOnChanges() {
if (this.processId) { if (this.processInstanceId) {
this.processService.getProcess(this.processId).subscribe((processInstance: ProcessInstance) => { this.processService.getProcess(this.processInstanceId).subscribe((processInstance: ProcessInstance) => {
this.processInstance = processInstance; this.processInstance = processInstance;
}); });
} }

View File

@ -1,10 +1,10 @@
<mat-tab-group [(selectedIndex)]="activeTab"> <mat-tab-group [(selectedIndex)]="activeTab">
<mat-tab id="tasks-header" href="#tasks" label="{{'PS-TAB.TASKS-TAB' | translate}}"> <mat-tab id="tasks-header" href="#tasks" label="{{'PS-TAB.TASKS-TAB' | translate}}">
<div class="page-content"> <div class="page-content">
<div class="activiti-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="adf-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
<div class="activiti-grid-item activiti-tasks-menu" fxFlex.gt-md="225px"> <div class="adf-grid-item adf-tasks-menu" fxFlex.gt-md="225px">
<div class="activiti-list-buttons"> <div class="adf-list-buttons">
<button color="primary" mat-raised-button data-automation-id="btn-start-task" class="activiti-list-buttons-start" (click)="navigateStartTask()"> <button color="primary" mat-raised-button data-automation-id="btn-start-task" class="adf-list-buttons-start" (click)="navigateStartTask()">
<mat-icon>add</mat-icon> <mat-icon>add</mat-icon>
<span>{{'PS-TAB.START-TASK' | translate}}</span> <span>{{'PS-TAB.START-TASK' | translate}}</span>
</button> </button>
@ -23,7 +23,7 @@
</adf-accordion-group> </adf-accordion-group>
</adf-accordion> </adf-accordion>
</div> </div>
<div class="activiti-grid-item activiti-tasks-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}" <div class="adf-grid-item adf-tasks-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}"
*ngIf="taskFilter && !isStartTaskMode()"> *ngIf="taskFilter && !isStartTaskMode()">
<adf-tasklist <adf-tasklist
[appId]="taskFilter?.appId" [appId]="taskFilter?.appId"
@ -60,7 +60,7 @@
[supportedPageSizes]="[2, 4, 6, 8, 10, 12]"> [supportedPageSizes]="[2, 4, 6, 8, 10, 12]">
</adf-pagination> </adf-pagination>
</div> </div>
<div class="activiti-grid-item activiti-tasks-details" *ngIf="!isStartTaskMode()" fxFlex.gt-md="1 1 auto"> <div class="adf-grid-item adf-tasks-details" *ngIf="!isStartTaskMode()" fxFlex.gt-md="1 1 auto">
<adf-task-details #activitidetails <adf-task-details #activitidetails
[debugMode]="true" [debugMode]="true"
[taskId]="currentTaskId" [taskId]="currentTaskId"
@ -85,24 +85,11 @@
</div> </div>
<mat-card> <mat-card>
<mat-card-content> <mat-card-content>
<adf-upload-drag-area <app-task-attachments [taskId]="currentTaskId" ></app-task-attachments>
[parentId]="currentTaskId"
[showNotificationBar]="false">
<adf-task-attachment-list #taskAttachList
[taskId]="currentTaskId">
<div adf-empty-list>
<div adf-empty-list-header class="adf-empty-list-header"> {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}} </div>
<div adf-empty-list-body>
<div fxHide.lt-md="true" class="adf-empty-list-drag_drop">{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}</div>
<div fxHide.lt-md="true" class="adf-empty-list__any-files-here-to-add"> {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}} </div>
</div>
</div>
</adf-task-attachment-list>
</adf-upload-drag-area>
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
</div> </div>
<div class="activiti-grid-item activiti-tasks-start" *ngIf="isStartTaskMode()" fxFlex.gt-md="1 1 auto"> <div class="adf-grid-item adf-tasks-start" *ngIf="isStartTaskMode()" fxFlex.gt-md="1 1 auto">
<adf-start-task <adf-start-task
[appId]="appId" [appId]="appId"
(success)="onStartTaskSuccess($event)" (success)="onStartTaskSuccess($event)"
@ -115,13 +102,13 @@
<mat-tab id="processes-header" href="#processes" <mat-tab id="processes-header" href="#processes"
label="{{'PS-TAB.PROCESSES-TAB' | translate}}"> label="{{'PS-TAB.PROCESSES-TAB' | translate}}">
<div class="page-content"> <div class="page-content">
<div class="activiti-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="adf-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
<div class="activiti-grid-item activiti-processes-menu" fxFlex.gt-md="225px"> <div class="adf-grid-item adf-processes-menu" fxFlex.gt-md="225px">
<div class="activiti-list-buttons"> <div class="adf-list-buttons">
<button <button
color="primary" color="primary"
mat-raised-button mat-raised-button
class="activiti-list-buttons-start" class="adf-list-buttons-start"
data-automation-id="btn-start-process" data-automation-id="btn-start-process"
(click)="navigateStartProcess()"> (click)="navigateStartProcess()">
<mat-icon>add</mat-icon> <mat-icon>add</mat-icon>
@ -140,7 +127,7 @@
</adf-accordion-group> </adf-accordion-group>
</adf-accordion> </adf-accordion>
</div> </div>
<div class="activiti-grid-item activiti-processes-list activiti-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}" <div class="adf-grid-item adf-processes-list adf-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}"
*ngIf="processFilter && !isStartProcessMode()"> *ngIf="processFilter && !isStartProcessMode()">
<adf-process-instance-list <adf-process-instance-list
*ngIf="processFilter?.hasFilter()" [appId]="processFilter.appId" *ngIf="processFilter?.hasFilter()" [appId]="processFilter.appId"
@ -162,7 +149,7 @@
</adf-process-instance-list> </adf-process-instance-list>
</div> </div>
<div class="activiti-grid-item activiti-processes-details" *ngIf="!isStartProcessMode()" fxFlex.gt-md="1 1 auto"> <div class="adf-grid-item adf-processes-details" *ngIf="!isStartProcessMode()" fxFlex.gt-md="1 1 auto">
<adf-process-instance-details <adf-process-instance-details
[processInstanceId]="currentProcessInstanceId" [processInstanceId]="currentProcessInstanceId"
(processCancelled)="processCancelled()" (processCancelled)="processCancelled()"
@ -184,14 +171,11 @@
</div> </div>
<mat-card> <mat-card>
<mat-card-content> <mat-card-content>
<adf-process-attachment-list <app-process-attachments [processInstanceId]="currentProcessInstanceId" ></app-process-attachments>
[processInstanceId]="currentProcessInstanceId"
(attachmentClick)="onContentClick($event)">
</adf-process-attachment-list>
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
</div> </div>
<div class="activiti-grid-item activiti-processes-start" fxFlex.gt-md="1 1 auto" <div class="adf-grid-item adf-processes-start" fxFlex.gt-md="1 1 auto"
*ngIf="isStartProcessMode()"> *ngIf="isStartProcessMode()">
<adf-start-process <adf-start-process
[appId]="appId" [appId]="appId"
@ -204,8 +188,8 @@
</mat-tab> </mat-tab>
<mat-tab id="report-header" href="#report" <mat-tab id="report-header" href="#report"
label="{{'PS-TAB.REPORTS-TAB' | translate}}"> label="{{'PS-TAB.REPORTS-TAB' | translate}}">
<div class="activiti-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="adf-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
<div class="activiti-grid-item activiti-reports-menu" fxFlex.gt-md="300px"> <div class="adf-grid-item adf-reports-menu" fxFlex.gt-md="300px">
<span><h5>Report List</h5></span> <span><h5>Report List</h5></span>
<hr> <hr>
<analytics-report-list <analytics-report-list
@ -215,7 +199,7 @@
#analyticsreportlist> #analyticsreportlist>
</analytics-report-list> </analytics-report-list>
</div> </div>
<div class="activiti-grid-item activiti-reports-details" fxFlex.gt-md="1 1 auto"> <div class="adf-grid-item adf-reports-details" fxFlex.gt-md="1 1 auto">
<adf-analytics <adf-analytics
*ngIf="report" *ngIf="report"
[appId]="appId" [appId]="appId"

View File

@ -5,24 +5,24 @@
font-size: 18px; font-size: 18px;
} }
.activiti-grid { .adf-grid {
.activiti-grid-item { .adf-grid-item {
margin: 4px; margin: 4px;
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12); box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
padding: 10px; padding: 10px;
} }
.activiti-list-buttons { .adf-list-buttons {
margin-bottom: 24px; margin-bottom: 24px;
} }
.activiti-list-buttons-start { .adf-list-buttons-start {
width: 100%; width: 100%;
} }
.activiti-tasks-list.small-pagination, .adf-tasks-list.small-pagination,
.activiti-processes-list.small-pagination { .adf-processes-list.small-pagination {
.adf-pagination { .adf-pagination {
flex-wrap: wrap; flex-wrap: wrap;
@ -68,7 +68,7 @@
} }
} }
.activiti-list { .adf-list {
.adf-data-table { .adf-data-table {
border: none; border: none;
} }

View File

@ -68,15 +68,15 @@ const currentProcessIdNew = '__NEW__';
const currentTaskIdNew = '__NEW__'; const currentTaskIdNew = '__NEW__';
@Component({ @Component({
selector: 'adf-activiti', selector: 'app-process-service',
templateUrl: './activiti.component.html', templateUrl: './process-service.component.html',
styleUrls: ['./activiti.component.scss'], styleUrls: ['./process-service.component.scss'],
providers: [ providers: [
{ provide: UploadService, useClass: ProcessUploadService } { provide: UploadService, useClass: ProcessUploadService }
], ],
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class ActivitiComponent implements AfterViewInit, OnDestroy, OnInit { export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit {
@ViewChild(TaskFiltersComponent) @ViewChild(TaskFiltersComponent)
activitifilter: TaskFiltersComponent; activitifilter: TaskFiltersComponent;
@ -422,10 +422,10 @@ export class ActivitiComponent implements AfterViewInit, OnDestroy, OnInit {
} }
ngAfterViewInit() { ngAfterViewInit() {
this.loadStencilScriptsInPageFromActiviti(); this.loadStencilScriptsInPageFromProcessService();
} }
loadStencilScriptsInPageFromActiviti() { loadStencilScriptsInPageFromProcessService() {
this.apiService.getInstance().activiti.scriptFileApi.getControllers().then(response => { this.apiService.getInstance().activiti.scriptFileApi.getControllers().then(response => {
if (response) { if (response) {
let s = document.createElement('script'); let s = document.createElement('script');

View File

@ -19,11 +19,11 @@ import { Component } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
@Component({ @Component({
selector: 'activiti-show-diagram', selector: 'app-show-diagram',
templateUrl: './activiti-show-diagram.component.html', templateUrl: './show-diagram.component.html',
styleUrls: ['./activiti-show-diagram.component.css'] styleUrls: ['./show-diagram.component.css']
}) })
export class ActivitiShowDiagramComponent { export class ShowDiagramComponent {
processDefinitionId: string; processDefinitionId: string;
appId: string; appId: string;

View File

@ -0,0 +1,39 @@
<div id="attachment-task-list" *ngIf="taskId">
<div class="adf-no-form-container">
<adf-upload-drag-area
[parentId]="currentTaskId"
[showNotificationBar]="false">
<adf-task-attachment-list #taskAttachList
[disabled]="isCompletedTask()"
(attachmentClick)="onAttachmentClick($event)"
[taskId]="currentTaskId">
<div adf-empty-list>
<div adf-empty-list-header class="adf-empty-list-header"> {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}} </div>
<div adf-empty-list-body>
<div fxHide.lt-md="true" class="adf-empty-list-drag_drop">{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}</div>
<div fxHide.lt-md="true" class="adf-empty-list__any-files-here-to-add"> {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}} </div>
</div>
</div>
</adf-task-attachment-list>
</adf-upload-drag-area>
<adf-create-task-attachment
*ngIf="!isCompletedTask()"
[taskId]="taskId"
(success)="onFileUploadComplete($event)">
</adf-create-task-attachment>
</div>
</div>
<div *ngIf="fileShowed">
<adf-viewer
[(showViewer)]="fileShowed"
[blobFile]="content"
[displayName]="contentName"
[overlayMode]="true">
</adf-viewer>
</div>

View File

@ -20,15 +20,15 @@ import { ProcessUploadService, TaskListService, TaskAttachmentListComponent } fr
import { UploadService } from '@alfresco/adf-core'; import { UploadService } from '@alfresco/adf-core';
@Component({ @Component({
selector: 'activiti-task-attachments', selector: 'app-task-attachments',
templateUrl: './activiti-task-attachments.component.html', templateUrl: './task-attachments.component.html',
styleUrls: ['./activiti-task-attachments.component.css'], styleUrls: ['./task-attachments.component.css'],
providers: [ providers: [
{ provide: UploadService, useClass: ProcessUploadService } { provide: UploadService, useClass: ProcessUploadService }
] ]
}) })
export class ActivitiTaskAttachmentsComponent implements OnInit, OnChanges { export class TaskAttachmentsComponent implements OnInit, OnChanges {
@Input() @Input()
taskId: string; taskId: string;

View File

@ -22,7 +22,7 @@ import { AppConfigService, AlfrescoApiService, EcmModelService, LogService,
import { Observable } from 'rxjs/Observable'; import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject'; import { Subject } from 'rxjs/Subject';
interface ActivitiData { interface ProcessServiceData {
rest: { rest: {
fields: Array<{ fields: Array<{
processId?: string, processId?: string,
@ -39,7 +39,7 @@ interface ActivitiData {
@Injectable() @Injectable()
export class InMemoryFormService extends FormService { export class InMemoryFormService extends FormService {
private data: ActivitiData; private data: ProcessServiceData;
executeOutcome = new Subject<FormOutcomeEvent>(); executeOutcome = new Subject<FormOutcomeEvent>();
@ -48,7 +48,7 @@ export class InMemoryFormService extends FormService {
apiService: AlfrescoApiService, apiService: AlfrescoApiService,
protected logService: LogService) { protected logService: LogService) {
super(ecmModelService, apiService, logService); super(ecmModelService, apiService, logService);
this.data = appConfig.get<ActivitiData>('activiti'); this.data = appConfig.get<ProcessServiceData>('activiti');
} }
/** @override */ /** @override */

View File

@ -100,7 +100,7 @@
], ],
"directive-selector": [true, "attribute", "app", "camelCase"], "directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "adf", "kebab-case"], "component-selector": [true, "element", "app", "kebab-case"],
"use-input-property-decorator": true, "use-input-property-decorator": true,
"use-output-property-decorator": true, "use-output-property-decorator": true,
"use-host-property-decorator": true, "use-host-property-decorator": true,