[ADF-1781] Task List - the default columns must be localisable (#2517)

* Rename processlist.component.ts to process-list.component.ts
Rename processlist.component.md to process-list.component.md

* Add a root scope ADF_TASK_LIST into the json file
Remove the hardcoded string from the component and use keys
Refactoring json structure
This commit is contained in:
Maurizio Vitale
2017-10-20 17:44:29 +02:00
committed by Eugenio Romano
parent 729270b138
commit 4d9591c76c
31 changed files with 1361 additions and 1338 deletions

View File

@@ -44,8 +44,8 @@
<!-- Custom column definition demo --> <!-- Custom column definition demo -->
<data-columns> <data-columns>
<data-column key="name" title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}" class="full-width name-column"></data-column> <data-column key="name" title="{{'ADF_TASK_LIST.PROPERTIES.NAME' | translate}}" class="full-width name-column"></data-column>
<data-column key="created" title="{{'DOCUMENT_LIST.COLUMNS.CREATED_BY' | translate}}" class="hidden"></data-column> <data-column key="created" title="{{'ADF_TASK_LIST.PROPERTIES.CREATED' | translate}}" class="hidden"></data-column>
</data-columns> </data-columns>
</adf-tasklist> </adf-tasklist>

View File

@@ -34,5 +34,5 @@
</div> </div>
</div> </div>
<div class="menu-container" *ngIf="isEmpty()"> <div class="menu-container" *ngIf="isEmpty()">
{{ 'APPS.NONE' | translate }} {{ 'ADF_TASK_LIST.APPS.NONE' | translate }}
</div> </div>

View File

