mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
[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:
committed by
Eugenio Romano
parent
729270b138
commit
4d9591c76c
@@ -44,8 +44,8 @@
|
||||
<!-- Custom column definition demo -->
|
||||
|
||||
<data-columns>
|
||||
<data-column key="name" title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_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="name" title="{{'ADF_TASK_LIST.PROPERTIES.NAME' | translate}}" class="full-width name-column"></data-column>
|
||||
<data-column key="created" title="{{'ADF_TASK_LIST.PROPERTIES.CREATED' | translate}}" class="hidden"></data-column>
|
||||
</data-columns>
|
||||
|
||||
</adf-tasklist>
|
||||
|
@@ -34,5 +34,5 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-container" *ngIf="isEmpty()">
|
||||
{{ 'APPS.NONE' | translate }}
|
||||
{{ 'ADF_TASK_LIST.APPS.NONE' | translate }}
|
||||
</div>
|
||||
|
@@ -34,7 +34,7 @@ export class AppsListComponent implements OnInit {
|
||||
public static LAYOUT_LIST: string = 'LIST';
|
||||
public static LAYOUT_GRID: string = 'GRID';
|
||||
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_ICON: string = 'glyphicon-asterisk';
|
||||
public static DEFAULT_TASKS_APP_MATERIAL_ICON: string = 'favorite_border';
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<div class="adf-checklist-control">
|
||||
<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-list>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
</div>
|
||||
<div *ngIf="checklist?.length === 0" id="checklist-none-message">
|
||||
{{ 'TASK_DETAILS.CHECKLIST.NONE' | translate }}
|
||||
{{ 'ADF_TASK_LIST.DETAILS.CHECKLIST.NONE' | translate }}
|
||||
</div>
|
||||
|
||||
<ng-template #dialog>
|
||||
|
@@ -69,7 +69,7 @@ describe('ChecklistComponent', () => {
|
||||
|
||||
it('should show no checklist message', () => {
|
||||
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', () => {
|
||||
@@ -247,7 +247,7 @@ describe('ChecklistComponent', () => {
|
||||
fixture.whenStable().then(() => {
|
||||
fixture.detectChanges();
|
||||
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');
|
||||
});
|
||||
}));
|
||||
|
||||
|
@@ -3,7 +3,7 @@
|
||||
(rowClick)="selectComment($event)" *ngIf="hasComments()">
|
||||
|
||||
<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">
|
||||
<div id="comment-user-icon"
|
||||
class="adf-comment-img-container">
|
||||
@@ -17,7 +17,7 @@
|
||||
</div>
|
||||
</ng-template>
|
||||
</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">
|
||||
<div class="adf-comment-contents">
|
||||
<div id="comment-user" class="adf-comment-user-name">
|
||||
|
@@ -1,10 +1,10 @@
|
||||
<div class="adf-comments-container">
|
||||
<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 class="adf-comments-input-container" *ngIf="!isReadOnly()">
|
||||
<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>
|
||||
</div>
|
||||
|
||||
|
@@ -119,7 +119,7 @@ describe('CommentsComponent', () => {
|
||||
fixture.whenStable().then(() => {
|
||||
fixture.detectChanges();
|
||||
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');
|
||||
});
|
||||
});
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<ng-content select="[people-search-title]"></ng-content>
|
||||
</div>
|
||||
<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>
|
||||
<div class="search-list-container" id="search-people-list" *ngIf="hasUsers()">
|
||||
<adf-people-list
|
||||
@@ -29,7 +29,7 @@
|
||||
</div>
|
||||
<div class="search-list-action-container">
|
||||
<button mat-button type="button" id="close-people-search" (click)="closeSearchList()">
|
||||
{{'PEOPLE.DIALOG_CLOSE' | translate }}
|
||||
{{'ADF_TASK_LIST.PEOPLE.DIALOG_CLOSE' | translate }}
|
||||
</button>
|
||||
<button mat-button type="button" id="add-people" (click)="involveUserAndClose()">
|
||||
<ng-content select="[people-search-action-label]"></ng-content>
|
||||
|
@@ -2,10 +2,10 @@
|
||||
<div mat-card-content class="assignment-top-container-content">
|
||||
<div class="assignment-header">
|
||||
<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 *ngIf="!hasPeople()" class="assigment-count" id="no-people-label">
|
||||
{{ 'TASK_DETAILS.PEOPLE.NONE' | translate }}
|
||||
{{ 'ADF_TASK_LIST.DETAILS.PEOPLE.NONE' | translate }}
|
||||
</div>
|
||||
<div *ngIf="isEditMode()" class="add-people" (click)="onAddAssignement()">
|
||||
<mat-icon class="adf-add-person-icon">person_add</mat-icon>
|
||||
@@ -17,8 +17,8 @@
|
||||
(success)="involveUser($event)"
|
||||
(closeSearch)="onCloseSearch()"
|
||||
[results]="peopleSearch$">
|
||||
<ng-container people-search-title>{{ 'TASK_DETAILS.LABELS.ADD_PEOPLE' | translate }}</ng-container>
|
||||
<ng-container people-search-action-label>{{ 'PEOPLE.ADD_USER' | translate }}</ng-container>
|
||||
<ng-container people-search-title>{{ 'ADF_TASK_LIST.DETAILS.LABELS.ADD_PEOPLE' | translate }}</ng-container>
|
||||
<ng-container people-search-action-label>{{ 'ADF_TASK_LIST.PEOPLE.ADD_USER' | translate }}</ng-container>
|
||||
</adf-people-search>
|
||||
</div>
|
||||
<div class="assignment-list-container" id="assignment-people-list" *ngIf="hasPeople()">
|
||||
|
@@ -97,7 +97,7 @@ describe('PeopleComponent', () => {
|
||||
fixture.whenStable()
|
||||
.then(() => {
|
||||
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');
|
||||
});
|
||||
});
|
||||
|
||||
|
@@ -1,10 +1,10 @@
|
||||
<adf-datatable [rows]="attachments" [actions]="true" [loading]="isLoading" (rowDblClick)="openContent($event)" (showRowActionsMenu)="onShowRowActionsMenu($event)"
|
||||
(executeRowAction)="onExecuteRowAction($event)">
|
||||
<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 class="adf-empty-list-drag_drop">{{'TASK-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-drag_drop">{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | 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 adf-empty-list-footer *ngIf="!isDisabled()">
|
||||
<img class="adf-empty-list__empty_doc_lib" [src]="emptyListImageUrl">
|
||||
|
@@ -196,7 +196,7 @@ describe('TaskAttachmentList', () => {
|
||||
|
||||
fixture.whenStable().then(() => {
|
||||
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.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.detectChanges();
|
||||
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.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');
|
||||
});
|
||||
}));
|
||||
|
||||
|
@@ -1,10 +1,10 @@
|
||||
<div *ngIf="!taskDetails">
|
||||
<ng-template *ngIf="noTaskDetailsTemplateComponent" ngFor [ngForOf]="[data]"
|
||||
[ngForTemplate]="noTaskDetailsTemplateComponent">
|
||||
{{ 'TASK_DETAILS.MESSAGES.NONE' | translate }}
|
||||
{{ 'ADF_TASK_LIST.DETAILS.MESSAGES.NONE' | translate }}
|
||||
</ng-template>
|
||||
<div *ngIf="!noTaskDetailsTemplateComponent">
|
||||
{{ 'TASK_DETAILS.MESSAGES.NONE' | translate }}
|
||||
{{ 'ADF_TASK_LIST.DETAILS.MESSAGES.NONE' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="taskDetails" class="adf-task-details">
|
||||
@@ -46,29 +46,29 @@
|
||||
</adf-form>
|
||||
</div>
|
||||
<div *ngIf="!isAssigned()">
|
||||
{{ 'TASK_DETAILS.MESSAGES.CLAIM' | translate }}
|
||||
{{ 'ADF_TASK_LIST.DETAILS.MESSAGES.CLAIM' | translate }}
|
||||
</div>
|
||||
<button mat-raised-button class="activiti-task-details__action-button"
|
||||
*ngIf="!hasFormKey() && isTaskActive()" (click)="onComplete()">
|
||||
{{ 'TASK_DETAILS.BUTTON.COMPLETE' | translate }}
|
||||
{{ 'ADF_TASK_LIST.DETAILS.BUTTON.COMPLETE' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
<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>
|
||||
<mat-icon (click)="toggleHeaderContent()">clear</mat-icon>
|
||||
</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">
|
||||
<adf-people-search
|
||||
(searchPeople)="searchUser($event)"
|
||||
(success)="assignTaskToUser($event)"
|
||||
(closeSearch)="onCloseSearch()"
|
||||
[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 people-search-action-label>{{ 'PEOPLE.ADD_ASSIGNEE' | translate }}
|
||||
<ng-container people-search-action-label>{{ 'ADF_TASK_LIST.PEOPLE.ADD_ASSIGNEE' | translate }}
|
||||
</ng-container>
|
||||
</adf-people-search>
|
||||
</div>
|
||||
@@ -87,7 +87,7 @@
|
||||
</adf-people>
|
||||
</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-content>
|
||||
<adf-comments #activiticomments
|
||||
@@ -115,12 +115,12 @@
|
||||
</div>
|
||||
|
||||
<ng-template #errorDialog>
|
||||
<h3 matDialogTitle>{{'TASK_DETAILS.ERROR.TITLE'|translate}}</h3>
|
||||
<h3 matDialogTitle>{{'ADF_TASK_LIST.DETAILS.ERROR.TITLE'|translate}}</h3>
|
||||
<mat-dialog-content>
|
||||
<p>{{'TASK_DETAILS.ERROR.DESCRIPTION'|translate}}</p>
|
||||
<p>{{'ADF_TASK_LIST.DETAILS.ERROR.DESCRIPTION'|translate}}</p>
|
||||
</mat-dialog-content>
|
||||
<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>
|
||||
</mat-dialog-actions>
|
||||
</ng-template>
|
||||
|
@@ -117,7 +117,7 @@ describe('TaskDetailsComponent', () => {
|
||||
|
||||
it('should set a placeholder message when taskId not initialised', () => {
|
||||
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', () => {
|
||||
@@ -170,7 +170,7 @@ describe('TaskDetailsComponent', () => {
|
||||
it('should set a placeholder message when taskId changed to null', () => {
|
||||
component.ngOnChanges({'taskId': nullChange});
|
||||
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));
|
||||
component.onComplete();
|
||||
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', () => {
|
||||
|
@@ -4,9 +4,9 @@
|
||||
</mat-card-content>
|
||||
|
||||
<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 *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>
|
||||
</mat-card-actions>
|
||||
</mat-card>
|
||||
|
@@ -80,7 +80,7 @@ describe('TaskHeaderComponent', () => {
|
||||
component.ngOnChanges({});
|
||||
fixture.detectChanges();
|
||||
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', () => {
|
||||
@@ -117,7 +117,7 @@ describe('TaskHeaderComponent', () => {
|
||||
fixture.detectChanges();
|
||||
|
||||
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', () => {
|
||||
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' , () => {
|
||||
@@ -172,7 +172,7 @@ describe('TaskHeaderComponent', () => {
|
||||
component.ngOnChanges({});
|
||||
fixture.detectChanges();
|
||||
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', () => {
|
||||
@@ -188,7 +188,7 @@ describe('TaskHeaderComponent', () => {
|
||||
component.ngOnChanges({});
|
||||
fixture.detectChanges();
|
||||
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', () => {
|
||||
@@ -204,7 +204,7 @@ describe('TaskHeaderComponent', () => {
|
||||
component.ngOnChanges({});
|
||||
fixture.detectChanges();
|
||||
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');
|
||||
});
|
||||
|
||||
});
|
||||
|
@@ -59,89 +59,89 @@ export class TaskHeaderComponent implements OnChanges {
|
||||
this.properties = [
|
||||
new CardViewTextItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.ASSIGNEE',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.ASSIGNEE',
|
||||
value: this.taskDetails.getFullName(),
|
||||
key: 'assignee',
|
||||
default: 'TASK_PROPERTIES.ASSIGNEE_DEFAULT',
|
||||
default: 'ADF_TASK_LIST.PROPERTIES.ASSIGNEE_DEFAULT',
|
||||
clickable: !this.isCompleted()
|
||||
}
|
||||
),
|
||||
new CardViewTextItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.STATUS',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.STATUS',
|
||||
value: this.getTaskStatus(),
|
||||
key: 'status'
|
||||
}
|
||||
),
|
||||
new CardViewTextItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.PRIORITY',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.PRIORITY',
|
||||
value: this.taskDetails.priority,
|
||||
key: 'priority'
|
||||
}
|
||||
),
|
||||
new CardViewDateItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.DUE_DATE',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.DUE_DATE',
|
||||
value: this.taskDetails.dueDate,
|
||||
key: 'dueDate',
|
||||
default: 'TASK_PROPERTIES.DUE_DATE_DEFAULT',
|
||||
default: 'ADF_TASK_LIST.PROPERTIES.DUE_DATE_DEFAULT',
|
||||
editable: true
|
||||
}
|
||||
),
|
||||
new CardViewTextItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.CATEGORY',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.CATEGORY',
|
||||
value: this.taskDetails.category,
|
||||
key: 'category',
|
||||
default: 'TASK_PROPERTIES.CATEGORY_DEFAULT'
|
||||
default: 'ADF_TASK_LIST.PROPERTIES.CATEGORY_DEFAULT'
|
||||
}
|
||||
),
|
||||
new CardViewMapItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.PARENT_NAME',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.PARENT_NAME',
|
||||
value: parentInfoMap, key: 'parentName',
|
||||
default: 'TASK_PROPERTIES.PARENT_NAME_DEFAULT',
|
||||
default: 'ADF_TASK_LIST.PROPERTIES.PARENT_NAME_DEFAULT',
|
||||
clickable: true
|
||||
}
|
||||
),
|
||||
new CardViewTextItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.CREATED_BY',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.CREATED_BY',
|
||||
value: this.taskDetails.getFullName(),
|
||||
key: 'created-by'
|
||||
}
|
||||
),
|
||||
new CardViewDateItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.CREATED',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.CREATED',
|
||||
value: this.taskDetails.created,
|
||||
key: 'created'
|
||||
}
|
||||
),
|
||||
new CardViewTextItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.ID',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.ID',
|
||||
value: this.taskDetails.id,
|
||||
key: 'id'
|
||||
}
|
||||
),
|
||||
new CardViewTextItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.DESCRIPTION',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.DESCRIPTION',
|
||||
value: this.taskDetails.description,
|
||||
key: 'description',
|
||||
default: 'TASK_PROPERTIES.DESCRIPTION_DEFAULT',
|
||||
default: 'ADF_TASK_LIST.PROPERTIES.DESCRIPTION_DEFAULT',
|
||||
multiline: true,
|
||||
editable: true
|
||||
}
|
||||
),
|
||||
new CardViewTextItemModel(
|
||||
{
|
||||
label: 'TASK_PROPERTIES.FORM_NAME',
|
||||
label: 'ADF_TASK_LIST.PROPERTIES.FORM_NAME',
|
||||
value: this.formName,
|
||||
key: 'formName',
|
||||
default: 'TASK_PROPERTIES.FORM_NAME_DEFAULT'
|
||||
default: 'ADF_TASK_LIST.PROPERTIES.FORM_NAME_DEFAULT'
|
||||
}
|
||||
)
|
||||
];
|
||||
|
@@ -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>
|
||||
<adf-datatable
|
||||
@@ -24,7 +24,7 @@
|
||||
<!--Add your custom empty template here-->
|
||||
<ng-template>
|
||||
<div class="no-content-message">
|
||||
{{ 'TASK_LIST.MESSAGES.NONE' | translate }}
|
||||
{{ 'ADF_TASK_LIST.LIST.MESSAGES.NONE' | translate }}
|
||||
</div>
|
||||
</ng-template>
|
||||
</no-content-template>
|
||||
|
@@ -103,8 +103,8 @@ export class TaskListComponent implements OnChanges, OnInit, AfterContentInit {
|
||||
isStreamLoaded = false;
|
||||
|
||||
private defaultSchemaColumn: DataColumn[] = [
|
||||
{ type: 'text', key: 'name', title: 'Name', cssClass: 'full-width name-column', sortable: true },
|
||||
{ type: 'text', key: 'created', title: 'Created', cssClass: 'hidden', sortable: true }
|
||||
{ type: 'text', key: 'name', title: 'ADF_TASK_LIST.PROPERTIES.NAME', cssClass: 'full-width name-column', sortable: true },
|
||||
{ type: 'text', key: 'created', title: 'ADF_TASK_LIST.PROPERTIES.CREATED', cssClass: 'hidden', sortable: true }
|
||||
];
|
||||
|
||||
constructor(private taskListService: TaskListService) {
|
||||
|
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "Keine Anwendungen gefunden"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Keine Aufgabenliste gefunden"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "Zugewiesener Benutzer",
|
||||
"DUE": "Fällig",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "Schließen"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Kein Aufgabenfilter ausgewählt."
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "Niemand gefunden, der beteiligt werden kann"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "Diese Liste ist leer",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "Keine Dateien verfügbar"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,14 +1,16 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "No apps found",
|
||||
"TASK_APP_NAME": "Task App"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "No task lists found"
|
||||
}
|
||||
},
|
||||
"TASK_PROPERTIES": {
|
||||
"PROPERTIES": {
|
||||
"NAME": "Name",
|
||||
"ASSIGNEE": "Assignee",
|
||||
"ASSIGNEE_DEFAULT": "No assignee",
|
||||
"PRIORITY": "Priority",
|
||||
@@ -27,7 +29,7 @@
|
||||
"FORM_NAME": "Form Name",
|
||||
"FORM_NAME_DEFAULT": "No form"
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"INFO_DRAWER_TITLE": "Activities",
|
||||
"INFO_DRAWER_TAB_ACTIVITY_TITLE": "Activity",
|
||||
@@ -91,7 +93,7 @@
|
||||
"CLOSE": "Close"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "No task filter selected."
|
||||
}
|
||||
@@ -127,7 +129,7 @@
|
||||
"NO_USERS": "Nobody found to involve"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "This list is empty",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -139,4 +141,5 @@
|
||||
"HEADER": "No files are available"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "No se han encontrado aplicaciones"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "No se ha encontrado la lista de tareas"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "Asignado a",
|
||||
"DUE": "Vencimiento",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "Cerrar"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "No se ha seleccionado filtro de tareas."
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "No se ha encontrado nadie a quien involucrar"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "Esta lista está vacía",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "No hay ficheros disponibles"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "Aucune application trouvée"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Aucune liste de tâches trouvée"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "Personne assignée",
|
||||
"DUE": "Echéance",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "Fermer"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Aucun filtre de tâches sélectionné."
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "Aucune personne à impliquer trouvée"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "Cette liste est vide",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "Aucun fichier disponible"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,14 +1,15 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "Nessuna applicazione trovata",
|
||||
"TASK_APP_NAME": "I miei compiti"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Nessun elenco compiti trovato"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "Assegnatario",
|
||||
"DUE": "Scadenza",
|
||||
@@ -78,7 +79,7 @@
|
||||
"CLOSE": "Chiudi"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Nessun filtro compito selezionato."
|
||||
}
|
||||
@@ -114,7 +115,7 @@
|
||||
"NO_USERS": "Nessun utente trovato da coinvolgere"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "Questo elenco è vuoto",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -126,4 +127,5 @@
|
||||
"HEADER": "Nessun file disponibile"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "アプリが見つかりません"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "タスクリストが見つかりません"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "担当者",
|
||||
"DUE": "期限",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "閉じる"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "タスクのフィルタが選択されていません。"
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "タスクに関わっているメンバーが見つかりません"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "このリストは空です",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "使用できるファイルがありません"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "Ingen apper funnet"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Ingen oppgaveliste funnet"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "Tilordnet",
|
||||
"DUE": "Forfaller",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "Lukk"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Ingen oppgavefilter valgt."
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "Ingen funnet å involvere"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "Denne listen er tom",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "Ingen tilgjengelige filer"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "Geen apps gevonden"
|
||||
},
|
||||
@@ -7,7 +8,7 @@
|
||||
"NONE": "Geen takenlijst gevonden"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "Toegewezen persoon",
|
||||
"DUE": "Vervalt",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "Sluiten"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Geen taakfilter geselecteerd."
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "Niemand gevonden om te betrekken"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "Deze lijst is leeg",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "Er zijn geen bestanden beschikbaar"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "Nenhum aplicativo encontrado"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Nenhuma lista de tarefas encontrada"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "Destinatário",
|
||||
"DUE": "Vencimento",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "Fechar"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Nenhum filtro de tarefa selecionado."
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "Ninguém para envolver"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "Esta lista está vazia",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "Nenhum arquivo disponível"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "Приложения не найдены"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Не найдено ни одного списка задач"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "Исполнитель",
|
||||
"DUE": "Срок",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "Закрыть"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "Фильтр задач не выбран."
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "Участвующие лица не найдены"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "Этот список пуст",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "Нет файлов"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"ADF_TASK_LIST": {
|
||||
"APPS": {
|
||||
"NONE": "未找到应用程序"
|
||||
},
|
||||
"TASK_LIST": {
|
||||
"LIST": {
|
||||
"MESSAGES": {
|
||||
"NONE": "未找到任务列表"
|
||||
}
|
||||
},
|
||||
"TASK_DETAILS": {
|
||||
"DETAILS": {
|
||||
"LABELS": {
|
||||
"ASSIGNEE": "被指派者",
|
||||
"DUE": "截止时间",
|
||||
@@ -66,7 +67,7 @@
|
||||
"CLOSE": "关闭"
|
||||
}
|
||||
},
|
||||
"TASK_FILTERS": {
|
||||
"FILTERS": {
|
||||
"MESSAGES": {
|
||||
"NONE": "未选择任务过滤器。"
|
||||
}
|
||||
@@ -102,7 +103,7 @@
|
||||
"NO_USERS": "没找到涉及的人员"
|
||||
}
|
||||
},
|
||||
"TASK-ATTACHMENT": {
|
||||
"ATTACHMENT": {
|
||||
"EMPTY": {
|
||||
"HEADER": "此列表为空",
|
||||
"DRAG-AND-DROP": {
|
||||
@@ -114,4 +115,5 @@
|
||||
"HEADER": "没有可用文件"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user