mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-16 18:13:06 +00:00
Compare commits
9
Commits
2.4.0-beta1
..
2.5.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
97af1267ab | ||
|
|
686f534cb3 | ||
|
|
54fbe61c08 | ||
|
|
8c4492642b | ||
|
|
e5535b1bfc | ||
|
|
192303ce75 | ||
|
|
f9658e2879 | ||
|
|
c3db1c2ff8 | ||
|
|
afa298060a |
+7
-3
@@ -1,5 +1,4 @@
|
||||
# http://editorconfig.org
|
||||
|
||||
# Editor configuration, see http://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
@@ -15,5 +14,10 @@ indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
insert_final_newline = false
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[resources/*.json]
|
||||
indent_size = 2
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
@@ -4,6 +4,8 @@ bundles
|
||||
workspace.xml
|
||||
.idea/
|
||||
dist/
|
||||
e2e-output/
|
||||
e2e/downloads/
|
||||
ng2-components/coverage/
|
||||
!systemjs.config.js
|
||||
demo-shell-ng2/app/components/router/
|
||||
@@ -24,3 +26,5 @@ src/environments/
|
||||
/lib/config/exportCheck.js
|
||||
/lib/config/export-check/export-new.json
|
||||
/lib/config/export-check/exportCheck.js
|
||||
/docs/sourceinfo
|
||||
/docs/docs.json
|
||||
+28
-17
@@ -2,8 +2,9 @@ language: node_js
|
||||
dist: trusty
|
||||
sudo: required
|
||||
node_js:
|
||||
- "8"
|
||||
|
||||
# Use the explicit NodeJS LTS version 8.9.4 to avoid any automatic upgrade of the version.
|
||||
- '8.9.4'
|
||||
|
||||
addons:
|
||||
chrome: stable
|
||||
before_script:
|
||||
@@ -14,6 +15,7 @@ before_install:
|
||||
- export CHROME_BIN=chromium-browser
|
||||
- export DISPLAY=:99.0
|
||||
- sh -e /etc/init.d/xvfb start
|
||||
- sleep 3 # give xvfb some time to start
|
||||
|
||||
env:
|
||||
matrix:
|
||||
@@ -51,7 +53,7 @@ script:
|
||||
fi
|
||||
|
||||
- if ([ "$MODULE" == "packaging" ]); then
|
||||
(cd lib && npm run build || exit 1;);
|
||||
(npm run build-lib || exit 1;);
|
||||
fi
|
||||
|
||||
- if ([ "$MODULE" == "demo-shell" ]); then
|
||||
@@ -64,27 +66,37 @@ script:
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- stage: Check build demo shell in production mode AND e2e
|
||||
before_install:
|
||||
- "export DISPLAY=:99.0"
|
||||
- "sh -e /etc/init.d/xvfb start"
|
||||
script: travis_wait 30 ./scripts/test-dist.sh
|
||||
- stage: Check 2.0.0 Project Update
|
||||
- stage: Test Update version 2.0.0
|
||||
script: ./scripts/test-e2e-bc.sh
|
||||
- stage: Check ADF exports
|
||||
script: cd lib && npm run test-export
|
||||
- stage: Update Generator
|
||||
- # Test expors
|
||||
script: npm run test-export
|
||||
- # Test Update generator-ng2-alfresco-app
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n generator-ng2-alfresco-app
|
||||
- stage: Update Content app
|
||||
- # Test Update alfresco-content-app
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-content-app
|
||||
- stage: Update DW
|
||||
- # Test Update adf-app-manager-ui
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n adf-app-manager-ui
|
||||
- stage: Update ng2-components
|
||||
- # Test Update aalfresco-ng2-components
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-ng2-components
|
||||
- # Test Update alfresco-modeler-app
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-modeler-app
|
||||
- stage: e2e Test
|
||||
script: ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save -dev -timeout 40000 --folder core
|
||||
- # Test process-services
|
||||
script: ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save -dev -timeout 40000 --folder process-services
|
||||
- # Test content-services
|
||||
script: ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save -dev -timeout 40000 --folder content-services
|
||||
- # Test insights
|
||||
script: ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save -dev -timeout 40000 --folder insights
|
||||
- stage: Create Docker PR
|
||||
script: ./scripts/test-dist.sh -n $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1)
|
||||
- stage: Deploy Docker PR
|
||||
script: node ./scripts/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1
|
||||
|
||||
# jobs:
|
||||
# include:
|
||||
@@ -116,5 +128,4 @@ after_success:
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- demo-shell/node_modules
|
||||
- lib/node_modules
|
||||
- node_modules
|
||||
|
||||
Vendored
+20
-22
@@ -1,25 +1,23 @@
|
||||
// Place your settings in this file to overwrite default and user settings.
|
||||
{
|
||||
"files.exclude": {
|
||||
"**/.git": true,
|
||||
"**/.svn": true,
|
||||
"**/.hg": true,
|
||||
"**/.DS_Store": true,
|
||||
"**/coverage": true,
|
||||
"**/.happypack": true
|
||||
},
|
||||
"editor.renderIndentGuides": true,
|
||||
"markdownlint.config": {
|
||||
"MD032": false,
|
||||
"MD004": false,
|
||||
"MD024": false,
|
||||
"MD009": false,
|
||||
"MD013": false,
|
||||
"MD036": false,
|
||||
"MD033" : false,
|
||||
"MD031" : false
|
||||
},
|
||||
"cSpell.words": [
|
||||
"webscript"
|
||||
]
|
||||
"files.exclude": {
|
||||
"**/.git": true,
|
||||
"**/.svn": true,
|
||||
"**/.hg": true,
|
||||
"**/.DS_Store": true,
|
||||
"**/coverage": true,
|
||||
"**/.happypack": true
|
||||
},
|
||||
"editor.renderIndentGuides": true,
|
||||
"markdownlint.config": {
|
||||
"MD032": false,
|
||||
"MD004": false,
|
||||
"MD024": false,
|
||||
"MD009": false,
|
||||
"MD013": false,
|
||||
"MD036": false,
|
||||
"MD033": false,
|
||||
"MD031": false
|
||||
},
|
||||
"cSpell.words": ["mincount", "webscript"]
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
### CORS solving strategies
|
||||
# CORS solving strategies
|
||||
|
||||
The web client that we are building with the application development framework will be loaded from a different web server than the Alfresco Platform is running on.
|
||||
So we need to tell the Alfresco server that any request that comes in from this custom web client should be allowed access
|
||||
|
||||
+1
-1
@@ -73,6 +73,6 @@ In ADF we are encouraging the use of behavior-driven development (BDD)
|
||||
|
||||
### Test Name
|
||||
|
||||
Any test should follow the naming convetion:
|
||||
Any test should follow the naming convention:
|
||||
|
||||
[Should] [ ***Expected Behavior** ] [when/after/before] [ ***State Under Test*** ].
|
||||
|
||||
+698
@@ -0,0 +1,698 @@
|
||||
{
|
||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||
"version": 1,
|
||||
"newProjectRoot": "projects",
|
||||
"projects": {
|
||||
"dist": {
|
||||
"root": "demo-shell",
|
||||
"sourceRoot": "demo-shell/src",
|
||||
"projectType": "application",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:browser",
|
||||
"options": {
|
||||
"outputPath": "demo-shell/dist",
|
||||
"index": "demo-shell/src/index.html",
|
||||
"main": "demo-shell/src/main.ts",
|
||||
"tsConfig": "demo-shell/src/tsconfig.app.json",
|
||||
"polyfills": "demo-shell/src/polyfills.ts",
|
||||
"stylePreprocessorOptions": {
|
||||
"includePaths": [
|
||||
"demo-shell/src/node_modules"
|
||||
]
|
||||
},
|
||||
"assets": [
|
||||
"demo-shell/src/assets",
|
||||
"demo-shell/src/favicon.ico",
|
||||
"demo-shell/src/app.config.json",
|
||||
"demo-shell/src/versions.json",
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/resources",
|
||||
"output": "/resources"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/src/app/components/lazy-loading/i18n",
|
||||
"output": "/resources/lazy-loading/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-core/prebuilt-themes",
|
||||
"output": "/assets/prebuilt-themes"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-core/bundles/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-insights/bundles/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-process-services/bundles/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-content-services/bundles/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "pdf.worker.min.js",
|
||||
"input": "node_modules/pdfjs-dist/build",
|
||||
"output": "/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/ngx-monaco-editor/assets/monaco",
|
||||
"output": "/assets/monaco/"
|
||||
}
|
||||
],
|
||||
"styles": [
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style.scss"
|
||||
],
|
||||
"scripts": [
|
||||
"node_modules/pdfjs-dist/build/pdf.js",
|
||||
"node_modules/pdfjs-dist/web/pdf_viewer.js",
|
||||
"node_modules/raphael/raphael.min.js",
|
||||
"node_modules/moment/min/moment.min.js"
|
||||
]
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"optimization": true,
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"extractCss": true,
|
||||
"namedChunks": false,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": true,
|
||||
"buildOptimizer": true,
|
||||
"verbose": true,
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "demo-shell/src/environments/environment.ts",
|
||||
"with": "demo-shell/src/environments/environment.prod.ts"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "dist:build",
|
||||
"port": 3000
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "dist:build:production"
|
||||
}
|
||||
}
|
||||
},
|
||||
"extract-i18n": {
|
||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||
"options": {
|
||||
"browserTarget": "dist:build"
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "demo-shell/src/test.ts",
|
||||
"karmaConfig": "./demo-shell/karma.conf.js",
|
||||
"polyfills": "demo-shell/src/polyfills.ts",
|
||||
"tsConfig": "demo-shell/src/tsconfig.spec.json",
|
||||
"scripts": [
|
||||
"node_modules/pdfjs-dist/build/pdf.js",
|
||||
"node_modules/pdfjs-dist/web/pdf_viewer.js",
|
||||
"node_modules/raphael/raphael.min.js",
|
||||
"node_modules/moment/min/moment.min.js"
|
||||
],
|
||||
"styles": [
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style.scss"
|
||||
],
|
||||
"assets": [
|
||||
"demo-shell/src/assets",
|
||||
"demo-shell/src/favicon.ico",
|
||||
"demo-shell/src/app.config.json",
|
||||
"demo-shell/src/versions.json",
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/resources",
|
||||
"output": "/resources"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/src/app/components/lazy-loading/i18n",
|
||||
"output": "/resources/lazy-loading/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-core/prebuilt-themes",
|
||||
"output": "/assets/prebuilt-themes"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-core/bundles/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-insights/bundles/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-process-services/bundles/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/@alfresco/adf-content-services/bundles/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "pdf.worker.min.js",
|
||||
"input": "node_modules/pdfjs-dist/build",
|
||||
"output": "/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": ".node_modules/ngx-monaco-editor/assets/monaco",
|
||||
"output": "/assets/monaco/"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [
|
||||
"./demo-shell/src/tsconfig.app.json"
|
||||
],
|
||||
"exclude": [
|
||||
"**/node_modules/**/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dev": {
|
||||
"root": "demo-shell",
|
||||
"sourceRoot": "demo-shell/src",
|
||||
"projectType": "application",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:browser",
|
||||
"options": {
|
||||
"outputPath": "demo-shell/dist",
|
||||
"index": "demo-shell/src/index.html",
|
||||
"main": "demo-shell/src/main.ts",
|
||||
"tsConfig": "demo-shell/src/tsconfig.dev.json",
|
||||
"polyfills": "demo-shell/src/polyfills.ts",
|
||||
"stylePreprocessorOptions": {
|
||||
"includePaths": [
|
||||
"lib"
|
||||
]
|
||||
},
|
||||
"assets": [
|
||||
"demo-shell/src/assets",
|
||||
"demo-shell/src/app.config.json",
|
||||
"demo-shell/src/versions.json",
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/src/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "app.config.json",
|
||||
"input": "demo-shell/src",
|
||||
"output": "/"
|
||||
},
|
||||
{
|
||||
"glob": "versions.json",
|
||||
"input": "demo-shell/src",
|
||||
"output": "/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/resources",
|
||||
"output": "/resources"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/src/app/components/lazy-loading/i18n",
|
||||
"output": "/resources/lazy-loading/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/dist/core/prebuilt-themes",
|
||||
"output": "/assets/prebuilt-themes"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/core/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/process-services/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/content-services/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/core/i18n",
|
||||
"output": "/assets/adf-core/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/content-services/i18n",
|
||||
"output": "/assets/adf-content-services/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/process-services/i18n",
|
||||
"output": "/assets/adf-process-services/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/insights/i18n",
|
||||
"output": "/assets/adf-insights/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "pdf.worker.min.js",
|
||||
"input": "node_modules/pdfjs-dist/build",
|
||||
"output": "/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/ngx-monaco-editor/assets/monaco",
|
||||
"output": "/assets/monaco/"
|
||||
}
|
||||
],
|
||||
"styles": [
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss"
|
||||
],
|
||||
"scripts": [
|
||||
"node_modules/pdfjs-dist/build/pdf.js",
|
||||
"node_modules/pdfjs-dist/web/pdf_viewer.js",
|
||||
"node_modules/raphael/raphael.min.js",
|
||||
"node_modules/moment/min/moment.min.js"
|
||||
]
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"optimization": true,
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"extractCss": true,
|
||||
"namedChunks": false,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": true,
|
||||
"buildOptimizer": true,
|
||||
"verbose": true,
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "demo-shell/src/environments/environment.ts",
|
||||
"with": "demo-shell/src/environments/environment.prod.ts"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "dev:build",
|
||||
"port": 3000
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "dev:build:production"
|
||||
}
|
||||
}
|
||||
},
|
||||
"extract-i18n": {
|
||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||
"options": {
|
||||
"browserTarget": "dev:build"
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "demo-shell/src/test.ts",
|
||||
"karmaConfig": "./demo-shell/karma.conf.js",
|
||||
"polyfills": "demo-shell/src/polyfills.ts",
|
||||
"tsConfig": "demo-shell/src/tsconfig.spec.json",
|
||||
"scripts": [
|
||||
"node_modules/pdfjs-dist/build/pdf.js",
|
||||
"node_modules/pdfjs-dist/web/pdf_viewer.js",
|
||||
"node_modules/raphael/raphael.min.js",
|
||||
"node_modules/moment/min/moment.min.js"
|
||||
],
|
||||
"styles": [
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss"
|
||||
],
|
||||
"assets": [
|
||||
"demo-shell/src/assets",
|
||||
"demo-shell/src/app.config.json",
|
||||
"demo-shell/src/versions.json",
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/src/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "app.config.json",
|
||||
"input": "demo-shell/src",
|
||||
"output": "/"
|
||||
},
|
||||
{
|
||||
"glob": "versions.json",
|
||||
"input": "demo-shell/src",
|
||||
"output": "/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/resources",
|
||||
"output": "/resources"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "demo-shell/src/app/components/lazy-loading/i18n",
|
||||
"output": "/resources/lazy-loading/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/dist/core/prebuilt-themes",
|
||||
"output": "/assets/prebuilt-themes"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/core/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/process-services/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/content-services/assets",
|
||||
"output": "/assets"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/core/i18n",
|
||||
"output": "/assets/adf-core/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/content-services/i18n",
|
||||
"output": "/assets/adf-content-services/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/process-services/i18n",
|
||||
"output": "/assets/adf-process-services/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/insights/i18n",
|
||||
"output": "/assets/adf-insights/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "pdf.worker.min.js",
|
||||
"input": "node_modules/pdfjs-dist/build",
|
||||
"output": "/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "/node_modules/ngx-monaco-editor/assets/monaco",
|
||||
"output": "/assets/monaco/"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [
|
||||
"./demo-shell/src/tsconfig.app.json"
|
||||
],
|
||||
"exclude": [
|
||||
"**/node_modules/**/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"demo-shell-e2e": {
|
||||
"root": "demo-shell",
|
||||
"sourceRoot": "demo-shell/e2e",
|
||||
"projectType": "application",
|
||||
"architect": {
|
||||
"e2e": {
|
||||
"builder": "@angular-devkit/build-angular:protractor",
|
||||
"options": {
|
||||
"protractorConfig": "./protractor.conf.js",
|
||||
"devServerTarget": "dist:serve"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [],
|
||||
"exclude": [
|
||||
"**/node_modules/**/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"lib-e2e": {
|
||||
"root": "demo-shell",
|
||||
"sourceRoot": "./demo-shell",
|
||||
"projectType": "application",
|
||||
"architect": {
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"proxyConfig": "./e2e/proxy.conf.js",
|
||||
"browserTarget": "dev:build",
|
||||
"port": 3000
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "dev:build:production"
|
||||
}
|
||||
}
|
||||
},
|
||||
"e2e": {
|
||||
"builder": "@angular-devkit/build-angular:protractor",
|
||||
"options": {
|
||||
"protractorConfig": "./protractor.conf.js",
|
||||
"devServerTarget": "lib-e2e:serve"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [],
|
||||
"exclude": [
|
||||
"**/node_modules/**/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"core": {
|
||||
"root": "lib/core",
|
||||
"sourceRoot": "lib/core/src",
|
||||
"projectType": "library",
|
||||
"prefix": "adf",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/core/tsconfig.json",
|
||||
"project": "lib/core/ng-package.json"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"project": "lib/core/ng-package.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/core/test.ts",
|
||||
"tsConfig": "lib/core/tsconfig.json",
|
||||
"karmaConfig": "lib/core/karma.conf.js"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [
|
||||
"lib/core/tsconfig.json",
|
||||
"lib/core/tsconfig.json"
|
||||
],
|
||||
"exclude": [
|
||||
"**/node_modules/**"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"content-services": {
|
||||
"root": "lib/content-services",
|
||||
"sourceRoot": "lib/content-services/src",
|
||||
"projectType": "library",
|
||||
"prefix": "adf",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/content-services/tsconfig.json",
|
||||
"project": "lib/content-services/ng-package.json"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"project": "lib/content-services/ng-package.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/content-services/test.ts",
|
||||
"tsConfig": "lib/content-services/tsconfig.json",
|
||||
"karmaConfig": "lib/content-services/karma.conf.js"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [
|
||||
"lib/content-services/tsconfig.json",
|
||||
"lib/content-services/tsconfig.json"
|
||||
],
|
||||
"exclude": [
|
||||
"**/node_modules/**"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"process-services": {
|
||||
"root": "lib/process-services",
|
||||
"sourceRoot": "lib/process-services/src",
|
||||
"projectType": "library",
|
||||
"prefix": "adf",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/process-services/tsconfig.json",
|
||||
"project": "lib/process-services/ng-package.json"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"project": "lib/process-services/ng-package.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/process-services/test.ts",
|
||||
"tsConfig": "lib/process-services/tsconfig.json",
|
||||
"karmaConfig": "lib/process-services/karma.conf.js"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [
|
||||
"lib/process-services/tsconfig.json",
|
||||
"lib/process-services/tsconfig.json"
|
||||
],
|
||||
"exclude": [
|
||||
"**/node_modules/**"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"insights": {
|
||||
"root": "lib/insights",
|
||||
"sourceRoot": "lib/insights/src",
|
||||
"projectType": "library",
|
||||
"prefix": "adf",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/insights/tsconfig.json",
|
||||
"project": "lib/insights/ng-package.json"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"project": "lib/insights/ng-package.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/insights/test.ts",
|
||||
"tsConfig": "lib/insights/tsconfig.json",
|
||||
"karmaConfig": "lib/insights/karma.conf.js"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [
|
||||
"lib/insights/tsconfig.json",
|
||||
"lib/insights/tsconfig.json"
|
||||
],
|
||||
"exclude": [
|
||||
"**/node_modules/**"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultProject": "dist",
|
||||
"schematics": {
|
||||
"@schematics/angular:component": {
|
||||
"prefix": "app",
|
||||
"styleext": "scss"
|
||||
},
|
||||
"@schematics/angular:directive": {
|
||||
"prefix": "app"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,167 +0,0 @@
|
||||
{
|
||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||
"project": {
|
||||
"name": "myapp"
|
||||
},
|
||||
"apps": [
|
||||
{
|
||||
"name": "dist",
|
||||
"root": "src",
|
||||
"outDir": "dist",
|
||||
"assets": [
|
||||
"assets",
|
||||
"favicon.ico",
|
||||
"app.config.json",
|
||||
"versions.json",
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "../resources",
|
||||
"output": "./resources"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "./app/components/lazy-loading/i18n",
|
||||
"output": "./resources/lazy-loading/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "../node_modules/@alfresco/adf-core/prebuilt-themes",
|
||||
"output": "./assets/prebuilt-themes"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "../node_modules/@alfresco/adf-core/bundles/assets",
|
||||
"output": "./assets/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "../node_modules/@alfresco/adf-insights/bundles/assets",
|
||||
"output": "./assets/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "../node_modules/@alfresco/adf-process-services/bundles/assets",
|
||||
"output": "./assets/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "../node_modules/@alfresco/adf-content-services/bundles/assets",
|
||||
"output": "./assets/"
|
||||
},
|
||||
{
|
||||
"glob": "pdf.worker.js",
|
||||
"input": "../node_modules/pdfjs-dist/build",
|
||||
"output": "./"
|
||||
}
|
||||
],
|
||||
"index": "index.html",
|
||||
"main": "main.ts",
|
||||
"polyfills": "polyfills.ts",
|
||||
"test": "test.ts",
|
||||
"tsconfig": "tsconfig.app.json",
|
||||
"testTsconfig": "tsconfig.spec.json",
|
||||
"prefix": "app",
|
||||
"styles": [
|
||||
"styles.scss",
|
||||
"custom-style.scss"
|
||||
],
|
||||
"stylePreprocessorOptions": {
|
||||
"includePaths": [
|
||||
"../node_modules/"
|
||||
]
|
||||
},
|
||||
"scripts": [
|
||||
"../node_modules/pdfjs-dist/build/pdf.js",
|
||||
"../node_modules/pdfjs-dist/web/pdf_viewer.js",
|
||||
"../node_modules/raphael/raphael.min.js",
|
||||
"../node_modules/moment/min/moment.min.js"
|
||||
],
|
||||
"environmentSource": "environments/environment.ts",
|
||||
"environments": {
|
||||
"dev": "environments/environment.ts",
|
||||
"prod": "environments/environment.prod.ts"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "dev",
|
||||
"root": "src",
|
||||
"outDir": "dist",
|
||||
"assets": [
|
||||
"assets",
|
||||
"app.config.json",
|
||||
"versions.json",
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "../resources",
|
||||
"output": "./resources"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "./app/components/lazy-loading/i18n",
|
||||
"output": "./resources/lazy-loading/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "../dist-dev-temp/",
|
||||
"output": "./"
|
||||
},
|
||||
{
|
||||
"glob": "pdf.worker.js",
|
||||
"input": "../node_modules/pdfjs-dist/build",
|
||||
"output": "./"
|
||||
}
|
||||
],
|
||||
"index": "index.html",
|
||||
"main": "main.ts",
|
||||
"polyfills": "polyfills.ts",
|
||||
"test": "test.ts",
|
||||
"tsconfig": "tsconfig.dev.json",
|
||||
"testTsconfig": "tsconfig.spec.json",
|
||||
"prefix": "app-dev",
|
||||
"styles": [
|
||||
"styles.scss",
|
||||
"custom-style-dev.scss"
|
||||
],
|
||||
"stylePreprocessorOptions": {
|
||||
"includePaths": [
|
||||
"../../lib/"
|
||||
]
|
||||
},
|
||||
"scripts": [
|
||||
"../node_modules/pdfjs-dist/build/pdf.js",
|
||||
"../node_modules/pdfjs-dist/web/pdf_viewer.js",
|
||||
"../node_modules/raphael/raphael.min.js",
|
||||
"../node_modules/moment/min/moment.min.js"
|
||||
],
|
||||
"environmentSource": "environments/environment.ts",
|
||||
"environments": {
|
||||
"dev": "environments/environment.ts",
|
||||
"prod": "environments/environment.prod.ts"
|
||||
}
|
||||
}
|
||||
],
|
||||
"e2e": {
|
||||
"protractor": {
|
||||
"config": "./protractor.conf.js"
|
||||
}
|
||||
},
|
||||
"lint": [
|
||||
{
|
||||
"project": "src/tsconfig.app.json",
|
||||
"exclude": "**/node_modules/**/*"
|
||||
}
|
||||
],
|
||||
"test": {
|
||||
"karma": {
|
||||
"config": "./karma.conf.js"
|
||||
}
|
||||
},
|
||||
"defaults": {
|
||||
"styleExt": "scss",
|
||||
"component": {
|
||||
},
|
||||
"serve": {
|
||||
"port": 3000
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
# Editor configuration, see http://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.json]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[resources/*.json]
|
||||
indent_size = 2
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
@@ -57,3 +57,4 @@ app/**/*.d.ts
|
||||
|
||||
dist/
|
||||
coverage/
|
||||
!/e2e/protractor.conf.js
|
||||
|
||||
@@ -1,177 +0,0 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
@@ -1,14 +0,0 @@
|
||||
const cpx = require('cpx');
|
||||
|
||||
//Workaround for https://github.com/angular/angular-cli/issues/8783
|
||||
//we copy before the files in dist-dev-temp in the demo shell and after we let the angular cli watch over them..double wathh necessary for dev mode
|
||||
|
||||
cpx.watch('../lib/core/prebuilt-themes/**/*.*', './dist-dev-temp/assets/prebuilt-themes')
|
||||
cpx.watch('../lib/core/assets/**/*.*', './dist-dev-temp/assets/' )
|
||||
cpx.watch('../lib/process-services/assets/**/*.*', './dist-dev-temp/assets/' )
|
||||
cpx.watch('../lib/content-services/assets/**/*.*', './dist-dev-temp/assets/' )
|
||||
|
||||
cpx.watch('../lib/core/i18n/**/*.*', './dist-dev-temp//assets/adf-core/i18n' )
|
||||
cpx.watch('../lib/process-services/i18n/**/*.*', './dist-dev-temp/assets/adf-process-services/i18n' )
|
||||
cpx.watch('../lib/content-services/i18n/**/*.*', './dist-dev-temp/assets/adf-content-services/i18n' )
|
||||
cpx.watch('../lib/insights/i18n/**/*.*', './dist-dev-temp//assets/adf-insights/i18n' )
|
||||
@@ -1,42 +0,0 @@
|
||||
const ExtractTextPlugin = require("extract-text-webpack-plugin");
|
||||
const path = require('path');
|
||||
|
||||
const extractScss = new ExtractTextPlugin('../lib/core/prebuilt-themes/[name].css');
|
||||
|
||||
module.exports = {
|
||||
|
||||
entry: {
|
||||
'adf-blue-orange': '../lib/core/styles/prebuilt/adf-blue-orange.scss',
|
||||
'adf-blue-purple': '../lib/core/styles/prebuilt/adf-blue-purple.scss',
|
||||
'adf-cyan-orange': '../lib/core/styles/prebuilt/adf-cyan-orange.scss',
|
||||
'adf-cyan-purple': '../lib/core/styles/prebuilt/adf-cyan-purple.scss',
|
||||
'adf-green-purple': '../lib/core/styles/prebuilt/adf-green-purple.scss',
|
||||
'adf-green-orange': '../lib/core/styles/prebuilt/adf-green-orange.scss',
|
||||
'adf-pink-bluegrey': '../lib/core/styles/prebuilt/adf-pink-bluegrey.scss',
|
||||
'adf-indigo-pink': '../lib/core/styles/prebuilt/adf-indigo-pink.scss',
|
||||
'adf-purple-green': '../lib/core/styles/prebuilt/adf-purple-green.scss'
|
||||
},
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
modules: [path.resolve(__dirname, '../node_modules')]
|
||||
},
|
||||
|
||||
output: {
|
||||
filename: '../dist/[name].js'
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [{
|
||||
test: /\.scss$/,
|
||||
use: extractScss.extract([{
|
||||
loader: "raw-loader"
|
||||
}, {
|
||||
loader: "sass-loader"
|
||||
}])
|
||||
}]
|
||||
},
|
||||
plugins: [
|
||||
extractScss
|
||||
]
|
||||
};
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { MyappPage } from './app.po';
|
||||
|
||||
describe('myapp App', () => {
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { browser, element, by } from 'protractor';
|
||||
|
||||
export class MyappPage {
|
||||
|
||||
+50
-39
@@ -2,43 +2,54 @@
|
||||
// https://karma-runner.github.io/0.13/config/configuration-file.html
|
||||
|
||||
module.exports = function (config) {
|
||||
config.set({
|
||||
basePath: '',
|
||||
frameworks: ['jasmine', '@angular/cli'],
|
||||
plugins: [
|
||||
require('karma-jasmine'),
|
||||
require('karma-chrome-launcher'),
|
||||
require('karma-jasmine-html-reporter'),
|
||||
require('karma-coverage-istanbul-reporter'),
|
||||
require('@angular/cli/plugins/karma')
|
||||
],
|
||||
client:{
|
||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
||||
},
|
||||
files: [
|
||||
{ pattern: './src/test.ts', watched: false }
|
||||
],
|
||||
preprocessors: {
|
||||
'./src/test.ts': ['@angular/cli']
|
||||
},
|
||||
mime: {
|
||||
'text/x-typescript': ['ts','tsx']
|
||||
},
|
||||
coverageIstanbulReporter: {
|
||||
reports: [ 'html', 'lcovonly' ],
|
||||
fixWebpackSourcePaths: true
|
||||
},
|
||||
angularCli: {
|
||||
environment: 'dev'
|
||||
},
|
||||
reporters: config.angularCli && config.angularCli.codeCoverage
|
||||
? ['progress', 'coverage-istanbul']
|
||||
: ['progress', 'kjhtml'],
|
||||
port: 9876,
|
||||
colors: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
autoWatch: true,
|
||||
browsers: ['Chrome'],
|
||||
singleRun: false
|
||||
});
|
||||
config.set({
|
||||
basePath: './',
|
||||
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
||||
plugins: [
|
||||
require('karma-jasmine'),
|
||||
require('karma-chrome-launcher'),
|
||||
require('karma-jasmine-html-reporter'),
|
||||
require('karma-coverage-istanbul-reporter'),
|
||||
require('@angular-devkit/build-angular/plugins/karma'),
|
||||
require('karma-mocha-reporter')
|
||||
],
|
||||
client: {
|
||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
||||
},
|
||||
files: [],
|
||||
preprocessors: {},
|
||||
mime: {
|
||||
'text/x-typescript': ['ts', 'tsx']
|
||||
},
|
||||
coverageIstanbulReporter: {
|
||||
dir: require('path').join(__dirname, 'coverage'), reports: ['html', 'lcovonly'],
|
||||
fixWebpackSourcePaths: true
|
||||
},
|
||||
|
||||
customLaunchers: {
|
||||
ChromeHeadless: {
|
||||
base: 'Chrome',
|
||||
flags: [
|
||||
'--no-sandbox',
|
||||
'--headless',
|
||||
'--disable-gpu',
|
||||
'--remote-debugging-port=9222'
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
captureTimeout: 180000,
|
||||
browserDisconnectTimeout: 180000,
|
||||
browserDisconnectTolerance: 3,
|
||||
browserNoActivityTimeout: 300000,
|
||||
|
||||
reporters: ['mocha', 'kjhtml'],
|
||||
|
||||
port: 9876,
|
||||
colors: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
autoWatch: true,
|
||||
browsers: ['Chrome'],
|
||||
singleRun: false
|
||||
});
|
||||
};
|
||||
|
||||
@@ -21,5 +21,9 @@ http {
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
location ~ ^/[a-zA-Z0-9_-]+/ {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-108
@@ -1,29 +1,8 @@
|
||||
{
|
||||
"name": "Alfresco-ADF-Angular-Demo",
|
||||
"description": "Demo shell for Alfresco Angular components",
|
||||
"version": "2.3.0",
|
||||
"version": "2.5.0",
|
||||
"author": "Alfresco Software, Ltd.",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"prestart": "npm run validate-config",
|
||||
"start": "npm run server-versions && rimraf dist && ng serve --host 0.0.0.0 --proxy-config proxy.conf.js --app dist --open",
|
||||
"start:dev": " npm run lint && npm run server-versions && rimraf dist && npm run clean-lib-angular && concurrently \"ng serve --host 0.0.0.0 --disable-host-check --app dev --proxy-config proxy.conf.js --open\" \"npm run style:dev --watch\" \"npm run copy:dev\" ",
|
||||
"start:dist": "npm run server-versions && rimraf dist && node --max_old_space_size=30000 node_modules/.bin/ng serve --prod --host 0.0.0.0 --disable-host-check --app dist --proxy-config proxy.conf.js -open",
|
||||
"build": "npm run validate-config && npm run server-versions && rimraf dist && ng build --app dist",
|
||||
"build:dev": "npm run validate-config && npm run lint && npm run style:dev && npm run server-versions && rimraf dist && ng build --app dev",
|
||||
"build:dist": "npm run validate-config && npm run server-versions && rimraf dist && ng build --prod --app dist",
|
||||
"style:dev": "npm run webpack -- --config config/webpack.style.js --progress --profile --bail",
|
||||
"copy:dev": "node ./config/dev-copy-watch.js",
|
||||
"test": " ng test --single-run",
|
||||
"lint": "ng lint",
|
||||
"e2e": "ng e2e",
|
||||
"validate-config": "ajv validate -s ../lib/core/app-config/schema.json -d ./src/app.config.json --errors=text --verbose",
|
||||
"server-versions": "rimraf ./src/versions.json && npm list --depth=0 --json=true --prod=true > ./src/versions.json || exit 0",
|
||||
"clean": "rimraf dist node_modules typings",
|
||||
"clean-lib-angular": "rimraf ../lib/node_modules/@angular",
|
||||
"clean-lock": "rimraf package-lock.json",
|
||||
"webpack": "node node_modules/webpack/bin/webpack.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Alfresco/alfresco-ng2-components.git"
|
||||
@@ -32,96 +11,11 @@
|
||||
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Denys Vuika",
|
||||
"email": "denis.vuyka@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Mario Romano",
|
||||
"email": "mario.romano83@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Will Abson",
|
||||
"email": "will.abson@alfresco.com"
|
||||
},
|
||||
{
|
||||
"name": "Eugenio Romano",
|
||||
"email": "eugenio.romano@alfresco.com"
|
||||
},
|
||||
{
|
||||
"name": "Maurizio Vitale",
|
||||
"email": "maurizio.vitale@alfresco.com"
|
||||
}
|
||||
],
|
||||
"keywords": [
|
||||
"ng2",
|
||||
"angular",
|
||||
"angular2",
|
||||
"alfresco"
|
||||
],
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@alfresco/adf-content-services": "2.3.0",
|
||||
"@alfresco/adf-core": "2.3.0",
|
||||
"@alfresco/adf-insights": "2.3.0",
|
||||
"@alfresco/adf-process-services": "2.3.0",
|
||||
"@angular/animations": "5.1.1",
|
||||
"@angular/cdk": "5.0.1",
|
||||
"@angular/common": "5.1.1",
|
||||
"@angular/compiler": "5.1.1",
|
||||
"@angular/core": "5.1.1",
|
||||
"@angular/flex-layout": "2.0.0-beta.12",
|
||||
"@angular/forms": "5.1.1",
|
||||
"@angular/http": "5.1.1",
|
||||
"@angular/material": "5.0.1",
|
||||
"@angular/platform-browser": "5.1.1",
|
||||
"@angular/platform-browser-dynamic": "5.1.1",
|
||||
"@angular/router": "5.1.1",
|
||||
"@mat-datetimepicker/core": "1.0.4",
|
||||
"@mat-datetimepicker/moment": "1.0.4",
|
||||
"@ngx-translate/core": "9.1.1",
|
||||
"alfresco-js-api": "2.3.0",
|
||||
"chart.js": "2.5.0",
|
||||
"classlist.js": "1.1.20150312",
|
||||
"core-js": "2.4.1",
|
||||
"custom-event-polyfill": "0.3.0",
|
||||
"hammerjs": "2.0.8",
|
||||
"intl": "1.2.5",
|
||||
"minimatch": "3.0.4",
|
||||
"moment": "2.20.1",
|
||||
"moment-es6": "^1.0.0",
|
||||
"ng2-charts": "1.6.0",
|
||||
"pdfjs-dist": "2.0.265",
|
||||
"raphael": "2.2.7",
|
||||
"reflect-metadata": "0.1.10",
|
||||
"rxjs": "5.5.2",
|
||||
"web-animations-js": "2.3.1",
|
||||
"zone.js": "0.8.14"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular/cli": "1.6.5",
|
||||
"@angular/compiler-cli": "^5.2.0",
|
||||
"@angular/language-service": "^5.2.0",
|
||||
"@types/jasmine": "~2.8.3",
|
||||
"@types/jasminewd2": "~2.0.2",
|
||||
"@types/node": "~6.0.60",
|
||||
"ajv-cli": "^3.0.0",
|
||||
"codelyzer": "4.1.0",
|
||||
"concurrently": "^3.5.1",
|
||||
"cpx": "^1.5.0",
|
||||
"jasmine-core": "~2.8.0",
|
||||
"jasmine-spec-reporter": "~4.2.1",
|
||||
"karma": "~2.0.0",
|
||||
"karma-chrome-launcher": "~2.2.0",
|
||||
"karma-cli": "~1.0.1",
|
||||
"karma-coverage-istanbul-reporter": "^1.2.1",
|
||||
"karma-jasmine": "~1.1.0",
|
||||
"karma-jasmine-html-reporter": "^0.2.2",
|
||||
"protractor": "~5.1.2",
|
||||
"rimraf": "^2.6.2",
|
||||
"ts-node": "~4.1.0",
|
||||
"tslint": "~5.9.1",
|
||||
"typescript": "~2.5.3"
|
||||
}
|
||||
"private": true
|
||||
}
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
// Protractor configuration file, see link for more information
|
||||
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
||||
|
||||
const { SpecReporter } = require('jasmine-spec-reporter');
|
||||
|
||||
exports.config = {
|
||||
allScriptsTimeout: 11000,
|
||||
specs: [
|
||||
'./e2e/**/*.e2e-spec.ts'
|
||||
],
|
||||
capabilities: {
|
||||
'browserName': 'chrome'
|
||||
},
|
||||
directConnect: true,
|
||||
baseUrl: 'http://localhost:4200/',
|
||||
framework: 'jasmine',
|
||||
jasmineNodeOpts: {
|
||||
showColors: true,
|
||||
defaultTimeoutInterval: 30000,
|
||||
print: function() {}
|
||||
},
|
||||
beforeLaunch: function() {
|
||||
require('ts-node').register({
|
||||
project: 'e2e/tsconfig.e2e.json'
|
||||
});
|
||||
},
|
||||
onPrepare() {
|
||||
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
|
||||
}
|
||||
};
|
||||
+21
-21
@@ -1,25 +1,25 @@
|
||||
module.exports = {
|
||||
"/alfresco": {
|
||||
"target": "http://localhost:8080",
|
||||
"secure": false,
|
||||
"pathRewrite": {
|
||||
"^/alfresco/alfresco": ""
|
||||
"/alfresco": {
|
||||
"target": "http://localhost:8080",
|
||||
"secure": false,
|
||||
"pathRewrite": {
|
||||
"^/alfresco/alfresco": ""
|
||||
},
|
||||
"changeOrigin": true,
|
||||
// workaround for REPO-2260
|
||||
onProxyRes: function (proxyRes, req, res) {
|
||||
const header = proxyRes.headers['www-authenticate'];
|
||||
if (header && header.startsWith('Basic')) {
|
||||
proxyRes.headers['www-authenticate'] = 'x' + header;
|
||||
}
|
||||
}
|
||||
},
|
||||
"changeOrigin": true,
|
||||
// workaround for REPO-2260
|
||||
onProxyRes: function (proxyRes, req, res) {
|
||||
const header = proxyRes.headers['www-authenticate'];
|
||||
if (header && header.startsWith('Basic')) {
|
||||
proxyRes.headers['www-authenticate'] = 'x' + header;
|
||||
}
|
||||
"/activiti-app": {
|
||||
"target": "http://localhost:9999",
|
||||
"secure": false,
|
||||
"pathRewrite": {
|
||||
"^/activiti-app/activiti-app": ""
|
||||
},
|
||||
"changeOrigin": true
|
||||
}
|
||||
},
|
||||
"/activiti-app": {
|
||||
"target": "http://localhost:9999",
|
||||
"secure": false,
|
||||
"pathRewrite": {
|
||||
"^/activiti-app/activiti-app": ""
|
||||
},
|
||||
"changeOrigin": true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "Eigenschaften",
|
||||
"VERSIONS": "Versionen"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Angular-Komponenten für Alfresco",
|
||||
"DOCUMENTATION": "Dokumentation"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Seite 'Abmelden'",
|
||||
"SUB_TITLE": "Sie sind nun abgemeldet.",
|
||||
"LOGIN": "Anmelden",
|
||||
"HOME": "Startseite"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Löschen zulassen",
|
||||
"SHOW_COMMENTS": "Anmerkungen zu Versionen einblenden",
|
||||
"ALLOW_DOWNLOAD": "Versions-Download zulassen"
|
||||
"ALLOW_DOWNLOAD": "Download zulassen",
|
||||
"READ_ONLY": "Schreibgeschützt",
|
||||
"COMMENTS": "Kommentare anzeigen"
|
||||
},
|
||||
"PERSONAL-FILES": "Persönliche Dateien",
|
||||
"WARN-MULTIPLE-UPLOADS": "Warnung bei Mehrfach-Uploads anzeigen.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Meldung 'Benutzerdefinierte Berechtigung aktivieren'",
|
||||
"MEDIUM-TIME-FORMAT": "Mittleres Zeitformat für Dokumentliste aktivieren",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "Keine",
|
||||
"ALL": "Alle",
|
||||
"FOLDER": "Ordner",
|
||||
"DOCUMENT": "Dokument"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Willkommen",
|
||||
@@ -28,10 +52,19 @@
|
||||
"TITLE": "Metadaten"
|
||||
}
|
||||
},
|
||||
"COMMENTS": {
|
||||
"ADD_COMMENT": "Hinzufügen"
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "ADF-Demoanwendung",
|
||||
"HOME": "Startseite",
|
||||
"NODE-SELECTOR": "Node-Auswahl",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Breadcrumb",
|
||||
"NOTIFICATIONS": "Benachrichtigungen",
|
||||
"TASK_LIST": "Aufgabenliste",
|
||||
"PROCESS_LIST": "Prozessliste",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Anmelden",
|
||||
"CUSTOM_SOURCES": "Benutzerdefinierte Quellen",
|
||||
@@ -46,13 +79,15 @@
|
||||
"TRASHCAN": "Papierkorb",
|
||||
"SOCIAL": "Soziale Funktionen",
|
||||
"SETTINGS": "Einstellungen",
|
||||
"CONFIG-EDITOR": "Konfigurations-Editor",
|
||||
"OVERLAY_VIEWER": "Overlay-Viewer",
|
||||
"ABOUT": "Info",
|
||||
"SEARCH": "Erweiterte Suche",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Erweiterte Suche mit Abfragetext",
|
||||
"WORD_TO_SEARCH": "Suchbegriff",
|
||||
"SEARCH_CREATED_BY": "Erstellt von",
|
||||
"SEARCH_SERVICE_APPROACH": "Aktivieren Sie diese Option, um die Eingabeeigenschaft zu deaktivieren und die Nutzung des Services zu konfigurieren"
|
||||
"SEARCH_SERVICE_APPROACH": "Aktivieren Sie diese Option, um die Eingabeeigenschaft zu deaktivieren und die Nutzung des Services zu konfigurieren",
|
||||
"HEADER_DATA": "Headerdaten"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +102,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Mehrfachauswahl (mit Kontrollkästchen)",
|
||||
"THUMBNAILS": "Miniaturansichten aktivieren",
|
||||
"MULTIPLE_FILE_UPLOAD": "Mehrere Dateien hochladen",
|
||||
"FOLDER_UPLOAD": "Ordner hochladen",
|
||||
"CUSTOM_FILTER": "Filter für benutzerdefinierte Erweiterungen",
|
||||
@@ -97,7 +133,13 @@
|
||||
"NEW_FOLDER": "Neuer Ordner",
|
||||
"EDIT_FOLDER": "Ordner bearbeiten",
|
||||
"DOWNLOAD": "Herunterladen",
|
||||
"DELETE": "Löschen"
|
||||
"DELETE": "Löschen",
|
||||
"FAVORITES": "Zu Favoriten hinzufügen",
|
||||
"SHARE": "Freigeben",
|
||||
"THEME": "Farbschema auswählen",
|
||||
"SHOW_VERSION": "Version anzeigen",
|
||||
"HIDE_VERSION": "Version ausblenden",
|
||||
"LISTVIEW": "Listenansichtsmodus"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Versionen verwalten",
|
||||
@@ -136,7 +178,8 @@
|
||||
"START-TASK": "Aufgabe starten",
|
||||
"START-PROCESS": "Prozess starten",
|
||||
"PROCESS-AUDIT-LOG": "Prozess-Audit-Protokoll",
|
||||
"TASK-AUDIT-LOG": "Aufgaben-Audit-Protokoll"
|
||||
"TASK-AUDIT-LOG": "Aufgaben-Audit-Protokoll",
|
||||
"TASK-SHOW-HEADER": "Detailsheader anzeigen"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Speichern",
|
||||
@@ -152,7 +195,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Login-Fußzeile"
|
||||
"LOGIN_FOOTER": "Login-Fußzeile",
|
||||
"SHOW_REMEMBERME": "'Benutzername und Passwort speichern' anzeigen",
|
||||
"SHOW_SUCCESS_ROUTE": "Erfolgsroute anzeigen",
|
||||
"CUSTOM_LOGO": "Benutzerdefiniertes Logo"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Ergebnisse durchsuchen",
|
||||
@@ -170,5 +216,15 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Berechtigungen erben",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Berechtigungen geerbt"
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
|
||||
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein"
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
|
||||
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 1",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 2"
|
||||
}
|
||||
+221
-160
@@ -6,169 +6,230 @@
|
||||
"PROPERTIES": "Properties",
|
||||
"VERSIONS": "Versions"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Angular components for Alfresco",
|
||||
"DOCUMENTATION": "Documentation"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Logout Page",
|
||||
"SUB_TITLE": "You are now logged out",
|
||||
"LOGIN": "Login",
|
||||
"HOME": "Home"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Allow delete",
|
||||
"SHOW_COMMENTS" : "Show comments on versions",
|
||||
"ALLOW_DOWNLOAD" :"Enable version download"
|
||||
"SHOW_COMMENTS": "Show comments on versions",
|
||||
"ALLOW_DOWNLOAD": "Enable version download",
|
||||
"READ_ONLY": "Read-only",
|
||||
"ALLOW_DOWNLOAD": "Allow Download",
|
||||
"COMMENTS": "Show comments"
|
||||
},
|
||||
"PERSONAL-FILES": "Personal Files",
|
||||
"WARN-MULTIPLE-UPLOADS": "Display warning for multiple uploads.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Enable custom permission message",
|
||||
"MEDIUM-TIME-FORMAT": "Enable medium time format for document list",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "None",
|
||||
"ALL": "All",
|
||||
"FOLDER": "Folder",
|
||||
"DOCUMENT": "Document"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Welcome",
|
||||
"VERSION": {
|
||||
"NO_PERMISSION": "You don't have permission to manage versions of this content",
|
||||
"NO_PERMISSION_EVENT": "You don't have ${event.permission} permission to ${event.action} the ${event.type}",
|
||||
"CHOOSE_FILE": "Select a file to see its versions",
|
||||
"DIALOG": {
|
||||
"CLOSE": "Close",
|
||||
"TITLE": "Manage Versions"
|
||||
}
|
||||
},
|
||||
"METADATA": {
|
||||
"DIALOG": {
|
||||
"CLOSE": "Close",
|
||||
"TITLE": "Metadata"
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "ADF Demo Application",
|
||||
"HOME": "Home",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Login",
|
||||
"CUSTOM_SOURCES": "Custom Sources",
|
||||
"DATATABLE": "Datatable",
|
||||
"DATATABLE_LAZY": "Datatable (Lazy)",
|
||||
"FORM": "Form",
|
||||
"FORM_LIST": "Form List",
|
||||
"FORM_LOADING": "Form Loading",
|
||||
"UPLOADER": "Uploader",
|
||||
"WEBSCRIPT": "Webscript",
|
||||
"TAG": "Tag",
|
||||
"TRASHCAN": "Trashcan",
|
||||
"SOCIAL": "Social",
|
||||
"SETTINGS": "Settings",
|
||||
"OVERLAY_VIEWER": "Overlay Viewer",
|
||||
"ABOUT": "About",
|
||||
"SEARCH": "Extended Search",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Extended Search with Query Body",
|
||||
"WORD_TO_SEARCH":"Search Word",
|
||||
"SEARCH_CREATED_BY" : "Created By",
|
||||
"SEARCH_SERVICE_APPROACH": "Check this to disable the input property and configure using the service"
|
||||
},
|
||||
"TRASHCAN" :{
|
||||
"ACTIONS":{
|
||||
"DELETE_PERMANENT":"Delete permanently",
|
||||
"RESTORE":"Restore"
|
||||
},
|
||||
"EMPTY_STATE": {
|
||||
"TITLE": "Trash is empty",
|
||||
"FIRST_TEXT": "Items you delete are moved to the Trash.",
|
||||
"SECOND_TEXT": "Empty Trash to permanently delete items."
|
||||
}
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES" :"Multiselect (with checkboxes)",
|
||||
"MULTIPLE_FILE_UPLOAD" :"Multiple File Upload",
|
||||
"FOLDER_UPLOAD" :"Folder upload",
|
||||
"CUSTOM_FILTER" :"Custom extensions filter",
|
||||
"MAX_SIZE" : "Max size filter",
|
||||
"ENABLE_VERSIONING" :"Enable versioning",
|
||||
"DESCRIPTION_UPLOAD" : "Enable upload",
|
||||
"ENABLE_INFINITE_SCROLL":"Enable Infinite Scrolling",
|
||||
"MULTISELECT_DESCRIPTION" : "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items",
|
||||
"RECENT" : {
|
||||
"EMPTY_STATE": {
|
||||
"TITLE": "Recent Files list is empty"
|
||||
},
|
||||
"TITLE":"Recent Files"
|
||||
},
|
||||
"COLUMNS": {
|
||||
"DISPLAY_NAME": "Display name",
|
||||
"IS_LOCKED": "Lock",
|
||||
"TAG": "Tag",
|
||||
"CREATED_BY": "Created by",
|
||||
"CREATED_ON": "Created on",
|
||||
"CREATED": "Created",
|
||||
"SIZE": "Size",
|
||||
"DELETED_ON": "Deleted",
|
||||
"DELETED_BY": "Deleted by"
|
||||
},
|
||||
"TOOLBAR": {
|
||||
"CARDVIEW":"Card view mode",
|
||||
"NEW_FOLDER":"New folder",
|
||||
"EDIT_FOLDER":"Edit folder",
|
||||
"DOWNLOAD":"Download",
|
||||
"DELETE":"Delete"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Manage versions",
|
||||
"METADATA": "Info",
|
||||
"DOWNLOAD": "Download",
|
||||
"PERMISSION": "Permission",
|
||||
"FOLDER": {
|
||||
"COPY": "Copy",
|
||||
"MOVE": "Move",
|
||||
"DELETE": "Delete"
|
||||
},
|
||||
"DOCUMENT": {
|
||||
"COPY": "Copy",
|
||||
"MOVE": "Move",
|
||||
"DELETE": "Delete",
|
||||
"PROCESS_ACTION": "Start Process"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DATATABLE" :{
|
||||
"RESET_DEFAULT":"Reset to default",
|
||||
"ADD_ROW":"Add row",
|
||||
"REPLACE_ROWS":"Replace rows",
|
||||
"REPLACE_COLUMNS":"Replace columns",
|
||||
"LOAD_NODE":"Load Node",
|
||||
"MULTISELECT":"Multiselect",
|
||||
"MULTISELECT_DESCRIPTION":"Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "No report selected. Choose a report from the list"
|
||||
},
|
||||
"PS-TAB": {
|
||||
"TASKS-TAB": "Tasks",
|
||||
"PROCESSES-TAB": "Process",
|
||||
"REPORTS-TAB": "Reports",
|
||||
"START-TASK": "Start task",
|
||||
"START-PROCESS": "Start process",
|
||||
"PROCESS-AUDIT-LOG": "Process Audit log",
|
||||
"TASK-AUDIT-LOG": "Task Audit log"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Store",
|
||||
"RESTORE": "Restore"
|
||||
},
|
||||
"FORM-LOADING": {
|
||||
"FORM_DATA" : "Form Data",
|
||||
"FORM_DATA_MESSAGE": "Enter values to populate the form",
|
||||
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
|
||||
"RADIO_PLACEHOLDER": "Radio Button",
|
||||
"SELECT_PLACEHOLDER": "DropDown"
|
||||
},
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Login footer"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Search results",
|
||||
"NO_RESULT": "No results found"
|
||||
},
|
||||
"SOCIAL": {
|
||||
"LIKE":"Like component",
|
||||
"RATING":"Rating component"
|
||||
},
|
||||
"TAG": {
|
||||
"LIST":"List Tags Content Services",
|
||||
"INSERT":"Insert Node ID",
|
||||
"NODE_LIST":"Tag list By Node ID"
|
||||
},
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON" :"Inherit Permission" ,
|
||||
"INHERITED_PERMISSIONS_BUTTON" : "Permission Inherited"
|
||||
"title": "Welcome",
|
||||
"VERSION": {
|
||||
"NO_PERMISSION": "You don't have permission to manage versions of this content",
|
||||
"NO_PERMISSION_EVENT": "You don't have ${event.permission} permission to ${event.action} the ${event.type}",
|
||||
"CHOOSE_FILE": "Select a file to see its versions",
|
||||
"DIALOG": {
|
||||
"CLOSE": "Close",
|
||||
"TITLE": "Manage Versions"
|
||||
}
|
||||
},
|
||||
"METADATA": {
|
||||
"DIALOG": {
|
||||
"CLOSE": "Close",
|
||||
"TITLE": "Metadata"
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "ADF Demo Application",
|
||||
"HOME": "Home",
|
||||
"NODE-SELECTOR": "Node Selector",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Breadcrumb",
|
||||
"NOTIFICATIONS": "Notifications",
|
||||
"TASK_LIST": "Task List",
|
||||
"PROCESS_LIST": "Process List",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Login",
|
||||
"CUSTOM_SOURCES": "Custom Sources",
|
||||
"DATATABLE": "Datatable",
|
||||
"DATATABLE_LAZY": "Datatable (Lazy)",
|
||||
"FORM": "Form",
|
||||
"FORM_LIST": "Form List",
|
||||
"FORM_LOADING": "Form Loading",
|
||||
"UPLOADER": "Uploader",
|
||||
"WEBSCRIPT": "Webscript",
|
||||
"TAG": "Tag",
|
||||
"TRASHCAN": "Trashcan",
|
||||
"SOCIAL": "Social",
|
||||
"SETTINGS": "Settings",
|
||||
"CONFIG-EDITOR": "Configuration Editor",
|
||||
"OVERLAY_VIEWER": "Overlay Viewer",
|
||||
"ABOUT": "About",
|
||||
"SEARCH": "Extended Search",
|
||||
"NOTIFICATIONS": "Notifications",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Extended Search with Query Body",
|
||||
"WORD_TO_SEARCH": "Search Word",
|
||||
"SEARCH_CREATED_BY": "Created By",
|
||||
"SEARCH_SERVICE_APPROACH": "Check this to disable the input property and configure using the service",
|
||||
"HEADER_DATA": "Header Data"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
"DELETE_PERMANENT": "Delete permanently",
|
||||
"RESTORE": "Restore"
|
||||
},
|
||||
"EMPTY_STATE": {
|
||||
"TITLE": "Trash is empty",
|
||||
"FIRST_TEXT": "Items you delete are moved to the Trash.",
|
||||
"SECOND_TEXT": "Empty Trash to permanently delete items."
|
||||
}
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Multiselect (with checkboxes)",
|
||||
"THUMBNAILS": "Enable Thumbnails",
|
||||
"MULTIPLE_FILE_UPLOAD": "Multiple File Upload",
|
||||
"FOLDER_UPLOAD": "Folder upload",
|
||||
"CUSTOM_FILTER": "Custom extensions filter",
|
||||
"MAX_SIZE": "Max size filter",
|
||||
"ENABLE_VERSIONING": "Enable versioning",
|
||||
"DESCRIPTION_UPLOAD": "Enable upload",
|
||||
"ENABLE_INFINITE_SCROLL": "Enable Infinite Scrolling",
|
||||
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items",
|
||||
"RECENT": {
|
||||
"EMPTY_STATE": {
|
||||
"TITLE": "Recent Files list is empty"
|
||||
},
|
||||
"TITLE": "Recent Files"
|
||||
},
|
||||
"COLUMNS": {
|
||||
"DISPLAY_NAME": "Display name",
|
||||
"IS_LOCKED": "Lock",
|
||||
"TAG": "Tag",
|
||||
"CREATED_BY": "Created by",
|
||||
"CREATED_ON": "Created on",
|
||||
"CREATED": "Created",
|
||||
"SIZE": "Size",
|
||||
"DELETED_ON": "Deleted",
|
||||
"DELETED_BY": "Deleted by"
|
||||
},
|
||||
"TOOLBAR": {
|
||||
"CARDVIEW": "Card view mode",
|
||||
"NEW_FOLDER": "New folder",
|
||||
"EDIT_FOLDER": "Edit folder",
|
||||
"DOWNLOAD": "Download",
|
||||
"DELETE": "Delete",
|
||||
"FAVORITES": "Add to favorites",
|
||||
"SHARE": "Share",
|
||||
"THEME": "Select a theme",
|
||||
"SHOW_VERSION": "Show version",
|
||||
"HIDE_VERSION": "Hide version",
|
||||
"LISTVIEW": "List view mode"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Manage versions",
|
||||
"METADATA": "Info",
|
||||
"DOWNLOAD": "Download",
|
||||
"PERMISSION": "Permission",
|
||||
"FOLDER": {
|
||||
"COPY": "Copy",
|
||||
"MOVE": "Move",
|
||||
"DELETE": "Delete"
|
||||
},
|
||||
"DOCUMENT": {
|
||||
"COPY": "Copy",
|
||||
"MOVE": "Move",
|
||||
"DELETE": "Delete",
|
||||
"PROCESS_ACTION": "Start Process"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DATATABLE": {
|
||||
"RESET_DEFAULT": "Reset to default",
|
||||
"ADD_ROW": "Add row",
|
||||
"REPLACE_ROWS": "Replace rows",
|
||||
"REPLACE_COLUMNS": "Replace columns",
|
||||
"LOAD_NODE": "Load Node",
|
||||
"MULTISELECT": "Multiselect",
|
||||
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "No report selected. Choose a report from the list"
|
||||
},
|
||||
"PS-TAB": {
|
||||
"TASKS-TAB": "Tasks",
|
||||
"PROCESSES-TAB": "Process",
|
||||
"REPORTS-TAB": "Reports",
|
||||
"START-TASK": "Start task",
|
||||
"START-PROCESS": "Start process",
|
||||
"PROCESS-AUDIT-LOG": "Process Audit log",
|
||||
"TASK-AUDIT-LOG": "Task Audit log",
|
||||
"TASK-SHOW-HEADER": "Show details header"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Store",
|
||||
"RESTORE": "Restore"
|
||||
},
|
||||
"FORM-LOADING": {
|
||||
"FORM_DATA": "Form Data",
|
||||
"FORM_DATA_MESSAGE": "Enter values to populate the form",
|
||||
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
|
||||
"RADIO_PLACEHOLDER": "Radio Button",
|
||||
"SELECT_PLACEHOLDER": "DropDown"
|
||||
},
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Login footer",
|
||||
"SHOW_REMEMBERME": "Show remember me",
|
||||
"SHOW_SUCCESS_ROUTE": "Show success route",
|
||||
"CUSTOM_LOGO": "Custom Logo"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Search results",
|
||||
"NO_RESULT": "No results found"
|
||||
},
|
||||
"SOCIAL": {
|
||||
"LIKE": "Like component",
|
||||
"RATING": "Rating component"
|
||||
},
|
||||
"TAG": {
|
||||
"LIST": "List Tags Content Services",
|
||||
"INSERT": "Insert Node ID",
|
||||
"NODE_LIST": "Tag list By Node ID"
|
||||
},
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Inherit Permission",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Permission Inherited"
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "Insert App ID",
|
||||
"APP_ID_TYPE_ERROR": "App ID must be a number",
|
||||
"NUMBER_TYPE_ERROR": "Value must be a number"
|
||||
},
|
||||
"TOOLTIP_MESSAGE": {
|
||||
"START_INPUT": "Starting page"
|
||||
}
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Insert App ID",
|
||||
"APP_ID_TYPE_ERROR": "App ID must be a number"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION ONE",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION TWO"
|
||||
}
|
||||
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "Propiedades",
|
||||
"VERSIONS": "Versiones"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Componentes angulares para Alfresco",
|
||||
"DOCUMENTATION": "Documentación"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Página de cierre de sesión",
|
||||
"SUB_TITLE": "Se ha cerrado su sesión",
|
||||
"LOGIN": "Iniciar sesión",
|
||||
"HOME": "Inicio"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Permitir eliminar",
|
||||
"SHOW_COMMENTS": "Mostrar comentarios en las versiones",
|
||||
"ALLOW_DOWNLOAD": "Permitir descarga de la versión"
|
||||
"ALLOW_DOWNLOAD": "Permitir descarga",
|
||||
"READ_ONLY": "Solo lectura",
|
||||
"COMMENTS": "Mostrar comentarios"
|
||||
},
|
||||
"PERSONAL-FILES": "Ficheros personales",
|
||||
"WARN-MULTIPLE-UPLOADS": "Mostrar advertencia de múltiples cargas.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Habilitar mensaje de permiso personalizado",
|
||||
"MEDIUM-TIME-FORMAT": "Habilitar formato de tiempo mediano para lista de documentos",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "Ninguno",
|
||||
"ALL": "Todos",
|
||||
"FOLDER": "Carpeta",
|
||||
"DOCUMENT": "Documento"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Bienvenido",
|
||||
@@ -31,7 +55,13 @@
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "Aplicación ADF Demo",
|
||||
"HOME": "Inicio",
|
||||
"NODE-SELECTOR": "Selector de nodo",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Ruta de navegación",
|
||||
"NOTIFICATIONS": "Notificaciones",
|
||||
"TASK_LIST": "Lista de tareas",
|
||||
"PROCESS_LIST": "Lista de procesos",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Iniciar sesión",
|
||||
"CUSTOM_SOURCES": "Fuentes personalizadas",
|
||||
@@ -46,13 +76,15 @@
|
||||
"TRASHCAN": "Papelera",
|
||||
"SOCIAL": "Social",
|
||||
"SETTINGS": "Configuración",
|
||||
"CONFIG-EDITOR": "Editor de configuración",
|
||||
"OVERLAY_VIEWER": "Visor de superposición",
|
||||
"ABOUT": "Acerca de",
|
||||
"SEARCH": "Búsqueda ampliada",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Búsqueda ampliada con cuerpo de consulta",
|
||||
"WORD_TO_SEARCH": "Buscar palabra",
|
||||
"SEARCH_CREATED_BY": "Creado por",
|
||||
"SEARCH_SERVICE_APPROACH": "Marque esto para desactivar la propiedad de entrada y configurar el uso del servicio"
|
||||
"SEARCH_SERVICE_APPROACH": "Marque esto para desactivar la propiedad de entrada y configurar el uso del servicio",
|
||||
"HEADER_DATA": "Datos de encabezado"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +99,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Selección múltiple (con casillas)",
|
||||
"THUMBNAILS": "Habilitar miniaturas",
|
||||
"MULTIPLE_FILE_UPLOAD": "Carga de varios ficheros",
|
||||
"FOLDER_UPLOAD": "Carga de carpetas",
|
||||
"CUSTOM_FILTER": "Filtro de extensiones personalizado",
|
||||
@@ -97,7 +130,13 @@
|
||||
"NEW_FOLDER": "Nueva carpeta",
|
||||
"EDIT_FOLDER": "Editar carpeta",
|
||||
"DOWNLOAD": "Descargar",
|
||||
"DELETE": "Eliminar"
|
||||
"DELETE": "Eliminar",
|
||||
"FAVORITES": "Añadir a Favoritos",
|
||||
"SHARE": "Compartir",
|
||||
"THEME": "Seleccionar un tema",
|
||||
"SHOW_VERSION": "Mostrar versión",
|
||||
"HIDE_VERSION": "Ocultar versión",
|
||||
"LISTVIEW": "Modo de vista de lista"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Gestionar versiones",
|
||||
@@ -136,7 +175,8 @@
|
||||
"START-TASK": "Iniciar tarea",
|
||||
"START-PROCESS": "Iniciar proceso",
|
||||
"PROCESS-AUDIT-LOG": "Registro de auditoría de procesos",
|
||||
"TASK-AUDIT-LOG": "Registro de auditoría de tareas"
|
||||
"TASK-AUDIT-LOG": "Registro de auditoría de tareas",
|
||||
"TASK-SHOW-HEADER": "Mostrar encabezado de detalles"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Almacenar",
|
||||
@@ -152,7 +192,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Pie del inicio de sesión"
|
||||
"LOGIN_FOOTER": "Pie del inicio de sesión",
|
||||
"SHOW_REMEMBERME": "Mostrar opción para recordarme",
|
||||
"SHOW_SUCCESS_ROUTE": "Permitir ruta correcta",
|
||||
"CUSTOM_LOGO": "Logotipo personalizado"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Resultados de la búsqueda",
|
||||
@@ -170,5 +213,21 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Heredar permiso",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Permiso heredado"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
|
||||
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número",
|
||||
"NUMBER_TYPE_ERROR": "El valor ingresado debe ser numérico"
|
||||
},
|
||||
"TOOLTIP_MESSAGE": {
|
||||
"START_INPUT": "Página de inicio"
|
||||
}
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
|
||||
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "Traducción de título personalizado 1",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "Traducción de título personalizado 2"
|
||||
}
|
||||
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "Propriétés",
|
||||
"VERSIONS": "Versions"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Composants Angular pour Alfresco",
|
||||
"DOCUMENTATION": "Documentation"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Page de déconnexion",
|
||||
"SUB_TITLE": "Vous êtes bien déconnecté",
|
||||
"LOGIN": "Connexion",
|
||||
"HOME": "Accueil"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Autoriser la suppression",
|
||||
"SHOW_COMMENTS": "Afficher les commentaires sur les versions",
|
||||
"ALLOW_DOWNLOAD": "Autoriser le téléchargement de la version"
|
||||
"ALLOW_DOWNLOAD": "Autoriser le téléchargement",
|
||||
"READ_ONLY": "Lecture seule",
|
||||
"COMMENTS": "Afficher les commentaires"
|
||||
},
|
||||
"PERSONAL-FILES": "Fichiers personnels",
|
||||
"WARN-MULTIPLE-UPLOADS": "Avertir en cas de téléchargements multiples.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Activer le message de droits d'accès personnalisés",
|
||||
"MEDIUM-TIME-FORMAT": "Activer le format de date \"medium\" pour la liste de documents",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "Aucune",
|
||||
"ALL": "Tout",
|
||||
"FOLDER": "Dossier",
|
||||
"DOCUMENT": "Document"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Bienvenue",
|
||||
@@ -31,7 +55,13 @@
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "Application Démo ADF",
|
||||
"HOME": "Accueil",
|
||||
"NODE-SELECTOR": "Sélecteur de nœud",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Fil d'Ariane",
|
||||
"NOTIFICATIONS": "Notifications",
|
||||
"TASK_LIST": "Liste des tâches",
|
||||
"PROCESS_LIST": "Liste des processus",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Connexion",
|
||||
"CUSTOM_SOURCES": "Sources personnalisées",
|
||||
@@ -46,13 +76,15 @@
|
||||
"TRASHCAN": "Corbeille",
|
||||
"SOCIAL": "Réseaux sociaux",
|
||||
"SETTINGS": "Paramètres",
|
||||
"CONFIG-EDITOR": "Editeur de configuration",
|
||||
"OVERLAY_VIEWER": "Visualisation de la superposition",
|
||||
"ABOUT": "À propos de",
|
||||
"SEARCH": "Recherche globale",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Recherche globale sur le corps de la requête",
|
||||
"WORD_TO_SEARCH": "Mot recherché",
|
||||
"SEARCH_CREATED_BY": "Créé par",
|
||||
"SEARCH_SERVICE_APPROACH": "Cochez cette option pour désactiver la propriété d'entrée et configurer à partir du service"
|
||||
"SEARCH_SERVICE_APPROACH": "Cochez cette option pour désactiver la propriété d'entrée et configurer à partir du service",
|
||||
"HEADER_DATA": "Données d'en-tête"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +99,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Sélection multiple (avec cases à cocher)",
|
||||
"THUMBNAILS": "Activer les miniatures",
|
||||
"MULTIPLE_FILE_UPLOAD": "Importation de fichiers multiples",
|
||||
"FOLDER_UPLOAD": "Importation de dossier",
|
||||
"CUSTOM_FILTER": "Filtre d'extensions personnalisées",
|
||||
@@ -97,7 +130,13 @@
|
||||
"NEW_FOLDER": "Nouveau Dossier",
|
||||
"EDIT_FOLDER": "Modifier le dossier",
|
||||
"DOWNLOAD": "Télécharger",
|
||||
"DELETE": "Supprimer"
|
||||
"DELETE": "Supprimer",
|
||||
"FAVORITES": "Ajouter aux favoris",
|
||||
"SHARE": "Partager",
|
||||
"THEME": "Sélectionner un thème",
|
||||
"SHOW_VERSION": "Afficher la version",
|
||||
"HIDE_VERSION": "Masquer la version",
|
||||
"LISTVIEW": "Mode Liste"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Gérer les versions",
|
||||
@@ -136,7 +175,8 @@
|
||||
"START-TASK": "Démarrer la tâche",
|
||||
"START-PROCESS": "Démarrer le processus",
|
||||
"PROCESS-AUDIT-LOG": "Journal d'audit des processus",
|
||||
"TASK-AUDIT-LOG": "Journal d'audit des tâches"
|
||||
"TASK-AUDIT-LOG": "Journal d'audit des tâches",
|
||||
"TASK-SHOW-HEADER": "Afficher l'en-tête de détail"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Stocker",
|
||||
@@ -152,7 +192,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Pied de la page connexion"
|
||||
"LOGIN_FOOTER": "Pied de la page connexion",
|
||||
"SHOW_REMEMBERME": "Afficher Mémoriser mes informations",
|
||||
"SHOW_SUCCESS_ROUTE": "Afficher la success route",
|
||||
"CUSTOM_LOGO": "Logo personnalisé"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Résultats de la recherche",
|
||||
@@ -170,5 +213,21 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Hériter les droits d'accès",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Droits d'accès hérités"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
|
||||
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro",
|
||||
"NUMBER_TYPE_ERROR": "La valeur saisie doit être numérique"
|
||||
},
|
||||
"TOOLTIP_MESSAGE": {
|
||||
"START_INPUT": "Page d'accueil"
|
||||
}
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
|
||||
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "Titre personnalisé traduction un",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "Titre personnalisé traduction deux"
|
||||
}
|
||||
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "Proprietà",
|
||||
"VERSIONS": "Versione"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Componenti angolari per Alfresco",
|
||||
"DOCUMENTATION": "Documentazione"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Pagina di uscita",
|
||||
"SUB_TITLE": "Utente disconnesso",
|
||||
"LOGIN": "Login",
|
||||
"HOME": "Home"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Consenti eliminazione",
|
||||
"SHOW_COMMENTS": "Mostra commenti sulle versioni",
|
||||
"ALLOW_DOWNLOAD": "Abilita download versioni"
|
||||
"ALLOW_DOWNLOAD": "Abilita download",
|
||||
"READ_ONLY": "Sola lettura",
|
||||
"COMMENTS": "Mostra commenti"
|
||||
},
|
||||
"PERSONAL-FILES": "File personali",
|
||||
"WARN-MULTIPLE-UPLOADS": "Mostra avviso per caricamenti multipli.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Abilita messaggio di autorizzazione personalizzato",
|
||||
"MEDIUM-TIME-FORMAT": "Abilita formato tempo medio per elenco documenti",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "Nessuno",
|
||||
"ALL": "Tutti",
|
||||
"FOLDER": "Cartella",
|
||||
"DOCUMENT": "Documento"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Benvenuto",
|
||||
@@ -31,7 +55,13 @@
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "Applicazione demo ADF",
|
||||
"HOME": "Home",
|
||||
"NODE-SELECTOR": "Selezione nodo",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Breadcrumb",
|
||||
"NOTIFICATIONS": "Notifiche",
|
||||
"TASK_LIST": "Elenco attività",
|
||||
"PROCESS_LIST": "Elenco processi",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Login",
|
||||
"CUSTOM_SOURCES": "Fonti personalizzate",
|
||||
@@ -46,13 +76,15 @@
|
||||
"TRASHCAN": "Cestino",
|
||||
"SOCIAL": "Social",
|
||||
"SETTINGS": "Impostazioni",
|
||||
"CONFIG-EDITOR": "Editor configurazione",
|
||||
"OVERLAY_VIEWER": "Visualizzatore overlay",
|
||||
"ABOUT": "Informazioni su",
|
||||
"SEARCH": "Ricerca estesa",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Ricerca estesa con corpo query",
|
||||
"WORD_TO_SEARCH": "Termine di ricerca",
|
||||
"SEARCH_CREATED_BY": "Creato da",
|
||||
"SEARCH_SERVICE_APPROACH": "Selezionare per disattivare la proprietà di input ed eseguire la configurazione utilizzando il servizio"
|
||||
"SEARCH_SERVICE_APPROACH": "Selezionare per disattivare la proprietà di input ed eseguire la configurazione utilizzando il servizio",
|
||||
"HEADER_DATA": "Dati intestazione"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +99,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Selezione multipla (con caselle di spunta)",
|
||||
"THUMBNAILS": "Abilita anteprime",
|
||||
"MULTIPLE_FILE_UPLOAD": "Caricamento di file multipli",
|
||||
"FOLDER_UPLOAD": "Caricamento cartelle",
|
||||
"CUSTOM_FILTER": "Filtro estensioni personalizzato",
|
||||
@@ -97,7 +130,13 @@
|
||||
"NEW_FOLDER": "Nuova cartella",
|
||||
"EDIT_FOLDER": "Modifica cartella",
|
||||
"DOWNLOAD": "Download",
|
||||
"DELETE": "Elimina"
|
||||
"DELETE": "Elimina",
|
||||
"FAVORITES": "Aggiungi ai preferiti",
|
||||
"SHARE": "Condividi",
|
||||
"THEME": "Seleziona un tema",
|
||||
"SHOW_VERSION": "Mostra versione",
|
||||
"HIDE_VERSION": "Nascondi versione",
|
||||
"LISTVIEW": "Modalità vista elenco"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Gestione versioni",
|
||||
@@ -136,7 +175,8 @@
|
||||
"START-TASK": "Avvia compito",
|
||||
"START-PROCESS": "Avvia processo",
|
||||
"PROCESS-AUDIT-LOG": "Registro di audit processo",
|
||||
"TASK-AUDIT-LOG": "Registro di audit compito"
|
||||
"TASK-AUDIT-LOG": "Registro di audit compito",
|
||||
"TASK-SHOW-HEADER": "Mostra intestazione dettagli"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Memorizza",
|
||||
@@ -152,7 +192,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Piè di pagina login"
|
||||
"LOGIN_FOOTER": "Piè di pagina login",
|
||||
"SHOW_REMEMBERME": "Mostra utente memorizzato",
|
||||
"SHOW_SUCCESS_ROUTE": "Mostra percorso riuscito",
|
||||
"CUSTOM_LOGO": "Logo personalizzato"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Risultati della ricerca",
|
||||
@@ -170,5 +213,21 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Eredita permessi",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Permesso ereditato"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
|
||||
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero",
|
||||
"NUMBER_TYPE_ERROR": "Il valore inserito deve essere numerico"
|
||||
},
|
||||
"TOOLTIP_MESSAGE": {
|
||||
"START_INPUT": "Pagina iniziale"
|
||||
}
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
|
||||
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "Custom Title Translation One",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "Custom Title Translation Two"
|
||||
}
|
||||
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "プロパティ",
|
||||
"VERSIONS": "バージョン"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Alfresco の Angular コンポーネント",
|
||||
"DOCUMENTATION": "文書化"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "ログアウトページ",
|
||||
"SUB_TITLE": "ログアウトしました",
|
||||
"LOGIN": "ログイン",
|
||||
"HOME": "ホーム"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "削除を許可する",
|
||||
"SHOW_COMMENTS": "バージョンに関するコメントを表示",
|
||||
"ALLOW_DOWNLOAD": "バージョンのダウンロードを許可する"
|
||||
"ALLOW_DOWNLOAD": "ダウンロードを許可する",
|
||||
"READ_ONLY": "読取り専用",
|
||||
"COMMENTS": "コメントを表示する"
|
||||
},
|
||||
"PERSONAL-FILES": "個人的なファイル",
|
||||
"WARN-MULTIPLE-UPLOADS": "複数のアップロードの警告を表示します。",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "カスタムの権限メッセージを有効にする",
|
||||
"MEDIUM-TIME-FORMAT": "文書リストの medium 時刻形式を有効にする",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "なし",
|
||||
"ALL": "すべて",
|
||||
"FOLDER": "フォルダ",
|
||||
"DOCUMENT": "文書"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "ようこそ",
|
||||
@@ -31,7 +55,13 @@
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "ADF デモアプリケーション",
|
||||
"HOME": "ホーム",
|
||||
"NODE-SELECTOR": "ノードセレクター",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "階層リンク",
|
||||
"NOTIFICATIONS": "通知",
|
||||
"TASK_LIST": "タスクリスト",
|
||||
"PROCESS_LIST": "プロセスリスト",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "ログイン",
|
||||
"CUSTOM_SOURCES": "カスタムソース",
|
||||
@@ -46,13 +76,15 @@
|
||||
"TRASHCAN": "ごみ箱",
|
||||
"SOCIAL": "ソーシャル",
|
||||
"SETTINGS": "設定",
|
||||
"CONFIG-EDITOR": "設定エディター",
|
||||
"OVERLAY_VIEWER": "オーバーレイビューア",
|
||||
"ABOUT": "バージョン情報",
|
||||
"SEARCH": "詳細検索",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "クエリ本体を使った詳細検索",
|
||||
"WORD_TO_SEARCH": "語句の検索",
|
||||
"SEARCH_CREATED_BY": "作成者",
|
||||
"SEARCH_SERVICE_APPROACH": "入力プロパティを無効にし、サービスを使って設定する場合は、このチェックボックスをオンにします"
|
||||
"SEARCH_SERVICE_APPROACH": "入力プロパティを無効にし、サービスを使って設定する場合は、このチェックボックスをオンにします",
|
||||
"HEADER_DATA": "ヘッダーの日付"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +99,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "複数選択 (チェックボックスを使用)",
|
||||
"THUMBNAILS": "サムネイルを有効にする",
|
||||
"MULTIPLE_FILE_UPLOAD": "複数ファイルのアップロード",
|
||||
"FOLDER_UPLOAD": "フォルダのアップロード",
|
||||
"CUSTOM_FILTER": "カスタム拡張子フィルタ",
|
||||
@@ -97,7 +130,13 @@
|
||||
"NEW_FOLDER": "新しいフォルダ",
|
||||
"EDIT_FOLDER": "フォルダの編集",
|
||||
"DOWNLOAD": "ダウンロード",
|
||||
"DELETE": "削除"
|
||||
"DELETE": "削除",
|
||||
"FAVORITES": "[お気に入り] に追加",
|
||||
"SHARE": "共有",
|
||||
"THEME": "テーマを選択してください",
|
||||
"SHOW_VERSION": "バージョンを表示する",
|
||||
"HIDE_VERSION": "バージョンを隠す",
|
||||
"LISTVIEW": "一覧表示モード"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "バージョンの管理",
|
||||
@@ -136,7 +175,8 @@
|
||||
"START-TASK": "タスクの開始",
|
||||
"START-PROCESS": "プロセスの開始",
|
||||
"PROCESS-AUDIT-LOG": "プロセスの監査ログ",
|
||||
"TASK-AUDIT-LOG": "タスクの監査ログ"
|
||||
"TASK-AUDIT-LOG": "タスクの監査ログ",
|
||||
"TASK-SHOW-HEADER": "詳細ヘッダーを表示する"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "保存",
|
||||
@@ -152,7 +192,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "ログインページのフッター"
|
||||
"LOGIN_FOOTER": "ログインページのフッター",
|
||||
"SHOW_REMEMBERME": "ログイン情報の保存オプションを表示する",
|
||||
"SHOW_SUCCESS_ROUTE": "サクセスルートを表示する",
|
||||
"CUSTOM_LOGO": "カスタムのロゴ"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "検索結果",
|
||||
@@ -170,5 +213,15 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "権限の継承",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "継承された権限"
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入する",
|
||||
"APP_ID_TYPE_ERROR": "アプリケーション ID は番号でなければなりません"
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入する",
|
||||
"APP_ID_TYPE_ERROR": "アプリケーション ID は番号でなければなりません"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "カスタムのタイトル翻訳 1",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "カスタムのタイトル翻訳 2"
|
||||
}
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "Egenskaper",
|
||||
"VERSIONS": "Versjoner"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Vinkelkomponenter for Alfresco",
|
||||
"DOCUMENTATION": "Dokumentasjon"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Avloggingsside",
|
||||
"SUB_TITLE": "Du er nå logget av",
|
||||
"LOGIN": "Logg på",
|
||||
"HOME": "Hjem"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Tillat sletting",
|
||||
"SHOW_COMMENTS": "Vis kommentarer om versjoner",
|
||||
"ALLOW_DOWNLOAD": "Tillat versjonsnedlasting"
|
||||
"ALLOW_DOWNLOAD": "Tillat nedlasting",
|
||||
"READ_ONLY": "Skrivebeskyttet",
|
||||
"COMMENTS": "Vis kommentarer"
|
||||
},
|
||||
"PERSONAL-FILES": "Personlige filer",
|
||||
"WARN-MULTIPLE-UPLOADS": "Vis advarsel for flere opplastinger.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Aktiver tilpasset tillatelsesmelding",
|
||||
"MEDIUM-TIME-FORMAT": "Aktiver medium tidsformat for dokumentliste",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "Ingen",
|
||||
"ALL": "Alle",
|
||||
"FOLDER": "Mappe",
|
||||
"DOCUMENT": "Dokument"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Velkommen",
|
||||
@@ -31,7 +55,13 @@
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "ADF-demoprogam",
|
||||
"HOME": "Hjem",
|
||||
"NODE-SELECTOR": "Nodevelger",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Søkebane",
|
||||
"NOTIFICATIONS": "Varsler",
|
||||
"TASK_LIST": "Oppgaveliste",
|
||||
"PROCESS_LIST": "Prosessliste",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Logg på",
|
||||
"CUSTOM_SOURCES": "Tilpassede kilder",
|
||||
@@ -46,13 +76,15 @@
|
||||
"TRASHCAN": "Søppelkurv",
|
||||
"SOCIAL": "Sosial",
|
||||
"SETTINGS": "Innstillinger",
|
||||
"CONFIG-EDITOR": "Konfigurasjonsredigering",
|
||||
"OVERLAY_VIEWER": "Overleggsfremviser",
|
||||
"ABOUT": "Om",
|
||||
"SEARCH": "Utvidet søk",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Utvidet søk med spørringsuttrykk",
|
||||
"WORD_TO_SEARCH": "Søkeord",
|
||||
"SEARCH_CREATED_BY": "Opprettet av",
|
||||
"SEARCH_SERVICE_APPROACH": "Velg dette for å deaktivere inndataegenskapen og konfigurere ved hjelp av tjenesten"
|
||||
"SEARCH_SERVICE_APPROACH": "Velg dette for å deaktivere inndataegenskapen og konfigurere ved hjelp av tjenesten",
|
||||
"HEADER_DATA": "Overskriftsdata"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +99,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Multivalg (med avskrysningsbokser)",
|
||||
"THUMBNAILS": "Aktiver miniatyrbilder",
|
||||
"MULTIPLE_FILE_UPLOAD": "Opplasting av flere filer",
|
||||
"FOLDER_UPLOAD": "Opplasting av mappe",
|
||||
"CUSTOM_FILTER": "Tilpasset utvidelsesfilter",
|
||||
@@ -97,7 +130,13 @@
|
||||
"NEW_FOLDER": "Ny mappe",
|
||||
"EDIT_FOLDER": "Rediger mappe",
|
||||
"DOWNLOAD": "Last ned",
|
||||
"DELETE": "Slett"
|
||||
"DELETE": "Slett",
|
||||
"FAVORITES": "Legg til favoritter",
|
||||
"SHARE": "Del",
|
||||
"THEME": "Velg et tema",
|
||||
"SHOW_VERSION": "Vis versjon",
|
||||
"HIDE_VERSION": "Skjul versjon",
|
||||
"LISTVIEW": "Listevisningsmodus"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Administrer versjoner",
|
||||
@@ -136,7 +175,8 @@
|
||||
"START-TASK": "Start oppgave",
|
||||
"START-PROCESS": "Start prosess",
|
||||
"PROCESS-AUDIT-LOG": "Prosessrevisjonslogg",
|
||||
"TASK-AUDIT-LOG": "Oppgaverevisjonslogg"
|
||||
"TASK-AUDIT-LOG": "Oppgaverevisjonslogg",
|
||||
"TASK-SHOW-HEADER": "Vis detaljoverskrift"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Lagre",
|
||||
@@ -152,7 +192,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Bunntekt pålogging"
|
||||
"LOGIN_FOOTER": "Bunntekt pålogging",
|
||||
"SHOW_REMEMBERME": "Vis husk meg",
|
||||
"SHOW_SUCCESS_ROUTE": "Vis riktig rute",
|
||||
"CUSTOM_LOGO": "Egendefinert logo"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Søkeresultater",
|
||||
@@ -170,5 +213,15 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Arv tillatelse",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Tillatelse arvet"
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
|
||||
"APP_ID_TYPE_ERROR": "App-ID må være et tall"
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
|
||||
"APP_ID_TYPE_ERROR": "App-ID må være et tall"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "Egendefinert tittel, oversettelse én",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "Egendefinert tittel, oversettelse to"
|
||||
}
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "Eigenschappen",
|
||||
"VERSIONS": "Versies"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Angular-componenten voor Alfresco",
|
||||
"DOCUMENTATION": "Documentatie"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Afmeldingspagina",
|
||||
"SUB_TITLE": "U bent nu afgemeld",
|
||||
"LOGIN": "Aanmelden",
|
||||
"HOME": "Home"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Verwijderen toestaan",
|
||||
"SHOW_COMMENTS": "Opmerkingen over versies tonen",
|
||||
"ALLOW_DOWNLOAD": "Downloaden van versies toestaan"
|
||||
"ALLOW_DOWNLOAD": "Downloaden toestaan",
|
||||
"READ_ONLY": "Alleen-lezen",
|
||||
"COMMENTS": "Opmerkingen weergeven"
|
||||
},
|
||||
"PERSONAL-FILES": "Persoonlijke bestanden",
|
||||
"WARN-MULTIPLE-UPLOADS": "Waarschuwing weergeven bij meerdere uploads.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Aangepast machtigingsbericht inschakelen",
|
||||
"MEDIUM-TIME-FORMAT": "Middellange tijdnotatie voor lijst met documenten inschakelen",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "Geen",
|
||||
"ALL": "Alle",
|
||||
"FOLDER": "Map",
|
||||
"DOCUMENT": "Document"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Welkom",
|
||||
@@ -31,7 +55,13 @@
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "ADF-demotoepassing",
|
||||
"HOME": "Home",
|
||||
"NODE-SELECTOR": "Selectiefunctie voor node",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Navigatiepad",
|
||||
"NOTIFICATIONS": "Meldingen",
|
||||
"TASK_LIST": "Lijst met taken",
|
||||
"PROCESS_LIST": "Lijst met processen",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Aanmelden",
|
||||
"CUSTOM_SOURCES": "Aangepaste bronnen",
|
||||
@@ -46,13 +76,15 @@
|
||||
"TRASHCAN": "Prullenbak",
|
||||
"SOCIAL": "Sociaal",
|
||||
"SETTINGS": "Instellingen",
|
||||
"CONFIG-EDITOR": "Configuratie-editor",
|
||||
"OVERLAY_VIEWER": "Overlay-viewer",
|
||||
"ABOUT": "Info",
|
||||
"SEARCH": "Uitgebreid zoeken",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Uitgebreid zoeken met queryhoofdcode",
|
||||
"WORD_TO_SEARCH": "Zoekterm",
|
||||
"SEARCH_CREATED_BY": "Gemaakt door",
|
||||
"SEARCH_SERVICE_APPROACH": "Schakel dit in om de invoereigenschap uit te schakelen en om te configureren via de service"
|
||||
"SEARCH_SERVICE_APPROACH": "Schakel dit in om de invoereigenschap uit te schakelen en om te configureren via de service",
|
||||
"HEADER_DATA": "Koptekstgegevens"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +99,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Multiselect (met selectievakjes)",
|
||||
"THUMBNAILS": "Miniaturen inschakelen",
|
||||
"MULTIPLE_FILE_UPLOAD": "Meerdere bestanden uploaden",
|
||||
"FOLDER_UPLOAD": "Map uploaden",
|
||||
"CUSTOM_FILTER": "Aangepast extensiefilter",
|
||||
@@ -97,7 +130,13 @@
|
||||
"NEW_FOLDER": "Nieuwe map",
|
||||
"EDIT_FOLDER": "Map bewerken",
|
||||
"DOWNLOAD": "Downloaden",
|
||||
"DELETE": "Verwijderen"
|
||||
"DELETE": "Verwijderen",
|
||||
"FAVORITES": "Toevoegen aan favorieten",
|
||||
"SHARE": "Delen",
|
||||
"THEME": "Een thema selecteren",
|
||||
"SHOW_VERSION": "Versie weergeven",
|
||||
"HIDE_VERSION": "Versie verbergen",
|
||||
"LISTVIEW": "Lijstweergavemodus"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Versies beheren",
|
||||
@@ -136,7 +175,8 @@
|
||||
"START-TASK": "Taak starten",
|
||||
"START-PROCESS": "Proces starten",
|
||||
"PROCESS-AUDIT-LOG": "Auditlog van proces",
|
||||
"TASK-AUDIT-LOG": "Auditlog van taak"
|
||||
"TASK-AUDIT-LOG": "Auditlog van taak",
|
||||
"TASK-SHOW-HEADER": "Detailkoptekst weergeven"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Opslaan",
|
||||
@@ -152,7 +192,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Voettekst aanmeldingspagina"
|
||||
"LOGIN_FOOTER": "Voettekst aanmeldingspagina",
|
||||
"SHOW_REMEMBERME": "'Mij onthouden' weergeven",
|
||||
"SHOW_SUCCESS_ROUTE": "Succesroute weergeven",
|
||||
"CUSTOM_LOGO": "Aangepast logo"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Zoekresultaten",
|
||||
@@ -170,5 +213,15 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Machtiging overnemen",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Machtiging overgenomen"
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
|
||||
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn"
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
|
||||
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "Aangepaste titel vertaling één",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "Aangepaste titel vertaling twee"
|
||||
}
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "Propriedades",
|
||||
"VERSIONS": "Versões"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Componentes do Angular para Alfresco",
|
||||
"DOCUMENTATION": "Documentação"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Página de logout",
|
||||
"SUB_TITLE": "Você está desconectado",
|
||||
"LOGIN": "Login",
|
||||
"HOME": "Página Inicial"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Permitir apagar",
|
||||
"SHOW_COMMENTS": "Mostrar comentários em versões",
|
||||
"ALLOW_DOWNLOAD": "Permitir download da versão"
|
||||
"ALLOW_DOWNLOAD": "Permitir download",
|
||||
"READ_ONLY": "Somente leitura",
|
||||
"COMMENTS": "Mostrar comentários"
|
||||
},
|
||||
"PERSONAL-FILES": "Arquivos pessoais",
|
||||
"WARN-MULTIPLE-UPLOADS": "Exibir alerta para vários uploads.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Ativar mensagem de permissão personalizada",
|
||||
"MEDIUM-TIME-FORMAT": "Ativar formato de tempo regular para lista de documento",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "Nenhum",
|
||||
"ALL": "Todos",
|
||||
"FOLDER": "Pasta",
|
||||
"DOCUMENT": "Documento"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Bem-vindo",
|
||||
@@ -31,7 +55,13 @@
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "Aplicativo Demo ADF",
|
||||
"HOME": "Página Inicial",
|
||||
"NODE-SELECTOR": "Seletor de nó",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Trilha de navegação",
|
||||
"NOTIFICATIONS": "Notificações",
|
||||
"TASK_LIST": "Lista de tarefas",
|
||||
"PROCESS_LIST": "Lista de processos",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Login",
|
||||
"CUSTOM_SOURCES": "Origens Personalizadas",
|
||||
@@ -46,13 +76,15 @@
|
||||
"TRASHCAN": "Lixeira",
|
||||
"SOCIAL": "Social",
|
||||
"SETTINGS": "Configurações",
|
||||
"CONFIG-EDITOR": "Editor de configuração",
|
||||
"OVERLAY_VIEWER": "Visualizador de sobreposição",
|
||||
"ABOUT": "Sobre",
|
||||
"SEARCH": "Pesquisa estendida",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Pesquisa estendida com corpo de consulta",
|
||||
"WORD_TO_SEARCH": "Pesquisar palavras",
|
||||
"SEARCH_CREATED_BY": "Criado por",
|
||||
"SEARCH_SERVICE_APPROACH": "Marque essa opção para desativar a inserção e configurar a utilização do serviço"
|
||||
"SEARCH_SERVICE_APPROACH": "Marque essa opção para desativar a inserção e configurar a utilização do serviço",
|
||||
"HEADER_DATA": "Dados do cabeçalho"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +99,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Seleção Múltipla (com caixas de seleção)",
|
||||
"THUMBNAILS": "Ativar miniaturas",
|
||||
"MULTIPLE_FILE_UPLOAD": "Carregamento de Vários Arquivos",
|
||||
"FOLDER_UPLOAD": "Carregamento de Pasta",
|
||||
"CUSTOM_FILTER": "Filtro de extensões personalizado",
|
||||
@@ -97,7 +130,13 @@
|
||||
"NEW_FOLDER": "Nova Pasta",
|
||||
"EDIT_FOLDER": "Editar pasta",
|
||||
"DOWNLOAD": "Download",
|
||||
"DELETE": "Excluir"
|
||||
"DELETE": "Excluir",
|
||||
"FAVORITES": "Adicionar aos favoritos",
|
||||
"SHARE": "Compartilhar",
|
||||
"THEME": "Selecionar um tema",
|
||||
"SHOW_VERSION": "Mostrar versão",
|
||||
"HIDE_VERSION": "Ocultar versão",
|
||||
"LISTVIEW": "Modo de exibição em lista"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Gerenciar versões",
|
||||
@@ -136,7 +175,8 @@
|
||||
"START-TASK": "Iniciar tarefa",
|
||||
"START-PROCESS": "Iniciar processo",
|
||||
"PROCESS-AUDIT-LOG": "Log de auditoria de processo",
|
||||
"TASK-AUDIT-LOG": "Log de auditoria de tarefa"
|
||||
"TASK-AUDIT-LOG": "Log de auditoria de tarefa",
|
||||
"TASK-SHOW-HEADER": "Mostrar cabeçalho de detalhes"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Armazenar",
|
||||
@@ -152,7 +192,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Rodapé de login"
|
||||
"LOGIN_FOOTER": "Rodapé de login",
|
||||
"SHOW_REMEMBERME": "Mostrar o recurso Lembrar-me",
|
||||
"SHOW_SUCCESS_ROUTE": "Mostrar rota de sucesso",
|
||||
"CUSTOM_LOGO": "Logo personalizada"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Resultados da pesquisa",
|
||||
@@ -170,5 +213,15 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Herdar permissão",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Permissão herdada"
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Inserir ID do Aplicativo",
|
||||
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número"
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Inserir ID do Aplicativo",
|
||||
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "Tradução um de título personalizado",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "Tradução dois de título personalizado"
|
||||
}
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "Свойства",
|
||||
"VERSIONS": "Версии"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Угловые компоненты для Alfresco",
|
||||
"DOCUMENTATION": "Документация"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "Страница выхода из системы",
|
||||
"SUB_TITLE": "Вы не вышли из системы",
|
||||
"LOGIN": "Войти",
|
||||
"HOME": "Домашняя"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "Разрешить удаление",
|
||||
"SHOW_COMMENTS": "Показать комментарии к версиям",
|
||||
"ALLOW_DOWNLOAD": "Разрешить загрузку версии"
|
||||
"ALLOW_DOWNLOAD": "Разрешить загрузку",
|
||||
"READ_ONLY": "Только чтение",
|
||||
"COMMENTS": "Показать комментарии"
|
||||
},
|
||||
"PERSONAL-FILES": "Личные файлы",
|
||||
"WARN-MULTIPLE-UPLOADS": "Показывать предупреждение для нескольких загрузок.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "Включить сообщение о пользовательском разрешении",
|
||||
"MEDIUM-TIME-FORMAT": "Включить средний формат времени для списка документов",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "Нет",
|
||||
"ALL": "Все",
|
||||
"FOLDER": "Папка",
|
||||
"DOCUMENT": "Документ"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Добро пожаловать",
|
||||
@@ -28,10 +52,19 @@
|
||||
"TITLE": "Метаданные"
|
||||
}
|
||||
},
|
||||
"COMMENTS": {
|
||||
"ADD_COMMENT": "Добавить"
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "Демонстрационное приложение ADF",
|
||||
"HOME": "Домашняя",
|
||||
"NODE-SELECTOR": "Селектор узлов",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Иерархия",
|
||||
"NOTIFICATIONS": "Оповещения",
|
||||
"TASK_LIST": "Список задач",
|
||||
"PROCESS_LIST": "Список процессов",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Войти",
|
||||
"CUSTOM_SOURCES": "Пользовательские источники",
|
||||
@@ -46,13 +79,15 @@
|
||||
"TRASHCAN": "Корзина",
|
||||
"SOCIAL": "Социальный",
|
||||
"SETTINGS": "Параметры",
|
||||
"CONFIG-EDITOR": "Редактор конфигурации",
|
||||
"OVERLAY_VIEWER": "Просмотр наложения",
|
||||
"ABOUT": "О приложении",
|
||||
"SEARCH": "Расширенный поиск",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "Расширенный поиск с использованием тела запроса",
|
||||
"WORD_TO_SEARCH": "Искать слово",
|
||||
"SEARCH_CREATED_BY": "Создано пользователем",
|
||||
"SEARCH_SERVICE_APPROACH": "Установите флажок, чтобы отключить свойство ввода и настроить, используя службу."
|
||||
"SEARCH_SERVICE_APPROACH": "Установите флажок, чтобы отключить свойство ввода и настроить, используя службу.",
|
||||
"HEADER_DATA": "Данные заголовка"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +102,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Выбор нескольких вариантов (с флажками)",
|
||||
"THUMBNAILS": "Включить эскизы",
|
||||
"MULTIPLE_FILE_UPLOAD": "Загрузка нескольких файлов",
|
||||
"FOLDER_UPLOAD": "Загрузка папки",
|
||||
"CUSTOM_FILTER": "Пользовательский фильтр расширений",
|
||||
@@ -97,7 +133,13 @@
|
||||
"NEW_FOLDER": "Новая папка",
|
||||
"EDIT_FOLDER": "Редактировать папку",
|
||||
"DOWNLOAD": "Скачать",
|
||||
"DELETE": "Удалить"
|
||||
"DELETE": "Удалить",
|
||||
"FAVORITES": "Добавить в избранное",
|
||||
"SHARE": "Открыть доступ",
|
||||
"THEME": "Выберите тему",
|
||||
"SHOW_VERSION": "Показать версию",
|
||||
"HIDE_VERSION": "Скрыть версию",
|
||||
"LISTVIEW": "Режим просмотра списка"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "Управление версиями",
|
||||
@@ -136,7 +178,8 @@
|
||||
"START-TASK": "Начать задачу",
|
||||
"START-PROCESS": "Начать процесс",
|
||||
"PROCESS-AUDIT-LOG": "Журнал проверки процесса",
|
||||
"TASK-AUDIT-LOG": "Журнал проверки задачи"
|
||||
"TASK-AUDIT-LOG": "Журнал проверки задачи",
|
||||
"TASK-SHOW-HEADER": "Показать подробности заголовка"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "Хранилище",
|
||||
@@ -152,7 +195,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "Нижний колонтитул страницы входа в систему"
|
||||
"LOGIN_FOOTER": "Нижний колонтитул страницы входа в систему",
|
||||
"SHOW_REMEMBERME": "Показывать «Запомнить меня»",
|
||||
"SHOW_SUCCESS_ROUTE": "Показать успешный маршрут",
|
||||
"CUSTOM_LOGO": "Пользовательский логотип"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "Результаты поиска",
|
||||
@@ -170,5 +216,15 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Наследовать разрешение",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "Разрешение унаследовано"
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
|
||||
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом"
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
|
||||
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "Перевод пользовательского заголовка один",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "Перевод пользовательского заголовка два"
|
||||
}
|
||||
@@ -6,10 +6,34 @@
|
||||
"PROPERTIES": "属性",
|
||||
"VERSIONS": "版本"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Alfresco 的 Angular 组件",
|
||||
"DOCUMENTATION": "文档"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "注销页面",
|
||||
"SUB_TITLE": "您现在已注销",
|
||||
"LOGIN": "登录",
|
||||
"HOME": "主页"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "允许删除",
|
||||
"SHOW_COMMENTS": "显示有关版本的注释",
|
||||
"ALLOW_DOWNLOAD": "允许版本下载"
|
||||
"ALLOW_DOWNLOAD": "允许下载",
|
||||
"READ_ONLY": "只读",
|
||||
"COMMENTS": "显示注释"
|
||||
},
|
||||
"PERSONAL-FILES": "个人文件",
|
||||
"WARN-MULTIPLE-UPLOADS": "针对多个上传显示警告。",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "启用自定义权限消息",
|
||||
"MEDIUM-TIME-FORMAT": "对文档列表启用中时间格式",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "无",
|
||||
"ALL": "全部",
|
||||
"FOLDER": "文件夹",
|
||||
"DOCUMENT": "文档"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "欢迎使用",
|
||||
@@ -28,10 +52,19 @@
|
||||
"TITLE": "元数据"
|
||||
}
|
||||
},
|
||||
"COMMENTS": {
|
||||
"ADD_COMMENT": "添加"
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP_NAME": "ADF 演示应用程序",
|
||||
"HOME": "主页",
|
||||
"NODE-SELECTOR": "节点选择器",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "面包屑",
|
||||
"NOTIFICATIONS": "通知",
|
||||
"TASK_LIST": "任务列表",
|
||||
"PROCESS_LIST": "流程列表",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "登录",
|
||||
"CUSTOM_SOURCES": "自定义来源",
|
||||
@@ -46,13 +79,15 @@
|
||||
"TRASHCAN": "垃圾桶",
|
||||
"SOCIAL": "社交",
|
||||
"SETTINGS": "设置",
|
||||
"CONFIG-EDITOR": "配置编辑器",
|
||||
"OVERLAY_VIEWER": "重叠查看器",
|
||||
"ABOUT": "关于",
|
||||
"SEARCH": "扩展搜索",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "包含查询主体的扩展搜索",
|
||||
"WORD_TO_SEARCH": "搜索词",
|
||||
"SEARCH_CREATED_BY": "创建者",
|
||||
"SEARCH_SERVICE_APPROACH": "选中此项以禁用输入属性并使用服务进行配置"
|
||||
"SEARCH_SERVICE_APPROACH": "选中此项以禁用输入属性并使用服务进行配置",
|
||||
"HEADER_DATA": "标头数据"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -67,6 +102,7 @@
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "多选(含复选框)",
|
||||
"THUMBNAILS": "启用缩略图",
|
||||
"MULTIPLE_FILE_UPLOAD": "上传多个文件",
|
||||
"FOLDER_UPLOAD": "文件夹上传",
|
||||
"CUSTOM_FILTER": "自定义扩展过滤器",
|
||||
@@ -97,7 +133,13 @@
|
||||
"NEW_FOLDER": "新建文件夹",
|
||||
"EDIT_FOLDER": "编辑文件夹",
|
||||
"DOWNLOAD": "下载",
|
||||
"DELETE": "删除"
|
||||
"DELETE": "删除",
|
||||
"FAVORITES": "添加到收藏夹",
|
||||
"SHARE": "共享",
|
||||
"THEME": "选择主题",
|
||||
"SHOW_VERSION": "显示版本",
|
||||
"HIDE_VERSION": "隐藏版本",
|
||||
"LISTVIEW": "列表视图模式"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "管理版本",
|
||||
@@ -136,7 +178,8 @@
|
||||
"START-TASK": "启动任务",
|
||||
"START-PROCESS": "启动流程",
|
||||
"PROCESS-AUDIT-LOG": "流程审计日志",
|
||||
"TASK-AUDIT-LOG": "任务审计日志"
|
||||
"TASK-AUDIT-LOG": "任务审计日志",
|
||||
"TASK-SHOW-HEADER": "显示详细信息标头"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "存储",
|
||||
@@ -152,7 +195,10 @@
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "登录页脚"
|
||||
"LOGIN_FOOTER": "登录页脚",
|
||||
"SHOW_REMEMBERME": "显示记住我",
|
||||
"SHOW_SUCCESS_ROUTE": "显示成功路由",
|
||||
"CUSTOM_LOGO": "自定义徽标"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "搜索结果",
|
||||
@@ -170,5 +216,15 @@
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "继承权限",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "已继承权限"
|
||||
}
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
|
||||
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字"
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
|
||||
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字"
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "自定义标题翻译 1",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "自定义标题翻译 2"
|
||||
}
|
||||
+113
-77
@@ -2,9 +2,23 @@
|
||||
"$schema": "../../lib/core/app-config/schema.json",
|
||||
"ecmHost": "http://{hostname}:{port}",
|
||||
"bpmHost": "http://{hostname}:{port}",
|
||||
"loginRoute": "login",
|
||||
"providers": "ALL",
|
||||
"contextRootBpm": "activiti-app",
|
||||
"authType" : "BASIC",
|
||||
"oauth2": {
|
||||
"host": "http://localhost:30081/auth/realms/myrealm",
|
||||
"clientId": "activiti",
|
||||
"scope": "openid",
|
||||
"secret": "",
|
||||
"implicitFlow": true,
|
||||
"silentLogin": true,
|
||||
"redirectUri": "/",
|
||||
"redirectUriLogout": "/logout"
|
||||
},
|
||||
"application": {
|
||||
"name": "Alfresco ADF Application"
|
||||
"name": "Alfresco ADF Application",
|
||||
"copyright": "© 2016 - 2018 Alfresco Software, Inc. All Rights Reserved."
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
@@ -53,53 +67,55 @@
|
||||
}
|
||||
],
|
||||
"search": {
|
||||
"limits": {
|
||||
"permissionEvaluationTime": null,
|
||||
"permissionEvaluationCount": null
|
||||
"include": ["path", "allowableOperations"],
|
||||
"sorting": {
|
||||
"options": [
|
||||
{ "key": "name", "label": "Name", "type": "FIELD", "field": "cm:name", "ascending": true },
|
||||
{ "key": "content.sizeInBytes", "label": "Size", "type": "FIELD", "field": "content.size", "ascending": true },
|
||||
{ "key": "description", "label": "Description", "type": "FIELD", "field": "cm:description", "ascending": true },
|
||||
{ "key": "createdByUser", "label": "Author", "type": "FIELD", "field": "cm:creator", "ascending": true },
|
||||
{ "key": "createdAt", "label": "Created", "type": "FIELD", "field": "cm:created", "ascending": true }
|
||||
],
|
||||
"defaults": [
|
||||
{ "key": "name", "type": "FIELD", "field": "cm:name", "ascending": true }
|
||||
]
|
||||
},
|
||||
"filterQueries": [
|
||||
{ "query": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
|
||||
{ "query": "NOT cm:creator:System" }
|
||||
],
|
||||
"facetFields": {
|
||||
"facets": [
|
||||
{ "field": "content.mimetype", "mincount": 1, "label": "Type" },
|
||||
{ "field": "content.size", "mincount": 1, "label": "Size" },
|
||||
{ "field": "creator", "mincount": 1, "label": "Creator" },
|
||||
{ "field": "modifier", "mincount": 1, "label": "Modifier" }
|
||||
"expanded": true,
|
||||
"fields": [
|
||||
{ "field": "content.mimetype", "mincount": 1, "label": "1:Type" },
|
||||
{ "field": "content.size", "mincount": 1, "label": "2:Size" },
|
||||
{ "field": "creator", "mincount": 1, "label": "3:Creator" },
|
||||
{ "field": "modifier", "mincount": 1, "label": "4:Modifier" },
|
||||
{ "field": "created", "mincount": 1, "label": "5:Created" }
|
||||
]
|
||||
},
|
||||
"facetQueries": [
|
||||
{ "query": "created:2018", "label": "Created This Year" },
|
||||
{ "query": "content.mimetype", "label": "Type" },
|
||||
{ "query": "content.size:[0 TO 10240]", "label": "Size: xtra small"},
|
||||
{ "query": "content.size:[10240 TO 102400]", "label": "Size: small"},
|
||||
{ "query": "content.size:[102400 TO 1048576]", "label": "Size: medium" },
|
||||
{ "query": "content.size:[1048576 TO 16777216]", "label": "Size: large" },
|
||||
{ "query": "content.size:[16777216 TO 134217728]", "label": "Size: xtra large" },
|
||||
{ "query": "content.size:[134217728 TO MAX]", "label": "Size: XX large" }
|
||||
],
|
||||
"query": {
|
||||
"categories": [
|
||||
{
|
||||
"id": "broken",
|
||||
"name": "Broken Facet",
|
||||
"enabled": false,
|
||||
"expanded": false,
|
||||
"component": {
|
||||
"selector": "adf-search-text",
|
||||
"settings": {
|
||||
"field": "fieldname"
|
||||
}
|
||||
}
|
||||
},
|
||||
"facetQueries": {
|
||||
"label": "My facet queries",
|
||||
"pageSize": 5,
|
||||
"queries": [
|
||||
{ "query": "created:2018", "label": "1.Created This Year" },
|
||||
{ "query": "content.mimetype", "label": "2.Type" },
|
||||
{ "query": "content.size:[0 TO 10240]", "label": "3.Size: xtra small"},
|
||||
{ "query": "content.size:[10240 TO 102400]", "label": "4.Size: small"},
|
||||
{ "query": "content.size:[102400 TO 1048576]", "label": "5.Size: medium" },
|
||||
{ "query": "content.size:[1048576 TO 16777216]", "label": "6.Size: large" },
|
||||
{ "query": "content.size:[16777216 TO 134217728]", "label": "7.Size: xtra large" },
|
||||
{ "query": "content.size:[134217728 TO MAX]", "label": "8.Size: XX large" }
|
||||
]
|
||||
},
|
||||
"categories": [
|
||||
{
|
||||
"id": "queryName",
|
||||
"name": "Name",
|
||||
"enabled": true,
|
||||
"expanded": true,
|
||||
"component": {
|
||||
"selector": "adf-search-text",
|
||||
"selector": "text",
|
||||
"settings": {
|
||||
"pattern": "cm:name:'(.*?)'",
|
||||
"field": "cm:name",
|
||||
@@ -108,35 +124,15 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "queryFields",
|
||||
"name": "Fields",
|
||||
"id": "checkList",
|
||||
"name": "Check List",
|
||||
"enabled": true,
|
||||
"expanded": false,
|
||||
"component": {
|
||||
"selector": "adf-search-fields",
|
||||
"selector": "check-list",
|
||||
"settings": {
|
||||
"field": null,
|
||||
"pageSize": 5,
|
||||
"operator": "OR",
|
||||
"options": [
|
||||
{ "name": "Name", "value": "name", "fields": ["name"], "default": true },
|
||||
{ "name": "File Size", "value": "content.sizeInBytes", "fields": ["content"], "default": true },
|
||||
{ "name": "Modified On", "value": "modifiedAt", "fields": ["modifiedAt"], "default": true },
|
||||
{ "name": "Modified By", "value": "modifiedByUser.displayName", "fields": ["modifiedByUser"], "default": true }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "queryType",
|
||||
"name": "Type",
|
||||
"enabled": true,
|
||||
"expanded": false,
|
||||
"component": {
|
||||
"selector": "adf-search-radio",
|
||||
"settings": {
|
||||
"field": null,
|
||||
"options": [
|
||||
{ "name": "None", "value": "", "default": true },
|
||||
{ "name": "All", "value": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
|
||||
{ "name": "Folder", "value": "TYPE:'cm:folder'" },
|
||||
{ "name": "Document", "value": "TYPE:'cm:content'" }
|
||||
]
|
||||
@@ -144,32 +140,73 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "queryLocations",
|
||||
"name": "Locations",
|
||||
"id": "contentSize",
|
||||
"name": "Content Size",
|
||||
"enabled": true,
|
||||
"expanded": false,
|
||||
"component": {
|
||||
"selector": "adf-search-scope-locations",
|
||||
"selector": "slider",
|
||||
"settings": {
|
||||
"field": "cm:content.size",
|
||||
"min": 0,
|
||||
"max": 18,
|
||||
"step": 1,
|
||||
"thumbLabel": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "contentSizeRange",
|
||||
"name": "Content Size (range)",
|
||||
"enabled": true,
|
||||
"component": {
|
||||
"selector": "number-range",
|
||||
"settings": {
|
||||
"field": "cm:content.size",
|
||||
"format": "[{FROM} TO {TO}]"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "createdDateRange",
|
||||
"name": "Created Date (range)",
|
||||
"enabled": true,
|
||||
"component": {
|
||||
"selector": "date-range",
|
||||
"settings": {
|
||||
"field": "cm:created",
|
||||
"dateFormat": "DD-MMM-YY"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "queryType",
|
||||
"name": "Type",
|
||||
"enabled": true,
|
||||
"component": {
|
||||
"selector": "radio",
|
||||
"settings": {
|
||||
"field": null,
|
||||
"pageSize": 5,
|
||||
"options": [
|
||||
{ "name": "Default", "value": "nodes", "default": true },
|
||||
{ "name": "Nodes", "value": "nodes" },
|
||||
{ "name": "Deleted Nodes", "value": "deleted-nodes" },
|
||||
{ "name": "Versions", "value": "versions" }
|
||||
{ "name": "APP.SEARCH.RADIO.NONE", "value": "", "default": true },
|
||||
{ "name": "APP.SEARCH.RADIO.ALL", "value": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
|
||||
{ "name": "APP.SEARCH.RADIO.FOLDER", "value": "TYPE:'cm:folder'" },
|
||||
{ "name": "APP.SEARCH.RADIO.DOCUMENT", "value": "TYPE:'cm:content'" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"pagination": {
|
||||
"size": 25,
|
||||
"size": 20,
|
||||
"supportedPageSizes": [ 5, 10, 15, 20 ]
|
||||
},
|
||||
"files": {
|
||||
"excluded": [".DS_Store", "desktop.ini", ".git"]
|
||||
"excluded": [".DS_Store", "desktop.ini", ".git"],
|
||||
"match-options": {
|
||||
"nocase": true
|
||||
}
|
||||
},
|
||||
"logLevel": "trace",
|
||||
"activiti": {
|
||||
@@ -469,10 +506,9 @@
|
||||
"sortable": true
|
||||
},
|
||||
{
|
||||
"key": "created",
|
||||
"key": "id",
|
||||
"type": "text",
|
||||
"title": "ADF_PROCESS_LIST.PROPERTIES.CREATED",
|
||||
"cssClass": "hidden",
|
||||
"title": "ADF_PROCESS_LIST.PROPERTIES.ID",
|
||||
"sortable": true
|
||||
}
|
||||
]
|
||||
@@ -485,8 +521,8 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"adf-version-manager": {
|
||||
"allowComments": true,
|
||||
"allowDownload": true
|
||||
"sideNav": {
|
||||
"expandedSidenav": true,
|
||||
"preserveState": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { ContentModule } from '@alfresco/adf-content-services';
|
||||
import { ProcessModule } from '@alfresco/adf-process-services';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { InsightsModule } from '@alfresco/adf-insights';
|
||||
|
||||
export function modules() {
|
||||
return [
|
||||
CoreModule,
|
||||
ContentModule,
|
||||
InsightsModule,
|
||||
ProcessModule
|
||||
];
|
||||
}
|
||||
|
||||
@NgModule({
|
||||
imports: modules(),
|
||||
exports: modules()
|
||||
})
|
||||
export class AdfModule {
|
||||
}
|
||||
@@ -1,3 +1,2 @@
|
||||
<router-outlet></router-outlet>
|
||||
<app-log></app-log>
|
||||
<router-outlet name="overlay"></router-outlet>
|
||||
|
||||
@@ -1,43 +1,7 @@
|
||||
.empty-list {
|
||||
.adf-data-table {
|
||||
height: 100%;
|
||||
|
||||
tr:hover, tr:focus {
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
|
||||
&__block {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
p {
|
||||
line-height: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
&__subtitle {
|
||||
font-size: 14px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
&__block > mat-icon {
|
||||
font-size: 52px;
|
||||
height: 52px;
|
||||
width: 52px;
|
||||
}
|
||||
}
|
||||
|
||||
router-outlet[name="overlay"] + * {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 999999;
|
||||
z-index: 999;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
@@ -53,7 +17,7 @@ router-outlet[name="overlay"] + * {
|
||||
.adf-data-table-cell:first-child,
|
||||
.adf-data-table-cell:nth-child(2) {
|
||||
display: table-cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
import { TestBed, async } from '@angular/core/testing';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
|
||||
import { AdfModule } from './adf.module';
|
||||
import { AppComponent } from './app.component';
|
||||
|
||||
describe('AppComponent', () => {
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
RouterTestingModule,
|
||||
AdfModule
|
||||
],
|
||||
declarations: [
|
||||
AppComponent
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
it('should create the app', async(() => {
|
||||
const fixture = TestBed.createComponent(AppComponent);
|
||||
const app = fixture.debugElement.componentInstance;
|
||||
expect(app).toBeTruthy();
|
||||
}));
|
||||
});
|
||||
@@ -15,30 +15,34 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { SettingsService, PageTitleService, StorageService, TranslationService } from '@alfresco/adf-core';
|
||||
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
|
||||
import { AuthenticationService, AlfrescoApiService, PageTitleService } from '@alfresco/adf-core';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
templateUrl: './app.component.html',
|
||||
styleUrls: ['./app.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
selector: 'app-root',
|
||||
templateUrl: './app.component.html',
|
||||
styleUrls: ['./app.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class AppComponent {
|
||||
export class AppComponent implements OnInit {
|
||||
|
||||
constructor(private settingsService: SettingsService,
|
||||
private storage: StorageService,
|
||||
translationService: TranslationService,
|
||||
pageTitleService: PageTitleService,
|
||||
route: ActivatedRoute) {
|
||||
this.setProvider();
|
||||
pageTitleService.setTitle();
|
||||
}
|
||||
constructor(private pageTitleService: PageTitleService,
|
||||
private alfrescoApiService: AlfrescoApiService,
|
||||
private authenticationService: AuthenticationService,
|
||||
private router: Router) {
|
||||
}
|
||||
|
||||
private setProvider() {
|
||||
if (this.storage.hasItem(`providers`)) {
|
||||
this.settingsService.setProviders(this.storage.getItem(`providers`));
|
||||
ngOnInit() {
|
||||
|
||||
this.pageTitleService.setTitle('title');
|
||||
|
||||
this.alfrescoApiService.getInstance().on('error', (error) => {
|
||||
if (error.status === 401) {
|
||||
if (!this.authenticationService.isLoggedIn()) {
|
||||
this.router.navigate(['/login']);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
import { NgModule } from '@angular/core';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
@@ -6,11 +23,11 @@ import { ChartsModule } from 'ng2-charts';
|
||||
import { HttpClientModule } from '@angular/common/http';
|
||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
|
||||
import { AppConfigService, TRANSLATION_PROVIDER } from '@alfresco/adf-core';
|
||||
import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService, CoreModule } from '@alfresco/adf-core';
|
||||
import { AppComponent } from './app.component';
|
||||
import { AdfModule } from './adf.module';
|
||||
import { MaterialModule } from './material.module';
|
||||
import { LoginComponent } from './components/login/login.component';
|
||||
import { LogoutComponent } from './components/logout/logout.component';
|
||||
import { SettingsComponent } from './components/settings/settings.component';
|
||||
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
|
||||
import { HomeComponent } from './components/home/home.component';
|
||||
@@ -33,16 +50,13 @@ import { AppsViewComponent } from './components/process-service/apps-view.compon
|
||||
import { DataTableComponent } from './components/datatable/datatable.component';
|
||||
import { TrashcanComponent } from './components/trashcan/trashcan.component';
|
||||
import { FilesComponent } from './components/files/files.component';
|
||||
import { FileViewComponent } from './components/file-view/file-view.component';
|
||||
import { WebscriptComponent } from './components/webscript/webscript.component';
|
||||
import { TagComponent } from './components/tag/tag.component';
|
||||
import { SocialComponent } from './components/social/social.component';
|
||||
import { VersionManagerDialogAdapterComponent } from './components/files/version-manager-dialog-adapter.component';
|
||||
import { MetadataDialogAdapterComponent } from './components/files/metadata-dialog-adapter.component';
|
||||
import { BlobPreviewComponent } from './components/blob-preview/blob-preview.component';
|
||||
|
||||
import { ThemePickerModule } from './components/theme-picker/theme-picker';
|
||||
import { DebugAppConfigService } from './services/debug-app-config.service';
|
||||
|
||||
import { routing } from './app.routes';
|
||||
import { ReactiveFormsModule } from '@angular/forms';
|
||||
@@ -51,6 +65,20 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
|
||||
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
|
||||
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
|
||||
import { PreviewService } from './services/preview.service';
|
||||
import { BreadcrumbDemoComponent } from './components/breadcrumb-demo/breadcrumb-demo.component';
|
||||
import { TaskListDemoComponent } from './components/task-list-demo/task-list-demo.component';
|
||||
import { ProcessListDemoComponent } from './components/process-list-demo/process-list-demo.component';
|
||||
import { ContentNodeSelectorComponent } from './components/content-node-selector/content-node-selector.component';
|
||||
import { NotificationsComponent } from './components/notifications/notifications.component';
|
||||
import { ReportIssueComponent } from './components/report-issue/report-issue.component';
|
||||
import { CardViewComponent } from './components/card-view/card-view.component';
|
||||
import { HeaderDataComponent } from './components/header-data/header-data.component';
|
||||
import { ConfigEditorComponent } from './components/config-editor/config-editor.component';
|
||||
import { HeaderDataService } from './components/header-data/header-data.service';
|
||||
import { MonacoEditorModule } from 'ngx-monaco-editor';
|
||||
import { ContentModule } from '@alfresco/adf-content-services';
|
||||
import { InsightsModule } from '@alfresco/adf-insights';
|
||||
import { ProcessModule } from '@alfresco/adf-process-services';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -59,16 +87,21 @@ import { PreviewService } from './services/preview.service';
|
||||
ReactiveFormsModule,
|
||||
routing,
|
||||
FormsModule,
|
||||
MaterialModule,
|
||||
ThemePickerModule,
|
||||
FlexLayoutModule,
|
||||
ChartsModule,
|
||||
HttpClientModule,
|
||||
AdfModule
|
||||
MaterialModule,
|
||||
FlexLayoutModule,
|
||||
CoreModule.forRoot(),
|
||||
ContentModule.forRoot(),
|
||||
InsightsModule.forRoot(),
|
||||
ProcessModule.forRoot(),
|
||||
ThemePickerModule,
|
||||
ChartsModule,
|
||||
MonacoEditorModule.forRoot(),
|
||||
],
|
||||
declarations: [
|
||||
AppComponent,
|
||||
LoginComponent,
|
||||
LogoutComponent,
|
||||
SettingsComponent,
|
||||
AppLayoutComponent,
|
||||
HomeComponent,
|
||||
@@ -84,7 +117,6 @@ import { PreviewService } from './services/preview.service';
|
||||
AppsViewComponent,
|
||||
DataTableComponent,
|
||||
FilesComponent,
|
||||
FileViewComponent,
|
||||
TrashcanComponent,
|
||||
FormComponent,
|
||||
FormListComponent,
|
||||
@@ -101,10 +133,18 @@ import { PreviewService } from './services/preview.service';
|
||||
FormLoadingComponent,
|
||||
DemoPermissionComponent,
|
||||
FormLoadingComponent,
|
||||
BlobPreviewComponent
|
||||
BreadcrumbDemoComponent,
|
||||
NotificationsComponent,
|
||||
CardViewComponent,
|
||||
ContentNodeSelectorComponent,
|
||||
ReportIssueComponent,
|
||||
TaskListDemoComponent,
|
||||
ProcessListDemoComponent,
|
||||
HeaderDataComponent,
|
||||
ConfigEditorComponent
|
||||
],
|
||||
providers: [
|
||||
{ provide: AppConfigService, useClass: DebugAppConfigService },
|
||||
{ provide: AppConfigService, useClass: DebugAppConfigService }, // not use this service in production
|
||||
{
|
||||
provide: TRANSLATION_PROVIDER,
|
||||
multi: true,
|
||||
@@ -121,7 +161,8 @@ import { PreviewService } from './services/preview.service';
|
||||
source: 'resources/lazy-loading'
|
||||
}
|
||||
},
|
||||
PreviewService
|
||||
PreviewService,
|
||||
HeaderDataService
|
||||
],
|
||||
entryComponents: [
|
||||
VersionManagerDialogAdapterComponent,
|
||||
@@ -129,5 +170,4 @@ import { PreviewService } from './services/preview.service';
|
||||
],
|
||||
bootstrap: [AppComponent]
|
||||
})
|
||||
export class AppModule {
|
||||
}
|
||||
export class AppModule {}
|
||||
|
||||
@@ -17,11 +17,12 @@
|
||||
|
||||
import { ModuleWithProviders } from '@angular/core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { AuthGuard, AuthGuardBpm, AuthGuardEcm } from '@alfresco/adf-core';
|
||||
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm } from '@alfresco/adf-core';
|
||||
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
|
||||
import { LoginComponent } from './components/login/login.component';
|
||||
import { SettingsComponent } from './components/settings/settings.component';
|
||||
import { HomeComponent } from './components/home/home.component';
|
||||
import { LogoutComponent } from './components/logout/logout.component';
|
||||
import { AboutComponent } from './components/about/about.component';
|
||||
import { ProcessServiceComponent } from './components/process-service/process-service.component';
|
||||
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
|
||||
@@ -39,21 +40,98 @@ import { SocialComponent } from './components/social/social.component';
|
||||
import { FilesComponent } from './components/files/files.component';
|
||||
import { FormComponent } from './components/form/form.component';
|
||||
|
||||
import { FileViewComponent } from './components/file-view/file-view.component';
|
||||
import { CustomSourcesComponent } from './components/files/custom-sources.component';
|
||||
import { FormListComponent } from './components/form/form-list.component';
|
||||
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
|
||||
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
|
||||
import { FormLoadingComponent } from './components/form/form-loading.component';
|
||||
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
|
||||
import { BlobPreviewComponent } from './components/blob-preview/blob-preview.component';
|
||||
import { BreadcrumbDemoComponent } from './components/breadcrumb-demo/breadcrumb-demo.component';
|
||||
import { TaskListDemoComponent } from './components/task-list-demo/task-list-demo.component';
|
||||
import { ProcessListDemoComponent } from './components/process-list-demo/process-list-demo.component';
|
||||
import { NotificationsComponent } from './components/notifications/notifications.component';
|
||||
import { CardViewComponent } from './components/card-view/card-view.component';
|
||||
import { ContentNodeSelectorComponent } from './components/content-node-selector/content-node-selector.component';
|
||||
import { ReportIssueComponent } from './components/report-issue/report-issue.component';
|
||||
import { HeaderDataComponent } from './components/header-data/header-data.component';
|
||||
import { ConfigEditorComponent } from './components/config-editor/config-editor.component';
|
||||
import { AppComponent } from './app.component';
|
||||
|
||||
export const appRoutes: Routes = [
|
||||
{ path: 'login', component: LoginComponent },
|
||||
{ path: 'logout', component: LogoutComponent },
|
||||
{ path: 'settings', component: SettingsComponent },
|
||||
{ path: 'files/:nodeId/view', component: FileViewComponent, canActivate: [ AuthGuardEcm ], outlet: 'overlay' },
|
||||
{ path: 'preview/blob', component: BlobPreviewComponent, outlet: 'overlay', pathMatch: 'full' },
|
||||
{
|
||||
path: 'files/:nodeId/view',
|
||||
component: AppComponent,
|
||||
canActivate: [ AuthGuardEcm ],
|
||||
canActivateChild: [ AuthGuardEcm ],
|
||||
outlet: 'overlay',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: 'app/components/file-view/file-view.module#FileViewModule'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'preview/blob',
|
||||
component: AppComponent,
|
||||
outlet: 'overlay',
|
||||
pathMatch: 'full',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: 'app/components/blob-preview/blob-preview.module#BlobPreviewModule'
|
||||
}
|
||||
]
|
||||
},
|
||||
{ path: 'preview/s/:id', component: SharedLinkViewComponent },
|
||||
{
|
||||
path: 'breadcrumb',
|
||||
component: BreadcrumbDemoComponent,
|
||||
canActivate: [AuthGuardEcm]
|
||||
},
|
||||
{
|
||||
path: 'notifications',
|
||||
component: AppLayoutComponent ,
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: NotificationsComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'config-editor',
|
||||
component: AppLayoutComponent ,
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: ConfigEditorComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'card-view',
|
||||
component: AppLayoutComponent ,
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: CardViewComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'header-data',
|
||||
component: AppLayoutComponent,
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: HeaderDataComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '',
|
||||
component: AppLayoutComponent,
|
||||
@@ -67,6 +145,10 @@ export const appRoutes: Routes = [
|
||||
path: 'home',
|
||||
component: HomeComponent
|
||||
},
|
||||
{
|
||||
path: 'node-selector',
|
||||
component: ContentNodeSelectorComponent
|
||||
},
|
||||
{
|
||||
path: 'settings-layout',
|
||||
component: SettingsComponent
|
||||
@@ -125,17 +207,32 @@ export const appRoutes: Routes = [
|
||||
component: ProcessServiceComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
{
|
||||
path: 'activiti/apps/:appId/tasks/:filterId',
|
||||
component: ProcessServiceComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
{
|
||||
path: 'activiti/apps/:appId/processes',
|
||||
component: ProcessServiceComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
{
|
||||
path: 'activiti/apps/:appId/processes/:filterId',
|
||||
component: ProcessServiceComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
{
|
||||
path: 'activiti/apps/:appId/diagram/:processDefinitionId',
|
||||
component: ShowDiagramComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
// TODO: check if neeeded
|
||||
{
|
||||
path: 'activiti/apps/:appId/report',
|
||||
component: ProcessServiceComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
// TODO: check if needed
|
||||
{
|
||||
path: 'activiti/appId/:appId',
|
||||
component: ProcessServiceComponent,
|
||||
@@ -182,12 +279,44 @@ export const appRoutes: Routes = [
|
||||
component: OverlayViewerComponent,
|
||||
canActivate: [AuthGuardEcm]
|
||||
},
|
||||
{
|
||||
path: 'report-issue',
|
||||
component: ReportIssueComponent
|
||||
},
|
||||
{
|
||||
path: 'datatable-lazy',
|
||||
loadChildren: 'app/components/lazy-loading/lazy-loading.module#LazyLoadingModule'
|
||||
},
|
||||
{
|
||||
path: 'task-list',
|
||||
component: TaskListDemoComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
{
|
||||
path: 'task-list/:id',
|
||||
component: TaskListDemoComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
{
|
||||
path: 'process-list',
|
||||
component: ProcessListDemoComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
{
|
||||
path: 'process-list/:id',
|
||||
component: ProcessListDemoComponent,
|
||||
canActivate: [AuthGuardBpm]
|
||||
},
|
||||
{
|
||||
path: 'error/:id',
|
||||
component: ErrorContentComponent
|
||||
},
|
||||
{
|
||||
path: '**',
|
||||
redirectTo: 'error/404'
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
|
||||
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes, { initialNavigation: true });
|
||||
|
||||
@@ -1,49 +1 @@
|
||||
<div class="about-container">
|
||||
<h3>Server settings</h3>
|
||||
<mat-list>
|
||||
<small>The values below are taken from the AppConfigService </small>
|
||||
<mat-list-item>
|
||||
<h4 matLine> Alfresco Process Services URL: {{ bpmHost }}</h4>
|
||||
</mat-list-item>
|
||||
<mat-divider></mat-divider>
|
||||
<mat-list-item>
|
||||
<h4 matLine>Alfresco Content Services URL: {{ ecmHost }}</h4>
|
||||
</mat-list-item>
|
||||
</mat-list>
|
||||
|
||||
<h3>Product Versions</h3>
|
||||
<div *ngIf="bpmVersion">
|
||||
<h3>BPM</h3>
|
||||
<label> Edition </label> {{ bpmVersion.edition }}
|
||||
<p></p>
|
||||
<label> Version </label> {{ bpmVersion.majorVersion }}.{{ bpmVersion.minorVersion }}.{{ bpmVersion.revisionVersion }}
|
||||
</div>
|
||||
<div *ngIf="ecmVersion">
|
||||
<h3>ECM</h3>
|
||||
<label> Edition </label> {{ ecmVersion.edition }}
|
||||
<p></p>
|
||||
<label> Version </label> {{ ecmVersion.version.display }}
|
||||
<p></p>
|
||||
<h4>License</h4>
|
||||
<adf-datatable [data]="license"></adf-datatable>
|
||||
|
||||
<h4> Status</h4>
|
||||
<adf-datatable [data]="status"></adf-datatable>
|
||||
|
||||
<h4>Modules</h4>
|
||||
|
||||
<adf-datatable [data]="modules"></adf-datatable>
|
||||
</div>
|
||||
|
||||
<div *ngIf="githubUrlCommitAlpha">
|
||||
<h3>Source code</h3>
|
||||
<small>You are running the project based on the following commit:</small>
|
||||
<div>
|
||||
<a [href]="githubUrlCommitAlpha">{{githubUrlCommitAlpha}}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Packages</h3>
|
||||
<small>Current project is using the following ADF libraries:</small>
|
||||
<adf-datatable [data]="data"></adf-datatable>
|
||||
</div>
|
||||
<adf-about></adf-about>
|
||||
|
||||
@@ -15,123 +15,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Http } from '@angular/http';
|
||||
import {
|
||||
AuthenticationService,
|
||||
AppConfigService,
|
||||
BpmProductVersionModel,
|
||||
DiscoveryApiService,
|
||||
EcmProductVersionModel,
|
||||
ObjectDataTableAdapter
|
||||
} from '@alfresco/adf-core';
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-about-page',
|
||||
templateUrl: './about.component.html',
|
||||
styleUrls: ['./about.component.css']
|
||||
templateUrl: './about.component.html'
|
||||
})
|
||||
export class AboutComponent implements OnInit {
|
||||
export class AboutComponent {
|
||||
|
||||
data: ObjectDataTableAdapter;
|
||||
status: ObjectDataTableAdapter;
|
||||
license: ObjectDataTableAdapter;
|
||||
modules: ObjectDataTableAdapter;
|
||||
githubUrlCommitAlpha = 'https://github.com/Alfresco/alfresco-ng2-components/commits/';
|
||||
|
||||
ecmHost = '';
|
||||
bpmHost = '';
|
||||
|
||||
ecmVersion: EcmProductVersionModel = null;
|
||||
bpmVersion: BpmProductVersionModel = null;
|
||||
|
||||
constructor(private http: Http,
|
||||
private appConfig: AppConfigService,
|
||||
private authService: AuthenticationService,
|
||||
private discovery: DiscoveryApiService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
|
||||
if (this.authService.isEcmLoggedIn()) {
|
||||
this.discovery.getEcmProductInfo().subscribe((ecmVers) => {
|
||||
this.ecmVersion = ecmVers;
|
||||
|
||||
this.modules = new ObjectDataTableAdapter(this.ecmVersion.modules, [
|
||||
{type: 'text', key: 'id', title: 'ID', sortable: true},
|
||||
{type: 'text', key: 'title', title: 'Title', sortable: true},
|
||||
{type: 'text', key: 'version', title: 'Description', sortable: true},
|
||||
{type: 'text', key: 'installDate', title: 'Install Date', sortable: true},
|
||||
{type: 'text', key: 'installState', title: 'Install State', sortable: true},
|
||||
{type: 'text', key: 'versionMin', title: 'Version Minor', sortable: true},
|
||||
{type: 'text', key: 'versionMax', title: 'Version Max', sortable: true}
|
||||
]);
|
||||
|
||||
this.status = new ObjectDataTableAdapter([this.ecmVersion.status], [
|
||||
{type: 'text', key: 'isReadOnly', title: 'ReadOnly', sortable: true},
|
||||
{type: 'text', key: 'isAuditEnabled', title: 'Is Audit Enable', sortable: true},
|
||||
{type: 'text', key: 'isQuickShareEnabled', title: 'Is quick shared enable', sortable: true},
|
||||
{type: 'text', key: 'isThumbnailGenerationEnabled', title: 'Thumbnail Generation', sortable: true}
|
||||
]);
|
||||
|
||||
this.license = new ObjectDataTableAdapter([this.ecmVersion.license], [
|
||||
{type: 'text', key: 'issuedAt', title: 'Issued At', sortable: true},
|
||||
{type: 'text', key: 'expiresAt', title: 'Expires At', sortable: true},
|
||||
{type: 'text', key: 'remainingDays', title: 'Remaining Days', sortable: true},
|
||||
{type: 'text', key: 'holder', title: 'Holder', sortable: true},
|
||||
{type: 'text', key: 'mode', title: 'Mode', sortable: true},
|
||||
{type: 'text', key: 'isClusterEnabled', title: 'Is Cluster Enabled', sortable: true},
|
||||
{type: 'text', key: 'isCryptodocEnabled', title: 'Is Cryptodoc Enable', sortable: true}
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
||||
if (this.authService.isBpmLoggedIn()) {
|
||||
this.discovery.getBpmProductInfo().subscribe((bpmVers) => {
|
||||
this.bpmVersion = bpmVers;
|
||||
});
|
||||
}
|
||||
|
||||
this.http.get('/versions.json').subscribe(response => {
|
||||
const regexp = new RegExp('^(@alfresco)');
|
||||
|
||||
const alfrescoPackages = Object.keys(response.json().dependencies).filter((val) => {
|
||||
return regexp.test(val);
|
||||
});
|
||||
|
||||
const alfrescoPackagesTableRepresentation = [];
|
||||
alfrescoPackages.forEach((val) => {
|
||||
alfrescoPackagesTableRepresentation.push({
|
||||
name: val,
|
||||
version: response.json().dependencies[val].version
|
||||
});
|
||||
});
|
||||
|
||||
this.gitHubLinkCreation(alfrescoPackagesTableRepresentation);
|
||||
|
||||
this.data = new ObjectDataTableAdapter(alfrescoPackagesTableRepresentation, [
|
||||
{type: 'text', key: 'name', title: 'Name', sortable: true},
|
||||
{type: 'text', key: 'version', title: 'Version', sortable: true}
|
||||
]);
|
||||
|
||||
});
|
||||
|
||||
this.ecmHost = this.appConfig.get<string>('ecmHost');
|
||||
this.bpmHost = this.appConfig.get<string>('bpmHost');
|
||||
}
|
||||
|
||||
private gitHubLinkCreation(alfrescoPackagesTableRepresentation): void {
|
||||
const corePackage = alfrescoPackagesTableRepresentation.find((packageUp) => {
|
||||
return packageUp.name === '@alfresco/adf-core';
|
||||
});
|
||||
|
||||
if (corePackage) {
|
||||
const commitIsh = corePackage.version.split('-');
|
||||
if (commitIsh.length > 1) {
|
||||
this.githubUrlCommitAlpha = this.githubUrlCommitAlpha + commitIsh[1];
|
||||
} else {
|
||||
this.githubUrlCommitAlpha = this.githubUrlCommitAlpha + corePackage.version;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,32 +1,30 @@
|
||||
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="220" [stepOver]="780" [hideSidenav]="false" [expandedSidenav]="false">
|
||||
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="220" [stepOver]="780" [hideSidenav]="hideSidenav" [expandedSidenav]= "expandedSidenav" (expanded)="setState($event)">
|
||||
|
||||
<adf-sidenav-layout-header>
|
||||
<ng-template let-toggleMenu="toggleMenu">
|
||||
<mat-toolbar color="primary" class="adf-app-layout-toolbar mat-elevation-z6">
|
||||
<button mat-icon-button (click)="toggleMenu()">
|
||||
<mat-icon>menu</mat-icon>
|
||||
</button>
|
||||
<adf-layout-header id="adf-header" [title]="title | translate" [redirectUrl]="redirectUrl" [logo]="logo" [tooltip]="tooltip | translate" [showSidenavToggle]="showMenu" [color]="color" (clicked)=toggleMenu($event) >
|
||||
|
||||
<span fxFlex="1 1 auto" fxShow fxHide.lt-sm="true">{{'APP_LAYOUT.APP_NAME' | translate }}</span>
|
||||
<div class="adf-app-layout-menu-spacer"></div>
|
||||
|
||||
<div class="adf-app-layout-menu-spacer"></div>
|
||||
<app-search-bar fxFlex="0 1 auto"></app-search-bar>
|
||||
|
||||
<app-search-bar fxFlex="0 1 auto"></app-search-bar>
|
||||
<div class="adf-header-delimiter"></div>
|
||||
|
||||
<adf-userinfo
|
||||
class="adf-app-layout-user-profile"
|
||||
[menuPositionX]="'before'"
|
||||
[menuPositionY]="'above'">
|
||||
</adf-userinfo>
|
||||
<adf-userinfo
|
||||
class="adf-app-layout-user-profile"
|
||||
[menuPositionX]="'before'"
|
||||
[menuPositionY]="'above'">
|
||||
</adf-userinfo>
|
||||
|
||||
<app-theme-picker></app-theme-picker>
|
||||
<button mat-icon-button [matMenuTriggerFor]="langMenu">
|
||||
<mat-icon>language</mat-icon>
|
||||
</button>
|
||||
<mat-menu #langMenu="matMenu">
|
||||
<adf-language-menu></adf-language-menu>
|
||||
</mat-menu>
|
||||
</mat-toolbar>
|
||||
<app-theme-picker></app-theme-picker>
|
||||
<button data-automation-id="language-menu-button" mat-icon-button [matMenuTriggerFor]="langMenu">
|
||||
<mat-icon>language</mat-icon>
|
||||
</button>
|
||||
<mat-menu #langMenu="matMenu" class="adf-menu">
|
||||
<adf-language-menu></adf-language-menu>
|
||||
</mat-menu>
|
||||
|
||||
</adf-layout-header>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-header>
|
||||
|
||||
@@ -37,7 +35,7 @@
|
||||
<mat-icon matListIcon class="sidenav-menu-icon">{{link.icon}}</mat-icon>
|
||||
<div class="sidenav-menu-label" *ngIf="!isMenuMinimized()">{{link.title | translate }}</div>
|
||||
</a>
|
||||
<a mat-list-item adf-logout class="adf-sidenav-link">
|
||||
<a mat-list-item adf-logout [enabelRedirect]="enabelRedirect" redirectUri="/logout" class="adf-sidenav-link">
|
||||
<mat-icon matListIcon class="sidenav-menu-icon">exit_to_app</mat-icon>
|
||||
<div class="sidenav-menu-label" *ngIf="!isMenuMinimized()">Logout</div>
|
||||
</a>
|
||||
@@ -45,10 +43,11 @@
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-navigation>
|
||||
|
||||
<adf-sidenav-layout-content>
|
||||
<adf-sidenav-layout-content >
|
||||
<ng-template>
|
||||
<router-outlet></router-outlet>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-content>
|
||||
|
||||
</adf-sidenav-layout>
|
||||
<app-log></app-log>
|
||||
|
||||
@@ -1,106 +1,106 @@
|
||||
@mixin adf-app-layout-theme($theme) {
|
||||
$primary: map-get($theme, primary);
|
||||
$background: map-get($theme, background);
|
||||
$foreground: map-get($theme, foreground);
|
||||
$minimumAppWidth: 320px;
|
||||
$toolbarHeight: 64px;
|
||||
$primary: map-get($theme, primary);
|
||||
$background: map-get($theme, background);
|
||||
$foreground: map-get($theme, foreground);
|
||||
$minimumAppWidth: 320px;
|
||||
$toolbarHeight: 64px;
|
||||
|
||||
|
||||
@media screen and ($mat-xsmall) {
|
||||
app-search-bar {
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
@media screen and ($mat-xsmall) {
|
||||
app-search-bar {
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 350px) {
|
||||
app-search-bar {
|
||||
width: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
.adf-app-layout-toolbar {
|
||||
z-index: 1001;
|
||||
position: relative;
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
.adf-app-layout {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-width: $minimumAppWidth;
|
||||
height: 100%;
|
||||
|
||||
.adf-nav-container {
|
||||
display: block;
|
||||
min-width: $minimumAppWidth;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.adf-sidenav-linklist {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
padding-bottom: 8px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.adf-sidenav-link {
|
||||
|
||||
&.active {
|
||||
color: mat-color($primary);
|
||||
}
|
||||
|
||||
.sidenav-menu-icon {
|
||||
margin-right: 20px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.sidenav-menu-label {
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.mat-nav-list .mat-list-item.adf-sidenav-link {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
&-user-profile {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
&-menu-spacer {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
&-toolbar {
|
||||
height: $toolbarHeight;
|
||||
line-height: $toolbarHeight;
|
||||
overflow: hidden;
|
||||
|
||||
mat-toolbar-row {
|
||||
height: $toolbarHeight;
|
||||
align-items: stretch;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.adf-toolbar-link {
|
||||
min-width: 0;
|
||||
line-height: $toolbarHeight;
|
||||
|
||||
&.active {
|
||||
background-color: rgba(0, 0, 0, .12);
|
||||
app-search-bar {
|
||||
width: 100px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and ($mat-small) {
|
||||
.adf-userinfo-name {
|
||||
display: none;
|
||||
.adf-app-layout-toolbar {
|
||||
z-index: 998;
|
||||
position: relative;
|
||||
overflow: visible !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and ($mat-xsmall) {
|
||||
}
|
||||
.adf-app-layout {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-width: $minimumAppWidth;
|
||||
height: 100%;
|
||||
|
||||
.adf-nav-container {
|
||||
display: block;
|
||||
min-width: $minimumAppWidth;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.adf-sidenav-linklist {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
padding-bottom: 8px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.adf-sidenav-link {
|
||||
&.active {
|
||||
color: mat-color($primary);
|
||||
}
|
||||
|
||||
.sidenav-menu-icon {
|
||||
margin-right: 20px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.sidenav-menu-label {
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.mat-nav-list .mat-list-item.adf-sidenav-link {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
&-user-profile {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
&-menu-spacer {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
&-toolbar {
|
||||
height: $toolbarHeight;
|
||||
line-height: $toolbarHeight;
|
||||
overflow: hidden;
|
||||
|
||||
mat-toolbar-row {
|
||||
height: $toolbarHeight;
|
||||
align-items: stretch;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.adf-toolbar-link {
|
||||
min-width: 0;
|
||||
line-height: $toolbarHeight;
|
||||
|
||||
&.active {
|
||||
background-color: rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and ($mat-small) {
|
||||
.adf-userinfo-name {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.adf-menu {
|
||||
padding-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and ($mat-xsmall) {}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
|
||||
import { UserPreferencesService, AppConfigService, AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import { HeaderDataService } from '../header-data/header-data.service';
|
||||
|
||||
|
||||
@Component({
|
||||
templateUrl: 'app-layout.component.html',
|
||||
@@ -25,11 +28,19 @@ import { Component, ViewEncapsulation } from '@angular/core';
|
||||
},
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class AppLayoutComponent {
|
||||
|
||||
export class AppLayoutComponent implements OnInit {
|
||||
|
||||
links: Array<any> = [
|
||||
{ href: '/home', icon: 'home', title: 'APP_LAYOUT.HOME' },
|
||||
{ href: '/files', icon: 'folder_open', title: 'APP_LAYOUT.CONTENT_SERVICES' },
|
||||
{ href: '/breadcrumb', icon: 'label', title: 'APP_LAYOUT.BREADCRUMB' },
|
||||
{ href: '/notifications', icon: 'alarm', title: 'APP_LAYOUT.NOTIFICATIONS'},
|
||||
{ href: '/card-view', icon: 'view_headline', title: 'APP_LAYOUT.CARD_VIEW'},
|
||||
{ href: '/header-data', icon: 'edit', title: 'APP_LAYOUT.HEADER_DATA'},
|
||||
{ href: '/node-selector', icon: 'attachment', title: 'APP_LAYOUT.NODE-SELECTOR' },
|
||||
{ href: '/task-list', icon: 'assignment', title: 'APP_LAYOUT.TASK_LIST' },
|
||||
{ href: '/process-list', icon: 'assignment', title: 'APP_LAYOUT.PROCESS_LIST' },
|
||||
{ href: '/activiti', icon: 'device_hub', title: 'APP_LAYOUT.PROCESS_SERVICES' },
|
||||
{ href: '/login', icon: 'vpn_key', title: 'APP_LAYOUT.LOGIN' },
|
||||
{ href: '/trashcan', icon: 'delete', title: 'APP_LAYOUT.TRASHCAN' },
|
||||
@@ -43,11 +54,55 @@ export class AppLayoutComponent {
|
||||
{ href: '/tag', icon: 'local_offer', title: 'APP_LAYOUT.TAG' },
|
||||
{ href: '/social', icon: 'thumb_up', title: 'APP_LAYOUT.SOCIAL' },
|
||||
{ href: '/settings-layout', icon: 'settings', title: 'APP_LAYOUT.SETTINGS' },
|
||||
{ href: '/config-editor', icon: 'code', title: 'APP_LAYOUT.CONFIG-EDITOR' },
|
||||
{ href: '/extendedSearch', icon: 'search', title: 'APP_LAYOUT.SEARCH' },
|
||||
{ href: '/overlay-viewer', icon: 'pageview', title: 'APP_LAYOUT.OVERLAY_VIEWER' },
|
||||
{ href: '/about', icon: 'info_outline', title: 'APP_LAYOUT.ABOUT' }
|
||||
];
|
||||
|
||||
constructor() {
|
||||
expandedSidenav = false;
|
||||
|
||||
hideSidenav = false;
|
||||
showMenu = true;
|
||||
|
||||
enabelRedirect = true;
|
||||
color = 'primary';
|
||||
title = 'APP_LAYOUT.APP_NAME';
|
||||
logo: string;
|
||||
redirectUrl: string | any[] = ['/home'];
|
||||
tooltip = 'APP_LAYOUT.APP_NAME';
|
||||
|
||||
ngOnInit() {
|
||||
const expand = this.config.get<boolean>('sideNav.expandedSidenav');
|
||||
const preserveState = this.config.get('sideNav.preserveState');
|
||||
|
||||
if (preserveState && expand) {
|
||||
this.expandedSidenav = (this.userpreference.get('expandedSidenav', expand.toString()) === 'true');
|
||||
} else if (expand) {
|
||||
this.expandedSidenav = expand;
|
||||
}
|
||||
|
||||
this.headerService.hideMenu.subscribe(show => this.showMenu = show);
|
||||
this.headerService.color.subscribe(color => this.color = color);
|
||||
this.headerService.title.subscribe(title => this.title = title);
|
||||
this.headerService.logo.subscribe(path => this.logo = path);
|
||||
this.headerService.redirectUrl.subscribe(redirectUrl => this.redirectUrl = redirectUrl);
|
||||
this.headerService.tooltip.subscribe(tooltip => this.tooltip = tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
constructor(
|
||||
private userpreference: UserPreferencesService,
|
||||
private config: AppConfigService,
|
||||
private alfrescoApiService: AlfrescoApiService,
|
||||
private headerService: HeaderDataService) {
|
||||
if (this.alfrescoApiService.getInstance().isOauthConfiguration()) {
|
||||
this.enabelRedirect = false;
|
||||
}
|
||||
}
|
||||
|
||||
setState(state) {
|
||||
if (this.config.get('sideNav.preserveState')) {
|
||||
this.userpreference.set('expandedSidenav', state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule, InfoDrawerModule } from '@alfresco/adf-core';
|
||||
import { ContentDirectiveModule, ContentMetadataModule, VersionManagerModule } from '@alfresco/adf-content-services';
|
||||
import { BlobPreviewComponent } from './blob-preview.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: BlobPreviewComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterModule.forChild(routes),
|
||||
CoreModule.forChild(),
|
||||
InfoDrawerModule,
|
||||
ContentDirectiveModule,
|
||||
ContentMetadataModule,
|
||||
VersionManagerModule
|
||||
],
|
||||
declarations: [
|
||||
BlobPreviewComponent
|
||||
],
|
||||
exports: [
|
||||
BlobPreviewComponent
|
||||
]
|
||||
})
|
||||
export class BlobPreviewModule {}
|
||||
@@ -0,0 +1,83 @@
|
||||
<main>
|
||||
<h1>Breadcrumb</h1>
|
||||
<ul>
|
||||
<li>Try creating and navigating long paths</li>
|
||||
<li>Try resizing the browser width to ensure items are trimmed as expected</li>
|
||||
</ul>
|
||||
|
||||
<h2>1. Standalone (fixed size)</h2>
|
||||
<small>Component is used in the fixed-width layout</small>
|
||||
|
||||
<div class="breadcrumb-container-restricted">
|
||||
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
|
||||
</adf-breadcrumb>
|
||||
</div>
|
||||
|
||||
<h2>2. Standalone (full width)</h2>
|
||||
<small>Component fits the parent container width</small>
|
||||
|
||||
<div>
|
||||
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
|
||||
</adf-breadcrumb>
|
||||
</div>
|
||||
|
||||
<h2>2.1 Standalone with Dropdown (full width)</h2>
|
||||
<small>
|
||||
Component fits the parent container width but is limited to 3 items to display at once.
|
||||
It should automatically switch to the Dropdown mode if the path exceeds 3 nodes.
|
||||
</small>
|
||||
|
||||
<div>
|
||||
<adf-breadcrumb [maxItems]="3" root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
|
||||
</adf-breadcrumb>
|
||||
</div>
|
||||
|
||||
<h2>3. Toolbar (standalone)</h2>
|
||||
<small>Component used as a child of the Toolbar component</small>
|
||||
|
||||
<adf-toolbar>
|
||||
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
|
||||
</adf-breadcrumb>
|
||||
</adf-toolbar>
|
||||
|
||||
<h2>4. Toolbar (title)</h2>
|
||||
<small>Component is wrapped into the Toolbar Title component</small>
|
||||
|
||||
<adf-toolbar>
|
||||
<adf-toolbar-title>
|
||||
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
|
||||
</adf-breadcrumb>
|
||||
</adf-toolbar-title>
|
||||
</adf-toolbar>
|
||||
|
||||
<h2>5. Toolbar with separators and buttons</h2>
|
||||
<small>
|
||||
Component is wrapped into the Toolbar Title component.
|
||||
The toolbar also has separators and buttons that might provide impact on breadcrumb layout.
|
||||
Buttons do nothing and are present for layout purposes.
|
||||
</small>
|
||||
|
||||
<adf-toolbar class="full-content-toolbar">
|
||||
<adf-toolbar-title fxFlex="0 1 auto">
|
||||
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
|
||||
</adf-breadcrumb>
|
||||
</adf-toolbar-title>
|
||||
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider>
|
||||
<div fxFlex="0 0 auto">
|
||||
<button mat-icon-button aria-label="Create a new folder button">
|
||||
<mat-icon>create_new_folder</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="Edit node button">
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="Delete node icon button">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</adf-toolbar>
|
||||
|
||||
<div class="content">
|
||||
<adf-document-list #documentList currentFolderId="-my-">
|
||||
</adf-document-list>
|
||||
</div>
|
||||
</main>
|
||||
@@ -0,0 +1,20 @@
|
||||
.breadcrumb-container-restricted {
|
||||
width: 800px;
|
||||
max-width: 800px;
|
||||
border: 1px solid lightgray;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.full-content-toolbar {
|
||||
.adf-toolbar-title {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
||||
.adf-breadcrumb {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
templateUrl: './breadcrumb-demo.component.html',
|
||||
styleUrls: [`./breadcrumb-demo.component.scss`]
|
||||
})
|
||||
export class BreadcrumbDemoComponent {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<div class="main-content">
|
||||
<h1>CardView Component</h1>
|
||||
|
||||
<mat-card class="card-view">
|
||||
<adf-card-view
|
||||
[properties]="properties"
|
||||
[editable]="true">
|
||||
</adf-card-view>
|
||||
</mat-card>
|
||||
|
||||
<div class="console" #console>
|
||||
<h3>Changes log:</h3>
|
||||
<p *ngFor="let log of logs">{{ log }}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toogle-editable"
|
||||
[color]="'primary'"
|
||||
(change)="toggleEditable()"
|
||||
[checked]="isEditable">
|
||||
Editable
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<button mat-button id="adf-reset-card-log" (click)="reset()" color="primary">Reset Log</button>
|
||||
|
||||
<br>
|
||||
@@ -0,0 +1,28 @@
|
||||
.main-content {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.card-view {
|
||||
width: 30%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.console {
|
||||
width: 60%;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin-left: 10px;
|
||||
height: 500px;
|
||||
overflow: scroll;
|
||||
padding-bottom: 30px;
|
||||
|
||||
h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
display: block;
|
||||
font-family: monospace, monospace;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';
|
||||
import {
|
||||
CardViewTextItemModel,
|
||||
CardViewDateItemModel,
|
||||
CardViewDatetimeItemModel,
|
||||
CardViewBoolItemModel,
|
||||
CardViewIntItemModel,
|
||||
CardViewFloatItemModel,
|
||||
CardViewKeyValuePairsItemModel,
|
||||
CardViewSelectItemModel,
|
||||
CardViewUpdateService,
|
||||
CardViewMapItemModel,
|
||||
UpdateNotification
|
||||
} from '@alfresco/adf-core';
|
||||
import { of } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
templateUrl: './card-view.component.html',
|
||||
styleUrls: ['./card-view.component.scss']
|
||||
})
|
||||
export class CardViewComponent implements OnInit {
|
||||
|
||||
@ViewChild('console') console: ElementRef;
|
||||
|
||||
isEditable = true;
|
||||
properties: any;
|
||||
logs: string[];
|
||||
|
||||
constructor(private cardViewUpdateService: CardViewUpdateService) {
|
||||
this.logs = [];
|
||||
this.createCard();
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.cardViewUpdateService.itemUpdated$.subscribe(this.onItemChange.bind(this));
|
||||
}
|
||||
|
||||
createCard() {
|
||||
this.properties = [
|
||||
new CardViewTextItemModel({
|
||||
label: 'CardView Text Item',
|
||||
value: 'Spock',
|
||||
key: 'name',
|
||||
default: 'default bar',
|
||||
multiline: false,
|
||||
icon: 'icon',
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewDateItemModel({
|
||||
label: 'CardView Date Item',
|
||||
value: new Date(1983, 11, 24, 10, 0, 30),
|
||||
key: 'date',
|
||||
default: new Date(1983, 11, 24, 10, 0, 30),
|
||||
format: 'DD.MM.YYYY',
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewDatetimeItemModel({
|
||||
label: 'CardView Datetime Item',
|
||||
value: new Date(1983, 11, 24, 10, 0, 0),
|
||||
key: 'datetime',
|
||||
default: new Date(1983, 11, 24, 10, 0, 0),
|
||||
format: 'DD.MM.YYYY',
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewBoolItemModel({
|
||||
label: 'CardView Boolean Item',
|
||||
value: true,
|
||||
key: 'boolean',
|
||||
default: false,
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewIntItemModel({
|
||||
label: 'CardView Int Item',
|
||||
value: 213,
|
||||
key: 'int',
|
||||
default: 1,
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewFloatItemModel({
|
||||
label: 'CardView Float Item',
|
||||
value: 9.9,
|
||||
key: 'float',
|
||||
default: 0.0,
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewKeyValuePairsItemModel({
|
||||
label: 'CardView Key-Value Pairs Item',
|
||||
value: [],
|
||||
key: 'key-value-pairs',
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewSelectItemModel({
|
||||
label: 'CardView Select Item',
|
||||
value: 'one',
|
||||
options$: of([{ key: 'one', label: 'One' }, { key: 'two', label: 'Two' }]),
|
||||
key: 'select',
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewMapItemModel({
|
||||
label: 'My map',
|
||||
value: new Map([['999', 'My Value']]),
|
||||
key: 'map',
|
||||
default: 'default map value'
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
onItemChange(notification: UpdateNotification) {
|
||||
let value = notification.changed[notification.target.key];
|
||||
|
||||
if (notification.target.type === 'keyvaluepairs') {
|
||||
value = JSON.stringify(value);
|
||||
}
|
||||
|
||||
this.logs.push(`[${notification.target.label}] - ${value}`);
|
||||
this.console.nativeElement.scrollTop = this.console.nativeElement.scrollHeight;
|
||||
}
|
||||
|
||||
toggleEditable() {
|
||||
this.isEditable = !this.isEditable;
|
||||
this.createCard();
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.isEditable = true;
|
||||
this.createCard();
|
||||
this.logs = [];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
|
||||
<h2>Metadata App config editor</h2>
|
||||
|
||||
<ngx-monaco-editor id="adf-metadata-editor" class="adf-metadata-editor" [options]="editorOptions" [(ngModel)]="metadataConf" (onInit)="onInitMetadata($event)" ></ngx-monaco-editor>
|
||||
|
||||
<button mat-raised-button id="adf-metadata-save" (click)="onSaveMetadata()" color="primary">Save metadata configuration</button>
|
||||
<button mat-raised-button id="adf-metadata-clear" (click)="onClearMetadata()" color="primary">Clear metadata configuration</button>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<h2>Search App config editor</h2>
|
||||
|
||||
<ngx-monaco-editor id="adf-search-editor" class="adf-search-editor" [options]="editorOptions" [(ngModel)]="searchConf" (onInit)="onInitSearch($event)" ></ngx-monaco-editor>
|
||||
|
||||
<button mat-raised-button id="adf-search-save" (click)="onSaveSearch()" color="primary">Save Search configuration</button>
|
||||
<button mat-raised-button id="adf-search-clear" (click)="onClearSearch()" color="primary">Clear Search configuration</button>
|
||||
|
||||
<br>
|
||||
|
||||
<h2>Excluded File config editor</h2>
|
||||
|
||||
<ngx-monaco-editor id="adf-excluded-file" class="adf-excluded-file-editor" [options]="editorOptions" [(ngModel)]="excludedFileConf" (onInit)="onInitExcludedFile($event)" ></ngx-monaco-editor>
|
||||
|
||||
<button mat-raised-button id="adf-excluded-file-save" (click)="onSaveExcludedFile()" color="primary">Save excluded file configuration</button>
|
||||
<button mat-raised-button id="adf-excluded-file-clear" (click)="onClearExcludedFile()" color="primary">Clear excluded file configuration</button>
|
||||
|
||||
<br>
|
||||
@@ -0,0 +1,3 @@
|
||||
.adf-metadata-editor {
|
||||
height: 300px;
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { AppConfigService, NotificationService } from '@alfresco/adf-core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-config-editor',
|
||||
templateUrl: 'config-editor.component.html',
|
||||
styleUrls: ['./config-editor.component.scss']
|
||||
})
|
||||
export class ConfigEditorComponent {
|
||||
|
||||
editor: any;
|
||||
editorSearch: any;
|
||||
editorExcludedFile: any;
|
||||
|
||||
editorOptions = {
|
||||
theme: 'vs-dark',
|
||||
language: 'json',
|
||||
autoIndent: true,
|
||||
formatOnPaste: true,
|
||||
formatOnType: true
|
||||
};
|
||||
|
||||
metadataConf: string;
|
||||
searchConf: string;
|
||||
excludedFileConf: string;
|
||||
|
||||
onInitMetadata(editor) {
|
||||
this.editor = editor;
|
||||
setTimeout(() => {
|
||||
this.editor.getAction('editor.action.formatDocument').run();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
onInitSearch(editor) {
|
||||
this.editorSearch = editor;
|
||||
setTimeout(() => {
|
||||
this.editorSearch.getAction('editor.action.formatDocument').run();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
onInitExcludedFile(excludedFile) {
|
||||
this.editorExcludedFile = excludedFile;
|
||||
setTimeout(() => {
|
||||
this.editorExcludedFile.getAction('editor.action.formatDocument').run();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
constructor(private appConfig: AppConfigService, private notificationService: NotificationService) {
|
||||
this.metadataConf = JSON.stringify(appConfig.config['content-metadata']);
|
||||
this.searchConf = JSON.stringify(appConfig.config['search']);
|
||||
this.excludedFileConf = JSON.stringify(appConfig.config['files']);
|
||||
}
|
||||
|
||||
onSaveMetadata() {
|
||||
try {
|
||||
this.appConfig.config['content-metadata'] = JSON.parse(this.editor.getValue());
|
||||
} catch (error) {
|
||||
this.notificationService.openSnackMessage(
|
||||
'Wrong metadata configuration',
|
||||
4000
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
onSaveSearch() {
|
||||
try {
|
||||
this.appConfig.config['search'] = JSON.parse(this.editorSearch.getValue());
|
||||
} catch (error) {
|
||||
this.notificationService.openSnackMessage(
|
||||
'Wrong search configuration',
|
||||
4000
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
onSaveExcludedFile() {
|
||||
try {
|
||||
this.appConfig.config['files'] = JSON.parse(this.editorExcludedFile.getValue());
|
||||
} catch (error) {
|
||||
this.notificationService.openSnackMessage(
|
||||
'Wrong exclude file configuration',
|
||||
4000
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
onClearMetadata() {
|
||||
this.metadataConf = '';
|
||||
}
|
||||
|
||||
onClearSearch() {
|
||||
this.searchConf = '';
|
||||
}
|
||||
|
||||
onClearExcludedFile() {
|
||||
this.searchConf = '';
|
||||
}
|
||||
}
|
||||
+198
@@ -0,0 +1,198 @@
|
||||
<main>
|
||||
<h1>Object picker</h1>
|
||||
|
||||
<mat-accordion>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<h2>Plain picker</h2>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
<label class="content-node-selector-demo-basic-label">
|
||||
dropdownHideMyFiles: {{dropdownHideMyFiles}}
|
||||
</label>
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
<div class="content-node-selector-demo-basic-table">
|
||||
<adf-content-node-selector-panel
|
||||
[currentFolderId]="'-root-'">
|
||||
</adf-content-node-selector-panel>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<h2>Hide My files</h2>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
<label class="content-node-selector-demo-basic-label">
|
||||
My Files site will be hided from dropdown
|
||||
</label>
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
<div class="content-node-selector-demo-basic-table">
|
||||
<adf-content-node-selector-panel
|
||||
[currentFolderId]="'-root-'"
|
||||
[dropdownHideMyFiles]="true">
|
||||
</adf-content-node-selector-panel>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<h2>Custom Site List</h2>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
<label class="content-node-selector-demo-basic-label">
|
||||
Adding a custom site list
|
||||
</label>
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
<div>
|
||||
<mat-list>
|
||||
<h3 mat-subheader>Add Site</h3>
|
||||
<form class="content-node-selector-demo-example-form">
|
||||
<mat-form-field>
|
||||
<label>Site Guid</label>
|
||||
<input matInput [(ngModel)]="customSideGuid" [ngModelOptions]="{standalone: true}">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<label>Site Title</label>
|
||||
<input matInput [(ngModel)]="customSideTitle" [ngModelOptions]="{standalone: true}">
|
||||
</mat-form-field>
|
||||
</form>
|
||||
<button mat-button color="primary" (click)="onClickAddSite()">Add</button>
|
||||
<button mat-button color="primary" (click)="onClickResetSite()">Reset</button>
|
||||
|
||||
<mat-divider></mat-divider>
|
||||
<h3 mat-subheader>Custom Sites Added</h3>
|
||||
<mat-list-item *ngFor="let customSite of customSites.list.entries">
|
||||
<mat-icon mat-list-icon>shopping_basket</mat-icon>
|
||||
<h4 mat-line>{{customSite.entry.title}}</h4>
|
||||
<p mat-line> {{customSite.entry.guid}} </p>
|
||||
</mat-list-item>
|
||||
</mat-list>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="content-node-selector-demo-basic-table">
|
||||
<adf-content-node-selector-panel
|
||||
[currentFolderId]="'-root-'"
|
||||
[dropdownSiteList]="customSites">
|
||||
</adf-content-node-selector-panel>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<h2>Row Filtering</h2>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
<label class="content-node-selector-demo-basic-label">
|
||||
Will automatically filter the row on the list
|
||||
</label>
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
<mat-slide-toggle color="primary" [(ngModel)]="showFiles" (click)="recreateRowFilterFunction()">
|
||||
Show Files
|
||||
</mat-slide-toggle>
|
||||
<mat-slide-toggle color="primary" [(ngModel)]="showFolders" (click)="recreateRowFilterFunction()">
|
||||
Slide Folders
|
||||
</mat-slide-toggle>
|
||||
|
||||
<div class="content-node-selector-demo-basic-table">
|
||||
<adf-content-node-selector-panel
|
||||
[rowFilter]="rowFilterFunction"
|
||||
[currentFolderId]="'-root-'">
|
||||
</adf-content-node-selector-panel>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<h2>Custom Image Resolving</h2>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
<label class="content-node-selector-demo-basic-label">
|
||||
A function to manage the way folder/file icons and thumbnails are resolved
|
||||
</label>
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
<mat-slide-toggle color="primary" (click)="recreateImageResolverFunction()">
|
||||
Add Custom Images Resolver
|
||||
</mat-slide-toggle>
|
||||
|
||||
<div class="content-node-selector-demo-basic-table">
|
||||
<adf-content-node-selector-panel
|
||||
[imageResolver]="customImageResolver"
|
||||
[currentFolderId]="'-root-'">
|
||||
</adf-content-node-selector-panel>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<h2>Set Page Size</h2>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
<label class="content-node-selector-demo-basic-label">
|
||||
Number of items shown per page in the list. actual page {{actualPageSize}}
|
||||
</label>
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
<div class="content-node-selector-demo-basic-table">
|
||||
<adf-content-node-selector-panel
|
||||
[currentFolderId]="'-root-'"
|
||||
[pageSize]="actualPageSize"
|
||||
>
|
||||
</adf-content-node-selector-panel>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<h2>Is Valid Selection Function </h2>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
<label class="content-node-selector-demo-basic-label">
|
||||
Function used to decide if the selected node has permission to be selected
|
||||
</label>
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
<label>Only folder starting with the letter 'a' or 'A' are valid selections</label>
|
||||
<label>Actual Selection is : {{validSelection}}</label>
|
||||
<div class="content-node-selector-demo-basic-table">
|
||||
<adf-content-node-selector-panel
|
||||
(select)="onNodeSelect($event)"
|
||||
[isSelectionValid]="customIsValidFunction"
|
||||
[currentFolderId]="'-root-'">
|
||||
</adf-content-node-selector-panel>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<h2>BreadCrumb Transform Function </h2>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
<label class="content-node-selector-demo-basic-label">
|
||||
Transformation to be performed on the chosen/folder node before building the breadcrumb UI
|
||||
</label>
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
<label>Folder starting with letter 'd' or 'D' won't be displayed in the breadcrumb dropdown</label>
|
||||
<div class="content-node-selector-demo-basic-table">
|
||||
<adf-content-node-selector-panel
|
||||
[breadcrumbTransform]="customBreadcrumbFunction"
|
||||
[currentFolderId]="'-root-'">
|
||||
</adf-content-node-selector-panel>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
</mat-accordion>
|
||||
</main>
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
.content-node-selector-demo {
|
||||
|
||||
&-main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
align-content: center;
|
||||
align-self: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
&-basic-table {
|
||||
height:400px;
|
||||
width:700px
|
||||
}
|
||||
|
||||
&-basic-label {
|
||||
display: flex;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
&-example-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
}
|
||||
}
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { SitePaging, SiteEntry, MinimalNodeEntryEntity } from 'alfresco-js-api';
|
||||
import { ShareDataRow } from '@alfresco/adf-content-services';
|
||||
import { DataRow, DataColumn, ThumbnailService } from '@alfresco/adf-core';
|
||||
|
||||
@Component({
|
||||
templateUrl: './content-node-selector.component.html',
|
||||
styleUrls: [`./content-node-selector.component.scss`],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ContentNodeSelectorComponent {
|
||||
|
||||
constructor(private thumbnailService: ThumbnailService) {
|
||||
}
|
||||
|
||||
dropdownHideMyFiles = false;
|
||||
showFiles = false;
|
||||
showFolders = false;
|
||||
enableImageResolver = false;
|
||||
validSelection = false;
|
||||
|
||||
customSideGuid = '';
|
||||
customSideTitle = '';
|
||||
actualPageSize = 2;
|
||||
|
||||
rowFilterFunction: any = null;
|
||||
customImageResolver: any = null;
|
||||
|
||||
defaultSites: SiteEntry[] = [
|
||||
{ entry: { title: 'MINE', guid: '-my-' } },
|
||||
{ entry: { title: 'ROOTY', guid: '-root-' } }];
|
||||
|
||||
customSites: SitePaging = {
|
||||
list: {
|
||||
entries: [
|
||||
{ entry: { title: 'MINE', guid: '-my-' } },
|
||||
{ entry: { title: 'ROOTY', guid: '-root-' } }],
|
||||
pagination: {}
|
||||
}
|
||||
};
|
||||
|
||||
onClickAddSite() {
|
||||
const newSiteEntry: SiteEntry = { entry: { title: this.customSideTitle, guid: this.customSideGuid } };
|
||||
this.customSites.list.entries.push(newSiteEntry);
|
||||
this.customSideGuid = '';
|
||||
this.customSideTitle = '';
|
||||
}
|
||||
|
||||
onClickResetSite() {
|
||||
this.customSites.list.entries = this.defaultSites;
|
||||
this.customSideGuid = '';
|
||||
this.customSideTitle = '';
|
||||
}
|
||||
|
||||
recreateRowFilterFunction() {
|
||||
this.rowFilterFunction = this.rowFilteringExample.bind(this);
|
||||
}
|
||||
|
||||
recreateImageResolverFunction() {
|
||||
this.enableImageResolver = !this.enableImageResolver;
|
||||
if (this.enableImageResolver) {
|
||||
this.customImageResolver = this.customImageResolverExample.bind(this);
|
||||
} else {
|
||||
this.customImageResolver = null;
|
||||
}
|
||||
}
|
||||
|
||||
rowFilteringExample(row: ShareDataRow) {
|
||||
let showNode = true;
|
||||
const node: MinimalNodeEntryEntity = row.node.entry;
|
||||
if (this.showFiles) {
|
||||
showNode = node.isFile;
|
||||
}
|
||||
if (this.showFolders) {
|
||||
showNode = node.isFolder;
|
||||
}
|
||||
return showNode;
|
||||
}
|
||||
|
||||
customImageResolverExample(row: DataRow, col: DataColumn) {
|
||||
return this.thumbnailService.getMimeTypeIcon('video/quicktime');
|
||||
}
|
||||
|
||||
onNodeSelect(node: MinimalNodeEntryEntity) {
|
||||
this.validSelection = !!node;
|
||||
}
|
||||
|
||||
customIsValidFunction(entry: MinimalNodeEntryEntity): boolean {
|
||||
return entry.name.startsWith('a') || entry.name.startsWith('A');
|
||||
}
|
||||
|
||||
customBreadcrumbFunction(node: MinimalNodeEntryEntity) {
|
||||
if (node && node.path && node.path.elements) {
|
||||
node.path.elements = node.path.elements.filter((element) => !element.name.toLocaleLowerCase().startsWith('d') ? element : null );
|
||||
}
|
||||
return node;
|
||||
}
|
||||
}
|
||||
@@ -1,30 +1,38 @@
|
||||
<div class="p-10">
|
||||
<adf-datatable
|
||||
[data]="data"
|
||||
[selectionMode]="selectionMode"
|
||||
[multiselect]="multiselect"
|
||||
[actions]="true"
|
||||
rowStyleClass="custom-row-style"
|
||||
(showRowActionsMenu)="onShowRowActionsMenu($event)"
|
||||
(executeRowAction)="onExecuteRowAction($event)"
|
||||
(row-click)="onRowClick($event)"
|
||||
(row-dblclick)="onRowDblClick($event)">
|
||||
<!-- HTML column definition demo -->
|
||||
<!--
|
||||
<data-columns>
|
||||
<data-column type="image" key="icon" [sortable]="false"></data-column>
|
||||
<data-column key="id" title="Id"></data-column>
|
||||
<data-column key="createdOn" title="Created"></data-column>
|
||||
<data-column key="name" title="Name" class="full-width name-column"></data-column>
|
||||
<data-column key="createdBy.name" title="Created By"></data-column>
|
||||
</data-columns>
|
||||
-->
|
||||
</adf-datatable>
|
||||
<mat-form-field>
|
||||
<input id="adf-datatable-filter-input" matInput placeholder="Name filter" [(ngModel)]="data.filterValue">
|
||||
</mat-form-field>
|
||||
|
||||
<adf-datatable
|
||||
#dataTable
|
||||
[data]="data"
|
||||
[selectionMode]="selectionMode"
|
||||
[multiselect]="multiselect"
|
||||
[actions]="true"
|
||||
rowStyleClass="custom-row-style"
|
||||
(showRowActionsMenu)="onShowRowActionsMenu($event)"
|
||||
(executeRowAction)="onExecuteRowAction($event)"
|
||||
(row-click)="onRowClick($event)"
|
||||
(row-dblclick)="onRowDblClick($event)">
|
||||
<!-- HTML column definition demo -->
|
||||
<!--
|
||||
<data-columns>
|
||||
<data-column type="image" key="icon" [sortable]="false"></data-column>
|
||||
<data-column key="id" title="Id"></data-column>
|
||||
<data-column key="createdOn" title="Created"></data-column>
|
||||
<data-column key="name" title="Name" class="full-width name-column"></data-column>
|
||||
<data-column key="createdBy.name" title="Created By"></data-column>
|
||||
</data-columns>
|
||||
-->
|
||||
</adf-datatable>
|
||||
|
||||
<div>
|
||||
Selected items: {{ dataTable.selection?.length }}
|
||||
</div>
|
||||
<div class="p-10" data-automation-id="multiselect">
|
||||
|
||||
<div data-automation-id="multiselect">
|
||||
<mat-checkbox [(ngModel)]="multiselect">{{ 'DATATABLE.MULTISELECT'| translate }}</mat-checkbox>
|
||||
</div>
|
||||
<div class="p-10">
|
||||
<div>
|
||||
<p>{{ 'DATATABLE.MULTISELECT_DESCRIPTION'| translate }}</p>
|
||||
<mat-form-field>
|
||||
<mat-select placeholder="Selection Mode" [(ngModel)]="selectionMode" name="food">
|
||||
@@ -34,10 +42,9 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="p-10">
|
||||
<div>
|
||||
<button mat-raised-button (click)="reset()">{{ 'DATATABLE.RESET_DEFAULT'| translate }}</button>
|
||||
<button mat-raised-button (click)="addRow()">{{ 'DATATABLE.ADD_ROW'| translate }}</button>
|
||||
<button mat-raised-button (click)="replaceRows()">{{ 'DATATABLE.REPLACE_ROWS'| translate }}</button>
|
||||
<button mat-raised-button (click)="replaceColumns()">{{ 'DATATABLE.REPLACE_COLUMNS'| translate }}</button>
|
||||
<button mat-raised-button (click)="getRowForNode()">{{ 'DATATABLE.LOAD_NODE'| translate }}</button>
|
||||
</div>
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
adf-datatable ::ng-deep .custom-row-style.alfresco-datatable__row:focus {
|
||||
outline-offset: -1px;
|
||||
outline-width: 1px;
|
||||
outline-color: green;
|
||||
outline-style: solid;
|
||||
}
|
||||
|
||||
adf-datatable ::ng-deep .custom-row-style.alfresco-datatable__row--selected {
|
||||
color: green;
|
||||
}
|
||||
|
||||
adf-datatable ::ng-deep table {
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
white-space: normal !important;
|
||||
}
|
||||
@@ -16,19 +16,44 @@
|
||||
*/
|
||||
|
||||
import { Component, Input } from '@angular/core';
|
||||
import { AlfrescoApiService, LogService } from '@alfresco/adf-core';
|
||||
import { LogService, DataColumn, DataRow } from '@alfresco/adf-core';
|
||||
import { DataCellEvent, DataRowActionEvent, DataSorting, ObjectDataColumn, ObjectDataRow, ObjectDataTableAdapter } from '@alfresco/adf-core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export class FilteredDataAdapter extends ObjectDataTableAdapter {
|
||||
|
||||
filterValue = '';
|
||||
filterKey = 'name';
|
||||
|
||||
getRows(): Array<DataRow> {
|
||||
let rows = super.getRows();
|
||||
const filter = (this.filterValue || '').trim().toLowerCase();
|
||||
|
||||
if (this.filterKey && filter) {
|
||||
rows = rows.filter(row => {
|
||||
const value = row.getValue(this.filterKey);
|
||||
if (value !== undefined && value !== null) {
|
||||
const stringValue: string = value.toString().trim().toLowerCase();
|
||||
return stringValue.startsWith(filter);
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
|
||||
constructor(data?: any[], schema?: DataColumn[]) {
|
||||
super(data, schema);
|
||||
}
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'app-datatable',
|
||||
templateUrl: './datatable.component.html',
|
||||
styleUrls: ['./datatable.component.scss']
|
||||
templateUrl: './datatable.component.html'
|
||||
})
|
||||
export class DataTableComponent {
|
||||
|
||||
multiselect = false;
|
||||
data: ObjectDataTableAdapter;
|
||||
data: FilteredDataAdapter;
|
||||
|
||||
@Input()
|
||||
selectionMode = 'single';
|
||||
@@ -41,16 +66,16 @@ export class DataTableComponent {
|
||||
|
||||
private _imageUrl = 'http://placehold.it/140x100';
|
||||
private _createdBy: any = {
|
||||
name: 'Denys Vuika',
|
||||
email: 'denys.vuika@alfresco.com'
|
||||
name: 'Administrator',
|
||||
email: 'admin@alfresco.com'
|
||||
};
|
||||
|
||||
constructor(private apiService: AlfrescoApiService, private logService: LogService) {
|
||||
constructor(private logService: LogService) {
|
||||
this.reset();
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.data = new ObjectDataTableAdapter(
|
||||
this.data = new FilteredDataAdapter(
|
||||
[
|
||||
{
|
||||
id: 1,
|
||||
@@ -174,33 +199,4 @@ export class DataTableComponent {
|
||||
onRowDblClick(event) {
|
||||
this.logService.log(event);
|
||||
}
|
||||
|
||||
getRowForNode() {
|
||||
const opts: any = {
|
||||
includeSource: true,
|
||||
include: ['path', 'properties', 'allowableOperations', 'permissions']
|
||||
};
|
||||
|
||||
Observable.fromPromise(this.apiService.getInstance().nodes
|
||||
.getNodeInfo('-my-', opts)).subscribe((data) => {
|
||||
this.logService.log('FUnNy');
|
||||
this.logService.log(data);
|
||||
// let objects = new ObjectDataTableAdapter([
|
||||
// {
|
||||
// id: data.id,
|
||||
// name: data.name,
|
||||
// createdBy: data.createdByUser.displayName,
|
||||
// createdOn: new Date(data.createdAt),
|
||||
// icon: 'material-icons://face'
|
||||
// }],
|
||||
// [
|
||||
// { type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail' },
|
||||
// { type: 'text', key: 'id', title: 'Id', sortable: true },
|
||||
// { type: 'text', key: 'createdOn', title: 'Created On', sortable: true },
|
||||
// { type: 'text', key: 'name', title: 'Name', cssClass: 'full-width name-column', sortable: true },
|
||||
// { type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true }
|
||||
// ]);
|
||||
// this.data = objects;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,18 +2,95 @@
|
||||
|
||||
<ng-template let-node="node" #sidebarTemplate>
|
||||
<adf-info-drawer [title]="'APP.INFO_DRAWER.TITLE' | translate">
|
||||
|
||||
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.COMMENTS' | translate">
|
||||
<adf-comments [nodeId]="nodeId"></adf-comments>
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.PROPERTIES' | translate">
|
||||
<adf-content-metadata-card [node]="node"></adf-content-metadata-card>
|
||||
<adf-content-metadata-card *ngIf="isPreset" [node]="node"
|
||||
[multi]="multi"
|
||||
[preset]="customPreset"
|
||||
[readOnly]="isReadOnly"
|
||||
[displayDefaultProperties]="displayDefaultProperties"
|
||||
[displayEmpty]="displayEmptyMetadata"></adf-content-metadata-card>
|
||||
|
||||
<adf-content-metadata-card *ngIf="!isPreset" [node]="node"
|
||||
[multi]="multi"
|
||||
[readOnly]="isReadOnly"
|
||||
[displayDefaultProperties]="displayDefaultProperties"
|
||||
[displayEmpty]="displayEmptyMetadata"></adf-content-metadata-card>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-default-properties"
|
||||
[color]="'primary'"
|
||||
(change)="toggleDisplayProperties()"
|
||||
[checked]="displayDefaultProperties">
|
||||
Display Default Properties
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-empty"
|
||||
[color]="'primary'"
|
||||
(change)="toggleEmptyMetadata()"
|
||||
[checked]="displayEmptyMetadata">
|
||||
Display Empty Metadata
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-multi"
|
||||
[color]="'primary'"
|
||||
(change)="toggleMulti()"
|
||||
[checked]="multi">
|
||||
multi accordion
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-readonly"
|
||||
[color]="'primary'"
|
||||
(change)="toggleReadOnly()"
|
||||
[checked]="isReadOnly">
|
||||
Editable
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toggle-custom-preset"
|
||||
[color]="'primary'"
|
||||
(change)="togglePreset()"
|
||||
[checked]="isPreset">
|
||||
Custom preset
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p class="toggle">
|
||||
<ng-container *ngIf="isPreset">
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Custom Preset"
|
||||
[(ngModel)]="customPreset"
|
||||
data-automation-id="adf-text-custom-preset">
|
||||
</mat-form-field>
|
||||
|
||||
<button mat-raised-button id="adf-metadata-aplly" (click)="applyCustomPreset()" color="primary">Apply</button>
|
||||
|
||||
</ng-container>
|
||||
</p>
|
||||
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.VERSIONS' | translate">
|
||||
<mat-card>
|
||||
<mat-card-content>
|
||||
<adf-version-manager [node]="node" (uploadError)="uploadError($event)">
|
||||
<adf-version-manager [node]="node"
|
||||
(uploadError)="uploadError($event)">
|
||||
</adf-version-manager>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
@@ -21,7 +98,7 @@
|
||||
</adf-info-drawer>
|
||||
</ng-template>
|
||||
|
||||
<adf-viewer [fileNodeId]="nodeId" [allowSidebar]="true" [sidebarTemplate]="sidebarTemplate">
|
||||
<adf-viewer [nodeId]="nodeId" [allowSidebar]="true" [sidebarTemplate]="sidebarTemplate">
|
||||
|
||||
<adf-viewer-toolbar-actions>
|
||||
<button mat-icon-button>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
.adf-viewer__sidebar {
|
||||
width: 380px !important;
|
||||
}
|
||||
@@ -15,24 +15,33 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import { MatSnackBar } from '@angular/material';
|
||||
|
||||
@Component({
|
||||
selector: 'app-file-view',
|
||||
templateUrl: 'file-view.component.html'
|
||||
templateUrl: 'file-view.component.html',
|
||||
styleUrls: ['file-view.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class FileViewComponent implements OnInit {
|
||||
|
||||
nodeId: string = null;
|
||||
displayEmptyMetadata = false;
|
||||
expanded: boolean;
|
||||
multi = false;
|
||||
isReadOnly = false;
|
||||
isPreset = false;
|
||||
customPreset: string = null;
|
||||
displayDefaultProperties = true;
|
||||
|
||||
constructor(
|
||||
private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
private snackBar: MatSnackBar,
|
||||
private apiService: AlfrescoApiService) {}
|
||||
constructor(private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
private snackBar: MatSnackBar,
|
||||
private apiService: AlfrescoApiService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
|
||||
@@ -53,7 +62,37 @@ export class FileViewComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
uploadError(errorMessage: string) {
|
||||
onUploadError(errorMessage: string) {
|
||||
this.snackBar.open(errorMessage, '', { duration: 4000 });
|
||||
}
|
||||
|
||||
toggleEmptyMetadata() {
|
||||
this.displayEmptyMetadata = !this.displayEmptyMetadata;
|
||||
}
|
||||
|
||||
toggleMulti() {
|
||||
this.multi = !this.multi;
|
||||
}
|
||||
|
||||
toggleReadOnly() {
|
||||
this.isReadOnly = !this.isReadOnly;
|
||||
}
|
||||
|
||||
toggleDisplayProperties() {
|
||||
this.displayDefaultProperties = !this.displayDefaultProperties;
|
||||
}
|
||||
|
||||
togglePreset() {
|
||||
this.isPreset = !this.isPreset;
|
||||
if (!this.isPreset) {
|
||||
this.customPreset = null;
|
||||
}
|
||||
}
|
||||
|
||||
applyCustomPreset() {
|
||||
this.isPreset = false;
|
||||
setTimeout(() => {
|
||||
this.isPreset = true;
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CoreModule, InfoDrawerModule } from '@alfresco/adf-core';
|
||||
import { ContentDirectiveModule, VersionManagerModule, ContentMetadataModule } from '@alfresco/adf-content-services';
|
||||
import { FileViewComponent } from './file-view.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: FileViewComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterModule.forChild(routes),
|
||||
CoreModule.forChild(),
|
||||
InfoDrawerModule,
|
||||
ContentDirectiveModule,
|
||||
ContentMetadataModule,
|
||||
VersionManagerModule
|
||||
],
|
||||
declarations: [FileViewComponent],
|
||||
exports: [FileViewComponent]
|
||||
})
|
||||
export class FileViewModule {
|
||||
|
||||
}
|
||||
@@ -8,6 +8,13 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</adf-toolbar-title>
|
||||
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider>
|
||||
<button mat-icon-button
|
||||
[disabled]="!hasSelection(customSourcesDocumentList.selection)"
|
||||
title="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}"
|
||||
[adfNodeDownload]="customSourcesDocumentList.selection">
|
||||
<mat-icon>get_app</mat-icon>
|
||||
</button>
|
||||
</adf-toolbar>
|
||||
<adf-document-list
|
||||
#customSourcesDocumentList
|
||||
|
||||
@@ -41,4 +41,8 @@ export class CustomSourcesComponent {
|
||||
{ title: 'My', value: '-my-' },
|
||||
{ title: 'Shared', value: '-shared-' }
|
||||
];
|
||||
|
||||
hasSelection(selection: any[]): boolean {
|
||||
return selection && selection.length > 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-accordion class="adf-container-recent">
|
||||
<mat-accordion *ngIf="showRecentFiles" class="adf-container-recent">
|
||||
<mat-expansion-panel hideToggle="true">
|
||||
<mat-expansion-panel-header >
|
||||
<mat-panel-title>
|
||||
@@ -28,17 +28,20 @@
|
||||
</mat-expansion-panel>
|
||||
</mat-accordion>
|
||||
|
||||
<div class="adf-site-container-style" id="site-container">
|
||||
<div *ngIf="showSitePicker" class="adf-site-container-style" id="site-container">
|
||||
<adf-sites-dropdown (change)="onSiteChange($event)" [hideMyFiles]="false" [relations]="'members'">
|
||||
</adf-sites-dropdown>
|
||||
</div>
|
||||
<div class="document-list-container" fxLayout="row" fxLayoutAlign="start stretch" fxLayoutGap="16px">
|
||||
|
||||
<div id="document-list-container" class="document-list-container" fxLayout="row" fxLayoutAlign="start stretch" fxLayoutGap="16px">
|
||||
<adf-upload-drag-area fxFlex="1 1 auto"
|
||||
[disabled]="disableDragArea"
|
||||
[parentId]="getDocumentListCurrentFolderId()"
|
||||
[acceptedFilesType]="getFileFiltering()"
|
||||
[rootFolderId]="getDocumentListCurrentFolderId()"
|
||||
[versioning]="versioning"
|
||||
[adf-node-permission]="'create'"
|
||||
[adf-nodes]="disableDragArea ? getCurrentDocumentListNode() : []">
|
||||
[adf-nodes]="disableDragArea ? getCurrentDocumentListNode() : []"
|
||||
(beginUpload)="onBeginUpload($event)">
|
||||
<div *ngIf="errorMessage" class="error-message">
|
||||
<button (click)="resetError()" mat-icon-button>
|
||||
<mat-icon>highlight_off</mat-icon>
|
||||
@@ -49,7 +52,7 @@
|
||||
<adf-toolbar-title fxFlex="0 1 auto">
|
||||
<adf-breadcrumb fxShow fxHide.lt-sm="true"
|
||||
class="files-breadcrumb"
|
||||
root="Personal Files"
|
||||
root="APP.PERSONAL-FILES"
|
||||
[target]="documentList"
|
||||
[folderNode]="documentList.folderNode">
|
||||
</adf-breadcrumb>
|
||||
@@ -65,30 +68,36 @@
|
||||
<div fxFlex="0 0 auto" class="adf-document-action-buttons" fxShow fxHide.lt-sm="true">
|
||||
<button
|
||||
mat-icon-button
|
||||
data-automation-id="document-list-grid-view"
|
||||
title="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}"
|
||||
(click)="toogleGalleryView()">
|
||||
<mat-icon *ngIf="displayMode === 'list'" >view_comfy</mat-icon>
|
||||
<mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
|
||||
<mat-icon *ngIf="displayMode === 'list'" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}">view_comfy</mat-icon>
|
||||
<mat-icon *ngIf="displayMode === 'gallery'" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.LISTVIEW' | translate }}">list</mat-icon>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
[disabled]="!canCreateContent(documentList.folderNode)"
|
||||
title="{{ 'DOCUMENT_LIST.TOOLBAR.NEW_FOLDER' | translate }}"
|
||||
(error)="openSnackMessage($event)"
|
||||
[adf-create-folder]="getDocumentListCurrentFolderId()">
|
||||
(success)="documentList.reload()"
|
||||
[adf-create-folder]="getDocumentListCurrentFolderId()"
|
||||
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.NEW_FOLDER' | translate }}">
|
||||
<mat-icon>create_new_folder</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
[disabled]="!canEditFolder(documentList.selection)"
|
||||
title="{{ 'DOCUMENT_LIST.TOOLBAR.EDIT_FOLDER' | translate }}"
|
||||
(error)="openSnackMessage($event)"
|
||||
[adf-edit-folder]="documentList.selection[0]?.entry">
|
||||
[adf-edit-folder]="documentList.selection[0]?.entry"
|
||||
(success)="documentList.reload()"
|
||||
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.EDIT_FOLDER' | translate }}">
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
[disabled]="!hasSelection(documentList.selection)"
|
||||
title="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}"
|
||||
[adfNodeDownload]="documentList.selection">
|
||||
[adfNodeDownload]="documentList.selection"
|
||||
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}">
|
||||
<mat-icon>get_app</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
@@ -96,28 +105,31 @@
|
||||
[adf-nodes]="documentList.selection"
|
||||
title="{{ 'DOCUMENT_LIST.TOOLBAR.DELETE' | translate }}"
|
||||
(delete)="onDeleteActionSuccess($event)"
|
||||
[adf-delete]="documentList.selection">
|
||||
[adf-delete]="documentList.selection"
|
||||
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.DELETE' | translate }}">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
[disabled]="!documentList.selection.length"
|
||||
#favorite="adfFavorite"
|
||||
[adf-node-favorite]="documentList.selection">
|
||||
[adf-node-favorite]="documentList.selection"
|
||||
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.FAVORITES' | translate }}">
|
||||
<mat-icon>
|
||||
{{ favorite.hasFavorites() ? 'star' :'star_border' }}
|
||||
</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
[disabled]="!documentList.selection.length"
|
||||
disabled
|
||||
[baseShareUrl]="baseShareUrl"
|
||||
[adf-share]="documentList.selection[0]">
|
||||
[adf-share]="documentList.selection[0]"
|
||||
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.SHARE' | translate }}">
|
||||
<mat-icon>
|
||||
share
|
||||
</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker">
|
||||
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.THEME' | translate }}">
|
||||
<mat-icon>format_color_fill</mat-icon>
|
||||
</button>
|
||||
|
||||
@@ -129,8 +141,8 @@
|
||||
</mat-menu>
|
||||
|
||||
<button mat-icon-button (click)="showVersions = !showVersions" class="adf-show-versions-button">
|
||||
<mat-icon *ngIf="!showVersions">chevron_left</mat-icon>
|
||||
<mat-icon *ngIf="showVersions">chevron_right</mat-icon>
|
||||
<mat-icon *ngIf="!showVersions" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.SHOW_VERSION' | translate }}">chevron_left</mat-icon>
|
||||
<mat-icon *ngIf="showVersions" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.HIDE_VERSION' | translate }}">chevron_right</mat-icon>
|
||||
</button>
|
||||
|
||||
<adf-toolbar-divider fxFlex="0 0 auto" fxHide fxShow.lt-sm="true"></adf-toolbar-divider>
|
||||
@@ -188,12 +200,21 @@
|
||||
[display]="displayMode"
|
||||
[node]="nodeResult"
|
||||
[includeFields]="includeFields"
|
||||
[sorting]="sorting"
|
||||
[sortingMode]="sortingMode"
|
||||
[showHeader]="showHeader"
|
||||
[thumbnails]="thumbnails"
|
||||
(error)="onNavigationError($event)"
|
||||
(success)="resetError()"
|
||||
(ready)="emitReadyEvent($event)"
|
||||
(preview)="showFile($event)"
|
||||
(folderChange)="onFolderChange($event)"
|
||||
(permissionError)="handlePermissionError($event)">
|
||||
<no-permission-content *ngIf="enableCustomPermissionMessage">
|
||||
<ng-template>
|
||||
<h1>Cris you don't have permissions</h1>
|
||||
</ng-template>
|
||||
</no-permission-content>
|
||||
<empty-folder-content *ngIf="disableDragArea">
|
||||
<ng-template>
|
||||
<div class="adf-empty_template">
|
||||
@@ -209,6 +230,7 @@
|
||||
class="image-table-cell">
|
||||
</data-column>
|
||||
<data-column
|
||||
*ngIf="showNameColumn"
|
||||
key="name"
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
|
||||
[formatTooltip]="getNodeNameTooltip"
|
||||
@@ -259,13 +281,32 @@
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.CREATED' | translate}}"
|
||||
key="createdAt"
|
||||
type="date"
|
||||
format="timeAgo"
|
||||
[format]="enableMediumTimeFormat ? 'medium' : 'timeAgo'"
|
||||
class="desktop-only">
|
||||
</data-column>
|
||||
|
||||
</data-columns>
|
||||
|
||||
<content-actions>
|
||||
<!-- Conditional actions demo -->
|
||||
<content-action
|
||||
target="all"
|
||||
title="Action for 'custom' node"
|
||||
[disabled]="isCustomActionDisabled"
|
||||
(execute)="runCustomAction($event)">
|
||||
</content-action>
|
||||
<content-action
|
||||
icon="get_app"
|
||||
title="Download this file now!"
|
||||
handler="download"
|
||||
[visible]="canDownloadNode">
|
||||
</content-action>
|
||||
<content-action
|
||||
icon="get_app"
|
||||
title="Never see this action again"
|
||||
handler="download"
|
||||
[visible]="false">
|
||||
</content-action>
|
||||
<!-- common actions -->
|
||||
<content-action
|
||||
icon="get_app"
|
||||
@@ -304,6 +345,13 @@
|
||||
title="DOCUMENT_LIST.ACTIONS.METADATA"
|
||||
(execute)="onManageMetadata($event)">
|
||||
</content-action>
|
||||
<content-action
|
||||
icon="settings_input_component"
|
||||
title="DOCUMENT_LIST.ACTIONS.PERMISSION"
|
||||
permission="copy"
|
||||
(error)="onContentActionError($event)"
|
||||
(execute)="onPermissionRequested($event)">
|
||||
</content-action>
|
||||
<!-- document actions -->
|
||||
<content-action
|
||||
icon="storage"
|
||||
@@ -312,6 +360,7 @@
|
||||
(execute)="onManageVersions($event)">
|
||||
</content-action>
|
||||
<content-action
|
||||
target="document"
|
||||
*ngIf="authenticationService.isBpmLoggedIn()"
|
||||
icon="play_arrow"
|
||||
target="document"
|
||||
@@ -319,13 +368,7 @@
|
||||
(execute)="startProcesAction($event)">
|
||||
</content-action>
|
||||
<content-action
|
||||
icon="settings_input_component"
|
||||
title="{{'DOCUMENT_LIST.ACTIONS.PERMISSION' | translate}}"
|
||||
permission="copy"
|
||||
(error)="onContentActionError($event)"
|
||||
(execute)="onPermissionRequested($event)">
|
||||
</content-action>
|
||||
<content-action
|
||||
target="document"
|
||||
icon="lock"
|
||||
permission="lock"
|
||||
handler="lock"
|
||||
@@ -338,14 +381,13 @@
|
||||
*ngIf="!infiniteScrolling"
|
||||
class="adf-documentlist-pagination"
|
||||
[target]="documentList"
|
||||
[supportedPageSizes]="supportedPages"
|
||||
(changePageSize)="onChangePageSize($event)"
|
||||
(changePageNumber)="onChangePageNumber($event)"
|
||||
(nextPage)="onNextPage($event)"
|
||||
(prevPage)="onPrevPage($event)">
|
||||
</adf-pagination>
|
||||
<adf-infinite-pagination
|
||||
*ngIf="infiniteScrolling"
|
||||
[hidden]="!infiniteScrolling"
|
||||
[target]="documentList"
|
||||
[loading]="documentList.infiniteLoading">
|
||||
{{ 'ADF-DOCUMENT-LIST.LAYOUT.LOAD_MORE' | translate }}
|
||||
@@ -353,29 +395,38 @@
|
||||
</adf-upload-drag-area>
|
||||
|
||||
<adf-info-drawer-layout *ngIf="showVersions" class="adf-manage-versions-sidebar" fxFlex="0 0 auto">
|
||||
|
||||
<div info-drawer-content>
|
||||
<ng-container *ngIf="hasOneFileSelected();else choose_document_template">
|
||||
<ng-container *ngIf="userHasPermissionToManageVersions(); else no_permission_to_versions">
|
||||
<adf-version-manager
|
||||
[node]="documentList.selection[0].entry"
|
||||
[showComments]="showVersionComments"
|
||||
[allowDownload]="allowVersionDownload">
|
||||
</adf-version-manager>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
<ng-template #choose_document_template>
|
||||
<div class="adf-manage-versions-empty">
|
||||
<mat-icon class="adf-manage-versions-empty-icon">face</mat-icon>
|
||||
{{'VERSION.CHOOSE_FILE' | translate}}
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #no_permission_to_versions>
|
||||
<div class="adf-manage-versions-no-permission">
|
||||
<mat-icon class="adf-manage-versions-no-permission-icon">warning</mat-icon>
|
||||
{{'VERSION.NO_PERMISSION' | translate}}
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<adf-info-drawer [title]="'Details'" *ngIf="documentList.selection[0]" >
|
||||
<adf-info-drawer-tab [label]="'Properties'">
|
||||
<adf-content-metadata-card
|
||||
[node]="documentList.selection[0].entry">
|
||||
</adf-content-metadata-card>
|
||||
</adf-info-drawer-tab>
|
||||
<adf-info-drawer-tab [label]="'Versions'">
|
||||
<ng-container *ngIf="hasOneFileSelected();else choose_document_template">
|
||||
<ng-container *ngIf="userHasPermissionToManageVersions(); else no_permission_to_versions">
|
||||
<adf-version-manager
|
||||
[node]="documentList.selection[0].entry"
|
||||
[showComments]="showVersionComments"
|
||||
[allowDownload]="allowVersionDownload">
|
||||
</adf-version-manager>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
<ng-template #choose_document_template>
|
||||
<div class="adf-manage-versions-empty">
|
||||
<mat-icon class="adf-manage-versions-empty-icon">face</mat-icon>
|
||||
{{'VERSION.CHOOSE_FILE' | translate}}
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #no_permission_to_versions>
|
||||
<div class="adf-manage-versions-no-permission">
|
||||
<mat-icon class="adf-manage-versions-no-permission-icon">warning</mat-icon>
|
||||
{{'VERSION.NO_PERMISSION' | translate}}
|
||||
</div>
|
||||
</ng-template>
|
||||
</adf-info-drawer-tab>
|
||||
</adf-info-drawer>
|
||||
</div>
|
||||
</adf-info-drawer-layout>
|
||||
</div>
|
||||
@@ -386,11 +437,13 @@
|
||||
<div *ngIf="processId">
|
||||
<adf-start-process
|
||||
[values]="formValues"
|
||||
[appId]="processId">
|
||||
[appId]="processId"
|
||||
(start)="closeStartProcess()"
|
||||
(cancel)="closeStartProcess()">
|
||||
</adf-start-process>
|
||||
</div>
|
||||
|
||||
<div class="adf-content-service-settings">
|
||||
<div *ngIf="showSettingsPanel" class="adf-content-service-settings">
|
||||
|
||||
<p>Current folder ID: {{ documentList.currentFolderId }}</p>
|
||||
|
||||
@@ -404,6 +457,12 @@
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<section>
|
||||
<mat-slide-toggle color="primary" [(ngModel)]="showNameColumn">
|
||||
Show Name Column
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle [color]="'primary'" [(ngModel)]="multiselect">{{'DOCUMENT_LIST.MULTISELECT_CHECKBOXES' |
|
||||
translate}}
|
||||
@@ -434,6 +493,12 @@
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle [color]="'primary'" (click)="toggleThumbnails()" id="enableThumbnails">{{'DOCUMENT_LIST.THUMBNAILS' |
|
||||
translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle [color]="'primary'" [(ngModel)]="versioning">
|
||||
{{'DOCUMENT_LIST.ENABLE_VERSIONING' | translate}}
|
||||
@@ -441,7 +506,7 @@
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle color="primary" [(ngModel)]="infiniteScrolling">
|
||||
<mat-slide-toggle color="primary" (click)="onInfiniteScrolling()">
|
||||
{{'DOCUMENT_LIST.ENABLE_INFINITE_SCROLL' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
@@ -458,6 +523,24 @@
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle color="primary" [(ngModel)]="warnOnMultipleUploads">
|
||||
{{'APP.WARN-MULTIPLE-UPLOADS' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle color="primary" [(ngModel)]="enableCustomPermissionMessage">
|
||||
{{'APP.CUSTOM-PERMISSION-MESSAGE' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle color="primary" [(ngModel)]="enableMediumTimeFormat" id="enableMediumTimeFormat">
|
||||
{{'APP.MEDIUM-TIME-FORMAT' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<h5>Upload</h5>
|
||||
<section *ngIf="acceptedFilesTypeShow">
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
@@ -487,7 +570,8 @@
|
||||
[versioning]="versioning"
|
||||
[adf-node-permission]="'create'"
|
||||
[adf-nodes]="enableUpload ? getCurrentDocumentListNode() : []"
|
||||
(permissionEvent)="handlePermissionError($event)">
|
||||
(permissionEvent)="handlePermissionError($event)"
|
||||
(beginUpload)="onBeginUpload($event)">
|
||||
</adf-upload-button>
|
||||
</div>
|
||||
<div *ngIf="acceptedFilesTypeShow">
|
||||
@@ -508,7 +592,7 @@
|
||||
</adf-upload-button>
|
||||
</div>
|
||||
<section>
|
||||
<mat-checkbox [(ngModel)]="enableUpload">
|
||||
<mat-checkbox id="adf-disable-upload" [(ngModel)]="enableUpload">
|
||||
{{'DOCUMENT_LIST.DESCRIPTION_UPLOAD' | translate}}
|
||||
</mat-checkbox>
|
||||
</section>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
}
|
||||
|
||||
.adf-manage-versions-sidebar {
|
||||
width: 300px !important;
|
||||
width: 360px !important;
|
||||
color: rgba(0, 0, 0, 0.87);
|
||||
|
||||
.adf-manage-versions-empty,
|
||||
@@ -79,25 +79,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
& ::ng-deep .adf-info-drawer-layout-header {
|
||||
display: none;
|
||||
& .adf-info-drawer-layout-header {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
& ::ng-deep .adf-info-drawer-layout-content {
|
||||
padding: 0;
|
||||
|
||||
.adf-version-upload,
|
||||
.adf-new-version-file-upload {
|
||||
width: 100%;
|
||||
|
||||
& .mat-raised-button {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.adf-new-version-uploader-container {
|
||||
padding: 8px 24px 16px 24px;
|
||||
}
|
||||
& .adf-info-drawer-layout-content {
|
||||
padding: 10px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,13 +130,13 @@
|
||||
.adf-datatable-table-cell-header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
.adf-data-table-cell:first-child,
|
||||
.adf-datatable-table-cell-header:first-child,
|
||||
.adf-data-table-cell:nth-child(2),
|
||||
.adf-datatable-table-cell-header:nth-child(2) {
|
||||
display: table-cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.adf-site-container-style {
|
||||
@@ -172,11 +159,11 @@
|
||||
|
||||
@media (max-device-width: 1024px) {
|
||||
adf-document-list .adf-data-table {
|
||||
|
||||
|
||||
.adf-data-table-cell:nth-child(4),
|
||||
.adf-datatable-table-cell-header:nth-child(4) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,20 +25,26 @@ import { MatDialog } from '@angular/material';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { MinimalNodeEntity, NodePaging, Pagination, MinimalNodeEntryEntity, SiteEntry } from 'alfresco-js-api';
|
||||
import {
|
||||
AuthenticationService, AppConfigService, ContentService, TranslationService,
|
||||
AlfrescoApiService, AuthenticationService, AppConfigService, AppConfigValues, ContentService, TranslationService,
|
||||
FileUploadEvent, FolderCreatedEvent, LogService, NotificationService,
|
||||
UploadService, DataColumn, DataRow, UserPreferencesService,
|
||||
PaginationComponent, FormValues, DisplayMode, UserPreferenceValues
|
||||
PaginationComponent, FormValues, DisplayMode, InfinitePaginationComponent
|
||||
} from '@alfresco/adf-core';
|
||||
|
||||
import { DocumentListComponent, PermissionStyleModel } from '@alfresco/adf-content-services';
|
||||
import {
|
||||
DocumentListComponent,
|
||||
PermissionStyleModel,
|
||||
UploadFilesEvent,
|
||||
ConfirmDialogComponent
|
||||
} from '@alfresco/adf-content-services';
|
||||
|
||||
import { SelectAppsDialogComponent } from '@alfresco/adf-process-services';
|
||||
|
||||
import { VersionManagerDialogAdapterComponent } from './version-manager-dialog-adapter.component';
|
||||
import { MetadataDialogAdapterComponent } from './metadata-dialog-adapter.component';
|
||||
import { Subscription } from 'rxjs/Subscription';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { debounceTime } from 'rxjs/operators';
|
||||
|
||||
const DEFAULT_FOLDER_TO_SHOW = '-my-';
|
||||
|
||||
@@ -54,9 +60,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
showViewer = false;
|
||||
showVersions = false;
|
||||
displayMode = DisplayMode.List;
|
||||
includeFields = ['isLocked', 'aspectNames'];
|
||||
includeFields = ['isFavorite', 'isLocked', 'aspectNames'];
|
||||
|
||||
baseShareUrl = this.appConfig.get<string>('ecmHost') + '/preview/s/';
|
||||
baseShareUrl = this.appConfig.get<string>(AppConfigValues.ECMHOST) + '/preview/s/';
|
||||
|
||||
toolbarColor = 'default';
|
||||
|
||||
@@ -74,6 +80,24 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
processId;
|
||||
|
||||
@Input()
|
||||
sorting = ['name', 'asc'];
|
||||
|
||||
@Input()
|
||||
sortingMode = 'client';
|
||||
|
||||
@Input()
|
||||
showRecentFiles = true;
|
||||
|
||||
@Input()
|
||||
showSitePicker = true;
|
||||
|
||||
@Input()
|
||||
showSettingsPanel = true;
|
||||
|
||||
@Input()
|
||||
showHeader = true;
|
||||
|
||||
@Input()
|
||||
selectionMode = 'multiple';
|
||||
|
||||
@@ -119,6 +143,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
@Input()
|
||||
disableDragArea = false;
|
||||
|
||||
@Input()
|
||||
showNameColumn = true;
|
||||
|
||||
@Output()
|
||||
documentListReady: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
@@ -146,10 +173,16 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
@ViewChild('standardPagination')
|
||||
standardPagination: PaginationComponent;
|
||||
|
||||
@ViewChild(InfinitePaginationComponent)
|
||||
infinitePaginationComponent: InfinitePaginationComponent;
|
||||
|
||||
permissionsStyle: PermissionStyleModel[] = [];
|
||||
infiniteScrolling: boolean;
|
||||
supportedPages: number[];
|
||||
currentSiteid = '';
|
||||
warnOnMultipleUploads = false;
|
||||
thumbnails = false;
|
||||
enableCustomPermissionMessage = false;
|
||||
enableMediumTimeFormat = false;
|
||||
|
||||
private onCreateFolder: Subscription;
|
||||
private onEditFolder: Subscription;
|
||||
@@ -162,15 +195,16 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
private translateService: TranslationService,
|
||||
private router: Router,
|
||||
private logService: LogService,
|
||||
private preference: UserPreferencesService,
|
||||
private appConfig: AppConfigService,
|
||||
private preference: UserPreferencesService,
|
||||
private preview: PreviewService,
|
||||
@Optional() private route: ActivatedRoute,
|
||||
public authenticationService: AuthenticationService) {
|
||||
this.preference.select(UserPreferenceValues.SupportedPageSizes)
|
||||
.subscribe((pages) => {
|
||||
this.supportedPages = pages;
|
||||
});
|
||||
public authenticationService: AuthenticationService,
|
||||
public alfrescoApiService: AlfrescoApiService) {
|
||||
|
||||
this.alfrescoApiService.nodeUpdated.subscribe(() => {
|
||||
this.documentList.reload();
|
||||
});
|
||||
}
|
||||
|
||||
showFile(event) {
|
||||
@@ -186,6 +220,11 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
return this.folderUpload;
|
||||
}
|
||||
|
||||
toggleThumbnails() {
|
||||
this.thumbnails = !this.thumbnails;
|
||||
this.documentList.reload();
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
if (!this.pagination) {
|
||||
this.pagination = <Pagination>{
|
||||
@@ -200,19 +239,20 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
this.currentFolderId = params['id'];
|
||||
}
|
||||
|
||||
if (params['mode']) {
|
||||
if (params['mode'] && params['mode'] === DisplayMode.Gallery) {
|
||||
this.displayMode = DisplayMode.Gallery;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// this.disableDragArea = false;
|
||||
this.uploadService.fileUploadComplete.asObservable().debounceTime(300).subscribe(value => this.onFileUploadEvent(value));
|
||||
this.uploadService.fileUploadComplete.asObservable()
|
||||
.pipe(debounceTime(300))
|
||||
.subscribe(value => this.onFileUploadEvent(value));
|
||||
this.uploadService.fileUploadDeleted.subscribe((value) => this.onFileUploadEvent(value));
|
||||
this.contentService.folderCreated.subscribe(value => this.onFolderCreated(value));
|
||||
this.onCreateFolder = this.contentService.folderCreate.subscribe(value => this.onFolderAction(value));
|
||||
this.onEditFolder = this.contentService.folderEdit.subscribe(value => this.onFolderAction(value));
|
||||
this.supportedPages = this.supportedPages ? this.supportedPages : this.preference.getDefaultPageSizes();
|
||||
|
||||
// this.permissionsStyle.push(new PermissionStyleModel('document-list__create', PermissionsEnum.CREATE));
|
||||
// this.permissionsStyle.push(new PermissionStyleModel('document-list__disable', PermissionsEnum.NOT_CREATE, false, true));
|
||||
@@ -250,9 +290,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
onNavigationError(err: any) {
|
||||
if (err) {
|
||||
this.errorMessage = err.message || 'Navigation error';
|
||||
onNavigationError(error: any) {
|
||||
if (error) {
|
||||
this.router.navigate(['/error', error.status]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,7 +322,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
|
||||
onFolderChange($event) {
|
||||
this.router.navigate(['/files', $event.value.id]);
|
||||
this.router.navigate(['/files', $event.value.id, 'display', this.displayMode]);
|
||||
}
|
||||
|
||||
handlePermissionError(event: any) {
|
||||
@@ -331,13 +371,13 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
onContentActionSuccess(message) {
|
||||
const translatedMessage: any = this.translateService.get(message);
|
||||
this.openSnackMessage(translatedMessage.value);
|
||||
this.reloadForInfiniteScrolling();
|
||||
this.documentList.reload();
|
||||
}
|
||||
|
||||
onDeleteActionSuccess(message) {
|
||||
this.uploadService.fileDeleted.next(message);
|
||||
this.deleteElementSuccess.emit();
|
||||
this.reloadForInfiniteScrolling();
|
||||
this.documentList.reload();
|
||||
this.openSnackMessage(message);
|
||||
}
|
||||
|
||||
@@ -345,13 +385,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
this.router.navigate(['/permissions', node.value.entry.id]);
|
||||
}
|
||||
|
||||
private reloadForInfiniteScrolling() {
|
||||
if (this.infiniteScrolling) {
|
||||
this.documentList.skipCount = 0;
|
||||
}
|
||||
this.documentList.reload();
|
||||
}
|
||||
|
||||
onManageVersions(event) {
|
||||
const contentEntry = event.value.entry;
|
||||
const showComments = this.showVersionComments;
|
||||
@@ -446,6 +479,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
}
|
||||
|
||||
closeStartProcess() {
|
||||
this.processId = null;
|
||||
}
|
||||
|
||||
onChangePageSize(event: Pagination): void {
|
||||
this.preference.paginationSize = event.maxItems;
|
||||
this.changedPageSize.emit(event);
|
||||
@@ -459,7 +496,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
this.turnedNextPage.emit(event);
|
||||
}
|
||||
|
||||
loadNextBatch(event: Pagination) {
|
||||
loadNextBatch(event: Pagination): void {
|
||||
this.loadNext.emit(event);
|
||||
}
|
||||
|
||||
@@ -468,17 +505,63 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
|
||||
toogleGalleryView(): void {
|
||||
this.displayMode = this.displayMode === DisplayMode.List ? DisplayMode.Gallery : DisplayMode.List;
|
||||
const url = this
|
||||
.router
|
||||
.createUrlTree(['/files', this.currentFolderId, 'display', this.displayMode])
|
||||
.toString();
|
||||
|
||||
if (this.displayMode === DisplayMode.List) {
|
||||
this.displayMode = DisplayMode.Gallery;
|
||||
this.location.go(url);
|
||||
} else {
|
||||
this.displayMode = DisplayMode.List;
|
||||
this.location.go(url);
|
||||
this.location.go(url);
|
||||
}
|
||||
|
||||
onInfiniteScrolling(): void {
|
||||
this.infiniteScrolling = !this.infiniteScrolling;
|
||||
this.infinitePaginationComponent.reset();
|
||||
this.documentList.reload();
|
||||
}
|
||||
|
||||
canDownloadNode = (node: MinimalNodeEntity): boolean => {
|
||||
if (node && node.entry && node.entry.name === 'custom') {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
onBeginUpload(event: UploadFilesEvent) {
|
||||
if (this.warnOnMultipleUploads && event) {
|
||||
const files = event.files || [];
|
||||
if (files.length > 1) {
|
||||
event.pauseUpload();
|
||||
|
||||
const dialogRef = this.dialog.open(ConfirmDialogComponent, {
|
||||
data: {
|
||||
title: 'Upload',
|
||||
message: `Are you sure you want to upload ${files.length} file(s)?`
|
||||
},
|
||||
minWidth: '250px'
|
||||
});
|
||||
|
||||
dialogRef.afterClosed().subscribe(result => {
|
||||
if (result === true) {
|
||||
event.resumeUpload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
isCustomActionDisabled = (node: MinimalNodeEntity): boolean => {
|
||||
if (node && node.entry && node.entry.name === 'custom') {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
runCustomAction(event) {
|
||||
console.log(event);
|
||||
}
|
||||
|
||||
getFileFiltering() {
|
||||
return this.acceptedFilesTypeShow ? this.acceptedFilesType : '*';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,30 @@
|
||||
<header mat-dialog-title>{{'VERSION.DIALOG.TITLE' | translate}}</header>
|
||||
<section mat-dialog-content>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle id="adf-version-manager-switch-readonly" color="primary" [(ngModel)]="readOnly">
|
||||
{{'APP.ADF_VERSION_MANAGER.READ_ONLY' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle id="adf-version-manager-switch-download"color="primary" [(ngModel)]="allowDownload">
|
||||
{{'APP.ADF_VERSION_MANAGER.ALLOW_DOWNLOAD' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle id="adf-version-manager-switch-comments" color="primary" [(ngModel)]="showComments">
|
||||
{{'APP.ADF_VERSION_MANAGER.COMMENTS' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section mat-dialog-content *ngIf="!readOnly">
|
||||
<adf-version-manager [node]="contentEntry" [allowDownload]="allowDownload" [showComments]="showComments" (uploadError)="uploadError($event)"></adf-version-manager>
|
||||
</section>
|
||||
<section mat-dialog-content *ngIf="readOnly">
|
||||
<adf-version-list [node]="contentEntry" [showActions]="false" ></adf-version-list>
|
||||
</section>
|
||||
|
||||
<footer mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
|
||||
<button mat-button (click)="close()">{{'VERSION.DIALOG.CLOSE' | translate}}</button>
|
||||
</footer>
|
||||
|
||||
@@ -30,6 +30,7 @@ export class VersionManagerDialogAdapterComponent {
|
||||
|
||||
showComments = true;
|
||||
allowDownload = true;
|
||||
readOnly = false;
|
||||
|
||||
constructor(@Inject(MAT_DIALOG_DATA) data: any,
|
||||
private snackBar: MatSnackBar,
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
@@ -1214,7 +1231,7 @@ export class DemoForm {
|
||||
'readOnly': false,
|
||||
'overrideId': false,
|
||||
'colspan': 1,
|
||||
'placeholder': null,
|
||||
'placeholder': '10',
|
||||
'minLength': 0,
|
||||
'maxLength': 0,
|
||||
'minValue': null,
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { Injectable } from '@angular/core';
|
||||
import {
|
||||
AppConfigService, AlfrescoApiService, EcmModelService, LogService, FormService, FormOutcomeEvent
|
||||
} from '@alfresco/adf-core';
|
||||
import { Subject } from 'rxjs/Subject';
|
||||
import { Subject } from 'rxjs';
|
||||
|
||||
@Injectable()
|
||||
export class FakeFormService extends FormService {
|
||||
@@ -36,7 +36,7 @@ export class FakeFormService extends FormService {
|
||||
|
||||
public getRestFieldValues(taskId: string, fieldId: string): Observable<any> {
|
||||
if (fieldId === 'typeahedField') {
|
||||
return Observable.of([
|
||||
return of([
|
||||
{ 'id': '1', 'name': 'Leanne Graham' },
|
||||
{ 'id': '2', 'name': 'Ervin Howell' },
|
||||
{ 'id': '3', 'name': 'Clementine Bauch' },
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
<adf-form-list [forms]="formList" (row-dblclick)="onRowDblClick($event)">
|
||||
</adf-form-list>
|
||||
<div class="form-container" *ngIf="!isEmptyForm()">
|
||||
<adf-form #adfForm [form]="form" [data]="restoredData">
|
||||
<adf-form #adfForm [form]="form" [data]="restoredData" [showValidationIcon]="showValidationIcon">
|
||||
</adf-form>
|
||||
</div>
|
||||
<button mat-button (click)="store()" color="primary">{{'FORM-LIST.STORE' | translate }}</button>
|
||||
<button mat-button (click)="restore()" color="primary">{{'FORM-LIST.RESTORE' | translate }}</button>
|
||||
<section class="form-list-margin">
|
||||
<mat-slide-toggle color="primary" [(ngModel)]="showValidationIcon">
|
||||
Show Validation Icon
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
@@ -6,3 +6,7 @@
|
||||
width: 80%;
|
||||
height: 80%;
|
||||
}
|
||||
|
||||
.form-list-margin {
|
||||
margin-left: 26px;
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ export class FormListComponent {
|
||||
storedData: any = {};
|
||||
restoredData: any = {};
|
||||
|
||||
showValidationIcon = false;
|
||||
|
||||
constructor(private formService: FormService, private logService: LogService) {
|
||||
// Prevent default outcome actions
|
||||
formService.executeOutcome.subscribe(e => {
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
@@ -15,7 +32,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { FormModel, FormService, FormOutcomeEvent } from '@alfresco/adf-core';
|
||||
import { InMemoryFormService } from '../../services/in-memory-form.service';
|
||||
import { DemoForm } from './demo-form';
|
||||
@@ -26,7 +43,8 @@ import { DemoForm } from './demo-form';
|
||||
styleUrls: ['form.component.css'],
|
||||
providers: [
|
||||
{ provide: FormService, useClass: InMemoryFormService }
|
||||
]
|
||||
],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class FormComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<div class="content header-data">
|
||||
<h1>Header data</h1>
|
||||
<mat-card>
|
||||
<div>
|
||||
<mat-checkbox [(ngModel)]="checkbox" (change)="hideButton()">Show menu button</mat-checkbox>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Choose header color</label>
|
||||
<select (change)="changeColor($event.target.value)">
|
||||
<option value="primary">Primary</option>
|
||||
<option value="accent">Accent</option>
|
||||
<option value="warn">Warn</option>
|
||||
</select>
|
||||
OR
|
||||
<input type="text" name="color" (keyup.enter)="changeColor($event.target.value)" placeholder="hex color code">
|
||||
<p>*Choose only one value at a time: either hex code or theme color.</p>
|
||||
<p>*press enter for submitting new hex color</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Change title</label>
|
||||
<input type="text" name="title" (keyup.enter)="submitTitle($event.target.value)" placeholder ="{{ 'APP_LAYOUT.APP_NAME' | translate}}">
|
||||
<p>*press enter for submitting new title</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Change logo</label>
|
||||
<input type="text" placeholder="URL path" (keyup.enter)="submitLogo($event.target.value)" >
|
||||
<p>*press enter for submitting new logo</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Change logo link</label>
|
||||
<input type="url" placeholder="Redirect URL" (keyup.enter)="submitRedirectUrl($event.target.value)" >
|
||||
<p>*Input JSON friendly array or explicit string. E.g. ["/test", 33, "user", 11] or "/test"</p>
|
||||
<p>*press enter for submitting new link on logo</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Change logo tooltip</label>
|
||||
<input type="text" placeholder="Tooltip text" (keyup.enter)="submitTooltip($event.target.value)" >
|
||||
<p>*press enter for submitting new tooltip</p>
|
||||
</div>
|
||||
</mat-card>
|
||||
</div>
|
||||
@@ -0,0 +1,28 @@
|
||||
.content {
|
||||
padding: 10px;
|
||||
.mat-card {
|
||||
padding: 16px 24px;
|
||||
max-width: 100% !important;
|
||||
max-height: 100% !important;
|
||||
|
||||
div {
|
||||
padding: 0;
|
||||
margin-bottom: 30px;
|
||||
|
||||
label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.mat-form-field, input, select {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { HeaderDataService } from './header-data.service';
|
||||
|
||||
@Component({
|
||||
templateUrl: './header-data.component.html',
|
||||
styleUrls: ['./header-data.component.scss']
|
||||
})
|
||||
export class HeaderDataComponent {
|
||||
checkbox = true;
|
||||
|
||||
constructor(private headerService: HeaderDataService) {}
|
||||
|
||||
hideButton() {
|
||||
this.headerService.hideMenuButton();
|
||||
}
|
||||
|
||||
changeColor(color: string) {
|
||||
this.headerService.changeColor(color);
|
||||
}
|
||||
|
||||
submitTitle(title: string) {
|
||||
if (title) {
|
||||
this.headerService.changeTitle(title);
|
||||
}
|
||||
}
|
||||
|
||||
submitLogo(logoPath: string) {
|
||||
if (logoPath) {
|
||||
this.headerService.changeLogo(logoPath);
|
||||
}
|
||||
}
|
||||
|
||||
submitRedirectUrl(value: string) {
|
||||
const redirectUrl = JSON.parse(value);
|
||||
if (redirectUrl) {
|
||||
this.headerService.changeRedirectUrl(redirectUrl);
|
||||
}
|
||||
}
|
||||
|
||||
submitTooltip(tooltip: string) {
|
||||
if (tooltip) {
|
||||
this.headerService.changeTooltip(tooltip);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Injectable, Output, EventEmitter } from '@angular/core';
|
||||
|
||||
|
||||
@Injectable()
|
||||
export class HeaderDataService {
|
||||
|
||||
show = true;
|
||||
|
||||
@Output() hideMenu: EventEmitter<boolean> = new EventEmitter();
|
||||
@Output() color: EventEmitter<string> = new EventEmitter();
|
||||
@Output() title: EventEmitter<string> = new EventEmitter();
|
||||
@Output() logo: EventEmitter<string> = new EventEmitter();
|
||||
@Output() redirectUrl: EventEmitter<string|any[]> = new EventEmitter();
|
||||
@Output() tooltip: EventEmitter<string> = new EventEmitter();
|
||||
|
||||
hideMenuButton() {
|
||||
this.show = !this.show;
|
||||
this.hideMenu.emit(this.show);
|
||||
}
|
||||
|
||||
changeColor(color: string) {
|
||||
this.color.emit(color);
|
||||
}
|
||||
|
||||
changeTitle(title: string) {
|
||||
this.title.emit(title);
|
||||
|
||||
}
|
||||
|
||||
changeLogo(logoPath: string) {
|
||||
this.logo.emit(logoPath);
|
||||
}
|
||||
|
||||
changeRedirectUrl(redirectUrl: string | any[]) {
|
||||
this.redirectUrl.emit(redirectUrl);
|
||||
}
|
||||
|
||||
changeTooltip(tooltip: string) {
|
||||
this.tooltip.emit(tooltip);
|
||||
}
|
||||
}
|
||||
@@ -2,10 +2,10 @@
|
||||
<div class="adf-home-section ad">
|
||||
<div class="adf-home-headline">
|
||||
<h1 class="mat-h1">ADF</h1>
|
||||
<h2> Angular components for Alfresco</h2>
|
||||
<h2>{{ 'APP.HOME.TITLE' | translate}}</h2>
|
||||
</div>
|
||||
<div class="adf-home-start">
|
||||
<a mat-raised-button class="adf-home-docs-button adf-primary-color" href="https://github.com/Alfresco/alfresco-ng2-components/tree/master/docs">DOCS</a>
|
||||
<a mat-raised-button class="adf-home-docs-button adf-primary-color" href="https://github.com/Alfresco/alfresco-ng2-components/tree/master/docs">{{ 'APP.HOME.DOCUMENTATION' | translate}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { ObjectDataTableAdapter, AuthenticationService } from '@alfresco/adf-core';
|
||||
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CoreModule, TranslationService } from '@alfresco/adf-core';
|
||||
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { LazyLoadingComponent } from './lazy-loading.component';
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
height: 20%;
|
||||
width: 40%;
|
||||
position: fixed;
|
||||
top: 1em;
|
||||
top: 4em;
|
||||
right: 1em;
|
||||
opacity: 0.9;
|
||||
overflow: scroll;
|
||||
|
||||
@@ -32,11 +32,18 @@ export class LogComponent {
|
||||
constructor(public logService: LogService) {
|
||||
|
||||
logService.onMessage.subscribe((message) => {
|
||||
this.logs.push({ type: message.type, text: JSON.stringify(message.text) });
|
||||
let contentMessage = '';
|
||||
try {
|
||||
contentMessage = JSON.stringify(message.text);
|
||||
} catch (error) {
|
||||
return;
|
||||
}
|
||||
this.logs.push({ type: message.type, text: contentMessage});
|
||||
this.logsData = new ObjectDataTableAdapter(this.logs, [
|
||||
{ type: 'text', key: 'type', title: 'Log level', sortable: true },
|
||||
{ type: 'text', key: 'text', title: 'Message', sortable: false }
|
||||
]);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,24 +1,6 @@
|
||||
<!--BPM, ECN AND CSRF TOGGLE-->
|
||||
|
||||
<div class="settings">
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="switch1"
|
||||
[color]="'primary'"
|
||||
(change)="toggleECM()"
|
||||
[checked]="isECM">
|
||||
{{ 'LOGIN.CONTENT_SERVICES'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="switch2"
|
||||
[color]="'primary'"
|
||||
(change)="toggleBPM()"
|
||||
[checked]="isBPM">
|
||||
{{ 'LOGIN.PROCESS_SERVICES'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="switch3"
|
||||
@@ -37,6 +19,55 @@
|
||||
{{ 'LOGIN.LOGIN_FOOTER'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toogle-show-rememberme"
|
||||
[color]="'primary'"
|
||||
(change)="toggleRemamberme()"
|
||||
[checked]="showRememberMe">
|
||||
{{ 'LOGIN.SHOW_REMEMBERME'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toogle-show-successRoute"
|
||||
[color]="'primary'"
|
||||
(change)="toggleSuccessRoute()"
|
||||
[checked]="customSuccessRoute">
|
||||
{{ 'LOGIN.SHOW_SUCCESS_ROUTE'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p class="toggle">
|
||||
<ng-container *ngIf="customSuccessRoute">
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Custom success route"
|
||||
[(ngModel)]="customSuccessRouteURI"
|
||||
data-automation-id="adf-success-route">
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toogle-logo"
|
||||
[color]="'primary'"
|
||||
(change)="toggleLogo()"
|
||||
[checked]="customLogoImage">
|
||||
{{ 'LOGIN.CUSTOM_LOGO'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p class="toggle">
|
||||
<ng-container *ngIf="customLogoImage">
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Custom success Logo URL"
|
||||
[(ngModel)]="customLogoImageURL"
|
||||
data-automation-id="adf-url-logo">
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<!--SETTING BUTTON-->
|
||||
@@ -47,33 +78,17 @@
|
||||
|
||||
<adf-login
|
||||
#alfrescologin
|
||||
[providers]="providers"
|
||||
[successRoute]="customSuccessRouteURI"
|
||||
[logoImageUrl]="customLogoImageURL"
|
||||
[fieldsValidation]="customValidation"
|
||||
[disableCsrf]="disableCsrf"
|
||||
[showLoginActions]="showFooter"
|
||||
[showRememberMe]="showFooter"
|
||||
copyrightText="© 2016 Alfresco Software, Inc. All Rights Reserved. (customised text)"
|
||||
[showRememberMe]="showFooter && showRememberMe"
|
||||
(executeSubmit)="checkForm($event)"
|
||||
copyrightText="{{ 'application.copyright' | adfAppConfig }}"
|
||||
(success)="onLogin($event)"
|
||||
(error)="onError($event)">
|
||||
<div class="mobile-settings">
|
||||
<p>
|
||||
<mat-slide-toggle
|
||||
id="switch1-mobile"
|
||||
[color]="'primary'"
|
||||
(change)="toggleECM()"
|
||||
[checked]="isECM">
|
||||
{{ 'LOGIN.CONTENT_SERVICES'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p>
|
||||
<mat-slide-toggle
|
||||
id="switch2-mobile"
|
||||
[color]="'primary'"
|
||||
(change)="toggleBPM()"
|
||||
[checked]="isBPM">
|
||||
{{ 'LOGIN.PROCESS_SERVICES'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<p>
|
||||
<mat-slide-toggle
|
||||
id="switch3-mobile"
|
||||
@@ -92,7 +107,9 @@
|
||||
{{ 'LOGIN.LOGIN_FOOTER'| translate }}
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
<button type="button" mat-raised-button color="accent" class="mobile-setting-button" routerLink="/settings" data-automation-id="settings">{{ 'APP_LAYOUT.SETTINGS'| translate }}</button>
|
||||
<button type="button" mat-raised-button color="accent" class="mobile-setting-button" routerLink="/settings"
|
||||
data-automation-id="settings">{{ 'APP_LAYOUT.SETTINGS'| translate }}
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</adf-login>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
}
|
||||
|
||||
.toggle {
|
||||
width: 190px;
|
||||
width: auto;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
}
|
||||
@@ -49,4 +49,4 @@
|
||||
.settings ::ng-deep .mat-slide-toggle-thumb-container {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { Validators } from '@angular/forms';
|
||||
import { Router } from '@angular/router';
|
||||
import { LogService, StorageService } from '@alfresco/adf-core';
|
||||
import { LogService } from '@alfresco/adf-core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-login',
|
||||
@@ -30,17 +30,18 @@ export class LoginComponent implements OnInit {
|
||||
@ViewChild('alfrescologin')
|
||||
alfrescologin: any;
|
||||
|
||||
providers = 'ECM';
|
||||
customValidation: any;
|
||||
customSuccessRouteURI = '';
|
||||
customLogoImageURL = './assets/images/alfresco-logo.svg';
|
||||
|
||||
disableCsrf = false;
|
||||
isECM = true;
|
||||
isBPM = false;
|
||||
showFooter = true;
|
||||
showRememberMe = true;
|
||||
customSuccessRoute = false;
|
||||
customLogoImage = false;
|
||||
customMinLength = 2;
|
||||
|
||||
constructor(private router: Router,
|
||||
private storage: StorageService,
|
||||
private logService: LogService) {
|
||||
this.customValidation = {
|
||||
username: ['', Validators.compose([Validators.required, Validators.minLength(this.customMinLength)])],
|
||||
@@ -50,27 +51,8 @@ export class LoginComponent implements OnInit {
|
||||
|
||||
ngOnInit() {
|
||||
this.alfrescologin.addCustomValidationError('username', 'required', 'LOGIN.MESSAGES.USERNAME-REQUIRED');
|
||||
this.alfrescologin.addCustomValidationError('username', 'minlength', 'LOGIN.MESSAGES.USERNAME-MIN', {minLength: this.customMinLength});
|
||||
this.alfrescologin.addCustomValidationError('username', 'minlength', 'LOGIN.MESSAGES.USERNAME-MIN', { minLength: this.customMinLength });
|
||||
this.alfrescologin.addCustomValidationError('password', 'required', 'LOGIN.MESSAGES.PASSWORD-REQUIRED');
|
||||
|
||||
if (this.storage.hasItem('providers')) {
|
||||
this.providers = this.storage.getItem('providers');
|
||||
}
|
||||
|
||||
this.initProviders();
|
||||
}
|
||||
|
||||
initProviders() {
|
||||
if (this.providers === 'BPM') {
|
||||
this.isECM = false;
|
||||
this.isBPM = true;
|
||||
} else if (this.providers === 'ECM') {
|
||||
this.isECM = true;
|
||||
this.isBPM = false;
|
||||
} else if (this.providers === 'ALL') {
|
||||
this.isECM = true;
|
||||
this.isBPM = true;
|
||||
}
|
||||
}
|
||||
|
||||
onLogin($event) {
|
||||
@@ -81,16 +63,6 @@ export class LoginComponent implements OnInit {
|
||||
this.logService.error($event);
|
||||
}
|
||||
|
||||
toggleECM() {
|
||||
this.isECM = !this.isECM;
|
||||
this.storage.setItem('providers', this.updateProvider());
|
||||
}
|
||||
|
||||
toggleBPM() {
|
||||
this.isBPM = !this.isBPM;
|
||||
this.storage.setItem('providers', this.updateProvider());
|
||||
}
|
||||
|
||||
toggleCSRF() {
|
||||
this.disableCsrf = !this.disableCsrf;
|
||||
}
|
||||
@@ -99,23 +71,26 @@ export class LoginComponent implements OnInit {
|
||||
this.showFooter = !this.showFooter;
|
||||
}
|
||||
|
||||
updateProvider() {
|
||||
if (this.isBPM && this.isECM) {
|
||||
this.providers = 'ALL';
|
||||
return this.providers;
|
||||
}
|
||||
toggleRemamberme() {
|
||||
this.showRememberMe = !this.showRememberMe;
|
||||
}
|
||||
|
||||
if (this.isECM) {
|
||||
this.providers = 'ECM';
|
||||
return this.providers;
|
||||
toggleSuccessRoute() {
|
||||
this.customSuccessRoute = !this.customSuccessRoute;
|
||||
if (!this.customSuccessRoute) {
|
||||
this.customSuccessRouteURI = null;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.isBPM) {
|
||||
this.providers = 'BPM';
|
||||
return this.providers;
|
||||
toggleLogo() {
|
||||
this.customLogoImage = !this.customLogoImage;
|
||||
if (!this.customLogoImage) {
|
||||
this.customLogoImageURL = null;
|
||||
}
|
||||
}
|
||||
|
||||
this.providers = '';
|
||||
return this.providers;
|
||||
checkForm(event: any) {
|
||||
const values = event.values;
|
||||
this.logService.log(values);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<header class="adf-logout-background">
|
||||
<div class="adf-logout-section">
|
||||
<div class="adf-logout-headline">
|
||||
<h1>{{ 'APP.LOGOUT.TITLE' | translate}}</h1>
|
||||
<h2>{{ 'APP.LOGOUT.SUB_TITLE' | translate}}</h2>
|
||||
</div>
|
||||
|
||||
<div class="adf-logout-login">
|
||||
<a mat-raised-button class="adf-logout-docs-button adf-primary-color"
|
||||
href="/login">{{ 'APP.LOGOUT.LOGIN' | translate}}</a>
|
||||
</div>
|
||||
<div class="adf-logout-home">
|
||||
<a mat-raised-button class="adf-logout-docs-button adf-primary-color"
|
||||
href="/">{{ 'APP.LOGOUT.HOME' | translate}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@@ -0,0 +1,39 @@
|
||||
:host {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.adf-logout-header-background {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.adf-logout-section {
|
||||
text-align: center;
|
||||
padding-top: 60px;
|
||||
}
|
||||
|
||||
.adf-logout-headline {
|
||||
|
||||
h1 {
|
||||
font-size: 56px;
|
||||
font-weight: 300;
|
||||
line-height: 56px;
|
||||
margin: 15px 5px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 18px;
|
||||
font-weight: 300;
|
||||
line-height: 28px;
|
||||
margin: 15px 0 25px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.adf-logout-docs-button {
|
||||
margin: 30px;
|
||||
}
|
||||
|
||||
.adf-logout-login {
|
||||
float: left;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-logout',
|
||||
templateUrl: './logout.component.html',
|
||||
styleUrls: ['./logout.component.scss']
|
||||
})
|
||||
export class LogoutComponent {}
|
||||
@@ -0,0 +1,70 @@
|
||||
<div class="main-content">
|
||||
<h1>Notification Service</h1>
|
||||
|
||||
<ul>
|
||||
<li>Try setting custom message with unicode characters, for example: <strong>I ♥️ ADF</strong></li>
|
||||
<li>Try setting custom i18n resource key, for example: <strong>APP_LAYOUT.NOTIFICATIONS</strong></li>
|
||||
<li>Try toggling the action button. Clicking the action within SnackBar should update the label under the toggle button.</li>
|
||||
<li>All elements support <em>data-automation-id</em> attributes and can be automated.</li>
|
||||
</ul>
|
||||
|
||||
<mat-form-field>
|
||||
<input
|
||||
matInput
|
||||
placeholder="Message"
|
||||
[(ngModel)]="message"
|
||||
data-automation-id="notification-message">
|
||||
</mat-form-field>
|
||||
|
||||
<button mat-icon-button (click)="send()" data-automation-id="notification-default-button">
|
||||
<mat-icon>send</mat-icon>
|
||||
</button>
|
||||
|
||||
<div>
|
||||
<mat-slide-toggle
|
||||
[(ngModel)]="withAction"
|
||||
data-automation-id="notification-action-toggle">
|
||||
With action
|
||||
</mat-slide-toggle>
|
||||
</div>
|
||||
|
||||
<div data-automation-id="notification-action-output" *ngIf="actionOutput">
|
||||
{{ actionOutput }}
|
||||
</div>
|
||||
|
||||
<h2>Custom Configuration</h2>
|
||||
|
||||
<form [formGroup]="configForm">
|
||||
<mat-form-field>
|
||||
<mat-select class="form-control" formControlName="direction" placeholder="Direction" data-automation-id="notification-direction">
|
||||
<mat-option *ngFor="let direction of directions" [value]="direction.value">
|
||||
{{ direction.title }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<input matInput type="number" class="form-control" formControlName="duration" [value]="defaultDuration" placeholder="Duration" data-automation-id="notification-duration">
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<mat-select class="form-control" formControlName="horizontalPosition" placeholder="Horizontal Position" data-automation-id="notification-horizontal-position">
|
||||
<mat-option *ngFor="let horizontalPosition of horizontalPositions" [value]="horizontalPosition.value">
|
||||
{{ horizontalPosition.title }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<mat-select class="form-control" formControlName="verticalPosition" placeholder="Vertical Position" data-automation-id="notification-vertical-position">
|
||||
<mat-option *ngFor="let verticalPosition of verticalPositions" [value]="verticalPosition.value">{{ verticalPosition.title }}</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button mat-icon-button (click)="sendCustomConfig()" data-automation-id="notification-custom-config-button">
|
||||
<mat-icon>send</mat-icon>
|
||||
</button>
|
||||
</form>
|
||||
<div>
|
||||
<h3>SnackBar Config</h3>
|
||||
<p *ngIf="snackBarConfigObject" data-automation-id="notification-custom-object">
|
||||
{{snackBarConfigObject}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
.main-content {
|
||||
padding: 10px;
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { NotificationService } from '@alfresco/adf-core';
|
||||
import { MatSnackBarConfig } from '@angular/material';
|
||||
import { FormBuilder, FormGroup, FormControl } from '@angular/forms';
|
||||
|
||||
@Component({
|
||||
templateUrl: './notifications.component.html',
|
||||
styleUrls: ['./notifications.component.scss']
|
||||
})
|
||||
export class NotificationsComponent implements OnInit {
|
||||
|
||||
message = 'I ♥️ ADF';
|
||||
withAction = false;
|
||||
actionOutput = '';
|
||||
snackBarConfigObject = '';
|
||||
|
||||
configForm: FormGroup;
|
||||
|
||||
snackBarConfig: MatSnackBarConfig = new MatSnackBarConfig();
|
||||
|
||||
directions = [
|
||||
{ value: 'ltr', title: 'Left to right' },
|
||||
{ value: 'rtl', title: 'Right to left' }
|
||||
];
|
||||
|
||||
horizontalPositions = [
|
||||
{ value: 'start', title: 'Start' },
|
||||
{ value: 'center', title: 'Center' },
|
||||
{ value: 'end', title: 'End' },
|
||||
{ value: 'left', title: 'Left' },
|
||||
{ value: 'right', title: 'Right' }
|
||||
];
|
||||
|
||||
verticalPositions = [
|
||||
{ value: 'top', title: 'Top' },
|
||||
{ value: 'bottom', title: 'Bottom' }
|
||||
];
|
||||
|
||||
defaultDuration = 20000;
|
||||
|
||||
constructor(private notificationService: NotificationService,
|
||||
private formBuilder: FormBuilder) {
|
||||
this.snackBarConfig.duration = this.defaultDuration;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.configForm = this.formBuilder.group({
|
||||
direction: new FormControl(''),
|
||||
horizontalPosition: new FormControl(''),
|
||||
verticalPosition: new FormControl(''),
|
||||
duration: new FormControl('')
|
||||
});
|
||||
|
||||
this.configForm.valueChanges
|
||||
.subscribe(configFormValues =>
|
||||
this.setSnackBarConfig(configFormValues)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
setSnackBarConfig(configFormValues: any) {
|
||||
|
||||
if (configFormValues.announcementMessage) {
|
||||
this.snackBarConfig.announcementMessage = configFormValues.announcementMessage;
|
||||
}
|
||||
if (configFormValues.direction) {
|
||||
this.snackBarConfig.direction = configFormValues.direction;
|
||||
|
||||
}
|
||||
if (configFormValues.duration) {
|
||||
this.snackBarConfig.duration = configFormValues.duration;
|
||||
|
||||
}
|
||||
if (configFormValues.horizontalPosition) {
|
||||
this.snackBarConfig.horizontalPosition = configFormValues.horizontalPosition;
|
||||
}
|
||||
if (configFormValues.verticalPosition) {
|
||||
this.snackBarConfig.verticalPosition = configFormValues.verticalPosition;
|
||||
}
|
||||
}
|
||||
|
||||
send() {
|
||||
this.actionOutput = '';
|
||||
|
||||
if (this.message) {
|
||||
if (this.withAction) {
|
||||
this.notificationService.openSnackMessageAction(this.message, 'Some action', this.snackBarConfig.duration)
|
||||
.onAction()
|
||||
.subscribe(() => this.actionOutput = 'Action clicked');
|
||||
} else {
|
||||
this.notificationService.openSnackMessage(this.message, this.snackBarConfig.duration);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendCustomConfig() {
|
||||
this.actionOutput = '';
|
||||
this.snackBarConfigObject = `{"direction": "${this.snackBarConfig.direction}",
|
||||
"duration": "${this.snackBarConfig.duration}",
|
||||
"horizontalPosition": "${ this.snackBarConfig.horizontalPosition}",
|
||||
"verticalPosition": "${ this.snackBarConfig.verticalPosition}"}`;
|
||||
if (this.message) {
|
||||
if (this.withAction) {
|
||||
this.notificationService
|
||||
.openSnackMessageAction(this.message, 'Some action', this.snackBarConfig)
|
||||
.onAction()
|
||||
.subscribe(() => this.actionOutput = 'Action clicked');
|
||||
} else {
|
||||
this.notificationService.openSnackMessage(this.message, this.snackBarConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,15 @@
|
||||
<h1>Overlay Viewer</h1>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-viewer-overlay"
|
||||
[color]="'primary'"
|
||||
(change)="toggleOverlay()"
|
||||
[checked]="isOverlay">
|
||||
Overlay
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<adf-document-list
|
||||
currentFolderId="-my-"
|
||||
(preview)="showPreview($event)">
|
||||
@@ -7,6 +17,6 @@
|
||||
|
||||
<adf-viewer
|
||||
[(showViewer)]="showViewer"
|
||||
[overlayMode]="true"
|
||||
[overlayMode]="isOverlay"
|
||||
[fileNodeId]="nodeId">
|
||||
</adf-viewer>
|
||||
|
||||
@@ -26,6 +26,11 @@ export class OverlayViewerComponent {
|
||||
showViewer = false;
|
||||
|
||||
nodeId: string;
|
||||
isOverlay = true;
|
||||
|
||||
toggleOverlay() {
|
||||
this.isOverlay = !this.isOverlay;
|
||||
}
|
||||
|
||||
showPreview(event) {
|
||||
if (event.value.entry.isFile) {
|
||||
|
||||
@@ -2,11 +2,17 @@
|
||||
<button mat-raised-button
|
||||
[color]="toggleStatus?'accent':'primary'"
|
||||
adf-inherit-permission [nodeId]="nodeId"
|
||||
(error)="showErrorMessage($event)"
|
||||
(updated)="onUpdatedPermissions($event)">
|
||||
{{ (toggleStatus?'DEMO_PERMISSION.INHERITED_PERMISSIONS_BUTTON':'DEMO_PERMISSION.INHERIT_PERMISSION_BUTTON') | translate}}</button>
|
||||
<button mat-button color="primary" (click)="openAddPermissionDialog($event)">Add User or Group</button>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<adf-permission-list #permissionList [nodeId]="nodeId">
|
||||
<adf-permission-list #permissionList
|
||||
[nodeId]="nodeId"
|
||||
(update)="reloadList()"
|
||||
(error)="showErrorMessage($event)">
|
||||
</adf-permission-list>
|
||||
</div>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user