@@ -34,7 +34,7 @@ export class AppsListComponent implements OnInit {
public static LAYOUT_LIST: string = 'LIST'; public static LAYOUT_LIST: string = 'LIST';
public static LAYOUT_GRID: string = 'GRID'; public static LAYOUT_GRID: string = 'GRID';
public static DEFAULT_TASKS_APP: string = 'tasks'; public static DEFAULT_TASKS_APP: string = 'tasks';
public static DEFAULT_TASKS_APP_NAME: string = 'APPS.TASK_APP_NAME'; public static DEFAULT_TASKS_APP_NAME: string = 'ADF_TASK_LIST.APPS.TASK_APP_NAME';
public static DEFAULT_TASKS_APP_THEME: string = 'theme-2'; public static DEFAULT_TASKS_APP_THEME: string = 'theme-2';
public static DEFAULT_TASKS_APP_ICON: string = 'glyphicon-asterisk'; public static DEFAULT_TASKS_APP_ICON: string = 'glyphicon-asterisk';
public static DEFAULT_TASKS_APP_MATERIAL_ICON: string = 'favorite_border'; public static DEFAULT_TASKS_APP_MATERIAL_ICON: string = 'favorite_border';

View File

@@ -1,6 +1,6 @@
<div class="adf-checklist-control"> <div class="adf-checklist-control">
<mat-chip-list id="checklist-label"> <mat-chip-list id="checklist-label">
<span class="activiti-label">{{ 'TASK_DETAILS.LABELS.CHECKLIST' | translate }}</span> <span class="activiti-label">{{ 'ADF_TASK_LIST.DETAILS.LABELS.CHECKLIST' | translate }}</span>
<mat-chip class="adf-process-badge" color="accent" selected="true">{{checklist?.length}}</mat-chip> <mat-chip class="adf-process-badge" color="accent" selected="true">{{checklist?.length}}</mat-chip>
</mat-chip-list> </mat-chip-list>
@@ -22,7 +22,7 @@
</div> </div>
<div *ngIf="checklist?.length === 0" id="checklist-none-message"> <div *ngIf="checklist?.length === 0" id="checklist-none-message">
{{ 'TASK_DETAILS.CHECKLIST.NONE' | translate }} {{ 'ADF_TASK_LIST.DETAILS.CHECKLIST.NONE' | translate }}
</div> </div>
<ng-template #dialog> <ng-template #dialog>

View File

@@ -69,7 +69,7 @@ describe('ChecklistComponent', () => {
it('should show no checklist message', () => { it('should show no checklist message', () => {
expect(element.querySelector('#checklist-none-message')).not.toBeNull(); expect(element.querySelector('#checklist-none-message')).not.toBeNull();
expect(element.querySelector('#checklist-none-message').textContent).toContain('TASK_DETAILS.CHECKLIST.NONE'); expect(element.querySelector('#checklist-none-message').textContent).toContain('ADF_TASK_LIST.DETAILS.CHECKLIST.NONE');
}); });
describe('when is readonly mode', () => { describe('when is readonly mode', () => {
@@ -247,7 +247,7 @@ describe('ChecklistComponent', () => {
fixture.whenStable().then(() => { fixture.whenStable().then(() => {
fixture.detectChanges(); fixture.detectChanges();
expect(element.querySelector('#checklist-none-message')).not.toBeNull(); expect(element.querySelector('#checklist-none-message')).not.toBeNull();
expect(element.querySelector('#checklist-none-message').textContent).toContain('TASK_DETAILS.CHECKLIST.NONE'); expect(element.querySelector('#checklist-none-message').textContent).toContain('ADF_TASK_LIST.DETAILS.CHECKLIST.NONE');
}); });
})); }));

View File

@@ -3,7 +3,7 @@
(rowClick)="selectComment($event)" *ngIf="hasComments()"> (rowClick)="selectComment($event)" *ngIf="hasComments()">
<data-columns> <data-columns>
<data-column key="createdBy" title="{{'TASK_DETAILS.COMMENTS.CREATED_BY_HEADER' | translate }}"> <data-column key="createdBy" title="{{'ADF_TASK_LIST.DETAILS.COMMENTS.CREATED_BY_HEADER' | translate }}">
<ng-template let-entry="$implicit"> <ng-template let-entry="$implicit">
<div id="comment-user-icon" <div id="comment-user-icon"
class="adf-comment-img-container"> class="adf-comment-img-container">
@@ -17,7 +17,7 @@
</div> </div>
</ng-template> </ng-template>
</data-column> </data-column>
<data-column key="message" title="{{'TASK_DETAILS.COMMENTS.MESSAGE_HEADER' | translate }}"> <data-column key="message" title="{{'ADF_TASK_LIST.DETAILS.COMMENTS.MESSAGE_HEADER' | translate }}">
<ng-template let-entry="$implicit"> <ng-template let-entry="$implicit">
<div class="adf-comment-contents"> <div class="adf-comment-contents">
<div id="comment-user" class="adf-comment-user-name"> <div id="comment-user" class="adf-comment-user-name">

View File

@@ -1,10 +1,10 @@
<div class="adf-comments-container"> <div class="adf-comments-container">
<div id="comment-header" class="adf-comments-header"> <div id="comment-header" class="adf-comments-header">
{{'TASK_DETAILS.COMMENTS.HEADER' | translate: { count: comments?.length} }} {{'ADF_TASK_LIST.DETAILS.COMMENTS.HEADER' | translate: { count: comments?.length} }}
</div> </div>
<div class="adf-comments-input-container" *ngIf="!isReadOnly()"> <div class="adf-comments-input-container" *ngIf="!isReadOnly()">
<mat-form-field class="adf-full-width"> <mat-form-field class="adf-full-width">
<input matInput id="comment-input" placeholder="{{'TASK_DETAILS.COMMENTS.ADD' | translate}}" [(ngModel)]="message" (keyup.enter)="add()" (keyup.esc)="clear()"> <input matInput id="comment-input" placeholder="{{'ADF_TASK_LIST.DETAILS.COMMENTS.ADD' | translate}}" [(ngModel)]="message" (keyup.enter)="add()" (keyup.esc)="clear()">
</mat-form-field> </mat-form-field>
</div> </div>

View File

@@ -119,7 +119,7 @@ describe('CommentsComponent', () => {
fixture.whenStable().then(() => { fixture.whenStable().then(() => {
fixture.detectChanges(); fixture.detectChanges();
let element = fixture.nativeElement.querySelector('#comment-header'); let element = fixture.nativeElement.querySelector('#comment-header');
expect(element.innerText).toBe('TASK_DETAILS.COMMENTS.HEADER'); expect(element.innerText).toBe('ADF_TASK_LIST.DETAILS.COMMENTS.HEADER');
}); });
}); });

View File

@@ -2,7 +2,7 @@
<ng-content select="[people-search-title]"></ng-content> <ng-content select="[people-search-title]"></ng-content>
</div> </div>
<mat-form-field class="search-text-container"> <mat-form-field class="search-text-container">
<input matInput placeholder="{{'PEOPLE.SEARCH_USER'|translate}}" type="text" id="userSearchText" [value]="" [formControl]="searchUser"> <input matInput placeholder="{{'ADF_TASK_LIST.PEOPLE.SEARCH_USER'|translate}}" type="text" id="userSearchText" [value]="" [formControl]="searchUser">
</mat-form-field> </mat-form-field>
<div class="search-list-container" id="search-people-list" *ngIf="hasUsers()"> <div class="search-list-container" id="search-people-list" *ngIf="hasUsers()">
<adf-people-list <adf-people-list
@@ -29,7 +29,7 @@
</div> </div>
<div class="search-list-action-container"> <div class="search-list-action-container">
<button mat-button type="button" id="close-people-search" (click)="closeSearchList()"> <button mat-button type="button" id="close-people-search" (click)="closeSearchList()">
{{'PEOPLE.DIALOG_CLOSE' | translate }} {{'ADF_TASK_LIST.PEOPLE.DIALOG_CLOSE' | translate }}
</button> </button>
<button mat-button type="button" id="add-people" (click)="involveUserAndClose()"> <button mat-button type="button" id="add-people" (click)="involveUserAndClose()">
<ng-content select="[people-search-action-label]"></ng-content> <ng-content select="[people-search-action-label]"></ng-content>

View File

@@ -2,10 +2,10 @@
<div mat-card-content class="assignment-top-container-content"> <div mat-card-content class="assignment-top-container-content">
<div class="assignment-header"> <div class="assignment-header">
<div *ngIf="hasPeople()" class="assigment-count" id="people-title"> <div *ngIf="hasPeople()" class="assigment-count" id="people-title">
{{ 'TASK_DETAILS.LABELS.PEOPLE' | translate }} {{ ' (' + people.length + ')' }} {{ 'ADF_TASK_LIST.DETAILS.LABELS.PEOPLE' | translate }} {{ ' (' + people.length + ')' }}
</div> </div>
<div *ngIf="!hasPeople()" class="assigment-count" id="no-people-label"> <div *ngIf="!hasPeople()" class="assigment-count" id="no-people-label">
{{ 'TASK_DETAILS.PEOPLE.NONE' | translate }} {{ 'ADF_TASK_LIST.DETAILS.PEOPLE.NONE' | translate }}
</div> </div>
<div *ngIf="isEditMode()" class="add-people" (click)="onAddAssignement()"> <div *ngIf="isEditMode()" class="add-people" (click)="onAddAssignement()">
<mat-icon class="adf-add-person-icon">person_add</mat-icon> <mat-icon class="adf-add-person-icon">person_add</mat-icon>
@@ -17,8 +17,8 @@
(success)="involveUser($event)" (success)="involveUser($event)"
(closeSearch)="onCloseSearch()" (closeSearch)="onCloseSearch()"
[results]="peopleSearch$"> [results]="peopleSearch$">
<ng-container people-search-title>{{ 'TASK_DETAILS.LABELS.ADD_PEOPLE' | translate }}</ng-container> <ng-container people-search-title>{{ 'ADF_TASK_LIST.DETAILS.LABELS.ADD_PEOPLE' | translate }}</ng-container>
<ng-container people-search-action-label>{{ 'PEOPLE.ADD_USER' | translate }}</ng-container> <ng-container people-search-action-label>{{ 'ADF_TASK_LIST.PEOPLE.ADD_USER' | translate }}</ng-container>
</adf-people-search> </adf-people-search>
</div> </div>
<div class="assignment-list-container" id="assignment-people-list" *ngIf="hasPeople()"> <div class="assignment-list-container" id="assignment-people-list" *ngIf="hasPeople()">

View File

@@ -97,7 +97,7 @@ describe('PeopleComponent', () => {
fixture.whenStable() fixture.whenStable()
.then(() => { .then(() => {
expect(element.querySelector('#no-people-label')).not.toBeNull(); expect(element.querySelector('#no-people-label')).not.toBeNull();
expect(element.querySelector('#no-people-label').textContent).toContain('TASK_DETAILS.PEOPLE.NONE'); expect(element.querySelector('#no-people-label').textContent).toContain('ADF_TASK_LIST.DETAILS.PEOPLE.NONE');
}); });
}); });

