mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
[ADF-2005] Cannot view document in tasklist attachment list (#2701)
This commit is contained in:
parent
9bc99665ef
commit
bc48a3923e
@ -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,
|
||||||
|
@ -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
|
||||||
|
@ -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>
|
|
@ -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) {
|
||||||
|
@ -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) {
|
||||||
}
|
}
|
@ -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 {
|
||||||
|
|
@ -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']
|
||||||
})
|
})
|
@ -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>
|
||||||
|
|
@ -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;
|
||||||
});
|
});
|
||||||
}
|
}
|
@ -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"
|
@ -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;
|
||||||
}
|
}
|
@ -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');
|
@ -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;
|
@ -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>
|
@ -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;
|
@ -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 */
|
||||||
|
@ -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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user