diff --git a/docs/doc-list.md b/docs/doc-list.md new file mode 100644 index 000000000..9f55fb879 --- /dev/null +++ b/docs/doc-list.md @@ -0,0 +1,134 @@ +### (3) Document List Layout + +The main area of the application is composed from a number of individual ADF components: + +- [Breadcrumb](https://alfresco.github.io/adf-component-catalog/components/BreadcrumbComponent.html) +- [Toolbar](https://alfresco.github.io/adf-component-catalog/components/ToolbarComponent.html) +- [Document List](https://alfresco.github.io/adf-component-catalog/components/DocumentListComponent.html) +- [Pagination](https://alfresco.github.io/adf-component-catalog/components/PaginationComponent.html) + +The application has six different Document List views which share commonalities between each view and also subtle differences depending on the content being loaded which are explained below. + +#### Personal Files + +Personal Files retrieves all content from the logged in users home area (`/User Homes//` in the repository); +if the user is ‘admin’ who does not have a home folder then the repository root folder is shown. + +Personal Files is the [Files component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/files), +using the [Nodes API](https://api-explorer.alfresco.com/api-explorer/#/nodes). + +#### File Libraries + +File Libraries retrieves all the sites that the user is a member including what type of site it is; public, moderated or private. +File Libraries is the [Libraries component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/libraries), +using the [Sites API](https://api-explorer.alfresco.com/api-explorer/#/sites). + +When a user opens one of their sites then the content for that sites document library is shown. +To display the files and folders from a site (`/Sites//Document Library/`) the [Files component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/files), +using the [Nodes API](https://api-explorer.alfresco.com/api-explorer/#/nodes) is used. + +#### Shared Files + +The Shared Files view aggregates all files that have been shared using the QuickShare feature in the content repository. +The [Shared Files component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/shared-files) +uses the [shared-links API](https://api-explorer.alfresco.com/api-explorer/#/shared-links) +and includes extra columns to display where the file is +[located](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/location-link) +in the content repository and who created the shared link. + +A feature for creating and removing Shared Links will be added in the future. + +#### Recent Files + +The Recent Files view shows all the files that have been modified within the last 30 days by the current user. +The [Recent Files](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/current-user) +component uses the Search API to query SOLR for changes made by the user and includes an extra column to display where the file is +[located](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/location-link) +in the content repository. + +#### Favorites + +The Favorites view shows all files and folders from the content repository that have been marked as a favorite by the current user. +The [Favorites](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/favorites) component uses the +[favorites](https://api-explorer.alfresco.com/api-explorer/#/favorites) API to retrieve all the favorite nodes for the user +and includes an extra column to display where the file is +[located](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/location-link) +in the content repository. + +#### Trash + +The Trash view shows all the items that a user has deleted, admin will see items deleted by all users. +The actions available in this view are Restore and Permanently Delete. +The [Trashcan](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/trashcan) component uses the +[trashcan](https://api-explorer.alfresco.com/api-explorer/#/trashcan) API to retrieve the deleted items +and perform the actions requested by the user and includes an extra column to display where the file is +[located](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/location-link) +in the content repository. + +#### Actions and the Actions Toolbar + +All the views incorporate the [toolbar](https://alfresco.github.io/adf-component-catalog/components/ToolbarComponent.html) +component from the Alfresco Application Development Framework; +apart from the Trash view they all display the following actions when the current user has the necessary permissions, +actions are automatically hidden when the user does not have permission. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActionFileFolder
View + Opens the selected file using the [Preview](https://github.com/Alfresco/alfresco-content-app/tree/development/src/app/components/preview) component, + where the file cannot be displayed natively in a browser a PDF rendition is obtained from the repository. + Not applicable
DownloadDownloads single files to the users computer, when multiple files are selected they are compressed into a ZIP and then downloaded.Folders are automatically compressed into a ZIP and then downloaded to the users computer.
EditNot applicableThe folder name and description can be edited in a dialog.
Favorite + Toggle the favorite mark on or off for files and folders, when multiple items are selected + and one or more are not favorites then the mark will be toggled on. +
Copy + Files and folders can be copied into other locations in the content repository using the + [content-node-selector](https://alfresco.github.io/adf-component-catalog/components/ContentNodeSelectorComponent.html) component; + once the copy action has completed the user is notified and can undo the action (which permanently deletes the copies created). +
Move + Files and folders can be moved into other locations in the content repository using the + [content-node-selector](https://alfresco.github.io/adf-component-catalog/components/ContentNodeSelectorComponent.html) component; + once the move action has completed the user is notified and can undo the action (which moves the items back to the original location). +
Delete + Files and folders can be deleted from their location in the content repository; + once the delete action has completed the user is notified and undo the action (which restores the items from the trash). +
+ +As well as the actions available in the toolbar users can single click an item to select it, +or double click on a file to view it, and a folder to open it. diff --git a/docs/features.md b/docs/features.md index a4f7f0784..0f79504b9 100644 --- a/docs/features.md +++ b/docs/features.md @@ -11,181 +11,9 @@ This application demonstrates how the complexity of Content Management can be si using the Alfresco Application Development Framework to easily and quickly create custom solutions for specific user cases. ## User Interface - layout +There are three main areas of the application controlled by the [Layout component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/layout): +- [(1) Application Header](/header) +- [(2) Side Navigation](/side-nav) +- [(3) Document List](/doc-list) ![](images/features-01.png) - -### Header (1) - -The application [header](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/header) has three main elements. - -Logo & app primary color - logo and color are configurable by updating the -[app.config.json](https://github.com/Alfresco/alfresco-content-app/blob/master/src/app.config.json) file in the root folder of the project, -see [How to change the logo and color](/) and [Application Configuration](/configuration) for more information - -[Search](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/search) - -utilizing the [ADF Search Component](https://github.com/Alfresco/alfresco-ng2-components/tree/master/lib/content-services/search) -the app provides a 'live' search feature, where users can open files and folders directly from the Search API results. - -[Current User](https://github.com/Alfresco/alfresco-content-app/tree/development/src/app/components/current-user) - -displays the user's name, and a menu where users can logout. -Optionally through updating the [app.config.json](https://github.com/Alfresco/alfresco-content-app/blob/master/src/app.config.json) -a language switching menu can be displayed. - -### Side Nav (2) - -The application [side navigation](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/sidenav) has two features; -a button menu and navigation links. - -#### New button - -The New button displays a menu which provides three actions: - -- Create a new folder - provides a dialog which allows the creation of a new folder, the folder name is mandatory and the description is optional. -- Upload a file - invokes the operating system file browser and allows a user to select file(s) to upload into their current location in the content repository. -- Upload a folder - invokes the operating system folder browser and allows a user to select folder(s) to upload to their current location in the content repository. - -When an upload starts the [upload component](https://github.com/Alfresco/alfresco-ng2-components/tree/master/lib/content-services/upload) -is displayed which shows the user the progress of the uploads they have started. -The upload dialog persists on the screen and can be minimised; users are able to continue using the application whilst uploads are in progress -and uploads can be canceled which will stop uploads in progress or permanently delete already completed uploads. - -#### Navigation - -The navigation links are configurable via the [app.config.json](https://github.com/Alfresco/alfresco-content-app/blob/master/src/app.config.json). -Default configuration creates two sections. -See [How to work with the side navigation](/) for more information about configuring the side navigation. - -### Document List Layout (3) - -The main area of the application is composed from a number of individual ADF components: - -- [Breadcrumb](https://alfresco.github.io/adf-component-catalog/components/BreadcrumbComponent.html) -- [Toolbar](https://alfresco.github.io/adf-component-catalog/components/ToolbarComponent.html) -- [Document List](https://alfresco.github.io/adf-component-catalog/components/DocumentListComponent.html) -- [Pagination](https://alfresco.github.io/adf-component-catalog/components/PaginationComponent.html) - -The application has six different Document List views which contain subtle differences depending on the content being loaded. - -#### Personal Files - -Personal Files retrieves all content from the logged in users home area (`/User Homes//` in the repository); -if the user is ‘admin’ who does not have a home folder then the repository root folder is shown. - -Personal Files is the [Files component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/files), -using the [Nodes API](https://api-explorer.alfresco.com/api-explorer/#/nodes). - -#### File Libraries - -File Libraries retrieves all the sites that the user is a member including what type of site it is; public, moderated or private. -File Libraries is the [Libraries component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/libraries), -using the [Sites API](https://api-explorer.alfresco.com/api-explorer/#/sites). - -When a user opens one of their sites then the content for that sites document library is shown. -To display the files and folders from a site (`/Sites//Document Library/`) the [Files component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/files), -using the [Nodes API](https://api-explorer.alfresco.com/api-explorer/#/nodes) is used. - -#### Shared Files - -The Shared Files view aggregates all files that have been shared using the QuickShare feature in the content repository. -The [Shared Files component](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/shared-files) -uses the [shared-links API](https://api-explorer.alfresco.com/api-explorer/#/shared-links) -and includes extra columns to display where the file is -[located](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/location-link) -in the content repository and who created the shared link. - -A feature for creating and removing Shared Links will be added in the future. - -#### Recent Files - -The Recent Files view shows all the files that have been modified within the last 30 days by the current user. -The [Recent Files](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/current-user) -component uses the Search API to query SOLR for changes made by the user and includes an extra column to display where the file is -[located](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/location-link) -in the content repository. - -#### Favorites - -The Favorites view shows all files and folders from the content repository that have been marked as a favorite by the current user. -The [Favorites](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/favorites) component uses the -[favorites](https://api-explorer.alfresco.com/api-explorer/#/favorites) API to retrieve all the favorite nodes for the user -and includes an extra column to display where the file is -[located](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/location-link) -in the content repository. - -#### Trash - -The Trash view shows all the items that a user has deleted, admin will see items deleted by all users. -The actions available in this view are Restore and Permanently Delete. -The [Trashcan](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/trashcan) component uses the -[trashcan](https://api-explorer.alfresco.com/api-explorer/#/trashcan) API to retrieve the deleted items -and perform the actions requested by the user and includes an extra column to display where the file is -[located](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/location-link) -in the content repository. - -#### Actions and the Actions Toolbar - -All the views incorporate the [toolbar](https://alfresco.github.io/adf-component-catalog/components/ToolbarComponent.html) -component from the Alfresco Application Development Framework; -apart from the Trash view they all display the following actions when the current user has the necessary permissions, -actions are automatically hidden when the user does not have permission. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ActionFileFolder
View - Opens the selected file using the [Preview](https://github.com/Alfresco/alfresco-content-app/tree/development/src/app/components/preview) component, - where the file cannot be displayed natively in a browser a PDF rendition is obtained from the repository. - Not applicable
DownloadDownloads single files to the users computer, when multiple files are selected they are compressed into a ZIP and then downloaded.Folders are automatically compressed into a ZIP and then downloaded to the users computer.
EditNot applicableThe folder name and description can be edited in a dialog.
Favorite - Toggle the favorite mark on or off for files and folders, when multiple items are selected - and one or more are not favorites then the mark will be toggled on. -
Copy - Files and folders can be copied into other locations in the content repository using the - [content-node-selector](https://alfresco.github.io/adf-component-catalog/components/ContentNodeSelectorComponent.html) component; - once the copy action has completed the user is notified and can undo the action (which permanently deletes the copies created). -
Move - Files and folders can be moved into other locations in the content repository using the - [content-node-selector](https://alfresco.github.io/adf-component-catalog/components/ContentNodeSelectorComponent.html) component; - once the move action has completed the user is notified and can undo the action (which moves the items back to the original location). -
Delete - Files and folders can be deleted from their location in the content repository; - once the delete action has completed the user is notified and undo the action (which restores the items from the trash). -
- -As well as the actions available in the toolbar users can single click an item to select it, -or double click on a file to view it, and a folder to open it. diff --git a/docs/header.md b/docs/header.md new file mode 100644 index 000000000..c1e88908a --- /dev/null +++ b/docs/header.md @@ -0,0 +1,16 @@ +### (1) Header + +The application [header](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/header) has three main elements. + +Logo & app primary color - logo and color are configurable by updating the +[app.config.json](https://github.com/Alfresco/alfresco-content-app/blob/master/src/app.config.json) file in the root folder of the project, +see [How to change the logo and color](/) and [Application Configuration](/configuration) for more information + +[Search](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/search) - +utilizing the [ADF Search Component](https://github.com/Alfresco/alfresco-ng2-components/tree/master/lib/content-services/search) +the app provides a 'live' search feature, where users can open files and folders directly from the Search API results. + +[Current User](https://github.com/Alfresco/alfresco-content-app/tree/development/src/app/components/current-user) - +displays the user's name, and a menu where users can logout. +Optionally through updating the [app.config.json](https://github.com/Alfresco/alfresco-content-app/blob/master/src/app.config.json) +a language switching menu can be displayed. diff --git a/docs/index.html b/docs/index.html index b462bce7c..747c3688e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -20,7 +20,25 @@ }, { title: 'Features', - path: 'features' + type: 'dropdown', + items: [ + { + title: 'Features Introduction', + path: 'features', + }, + { + title: 'Application Header', + path: 'header' + }, + { + title: 'Side Navigation', + path: 'side-nav' + }, + { + title: 'Document List', + path: 'doc-list' + } + ] }, { title: 'Building', diff --git a/docs/side-nav.md b/docs/side-nav.md new file mode 100644 index 000000000..674788972 --- /dev/null +++ b/docs/side-nav.md @@ -0,0 +1,23 @@ +### (2) Side Nav + +The application [side navigation](https://github.com/Alfresco/alfresco-content-app/tree/master/src/app/components/sidenav) has two features; +a button menu and navigation links. + +#### New button + +The New button displays a menu which provides three actions: + +- Create a new folder - provides a dialog which allows the creation of a new folder, the folder name is mandatory and the description is optional. +- Upload a file - invokes the operating system file browser and allows a user to select file(s) to upload into their current location in the content repository. +- Upload a folder - invokes the operating system folder browser and allows a user to select folder(s) to upload to their current location in the content repository. + +When an upload starts the [upload component](https://github.com/Alfresco/alfresco-ng2-components/tree/master/lib/content-services/upload) +is displayed which shows the user the progress of the uploads they have started. +The upload dialog persists on the screen and can be minimised; users are able to continue using the application whilst uploads are in progress +and uploads can be canceled which will stop uploads in progress or permanently delete already completed uploads. + +#### Navigation + +The navigation links are configurable via the [app.config.json](https://github.com/Alfresco/alfresco-content-app/blob/master/src/app.config.json). +Default configuration creates two sections. +See [How to work with the side navigation](/) for more information about configuring the side navigation. diff --git a/src/app/common/services/node-actions.service.spec.ts b/src/app/common/services/node-actions.service.spec.ts index 618b31841..b804051a3 100644 --- a/src/app/common/services/node-actions.service.spec.ts +++ b/src/app/common/services/node-actions.service.spec.ts @@ -263,7 +263,7 @@ describe('NodeActionsService', () => { const dialog = TestBed.get(MatDialog); spyOn(dialog, 'open').and.callFake((contentNodeSelectorComponent: any, data: any) => { testContentNodeSelectorComponentData = data; - return {}; + return {componentInstance: {}}; }); service.copyNodes([fileToCopy, folderToCopy]); @@ -316,7 +316,7 @@ describe('NodeActionsService', () => { const dialog = TestBed.get(MatDialog); const spyOnDialog = spyOn(dialog, 'open').and.callFake((contentNodeSelectorComponent: any, data: any) => { testContentNodeSelectorComponentData = data; - return {}; + return {componentInstance: {}}; }); service.copyNodes([fileToCopy, folderToCopy]); @@ -343,7 +343,7 @@ describe('NodeActionsService', () => { const dialog = TestBed.get(MatDialog); spyOn(dialog, 'open').and.callFake((contentNodeSelectorComponent: any, data: any) => { testContentNodeSelectorComponentData = data; - return {}; + return {componentInstance: {}}; }); service.copyNodes([{entry: {id: 'entry-id', name: 'entry-name'}}]); @@ -362,7 +362,7 @@ describe('NodeActionsService', () => { const dialog = TestBed.get(MatDialog); spyOn(dialog, 'open').and.callFake((contentNodeSelectorComponent: any, data: any) => { testContentNodeSelectorComponentData = data; - return {}; + return {componentInstance: {}}; }); service.copyNodes([{entry: {id: 'entry-id'}}]); diff --git a/src/app/common/services/node-actions.service.ts b/src/app/common/services/node-actions.service.ts index 239e30066..898df510d 100644 --- a/src/app/common/services/node-actions.service.ts +++ b/src/app/common/services/node-actions.service.ts @@ -27,7 +27,7 @@ import { EventEmitter, Injectable } from '@angular/core'; import { MatDialog } from '@angular/material'; import { Observable, Subject } from 'rxjs/Rx'; -import { AlfrescoApiService, ContentService, NodesApiService, DataColumn } from '@alfresco/adf-core'; +import { AlfrescoApiService, ContentService, NodesApiService, DataColumn, DataSorting } from '@alfresco/adf-core'; import { DocumentListService, ContentNodeSelectorComponent, ContentNodeSelectorComponentData } from '@alfresco/adf-content-services'; import { MinimalNodeEntity, MinimalNodeEntryEntity } from 'alfresco-js-api'; @@ -194,11 +194,23 @@ export class NodeActionsService { select: new EventEmitter() }; - this.dialog.open(ContentNodeSelectorComponent, { + const matDialogRef = this.dialog.open(ContentNodeSelectorComponent, { data, panelClass: 'adf-content-node-selector-dialog', width: '630px' }); + const destinationPicker = matDialogRef.componentInstance; + const initialSiteChanged = destinationPicker.siteChanged; + + destinationPicker.siteChanged = (chosenSite) => { + initialSiteChanged.call(destinationPicker, chosenSite); + + if (chosenSite.guid === '-mysites-') { + destinationPicker.documentList.data.setSorting(new DataSorting('title', 'asc')); + } else { + destinationPicker.documentList.data.setSorting(new DataSorting('name', 'asc')); + } + }; return data.select; } diff --git a/src/app/components/login/login.component.spec.ts b/src/app/components/login/login.component.spec.ts index 9cc027b04..f7b4ab8bc 100644 --- a/src/app/components/login/login.component.spec.ts +++ b/src/app/components/login/login.component.spec.ts @@ -25,6 +25,7 @@ import { RouterTestingModule } from '@angular/router/testing'; import { Router } from '@angular/router'; +import { Location } from '@angular/common'; import { TestBed, async } from '@angular/core/testing'; import { CoreModule, AuthenticationService, UserPreferencesService } from '@alfresco/adf-core'; @@ -36,6 +37,7 @@ describe('LoginComponent', () => { let router; let userPreference; let auth; + let location; beforeEach(async(() => { TestBed.configureTestingModule({ @@ -45,6 +47,9 @@ describe('LoginComponent', () => { ], declarations: [ LoginComponent + ], + providers: [ + Location ] }); @@ -52,6 +57,7 @@ describe('LoginComponent', () => { component = fixture.componentInstance; router = TestBed.get(Router); + location = TestBed.get(Location); auth = TestBed.get(AuthenticationService); userPreference = TestBed.get(UserPreferencesService); })); @@ -60,6 +66,7 @@ describe('LoginComponent', () => { spyOn(userPreference, 'setStoragePrefix'); spyOn(router, 'navigateByUrl'); spyOn(auth, 'getRedirectUrl').and.returnValue('/some-url'); + spyOn(location, 'forward'); }); describe('OnInit()', () => { @@ -67,14 +74,14 @@ describe('LoginComponent', () => { spyOn(auth, 'isEcmLoggedIn').and.returnValue(false); fixture.detectChanges(); - expect(router.navigateByUrl).not.toHaveBeenCalled(); + expect(location.forward).not.toHaveBeenCalled(); }); it('should redirect when user is logged in', () => { spyOn(auth, 'isEcmLoggedIn').and.returnValue(true); fixture.detectChanges(); - expect(router.navigateByUrl).toHaveBeenCalledWith('/some-url'); + expect(location.forward).toHaveBeenCalled(); }); }); diff --git a/src/app/components/login/login.component.ts b/src/app/components/login/login.component.ts index 3486e138f..7c52a8a4d 100644 --- a/src/app/components/login/login.component.ts +++ b/src/app/components/login/login.component.ts @@ -24,6 +24,7 @@ */ import { Component, OnInit } from '@angular/core'; +import { Location } from '@angular/common'; import { Router } from '@angular/router'; import { AuthenticationService, UserPreferencesService } from '@alfresco/adf-core'; @@ -33,13 +34,14 @@ import { AuthenticationService, UserPreferencesService } from '@alfresco/adf-cor export class LoginComponent implements OnInit { constructor( private router: Router, + private location: Location, private auth: AuthenticationService, private userPreferences: UserPreferencesService ) {} ngOnInit() { if (this.auth.isEcmLoggedIn()) { - this.router.navigateByUrl(this.auth.getRedirectUrl() || ''); + this.location.forward(); } } diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 3942d6c57..f94f429bb 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -117,52 +117,6 @@ "DELETED_BY": "Gelöscht von" } }, - "DIALOG": { - "MINIMIZE": "Minimieren", - "MAXIMIZE": "Maximieren", - "CLOSE": "Schließen", - "UPLOAD": { - "IN_PROGRESS": "Hochladen: {{ completed }} / {{ length }}", - "COMPLETE": "Hochgeladen: {{ completed }} / {{ length }}", - "CANCELED": "Hochladen abgebrochen", - "CANCEL_UPLOAD": "Upload abbrechen", - "CANCEL_ALL": "Hochladen abbrechen", - "REMOVE_UPLOADED": "Hochgeladene Datei entfernen", - "CANCELED_STATUS": "Abgebrochen", - "ERRORS": "Fehler" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Neuen Ordner erstellen", - "EDIT_FOLDER_TITLE": "Ordner bearbeiten", - "FOLDER_NAME": { - "LABEL": "Name", - "ERRORS": { - "REQUIRED": "Ordnername ist erforderlich", - "SPECIAL_CHARACTERS": "Ordnername darf die folgenden Zeichen nicht enthalten: * \" < > \\ / ? : |", - "ENDING_DOT": "Ordnername darf nicht mit einem Punkt enden.", - "ONLY_SPACES": "Ordnername darf nicht nur aus Leerzeichen bestehen." - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Beschreibung" - }, - "CREATE_BUTTON": { - "LABEL": "Erstellen" - }, - "UPDATE_BUTTON": { - "LABEL": "Aktualisieren" - }, - "CANCEL_BUTTON": { - "LABEL": "Abbrechen" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Elemente pro Seite", - "CURRENT_PAGE": "Seite", - "OF": "von", - "SHOW_RANGE": "{{ range }} von {{ total }} Elementen werden angezeigt" - }, "SITES_VISIBILITY": { "PUBLIC": "Öffentlich", "MODERATED": "Moderiert", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 150c942bb..6ae74d8ea 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -117,52 +117,6 @@ "DELETED_BY": "Deleted by" } }, - "DIALOG": { - "MINIMIZE": "Minimize", - "MAXIMIZE": "Maximize", - "CLOSE": "Close", - "UPLOAD": { - "IN_PROGRESS": "Uploading {{ completed }} / {{ length }}", - "COMPLETE": "Uploaded {{ completed }} / {{ length }}", - "CANCELED": "Upload canceled", - "CANCEL_UPLOAD": "Cancel upload", - "CANCEL_ALL": "Cancel uploads", - "REMOVE_UPLOADED": "Remove uploaded file", - "CANCELED_STATUS": "Canceled", - "ERRORS": "error(s)" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Create new folder", - "EDIT_FOLDER_TITLE": "Edit folder", - "FOLDER_NAME": { - "LABEL": "Name", - "ERRORS": { - "REQUIRED": "Folder name is required", - "SPECIAL_CHARACTERS": "Folder name can't contain these characters * \" < > \\ / ? : |", - "ENDING_DOT": "Folder name can't end with a period .", - "ONLY_SPACES": "Folder name can't contain only spaces" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Description" - }, - "CREATE_BUTTON": { - "LABEL": "Create" - }, - "UPDATE_BUTTON": { - "LABEL": "Update" - }, - "CANCEL_BUTTON": { - "LABEL": "Cancel" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Items per page", - "CURRENT_PAGE": "Page", - "OF": "of", - "SHOW_RANGE": "Showing {{ range }} of {{ total }} items" - }, "SITES_VISIBILITY": { "PUBLIC": "Public", "MODERATED": "Moderated", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 9f6cf62f9..24d0d4999 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -117,52 +117,6 @@ "DELETED_BY": "Eliminado por" } }, - "DIALOG": { - "MINIMIZE": "Minimizar", - "MAXIMIZE": "Maximizar", - "CLOSE": "Cerrar", - "UPLOAD": { - "IN_PROGRESS": "Cargando {{ completed }} / {{ lenght }}", - "COMPLETE": "Cargados {{ completed }} / {{ length }}", - "CANCELED": "Carga cancelada", - "CANCEL_UPLOAD": "Cancelar carga", - "CANCEL_ALL": "Cancelar cargas", - "REMOVE_UPLOADED": "Eliminar fichero cargado", - "CANCELED_STATUS": "Cancelado", - "ERRORS": "error(es)" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Crear nueva carpeta", - "EDIT_FOLDER_TITLE": "Editar carpeta", - "FOLDER_NAME": { - "LABEL": "Nombre", - "ERRORS": { - "REQUIRED": "Se necesita un nombre de carpeta", - "SPECIAL_CHARACTERS": "El nombre de la carpeta no puede tener los caracteres * \" < > \\ / ? : |", - "ENDING_DOT": "El nombre de la carpeta no puede terminar en punto .", - "ONLY_SPACES": "El nombre de la carpeta no puede tener solo espacios" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Descripción" - }, - "CREATE_BUTTON": { - "LABEL": "Crear" - }, - "UPDATE_BUTTON": { - "LABEL": "Actualizar" - }, - "CANCEL_BUTTON": { - "LABEL": "Cancelar" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Elementos por página", - "CURRENT_PAGE": "Página", - "OF": "de", - "SHOW_RANGE": "Mostrando {{ range }} de {{ total }} elementos" - }, "SITES_VISIBILITY": { "PUBLIC": "Público", "MODERATED": "Moderado", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 4fafb0de5..e6886be93 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -117,52 +117,6 @@ "DELETED_BY": "Supprimé(s) par" } }, - "DIALOG": { - "MINIMIZE": "Réduire", - "MAXIMIZE": "Maximiser", - "CLOSE": "Fermer", - "UPLOAD": { - "IN_PROGRESS": "Importation de {{ completed }} / {{ length }}", - "COMPLETE": "{{ completed }} / {{ length }} importé(s)", - "CANCELED": "Importation annulée", - "CANCEL_UPLOAD": "Annuler l'importation", - "CANCEL_ALL": "Annuler l'importation", - "REMOVE_UPLOADED": "Supprimer le fichier importé", - "CANCELED_STATUS": "Annulé", - "ERRORS": "erreur(s)" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Créer un nouveau filtre", - "EDIT_FOLDER_TITLE": "Modifier le dossier", - "FOLDER_NAME": { - "LABEL": "Nom", - "ERRORS": { - "REQUIRED": "Nom de dossier requis", - "SPECIAL_CHARACTERS": "Un nom de dossier ne peut pas contenir les caractères * \" < > \\ / ? : |", - "ENDING_DOT": "Un nom de dossier ne peut pas se terminer par un point .", - "ONLY_SPACES": "Un nom de dossier ne peut pas contenir uniquement des espaces" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Description" - }, - "CREATE_BUTTON": { - "LABEL": "Créer" - }, - "UPDATE_BUTTON": { - "LABEL": "Mis à jour" - }, - "CANCEL_BUTTON": { - "LABEL": "Annuler" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Eléments par page", - "CURRENT_PAGE": "Page", - "OF": "sur", - "SHOW_RANGE": "Affichage de {{ range }} sur {{ total }} éléments" - }, "SITES_VISIBILITY": { "PUBLIC": "Public", "MODERATED": "Modéré", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index 8d01b77d8..70466618e 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -117,52 +117,6 @@ "DELETED_BY": "Eliminato da" } }, - "DIALOG": { - "MINIMIZE": "Minimizzare", - "MAXIMIZE": "Massimizzare", - "CLOSE": "Chiudi", - "UPLOAD": { - "IN_PROGRESS": "Caricamento {{ completed }} / {{ length }}", - "COMPLETE": "Caricato {{ completed }} / {{ length }}", - "CANCELED": "Caricamento annullato", - "CANCEL_UPLOAD": "Annulla caricamento", - "CANCEL_ALL": "Annulla i caricamenti", - "REMOVE_UPLOADED": "Rimuovere file caricato", - "CANCELED_STATUS": "Annullato", - "ERRORS": "errore/i" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Crea nuova cartella", - "EDIT_FOLDER_TITLE": "Modifica cartella", - "FOLDER_NAME": { - "LABEL": "Nome", - "ERRORS": { - "REQUIRED": "Nome cartella obbligatorio", - "SPECIAL_CHARACTERS": "Il nome della cartella non può contenere questi caratteri * \" < > \\ / ? : |", - "ENDING_DOT": "Il nome della cartella non può terminare con un punto.", - "ONLY_SPACES": "Il nome della cartella non può contenere solo spazi" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Descrizione" - }, - "CREATE_BUTTON": { - "LABEL": "Crea" - }, - "UPDATE_BUTTON": { - "LABEL": "Aggiorna" - }, - "CANCEL_BUTTON": { - "LABEL": "Annulla" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Elementi per pagina", - "CURRENT_PAGE": "Pagina", - "OF": "di", - "SHOW_RANGE": "{{ range }} elementi su {{ total }} visualizzati" - }, "SITES_VISIBILITY": { "PUBLIC": "Pubblico", "MODERATED": "Moderato", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/ja.json b/src/assets/i18n/ja.json index 54ea2f8c7..3a509a098 100644 --- a/src/assets/i18n/ja.json +++ b/src/assets/i18n/ja.json @@ -117,52 +117,6 @@ "DELETED_BY": "削除者" } }, - "DIALOG": { - "MINIMIZE": "最小化", - "MAXIMIZE": "最大化", - "CLOSE": "閉じる", - "UPLOAD": { - "IN_PROGRESS": "{{ completed }} / {{ length }} 件をアップロードしています", - "COMPLETE": "{{ completed }} / {{ length }} 個をアップロードしました", - "CANCELED": "アップロードがキャンセルされました", - "CANCEL_UPLOAD": "アップロードのキャンセル", - "CANCEL_ALL": "アップロードのキャンセル", - "REMOVE_UPLOADED": "アップロードしたファイルを削除", - "CANCELED_STATUS": "キャンセル", - "ERRORS": "エラー" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "新しいフォルダの作成", - "EDIT_FOLDER_TITLE": "フォルダの編集", - "FOLDER_NAME": { - "LABEL": "名前", - "ERRORS": { - "REQUIRED": "フォルダ名を指定してください", - "SPECIAL_CHARACTERS": "名前に次の文字を含めることはできません。 * \" < > \\ / ? : |", - "ENDING_DOT": "フォルダ名の最後にピリオド (.) を付けることはできません。", - "ONLY_SPACES": "フォルダ名にスペースだけを含めることはできません" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "説明" - }, - "CREATE_BUTTON": { - "LABEL": "作成" - }, - "UPDATE_BUTTON": { - "LABEL": "更新" - }, - "CANCEL_BUTTON": { - "LABEL": "キャンセル" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "ページ当たりのアイテム数", - "CURRENT_PAGE": "ページ:", - "OF": "/", - "SHOW_RANGE": "表示アイテム数: {{ range }} / {{ total }} 件" - }, "SITES_VISIBILITY": { "PUBLIC": "公開", "MODERATED": "条件付き公開", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/nb.json b/src/assets/i18n/nb.json index c5a141c13..ccf3696b7 100644 --- a/src/assets/i18n/nb.json +++ b/src/assets/i18n/nb.json @@ -117,52 +117,6 @@ "DELETED_BY": "Slettet av" } }, - "DIALOG": { - "MINIMIZE": "Minimer", - "MAXIMIZE": "Maksimer", - "CLOSE": "Lukk", - "UPLOAD": { - "IN_PROGRESS": "Opplasting {{ completed }} / {{ length }}", - "COMPLETE": "Opplastet {{ completed }} / {{ length }}", - "CANCELED": "Opplasting avbrutt", - "CANCEL_UPLOAD": "Avbryt opplasting", - "CANCEL_ALL": "Avbryt opplastinger", - "REMOVE_UPLOADED": "Fjern opplastet fil", - "CANCELED_STATUS": "Avbrutt", - "ERRORS": "feil" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Opprett ny mappe", - "EDIT_FOLDER_TITLE": "Rediger mappe", - "FOLDER_NAME": { - "LABEL": "Navn", - "ERRORS": { - "REQUIRED": "Mappenavn påkrevd", - "SPECIAL_CHARACTERS": "Mappenavn kan ikke inneholde disse tegnene * \" < > \\ / ? : |", - "ENDING_DOT": "Mappenavn kan ikke slutte med punktum .", - "ONLY_SPACES": "Mappenavn kan ikke inneholde bare mellomrom" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Beskrivelse" - }, - "CREATE_BUTTON": { - "LABEL": "Opprett" - }, - "UPDATE_BUTTON": { - "LABEL": "Oppdater" - }, - "CANCEL_BUTTON": { - "LABEL": "Avbryt" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Elementer per side", - "CURRENT_PAGE": "Side", - "OF": "av", - "SHOW_RANGE": "Viser {{ range }} av {{ total }} elementer" - }, "SITES_VISIBILITY": { "PUBLIC": "Offentlig", "MODERATED": "Moderert", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/nl.json b/src/assets/i18n/nl.json index 0e94a53e3..309a2f887 100644 --- a/src/assets/i18n/nl.json +++ b/src/assets/i18n/nl.json @@ -117,52 +117,6 @@ "DELETED_BY": "Verwijderd door" } }, - "DIALOG": { - "MINIMIZE": "Minimaliseren", - "MAXIMIZE": "Maximaliseren", - "CLOSE": "Sluiten", - "UPLOAD": { - "IN_PROGRESS": "{{ completed }} / {{ length }} uploaden", - "COMPLETE": "{{ completed }} / {{ length }} geüpload", - "CANCELED": "Uploaden geannuleerd", - "CANCEL_UPLOAD": "Uploaden annuleren", - "CANCEL_ALL": "Uploads annuleren", - "REMOVE_UPLOADED": "Geüpload bestand verwijderen", - "CANCELED_STATUS": "Geannuleerd", - "ERRORS": "fout(en)" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Nieuwe map maken", - "EDIT_FOLDER_TITLE": "Map bewerken", - "FOLDER_NAME": { - "LABEL": "Naam", - "ERRORS": { - "REQUIRED": "Mapnaam is vereist", - "SPECIAL_CHARACTERS": "Mapnaam mag de volgende tekens niet bevatten: * \" < > \\ / ? : |", - "ENDING_DOT": "Mapnaam mag niet eindigen met een punt .", - "ONLY_SPACES": "Mapnaam mag niet alleen uit spaties bestaan" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Beschrijving" - }, - "CREATE_BUTTON": { - "LABEL": "Maken" - }, - "UPDATE_BUTTON": { - "LABEL": "Bijwerken" - }, - "CANCEL_BUTTON": { - "LABEL": "Annuleren" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Items per pagina", - "CURRENT_PAGE": "Pagina", - "OF": "van", - "SHOW_RANGE": "{{ range }} van {{ total }} items wordt weergegeven" - }, "SITES_VISIBILITY": { "PUBLIC": "Openbaar", "MODERATED": "Onder toezicht", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/pt-BR.json b/src/assets/i18n/pt-BR.json index 4b2d280d8..d4e05f1b9 100644 --- a/src/assets/i18n/pt-BR.json +++ b/src/assets/i18n/pt-BR.json @@ -117,52 +117,6 @@ "DELETED_BY": "Excluído por" } }, - "DIALOG": { - "MINIMIZE": "Minimizar", - "MAXIMIZE": "Maximizar", - "CLOSE": "Fechar", - "UPLOAD": { - "IN_PROGRESS": "Carregando {{ completed }} / {{ length }}", - "COMPLETE": "Carregado {{ completed }} / {{ length }}", - "CANCELED": "Upload cancelado", - "CANCEL_UPLOAD": "Cancelar upload", - "CANCEL_ALL": "Cancelar uploads", - "REMOVE_UPLOADED": "Remover arquivo carregado", - "CANCELED_STATUS": "Cancelado", - "ERRORS": "erro(s)" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Criar nova pasta", - "EDIT_FOLDER_TITLE": "Editar pasta", - "FOLDER_NAME": { - "LABEL": "Nome", - "ERRORS": { - "REQUIRED": "O nome da pasta é obrigatório", - "SPECIAL_CHARACTERS": "O nome da pasta não pode conter estes caracteres * \" < > \\ / ? : |", - "ENDING_DOT": "O nome da pasta não pode terminar com ponto final .", - "ONLY_SPACES": "O nome da pasta não pode conter somente espaços" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Descrição" - }, - "CREATE_BUTTON": { - "LABEL": "Criar" - }, - "UPDATE_BUTTON": { - "LABEL": "Atualizar" - }, - "CANCEL_BUTTON": { - "LABEL": "Cancelar" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Itens por página", - "CURRENT_PAGE": "Página", - "OF": "de", - "SHOW_RANGE": "Exibindo {{ range }} de {{ total }} itens" - }, "SITES_VISIBILITY": { "PUBLIC": "Público", "MODERATED": "Moderado", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index 8eb811cb7..09abc30ed 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -117,52 +117,6 @@ "DELETED_BY": "Удалено пользователем" } }, - "DIALOG": { - "MINIMIZE": "Свернуть", - "MAXIMIZE": "Развернуть", - "CLOSE": "Закрыть", - "UPLOAD": { - "IN_PROGRESS": "Загрузка {{ completed }} / {{ length }}", - "COMPLETE": "Загружено {{ completed }} / {{ length }}", - "CANCELED": "Загрузка отменена", - "CANCEL_UPLOAD": "Отменить загрузку", - "CANCEL_ALL": "Отменить загрузки", - "REMOVE_UPLOADED": "Удалить загруженный файл", - "CANCELED_STATUS": "Oтменено", - "ERRORS": "ошибка (ошибки)" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "Создать новую папку", - "EDIT_FOLDER_TITLE": "Редактировать папку", - "FOLDER_NAME": { - "LABEL": "Имя", - "ERRORS": { - "REQUIRED": "Имя папки является обязательным", - "SPECIAL_CHARACTERS": "Имя папки не может содержать следующие символы * \" < > \\ / ? : |", - "ENDING_DOT": "Имя папки не может заканчиваться точкой .", - "ONLY_SPACES": "Имя папки не может состоять только из пробелов" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "Описание" - }, - "CREATE_BUTTON": { - "LABEL": "Создать" - }, - "UPDATE_BUTTON": { - "LABEL": "Обновить" - }, - "CANCEL_BUTTON": { - "LABEL": "Отмена" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "Элементов на странице", - "CURRENT_PAGE": "Страница", - "OF": "из", - "SHOW_RANGE": "Отображается элементов: {{ range }} из {{ total }}" - }, "SITES_VISIBILITY": { "PUBLIC": "Общедоступный", "MODERATED": "Модерируемый", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/assets/i18n/zh-CN.json b/src/assets/i18n/zh-CN.json index a66d4f8db..ad892f833 100644 --- a/src/assets/i18n/zh-CN.json +++ b/src/assets/i18n/zh-CN.json @@ -117,52 +117,6 @@ "DELETED_BY": "删除人" } }, - "DIALOG": { - "MINIMIZE": "最小化(&M)", - "MAXIMIZE": "最大化", - "CLOSE": "关闭", - "UPLOAD": { - "IN_PROGRESS": "正在上传 {{ completed }} / {{ length }}", - "COMPLETE": "已上传 {{ completed }} / {{ length }}", - "CANCELED": "取消上传", - "CANCEL_UPLOAD": "取消上传", - "CANCEL_ALL": "取消上传", - "REMOVE_UPLOADED": "移除已上传文件", - "CANCELED_STATUS": "已取消", - "ERRORS": "错误" - } - }, - "FOLDER_DIALOG": { - "CREATE_FOLDER_TITLE": "新建文件夹", - "EDIT_FOLDER_TITLE": "编辑文件夹", - "FOLDER_NAME": { - "LABEL": "名称", - "ERRORS": { - "REQUIRED": "需要文件夹名称", - "SPECIAL_CHARACTERS": "文件夹名称不能包含 * \" < > \\ / ? : | 字符", - "ENDING_DOT": "文件夹名称不能以句点结尾。", - "ONLY_SPACES": "文件夹名称不能只包含空格" - } - }, - "FOLDER_DESCRIPTION": { - "LABEL": "说明" - }, - "CREATE_BUTTON": { - "LABEL": "创建" - }, - "UPDATE_BUTTON": { - "LABEL": "更新" - }, - "CANCEL_BUTTON": { - "LABEL": "取消" - } - }, - "PAGINATION": { - "ITEMS_PER_PAGE": "每页的项目", - "CURRENT_PAGE": "页数", - "OF": "/", - "SHOW_RANGE": "正在显示 {{ range }} / {{ range }} 项目" - }, "SITES_VISIBILITY": { "PUBLIC": "公共", "MODERATED": "适中", @@ -231,4 +185,4 @@ } } } -} \ No newline at end of file +}