View File

@@ -1,10 +1,10 @@
<adf-datatable [rows]="attachments" [actions]="true" [loading]="isLoading" (rowDblClick)="openContent($event)" (showRowActionsMenu)="onShowRowActionsMenu($event)" <adf-datatable [rows]="attachments" [actions]="true" [loading]="isLoading" (rowDblClick)="openContent($event)" (showRowActionsMenu)="onShowRowActionsMenu($event)"
(executeRowAction)="onExecuteRowAction($event)"> (executeRowAction)="onExecuteRowAction($event)">
<adf-empty-list *ngIf="isEmpty()"> <adf-empty-list *ngIf="isEmpty()">
<div adf-empty-list-header class="adf-empty-list-header"> {{'TASK-ATTACHMENT.EMPTY.HEADER' | translate}} </div> <div adf-empty-list-header class="adf-empty-list-header"> {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}} </div>
<div adf-empty-list-body *ngIf="!isDisabled()"> <div adf-empty-list-body *ngIf="!isDisabled()">
<div class="adf-empty-list-drag_drop">{{'TASK-ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}</div> <div class="adf-empty-list-drag_drop">{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}</div>
<div class="adf-empty-list__any-files-here-to-add"> {{'TASK-ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}} </div> <div class="adf-empty-list__any-files-here-to-add"> {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}} </div>
</div> </div>
<div adf-empty-list-footer *ngIf="!isDisabled()"> <div adf-empty-list-footer *ngIf="!isDisabled()">
<img class="adf-empty-list__empty_doc_lib" [src]="emptyListImageUrl"> <img class="adf-empty-list__empty_doc_lib" [src]="emptyListImageUrl">

View File

@@ -196,7 +196,7 @@ describe('TaskAttachmentList', () => {
fixture.whenStable().then(() => { fixture.whenStable().then(() => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.nativeElement.querySelector('div[adf-empty-list-header]').innerText.trim()).toEqual('TASK-ATTACHMENT.EMPTY.HEADER'); expect(fixture.nativeElement.querySelector('div[adf-empty-list-header]').innerText.trim()).toEqual('ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER');
}); });
})); }));
@@ -212,7 +212,7 @@ describe('TaskAttachmentList', () => {
fixture.whenStable().then(() => { fixture.whenStable().then(() => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.nativeElement.querySelector('adf-empty-list .adf-empty-list-drag_drop').innerText.trim()).toEqual('TASK-ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE'); expect(fixture.nativeElement.querySelector('adf-empty-list .adf-empty-list-drag_drop').innerText.trim()).toEqual('ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE');
}); });
})); }));
@@ -230,7 +230,7 @@ describe('TaskAttachmentList', () => {
fixture.whenStable().then(() => { fixture.whenStable().then(() => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.nativeElement.querySelector('adf-empty-list .adf-empty-list-drag_drop')).toBeNull(); expect(fixture.nativeElement.querySelector('adf-empty-list .adf-empty-list-drag_drop')).toBeNull();
expect(fixture.nativeElement.querySelector('div[adf-empty-list-header]').innerText.trim()).toEqual('TASK-ATTACHMENT.EMPTY.HEADER'); expect(fixture.nativeElement.querySelector('div[adf-empty-list-header]').innerText.trim()).toEqual('ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER');
}); });
})); }));
@@ -247,7 +247,7 @@ describe('TaskAttachmentList', () => {
fixture.whenStable().then(() => { fixture.whenStable().then(() => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.nativeElement.querySelector('div[adf-empty-list-header]').innerText.trim()).toEqual('TASK-ATTACHMENT.EMPTY.HEADER'); expect(fixture.nativeElement.querySelector('div[adf-empty-list-header]').innerText.trim()).toEqual('ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER');
}); });
})); }));

View File

@@ -1,10 +1,10 @@
<div *ngIf="!taskDetails"> <div *ngIf="!taskDetails">
<ng-template *ngIf="noTaskDetailsTemplateComponent" ngFor [ngForOf]="[data]" <ng-template *ngIf="noTaskDetailsTemplateComponent" ngFor [ngForOf]="[data]"
[ngForTemplate]="noTaskDetailsTemplateComponent"> [ngForTemplate]="noTaskDetailsTemplateComponent">
{{ 'TASK_DETAILS.MESSAGES.NONE' | translate }} {{ 'ADF_TASK_LIST.DETAILS.MESSAGES.NONE' | translate }}
</ng-template> </ng-template>
<div *ngIf="!noTaskDetailsTemplateComponent"> <div *ngIf="!noTaskDetailsTemplateComponent">
{{ 'TASK_DETAILS.MESSAGES.NONE' | translate }} {{ 'ADF_TASK_LIST.DETAILS.MESSAGES.NONE' | translate }}
</div> </div>
</div> </div>
<div *ngIf="taskDetails" class="adf-task-details"> <div *ngIf="taskDetails" class="adf-task-details">
@@ -46,29 +46,29 @@
</adf-form> </adf-form>
</div> </div>
<div *ngIf="!isAssigned()"> <div *ngIf="!isAssigned()">
{{ 'TASK_DETAILS.MESSAGES.CLAIM' | translate }} {{ 'ADF_TASK_LIST.DETAILS.MESSAGES.CLAIM' | translate }}
</div> </div>
<button mat-raised-button class="activiti-task-details__action-button" <button mat-raised-button class="activiti-task-details__action-button"
*ngIf="!hasFormKey() && isTaskActive()" (click)="onComplete()"> *ngIf="!hasFormKey() && isTaskActive()" (click)="onComplete()">
{{ 'TASK_DETAILS.BUTTON.COMPLETE' | translate }} {{ 'ADF_TASK_LIST.DETAILS.BUTTON.COMPLETE' | translate }}
</button> </button>
</div> </div>
<div class="adf-task-details-core-sidebar"> <div class="adf-task-details-core-sidebar">
<adf-info-drawer *ngIf="showHeaderContent" title="{{ 'TASK_DETAILS.LABELS.INFO_DRAWER_TITLE' | translate }}" class="adf-task-details-core-sidebar-drawer"> <adf-info-drawer *ngIf="showHeaderContent" title="{{ 'ADF_TASK_LIST.DETAILS.LABELS.INFO_DRAWER_TITLE' | translate }}" class="adf-task-details-core-sidebar-drawer">
<div info-drawer-buttons> <div info-drawer-buttons>
<mat-icon (click)="toggleHeaderContent()">clear</mat-icon> <mat-icon (click)="toggleHeaderContent()">clear</mat-icon>
</div> </div>
<adf-info-drawer-tab label="{{ 'TASK_DETAILS.LABELS.INFO_DRAWER_TAB_DETAILS_TITLE' | translate }}"> <adf-info-drawer-tab label="{{ 'ADF_TASK_LIST.DETAILS.LABELS.INFO_DRAWER_TAB_DETAILS_TITLE' | translate }}">
<div class="assignment-container" *ngIf="showAssignee"> <div class="assignment-container" *ngIf="showAssignee">
<adf-people-search <adf-people-search
(searchPeople)="searchUser($event)" (searchPeople)="searchUser($event)"
(success)="assignTaskToUser($event)" (success)="assignTaskToUser($event)"
(closeSearch)="onCloseSearch()" (closeSearch)="onCloseSearch()"
[results]="peopleSearch$"> [results]="peopleSearch$">
<ng-container people-search-title>{{ 'TASK_DETAILS.LABELS.ADD_ASSIGNEE' | translate }} <ng-container people-search-title>{{ 'ADF_TASK_LIST.DETAILS.LABELS.ADD_ASSIGNEE' | translate }}
</ng-container> </ng-container>
<ng-container people-search-action-label>{{ 'PEOPLE.ADD_ASSIGNEE' | translate }} <ng-container people-search-action-label>{{ 'ADF_TASK_LIST.PEOPLE.ADD_ASSIGNEE' | translate }}
</ng-container> </ng-container>
</adf-people-search> </adf-people-search>
</div> </div>
@@ -87,7 +87,7 @@
</adf-people> </adf-people>
</adf-info-drawer-tab> </adf-info-drawer-tab>
<adf-info-drawer-tab label="{{ 'TASK_DETAILS.LABELS.INFO_DRAWER_TAB_ACTIVITY_TITLE' | translate }}"> <adf-info-drawer-tab label="{{ 'ADF_TASK_LIST.DETAILS.LABELS.INFO_DRAWER_TAB_ACTIVITY_TITLE' | translate }}">
<mat-card *ngIf="showComments"> <mat-card *ngIf="showComments">
<mat-card-content> <mat-card-content>
<adf-comments #activiticomments <adf-comments #activiticomments
@@ -115,12 +115,12 @@
</div> </div>
<ng-template #errorDialog> <ng-template #errorDialog>
<h3 matDialogTitle>{{'TASK_DETAILS.ERROR.TITLE'|translate}}</h3> <h3 matDialogTitle>{{'ADF_TASK_LIST.DETAILS.ERROR.TITLE'|translate}}</h3>
<mat-dialog-content> <mat-dialog-content>
<p>{{'TASK_DETAILS.ERROR.DESCRIPTION'|translate}}</p> <p>{{'ADF_TASK_LIST.DETAILS.ERROR.DESCRIPTION'|translate}}</p>
</mat-dialog-content> </mat-dialog-content>
<mat-dialog-actions> <mat-dialog-actions>
<button mat-button type="button" (click)="closeErrorDialog()">{{'TASK_DETAILS.ERROR.CLOSE'|translate}} <button mat-button type="button" (click)="closeErrorDialog()">{{'ADF_TASK_LIST.DETAILS.ERROR.CLOSE'|translate}}
</button> </button>
</mat-dialog-actions> </mat-dialog-actions>
</ng-template> </ng-template>

View File

@@ -117,7 +117,7 @@ describe('TaskDetailsComponent', () => {
it('should set a placeholder message when taskId not initialised', () => { it('should set a placeholder message when taskId not initialised', () => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.nativeElement.innerText).toBe('TASK_DETAILS.MESSAGES.NONE'); expect(fixture.nativeElement.innerText).toBe('ADF_TASK_LIST.DETAILS.MESSAGES.NONE');
}); });
it('shoud display a form when the task has an associated form', () => { it('shoud display a form when the task has an associated form', () => {
@@ -170,7 +170,7 @@ describe('TaskDetailsComponent', () => {
it('should set a placeholder message when taskId changed to null', () => { it('should set a placeholder message when taskId changed to null', () => {
component.ngOnChanges({'taskId': nullChange}); component.ngOnChanges({'taskId': nullChange});
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.nativeElement.innerText).toBe('TASK_DETAILS.MESSAGES.NONE'); expect(fixture.nativeElement.innerText).toBe('ADF_TASK_LIST.DETAILS.MESSAGES.NONE');
}); });
}); });
@@ -217,7 +217,7 @@ describe('TaskDetailsComponent', () => {
getTasksSpy.and.returnValue(Observable.of(noDataMock)); getTasksSpy.and.returnValue(Observable.of(noDataMock));
component.onComplete(); component.onComplete();
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.nativeElement.innerText).toBe('TASK_DETAILS.MESSAGES.NONE'); expect(fixture.nativeElement.innerText).toBe('ADF_TASK_LIST.DETAILS.MESSAGES.NONE');
}); });
it('should emit an error event if an error occurs fetching the next task', () => { it('should emit an error event if an error occurs fetching the next task', () => {

View File

@@ -4,9 +4,9 @@
</mat-card-content> </mat-card-content>
<mat-card-actions class="adf-controls"> <mat-card-actions class="adf-controls">
<button *ngIf="isAssignedToMe()" mat-button data-automation-id="header-unclaim-button" id="unclaim-task" (click)="unclaimTask(taskDetails.id)" class="adf-claim-controls">{{ 'TASK_DETAILS.BUTTON.UNCLAIM' | translate }} <button *ngIf="isAssignedToMe()" mat-button data-automation-id="header-unclaim-button" id="unclaim-task" (click)="unclaimTask(taskDetails.id)" class="adf-claim-controls">{{ 'ADF_TASK_LIST.DETAILS.BUTTON.UNCLAIM' | translate }}
</button> </button>
<button *ngIf="!isAssignedToMe()" mat-button data-automation-id="header-claim-button" id="claim-task" (click)="claimTask(taskDetails.id)" class="adf-claim-controls">{{ 'TASK_DETAILS.BUTTON.CLAIM' | translate }} <button *ngIf="!isAssignedToMe()" mat-button data-automation-id="header-claim-button" id="claim-task" (click)="claimTask(taskDetails.id)" class="adf-claim-controls">{{ 'ADF_TASK_LIST.DETAILS.BUTTON.CLAIM' | translate }}
</button> </button>
</mat-card-actions> </mat-card-actions>
</mat-card> </mat-card>

View File

@@ -80,7 +80,7 @@ describe('TaskHeaderComponent', () => {
component.ngOnChanges({}); component.ngOnChanges({});
fixture.detectChanges(); fixture.detectChanges();
let valueEl = fixture.debugElement.query(By.css('[data-automation-id="header-assignee"] .adf-property-value')); let valueEl = fixture.debugElement.query(By.css('[data-automation-id="header-assignee"] .adf-property-value'));
expect(valueEl.nativeElement.innerText).toBe('TASK_PROPERTIES.ASSIGNEE_DEFAULT'); expect(valueEl.nativeElement.innerText).toBe('ADF_TASK_LIST.PROPERTIES.ASSIGNEE_DEFAULT');
}); });
it('should display created-by', () => { it('should display created-by', () => {
@@ -117,7 +117,7 @@ describe('TaskHeaderComponent', () => {
fixture.detectChanges(); fixture.detectChanges();
let claimButton = fixture.debugElement.query(By.css('[data-automation-id="header-claim-button"]')); let claimButton = fixture.debugElement.query(By.css('[data-automation-id="header-claim-button"]'));
expect(claimButton.nativeElement.innerText).toBe('TASK_DETAILS.BUTTON.CLAIM'); expect(claimButton.nativeElement.innerText).toBe('ADF_TASK_LIST.DETAILS.BUTTON.CLAIM');
}); });
}); });
@@ -135,7 +135,7 @@ describe('TaskHeaderComponent', () => {
it('should display the requeue button if there is assignee', () => { it('should display the requeue button if there is assignee', () => {
let unclaimButton = fixture.debugElement.query(By.css('[data-automation-id="header-unclaim-button"]')); let unclaimButton = fixture.debugElement.query(By.css('[data-automation-id="header-unclaim-button"]'));
expect(unclaimButton.nativeElement.innerText).toBe('TASK_DETAILS.BUTTON.UNCLAIM'); expect(unclaimButton.nativeElement.innerText).toBe('ADF_TASK_LIST.DETAILS.BUTTON.UNCLAIM');
}); });
it('should call the service\'s unclaim method on unclaiming' , () => { it('should call the service\'s unclaim method on unclaiming' , () => {
@@ -172,7 +172,7 @@ describe('TaskHeaderComponent', () => {
component.ngOnChanges({}); component.ngOnChanges({});
fixture.detectChanges(); fixture.detectChanges();
let valueEl = fixture.debugElement.query(By.css('[data-automation-id="header-dueDate"] .adf-property-value')); let valueEl = fixture.debugElement.query(By.css('[data-automation-id="header-dueDate"] .adf-property-value'));
expect(valueEl.nativeElement.innerText.trim()).toBe('TASK_PROPERTIES.DUE_DATE_DEFAULT'); expect(valueEl.nativeElement.innerText.trim()).toBe('ADF_TASK_LIST.PROPERTIES.DUE_DATE_DEFAULT');
}); });
it('should display form name', () => { it('should display form name', () => {
@@ -188,7 +188,7 @@ describe('TaskHeaderComponent', () => {
component.ngOnChanges({}); component.ngOnChanges({});
fixture.detectChanges(); fixture.detectChanges();
let valueEl = fixture.debugElement.query(By.css('[data-automation-id="header-parentName"] .adf-property-value')); let valueEl = fixture.debugElement.query(By.css('[data-automation-id="header-parentName"] .adf-property-value'));
expect(valueEl.nativeElement.innerText.trim()).toEqual('TASK_PROPERTIES.PARENT_NAME_DEFAULT'); expect(valueEl.nativeElement.innerText.trim()).toEqual('ADF_TASK_LIST.PROPERTIES.PARENT_NAME_DEFAULT');
}); });
it('should display the Parent name value', () => { it('should display the Parent name value', () => {
@@ -204,7 +204,7 @@ describe('TaskHeaderComponent', () => {
component.ngOnChanges({}); component.ngOnChanges({});
fixture.detectChanges(); fixture.detectChanges();
let valueEl = fixture.debugElement.query(By.css('[data-automation-id="header-formName"] .adf-property-value')); let valueEl = fixture.debugElement.query(By.css('[data-automation-id="header-formName"] .adf-property-value'));
expect(valueEl.nativeElement.innerText).toBe('TASK_PROPERTIES.FORM_NAME_DEFAULT'); expect(valueEl.nativeElement.innerText).toBe('ADF_TASK_LIST.PROPERTIES.FORM_NAME_DEFAULT');
}); });
}); });

View File

@@ -59,89 +59,89 @@ export class TaskHeaderComponent implements OnChanges {
this.properties = [ this.properties = [
new CardViewTextItemModel( new CardViewTextItemModel(
{ {
label: 'TASK_PROPERTIES.ASSIGNEE', label: 'ADF_TASK_LIST.PROPERTIES.ASSIGNEE',
value: this.taskDetails.getFullName(), value: this.taskDetails.getFullName(),
key: 'assignee', key: 'assignee',
default: 'TASK_PROPERTIES.ASSIGNEE_DEFAULT', default: 'ADF_TASK_LIST.PROPERTIES.ASSIGNEE_DEFAULT',
clickable: !this.isCompleted() clickable: !this.isCompleted()
} }
), ),
new CardViewTextItemModel( new CardViewTextItemModel(
{ {
label: 'TASK_PROPERTIES.STATUS', label: 'ADF_TASK_LIST.PROPERTIES.STATUS',
value: this.getTaskStatus(), value: this.getTaskStatus(),
key: 'status' key: 'status'
} }
), ),
new CardViewTextItemModel( new CardViewTextItemModel(
{ {
label: 'TASK_PROPERTIES.PRIORITY', label: 'ADF_TASK_LIST.PROPERTIES.PRIORITY',
value: this.taskDetails.priority, value: this.taskDetails.priority,
key: 'priority' key: 'priority'
} }
), ),
new CardViewDateItemModel( new CardViewDateItemModel(
{ {
label: 'TASK_PROPERTIES.DUE_DATE', label: 'ADF_TASK_LIST.PROPERTIES.DUE_DATE',
value: this.taskDetails.dueDate, value: this.taskDetails.dueDate,
key: 'dueDate', key: 'dueDate',
default: 'TASK_PROPERTIES.DUE_DATE_DEFAULT', default: 'ADF_TASK_LIST.PROPERTIES.DUE_DATE_DEFAULT',
editable: true editable: true
} }
), ),
new CardViewTextItemModel( new CardViewTextItemModel(
{ {
label: 'TASK_PROPERTIES.CATEGORY', label: 'ADF_TASK_LIST.PROPERTIES.CATEGORY',
value: this.taskDetails.category, value: this.taskDetails.category,
key: 'category', key: 'category',
default: 'TASK_PROPERTIES.CATEGORY_DEFAULT' default: 'ADF_TASK_LIST.PROPERTIES.CATEGORY_DEFAULT'
} }
), ),
new CardViewMapItemModel( new CardViewMapItemModel(
{ {
label: 'TASK_PROPERTIES.PARENT_NAME', label: 'ADF_TASK_LIST.PROPERTIES.PARENT_NAME',
value: parentInfoMap, key: 'parentName', value: parentInfoMap, key: 'parentName',
default: 'TASK_PROPERTIES.PARENT_NAME_DEFAULT', default: 'ADF_TASK_LIST.PROPERTIES.PARENT_NAME_DEFAULT',
clickable: true clickable: true
} }
), ),
new CardViewTextItemModel( new CardViewTextItemModel(
{ {
label: 'TASK_PROPERTIES.CREATED_BY', label: 'ADF_TASK_LIST.PROPERTIES.CREATED_BY',
value: this.taskDetails.getFullName(), value: this.taskDetails.getFullName(),
key: 'created-by' key: 'created-by'
} }
), ),
new CardViewDateItemModel( new CardViewDateItemModel(
{ {
label: 'TASK_PROPERTIES.CREATED', label: 'ADF_TASK_LIST.PROPERTIES.CREATED',
value: this.taskDetails.created, value: this.taskDetails.created,
key: 'created' key: 'created'
} }
), ),
new CardViewTextItemModel( new CardViewTextItemModel(
{ {
label: 'TASK_PROPERTIES.ID', label: 'ADF_TASK_LIST.PROPERTIES.ID',
value: this.taskDetails.id, value: this.taskDetails.id,
key: 'id' key: 'id'
} }
), ),
new CardViewTextItemModel( new CardViewTextItemModel(
{ {
label: 'TASK_PROPERTIES.DESCRIPTION', label: 'ADF_TASK_LIST.PROPERTIES.DESCRIPTION',
value: this.taskDetails.description, value: this.taskDetails.description,
key: 'description', key: 'description',
default: 'TASK_PROPERTIES.DESCRIPTION_DEFAULT', default: 'ADF_TASK_LIST.PROPERTIES.DESCRIPTION_DEFAULT',
multiline: true, multiline: true,
editable: true editable: true
} }
), ),
new CardViewTextItemModel( new CardViewTextItemModel(
{ {
label: 'TASK_PROPERTIES.FORM_NAME', label: 'ADF_TASK_LIST.PROPERTIES.FORM_NAME',
value: this.formName, value: this.formName,
key: 'formName', key: 'formName',
default: 'TASK_PROPERTIES.FORM_NAME_DEFAULT' default: 'ADF_TASK_LIST.PROPERTIES.FORM_NAME_DEFAULT'
} }
) )
]; ];

View File

@@ -1,4 +1,4 @@
<div *ngIf="!requestNode">{{ 'TASK_FILTERS.MESSAGES.NONE' | translate }}</div> <div *ngIf="!requestNode">{{ 'ADF_TASK_LIST.FILTERS.MESSAGES.NONE' | translate }}</div>
<div *ngIf="requestNode"> <div *ngIf="requestNode">
<div> <div>
<adf-datatable <adf-datatable
@@ -24,7 +24,7 @@
<!--Add your custom empty template here--> <!--Add your custom empty template here-->
<ng-template> <ng-template>
<div class="no-content-message"> <div class="no-content-message">
{{ 'TASK_LIST.MESSAGES.NONE' | translate }} {{ 'ADF_TASK_LIST.LIST.MESSAGES.NONE' | translate }}
</div> </div>
</ng-template> </ng-template>
</no-content-template> </no-content-template>

View File

@@ -103,8 +103,8 @@ export class TaskListComponent implements OnChanges, OnInit, AfterContentInit {
isStreamLoaded = false; isStreamLoaded = false;
private defaultSchemaColumn: DataColumn[] = [ private defaultSchemaColumn: DataColumn[] = [
{ type: 'text', key: 'name', title: 'Name', cssClass: 'full-width name-column', sortable: true }, { type: 'text', key: 'name', title: 'ADF_TASK_LIST.PROPERTIES.NAME', cssClass: 'full-width name-column', sortable: true },
{ type: 'text', key: 'created', title: 'Created', cssClass: 'hidden', sortable: true } { type: 'text', key: 'created', title: 'ADF_TASK_LIST.PROPERTIES.CREATED', cssClass: 'hidden', sortable: true }
]; ];
constructor(private taskListService: TaskListService) { constructor(private taskListService: TaskListService) {

View File

@@ -1,13 +1,14 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "Keine Anwendungen gefunden" "NONE": "Keine Anwendungen gefunden"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "Keine Aufgabenliste gefunden" "NONE": "Keine Aufgabenliste gefunden"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "Zugewiesener Benutzer", "ASSIGNEE": "Zugewiesener Benutzer",
"DUE": "Fällig", "DUE": "Fällig",
@@ -66,7 +67,7 @@
"CLOSE": "Schließen" "CLOSE": "Schließen"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "Kein Aufgabenfilter ausgewählt." "NONE": "Kein Aufgabenfilter ausgewählt."
} }
@@ -102,7 +103,7 @@
"NO_USERS": "Niemand gefunden, der beteiligt werden kann" "NO_USERS": "Niemand gefunden, der beteiligt werden kann"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "Diese Liste ist leer", "HEADER": "Diese Liste ist leer",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "Keine Dateien verfügbar" "HEADER": "Keine Dateien verfügbar"
} }
} }
}
} }

View File

@@ -1,14 +1,16 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "No apps found", "NONE": "No apps found",
"TASK_APP_NAME": "Task App" "TASK_APP_NAME": "Task App"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "No task lists found" "NONE": "No task lists found"
} }
}, },
"TASK_PROPERTIES": { "PROPERTIES": {
"NAME": "Name",
"ASSIGNEE": "Assignee", "ASSIGNEE": "Assignee",
"ASSIGNEE_DEFAULT": "No assignee", "ASSIGNEE_DEFAULT": "No assignee",
"PRIORITY": "Priority", "PRIORITY": "Priority",
@@ -27,7 +29,7 @@
"FORM_NAME": "Form Name", "FORM_NAME": "Form Name",
"FORM_NAME_DEFAULT": "No form" "FORM_NAME_DEFAULT": "No form"
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"INFO_DRAWER_TITLE": "Activities", "INFO_DRAWER_TITLE": "Activities",
"INFO_DRAWER_TAB_ACTIVITY_TITLE": "Activity", "INFO_DRAWER_TAB_ACTIVITY_TITLE": "Activity",
@@ -91,7 +93,7 @@
"CLOSE": "Close" "CLOSE": "Close"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "No task filter selected." "NONE": "No task filter selected."
} }
@@ -127,7 +129,7 @@
"NO_USERS": "Nobody found to involve" "NO_USERS": "Nobody found to involve"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "This list is empty", "HEADER": "This list is empty",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -139,4 +141,5 @@
"HEADER": "No files are available" "HEADER": "No files are available"
} }
} }
}
} }

View File

@@ -1,13 +1,14 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "No se han encontrado aplicaciones" "NONE": "No se han encontrado aplicaciones"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "No se ha encontrado la lista de tareas" "NONE": "No se ha encontrado la lista de tareas"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "Asignado a", "ASSIGNEE": "Asignado a",
"DUE": "Vencimiento", "DUE": "Vencimiento",
@@ -66,7 +67,7 @@
"CLOSE": "Cerrar" "CLOSE": "Cerrar"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "No se ha seleccionado filtro de tareas." "NONE": "No se ha seleccionado filtro de tareas."
} }
@@ -102,7 +103,7 @@
"NO_USERS": "No se ha encontrado nadie a quien involucrar" "NO_USERS": "No se ha encontrado nadie a quien involucrar"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "Esta lista está vacía", "HEADER": "Esta lista está vacía",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "No hay ficheros disponibles" "HEADER": "No hay ficheros disponibles"
} }
} }
}
} }

View File

@@ -1,13 +1,14 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "Aucune application trouvée" "NONE": "Aucune application trouvée"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "Aucune liste de tâches trouvée" "NONE": "Aucune liste de tâches trouvée"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "Personne assignée", "ASSIGNEE": "Personne assignée",
"DUE": "Echéance", "DUE": "Echéance",
@@ -66,7 +67,7 @@
"CLOSE": "Fermer" "CLOSE": "Fermer"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "Aucun filtre de tâches sélectionné." "NONE": "Aucun filtre de tâches sélectionné."
} }
@@ -102,7 +103,7 @@
"NO_USERS": "Aucune personne à impliquer trouvée" "NO_USERS": "Aucune personne à impliquer trouvée"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "Cette liste est vide", "HEADER": "Cette liste est vide",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "Aucun fichier disponible" "HEADER": "Aucun fichier disponible"
} }
} }
}
} }

View File

@@ -1,14 +1,15 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "Nessuna applicazione trovata", "NONE": "Nessuna applicazione trovata",
"TASK_APP_NAME": "I miei compiti" "TASK_APP_NAME": "I miei compiti"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "Nessun elenco compiti trovato" "NONE": "Nessun elenco compiti trovato"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "Assegnatario", "ASSIGNEE": "Assegnatario",
"DUE": "Scadenza", "DUE": "Scadenza",
@@ -78,7 +79,7 @@
"CLOSE": "Chiudi" "CLOSE": "Chiudi"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "Nessun filtro compito selezionato." "NONE": "Nessun filtro compito selezionato."
} }
@@ -114,7 +115,7 @@
"NO_USERS": "Nessun utente trovato da coinvolgere" "NO_USERS": "Nessun utente trovato da coinvolgere"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "Questo elenco è vuoto", "HEADER": "Questo elenco è vuoto",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -126,4 +127,5 @@
"HEADER": "Nessun file disponibile" "HEADER": "Nessun file disponibile"
} }
} }
}
} }

View File

@@ -1,13 +1,14 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "アプリが見つかりません" "NONE": "アプリが見つかりません"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "タスクリストが見つかりません" "NONE": "タスクリストが見つかりません"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "担当者", "ASSIGNEE": "担当者",
"DUE": "期限", "DUE": "期限",
@@ -66,7 +67,7 @@
"CLOSE": "閉じる" "CLOSE": "閉じる"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "タスクのフィルタが選択されていません。" "NONE": "タスクのフィルタが選択されていません。"
} }
@@ -102,7 +103,7 @@
"NO_USERS": "タスクに関わっているメンバーが見つかりません" "NO_USERS": "タスクに関わっているメンバーが見つかりません"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "このリストは空です", "HEADER": "このリストは空です",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "使用できるファイルがありません" "HEADER": "使用できるファイルがありません"
} }
} }
}
} }

View File

@@ -1,13 +1,14 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "Ingen apper funnet" "NONE": "Ingen apper funnet"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "Ingen oppgaveliste funnet" "NONE": "Ingen oppgaveliste funnet"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "Tilordnet", "ASSIGNEE": "Tilordnet",
"DUE": "Forfaller", "DUE": "Forfaller",
@@ -66,7 +67,7 @@
"CLOSE": "Lukk" "CLOSE": "Lukk"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "Ingen oppgavefilter valgt." "NONE": "Ingen oppgavefilter valgt."
} }
@@ -102,7 +103,7 @@
"NO_USERS": "Ingen funnet å involvere" "NO_USERS": "Ingen funnet å involvere"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "Denne listen er tom", "HEADER": "Denne listen er tom",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "Ingen tilgjengelige filer" "HEADER": "Ingen tilgjengelige filer"
} }
} }
}
} }

View File

@@ -1,4 +1,5 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "Geen apps gevonden" "NONE": "Geen apps gevonden"
}, },
@@ -7,7 +8,7 @@
"NONE": "Geen takenlijst gevonden" "NONE": "Geen takenlijst gevonden"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "Toegewezen persoon", "ASSIGNEE": "Toegewezen persoon",
"DUE": "Vervalt", "DUE": "Vervalt",
@@ -66,7 +67,7 @@
"CLOSE": "Sluiten" "CLOSE": "Sluiten"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "Geen taakfilter geselecteerd." "NONE": "Geen taakfilter geselecteerd."
} }
@@ -102,7 +103,7 @@
"NO_USERS": "Niemand gevonden om te betrekken" "NO_USERS": "Niemand gevonden om te betrekken"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "Deze lijst is leeg", "HEADER": "Deze lijst is leeg",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "Er zijn geen bestanden beschikbaar" "HEADER": "Er zijn geen bestanden beschikbaar"
} }
} }
}
} }

View File

@@ -1,13 +1,14 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "Nenhum aplicativo encontrado" "NONE": "Nenhum aplicativo encontrado"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "Nenhuma lista de tarefas encontrada" "NONE": "Nenhuma lista de tarefas encontrada"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "Destinatário", "ASSIGNEE": "Destinatário",
"DUE": "Vencimento", "DUE": "Vencimento",
@@ -66,7 +67,7 @@
"CLOSE": "Fechar" "CLOSE": "Fechar"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "Nenhum filtro de tarefa selecionado." "NONE": "Nenhum filtro de tarefa selecionado."
} }
@@ -102,7 +103,7 @@
"NO_USERS": "Ninguém para envolver" "NO_USERS": "Ninguém para envolver"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "Esta lista está vazia", "HEADER": "Esta lista está vazia",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "Nenhum arquivo disponível" "HEADER": "Nenhum arquivo disponível"
} }
} }
}
} }

View File

@@ -1,13 +1,14 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "Приложения не найдены" "NONE": "Приложения не найдены"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "Не найдено ни одного списка задач" "NONE": "Не найдено ни одного списка задач"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "Исполнитель", "ASSIGNEE": "Исполнитель",
"DUE": "Срок", "DUE": "Срок",
@@ -66,7 +67,7 @@
"CLOSE": "Закрыть" "CLOSE": "Закрыть"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "Фильтр задач не выбран." "NONE": "Фильтр задач не выбран."
} }
@@ -102,7 +103,7 @@
"NO_USERS": "Участвующие лица не найдены" "NO_USERS": "Участвующие лица не найдены"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "Этот список пуст", "HEADER": "Этот список пуст",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "Нет файлов" "HEADER": "Нет файлов"
} }
} }
}
} }

View File

@@ -1,13 +1,14 @@
{ {
"ADF_TASK_LIST": {
"APPS": { "APPS": {
"NONE": "未找到应用程序" "NONE": "未找到应用程序"
}, },
"TASK_LIST": { "LIST": {
"MESSAGES": { "MESSAGES": {
"NONE": "未找到任务列表" "NONE": "未找到任务列表"
} }
}, },
"TASK_DETAILS": { "DETAILS": {
"LABELS": { "LABELS": {
"ASSIGNEE": "被指派者", "ASSIGNEE": "被指派者",
"DUE": "截止时间", "DUE": "截止时间",
@@ -66,7 +67,7 @@
"CLOSE": "关闭" "CLOSE": "关闭"
} }
}, },
"TASK_FILTERS": { "FILTERS": {
"MESSAGES": { "MESSAGES": {
"NONE": "未选择任务过滤器。" "NONE": "未选择任务过滤器。"
} }
@@ -102,7 +103,7 @@
"NO_USERS": "没找到涉及的人员" "NO_USERS": "没找到涉及的人员"
} }
}, },
"TASK-ATTACHMENT": { "ATTACHMENT": {
"EMPTY": { "EMPTY": {
"HEADER": "此列表为空", "HEADER": "此列表为空",
"DRAG-AND-DROP": { "DRAG-AND-DROP": {
@@ -114,4 +115,5 @@
"HEADER": "没有可用文件" "HEADER": "没有可用文件"
} }
} }
}
} }