mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
+57
-55
@@ -15,6 +15,9 @@ branches:
|
||||
only:
|
||||
- master
|
||||
- development
|
||||
- /.*next-release.*/
|
||||
- /.*beta.*/
|
||||
- /.*greenkeeper.*/
|
||||
|
||||
# TRAVIS_PULL_REQUEST == false means is running on dev branch and is not a PR
|
||||
stages:
|
||||
@@ -39,11 +42,6 @@ before_install:
|
||||
- sh -e /etc/init.d/xvfb start
|
||||
- sleep 3 # give xvfb some time to start
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- development
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- stage: Warm Up Cache
|
||||
@@ -54,145 +52,149 @@ jobs:
|
||||
- ./scripts/update-version.sh -gnu -alpha || exit 1
|
||||
- npm install
|
||||
- ./scripts/lint.sh || exit 1
|
||||
- npm run spellcheck || exit 1
|
||||
- npm run stylelint || exit 1
|
||||
- rm -rf tmp && (./scripts/smart-build.sh -b $TRAVIS_BRANCH || exit 1;);
|
||||
- rm -rf tmp && mkdir tmp
|
||||
- git merge-base origin/$TRAVIS_BRANCH HEAD > ./tmp/devhead.txt
|
||||
- (./scripts/smart-build.sh -b $TRAVIS_BRANCH -gnu || exit 1;);
|
||||
- npm run build:dist || exit 1
|
||||
- ./scripts/license-list-generator.sh
|
||||
- stage: Unit test
|
||||
name: core
|
||||
name: core and extensions
|
||||
script:
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "core$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
ng test core --watch=false || exit 1;
|
||||
fi
|
||||
- stage: Unit test
|
||||
name: extensions
|
||||
script:
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
fi;
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "extensions$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
ng test extensions --watch=false || exit 1;
|
||||
fi
|
||||
fi;
|
||||
- stage: Unit test
|
||||
name: process-services
|
||||
name: process-services and insights
|
||||
script:
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "process-services$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
ng test process-services --watch=false || exit 1;
|
||||
fi
|
||||
- stage: Unit test
|
||||
name: insights
|
||||
script:
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
fi;
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "insights$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
ng test insights --watch=false || exit 1;
|
||||
fi
|
||||
fi;
|
||||
- stage: Unit test
|
||||
name: content-services
|
||||
script:
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "content-services$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
ng test content-services --watch=false || exit 1;
|
||||
fi
|
||||
fi;
|
||||
- stage: Unit test
|
||||
name: process-services-cloud
|
||||
script:
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
ng test process-services-cloud --watch=false || exit 1;
|
||||
fi
|
||||
fi;
|
||||
- stage: Unit test
|
||||
name: demo-shell
|
||||
script: if ([ "$TRAVIS_BRANCH" = "master" ]); then
|
||||
(./scripts/start.sh -t -ss || exit 1;);
|
||||
(./scripts/start.sh -t -ss -si || exit 1;);
|
||||
else
|
||||
(./scripts/start.sh -dev -t -ss -vjsapi alpha || exit 1;);
|
||||
fi
|
||||
(./scripts/start.sh -dev -t -ss -si || exit 1;);
|
||||
fi;
|
||||
- stage: Update children projects dependency #Update generator-ng2-alfresco-app
|
||||
name: Update Generator
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n generator-ng2-alfresco-app
|
||||
- stage: Update children projects dependency # Test Update alfresco-content-app
|
||||
name: Update ACA
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-content-app
|
||||
- stage: Update children projects dependency # Test Update adf-app-manager-ui
|
||||
name: Update adf-app-manager-ui
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n adf-app-manager-ui
|
||||
- stage: Update children projects dependency # Test Update aalfresco-ng2-components
|
||||
- stage: Update children projects dependency # Test Update alfresco-ng2-components
|
||||
name: Update alfresco-ng2-components
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-ng2-components
|
||||
- stage: Update children projects dependency # Test Update alfresco-modeler-app
|
||||
name: Update alfresco modeler app
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-modeler-app
|
||||
- stage: e2e Test # Test core
|
||||
name: core
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "core$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 --host_sso "$E2E_HOST_SSO" --host_bpm "$E2E_HOST_BPM" --host_identity "$E2E_HOST_IDENTITY" -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder core --skip-lint --use-dist || exit 1;);
|
||||
fi
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder core --skip-lint -save --use-dist || exit 1;);
|
||||
fi;
|
||||
- stage: e2e Test # Test process-services
|
||||
name: process-services
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "process-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder process-services --skip-lint --use-dist || exit 1;);
|
||||
fi
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder process-services --skip-lint --use-dist || exit 1;);
|
||||
fi;
|
||||
- stage: e2e Test # Test content-services
|
||||
name: content-services
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder content-services --skip-lint --use-dist || exit 1;);
|
||||
fi
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder content-services --skip-lint --use-dist || exit 1;);
|
||||
fi;
|
||||
- stage: e2e Test # Test search
|
||||
name: search
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder search --skip-lint --use-dist || exit 1;);
|
||||
fi
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder search --skip-lint --use-dist || exit 1;);
|
||||
fi;
|
||||
- stage: e2e Test # Test process-services-cloud
|
||||
name: process-services-cloud
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 --host_sso "$E2E_HOST_SSO" --host_bpm "$E2E_HOST_BPM" --host_identity "$E2E_HOST_IDENTITY" -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder process-services-cloud --skip-lint --use-dist || exit 1;);
|
||||
fi
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder process-services-cloud --skip-lint --use-dist || exit 1;);
|
||||
fi;
|
||||
- stage: e2e Test # Test insights
|
||||
name: insights
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b $TRAVIS_BRANCH)";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder insights --skip-lint --use-dist || exit 1;);
|
||||
fi
|
||||
- stage: Create Docker PR
|
||||
script: node ./scripts/move-dist-folder.js --base-href $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 --no-deprecation ./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
|
||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder insights --skip-lint --use-dist -b || exit 1;);
|
||||
fi;
|
||||
- stage: Create Docker and Deploy Docker PR
|
||||
script:
|
||||
- if [ "$TRAVIS_PULL_REQUEST" != "false" ];
|
||||
then
|
||||
node ./scripts/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1);
|
||||
fi;
|
||||
- if [ "$TRAVIS_PULL_REQUEST" != "false" ];
|
||||
then
|
||||
(node --no-deprecation ./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);
|
||||
fi;
|
||||
|
||||
# Send coverage data to codecov
|
||||
after_success:
|
||||
bash <(curl -s https://codecov.io/bash) -X gcov
|
||||
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- node_modules
|
||||
|
||||
+37
-2
@@ -1,6 +1,41 @@
|
||||
FROM nginx:alpine
|
||||
# 1. Generate licenses
|
||||
|
||||
COPY demo-shell/nginx.conf /etc/nginx/nginx.conf
|
||||
FROM node:11.9-alpine AS builder
|
||||
WORKDIR /usr/src/alfresco
|
||||
COPY package.json package.json
|
||||
|
||||
RUN mkdir -p ./licenses && \
|
||||
yarn licenses list > ./licenses/licenses.txt && \
|
||||
yarn licenses generate-disclaimer > ./licenses/disclaimer.txt
|
||||
|
||||
# 2. Generate image
|
||||
|
||||
FROM nginx:stable-alpine
|
||||
LABEL version="3.0.0"
|
||||
|
||||
ARG GROUPNAME=Alfresco
|
||||
ARG GROUPID=1000
|
||||
ARG USERNAME=adf
|
||||
ARG USERID=33011
|
||||
|
||||
ARG BUILD_NUMBER
|
||||
|
||||
COPY ./docker/nginx.conf /etc/nginx/nginx.conf
|
||||
COPY ./docker/entrypoint.sh /
|
||||
|
||||
WORKDIR /usr/share/nginx/html
|
||||
COPY demo-shell/dist/ .
|
||||
COPY --from=builder /usr/src/alfresco/licenses ./licenses
|
||||
|
||||
RUN addgroup -g ${GROUPID} ${GROUPNAME} && \
|
||||
adduser -S -u ${USERID} -G ${GROUPNAME} -s "/bin/bash" ${USERNAME} && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} ./${BUILD_NUMBER}/app.config.json && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} /var/cache/nginx && \
|
||||
touch /var/run/nginx.pid && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} /var/run/nginx.pid && \
|
||||
chmod +x /entrypoint.sh && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} /entrypoint.sh
|
||||
|
||||
EXPOSE 8080
|
||||
USER ${USERNAME}
|
||||
ENTRYPOINT [ "/entrypoint.sh" ]
|
||||
|
||||
+4
-38
@@ -1,39 +1,5 @@
|
||||
# Introduction to the Alfresco Application Development Framework
|
||||
|
||||
The Alfresco Application Development Framework (ADF) is based on the [Angular framework](https://angular.io/).
|
||||
ADF is provided by Alfresco to make it easy to build custom web applications to manage and view content in the [Alfresco Platform Repository](https://docs.alfresco.com/5.2/concepts/content-repo-about.html).
|
||||
|
||||
As you probably know, there is a general user interface called [Alfresco Share](https://docs.alfresco.com/5.2/concepts/gs-intro.html) available out-of-the-box.
|
||||
Share is usually used as a quick way of getting started with content management in Alfresco. It gives you access to pretty much all
|
||||
the features provided by the ACS system and a lot of customers customize it for their specific domain.
|
||||
|
||||
However, there are use cases that Share does not fit very well, such as:
|
||||
|
||||
- Feature-based clients, exposing functionality to perform a specific task(s)
|
||||
- Role-based clients, exposing functionality based on role
|
||||
- Clients where the UI layout and style differs significantly from the Share layout and styling
|
||||
- [Mashup clients](http://whatis.techtarget.com/definition/mash-up)
|
||||
|
||||
This is where ADF comes into play. You can use it to create exactly the user interface
|
||||
(i.e. web client) that you require.
|
||||
|
||||
The framework consists of several libraries that can be used to form a customized content management application. The available libraries are:
|
||||
|
||||
- [Core](lib/core/README.md)
|
||||
- [Content Services](lib/content-services/README.md)
|
||||
- [Process Services](lib/process-services/README.md)
|
||||
- [Insights](lib/insights/README.md)
|
||||
|
||||
|
||||
You can browse documentation for all the components at the
|
||||
[ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
|
||||
|
||||
An overview of the architecture is shown below:
|
||||
|
||||
<p align="center">
|
||||
<img title="alfresco-angular-components-architecture" alt='alfresco' src='assets/alfresco-app-dev-framework-architecture.png'></img>
|
||||
</p>
|
||||
|
||||
Here we can also see that there is an Alfresco JavaScript framework in use that wraps the Alfresco REST API, to make things easier for the client developer.
|
||||
|
||||
# Introduction
|
||||
|
||||
See the [introduction page](docs/user-guide/adf-introduction.md) in our
|
||||
[documentation](docs/README.md) for an overview of ADF along with links
|
||||
to useful starting points.
|
||||
|
||||
+43
-8
@@ -540,7 +540,7 @@
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/core/tsconfig.json",
|
||||
"tsConfig": "lib/core/tsconfig.lib.json",
|
||||
"project": "lib/core/ng-package.json"
|
||||
},
|
||||
"configurations": {
|
||||
@@ -553,7 +553,7 @@
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/core/test.ts",
|
||||
"tsConfig": "lib/core/tsconfig.json",
|
||||
"tsConfig": "lib/core/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/core/karma.conf.js",
|
||||
"codeCoverage": true,
|
||||
"sourceMap": true
|
||||
@@ -582,7 +582,7 @@
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/content-services/tsconfig.json",
|
||||
"tsConfig": "lib/content-services/tsconfig.lib.json",
|
||||
"project": "lib/content-services/ng-package.json"
|
||||
},
|
||||
"configurations": {
|
||||
@@ -595,7 +595,7 @@
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/content-services/test.ts",
|
||||
"tsConfig": "lib/content-services/tsconfig.json",
|
||||
"tsConfig": "lib/content-services/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/content-services/karma.conf.js",
|
||||
"codeCoverage": true,
|
||||
"sourceMap": true
|
||||
@@ -624,7 +624,7 @@
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/process-services/tsconfig.json",
|
||||
"tsConfig": "lib/process-services/tsconfig.lib.json",
|
||||
"project": "lib/process-services/ng-package.json"
|
||||
},
|
||||
"configurations": {
|
||||
@@ -637,7 +637,7 @@
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/process-services/test.ts",
|
||||
"tsConfig": "lib/process-services/tsconfig.json",
|
||||
"tsConfig": "lib/process-services/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/process-services/karma.conf.js",
|
||||
"codeCoverage": true,
|
||||
"sourceMap": true
|
||||
@@ -708,7 +708,7 @@
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/insights/tsconfig.json",
|
||||
"tsConfig": "lib/extensions/tsconfig.lib.json",
|
||||
"project": "lib/insights/ng-package.json"
|
||||
},
|
||||
"configurations": {
|
||||
@@ -721,7 +721,7 @@
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/insights/test.ts",
|
||||
"tsConfig": "lib/insights/tsconfig.json",
|
||||
"tsConfig": "lib/extensions/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/insights/karma.conf.js",
|
||||
"codeCoverage": true,
|
||||
"sourceMap": true
|
||||
@@ -777,6 +777,41 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"testing": {
|
||||
"root": "lib/testing",
|
||||
"sourceRoot": "lib/testing/src",
|
||||
"projectType": "library",
|
||||
"prefix": "adf",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-ng-packagr:build",
|
||||
"options": {
|
||||
"tsConfig": "lib/testing/tsconfig.lib.json",
|
||||
"project": "lib/testing/ng-package.json"
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/testing/src/test.ts",
|
||||
"tsConfig": "lib/testing/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/testing/karma.conf.js"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [
|
||||
"lib/testing/tsconfig.lib.json",
|
||||
"lib/testing/tsconfig.spec.json"
|
||||
],
|
||||
"exclude": [
|
||||
"**/node_modules/**"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultProject": "dist"
|
||||
|
||||
+2
-1
@@ -123,7 +123,8 @@
|
||||
"BASESHAREURL",
|
||||
"hardend",
|
||||
"filedata",
|
||||
"uncheck"
|
||||
"uncheck",
|
||||
"subfolders"
|
||||
],
|
||||
"dictionaries": [
|
||||
"html",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Alfresco-ADF-Angular-Demo",
|
||||
"description": "Demo shell for Alfresco Angular components",
|
||||
"version": "3.0.0",
|
||||
"version": "3.1.0",
|
||||
"author": "Alfresco Software, Ltd.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -0,0 +1,321 @@
|
||||
{
|
||||
"APP": {
|
||||
"INFO_DRAWER": {
|
||||
"TITLE": "التفاصيل",
|
||||
"COMMENTS": "تعليقات",
|
||||
"PROPERTIES": "الخصائص",
|
||||
"VERSIONS": "الإصدارات"
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "Alfresco المكونات الزاوّية لـ",
|
||||
"DOCUMENTATION": "الوثائق"
|
||||
},
|
||||
"LOGOUT": {
|
||||
"TITLE": "صفحة الخروج",
|
||||
"SUB_TITLE": "تم خروجك الآن",
|
||||
"LOGIN": "دخول",
|
||||
"HOME": "رئيسية"
|
||||
},
|
||||
"ADF_VERSION_MANAGER": {
|
||||
"ALLOW_DELETE": "السماح بالحذف",
|
||||
"SHOW_COMMENTS": "إظهار التعليقات على الإصدارات",
|
||||
"ALLOW_DOWNLOAD": "تمكين تنزيل الإصدار",
|
||||
"READ_ONLY": "للقراءة فقط",
|
||||
"COMMENTS": "إظهار التعليقات"
|
||||
},
|
||||
"PERSONAL-FILES": "الملفات الشخصية",
|
||||
"WARN-MULTIPLE-UPLOADS": "عرض تحذير للتحميلات المتعددة.",
|
||||
"CUSTOM-PERMISSION-MESSAGE": "تمكين رسالة إذن مخصصة",
|
||||
"MEDIUM-TIME-FORMAT": "تمكين تنسيق وقت متوسط لقائمة المستندات",
|
||||
"SEARCH": {
|
||||
"RADIO": {
|
||||
"NONE": "بلا",
|
||||
"ALL": "الكل",
|
||||
"FOLDER": "مجلد",
|
||||
"DOCUMENT": "مستند"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "مرحبًا",
|
||||
"VERSION": {
|
||||
"NO_PERMISSION": "ليس لديك إذن لإدارة إصدارات هذا المحتوى",
|
||||
"NO_PERMISSION_EVENT": "ليس لديك إذن ${event.permission} ل${event.action} ${event.type}",
|
||||
"CHOOSE_FILE": "تحديد ملف لرؤية إصداراته",
|
||||
"DIALOG": {
|
||||
"CLOSE": "إغلاق",
|
||||
"TITLE": "إدارة الإصدارات"
|
||||
}
|
||||
},
|
||||
"METADATA": {
|
||||
"DIALOG": {
|
||||
"CLOSE": "إغلاق",
|
||||
"TITLE": "بيانات تعريف"
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "تطبيق",
|
||||
"APP_NAME": "تطبيق ADF التوضيحي",
|
||||
"HOME": "رئيسية",
|
||||
"NODE-SELECTOR": "محدد العقدة",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "مسار التنقل",
|
||||
"NOTIFICATIONS": "إعلامات",
|
||||
"TASK_LIST": "قائمة المهام",
|
||||
"PROCESS_LIST": "مهام عملية",
|
||||
"PROCESS_CLOUD": "سحابة العملية",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "دخول",
|
||||
"CUSTOM_SOURCES": "مصادر مخصصة",
|
||||
"DATATABLE": "جدول بيانات",
|
||||
"DATATABLE_LAZY": "جدول بيانات (بطيء)",
|
||||
"DOCUMENT_LIST": "قائمة المستندات",
|
||||
"TEMPLATE": "قالب",
|
||||
"FORM": "نموذج",
|
||||
"FORM_LIST": "قائمة النماذج",
|
||||
"FORM_LOADING": "تحميل النموذج",
|
||||
"UPLOADER": "مُحمِّل",
|
||||
"WEBSCRIPT": "برنامج الويب النصي",
|
||||
"TAG": "علامة",
|
||||
"TRASHCAN": "سلة المحذوفات",
|
||||
"SOCIAL": "اجتماعي",
|
||||
"SETTINGS": "إعدادات",
|
||||
"CONFIG-EDITOR": "محرر التكوين",
|
||||
"OVERLAY_VIEWER": "عارض مركّب",
|
||||
"ABOUT": "حول",
|
||||
"SEARCH": "بحث ممتد",
|
||||
"EXTENDED_SEARCH_QUERY_BODY": "بحث ممتد بنص الاستعلام",
|
||||
"WORD_TO_SEARCH": "بحث عن كلمة",
|
||||
"SEARCH_CREATED_BY": "تم الإنشاء بواسطة",
|
||||
"SEARCH_SERVICE_APPROACH": "حدد هذا لتعطيل خاصية الإدخال والتكوين باستخدام الخدمة",
|
||||
"HEADER_DATA": "بيانات العنوان",
|
||||
"TREE_VIEW": "طريقة عرض الشجرة",
|
||||
"ICONS": "أيقونات",
|
||||
"PEOPLE_GROUPS_CLOUD": "سحابة الأشخاص/المجموعة",
|
||||
"PEOPLE_CLOUD": "مكون سحابة الأشخاص",
|
||||
"GROUPS_CLOUD": "مكون سحابة المجموعة"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
"DELETE_PERMANENT": "حذف بشكل دائم",
|
||||
"RESTORE": "استعادة"
|
||||
},
|
||||
"EMPTY_STATE": {
|
||||
"TITLE": "المهملات فارغة",
|
||||
"FIRST_TEXT": "تم نقل العناصر المحذوفة إلى المهملات.",
|
||||
"SECOND_TEXT": "أفرغ المهملات لحذف العناصر بشكل دائم."
|
||||
}
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "تحديد متعدد (مع خانات اختيارات)",
|
||||
"THUMBNAILS": "تمكين الصور المصغرة",
|
||||
"ALLOW_DROP_FILES": "تمكين إسقاط ملفات في مجلد",
|
||||
"MULTIPLE_FILE_UPLOAD": "تحميل ملفات متعددة",
|
||||
"FOLDER_UPLOAD": "تحميل مجلد",
|
||||
"CUSTOM_FILTER": "عامل تصفية امتدادات مخصص",
|
||||
"MAX_SIZE": "عامل تصفية الحد الأقصى للحجم",
|
||||
"ENABLE_VERSIONING": "تمكين تعيين الإصدار",
|
||||
"DESCRIPTION_UPLOAD": "تمكين التحميل",
|
||||
"ENABLE_INFINITE_SCROLL": "تمكين التمرير اللانهائي",
|
||||
"MULTISELECT_DESCRIPTION": "استخدام Cmd (Mac) أو Ctrl (Windows) لتبديل تحديد العناصر المتعددة",
|
||||
"RECENT": {
|
||||
"EMPTY_STATE": {
|
||||
"TITLE": "قائمة أحدث الملفات فارغة"
|
||||
},
|
||||
"TITLE": "أحدث الملفات"
|
||||
},
|
||||
"COLUMNS": {
|
||||
"DISPLAY_NAME": "اسم العرض",
|
||||
"IS_LOCKED": "قفل",
|
||||
"TAG": "علامة",
|
||||
"NODE_ID": "معرف العقدة",
|
||||
"CREATED_BY": "تم الإنشاء بواسطة",
|
||||
"CREATED_ON": "تم الإنشاء في",
|
||||
"CREATED": "تم الإنشاء",
|
||||
"SIZE": "الحجم",
|
||||
"DELETED_ON": "تم الحذف",
|
||||
"DELETED_BY": "تم الحذف بواسطة"
|
||||
},
|
||||
"TOOLBAR": {
|
||||
"CARDVIEW": "وضع عرض البطاقة",
|
||||
"SHARE_EDIT": "إعدادات التحرير",
|
||||
"NEW_FOLDER": "مجلد جديد",
|
||||
"EDIT_FOLDER": "تحرير مجلد",
|
||||
"DOWNLOAD": "تنزيل",
|
||||
"DELETE": "حذف",
|
||||
"FAVORITES": "إضافة إلى المفضلات",
|
||||
"SHARE": "مشاركة",
|
||||
"THEME": "تحديد نسق",
|
||||
"SHOW_VERSION": "إظهار الإصدار",
|
||||
"HIDE_VERSION": "إخفاء الإصدار",
|
||||
"LISTVIEW": "وضع عرض القائمة",
|
||||
"CREATE_LIBRARY": "إنشاء مكتبة"
|
||||
},
|
||||
"ACTIONS": {
|
||||
"VERSIONS": "إدارة الإصدارات",
|
||||
"LOCK": "قفل",
|
||||
"METADATA": "معلومات",
|
||||
"DOWNLOAD": "تنزيل",
|
||||
"PERMISSION": "إذن",
|
||||
"FOLDER": {
|
||||
"COPY": "نسخ",
|
||||
"MOVE": "نقل",
|
||||
"DELETE": "حذف"
|
||||
},
|
||||
"DOCUMENT": {
|
||||
"COPY": "نسخ",
|
||||
"MOVE": "نقل",
|
||||
"DELETE": "حذف",
|
||||
"PROCESS_ACTION": "بدء العملية"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DATATABLE": {
|
||||
"RESET_DEFAULT": "إعادة تعيين إلى افتراضي",
|
||||
"ADD_ROW": "إضافة صف",
|
||||
"REPLACE_ROWS": "استبدال صفوف",
|
||||
"REPLACE_COLUMNS": "استبدال أعمدة",
|
||||
"LOAD_NODE": "تحميل عقدة",
|
||||
"MULTISELECT": "تحديد متعدد",
|
||||
"MULTISELECT_DESCRIPTION": "استخدام Cmd (Mac) أو Ctrl (Windows) لتبديل تحديد العناصر المتعددة"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "لم يتم تحديد تقرير. اختر تقريرًا من القائمة"
|
||||
},
|
||||
"PS-TAB": {
|
||||
"TASKS-TAB": "المهام",
|
||||
"PROCESSES-TAB": "العملية",
|
||||
"REPORTS-TAB": "تقارير",
|
||||
"SETTINGS-TAB": "إعدادات",
|
||||
"START-TASK": "بدء مهمة",
|
||||
"START-PROCESS": "بدء العملية",
|
||||
"PROCESS-AUDIT-LOG": "سجل تدقيق العملية",
|
||||
"TASK-AUDIT-LOG": "سجل تدقيق المهمة",
|
||||
"TASK-SHOW-HEADER": "إظهار تفاصيل العنوان"
|
||||
},
|
||||
"PS_CLOUD_TAB": {
|
||||
"APPS_TAB": "تطبيق",
|
||||
"SETTINGS_TAB": "إعدادات"
|
||||
},
|
||||
"FORM-LIST": {
|
||||
"STORE": "متجر",
|
||||
"RESTORE": "استعادة"
|
||||
},
|
||||
"FORM-LOADING": {
|
||||
"FORM_DATA": "بيانات النموذج",
|
||||
"FORM_DATA_MESSAGE": "إدخال قيم لملء النموذج",
|
||||
"TYPEAHEAD_PLACEHOLDER": "التنبؤ بالحروف",
|
||||
"RADIO_PLACEHOLDER": "زر الراديو",
|
||||
"SELECT_PLACEHOLDER": "القائمة المنسدلة"
|
||||
},
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN_FOOTER": "تذييل الدخول",
|
||||
"SHOW_REMEMBERME": "إظهار تذكرني",
|
||||
"SHOW_SUCCESS_ROUTE": "إظهار طريق النجاح",
|
||||
"CUSTOM_LOGO": "شعار مخصص"
|
||||
},
|
||||
"SEARCH": {
|
||||
"RESULTS": "نتائج البحث",
|
||||
"NO_RESULT": "لم يتم العثور على نتائج",
|
||||
"FACET_FIELDS": {
|
||||
"TYPE": "1:النوع",
|
||||
"SIZE": "2:الحجم",
|
||||
"CREATOR": "3:المُنشئ",
|
||||
"MODIFIER": "4:المُعدل",
|
||||
"CREATED": "5:تم الإنشاء"
|
||||
},
|
||||
"FACET_QUERIES": {
|
||||
"MY_FACET_QUERIES": "استعلامات واجهتي",
|
||||
"CREATED_THIS_YEAR": "1.تم الإنشاء هذا العام",
|
||||
"MIMETYPE": "2.النوع: HTML",
|
||||
"XTRASMALL": "3.الحجم: فائق الصغر",
|
||||
"SMALL": "4.الحجم: صغير",
|
||||
"MEDIUM": "5.الحجم: متوسط",
|
||||
"LARGE": "6.الحجم: كبير",
|
||||
"XTRALARGE": "7.الحجم: فائق الكبر",
|
||||
"XXTRALARGE": "8.الحجم: كبير XX"
|
||||
}
|
||||
},
|
||||
"SOCIAL": {
|
||||
"LIKE": "مكون الإعجاب",
|
||||
"RATING": "مكون التقييم"
|
||||
},
|
||||
"TAG": {
|
||||
"LIST": "خدمات محتوى علامات القائمة",
|
||||
"INSERT": "إدراج معرف العقدة",
|
||||
"NODE_LIST": "قائمة العلامات حسب معرف العقدة"
|
||||
},
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "إذن التوريث",
|
||||
"INHERITED_PERMISSIONS_BUTTON": "تم توريث الإذن"
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "إدراج معرف التطبيق",
|
||||
"APP_ID_TYPE_ERROR": "يجب أن يكون معرف التطبيق رقمًا",
|
||||
"NUMBER_TYPE_ERROR": "يجب أن تكون القيمة رقمًا",
|
||||
"NUMBER_GREATER_THAN": "يجب أن تكون القيمة أكبر من {{ value }} أو تساويها"
|
||||
},
|
||||
"TOOLTIP_MESSAGE": {
|
||||
"START_INPUT": "صفحة البدء"
|
||||
}
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "إدراج معرف التطبيق",
|
||||
"APP_ID_TYPE_ERROR": "يجب أن يكون معرف التطبيق رقمًا",
|
||||
"NUMBER_GREATER_THAN": "يجب أن تكون القيمة أكبر من {{ value }} أو تساويها"
|
||||
}
|
||||
},
|
||||
"GROUP-TITLE1-TRANSLATION-KEY": "الترجمة الأولى للعنوان المخصص",
|
||||
"GROUP-TITLE2-TRANSLATION-KEY": "الترجمة الثانية للعنوان المخصص",
|
||||
"ERROR_CONTENT": {
|
||||
"507": {
|
||||
"TITLE": "قرص ACS ممتلئ",
|
||||
"DESCRIPTION": "يتجاوز المحتوى حد سعة التخزين المكون للشبكة أو النظام",
|
||||
"SECONDARY_BUTTON": {
|
||||
"TEXT": ""
|
||||
},
|
||||
"RETURN_BUTTON": {
|
||||
"TEXT": "عودة إلى الرئيسية"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PROCESS_LIST_CLOUD_DEMO": {
|
||||
"TITLE": "العرض التوضيحي لسحابة قائمة العملية",
|
||||
"CUSTOMIZE_FILTERS": "تخصيص عامل التصفية"
|
||||
},
|
||||
"TASK_LIST_CLOUD_DEMO": {
|
||||
"CUSTOMIZE_FILTERS": "تخصيص عامل التصفية"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "تحديد واحد",
|
||||
"MULTI": "تحديد متعدد",
|
||||
"PRESELECTED_VALUE": "تحديد مسبق: ",
|
||||
"ROLE": "الأدوار: ",
|
||||
"APP_NAME": "اسم التطبيق",
|
||||
"APP_FILTER_MODE": "التصفية حسب اسم التطبيق",
|
||||
"ROLE_FILTER_MODE": "التصفية حسب الدور",
|
||||
"PRESELECT_VALIDATION": "التحديد المسبق للتحقق من الصحة"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "مكونات إضافية",
|
||||
"TABLE_HEADERS": {
|
||||
"ID": "المعرف",
|
||||
"NAME": "الاسم",
|
||||
"VERSION": "الإصدار",
|
||||
"VENDOR": "المورد",
|
||||
"LICENSE": "الترخيص",
|
||||
"RUNTIME": "وقت التشغيل",
|
||||
"DESCRIPTION": "الوصف"
|
||||
}
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "تحديد متعدد",
|
||||
"TESTING_MODE": "وضع الاختبار",
|
||||
"SELECTION_MODE": "وضع التحديد",
|
||||
"TASK_DETAILS_REDIRECTION": "عرض تفاصيل المهمة عند النقر فوق المهمة"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "Anwendung",
|
||||
"APP_NAME": "ADF-Demoanwendung",
|
||||
"HOME": "Startseite",
|
||||
"NODE-SELECTOR": "Node-Auswahl",
|
||||
@@ -61,7 +62,7 @@
|
||||
"NOTIFICATIONS": "Benachrichtigungen",
|
||||
"TASK_LIST": "Aufgabenliste",
|
||||
"PROCESS_LIST": "Prozessliste",
|
||||
"PROCESS_CLOUD": "Prozess-Cloud",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Anmelden",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "Ihren Filter anpassen"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "Einzeln",
|
||||
"MULTI": "Mehrfach",
|
||||
"PRESELECTED_VALUE": "Vorausgewählter Wert"
|
||||
"SINGLE": "Einzelauswahl",
|
||||
"MULTI": "Mehrfachauswahl",
|
||||
"PRESELECTED_VALUE": "Vorauswahl: ",
|
||||
"ROLE": "Rollen: ",
|
||||
"APP_NAME": "Anwendungsname",
|
||||
"APP_FILTER_MODE": "Nach Anwendungsname filtern",
|
||||
"ROLE_FILTER_MODE": "Nach Rolle filtern",
|
||||
"PRESELECT_VALIDATION": "Vorauswahl-Prüfung"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Plugins",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Mehrfachauswahl",
|
||||
"TESTING_MODE": "Testmodus",
|
||||
"SELECTION_MODE": "Auswahlmodus"
|
||||
"SELECTION_MODE": "Auswahlmodus",
|
||||
"TASK_DETAILS_REDIRECTION": "Bei Klicken auf Aufgabe Aufgabendetails einblenden"
|
||||
}
|
||||
}
|
||||
@@ -53,9 +53,11 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "App",
|
||||
"APP_NAME": "ADF Demo Application",
|
||||
"HOME": "Home",
|
||||
"NODE-SELECTOR": "Node Selector",
|
||||
"SITES": "Sites",
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
"BREADCRUMB": "Breadcrumb",
|
||||
"NOTIFICATIONS": "Notifications",
|
||||
@@ -293,7 +295,11 @@
|
||||
"SINGLE": "Single Selection",
|
||||
"MULTI": "Multiple Selection",
|
||||
"PRESELECTED_VALUE": "Preselect: ",
|
||||
"ROLE": "Roles: "
|
||||
"ROLE": "Roles: ",
|
||||
"APP_NAME": "Application Name",
|
||||
"APP_FILTER_MODE": "Filter by application name",
|
||||
"ROLE_FILTER_MODE": "Filter by role",
|
||||
"PRESELECT_VALIDATION": "Preselect validation"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Plugins",
|
||||
@@ -308,8 +314,9 @@
|
||||
}
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Multiselection",
|
||||
"TESTING_MODE": "Testing Mode",
|
||||
"SELECTION_MODE": "Selection Mode"
|
||||
"MULTISELECTION": "Multiselection",
|
||||
"TESTING_MODE": "Testing Mode",
|
||||
"SELECTION_MODE": "Selection Mode",
|
||||
"TASK_DETAILS_REDIRECTION": "Display task details on task click"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "Aplicación",
|
||||
"APP_NAME": "Aplicación ADF Demo",
|
||||
"HOME": "Inicio",
|
||||
"NODE-SELECTOR": "Selector de nodo",
|
||||
@@ -61,7 +62,7 @@
|
||||
"NOTIFICATIONS": "Notificaciones",
|
||||
"TASK_LIST": "Lista de tareas",
|
||||
"PROCESS_LIST": "Lista de procesos",
|
||||
"PROCESS_CLOUD": "Procesos en la nube",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Iniciar sesión",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "Personalice su filtro"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "Individual",
|
||||
"MULTI": "Múltiple",
|
||||
"PRESELECTED_VALUE": "Valor preseleccionado"
|
||||
"SINGLE": "Selección individual",
|
||||
"MULTI": "Selección múltiple",
|
||||
"PRESELECTED_VALUE": "Preseleccionar: ",
|
||||
"ROLE": "Funciones: ",
|
||||
"APP_NAME": "Nombre de la aplicación",
|
||||
"APP_FILTER_MODE": "Filtrar por nombre de la aplicación",
|
||||
"ROLE_FILTER_MODE": "Filtrar por función",
|
||||
"PRESELECT_VALIDATION": "Preseleccionar validación"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Complementos",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Selección múltiple",
|
||||
"TESTING_MODE": "Modo de prueba",
|
||||
"SELECTION_MODE": "Modo de selección"
|
||||
"SELECTION_MODE": "Modo de selección",
|
||||
"TASK_DETAILS_REDIRECTION": "Mostrar detalles de la tarea haciendo clic en la tarea"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "Application",
|
||||
"APP_NAME": "Application Démo ADF",
|
||||
"HOME": "Accueil",
|
||||
"NODE-SELECTOR": "Sélecteur de nœud",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "Personnaliser votre filtre"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "Simple",
|
||||
"MULTI": "Multi",
|
||||
"PRESELECTED_VALUE": "Valeur présélectionnée"
|
||||
"SINGLE": "Sélection unique",
|
||||
"MULTI": "Sélection multiple",
|
||||
"PRESELECTED_VALUE": "Présélection : ",
|
||||
"ROLE": "Rôles : ",
|
||||
"APP_NAME": "Nom de l'application",
|
||||
"APP_FILTER_MODE": "Filtrer par nom d'application",
|
||||
"ROLE_FILTER_MODE": "Filtrer par rôle",
|
||||
"PRESELECT_VALIDATION": "Validation présélectionnée"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Plugins",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Multisélection",
|
||||
"TESTING_MODE": "Mode de test",
|
||||
"SELECTION_MODE": "Mode de sélection"
|
||||
"SELECTION_MODE": "Mode de sélection",
|
||||
"TASK_DETAILS_REDIRECTION": "Afficher les détails de la tâche en cliquant dessus"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "Applicazione",
|
||||
"APP_NAME": "Applicazione demo ADF",
|
||||
"HOME": "Home",
|
||||
"NODE-SELECTOR": "Selezione nodo",
|
||||
@@ -61,7 +62,7 @@
|
||||
"NOTIFICATIONS": "Notifiche",
|
||||
"TASK_LIST": "Elenco attività",
|
||||
"PROCESS_LIST": "Elenco processi",
|
||||
"PROCESS_CLOUD": "Cloud processo",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Login",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "Personalizza il filtro"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "Singolo",
|
||||
"MULTI": "Multiplo",
|
||||
"PRESELECTED_VALUE": "Valore preselezionato"
|
||||
"SINGLE": "Selezione singola",
|
||||
"MULTI": "Selezione multipla",
|
||||
"PRESELECTED_VALUE": "Preselezione: ",
|
||||
"ROLE": "Ruoli: ",
|
||||
"APP_NAME": "Nome applicazione",
|
||||
"APP_FILTER_MODE": "Filtra per nome applicazione",
|
||||
"ROLE_FILTER_MODE": "Filtra per ruolo",
|
||||
"PRESELECT_VALIDATION": "Convalida preselezione"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Plug-in",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Selezione multipla",
|
||||
"TESTING_MODE": "Modalità di test",
|
||||
"SELECTION_MODE": "Modalità di selezione"
|
||||
"SELECTION_MODE": "Modalità di selezione",
|
||||
"TASK_DETAILS_REDIRECTION": "Mostra dettagli compito dopo clic su compito"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "アプリ",
|
||||
"APP_NAME": "ADF デモアプリケーション",
|
||||
"HOME": "ホーム",
|
||||
"NODE-SELECTOR": "ノードセレクター",
|
||||
@@ -61,7 +62,7 @@
|
||||
"NOTIFICATIONS": "通知",
|
||||
"TASK_LIST": "タスクリスト",
|
||||
"PROCESS_LIST": "プロセスリスト",
|
||||
"PROCESS_CLOUD": "Process Cloud",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "ログイン",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "フィルタのカスタマイズ"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "1 人",
|
||||
"MULTI": "複数人",
|
||||
"PRESELECTED_VALUE": "事前選択値"
|
||||
"SINGLE": "1 つ選択",
|
||||
"MULTI": "複数選択",
|
||||
"PRESELECTED_VALUE": "事前選択: ",
|
||||
"ROLE": "役割: ",
|
||||
"APP_NAME": "アプリケーション名",
|
||||
"APP_FILTER_MODE": "アプリケーション名でフィルタ",
|
||||
"ROLE_FILTER_MODE": "役割でフィルタ",
|
||||
"PRESELECT_VALIDATION": "事前選択の検証"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "プラグイン",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "複数選択",
|
||||
"TESTING_MODE": "テストモード",
|
||||
"SELECTION_MODE": "選択モード"
|
||||
"SELECTION_MODE": "選択モード",
|
||||
"TASK_DETAILS_REDIRECTION": "タスクのクリック時にタスクの詳細を表示"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "App",
|
||||
"APP_NAME": "ADF-demoprogam",
|
||||
"HOME": "Hjem",
|
||||
"NODE-SELECTOR": "Nodevelger",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "Tilpass filteret ditt"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "Enkel",
|
||||
"MULTI": "Flere",
|
||||
"PRESELECTED_VALUE": "Forhåndsvalgt verdi"
|
||||
"SINGLE": "Ett valg",
|
||||
"MULTI": "Flere valg",
|
||||
"PRESELECTED_VALUE": "Forhåndsvelg: ",
|
||||
"ROLE": "Roller: ",
|
||||
"APP_NAME": "Programnavn",
|
||||
"APP_FILTER_MODE": "Filtrer etter programnavn",
|
||||
"ROLE_FILTER_MODE": "Filtrer etter rolle",
|
||||
"PRESELECT_VALIDATION": "Forhåndsvelg validering"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Plugin-moduler",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Flervalg",
|
||||
"TESTING_MODE": "Testmodus",
|
||||
"SELECTION_MODE": "Valgmodus"
|
||||
"SELECTION_MODE": "Valgmodus",
|
||||
"TASK_DETAILS_REDIRECTION": "Vis oppgavedetaljer ved oppgaveklikk"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "App",
|
||||
"APP_NAME": "ADF-demotoepassing",
|
||||
"HOME": "Home",
|
||||
"NODE-SELECTOR": "Selectiefunctie voor node",
|
||||
@@ -61,7 +62,7 @@
|
||||
"NOTIFICATIONS": "Meldingen",
|
||||
"TASK_LIST": "Lijst met taken",
|
||||
"PROCESS_LIST": "Lijst met processen",
|
||||
"PROCESS_CLOUD": "Process Cloud",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Aanmelden",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "Uw filter aanpassen"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "Eén",
|
||||
"MULTI": "Multi",
|
||||
"PRESELECTED_VALUE": "Vooraf geselecteerde waarde"
|
||||
"SINGLE": "Enkelvoudige selectie",
|
||||
"MULTI": "Meervoudige selectie",
|
||||
"PRESELECTED_VALUE": "Voorselecteren: ",
|
||||
"ROLE": "Rollen: ",
|
||||
"APP_NAME": "Toepassingsnaam",
|
||||
"APP_FILTER_MODE": "Filteren op toepassingsnaam",
|
||||
"ROLE_FILTER_MODE": "Filteren op rol",
|
||||
"PRESELECT_VALIDATION": "Validatie voorselecteren"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Plug-ins",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Multiselectie",
|
||||
"TESTING_MODE": "Testmodus",
|
||||
"SELECTION_MODE": "Selectiemodus"
|
||||
"SELECTION_MODE": "Selectiemodus",
|
||||
"TASK_DETAILS_REDIRECTION": "Taakdetails weergeven bij klikken op taak"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "Aplicativo",
|
||||
"APP_NAME": "Aplicativo Demo ADF",
|
||||
"HOME": "Página Inicial",
|
||||
"NODE-SELECTOR": "Seletor de nó",
|
||||
@@ -61,7 +62,7 @@
|
||||
"NOTIFICATIONS": "Notificações",
|
||||
"TASK_LIST": "Lista de tarefas",
|
||||
"PROCESS_LIST": "Lista de processos",
|
||||
"PROCESS_CLOUD": "Process Cloud",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Login",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "Personalizar seu filtro"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "Único",
|
||||
"MULTI": "Múltiplo",
|
||||
"PRESELECTED_VALUE": "Valor pré-selecionado"
|
||||
"SINGLE": "Seleção única",
|
||||
"MULTI": "Seleção múltipla",
|
||||
"PRESELECTED_VALUE": "Pré-seleção: ",
|
||||
"ROLE": "Funções: ",
|
||||
"APP_NAME": "Nome do aplicativo",
|
||||
"APP_FILTER_MODE": "Filtrar por nome do aplicativo",
|
||||
"ROLE_FILTER_MODE": "Filtrar por função",
|
||||
"PRESELECT_VALIDATION": "Validação de pré-seleção"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Plugins",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Seleção Múltipla",
|
||||
"TESTING_MODE": "Modo de Teste",
|
||||
"SELECTION_MODE": "Modo de Seleção"
|
||||
"SELECTION_MODE": "Modo de Seleção",
|
||||
"TASK_DETAILS_REDIRECTION": "Exibir detalhes da tarefa ao clicar na tarefa"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "Приложение",
|
||||
"APP_NAME": "Демонстрационное приложение ADF",
|
||||
"HOME": "Домашняя",
|
||||
"NODE-SELECTOR": "Селектор узлов",
|
||||
@@ -61,7 +62,7 @@
|
||||
"NOTIFICATIONS": "Оповещения",
|
||||
"TASK_LIST": "Список задач",
|
||||
"PROCESS_LIST": "Список процессов",
|
||||
"PROCESS_CLOUD": "Процесс в облаке",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Войти",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "Настройка фильтра"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "Один",
|
||||
"MULTI": "Несколько",
|
||||
"PRESELECTED_VALUE": "Предустановленное значение"
|
||||
"SINGLE": "Единичный выбор",
|
||||
"MULTI": "Групповой выбор",
|
||||
"PRESELECTED_VALUE": "Предварительный выбор: ",
|
||||
"ROLE": "Роли: ",
|
||||
"APP_NAME": "Имя приложения",
|
||||
"APP_FILTER_MODE": "Фильтровать по имени приложения",
|
||||
"ROLE_FILTER_MODE": "Фильтровать по роли",
|
||||
"PRESELECT_VALIDATION": "Проверка предварительного выбора"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "Подключаемые модули",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Выбор нескольких",
|
||||
"TESTING_MODE": "Режим тестирования",
|
||||
"SELECTION_MODE": "Режим выбора"
|
||||
"SELECTION_MODE": "Режим выбора",
|
||||
"TASK_DETAILS_REDIRECTION": "Отображать подробные сведения о задаче при нажатии на задачу"
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@
|
||||
}
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "APP",
|
||||
"APP_NAME": "ADF 演示应用程序",
|
||||
"HOME": "主页",
|
||||
"NODE-SELECTOR": "节点选择器",
|
||||
@@ -61,7 +62,7 @@
|
||||
"NOTIFICATIONS": "通知",
|
||||
"TASK_LIST": "任务列表",
|
||||
"PROCESS_LIST": "流程列表",
|
||||
"PROCESS_CLOUD": "Process Cloud",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "登录",
|
||||
@@ -290,9 +291,14 @@
|
||||
"CUSTOMIZE_FILTERS": "自定义您的筛选器"
|
||||
},
|
||||
"PEOPLE_GROUPS_CLOUD": {
|
||||
"SINGLE": "单个",
|
||||
"MULTI": "多个",
|
||||
"PRESELECTED_VALUE": "预选值"
|
||||
"SINGLE": "单个选择",
|
||||
"MULTI": "多重选择",
|
||||
"PRESELECTED_VALUE": "预先选择: ",
|
||||
"ROLE": "角色: ",
|
||||
"APP_NAME": "应用程序名称",
|
||||
"APP_FILTER_MODE": "按应用程序名称筛选",
|
||||
"ROLE_FILTER_MODE": "按角色筛选",
|
||||
"PRESELECT_VALIDATION": "预先选择验证"
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "插件",
|
||||
@@ -309,6 +315,7 @@
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "多重选择",
|
||||
"TESTING_MODE": "测试模式",
|
||||
"SELECTION_MODE": "选择模式"
|
||||
"SELECTION_MODE": "选择模式",
|
||||
"TASK_DETAILS_REDIRECTION": "单击任务时显示任务详情"
|
||||
}
|
||||
}
|
||||
@@ -70,6 +70,10 @@
|
||||
{
|
||||
"key": "zh-CN",
|
||||
"label": "中文简体"
|
||||
},
|
||||
{
|
||||
"key": "ar",
|
||||
"label": "عربى"
|
||||
}
|
||||
],
|
||||
"search": {
|
||||
@@ -102,6 +106,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"resetButton": true,
|
||||
"filterQueries": [
|
||||
{ "query": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
|
||||
{ "query": "NOT cm:creator:System" }
|
||||
@@ -122,7 +127,7 @@
|
||||
"expanded": true,
|
||||
"mincount": 1,
|
||||
"queries": [
|
||||
{ "query": "created:2018", "label": "SEARCH.FACET_QUERIES.CREATED_THIS_YEAR" },
|
||||
{ "query": "created:2019", "label": "SEARCH.FACET_QUERIES.CREATED_THIS_YEAR" },
|
||||
{ "query": "content.mimetype:text/html", "label": "SEARCH.FACET_QUERIES.MIMETYPE", "group":"Type facet queries" },
|
||||
{ "query": "content.size:[0 TO 10240]", "label": "SEARCH.FACET_QUERIES.XTRASMALL", "group":"Size facet queries"},
|
||||
{ "query": "content.size:[10240 TO 102400]", "label": "SEARCH.FACET_QUERIES.SMALL", "group":"Size facet queries"},
|
||||
@@ -132,6 +137,30 @@
|
||||
{ "query": "content.size:[134217728 TO MAX]", "label": "SEARCH.FACET_QUERIES.XXTRALARGE", "group":"Size facet queries" }
|
||||
]
|
||||
},
|
||||
"facetIntervals":{
|
||||
"expanded": true,
|
||||
"intervals":[
|
||||
{
|
||||
"label":"The Created",
|
||||
"field":"cm:created",
|
||||
"sets":[
|
||||
{ "label":"lastYear", "start":"2018", "end":"2019", "endInclusive":false },
|
||||
{ "label":"currentYear", "start":"NOW/YEAR", "end":"NOW/YEAR+1YEAR" },
|
||||
{ "label":"earlier", "start":"*", "end":"2018", "endInclusive":false }
|
||||
]
|
||||
},
|
||||
{
|
||||
"label":"TheModified",
|
||||
"field":"cm:modified",
|
||||
"sets":[
|
||||
{ "label":"2017", "start":"2017", "end":"2018", "endInclusive":false },
|
||||
{ "label":"2017-2018", "start":"2017", "end":"2018", "endInclusive":true },
|
||||
{ "label":"currentYear", "start":"NOW/YEAR", "end":"NOW/YEAR+1YEAR" },
|
||||
{ "label":"earlierThan2017", "start":"*", "end":"2017", "endInclusive":false }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"categories": [
|
||||
{
|
||||
"id": "queryName",
|
||||
@@ -220,7 +249,23 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"highlight": {
|
||||
"prefix": " ",
|
||||
"postfix": " ",
|
||||
"mergeContiguous": true,
|
||||
"fields": [
|
||||
{
|
||||
"field": "cm:title"
|
||||
},
|
||||
{
|
||||
"field": "description",
|
||||
"prefix": "(",
|
||||
"postfix": ")"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},
|
||||
"pagination": {
|
||||
"size": 20,
|
||||
@@ -542,14 +587,20 @@
|
||||
}
|
||||
},
|
||||
"adf-edit-task-filter": {
|
||||
"properties": [
|
||||
"state", "assignment", "sort", "order"
|
||||
]
|
||||
"filterProperties": [ "status", "assignee", "sort", "order" ],
|
||||
"sortProperties": [ "id", "name", "createdDate", "priority", "processDefinitionId" ],
|
||||
"actions": [ "save", "saveAs", "delete" ]
|
||||
},
|
||||
"adf-edit-process-filter": {
|
||||
"filterProperties": [ "status", "sort", "order", "processName" ],
|
||||
"sortProperties": [ "id", "name", "status", "startDate" ],
|
||||
"actions": ["save", "saveAs", "delete"]
|
||||
|
||||
},
|
||||
"content-metadata": {
|
||||
"presets": {
|
||||
"default": {
|
||||
"exif:exif": "*"
|
||||
"exif:exif": "*"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -564,6 +615,7 @@
|
||||
"key": "entry.id",
|
||||
"type": "text",
|
||||
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.ID",
|
||||
"cssClass": "adf-expand-cell-4",
|
||||
"sortable": true
|
||||
},
|
||||
{
|
||||
@@ -571,7 +623,7 @@
|
||||
"type": "text",
|
||||
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.NAME",
|
||||
"sortable": true,
|
||||
"cssClass": "full-width name-column ellipsis-cell"
|
||||
"cssClass": "name-column adf-ellipsis-cell"
|
||||
},
|
||||
{
|
||||
"key": "entry.status",
|
||||
@@ -632,5 +684,6 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"alfresco-deployed-apps": []
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 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 { AcaMonacoModule } from 'adf-monaco-extension';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
AcaMonacoModule
|
||||
]
|
||||
})
|
||||
export class AppExtensionsModule {
|
||||
}
|
||||
@@ -1,2 +1,4 @@
|
||||
<router-outlet></router-outlet>
|
||||
<router-outlet name="overlay"></router-outlet>
|
||||
<div [dir]="textOrientation" class="adf-demo-app-container" >
|
||||
<router-outlet></router-outlet>
|
||||
<router-outlet name="overlay"></router-outlet>
|
||||
</div>
|
||||
|
||||
@@ -7,15 +7,20 @@ router-outlet[name='overlay'] + * {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.adf-demo-app-container {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 425px) {
|
||||
adf-content-node-selector {
|
||||
.adf-content-node-selector-content-list {
|
||||
.adf-data-table-cell {
|
||||
.adf-datatable-cell {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.adf-data-table-cell:first-child,
|
||||
.adf-data-table-cell:nth-child(2) {
|
||||
.adf-datatable-cell:first-child,
|
||||
.adf-datatable-cell:nth-child(2) {
|
||||
display: table-cell;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,12 @@
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
|
||||
import { AuthenticationService, AlfrescoApiService, PageTitleService } from '@alfresco/adf-core';
|
||||
import {
|
||||
UserPreferencesService,
|
||||
AuthenticationService,
|
||||
AlfrescoApiService,
|
||||
PageTitleService
|
||||
} from '@alfresco/adf-core';
|
||||
import { Router } from '@angular/router';
|
||||
import { MatDialog } from '@angular/material';
|
||||
|
||||
@@ -28,14 +33,24 @@ import { MatDialog } from '@angular/material';
|
||||
})
|
||||
export class AppComponent implements OnInit {
|
||||
|
||||
textOrientation: string = 'ltr';
|
||||
|
||||
constructor(private pageTitleService: PageTitleService,
|
||||
private alfrescoApiService: AlfrescoApiService,
|
||||
private authenticationService: AuthenticationService,
|
||||
private userPreferencesService: UserPreferencesService,
|
||||
private router: Router,
|
||||
private dialogRef: MatDialog) {
|
||||
|
||||
this.userPreferencesService.set('textOrientation', this.textOrientation);
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.userPreferencesService.select('textOrientation').subscribe((textOrientation) => {
|
||||
this.textOrientation = textOrientation;
|
||||
});
|
||||
|
||||
this.pageTitleService.setTitle('title');
|
||||
|
||||
this.alfrescoApiService.getInstance().on('error', (error) => {
|
||||
|
||||
@@ -24,6 +24,7 @@ import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
|
||||
import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService, CoreModule } from '@alfresco/adf-core';
|
||||
import { ExtensionsModule } from '@alfresco/adf-extensions';
|
||||
import { AppComponent } from './app.component';
|
||||
import { MaterialModule } from './material.module';
|
||||
import { LoginComponent } from './components/login/login.component';
|
||||
@@ -63,9 +64,8 @@ import { ContentModule } from '@alfresco/adf-content-services';
|
||||
import { InsightsModule } from '@alfresco/adf-insights';
|
||||
import { ProcessModule } from '@alfresco/adf-process-services';
|
||||
import { AuthBearerInterceptor } from './services';
|
||||
import { ProcessServicesCloudModule, GroupCloudModule } from '@alfresco/adf-process-services-cloud';
|
||||
import { ProcessServicesCloudModule, GroupCloudModule, TaskDirectiveModule } from '@alfresco/adf-process-services-cloud';
|
||||
import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component';
|
||||
import { AppExtensionsModule } from './extensions/extensions.module';
|
||||
import { CloudLayoutComponent } from './components/app-layout/cloud/cloud-layout.component';
|
||||
import { AppsCloudDemoComponent } from './components/app-layout/cloud/apps-cloud-demo.component';
|
||||
import { ProcessesCloudDemoComponent } from './components/app-layout/cloud/processes-cloud-demo.component';
|
||||
@@ -78,6 +78,9 @@ import { StartProcessCloudDemoComponent } from './components/app-layout/cloud/st
|
||||
import { TemplateDemoComponent } from './components/template-list/template-demo.component';
|
||||
import { PeopleGroupCloudDemoComponent } from './components/app-layout/cloud/people-groups-cloud-demo.component';
|
||||
import { CloudSettingsComponent } from './components/app-layout/cloud/cloud-settings.component';
|
||||
import { AppExtensionsModule } from './app-extension.module';
|
||||
import { ProcessDetailsCloudDemoComponent } from './components/app-layout/cloud/process-details-cloud-demo.component';
|
||||
import { NestedMenuPositionDirective } from './components/app-layout/cloud/directives/nested-menu-position.directive';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -88,17 +91,20 @@ import { CloudSettingsComponent } from './components/app-layout/cloud/cloud-sett
|
||||
FormsModule,
|
||||
HttpClientModule,
|
||||
MaterialModule,
|
||||
AppExtensionsModule,
|
||||
FlexLayoutModule,
|
||||
CoreModule.forRoot(),
|
||||
ContentModule.forRoot(),
|
||||
InsightsModule.forRoot(),
|
||||
ProcessModule.forRoot(),
|
||||
ProcessServicesCloudModule,
|
||||
ExtensionsModule.forRoot(),
|
||||
ThemePickerModule,
|
||||
ChartsModule,
|
||||
MonacoEditorModule.forRoot(),
|
||||
ProcessServicesCloudModule,
|
||||
AppExtensionsModule.forRoot(),
|
||||
GroupCloudModule
|
||||
GroupCloudModule,
|
||||
TaskDirectiveModule
|
||||
],
|
||||
declarations: [
|
||||
AppComponent,
|
||||
@@ -134,13 +140,15 @@ import { CloudSettingsComponent } from './components/app-layout/cloud/cloud-sett
|
||||
TasksCloudDemoComponent,
|
||||
ProcessesCloudDemoComponent,
|
||||
TaskDetailsCloudDemoComponent,
|
||||
ProcessDetailsCloudDemoComponent,
|
||||
StartTaskCloudDemoComponent,
|
||||
StartProcessCloudDemoComponent,
|
||||
CloudBreadcrumbsComponent,
|
||||
CloudFiltersDemoComponent,
|
||||
TemplateDemoComponent,
|
||||
PeopleGroupCloudDemoComponent,
|
||||
CloudSettingsComponent
|
||||
CloudSettingsComponent,
|
||||
NestedMenuPositionDirective
|
||||
],
|
||||
providers: [
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
import { ModuleWithProviders } from '@angular/core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm } from '@alfresco/adf-core';
|
||||
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm, AuthGuardSsoRoleService } from '@alfresco/adf-core';
|
||||
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
|
||||
import { LoginComponent } from './components/login/login.component';
|
||||
import { HomeComponent } from './components/home/home.component';
|
||||
@@ -48,6 +48,7 @@ import { StartTaskCloudDemoComponent } from './components/app-layout/cloud/start
|
||||
import { StartProcessCloudDemoComponent } from './components/app-layout/cloud/start-process-cloud-demo.component';
|
||||
import { TemplateDemoComponent } from './components/template-list/template-demo.component';
|
||||
import { PeopleGroupCloudDemoComponent } from './components/app-layout/cloud/people-groups-cloud-demo.component';
|
||||
import { ProcessDetailsCloudDemoComponent } from './components/app-layout/cloud/process-details-cloud-demo.component';
|
||||
|
||||
export const appRoutes: Routes = [
|
||||
{ path: 'login', component: LoginComponent },
|
||||
@@ -118,6 +119,16 @@ export const appRoutes: Routes = [
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'sites',
|
||||
component: AppLayoutComponent,
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: 'app/components/sites/sites.module#SitesModule'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'header-data',
|
||||
component: AppLayoutComponent,
|
||||
@@ -143,6 +154,8 @@ export const appRoutes: Routes = [
|
||||
},
|
||||
{
|
||||
path: 'cloud',
|
||||
canActivate: [AuthGuardSsoRoleService],
|
||||
data: { roles: ['ACTIVITI_USER'], redirectUrl: '/error/403'},
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
@@ -153,7 +166,7 @@ export const appRoutes: Routes = [
|
||||
component: PeopleGroupCloudDemoComponent
|
||||
},
|
||||
{
|
||||
path: ':applicationName',
|
||||
path: ':appName',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
@@ -180,7 +193,12 @@ export const appRoutes: Routes = [
|
||||
{
|
||||
path: 'task-details/:taskId',
|
||||
component: TaskDetailsCloudDemoComponent
|
||||
},
|
||||
{
|
||||
path: 'process-details/:processInstanceId',
|
||||
component: ProcessDetailsCloudDemoComponent
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -359,6 +377,10 @@ export const appRoutes: Routes = [
|
||||
path: 'error/:id',
|
||||
component: ErrorContentComponent
|
||||
},
|
||||
{
|
||||
path: 'error/no-authorization',
|
||||
component: ErrorContentComponent
|
||||
},
|
||||
{
|
||||
path: '**',
|
||||
redirectTo: 'error/404'
|
||||
|
||||
@@ -1,51 +1 @@
|
||||
<h3>{{ 'ABOUT.TITLE' | translate }}</h3>
|
||||
<div class="adf-extension-details-container">
|
||||
<mat-table [dataSource]="extensions$ | async">
|
||||
<!-- $id Column -->
|
||||
<ng-container matColumnDef="$id">
|
||||
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.ID' | translate }}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let element">{{element.$id}}</mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- $name Column -->
|
||||
<ng-container matColumnDef="$name">
|
||||
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.NAME' | translate }}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let element">{{element.$name}}</mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- $version Column -->
|
||||
<ng-container matColumnDef="$version">
|
||||
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.VERSION' | translate }}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let element">{{element.$version}}</mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- $vendor Column -->
|
||||
<ng-container matColumnDef="$vendor">
|
||||
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.VENDOR' | translate }}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let element">{{element.$vendor}}</mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- $license Column -->
|
||||
<ng-container matColumnDef="$license">
|
||||
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.LICENSE' | translate }}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let element">{{element.$license}}</mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- $runtime Column -->
|
||||
<ng-container matColumnDef="$runtime">
|
||||
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.RUNTIME' | translate }}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let element">{{element.$runtime}}</mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- $description Column -->
|
||||
<ng-container matColumnDef="$description">
|
||||
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.DESCRIPTION' | translate }}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let element">{{element.$description}}</mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<mat-header-row *matHeaderRowDef="extensionColumns"></mat-header-row>
|
||||
<mat-row *matRowDef="let row; columns: extensionColumns;"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
|
||||
<adf-about></adf-about>
|
||||
|
||||
@@ -16,9 +16,6 @@
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { ExtensionRef } from '@alfresco/adf-extensions';
|
||||
import { AppExtensionService } from '../../extensions/extension.service';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'app-about-page',
|
||||
@@ -26,10 +23,8 @@ import { Observable } from 'rxjs';
|
||||
styleUrls: ['about.component.scss']
|
||||
})
|
||||
export class AboutComponent {
|
||||
extensionColumns: string[] = ['$id', '$name', '$version', '$vendor', '$license', '$runtime', '$description'];
|
||||
extensions$: Observable<ExtensionRef[]>;
|
||||
|
||||
constructor(appExtensions: AppExtensionService) {
|
||||
this.extensions$ = appExtensions.references$;
|
||||
constructor() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,12 @@
|
||||
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="220" [stepOver]="780" [hideSidenav]="hideSidenav"
|
||||
[expandedSidenav]="expandedSidenav" (expanded)="setState($event)"
|
||||
[position]="position">
|
||||
[expandedSidenav]="expandedSidenav" (expanded)="setState($event)" [position]="position">
|
||||
|
||||
<adf-sidenav-layout-header>
|
||||
<ng-template let-toggleMenu="toggleMenu">
|
||||
|
||||
<adf-layout-header id="adf-header"
|
||||
[title]="title | translate"
|
||||
[redirectUrl]="redirectUrl"
|
||||
[logo]="logo"
|
||||
[tooltip]="tooltip | translate"
|
||||
[showSidenavToggle]="showMenu"
|
||||
[color]="color"
|
||||
[position]="position"
|
||||
(clicked)=toggleMenu($event)>
|
||||
<adf-layout-header id="adf-header" [title]="title | translate" [redirectUrl]="redirectUrl" [logo]="logo"
|
||||
[tooltip]="tooltip | translate" [showSidenavToggle]="showMenu" [color]="color" [position]="position"
|
||||
(clicked)=toggleMenu($event)>
|
||||
|
||||
<div class="adf-app-layout-menu-spacer"></div>
|
||||
|
||||
@@ -21,10 +14,7 @@
|
||||
|
||||
<div class="adf-header-delimiexpandedSidenavter"></div>
|
||||
|
||||
<adf-userinfo
|
||||
class="adf-app-layout-user-profile"
|
||||
[menuPositionX]="'before'"
|
||||
[menuPositionY]="'above'">
|
||||
<adf-userinfo class="adf-app-layout-user-profile" [menuPositionX]="'before'" [menuPositionY]="'above'">
|
||||
</adf-userinfo>
|
||||
|
||||
<app-theme-picker></app-theme-picker>
|
||||
@@ -42,14 +32,30 @@
|
||||
<adf-sidenav-layout-navigation>
|
||||
<ng-template let-isMenuMinimized="isMenuMinimized">
|
||||
<mat-nav-list class="adf-sidenav-linklist">
|
||||
<a mat-list-item *ngFor="let link of links" [attr.data-automation-id]="link.title | translate"
|
||||
[routerLink]="link.href" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }"
|
||||
class="adf-sidenav-link">
|
||||
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
|
||||
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">{{link.title | translate }}</div>
|
||||
</a>
|
||||
|
||||
<ng-container *ngFor="let link of links">
|
||||
<a appNestedMenuPosition mat-list-item #appMenuTrigger *ngIf="link.children" [attr.data-automation-id]="link.title | translate"
|
||||
class="adf-sidenav-link" [matMenuTriggerFor]="nestedMenu" [menuMinimized]="isMenuMinimized()"
|
||||
[matMenuTriggerData]="{links: link.children}">
|
||||
|
||||
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
|
||||
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">
|
||||
{{link.title | translate }}</div>
|
||||
<mat-icon class="adf-menu-expand-icon">arrow_right</mat-icon>
|
||||
</a>
|
||||
|
||||
<a mat-list-item *ngIf="!link.children" [attr.data-automation-id]="link.title | translate"
|
||||
class="adf-sidenav-link" [routerLink]="link.href" routerLinkActive="active"
|
||||
[routerLinkActiveOptions]="{ exact: true }">
|
||||
|
||||
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
|
||||
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">
|
||||
{{link.title | translate }}</div>
|
||||
</a>
|
||||
</ng-container>
|
||||
|
||||
<a mat-list-item adf-logout [enableRedirect]="enableRedirect" redirectUri="/logout"
|
||||
class="adf-sidenav-link">
|
||||
class="adf-sidenav-link">
|
||||
<mat-icon matListIcon class="adf-sidenav-menu-icon">exit_to_app</mat-icon>
|
||||
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">Logout</div>
|
||||
</a>
|
||||
@@ -66,3 +72,17 @@
|
||||
|
||||
</adf-sidenav-layout>
|
||||
<app-log></app-log>
|
||||
|
||||
<mat-menu #nestedMenu="matMenu" [xPosition]="'before'">
|
||||
<ng-template matMenuContent let-links="links">
|
||||
<button mat-menu-item *ngFor="let link of links"
|
||||
[attr.data-automation-id]="link.title | translate"
|
||||
routerLinkActive="active"
|
||||
[routerLink]="link.href"
|
||||
[routerLinkActiveOptions]="{ exact: true }">
|
||||
|
||||
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
|
||||
{{ link.title | translate }}
|
||||
</button>
|
||||
</ng-template>
|
||||
</mat-menu>
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
.adf-sidenav-menu-label {
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
min-width: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,20 +38,27 @@ export class AppLayoutComponent implements OnInit {
|
||||
{ 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: '/sites', icon: 'format_list_bulleted', title: 'APP_LAYOUT.SITES' },
|
||||
{ href: '/task-list', icon: 'assignment', title: 'APP_LAYOUT.TASK_LIST' },
|
||||
{ href: '/process-list', icon: 'assignment', title: 'APP_LAYOUT.PROCESS_LIST' },
|
||||
{ href: '/cloud', icon: 'cloud', title: 'APP_LAYOUT.PROCESS_CLOUD' },
|
||||
{ href: '/cloud/people-group-cloud', icon: 'group', title: 'APP_LAYOUT.PEOPLE_GROUPS_CLOUD' },
|
||||
{ href: '/activiti', icon: 'device_hub', title: 'APP_LAYOUT.PROCESS_SERVICES' },
|
||||
{ href: '/cloud', icon: 'cloud', title: 'APP_LAYOUT.PROCESS_CLOUD', children: [
|
||||
{ href: '/cloud/', icon: 'cloud', title: 'APP_LAYOUT.HOME' },
|
||||
{ href: '/cloud/people-group-cloud', icon: 'group', title: 'APP_LAYOUT.PEOPLE_GROUPS_CLOUD' }
|
||||
]},
|
||||
{ href: '/activiti', icon: 'device_hub', title: 'APP_LAYOUT.PROCESS_SERVICES', children: [
|
||||
{ href: '/activiti', icon: 'vpn_key', title: 'APP_LAYOUT.APP' },
|
||||
{ href: '/process-list', icon: 'assignment', title: 'APP_LAYOUT.PROCESS_LIST' },
|
||||
{ href: '/form', icon: 'poll', title: 'APP_LAYOUT.FORM' },
|
||||
{ href: '/form-list', icon: 'library_books', title: 'APP_LAYOUT.FORM_LIST' },
|
||||
{ href: '/form-loading', icon: 'cached', title: 'APP_LAYOUT.FORM_LOADING' }
|
||||
]},
|
||||
{ href: '/login', icon: 'vpn_key', title: 'APP_LAYOUT.LOGIN' },
|
||||
{ href: '/trashcan', icon: 'delete', title: 'APP_LAYOUT.TRASHCAN' },
|
||||
{ href: '/dl-custom-sources', icon: 'extension', title: 'APP_LAYOUT.CUSTOM_SOURCES' },
|
||||
{ href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE' },
|
||||
{ href: '/datatable-lazy', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE_LAZY' },
|
||||
{ href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE', children: [
|
||||
{ href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE' },
|
||||
{ href: '/datatable-lazy', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE_LAZY' }
|
||||
]},
|
||||
{ href: '/template-list', icon: 'list_alt', title: 'APP_LAYOUT.TEMPLATE' },
|
||||
{ href: '/form', icon: 'poll', title: 'APP_LAYOUT.FORM' },
|
||||
{ href: '/form-list', icon: 'library_books', title: 'APP_LAYOUT.FORM_LIST' },
|
||||
{ href: '/form-loading', icon: 'cached', title: 'APP_LAYOUT.FORM_LOADING' },
|
||||
{ href: '/webscript', icon: 'extension', title: 'APP_LAYOUT.WEBSCRIPT' },
|
||||
{ href: '/tag', icon: 'local_offer', title: 'APP_LAYOUT.TAG' },
|
||||
{ href: '/social', icon: 'thumb_up', title: 'APP_LAYOUT.SOCIAL' },
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<adf-toolbar>
|
||||
<div fxLayout="column" fxLayoutAlign="center">
|
||||
<div fxLayout="row">
|
||||
<div class="adf-app-crumb">{{applicationName + ' >'}} </div>
|
||||
<div class="adf-app-crumb">{{appName + ' >'}} </div>
|
||||
<div class="adf-filter-crumb"> {{filterName | translate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -25,7 +25,7 @@ import { ActivatedRoute } from '@angular/router';
|
||||
})
|
||||
export class CloudBreadcrumbsComponent implements OnInit {
|
||||
|
||||
applicationName: string;
|
||||
appName: string;
|
||||
filterName: string;
|
||||
|
||||
constructor(private route: ActivatedRoute) { }
|
||||
@@ -33,7 +33,7 @@ export class CloudBreadcrumbsComponent implements OnInit {
|
||||
ngOnInit() {
|
||||
this.route.parent.params.subscribe((
|
||||
params) => {
|
||||
this.applicationName = params.applicationName;
|
||||
this.appName = params.appName;
|
||||
});
|
||||
this.route.queryParams.subscribe((params) => {
|
||||
if (params.filterName) {
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</button>
|
||||
</div>
|
||||
</adf-sidebar-action-menu>
|
||||
<app-cloud-filters-demo [appName]="applicationName"></app-cloud-filters-demo>
|
||||
<app-cloud-filters-demo [appName]="appName"></app-cloud-filters-demo>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-navigation>
|
||||
<adf-sidenav-layout-content>
|
||||
|
||||
@@ -26,7 +26,7 @@ import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
})
|
||||
export class CloudLayoutComponent implements OnInit {
|
||||
displayMenu = true;
|
||||
applicationName: string;
|
||||
appName: string;
|
||||
|
||||
constructor(
|
||||
private router: Router,
|
||||
@@ -37,7 +37,7 @@ export class CloudLayoutComponent implements OnInit {
|
||||
ngOnInit() {
|
||||
let root: string = '';
|
||||
this.route.params.subscribe((params) => {
|
||||
this.applicationName = params.applicationName;
|
||||
this.appName = params.appName;
|
||||
});
|
||||
|
||||
if (this.route.snapshot && this.route.snapshot.firstChild) {
|
||||
@@ -56,10 +56,10 @@ export class CloudLayoutComponent implements OnInit {
|
||||
}
|
||||
|
||||
onStartTask() {
|
||||
this.router.navigate([`/cloud/${this.applicationName}/start-task/`]);
|
||||
this.router.navigate([`/cloud/${this.appName}/start-task/`]);
|
||||
}
|
||||
|
||||
onStartProcess() {
|
||||
this.router.navigate([`/cloud/${this.applicationName}/start-process/`]);
|
||||
this.router.navigate([`/cloud/${this.appName}/start-process/`]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
<div fxFlex fxLayout="column" class="adf-settings-container">
|
||||
<mat-checkbox [color]="'primary'" [checked]="multiselect" (change)="toggleMultiselect()" data-automation-id="multiSelection">
|
||||
<mat-slide-toggle [color]="'primary'" [checked]="multiselect" (change)="toggleMultiselect()" data-automation-id="multiSelection">
|
||||
{{ 'SETTINGS_CLOUD.MULTISELECTION' | translate }}
|
||||
</mat-checkbox>
|
||||
<mat-checkbox [color]="'primary'" [checked]="testingMode" (change)="toggleTestingMode()" data-automation-id="testingMode">
|
||||
</mat-slide-toggle>
|
||||
<mat-slide-toggle [color]="'primary'" [checked]="testingMode" (change)="toggleTestingMode()" data-automation-id="testingMode">
|
||||
{{ 'SETTINGS_CLOUD.TESTING_MODE' | translate }}
|
||||
</mat-checkbox>
|
||||
<mat-form-field>
|
||||
</mat-slide-toggle>
|
||||
<mat-slide-toggle [color]="'primary'" [checked]="taskDetailsRedirection" (change)="toggleTaskDetailsRedirection()" data-automation-id="taskDetailsRedirection">
|
||||
{{ 'SETTINGS_CLOUD.TASK_DETAILS_REDIRECTION' | translate }}
|
||||
</mat-slide-toggle>
|
||||
<mat-form-field data-automation-id="selectionMode">
|
||||
<mat-label>
|
||||
{{ 'SETTINGS_CLOUD.SELECTION_MODE' | translate }}
|
||||
</mat-label>
|
||||
@@ -15,4 +18,4 @@
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -28,6 +28,7 @@ export class CloudSettingsComponent implements OnInit {
|
||||
multiselect: boolean;
|
||||
selectionMode: string;
|
||||
testingMode: boolean;
|
||||
taskDetailsRedirection: boolean;
|
||||
|
||||
selectionModeOptions = [
|
||||
{ value: '', title: 'None' },
|
||||
@@ -43,14 +44,11 @@ export class CloudSettingsComponent implements OnInit {
|
||||
}
|
||||
|
||||
setCurrentSettings(settings) {
|
||||
if (settings.multiselect !== undefined) {
|
||||
if (settings) {
|
||||
this.multiselect = settings.multiselect;
|
||||
}
|
||||
if (settings.testingMode !== undefined) {
|
||||
this.testingMode = settings.testingMode;
|
||||
}
|
||||
if (settings.selectionMode !== undefined) {
|
||||
this.selectionMode = settings.selectionMode;
|
||||
this.taskDetailsRedirection = settings.taskDetailsRedirection;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +62,11 @@ export class CloudSettingsComponent implements OnInit {
|
||||
this.setSetting();
|
||||
}
|
||||
|
||||
toggleTaskDetailsRedirection() {
|
||||
this.taskDetailsRedirection = !this.taskDetailsRedirection;
|
||||
this.setSetting();
|
||||
}
|
||||
|
||||
onSelectionModeChange() {
|
||||
this.setSetting();
|
||||
}
|
||||
@@ -72,7 +75,8 @@ export class CloudSettingsComponent implements OnInit {
|
||||
this.cloudLayoutService.setCurrentSettings({
|
||||
multiselect: this.multiselect,
|
||||
testingMode: this.testingMode,
|
||||
selectionMode: this.selectionMode
|
||||
selectionMode: this.selectionMode,
|
||||
taskDetailsRedirection: this.taskDetailsRedirection
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 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 { Directive, HostListener, Input } from '@angular/core';
|
||||
|
||||
@Directive({
|
||||
selector: '[appNestedMenuPosition]'
|
||||
})
|
||||
export class NestedMenuPositionDirective {
|
||||
|
||||
@Input()
|
||||
menuMinimized: string;
|
||||
|
||||
nestedMenuLeftPadding: string = '220px';
|
||||
|
||||
@HostListener('click', ['$event'])
|
||||
onClick() {
|
||||
|
||||
let overlayContainer = (document.querySelector('.cdk-overlay-connected-position-bounding-box') as HTMLElement);
|
||||
(document.querySelector('.cdk-overlay-pane') as HTMLElement).style.width = '100%';
|
||||
|
||||
if (!this.menuMinimized) {
|
||||
setTimeout(() => {
|
||||
overlayContainer.style.left = this.nestedMenuLeftPadding;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+44
-16
@@ -6,23 +6,41 @@
|
||||
<mat-card-content>
|
||||
<br>
|
||||
<mat-radio-group (change)="onChangePeopleMode($event)">
|
||||
<mat-radio-button checked="true" class="adf-people-single-mode" value="{{ peopleSingleMode }}">{{
|
||||
<mat-radio-button checked="true" class="adf-people-single-mode" data-automation-id="adf-people-single-mode" value="{{ peopleSingleMode }}">{{
|
||||
'PEOPLE_GROUPS_CLOUD.SINGLE' | translate }}</mat-radio-button>
|
||||
<mat-radio-button class="adf-people-multiple-mode" value="{{ peopleMultipleMode }}">{{
|
||||
<mat-radio-button class="adf-people-multiple-mode" data-automation-id="adf-people-multiple-mode" value="{{ peopleMultipleMode }}">{{
|
||||
'PEOPLE_GROUPS_CLOUD.MULTI' | translate }}</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<div class="people-control-options">
|
||||
<mat-form-field class="adf-preselect-value">
|
||||
<mat-radio-group (change)="onChangePeopleFilterMode($event)">
|
||||
<mat-radio-button checked="true" class="adf-people-single-mode" value="appName">{{
|
||||
'PEOPLE_GROUPS_CLOUD.APP_FILTER_MODE' | translate }}</mat-radio-button>
|
||||
<mat-radio-button class="adf-people-multiple-mode" data-automation-id="adf-people-filter-role" value="role">{{
|
||||
'PEOPLE_GROUPS_CLOUD.ROLE_FILTER_MODE' | translate }}</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<mat-form-field *ngIf="!isPeopleAppNameSelected()" class="adf-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.ROLE' | translate }} ['ACTIVITI_ADMIN', "ACTIVITI_USER"]</mat-label>
|
||||
<input matInput (input)="setPeopleRoles($event)" />
|
||||
<input matInput (input)="setPeopleRoles($event)" data-automation-id="adf-people-roles-input" />
|
||||
</mat-form-field>
|
||||
<mat-form-field class="adf-preselect-value full">
|
||||
<mat-form-field *ngIf="isPeopleAppNameSelected()" class="adf-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.APP_NAME' | translate }}</mat-label>
|
||||
<input matInput (input)="setPeopleAppName($event)" />
|
||||
</mat-form-field>
|
||||
<mat-form-field class="adf-preselect-value-full">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.PRESELECTED_VALUE' | translate }}: {{ DEFAULT_PEOPLE_PLACEHOLDER }}</mat-label>
|
||||
<input matInput (input)="setPeoplePreselectValue($event)" />
|
||||
<input matInput (input)="setPeoplePreselectValue($event)" data-automation-id="adf-people-preselect-input" />
|
||||
</mat-form-field>
|
||||
<mat-checkbox class="adf-preselect-value" (change)="onChangePeopleValidation($event)">{{
|
||||
'PEOPLE_GROUPS_CLOUD.PRESELECT_VALIDATION' | translate }}</mat-checkbox>
|
||||
</div>
|
||||
<div>
|
||||
<adf-cloud-people [preSelectUsers]="preSelectUsers" [roles]="peopleRoles" [mode]="peopleMode"></adf-cloud-people>
|
||||
<adf-cloud-people
|
||||
[preSelectUsers]="preSelectUsers"
|
||||
[validate]="peoplePreselectValidation"
|
||||
[appName]="peopleAppName"
|
||||
[roles]="peopleRoles"
|
||||
[appName]="peopleAppName"
|
||||
[mode]="peopleMode"></adf-cloud-people>
|
||||
</div>
|
||||
|
||||
<div class="adf-people-list" *ngIf="canShowPeopleList()">
|
||||
@@ -44,24 +62,34 @@
|
||||
<mat-card-content>
|
||||
<br>
|
||||
<mat-radio-group (change)="onChangeGroupsMode($event)">
|
||||
<mat-radio-button checked="true" class="adf-people-single-mode" value="{{ groupSingleMode }}">{{
|
||||
<mat-radio-button checked="true" class="adf-people-single-mode" data-automation-id="adf-group-single-mode" value="{{ groupSingleMode }}">{{
|
||||
'PEOPLE_GROUPS_CLOUD.SINGLE' | translate }}</mat-radio-button>
|
||||
<mat-radio-button class="adf-people-multiple-mode" value="{{ groupMultipleMode }}">{{
|
||||
<mat-radio-button class="adf-people-multiple-mode" data-automation-id="adf-group-multiple-mode" value="{{ groupMultipleMode }}">{{
|
||||
'PEOPLE_GROUPS_CLOUD.MULTI' | translate }}</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<div class="groups-control-options">
|
||||
<mat-form-field class="adf-preselect-value">
|
||||
<mat-radio-group (change)="onChangeGroupsFilterMode($event)">
|
||||
<mat-radio-button checked="true" class="adf-people-single-mode" value="appName">{{
|
||||
'PEOPLE_GROUPS_CLOUD.APP_FILTER_MODE' | translate }}</mat-radio-button>
|
||||
<mat-radio-button class="adf-people-multiple-mode" data-automation-id="adf-group-filter-role" value="role">{{
|
||||
'PEOPLE_GROUPS_CLOUD.ROLE_FILTER_MODE' | translate }}</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<mat-form-field *ngIf="!isGroupAppNameSelected()" class="adf-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.ROLE' | translate }} ['ACTIVITI_ADMIN', "ACTIVITI_USER"]</mat-label>
|
||||
<input matInput (input)="setGroupRoles($event)" />
|
||||
<input matInput (input)="setGroupRoles($event)" data-automation-id="adf-group-roles-input"/>
|
||||
</mat-form-field>
|
||||
<mat-form-field class="adf-preselect-value full">
|
||||
<mat-form-field *ngIf="isGroupAppNameSelected()" class="adf-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.APP_NAME' | translate }}</mat-label>
|
||||
<input matInput (input)="setGroupAppName($event)" />
|
||||
</mat-form-field>
|
||||
<mat-form-field class="adf-preselect-value-full">
|
||||
<mat-label>Preselect: {{ DEFAULT_GROUP_PLACEHOLDER }}</mat-label>
|
||||
<input matInput (input)="setGroupsPreselectValue($event)" />
|
||||
<input matInput (input)="setGroupsPreselectValue($event)" data-automation-id="adf-group-preselect-input" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div>
|
||||
<adf-cloud-group [mode]="groupMode" [roles]="groupRoles" [preSelectGroups]="preSelectGroup" (selectGroup)="onSelectGroup($event)"
|
||||
(removeGroup)="onRemoveGroup($event)"></adf-cloud-group>
|
||||
<adf-cloud-group [mode]="groupMode" [roles]="groupRoles" [appName]="groupAppName" [preSelectGroups]="preSelectGroup"
|
||||
(selectGroup)="onSelectGroup($event)" (removeGroup)="onRemoveGroup($event)"></adf-cloud-group>
|
||||
</div>
|
||||
|
||||
<div class="adf-group-list" *ngIf="canShowGroupList()">
|
||||
@@ -73,4 +101,4 @@
|
||||
</mat-list>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
</mat-card>
|
||||
|
||||
+5
-1
@@ -18,9 +18,13 @@
|
||||
margin-right: 15px;
|
||||
min-width: 330px;
|
||||
|
||||
&-full {
|
||||
&-big {
|
||||
width:60%;
|
||||
}
|
||||
|
||||
&-full {
|
||||
width:100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+55
-2
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { PeopleCloudComponent, GroupCloudComponent, GroupModel } from '@alfresco/adf-process-services-cloud';
|
||||
import { MatRadioChange } from '@angular/material';
|
||||
import { MatRadioChange, MatCheckboxChange } from '@angular/material';
|
||||
|
||||
@Component({
|
||||
selector: 'app-people-groups-cloud',
|
||||
@@ -27,17 +27,23 @@ import { MatRadioChange } from '@angular/material';
|
||||
})
|
||||
export class PeopleGroupCloudDemoComponent {
|
||||
|
||||
DEFAULT_FILTER_MODE: string = 'appName';
|
||||
DEFAULT_GROUP_PLACEHOLDER: string = `[{"id": "1", "name":"activitiUserGroup"}]`;
|
||||
DEFAULT_PEOPLE_PLACEHOLDER: string = `[{"email": "example@alfresco.com", "firstName":"Administrator", "lastName": "ADF"}]`;
|
||||
DEFAULT_PEOPLE_PLACEHOLDER: string = `[{"id": "1", email": "user@user.com", "firstName":"user", "lastName": "lastName", "username": "user"}]`;
|
||||
|
||||
peopleMode: string = PeopleCloudComponent.MODE_SINGLE;
|
||||
preSelectUsers: string[] = [];
|
||||
peopleRoles: string[] = [];
|
||||
peopleAppName: string;
|
||||
peopleFilterMode: string = this.DEFAULT_FILTER_MODE;
|
||||
peoplePreselectValidation: Boolean = false;
|
||||
|
||||
groupMode: string = GroupCloudComponent.MODE_SINGLE;
|
||||
preSelectGroup: GroupModel[] = [];
|
||||
selectedGroupList: GroupModel[] = [];
|
||||
groupRoles: string[];
|
||||
groupAppName: string;
|
||||
groupFilterMode: string = this.DEFAULT_FILTER_MODE;
|
||||
|
||||
setPeoplePreselectValue(event: any) {
|
||||
this.preSelectUsers = this.getArrayFromString(event.target.value);
|
||||
@@ -55,6 +61,14 @@ export class PeopleGroupCloudDemoComponent {
|
||||
this.groupRoles = this.getArrayFromString(event.target.value);
|
||||
}
|
||||
|
||||
setPeopleAppName(event: any) {
|
||||
this.peopleAppName = event.target.value;
|
||||
}
|
||||
|
||||
setGroupAppName(event: any) {
|
||||
this.groupAppName = event.target.value;
|
||||
}
|
||||
|
||||
onChangePeopleMode(event: MatRadioChange) {
|
||||
this.peopleMode = event.value;
|
||||
this.preSelectUsers = [...this.preSelectUsers];
|
||||
@@ -65,6 +79,45 @@ export class PeopleGroupCloudDemoComponent {
|
||||
this.preSelectGroup = [...this.preSelectGroup];
|
||||
}
|
||||
|
||||
onChangePeopleFilterMode(event: MatRadioChange) {
|
||||
this.peopleFilterMode = event.value;
|
||||
this.resetPeopleFilter();
|
||||
}
|
||||
|
||||
onChangeGroupsFilterMode(event: MatRadioChange) {
|
||||
this.groupFilterMode = event.value;
|
||||
this.restGroupFilter();
|
||||
}
|
||||
|
||||
isPeopleAppNameSelected() {
|
||||
return this.peopleFilterMode === 'appName';
|
||||
}
|
||||
|
||||
isGroupAppNameSelected() {
|
||||
return this.groupFilterMode === 'appName';
|
||||
}
|
||||
|
||||
resetPeopleFilter() {
|
||||
if (this.isPeopleAppNameSelected()) {
|
||||
this.peopleRoles = [];
|
||||
} else {
|
||||
this.peopleAppName = '';
|
||||
}
|
||||
}
|
||||
|
||||
restGroupFilter() {
|
||||
if (this.isGroupAppNameSelected()) {
|
||||
this.groupRoles = [];
|
||||
} else {
|
||||
this.groupAppName = '';
|
||||
}
|
||||
}
|
||||
|
||||
onChangePeopleValidation(event: MatCheckboxChange) {
|
||||
this.peoplePreselectValidation = event.checked;
|
||||
this.preSelectUsers = [...this.preSelectUsers];
|
||||
}
|
||||
|
||||
isStringArray(str: string) {
|
||||
try {
|
||||
const result = JSON.parse(str);
|
||||
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
|
||||
<button data-automation-id="go-back" mat-icon-button (click)="onGoBack()">
|
||||
<mat-icon>arrow_back</mat-icon> Go Back
|
||||
</button>
|
||||
|
||||
<h4 data-automation-id="process-details-header">Simple page to show the process instance: {{ processInstanceId }} of the app: {{ appName }}</h4>
|
||||
|
||||
<div class="adf-process-cloud-container">
|
||||
|
||||
<adf-cloud-task-list
|
||||
fxFlex
|
||||
class="adf-cloud-layout-overflow"
|
||||
[appName]="appName"
|
||||
[processInstanceId]="processInstanceId"
|
||||
(rowClick)="onRowClick($event)"
|
||||
#taskCloud>
|
||||
</adf-cloud-task-list>
|
||||
|
||||
<adf-cloud-process-header
|
||||
class="adf-process-cloud-header"
|
||||
[appName]="appName"
|
||||
[processInstanceId]="processInstanceId">
|
||||
</adf-cloud-process-header>
|
||||
</div>
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
.adf {
|
||||
&-process-cloud-container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
&-cloud-layout-overflow {
|
||||
width:67%;
|
||||
}
|
||||
|
||||
&-process-cloud-header {
|
||||
margin-left: 10px;
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 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 { ActivatedRoute, Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
templateUrl: './process-details-cloud-demo.component.html',
|
||||
styleUrls: ['./process-details-cloud-demo.component.scss']
|
||||
})
|
||||
export class ProcessDetailsCloudDemoComponent {
|
||||
|
||||
processInstanceId: string;
|
||||
appName: string;
|
||||
|
||||
constructor(private route: ActivatedRoute, private router: Router) {
|
||||
this.route.params.subscribe((params) => {
|
||||
this.processInstanceId = params.processInstanceId;
|
||||
});
|
||||
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
this.appName = params.appName;
|
||||
});
|
||||
}
|
||||
|
||||
onGoBack() {
|
||||
this.router.navigate([`/cloud/${this.appName}/`]);
|
||||
}
|
||||
|
||||
onRowClick(taskId: string) {
|
||||
if (taskId) {
|
||||
this.router.navigate([`/cloud/${this.appName}/task-details/${taskId}`]);
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
-18
@@ -1,29 +1,35 @@
|
||||
<div fxLayout="column" fxFill fxLayoutGap="2px">
|
||||
<adf-cloud-edit-process-filter
|
||||
[appName]="applicationName"
|
||||
[appName]="appName"
|
||||
[id]="filterId"
|
||||
[filterProperties]="processFilterProperties"
|
||||
[filterProperties]="processFilterProperties.filterProperties"
|
||||
[sortProperties]="processFilterProperties.sortProperties"
|
||||
[actions]="processFilterProperties.actions"
|
||||
(filterChange)="onFilterChange($event)"
|
||||
(action)="onProcessFilterAction($event)">
|
||||
</adf-cloud-edit-process-filter>
|
||||
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter">
|
||||
<adf-cloud-process-list fxFlex class="adf-cloud-layout-overflow"
|
||||
[applicationName]="editedFilter.appName"
|
||||
[initiator]="editedFilter.initiator"
|
||||
[processDefinitionId]="editedFilter.processDefinitionId"
|
||||
[processDefinitionKey]="editedFilter.processDefinitionKey"
|
||||
[id]="editedFilter.processInstanceId"
|
||||
[status]="editedFilter.state"
|
||||
[name]="editedFilter.processName"
|
||||
[sorting]="sortArray"
|
||||
[selectionMode]="selectionMode"
|
||||
[multiselect]="multiselect"
|
||||
(rowClick)="onRowClick($event)"
|
||||
(rowsSelected)="onRowsSelected($event)"
|
||||
#processCloud>
|
||||
<adf-cloud-process-list #processCloud
|
||||
fxFlex
|
||||
class="adf-cloud-layout-overflow"
|
||||
[appName]="editedFilter.appName"
|
||||
[initiator]="editedFilter.initiator"
|
||||
[processDefinitionId]="editedFilter.processDefinitionId"
|
||||
[processDefinitionKey]="editedFilter.processDefinitionKey"
|
||||
[id]="editedFilter.processInstanceId"
|
||||
[status]="editedFilter.status"
|
||||
[name]="editedFilter.processName"
|
||||
[businessKey]="editedFilter.businessKey"
|
||||
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
|
||||
[lastModifiedTo]="editedFilter.lastModifiedTo"
|
||||
[sorting]="sortArray"
|
||||
[selectionMode]="selectionMode"
|
||||
[multiselect]="multiselect"
|
||||
(rowClick)="onRowClick($event)"
|
||||
(rowsSelected)="onRowsSelected($event)">
|
||||
</adf-cloud-process-list>
|
||||
<adf-pagination
|
||||
[target]="processCloud"
|
||||
<adf-pagination
|
||||
[target]="processCloud"
|
||||
(changePageSize)="onChangePageSize($event)"
|
||||
(nextPage)="resetSelectedRows()"
|
||||
(prevPage)="resetSelectedRows()">
|
||||
|
||||
@@ -33,8 +33,8 @@ import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
})
|
||||
export class ProcessesCloudDemoComponent implements OnInit {
|
||||
|
||||
public static ACTION_SAVE_AS = 'SAVE_AS';
|
||||
static PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter.properties';
|
||||
public static ACTION_SAVE_AS = 'saveAs';
|
||||
static PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter';
|
||||
|
||||
@ViewChild('processCloud')
|
||||
processCloud: ProcessListCloudComponent;
|
||||
@@ -42,7 +42,7 @@ export class ProcessesCloudDemoComponent implements OnInit {
|
||||
@ViewChild('processFiltersCloud')
|
||||
processFiltersCloud: ProcessFiltersCloudComponent;
|
||||
|
||||
applicationName: string = '';
|
||||
appName: string = '';
|
||||
isFilterLoaded: boolean;
|
||||
|
||||
filterId: string = '';
|
||||
@@ -52,7 +52,7 @@ export class ProcessesCloudDemoComponent implements OnInit {
|
||||
selectionMode: string;
|
||||
selectedRows: string[] = [];
|
||||
testingMode: boolean;
|
||||
processFilterProperties: any[] = [];
|
||||
processFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] };
|
||||
|
||||
editedFilter: ProcessFilterCloudModel;
|
||||
|
||||
@@ -71,7 +71,7 @@ export class ProcessesCloudDemoComponent implements OnInit {
|
||||
ngOnInit() {
|
||||
this.isFilterLoaded = false;
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
this.applicationName = params.applicationName;
|
||||
this.appName = params.appName;
|
||||
});
|
||||
|
||||
this.route.queryParams.subscribe((params) => {
|
||||
@@ -85,13 +85,9 @@ export class ProcessesCloudDemoComponent implements OnInit {
|
||||
}
|
||||
|
||||
setCurrentSettings(settings) {
|
||||
if (settings.multiselect !== undefined) {
|
||||
if (settings) {
|
||||
this.multiselect = settings.multiselect;
|
||||
}
|
||||
if (settings.testingMode !== undefined) {
|
||||
this.testingMode = settings.testingMode;
|
||||
}
|
||||
if (settings.selectionMode !== undefined) {
|
||||
this.selectionMode = settings.selectionMode;
|
||||
}
|
||||
}
|
||||
@@ -104,8 +100,8 @@ export class ProcessesCloudDemoComponent implements OnInit {
|
||||
this.selectedRows = [];
|
||||
}
|
||||
|
||||
onRowClick($event) {
|
||||
this.selectedRow = $event;
|
||||
onRowClick(processInstanceId) {
|
||||
this.router.navigate([`/cloud/${this.appName}/process-details/${processInstanceId}`]);
|
||||
}
|
||||
|
||||
onFilterChange(query: any) {
|
||||
@@ -116,7 +112,7 @@ export class ProcessesCloudDemoComponent implements OnInit {
|
||||
onProcessFilterAction(filterAction: any) {
|
||||
this.cloudLayoutService.setCurrentProcessFilterParam({ id: filterAction.filter.id });
|
||||
if (filterAction.actionType === ProcessesCloudDemoComponent.ACTION_SAVE_AS) {
|
||||
this.router.navigate([`/cloud/${this.applicationName}/processes/`], { queryParams: filterAction.filter });
|
||||
this.router.navigate([`/cloud/${this.appName}/processes/`], { queryParams: filterAction.filter });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ export class CloudLayoutService {
|
||||
private settings = {
|
||||
multiselect: false,
|
||||
testingMode: false,
|
||||
taskDetailsRedirection: true,
|
||||
selectionMode: 'single'
|
||||
};
|
||||
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
<adf-cloud-start-process
|
||||
[appName]="applicationName"
|
||||
[name]="processName"
|
||||
(error)="openSnackMessage($event)"
|
||||
<adf-cloud-start-process
|
||||
[appName]="appName"
|
||||
[name]="processName"
|
||||
(error)="openSnackMessage($event)"
|
||||
(success)="onStartProcessSuccess()"
|
||||
(cancel)="onCancelStartProcess()">
|
||||
</adf-cloud-start-process>
|
||||
|
||||
+5
-4
@@ -19,13 +19,14 @@ import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { NotificationService, AppConfigService } from '@alfresco/adf-core';
|
||||
import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
|
||||
@Component({
|
||||
templateUrl: './start-process-cloud-demo.component.html',
|
||||
styleUrls: ['./start-process-cloud-demo.component.scss']
|
||||
})
|
||||
export class StartProcessCloudDemoComponent implements OnInit {
|
||||
|
||||
applicationName;
|
||||
appName;
|
||||
processName: string;
|
||||
|
||||
constructor(private appConfig: AppConfigService,
|
||||
@@ -37,7 +38,7 @@ export class StartProcessCloudDemoComponent implements OnInit {
|
||||
|
||||
ngOnInit() {
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
this.applicationName = params.applicationName;
|
||||
this.appName = params.appName;
|
||||
});
|
||||
|
||||
this.processName = this.appConfig.get<string>('adf-start-process.name');
|
||||
@@ -45,12 +46,12 @@ export class StartProcessCloudDemoComponent implements OnInit {
|
||||
|
||||
onStartProcessSuccess() {
|
||||
this.cloudLayoutService.setCurrentProcessFilterParam({ key: 'running-processes' });
|
||||
this.router.navigate([`/cloud/${this.applicationName}/processes`]);
|
||||
this.router.navigate([`/cloud/${this.appName}/processes`]);
|
||||
}
|
||||
|
||||
onCancelStartProcess() {
|
||||
this.cloudLayoutService.setCurrentProcessFilterParam({ key: 'all-processes' });
|
||||
this.router.navigate([`/cloud/${this.applicationName}/processes`]);
|
||||
this.router.navigate([`/cloud/${this.appName}/processes`]);
|
||||
}
|
||||
|
||||
openSnackMessage(event: any) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<adf-cloud-start-task
|
||||
[appName]="applicationName"
|
||||
[appName]="appName"
|
||||
(error)="openSnackMessage($event)"
|
||||
(success)="onStartTaskSuccess()"
|
||||
(cancel)="onCancelStartTask()">
|
||||
|
||||
@@ -25,7 +25,7 @@ import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
})
|
||||
export class StartTaskCloudDemoComponent implements OnInit {
|
||||
|
||||
applicationName;
|
||||
appName;
|
||||
|
||||
constructor(
|
||||
private cloudLayoutService: CloudLayoutService,
|
||||
@@ -36,18 +36,18 @@ export class StartTaskCloudDemoComponent implements OnInit {
|
||||
|
||||
ngOnInit() {
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
this.applicationName = params.applicationName;
|
||||
this.appName = params.appName;
|
||||
});
|
||||
}
|
||||
|
||||
onStartTaskSuccess() {
|
||||
this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'});
|
||||
this.router.navigate([`/cloud/${this.applicationName}/tasks`]);
|
||||
this.router.navigate([`/cloud/${this.appName}/tasks`]);
|
||||
}
|
||||
|
||||
onCancelStartTask() {
|
||||
this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'});
|
||||
this.router.navigate([`/cloud/${this.applicationName}/tasks`]);
|
||||
this.router.navigate([`/cloud/${this.appName}/tasks`]);
|
||||
}
|
||||
|
||||
openSnackMessage(event: any) {
|
||||
|
||||
+16
-9
@@ -1,12 +1,19 @@
|
||||
<h4 data-automation-id="task-details-header">Simple page to show the taskId: {{ taskId }} of the app: {{ appName }}</h4>
|
||||
|
||||
<button data-automation-id="go-back" mat-icon-button (click)="onGoBack()">
|
||||
<mat-icon>arrow_back</mat-icon> Go Back
|
||||
</button>
|
||||
<div class="adf-task-detail-container">
|
||||
<div class="adf-task-control">
|
||||
<button mat-button (click)="goBack()">Cancel</button>
|
||||
<button mat-button color="primary" *ngIf="canCompleteTask()" adf-cloud-complete-task [appName]="appName" [taskId]="taskId"
|
||||
(success)="onCompletedTask()">{{ 'ADF_TASK_LIST.DETAILS.BUTTON.COMPLETE' | translate }}</button>
|
||||
|
||||
<h4>Simple page to show the taskId: {{ taskId }} of the app: {{ applicationName }}</h4>
|
||||
<button mat-button color="primary" *ngIf="canClaimTask()" adf-cloud-claim-task [appName]="appName" [taskId]="taskId"
|
||||
(success)="onClaimTask()">{{ 'ADF_TASK_LIST.DETAILS.BUTTON.CLAIM' | translate }}</button>
|
||||
|
||||
<adf-cloud-task-header
|
||||
[appName]="applicationName"
|
||||
[taskId]="taskId"
|
||||
[readOnly]="readOnly">
|
||||
</adf-cloud-task-header>
|
||||
<button mat-button color="primary" *ngIf="canUnClaimTask()" adf-cloud-unclaim-task [appName]="appName" [taskId]="taskId"
|
||||
(success)="onUnclaimTask()">{{ 'ADF_TASK_LIST.DETAILS.BUTTON.UNCLAIM' | translate }}</button>
|
||||
</div>
|
||||
|
||||
<adf-cloud-task-header class="adf-demop-card-container" [appName]="appName" [taskId]="taskId" [readOnly]="readOnly">
|
||||
</adf-cloud-task-header>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
.adf {
|
||||
|
||||
&-task-detail-container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
&-task-tiitle {
|
||||
margin-left:15px;
|
||||
}
|
||||
|
||||
&-task-control {
|
||||
width:70%;
|
||||
}
|
||||
|
||||
&-demop-card-container {
|
||||
width:30%;
|
||||
font-family: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
+51
-7
@@ -15,30 +15,74 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { TaskDetailsCloudModel, TaskCloudService } from '@alfresco/adf-process-services-cloud';
|
||||
|
||||
@Component({
|
||||
templateUrl: './task-details-cloud-demo.component.html',
|
||||
styleUrls: ['./task-details-cloud-demo.component.scss']
|
||||
})
|
||||
export class TaskDetailsCloudDemoComponent {
|
||||
export class TaskDetailsCloudDemoComponent implements OnInit {
|
||||
|
||||
taskDetails: TaskDetailsCloudModel;
|
||||
taskId: string;
|
||||
applicationName: string;
|
||||
appName: string;
|
||||
readOnly = false;
|
||||
|
||||
constructor(private route: ActivatedRoute, private router: Router) {
|
||||
constructor(
|
||||
private route: ActivatedRoute,
|
||||
private router: Router,
|
||||
private taskCloudService: TaskCloudService
|
||||
) {
|
||||
this.route.params.subscribe((params) => {
|
||||
this.taskId = params.taskId;
|
||||
});
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
this.applicationName = params.applicationName;
|
||||
this.appName = params.appName;
|
||||
});
|
||||
}
|
||||
|
||||
onGoBack() {
|
||||
this.router.navigate([`/cloud/${this.applicationName}/`]);
|
||||
ngOnInit() {
|
||||
this.loadTaskDetailsById(this.appName, this.taskId);
|
||||
}
|
||||
|
||||
loadTaskDetailsById(appName: string, taskId: string) {
|
||||
this.taskCloudService.getTaskById(appName, taskId).subscribe(
|
||||
(taskDetails: TaskDetailsCloudModel ) => {
|
||||
this.taskDetails = taskDetails;
|
||||
});
|
||||
}
|
||||
|
||||
isTaskValid(): boolean {
|
||||
return this.appName !== undefined && this.taskId !== undefined;
|
||||
}
|
||||
|
||||
canCompleteTask(): boolean {
|
||||
return this.taskDetails && this.taskCloudService.canCompleteTask(this.taskDetails);
|
||||
}
|
||||
|
||||
canClaimTask(): boolean {
|
||||
return this.taskDetails && this.taskCloudService.canClaimTask(this.taskDetails);
|
||||
}
|
||||
|
||||
canUnClaimTask(): boolean {
|
||||
return this.taskDetails && this.taskCloudService.canUnclaimTask(this.taskDetails);
|
||||
}
|
||||
|
||||
goBack() {
|
||||
this.router.navigate([`/cloud/${this.appName}/`]);
|
||||
}
|
||||
|
||||
onCompletedTask() {
|
||||
this.goBack();
|
||||
}
|
||||
|
||||
onUnclaimTask() {
|
||||
this.goBack();
|
||||
}
|
||||
|
||||
onClaimTask() {
|
||||
this.goBack();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
<div fxLayout="column" fxFill fxLayoutGap="2px">
|
||||
<adf-cloud-edit-task-filter
|
||||
[appName]="applicationName"
|
||||
[appName]="appName"
|
||||
[id]="filterId"
|
||||
[filterProperties]="taskFilterProperties"
|
||||
[filterProperties]="taskFilterProperties.filterProperties"
|
||||
[sortProperties]="taskFilterProperties.sortProperties"
|
||||
[actions]="taskFilterProperties.actions"
|
||||
(action)="onTaskFilterAction($event)"
|
||||
(filterChange)="onFilterChange($event)">
|
||||
</adf-cloud-edit-task-filter>
|
||||
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter">
|
||||
<adf-cloud-task-list #taskCloud
|
||||
[applicationName]="editedFilter.appName"
|
||||
fxFlex
|
||||
class="adf-cloud-layout-overflow"
|
||||
[appName]="editedFilter.appName"
|
||||
[processDefinitionId]="editedFilter.processDefinitionId"
|
||||
[processInstanceId]="editedFilter.processInstanceId"
|
||||
[name]="editedFilter.taskName"
|
||||
@@ -17,18 +21,22 @@
|
||||
[owner]="editedFilter.owner"
|
||||
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
|
||||
[lastModifiedTo]="editedFilter.lastModifiedTo"
|
||||
[status]="editedFilter.state"
|
||||
[assignee]="editedFilter.assignment"
|
||||
[status]="editedFilter.status"
|
||||
[assignee]="editedFilter.assignee"
|
||||
[createdDate]="editedFilter.createdDate"
|
||||
[dueDate]="editedFilter.dueDate"
|
||||
[sorting]="sortArray"
|
||||
[multiselect]="multiselect"
|
||||
[selectionMode]="selectionMode"
|
||||
(rowClick)="onRowClick($event)"
|
||||
(rowsSelected)="onRowsSelected($event)">
|
||||
(rowsSelected)="onRowsSelected($event)"
|
||||
#taskCloud>
|
||||
</adf-cloud-task-list>
|
||||
<adf-pagination [target]="taskCloud"
|
||||
(changePageSize)="onChangePageSize($event)"
|
||||
(nextPage)="resetSelectedRows()"
|
||||
(prevPage)="resetSelectedRows()">
|
||||
<adf-pagination
|
||||
[target]="taskCloud"
|
||||
(changePageSize)="onChangePageSize($event)"
|
||||
(nextPage)="resetSelectedRows()"
|
||||
(prevPage)="resetSelectedRows()">
|
||||
</adf-pagination>
|
||||
<div *ngIf="testingMode">
|
||||
Selected rows:
|
||||
|
||||
@@ -27,13 +27,13 @@ import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
})
|
||||
export class TasksCloudDemoComponent implements OnInit {
|
||||
|
||||
public static ACTION_SAVE_AS = 'SAVE_AS';
|
||||
static TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter.properties';
|
||||
public static ACTION_SAVE_AS = 'saveAs';
|
||||
static TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
|
||||
|
||||
@ViewChild('taskCloud')
|
||||
taskCloud: TaskListCloudComponent;
|
||||
|
||||
applicationName: string = '';
|
||||
appName: string = '';
|
||||
|
||||
isFilterLoaded = false;
|
||||
|
||||
@@ -41,13 +41,14 @@ export class TasksCloudDemoComponent implements OnInit {
|
||||
|
||||
sortArray: TaskListCloudSortingModel[];
|
||||
editedFilter: TaskFilterCloudModel;
|
||||
taskFilterProperties: any[] = [];
|
||||
taskFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] };
|
||||
|
||||
filterId;
|
||||
multiselect: boolean;
|
||||
selectedRows: string[] = [];
|
||||
testingMode: boolean;
|
||||
selectionMode: string;
|
||||
taskDetailsRedirection: boolean;
|
||||
|
||||
constructor(
|
||||
private cloudLayoutService: CloudLayoutService,
|
||||
@@ -65,7 +66,7 @@ export class TasksCloudDemoComponent implements OnInit {
|
||||
ngOnInit() {
|
||||
this.isFilterLoaded = false;
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
this.applicationName = params.applicationName;
|
||||
this.appName = params.appName;
|
||||
});
|
||||
|
||||
this.route.queryParams.subscribe((params) => {
|
||||
@@ -79,14 +80,11 @@ export class TasksCloudDemoComponent implements OnInit {
|
||||
}
|
||||
|
||||
setCurrentSettings(settings) {
|
||||
if (settings.multiselect !== undefined) {
|
||||
if (settings) {
|
||||
this.multiselect = settings.multiselect;
|
||||
}
|
||||
if (settings.testingMode !== undefined) {
|
||||
this.testingMode = settings.testingMode;
|
||||
}
|
||||
if (settings.selectionMode !== undefined) {
|
||||
this.selectionMode = settings.selectionMode;
|
||||
this.taskDetailsRedirection = settings.taskDetailsRedirection;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,8 +97,8 @@ export class TasksCloudDemoComponent implements OnInit {
|
||||
}
|
||||
|
||||
onRowClick(taskId) {
|
||||
if (!this.multiselect && this.selectionMode !== 'multiple') {
|
||||
this.router.navigate([`/cloud/${this.applicationName}/task-details/${taskId}`]);
|
||||
if (!this.multiselect && this.selectionMode !== 'multiple' && this.taskDetailsRedirection) {
|
||||
this.router.navigate([`/cloud/${this.appName}/task-details/${taskId}`]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +115,7 @@ export class TasksCloudDemoComponent implements OnInit {
|
||||
onTaskFilterAction(filterAction: any) {
|
||||
this.cloudLayoutService.setCurrentTaskFilterParam({ id: filterAction.filter.id });
|
||||
if (filterAction.actionType === TasksCloudDemoComponent.ACTION_SAVE_AS) {
|
||||
this.router.navigate([`/cloud/${this.applicationName}/tasks/`], { queryParams: filterAction.filter });
|
||||
this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: filterAction.filter });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,10 @@ export class CardViewComponent implements OnInit {
|
||||
this.createCard();
|
||||
}
|
||||
|
||||
respondToCardClick() {
|
||||
this.logs.push(`clickable field`);
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.cardViewUpdateService.itemUpdated$.subscribe(this.onItemChange.bind(this));
|
||||
}
|
||||
@@ -118,6 +122,17 @@ export class CardViewComponent implements OnInit {
|
||||
value: new Map([['999', 'My Value']]),
|
||||
key: 'map',
|
||||
default: 'default map value'
|
||||
}),
|
||||
new CardViewTextItemModel({
|
||||
label: 'This is clickable ',
|
||||
value: 'click here',
|
||||
key: 'click',
|
||||
default: 'click here',
|
||||
editable: this.isEditable,
|
||||
clickable: true,
|
||||
clickCallBack: () => {
|
||||
this.respondToCardClick();
|
||||
}
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -42,6 +42,13 @@
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="applicationListCloudConfClick()">
|
||||
<a matLine id="adf-apps-cloud-conf">Application List Cloud</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="taskListCloudConfClick()">
|
||||
<a matLine id="adf-task-list-cloud-conf">Task List Cloud</a>
|
||||
<button mat-icon-button>
|
||||
@@ -49,12 +56,12 @@
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="editProcessFilterConfClick()">
|
||||
<a matLine id="adf-edit-process-filter-conf">Edit process filter</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
<mat-list-item (click)="editProcessFilterConfClick()">
|
||||
<a matLine id="adf-edit-process-filter-conf">Edit process filter</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="processListCloudConfClick()">
|
||||
<a matLine id="adf-process-list-cloud-conf">Process List Cloud</a>
|
||||
@@ -63,11 +70,32 @@
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="editTaskFilterConfClick()">
|
||||
<a matLine id="adf-edit-task-filter-conf">Edit task filter</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
<mat-list-item (click)="editTaskFilterConfClick()">
|
||||
<a matLine id="adf-edit-task-filter-conf">Edit task filter</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="infinitePaginationConfClick()">
|
||||
<a matLine id="adf-infinite-pagination-conf">Infinite pagination</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="supportedPageSizesClick()">
|
||||
<a matLine id="adf-supported-page-size">Supported Page Sizes </a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="textOrientationClick()">
|
||||
<a matLine id="adf-page-orientation-conf">Page Orientation</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
</mat-nav-list>
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { AppConfigService, NotificationService } from '@alfresco/adf-core';
|
||||
import { AppConfigService, NotificationService, UserPreferencesService, UserPreferenceValues } from '@alfresco/adf-core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-config-editor',
|
||||
@@ -29,6 +29,8 @@ export class ConfigEditorComponent {
|
||||
code: any;
|
||||
field = 'content-metadata';
|
||||
invalidJson = false;
|
||||
isUserPreference = false;
|
||||
userPreferenceProperty: string;
|
||||
|
||||
editorOptions = {
|
||||
theme: 'vs-dark',
|
||||
@@ -43,13 +45,19 @@ export class ConfigEditorComponent {
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
constructor(private appConfig: AppConfigService, private notificationService: NotificationService) {
|
||||
constructor(private appConfig: AppConfigService,
|
||||
private userPreferencesService: UserPreferencesService,
|
||||
private notificationService: NotificationService) {
|
||||
this.code = JSON.stringify(appConfig.config['content-metadata']);
|
||||
}
|
||||
|
||||
onSave() {
|
||||
try {
|
||||
this.appConfig.config[this.field] = JSON.parse(this.editor.getValue());
|
||||
if (this.isUserPreference) {
|
||||
this.userPreferencesService.set(this.userPreferenceProperty, JSON.parse(this.editor.getValue()));
|
||||
} else {
|
||||
this.appConfig.config[this.field] = JSON.parse(this.editor.getValue());
|
||||
}
|
||||
} catch (error) {
|
||||
this.invalidJson = true;
|
||||
this.notificationService.openSnackMessage(
|
||||
@@ -71,65 +79,115 @@ export class ConfigEditorComponent {
|
||||
}
|
||||
|
||||
fileConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['files']);
|
||||
this.field = 'files';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
textOrientationClick() {
|
||||
this.isUserPreference = true;
|
||||
this.userPreferenceProperty = 'textOrientation';
|
||||
|
||||
this.userPreferencesService.select( this.userPreferenceProperty).subscribe((textOrientation: number) => {
|
||||
this.code = JSON.stringify(textOrientation);
|
||||
this.field = 'textOrientation';
|
||||
this.indentCode();
|
||||
});
|
||||
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
searchConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['search']);
|
||||
this.field = 'search';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
metadataConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['content-metadata']);
|
||||
this.field = 'content-metadata';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
taskHeaderConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['adf-task-header']);
|
||||
this.field = 'adf-task-header';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
processInstanceHeaderConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['adf-process-instance-header']);
|
||||
this.field = 'adf-process-instance-header';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
startProcessConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['adf-start-process']);
|
||||
this.field = 'adf-start-process';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
taskListCloudConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['adf-cloud-task-list']);
|
||||
this.field = 'adf-cloud-task-list';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
editProcessFilterConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['adf-edit-process-filter']);
|
||||
this.field = 'adf-edit-process-filter';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
editTaskFilterConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['adf-edit-task-filter']);
|
||||
this.field = 'adf-edit-task-filter';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
processListCloudConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['adf-cloud-process-list']);
|
||||
this.field = 'adf-cloud-process-list';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
infinitePaginationConfClick() {
|
||||
this.isUserPreference = true;
|
||||
this.userPreferenceProperty = UserPreferenceValues.PaginationSize;
|
||||
this.userPreferencesService.select(this.userPreferenceProperty).subscribe((pageSize: number) => {
|
||||
this.code = JSON.stringify(pageSize);
|
||||
this.field = 'adf-infinite-pagination';
|
||||
this.indentCode();
|
||||
});
|
||||
}
|
||||
|
||||
supportedPageSizesClick() {
|
||||
this.isUserPreference = true;
|
||||
this.userPreferenceProperty = UserPreferenceValues.SupportedPageSizes;
|
||||
this.userPreferencesService.select(this.userPreferenceProperty).subscribe((supportedPageSizes: number) => {
|
||||
this.code = JSON.stringify(supportedPageSizes);
|
||||
this.field = 'adf-supported-page-size';
|
||||
this.indentCode();
|
||||
});
|
||||
}
|
||||
|
||||
applicationListCloudConfClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['alfresco-deployed-apps']);
|
||||
this.field = 'alfresco-deployed-apps';
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
indentCode() {
|
||||
setTimeout(() => {
|
||||
this.editor.getAction('editor.action.formatDocument').run();
|
||||
|
||||
@@ -2,28 +2,37 @@
|
||||
<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="adf-full-width name-column"></data-column>
|
||||
<data-column key="createdBy.name" title="Created By"></data-column>
|
||||
</data-columns>
|
||||
-->
|
||||
</adf-datatable>
|
||||
<mat-slide-toggle
|
||||
id="adf-toggle-sticky-header"
|
||||
[color]="'primary'"
|
||||
(change)="toggleStickyHeader()"
|
||||
[checked]="stickyHeader">
|
||||
Sticky header
|
||||
</mat-slide-toggle>
|
||||
|
||||
<div style="height: 310px; overflow-y: auto;">
|
||||
<adf-datatable
|
||||
#dataTable
|
||||
[data]="data"
|
||||
[stickyHeader]="stickyHeader"
|
||||
[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="adf-full-width name-column"></data-column>
|
||||
<data-column key="createdBy.name" title="Created By"></data-column>
|
||||
</data-columns>
|
||||
-->
|
||||
</adf-datatable>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
Selected items: {{ dataTable.selection?.length }}
|
||||
@@ -47,4 +56,4 @@
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
@@ -54,6 +54,7 @@ export class DataTableComponent {
|
||||
|
||||
multiselect = false;
|
||||
data: FilteredDataAdapter;
|
||||
stickyHeader = false;
|
||||
|
||||
@Input()
|
||||
selectionMode = 'single';
|
||||
@@ -74,12 +75,18 @@ export class DataTableComponent {
|
||||
this.reset();
|
||||
}
|
||||
|
||||
/* spellchecker: disable */
|
||||
reset() {
|
||||
this.data = new FilteredDataAdapter(
|
||||
[
|
||||
{
|
||||
id: 1,
|
||||
name: 'Name 1',
|
||||
name: `Lorem ipsum dolor sit amet, consectetur adipiscing elit,
|
||||
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
||||
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
||||
Excepteur sint occaecat cupidatat non proident,
|
||||
sunt in culpa qui officia deserunt mollit anim id est laborum.`,
|
||||
createdOn: new Date(2016, 6, 2, 15, 8, 1),
|
||||
createdBy: this._createdBy,
|
||||
icon: 'material-icons://folder_open'
|
||||
@@ -100,23 +107,24 @@ export class DataTableComponent {
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: 'Image 1',
|
||||
name: 'Image 8',
|
||||
createdOn: new Date(2016, 6, 2, 15, 8, 4),
|
||||
createdBy: this._createdBy,
|
||||
icon: this._imageUrl
|
||||
icon: 'material-icons://alarm'
|
||||
}
|
||||
],
|
||||
[
|
||||
{ type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail' },
|
||||
{ type: 'text', key: 'id', title: 'Id', sortable: true , cssClass: 'adf-desktop-only'},
|
||||
{ type: 'text', key: 'createdOn', title: 'Created On', sortable: true },
|
||||
{ type: 'text', key: 'name', title: 'Name', cssClass: 'adf-full-width adf-name-column', sortable: true },
|
||||
{ type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true, cssClass: 'adf-desktop-only'}
|
||||
{ type: 'text', key: 'id', title: 'Id', sortable: true , cssClass: '' },
|
||||
{ type: 'text', key: 'createdOn', title: 'Created On', sortable: true, cssClass: 'adf-ellipsis-cell adf-expand-cell-5' },
|
||||
{ type: 'text', key: 'name', title: 'Name', cssClass: 'adf-ellipsis-cell', sortable: true },
|
||||
{ type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true, cssClass: ''}
|
||||
]
|
||||
);
|
||||
|
||||
this.data.setSorting(new DataSorting('id', 'asc'));
|
||||
}
|
||||
/* spellchecker: enable */
|
||||
|
||||
addRow() {
|
||||
const id = this.data.getRows().length + 1;
|
||||
@@ -199,4 +207,8 @@ export class DataTableComponent {
|
||||
onRowDblClick(event) {
|
||||
this.logService.log(event);
|
||||
}
|
||||
|
||||
toggleStickyHeader() {
|
||||
this.stickyHeader = !this.stickyHeader;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<adf-info-drawer [title]="'APP.INFO_DRAWER.TITLE' | translate">
|
||||
|
||||
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.COMMENTS' | translate">
|
||||
<adf-comments [nodeId]="nodeId" [readOnly]="isCommentDisabled"></adf-comments>
|
||||
<adf-comments [nodeId]="nodeId" [readOnly]="!isCommentEnabled"></adf-comments>
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.PROPERTIES' | translate">
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
.adf-viewer__sidebar {
|
||||
width: 380px !important;
|
||||
}
|
||||
|
||||
/* stylelint-disable */
|
||||
.monaco-scrollable-element {
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
adf-preview-extension {
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { ContentService, PermissionsEnum, NodesApiService } from '@alfresco/adf-core';
|
||||
import { ContentService, AllowableOperationsEnum, PermissionsEnum, NodesApiService } from '@alfresco/adf-core';
|
||||
import { MatSnackBar } from '@angular/material';
|
||||
|
||||
@Component({
|
||||
@@ -52,7 +52,7 @@ export class FileViewComponent implements OnInit {
|
||||
showLeftSidebar = null;
|
||||
showRightSidebar = false;
|
||||
customToolbar = false;
|
||||
isCommentDisabled = false;
|
||||
isCommentEnabled = false;
|
||||
|
||||
constructor(private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
@@ -68,7 +68,8 @@ export class FileViewComponent implements OnInit {
|
||||
this.nodeApiService.getNode(id).subscribe(
|
||||
(node) => {
|
||||
if (node && node.isFile) {
|
||||
this.isCommentDisabled = this.contentServices.hasPermissions(node, PermissionsEnum.CONSUMER);
|
||||
this.isCommentEnabled = this.contentServices.hasPermissions(node, PermissionsEnum.NOT_CONSUMER) ||
|
||||
this.contentServices.hasAllowableOperations(node, AllowableOperationsEnum.UPDATE);
|
||||
this.nodeId = id;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<div class="adf-container">
|
||||
|
||||
<mat-accordion *ngIf="showRecentFiles" class="adf-container-recent">
|
||||
<mat-expansion-panel hideToggle="true">
|
||||
<mat-expansion-panel-header >
|
||||
<mat-expansion-panel hideToggle="true">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
{{ 'DOCUMENT_LIST.RECENT.TITLE' | translate }}<mat-icon>history</mat-icon>
|
||||
{{ 'DOCUMENT_LIST.RECENT.TITLE' | translate }}
|
||||
<mat-icon>history</mat-icon>
|
||||
</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
@@ -31,7 +32,8 @@
|
||||
</adf-sites-dropdown>
|
||||
</div>
|
||||
|
||||
<div id="document-list-container" class="adf-document-list-container" fxLayout="row" fxLayoutAlign="start stretch" fxLayoutGap="16px">
|
||||
<div id="document-list-container" class="adf-document-list-container" fxLayout="row" fxLayoutAlign="start stretch"
|
||||
fxLayoutGap="16px">
|
||||
<adf-upload-drag-area fxFlex="1 1 auto"
|
||||
[disabled]="disableDragArea"
|
||||
[acceptedFilesType]="getFileFiltering()"
|
||||
@@ -47,7 +49,7 @@
|
||||
<span class="adf-error-message--text">{{errorMessage}}</span>
|
||||
</div>
|
||||
<adf-toolbar *ngIf="!disableDragArea" [color]="toolbarColor" class="adf-files-toolbar">
|
||||
<adf-toolbar-title fxFlex="0 1 auto">
|
||||
<adf-toolbar-title fxFlex="0 1 auto">
|
||||
<adf-breadcrumb fxShow fxHide.lt-sm="true"
|
||||
class="adf-files-breadcrumb"
|
||||
root="APP.PERSONAL-FILES"
|
||||
@@ -67,8 +69,12 @@
|
||||
data-automation-id="document-list-grid-view"
|
||||
title="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}"
|
||||
(click)="toggleGalleryView()">
|
||||
<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>
|
||||
<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
|
||||
data-automation-id="create-new-folder"
|
||||
@@ -136,7 +142,8 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.THEME' | translate }}">
|
||||
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker"
|
||||
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.THEME' | translate }}">
|
||||
<mat-icon>format_color_fill</mat-icon>
|
||||
</button>
|
||||
|
||||
@@ -148,8 +155,12 @@
|
||||
</mat-menu>
|
||||
|
||||
<button mat-icon-button (click)="showVersions = !showVersions" class="adf-show-versions-button">
|
||||
<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>
|
||||
<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>
|
||||
@@ -160,7 +171,7 @@
|
||||
<mat-menu #menu="matMenu">
|
||||
<button mat-menu-item
|
||||
(click)="toggleGalleryView()">
|
||||
<mat-icon *ngIf="displayMode === 'list'" >view_comfy</mat-icon>
|
||||
<mat-icon *ngIf="displayMode === 'list'">view_comfy</mat-icon>
|
||||
<mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
|
||||
<span>{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}</span>
|
||||
</button>
|
||||
@@ -200,8 +211,10 @@
|
||||
</mat-menu>
|
||||
</adf-toolbar>
|
||||
|
||||
<adf-document-list
|
||||
<div class="adf-document-list-container" [ngClass]="{'adf-sticky-document-list': stickyHeader }">
|
||||
<adf-document-list
|
||||
#documentList
|
||||
class="adf-file-list-container"
|
||||
[permissionsStyle]="permissionsStyle"
|
||||
[currentFolderId]="currentFolderId"
|
||||
[contextMenuActions]="true"
|
||||
@@ -216,6 +229,7 @@
|
||||
[sortingMode]="sortingMode"
|
||||
[showHeader]="showHeader"
|
||||
[thumbnails]="thumbnails"
|
||||
[stickyHeader]="stickyHeader"
|
||||
(error)="onNavigationError($event)"
|
||||
(success)="resetError()"
|
||||
(ready)="emitReadyEvent($event)"
|
||||
@@ -224,27 +238,26 @@
|
||||
(permissionError)="handlePermissionError($event)"
|
||||
(name-click)="documentList.onNodeDblClick($event.detail?.node)">
|
||||
<adf-custom-no-permission-template *ngIf="enableCustomPermissionMessage">
|
||||
<h1>You don't have permissions</h1>
|
||||
<h1>You don't have permissions</h1>
|
||||
</adf-custom-no-permission-template>
|
||||
<adf-custom-empty-content-template *ngIf="disableDragArea">
|
||||
<div class="adf-empty_template">
|
||||
<div class="adf-no-result-message">{{ 'SEARCH.NO_RESULT' | translate }}</div>
|
||||
</div>
|
||||
<div class="adf-empty_template">
|
||||
<div class="adf-no-result-message">{{ 'SEARCH.NO_RESULT' | translate }}</div>
|
||||
</div>
|
||||
</adf-custom-empty-content-template>
|
||||
<data-columns>
|
||||
<data-column
|
||||
key="$thumbnail"
|
||||
type="image"
|
||||
[sortable]="false"
|
||||
class="adf-image-table-cell"
|
||||
class="adf-image-table-cell "
|
||||
[class.adf-cell-thumbnail]="thumbnails">
|
||||
</data-column>
|
||||
<data-column
|
||||
*ngIf="showNameColumn && hyperlinkNavigation"
|
||||
key="name"
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
|
||||
[formatTooltip]="getNodeNameTooltip"
|
||||
class="adf-full-width adf-ellipsis-cell">
|
||||
[formatTooltip]="getNodeNameTooltip">
|
||||
<ng-template let-context>
|
||||
<adf-name-column [context]="context"></adf-name-column>
|
||||
</ng-template>
|
||||
@@ -254,7 +267,7 @@
|
||||
key="name"
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
|
||||
[formatTooltip]="getNodeNameTooltip"
|
||||
class="adf-full-width adf-ellipsis-cell">
|
||||
class="adf-ellipsis-cell adf-expand-cell-5">
|
||||
</data-column>
|
||||
<!-- Location column demo -->
|
||||
<!--
|
||||
@@ -268,7 +281,18 @@
|
||||
<data-column
|
||||
key="content.sizeInBytes"
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.SIZE' | translate}}"
|
||||
type="fileSize">
|
||||
type="fileSize"
|
||||
class="adf-desktop-only">
|
||||
</data-column>
|
||||
<data-column
|
||||
*ngIf="searchTerm"
|
||||
key="search"
|
||||
title="Search"
|
||||
class="adf-desktop-only">
|
||||
<ng-template let-entry="$implicit">
|
||||
<div [innerHTML]="searchResultsHighlight(entry.row.node.entry.search) | highlight:searchTerm">
|
||||
</div>
|
||||
</ng-template>
|
||||
</data-column>
|
||||
<!-- Notes: has performance overhead due to multiple files/folders causing separate HTTP calls to get tags -->
|
||||
<!--
|
||||
@@ -282,14 +306,14 @@
|
||||
</data-column>
|
||||
-->
|
||||
<data-column
|
||||
class="adf-full-width adf-ellipsis-cell"
|
||||
class="adf-full-width adf-ellipsis-cell adf-desktop-only"
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.NODE_ID' | translate}}"
|
||||
key="id">
|
||||
</data-column>
|
||||
<data-column
|
||||
class="adf-desktop-only"
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.IS_LOCKED' | translate}}"
|
||||
key="id">
|
||||
key="id"
|
||||
class="adf-desktop-only">
|
||||
<ng-template let-entry="$implicit">
|
||||
<button mat-icon-button [adf-node-lock]="entry.row.node.entry" class="adf-lock-button">
|
||||
<mat-icon *ngIf="entry.row.getValue('isLocked')">lock</mat-icon>
|
||||
@@ -300,14 +324,14 @@
|
||||
<data-column
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.CREATED_BY' | translate}}"
|
||||
key="createdByUser.displayName"
|
||||
class="adf-desktop-only">
|
||||
class="adf-desktop-only adf-ellipsis-cell">
|
||||
</data-column>
|
||||
<data-column
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.CREATED' | translate}}"
|
||||
key="createdAt"
|
||||
type="date"
|
||||
[format]="enableMediumTimeFormat ? 'medium' : 'timeAgo'"
|
||||
class="adf-desktop-only">
|
||||
class="adf-desktop-only adf-ellipsis-cell">
|
||||
</data-column>
|
||||
|
||||
</data-columns>
|
||||
@@ -400,6 +424,7 @@
|
||||
</content-action>
|
||||
</content-actions>
|
||||
</adf-document-list>
|
||||
</div>
|
||||
<adf-pagination
|
||||
#standardPagination
|
||||
*ngIf="!infiniteScrolling"
|
||||
@@ -421,7 +446,7 @@
|
||||
<adf-info-drawer-layout *ngIf="showVersions" class="adf-manage-versions-sidebar" fxFlex="0 0 auto">
|
||||
<div info-drawer-content>
|
||||
|
||||
<adf-info-drawer [title]="'Details'" *ngIf="documentList.selection[0]" >
|
||||
<adf-info-drawer [title]="'Details'" *ngIf="documentList.selection[0]">
|
||||
<adf-info-drawer-tab [label]="'Properties'">
|
||||
<adf-content-metadata-card
|
||||
[node]="documentList.selection[0].entry"
|
||||
@@ -513,7 +538,8 @@
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle id="adf-extension-filter-upload-switch" [color]="'primary'" [(ngModel)]="acceptedFilesTypeShow">
|
||||
<mat-slide-toggle id="adf-extension-filter-upload-switch" [color]="'primary'"
|
||||
[(ngModel)]="acceptedFilesTypeShow">
|
||||
{{'DOCUMENT_LIST.CUSTOM_FILTER' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
@@ -531,13 +557,14 @@
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle id="adf-document-list-enable-drop-files" [color]="'primary'" [(ngModel)]="allowDropFiles" (click)="toggleAllowDropFiles()" >
|
||||
<mat-slide-toggle id="adf-document-list-enable-drop-files" [color]="'primary'" [(ngModel)]="allowDropFiles"
|
||||
(click)="toggleAllowDropFiles()">
|
||||
{{'DOCUMENT_LIST.ALLOW_DROP_FILES' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle id="adf-version-upload-switch" [color]="'primary'" [(ngModel)]="versioning">
|
||||
<mat-slide-toggle id="adf-version-upload-switch" [color]="'primary'" [(ngModel)]="versioning">
|
||||
{{'DOCUMENT_LIST.ENABLE_VERSIONING' | translate}}
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
@@ -585,6 +612,12 @@
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<mat-slide-toggle
|
||||
color="primary" [(ngModel)]="stickyHeader" id="stickyHeader">
|
||||
Sticky Header
|
||||
</mat-slide-toggle>
|
||||
</section>
|
||||
|
||||
<h5>Upload</h5>
|
||||
<section *ngIf="acceptedFilesTypeShow">
|
||||
@@ -655,4 +688,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<adf-file-uploading-dialog #fileDialog (error)="openSnackMessage($event)" ></adf-file-uploading-dialog>
|
||||
<adf-file-uploading-dialog #fileDialog (error)="openSnackMessage($event)"></adf-file-uploading-dialog>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@mixin adf-file-component-theme($theme) {
|
||||
$minimumDocumentListWidth: 900px;
|
||||
$foreground: map-get($theme, foreground);
|
||||
|
||||
|
||||
.adf-container {
|
||||
margin: 10px !important;
|
||||
}
|
||||
@@ -38,9 +38,21 @@
|
||||
|
||||
adf-document-list ::ng-deep .adf-datatable-selected > svg {
|
||||
fill: #00bcd4 !important;
|
||||
margin-top: -4px;
|
||||
margin-left: -4px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.adf-data-table-card .adf-lock-button {
|
||||
.adf-document-list-container {
|
||||
min-height: 400px;
|
||||
|
||||
.adf-datatable-list {
|
||||
min-height: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
.adf-datatable-card .adf-lock-button {
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
@@ -59,10 +71,6 @@
|
||||
.adf-toolbar-title {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
||||
.adf-breadcrumb {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,46 +136,115 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-device-width: $minimumDocumentListWidth) {
|
||||
adf-document-list .adf-data-table {
|
||||
.adf-data-table-cell,
|
||||
.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;
|
||||
}
|
||||
@media all {
|
||||
.adf-isLocked-column {
|
||||
max-width: 30px !important;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.adf-site-container-style {
|
||||
width: 100%;
|
||||
display: block;
|
||||
|
||||
& ::ng-deep .adf-site-dropdown-list-element {
|
||||
width: 100%;
|
||||
}
|
||||
.adf-folder-image-column {
|
||||
max-width: 28px!important;
|
||||
}
|
||||
}
|
||||
|
||||
adf-file-uploading-dialog ::ng-deep .adf-upload-dialog {
|
||||
width: 80%;
|
||||
@media (max-width: 768px) {
|
||||
.adf-createdOn-column {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
& ::ng-deep adf-file-uploading-list ::ng-deep adf-file-uploading-list-row
|
||||
.adf-file-uploading-row__group {
|
||||
min-width: 0;
|
||||
@media (max-width: 500px) {
|
||||
.adf-datatable-list {
|
||||
.adf {
|
||||
|
||||
&-display-name-column {
|
||||
max-width: 50% !important;
|
||||
}
|
||||
&-size-column {
|
||||
display: none !important;
|
||||
}
|
||||
&-createdBy-column {
|
||||
max-width: 45% !important;
|
||||
}
|
||||
&-nodeId-column {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-device-width: 1024px) {
|
||||
adf-document-list .adf-data-table {
|
||||
@media (max-width: 600px) {
|
||||
.adf-datatable-list {
|
||||
.adf {
|
||||
&-display-name-column {
|
||||
max-width: 35%;
|
||||
}
|
||||
&-size-column {
|
||||
max-width: 8%;
|
||||
}
|
||||
&-createdBy-column {
|
||||
max-width: 35%;
|
||||
}
|
||||
&-createdOn-column {
|
||||
max-width: 15%;
|
||||
}
|
||||
&-nodeId-column {
|
||||
max-width: 10%;
|
||||
}
|
||||
&-isLocked-column {
|
||||
display: none!important;
|
||||
}
|
||||
&-standard-breadcrumb {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.adf-data-table-cell:nth-child(5),
|
||||
.adf-datatable-table-cell-header:nth-child(5) {
|
||||
display: none;
|
||||
@media (min-width: 601px) {
|
||||
.adf-datatable-list {
|
||||
.adf {
|
||||
|
||||
&-display-name-column {
|
||||
max-width: 30%;
|
||||
}
|
||||
&-size-column {
|
||||
max-width: 10%;
|
||||
}
|
||||
&-createdBy-column {
|
||||
max-width: 30%;
|
||||
}
|
||||
&-createdOn-column {
|
||||
max-width: 15%;
|
||||
}
|
||||
&-nodeId-column {
|
||||
max-width: 12%;
|
||||
}
|
||||
&-alternate-breadcrumb {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1400px) {
|
||||
.adf-datatable-list {
|
||||
.adf {
|
||||
&-display-name-column {
|
||||
max-width: 40%;
|
||||
}
|
||||
&-size-column {
|
||||
max-width: 15%;
|
||||
}
|
||||
&-createdBy-column {
|
||||
max-width: 20%;
|
||||
}
|
||||
&-createdOn-column {
|
||||
max-width: 20%;
|
||||
}
|
||||
&-nodeId-column {
|
||||
max-width: 20%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ import {
|
||||
AlfrescoApiService, AuthenticationService, AppConfigService, AppConfigValues, ContentService, TranslationService,
|
||||
FileUploadEvent, FolderCreatedEvent, LogService, NotificationService,
|
||||
UploadService, DataColumn, DataRow, UserPreferencesService,
|
||||
PaginationComponent, FormValues, DisplayMode, InfinitePaginationComponent
|
||||
PaginationComponent, FormValues, DisplayMode, InfinitePaginationComponent, HighlightDirective
|
||||
} from '@alfresco/adf-core';
|
||||
|
||||
import {
|
||||
@@ -46,6 +46,7 @@ import { MetadataDialogAdapterComponent } from './metadata-dialog-adapter.compon
|
||||
import { Subscription } from 'rxjs';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { debounceTime } from 'rxjs/operators';
|
||||
import { SearchEntry } from '@alfresco/js-api';
|
||||
|
||||
const DEFAULT_FOLDER_TO_SHOW = '-my-';
|
||||
|
||||
@@ -150,6 +151,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
@Input()
|
||||
showNameColumn = true;
|
||||
|
||||
@Input()
|
||||
searchTerm = '';
|
||||
|
||||
@Output()
|
||||
documentListReady: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
@@ -180,8 +184,12 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
@ViewChild(InfinitePaginationComponent)
|
||||
infinitePaginationComponent: InfinitePaginationComponent;
|
||||
|
||||
@ViewChild(HighlightDirective)
|
||||
highlighter: HighlightDirective;
|
||||
|
||||
permissionsStyle: PermissionStyleModel[] = [];
|
||||
infiniteScrolling: boolean;
|
||||
stickyHeader: boolean;
|
||||
warnOnMultipleUploads = false;
|
||||
thumbnails = false;
|
||||
enableCustomPermissionMessage = false;
|
||||
@@ -581,4 +589,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
searchResultsHighlight(search: SearchEntry): string {
|
||||
if (search && search.highlight) {
|
||||
return search.highlight.map((currentHighlight) => currentHighlight.snippets).join(', ');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,8 +16,7 @@
|
||||
*/
|
||||
|
||||
import { Component, ViewChild } from '@angular/core';
|
||||
import { FormComponent, FormModel, FormService, LogService } from '@alfresco/adf-core';
|
||||
import { FormOutcomeEvent } from '../../../../../lib/core/form/components/widgets/core';
|
||||
import { FormComponent, FormModel, FormService, LogService, FormOutcomeEvent } from '@alfresco/adf-core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-form-list',
|
||||
|
||||
@@ -23,7 +23,7 @@ import { CoreModule } from '@alfresco/adf-core';
|
||||
describe('HomeComponent', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CoreModule],
|
||||
imports: [CoreModule.forRoot()],
|
||||
declarations: [HomeComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<header class="adf-logout-background">
|
||||
<div class="adf-logout-section">
|
||||
<div class="adf-logout-section" data-automation-id="adf-logout-section">
|
||||
<div class="adf-logout-headline">
|
||||
<h1>{{ 'APP.LOGOUT.TITLE' | translate}}</h1>
|
||||
<h2>{{ 'APP.LOGOUT.SUB_TITLE' | translate}}</h2>
|
||||
|
||||
@@ -63,17 +63,15 @@ export class DemoPermissionComponent implements OnInit {
|
||||
}
|
||||
|
||||
openAddPermissionDialog(event: Event) {
|
||||
this.nodePermissionDialogService.updateNodePermissionByDialog(this.nodeId).subscribe(() => {
|
||||
this.displayPermissionComponent.reload();
|
||||
},
|
||||
(error) => {
|
||||
this.showErrorMessage(error);
|
||||
});
|
||||
this.nodePermissionDialogService.updateNodePermissionByDialog(this.nodeId).subscribe(
|
||||
() => this.displayPermissionComponent.reload(),
|
||||
(error) => this.showErrorMessage(error));
|
||||
}
|
||||
|
||||
showErrorMessage(error) {
|
||||
const message = error.message ? error.message : error;
|
||||
this.notificationService.openSnackMessage(
|
||||
error,
|
||||
message,
|
||||
4000
|
||||
);
|
||||
}
|
||||
|
||||
@@ -71,23 +71,23 @@
|
||||
}
|
||||
|
||||
.adf-list {
|
||||
.adf-data-table {
|
||||
.adf-datatable-list {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.adf-data-table tr,
|
||||
.adf-data-table td {
|
||||
.adf-datatable tr,
|
||||
.adf-datatable td {
|
||||
height: 36px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.adf-data-table td {
|
||||
.adf-datatable td {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.adf-data-table th {
|
||||
.adf-datatable th {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
height: 40px;
|
||||
|
||||
@@ -419,7 +419,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
|
||||
}
|
||||
|
||||
relocateLocationToTask(): void {
|
||||
this.location.go(`/activiti/apps/${this.appId || 0}/tasks/${this.taskFilter.id}`);
|
||||
this.location.go(`/activiti/apps/${this.appId || 0}/tasks/${this.taskFilter ? this.taskFilter.id : 0}`);
|
||||
}
|
||||
|
||||
relocateLocationToReport(): void {
|
||||
@@ -484,7 +484,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
|
||||
name: event.value.name || 'No name',
|
||||
created: event.value.created
|
||||
};
|
||||
this.activitiFilter.selectFilter(null);
|
||||
|
||||
if (this.taskList) {
|
||||
this.taskList.setCustomDataSource([processTaskDataRow]);
|
||||
this.taskList.selectTask(taskId);
|
||||
|
||||
@@ -22,10 +22,9 @@ import {
|
||||
TaskDetailsModel,
|
||||
TaskUploadService
|
||||
} from '@alfresco/adf-process-services';
|
||||
import { UploadService, AlfrescoApiService, AppConfigService } from '@alfresco/adf-core';
|
||||
import { UploadService, AlfrescoApiService, AppConfigService, FileUploadCompleteEvent } from '@alfresco/adf-core';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { FileUploadCompleteEvent } from '../../../../../lib/core/events/file.event';
|
||||
|
||||
export function taskUploadServiceFactory(api: AlfrescoApiService, config: AppConfigService) {
|
||||
return new TaskUploadService(api, config);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="adf-search-results__facets">
|
||||
<adf-search-chip-list [searchFilter]="searchFilter"></adf-search-chip-list>
|
||||
<adf-search-chip-list [searchFilter]="searchFilter" [clearAll]="true"></adf-search-chip-list>
|
||||
</div>
|
||||
|
||||
<div class="adf-search-results">
|
||||
@@ -21,6 +21,7 @@
|
||||
[nodeResult]="data"
|
||||
[disableDragArea]="true"
|
||||
[pagination]="pagination"
|
||||
[searchTerm]="searchedWord"
|
||||
(changedPageSize)="onRefreshPagination($event)"
|
||||
(changedPageNumber)="onRefreshPagination($event)"
|
||||
(turnedNextPage)="onRefreshPagination($event)"
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<h1>Select Site</h1>
|
||||
<adf-sites-dropdown (change)="onSiteChange($event)" [relations]="'members'">
|
||||
</adf-sites-dropdown>
|
||||
|
||||
Current Selected Site {{currentSelectedSite}}
|
||||
|
||||
|
||||
<h1>Hide My Files</h1>
|
||||
<adf-sites-dropdown [hideMyFiles]="true" [relations]="'members'">
|
||||
</adf-sites-dropdown>
|
||||
|
||||
|
||||
<h1>Select Default Site</h1>
|
||||
|
||||
<section>
|
||||
<mat-form-field>
|
||||
<label>Insert a Default site ID</label>
|
||||
<input matInput [(ngModel)]="defaultSite">
|
||||
</mat-form-field>
|
||||
</section>
|
||||
<button (click)="applySite()" mat-button color="primary">Apply</button>
|
||||
|
||||
<div *ngIf="showDefaultSite">
|
||||
<adf-sites-dropdown [relations]="'members'" [value]="defaultSite">
|
||||
</adf-sites-dropdown>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 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-sites',
|
||||
templateUrl: 'sites.component.html',
|
||||
styleUrls: ['sites.component.scss']
|
||||
})
|
||||
export class SitesComponent {
|
||||
|
||||
currentSelectedSite: string;
|
||||
hideMyFiles: boolean = false;
|
||||
showDefaultSite: boolean = false;
|
||||
defaultSite: string;
|
||||
|
||||
onSiteChange($event: any) {
|
||||
this.currentSelectedSite = JSON.stringify($event.entry);
|
||||
}
|
||||
|
||||
applySite() {
|
||||
this.showDefaultSite = true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 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 { SitesComponent } from './sites.component';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { ContentModule } from '@alfresco/adf-content-services';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: SitesComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterModule.forChild(routes),
|
||||
CoreModule.forChild(),
|
||||
ContentModule.forChild()
|
||||
],
|
||||
declarations: [SitesComponent]
|
||||
})
|
||||
export class SitesModule {}
|
||||
@@ -169,8 +169,16 @@
|
||||
</data-column>
|
||||
<data-column key="name" title="Name"></data-column>
|
||||
<data-column key="description" title="Description"></data-column>
|
||||
<data-column key="created" title="Created"></data-column>
|
||||
<data-column key="dueDate" title="Due Date"></data-column>
|
||||
<data-column key="created" title="Created">
|
||||
<ng-template let-entry="$implicit">
|
||||
<div>{{entry.row.obj.created | date:'MMM d, yyyy' }} </div>
|
||||
</ng-template>
|
||||
</data-column>
|
||||
<data-column key="dueDate" title="Due Date" type="date">
|
||||
<ng-template let-entry="$implicit">
|
||||
<div>{{entry.row.obj.dueDate | date:'MMM d, yyyy' }} </div>
|
||||
</ng-template>
|
||||
</data-column>
|
||||
<data-column key="processInstanceId" title="Process Instance Id"></data-column>
|
||||
<data-column key="processDefinitionId" title="Process Definition Id"></data-column>
|
||||
</data-columns>
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
<adf-empty-content
|
||||
icon="delete"
|
||||
[title]="'TRASHCAN.EMPTY_STATE.TITLE'">
|
||||
<p class="adf-empty-content__text">{{ 'TRASHCAN.EMPTY_STATE.FIRST_TEXT' | translate }}</p>
|
||||
<p class="adf-empty-content__text">{{ 'TRASHCAN.EMPTY_STATE.SECOND_TEXT' | translate }}</p>
|
||||
<div class="adf-empty-content__text">{{ 'TRASHCAN.EMPTY_STATE.FIRST_TEXT' | translate }}</div>
|
||||
<div class="adf-empty-content__text">{{ 'TRASHCAN.EMPTY_STATE.SECOND_TEXT' | translate }}</div>
|
||||
</adf-empty-content>
|
||||
</adf-custom-empty-content-template>
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
</data-column>
|
||||
|
||||
<data-column
|
||||
class="adf-data-table-cell--ellipsis__name"
|
||||
class="adf-datatable-cell--ellipsis__name"
|
||||
key="name"
|
||||
title="DOCUMENT_LIST.COLUMNS.DISPLAY_NAME">
|
||||
<ng-template let-value="value" let-context>
|
||||
@@ -80,7 +80,7 @@
|
||||
</data-column>
|
||||
|
||||
<data-column
|
||||
class="adf-data-table-cell--ellipsis"
|
||||
class="adf-datatable-cell--ellipsis"
|
||||
key="archivedByUser.displayName"
|
||||
title="DOCUMENT_LIST.COLUMNS.DELETED_BY">
|
||||
</data-column>
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 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, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { AppExtensionService } from './extension.service';
|
||||
import { ExtensionsModule } from '@alfresco/adf-extensions';
|
||||
|
||||
export function setupExtensions(service: AppExtensionService): Function {
|
||||
return () => service.load();
|
||||
}
|
||||
|
||||
@NgModule({
|
||||
imports: [CommonModule, CoreModule.forChild(), ExtensionsModule]
|
||||
})
|
||||
export class AppExtensionsModule {
|
||||
static forRoot(): ModuleWithProviders {
|
||||
return {
|
||||
ngModule: AppExtensionsModule,
|
||||
providers: [
|
||||
{
|
||||
provide: APP_INITIALIZER,
|
||||
useFactory: setupExtensions,
|
||||
deps: [AppExtensionService],
|
||||
multi: true
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
static forChild(): ModuleWithProviders {
|
||||
return {
|
||||
ngModule: AppExtensionsModule
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,9 @@
|
||||
{
|
||||
"$schema": "./extension.schema.json",
|
||||
"$id": "app.1.0.0",
|
||||
"$name": "app",
|
||||
"$version": "1.0.0",
|
||||
"$vendor": "Alfresco",
|
||||
"$license": "Apache-2.0",
|
||||
"$runtime": "2.7.0",
|
||||
"$description": "base application extensions",
|
||||
"$schema": "../../lib/extensions/config/schema/app-extension.schema.json",
|
||||
"$references": [
|
||||
"plugin1.json",
|
||||
"plugin2.json"
|
||||
"plugin2.json",
|
||||
"monaco-extension.json"
|
||||
],
|
||||
"$dependencies": []
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"$schema": "../../../lib/extensions/config/schema/plugin-extension.schema.json",
|
||||
"$version": "1.0.0",
|
||||
"$name": "monaco extension",
|
||||
"$description": "monaco plugin",
|
||||
"features": {
|
||||
"viewer": {
|
||||
"content": [
|
||||
{
|
||||
"id": "dev.tools.viewer",
|
||||
"fileExtension": "js",
|
||||
"component": "monaco-extension.main.component"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"$schema": "../extension.schema.json",
|
||||
"$id": "plugin1.1.0.0",
|
||||
"$schema": "../../../lib/extensions/config/schema/plugin-extension.schema.json",
|
||||
"$name": "plugin1",
|
||||
"$version": "1.0.0",
|
||||
"$vendor": "Alfresco",
|
||||
"$license": "Apache-2.0",
|
||||
"$runtime": "2.7.0",
|
||||
"$description": "example plugin",
|
||||
"$dependencies": [
|
||||
"@some/library1"
|
||||
],
|
||||
|
||||
"features": {
|
||||
"custom": {
|
||||
"key": "value"
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"$schema": "../extension.schema.json",
|
||||
"$id": "plugin2.1.1.0",
|
||||
"$schema": "../../../lib/extensions/config/schema/plugin-extension.schema.json",
|
||||
"$name": "plugin2",
|
||||
"$version": "1.1.0",
|
||||
"$vendor": "Alfresco",
|
||||
"$license": "Apache-2.0",
|
||||
"$runtime": "2.7.0",
|
||||
"$description": "another example plugin",
|
||||
"$dependencies": [
|
||||
"@some/library2"
|
||||
],
|
||||
|
||||
"features": {
|
||||
"extra": {
|
||||
"key": "value"
|
||||
|
||||
@@ -4,27 +4,7 @@
|
||||
"outDir": "../out-tsc/app",
|
||||
"module": "es2015",
|
||||
"baseUrl": ".",
|
||||
"types": [],
|
||||
"paths": {
|
||||
"@alfresco/adf-extensions": [
|
||||
"../../lib/extensions"
|
||||
],
|
||||
"@alfresco/adf-core": [
|
||||
"../../lib/core"
|
||||
],
|
||||
"@alfresco/adf-process-services-cloud": [
|
||||
"../../lib/process-services-cloud"
|
||||
],
|
||||
"@alfresco/adf-content-services": [
|
||||
"../../lib/content-services"
|
||||
],
|
||||
"@alfresco/adf-process-services": [
|
||||
"../../lib/process-services"
|
||||
],
|
||||
"@alfresco/adf-insights": [
|
||||
"../../lib/insights"
|
||||
]
|
||||
}
|
||||
"types": []
|
||||
},
|
||||
"exclude": [
|
||||
"test.ts",
|
||||
|
||||
@@ -34,6 +34,9 @@
|
||||
],
|
||||
"@alfresco/adf-process-services-cloud": [
|
||||
"../../lib/process-services-cloud"
|
||||
],
|
||||
"@alfresco/adf-testing": [
|
||||
"../../lib/testing"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -n "${APP_CONFIG_AUTH_TYPE}" ];then
|
||||
sed -e "s/\"authType\": \".*\"/\"authType\": \"${APP_CONFIG_AUTH_TYPE}\"/g" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
if [ -n "${APP_CONFIG_OAUTH2_HOST}" ];then
|
||||
replace="\/"
|
||||
encoded=${APP_CONFIG_OAUTH2_HOST//\//$replace}
|
||||
sed -e "s/\"host\": \".*\"/\"host\": \"${encoded}\"/g" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
if [ -n "${APP_CONFIG_OAUTH2_CLIENTID}" ];then
|
||||
sed -e "s/\"clientId\": \".*\"/\"clientId\": \"${APP_CONFIG_OAUTH2_CLIENTID}\"/g" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
if [ -n "${APP_CONFIG_OAUTH2_IMPLICIT_FLOW}" ];then
|
||||
sed "/implicitFlow/s/true/${APP_CONFIG_OAUTH2_IMPLICIT_FLOW}/" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
if [ -n "${APP_CONFIG_OAUTH2_SILENT_LOGIN}" ];then
|
||||
sed "/silentLogin/s/true/${APP_CONFIG_OAUTH2_SILENT_LOGIN}/" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
if [ -n "${APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI}" ];then
|
||||
replace="\/"
|
||||
encoded=${APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI//\//$replace}
|
||||
sed -e "s/\"redirectSilentIframeUri\": \".*\"/\"redirectSilentIframeUri\": \"${encoded}\"/g" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
if [ -n "${APP_CONFIG_OAUTH2_REDIRECT_LOGIN}" ];then
|
||||
replace="\/"
|
||||
encoded=${APP_CONFIG_OAUTH2_REDIRECT_LOGIN//\//$replace}
|
||||
sed -e "s/\"redirectUri\": \".*\"/\"redirectUri\": \"${encoded}\"/g" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
if [ -n "${APP_CONFIG_OAUTH2_REDIRECT_LOGOUT}" ];then
|
||||
replace="\/"
|
||||
encoded=${APP_CONFIG_OAUTH2_REDIRECT_LOGOUT//\//$replace}
|
||||
sed -e "s/\"redirectUriLogout\": \".*\"/\"redirectUriLogout\": \"${encoded}\"/g" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
if [[ $ACSURL ]]; then
|
||||
sed -i s%{protocol}//{hostname}{:port}%"$ACSURL"%g /usr/share/nginx/html/app.config.json
|
||||
fi
|
||||
|
||||
if [ -n "${APP_BASE_SHARE_URL}" ];then
|
||||
sed -e "s/\"baseShareUrl\": \".*\"/\"baseShareUrl\": \"${APP_BASE_SHARE_URL}\"/g" \
|
||||
-i ./app.config.json
|
||||
fi
|
||||
|
||||
nginx -g "daemon off;"
|
||||
@@ -6,7 +6,7 @@ events {
|
||||
|
||||
http {
|
||||
server {
|
||||
listen 80;
|
||||
listen 8080;
|
||||
server_name localhost;
|
||||
|
||||
root /usr/share/nginx/html;
|
||||
@@ -22,6 +22,12 @@ http {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
location ~ \.html$ {
|
||||
add_header Cache-Control "private, no-cache, no-store, must-revalidate";
|
||||
add_header Expires "Sat, 01 Jan 2000 00:00:00 GMT";
|
||||
add_header Pragma no-cache;
|
||||
}
|
||||
|
||||
location ~ ^/[a-zA-Z0-9_-]+/ {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
+273
-254
@@ -36,6 +36,9 @@ A few other pages of information are also available:
|
||||
contains a preview of features we hope to release in future versions of ADF.
|
||||
- The [License info](license-info/license-info-v3.0.0.md) section lists the third-party
|
||||
libraries used by ADF along with links to their Open Source licenses.
|
||||
- The [Breaking changes](breaking-changes/breaking-change-2.6.0-3.0.0.md) section lists
|
||||
all breaking changes between major versions, such as removal of deprecated items.
|
||||
- The [Upgrade guide](upgrade-guide/upgrade26-30.md) explains how to upgrade your project from an earlier version of ADF to the current version.
|
||||
|
||||
## Contents
|
||||
|
||||
@@ -72,146 +75,151 @@ for more information about installing and using the source code.
|
||||
|
||||
<!--core start-->
|
||||
|
||||
## Components
|
||||
### Components
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [About component](core/about.component.md)  | Shows a general version and status overview of the installed ADF library. | [Source](../lib/core/about/about.component.ts) |
|
||||
| [Buttons menu component](core/buttons-menu.component.md) | Displays buttons on a responsive menu. | [Source](../lib/core/buttons-menu/buttons-menu.component.ts) |
|
||||
| [Card view component](core/card-view.component.md) | Displays a configurable property list renderer. | [Source](../lib/core/card-view/components/card-view/card-view.component.ts) |
|
||||
| [Comment list component](core/comment-list.component.md) | Shows a list of comments. | [Source](../lib/core/comments/comment-list.component.ts) |
|
||||
| [Comments component](core/comments.component.md) | Displays comments from users involved in a specified task or content and allows an involved user to add a comment to a task or a content. | [Source](../lib/core/comments/comments.component.ts) |
|
||||
| [Data column component](core/data-column.component.md) | Defines column properties for DataTable, Tasklist, Document List and other components. | [Source](../lib/core/data-column/data-column.component.ts) |
|
||||
| [Datatable component](core/datatable.component.md) | Displays data as a table with customizable columns and presentation. | [Source](../lib/core/datatable/components/datatable/datatable.component.ts) |
|
||||
| [Empty list component](core/empty-list.component.md) | Displays a message indicating that a list is empty. | [Source](../lib/core/datatable/components/datatable/empty-list.component.ts) |
|
||||
| [Form field component](core/form-field.component.md) | Represents a UI field in a form. | [Source](../lib/core/form/components/form-field/form-field.component.ts) |
|
||||
| [Form list component](core/form-list.component.md) | Shows forms as a list. | [Source](../lib/core/form/components/form-list.component.ts) |
|
||||
| [Form component](core/form.component.md) | Shows a Form from APS | [Source](../lib/core/form/components/form.component.ts) |
|
||||
| [Start form component](core/start-form.component.md) | Displays the Start Form for a process. | [Source](../lib/core/form/components/start-form.component.ts) |
|
||||
| [Text mask component](core/text-mask.component.md) | Implements text field input masks. | [Source](../lib/core/form/components/widgets/text/text-mask.component.ts) |
|
||||
| [Icon component](core/icon.component.md) | Provides a universal way of rendering registered and named icons. | [Source](../lib/core/icon/icon.component.ts) |
|
||||
| [Info drawer layout component](core/info-drawer-layout.component.md) | Displays a sidebar-style information panel. | [Source](../lib/core/info-drawer/info-drawer-layout.component.ts) |
|
||||
| [Info drawer component](core/info-drawer.component.md) | Displays a sidebar-style information panel with tabs. | [Source](../lib/core/info-drawer/info-drawer.component.ts) |
|
||||
| [Language menu component](core/language-menu.component.md) | Displays all the languages that are present in "app.config.json" and the default (EN). | [Source](../lib/core/language-menu/language-menu.component.ts) |
|
||||
| [Header component](core/header.component.md) | Reusable header for Alfresco applications. | [Source](../lib/core/layout/components/header/header.component.ts) |
|
||||
| [Sidebar action menu component](core/sidebar-action-menu.component.md) | Displays a sidebar-action menu information panel. | [Source](../lib/core/layout/components/sidebar-action/sidebar-action-menu.component.ts) |
|
||||
| [Sidenav layout component](core/sidenav-layout.component.md) | Displays the standard three-region ADF application layout. | [Source](../lib/core/layout/components/sidenav-layout/sidenav-layout.component.ts) |
|
||||
| [Login dialog panel component](core/login-dialog-panel.component.md) | Shows and manages a login dialog. | [Source](../lib/core/login/components/login-dialog-panel.component.ts) |
|
||||
| [Login dialog component](core/login-dialog.component.md) | Allows a user to perform a login via a dialog. | [Source](../lib/core/login/components/login-dialog.component.ts) |
|
||||
| [Login component](core/login.component.md) | Authenticates to Alfresco Content Services and Alfresco Process Services. | [Source](../lib/core/login/components/login.component.ts) |
|
||||
| [Infinite pagination component](core/infinite-pagination.component.md) | Adds "infinite" pagination to the component it is used with. | [Source](../lib/core/pagination/infinite-pagination.component.ts) |
|
||||
| [Pagination component](core/pagination.component.md) | Adds pagination to the component it is used with. | [Source](../lib/core/pagination/pagination.component.ts) |
|
||||
| [Host settings component](core/host-settings.component.md)  | Validates the URLs for ACS and APS and saves them in the user's local storage | [Source](../lib/core/settings/host-settings.component.ts) |
|
||||
| [Sorting picker component](core/sorting-picker.component.md) | Selects from a set of predefined sorting definitions and directions. | [Source](../lib/core/sorting-picker/sorting-picker.component.ts) |
|
||||
| [Empty content component](core/empty-content.component.md) | Provides a generic "Empty Content" placeholder for components. | [Source](../lib/core/templates/empty-content/empty-content.component.ts) |
|
||||
| [Error content component](core/error-content.component.md) | Displays info about a specific error. | [Source](../lib/core/templates/error-content/error-content.component.ts) |
|
||||
| [Toolbar divider component](core/toolbar-divider.component.md) | Divides groups of elements in a Toolbar with a visual separator. | [Source](../lib/core/toolbar/toolbar-divider.component.ts) |
|
||||
| [Toolbar title component](core/toolbar-title.component.md) | Supplies custom HTML to be included in a Toolbar component title. | [Source](../lib/core/toolbar/toolbar-title.component.ts) |
|
||||
| [Toolbar component](core/toolbar.component.md) | Simple container for headers, titles, actions and breadcrumbs. | [Source](../lib/core/toolbar/toolbar.component.ts) |
|
||||
| [User info component](core/user-info.component.md) | Shows user information. | [Source](../lib/core/userinfo/components/user-info.component.ts) |
|
||||
| [Viewer component](core/viewer.component.md) | Displays content from an ACS repository. | [Source](../lib/core/viewer/components/viewer.component.ts) |
|
||||
| [About Component](core/components/about.component.md)  | Shows a general version and status overview of the installed ADF library. | [Source](../lib/core/about/about.component.ts) |
|
||||
| [Buttons Menu Component](core/components/buttons-menu.component.md) | Displays buttons on a responsive menu. | [Source](../lib/core/buttons-menu/buttons-menu.component.ts) |
|
||||
| [Card View component](core/components/card-view.component.md) | Displays a configurable property list renderer. | [Source](../lib/core/card-view/components/card-view/card-view.component.ts) |
|
||||
| [Comment list component](core/components/comment-list.component.md) | Shows a list of comments. | [Source](../lib/core/comments/comment-list.component.ts) |
|
||||
| [Comments Component](core/components/comments.component.md) | Displays comments from users involved in a specified task or content and allows an involved user to add a comment to a task or a content. | [Source](../lib/core/comments/comments.component.ts) |
|
||||
| [Data Column Component](core/components/data-column.component.md) | Defines column properties for DataTable, Tasklist, Document List and other components. | [Source](../lib/core/data-column/data-column.component.ts) |
|
||||
| [DataTable component](core/components/datatable.component.md) | Displays data as a table with customizable columns and presentation. | [Source](../lib/core/datatable/components/datatable/datatable.component.ts) |
|
||||
| [Empty Content Component](core/components/empty-content.component.md) | Provides a generic "Empty Content" placeholder for components. | [Source](../lib/core/templates/empty-content/empty-content.component.ts) |
|
||||
| [Empty list component](core/components/empty-list.component.md) | Displays a message indicating that a list is empty. | [Source](../lib/core/datatable/components/datatable/empty-list.component.ts) |
|
||||
| [Error Content Component](core/components/error-content.component.md) | Displays info about a specific error. | [Source](../lib/core/templates/error-content/error-content.component.ts) |
|
||||
| [Form field component](core/components/form-field.component.md) | Represents a UI field in a form. | [Source](../lib/core/form/components/form-field/form-field.component.ts) |
|
||||
| [Form List Component](core/components/form-list.component.md) | Shows forms as a list. | [Source](../lib/core/form/components/form-list.component.ts) |
|
||||
| [Form component](core/components/form.component.md) | Shows a Form from APS | [Source](../lib/core/form/components/form.component.ts) |
|
||||
| [Header component](core/components/header.component.md) | Reusable header for Alfresco applications. | [Source](../lib/core/layout/components/header/header.component.ts) |
|
||||
| [Host settings component](core/components/host-settings.component.md)  | Validates the URLs for ACS and APS and saves them in the user's local storage | [Source](../lib/core/settings/host-settings.component.ts) |
|
||||
| [Icon Component](core/components/icon.component.md) | Provides a universal way of rendering registered and named icons. | [Source](../lib/core/icon/icon.component.ts) |
|
||||
| [Infinite Pagination component](core/components/infinite-pagination.component.md) | Adds "infinite" pagination to the component it is used with. | [Source](../lib/core/pagination/infinite-pagination.component.ts) |
|
||||
| [Info drawer layout component](core/components/info-drawer-layout.component.md) | Displays a sidebar-style information panel. | [Source](../lib/core/info-drawer/info-drawer-layout.component.ts) |
|
||||
| [Info Drawer Tab component](core/components/info-drawer-tab.component.md) | Renders tabs in a Info drawer component. | [Source](../lib/core/info-drawer/info-drawer.component.ts) |
|
||||
| [Info Drawer component](core/components/info-drawer.component.md) | Displays a sidebar-style information panel with tabs. | [Source](../lib/core/info-drawer/info-drawer.component.ts) |
|
||||
| [Language Menu component](core/components/language-menu.component.md) | Displays all the languages that are present in "app.config.json" and the default (EN). | [Source](../lib/core/language-menu/language-menu.component.ts) |
|
||||
| [Login Dialog Panel component](core/components/login-dialog-panel.component.md) | Shows and manages a login dialog. | [Source](../lib/core/login/components/login-dialog-panel.component.ts) |
|
||||
| [Login Dialog component](core/components/login-dialog.component.md) | Allows a user to perform a login via a dialog. | [Source](../lib/core/login/components/login-dialog.component.ts) |
|
||||
| [Login component](core/components/login.component.md) | Authenticates to Alfresco Content Services and Alfresco Process Services. | [Source](../lib/core/login/components/login.component.ts) |
|
||||
| [Pagination Component](core/components/pagination.component.md) | Adds pagination to the component it is used with. | [Source](../lib/core/pagination/pagination.component.ts) |
|
||||
| [Sidebar action menu component](core/components/sidebar-action-menu.component.md) | Displays a sidebar-action menu information panel. | [Source](../lib/core/layout/components/sidebar-action/sidebar-action-menu.component.ts) |
|
||||
| [Sidenav Layout component](core/components/sidenav-layout.component.md) | Displays the standard three-region ADF application layout. | [Source](../lib/core/layout/components/sidenav-layout/sidenav-layout.component.ts) |
|
||||
| [Sorting Picker Component](core/components/sorting-picker.component.md) | Selects from a set of predefined sorting definitions and directions. | [Source](../lib/core/sorting-picker/sorting-picker.component.ts) |
|
||||
| [Start Form component](core/components/start-form.component.md) | Displays the Start Form for a process. | [Source](../lib/core/form/components/start-form.component.ts) |
|
||||
| [Text Mask directive](core/components/text-mask.component.md) | Implements text field input masks. | [Source](../lib/core/form/components/widgets/text/text-mask.component.ts) |
|
||||
| [Toolbar Divider Component](core/components/toolbar-divider.component.md) | Divides groups of elements in a Toolbar with a visual separator. | [Source](../lib/core/toolbar/toolbar-divider.component.ts) |
|
||||
| [Toolbar Title Component](core/components/toolbar-title.component.md) | Supplies custom HTML to be included in a Toolbar component title. | [Source](../lib/core/toolbar/toolbar-title.component.ts) |
|
||||
| [Toolbar Component](core/components/toolbar.component.md) | Simple container for headers, titles, actions and breadcrumbs. | [Source](../lib/core/toolbar/toolbar.component.ts) |
|
||||
| [User Info component](core/components/user-info.component.md) | Shows user information. | [Source](../lib/core/userinfo/components/user-info.component.ts) |
|
||||
| [Viewer component](core/components/viewer.component.md) | Displays content from an ACS repository. | [Source](../lib/core/viewer/components/viewer.component.ts) |
|
||||
|
||||
## Directives
|
||||
### Directives
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Context menu directive](core/context-menu.directive.md) | Adds a context menu to a component. | [Source](../lib/core/context-menu/context-menu.directive.ts) |
|
||||
| [Highlight directive](core/highlight.directive.md) | Adds highlighting to selected sections of an HTML element's content. | [Source](../lib/core/directives/highlight.directive.ts) |
|
||||
| [Logout directive](core/logout.directive.md) | Logs the user out when the decorated element is clicked. | [Source](../lib/core/directives/logout.directive.ts) |
|
||||
| [Node delete directive](core/node-delete.directive.md) | Deletes multiple files and folders. | [Source](../lib/core/directives/node-delete.directive.ts) |
|
||||
| [Node download directive](core/node-download.directive.md) | Allows folders and/or files to be downloaded, with multiple nodes packed as a '.ZIP' archive. | [Source](../lib/core/directives/node-download.directive.ts) |
|
||||
| [Node favorite directive](core/node-favorite.directive.md) | Selectively toggles nodes as favorites. | [Source](../lib/core/directives/node-favorite.directive.ts) |
|
||||
| [Node permission directive](core/node-permission.directive.md) | Selectively disables an HTML element or Angular component. | [Source](../lib/core/directives/node-permission.directive.ts) |
|
||||
| [Node restore directive](core/node-restore.directive.md) | Restores deleted nodes to their original location. | [Source](../lib/core/directives/node-restore.directive.ts) |
|
||||
| [Upload directive](core/upload.directive.md) | Uploads content in response to file drag and drop. | [Source](../lib/core/directives/upload.directive.ts) |
|
||||
| [Check Allowable Operation directive](core/directives/check-allowable-operation.directive.md) | Selectively disables an HTML element or Angular component. | [Source](../lib/core/directives/check-allowable-operation.directive.ts) |
|
||||
| [Context Menu directive](core/directives/context-menu.directive.md) | Adds a context menu to a component. | [Source](../lib/core/context-menu/context-menu.directive.ts) |
|
||||
| [Highlight directive](core/directives/highlight.directive.md) | Adds highlighting to selected sections of an HTML element's content. | [Source](../lib/core/directives/highlight.directive.ts) |
|
||||
| [Logout directive](core/directives/logout.directive.md) | Logs the user out when the decorated element is clicked. | [Source](../lib/core/directives/logout.directive.ts) |
|
||||
| [Node Delete directive](core/directives/node-delete.directive.md) | Deletes multiple files and folders. | [Source](../lib/core/directives/node-delete.directive.ts) |
|
||||
| [Node Download directive](core/directives/node-download.directive.md) | Allows folders and/or files to be downloaded, with multiple nodes packed as a '.ZIP' archive. | [Source](../lib/core/directives/node-download.directive.ts) |
|
||||
| [Node Favorite directive](core/directives/node-favorite.directive.md) | Selectively toggles nodes as favorites. | [Source](../lib/core/directives/node-favorite.directive.ts) |
|
||||
| [Node Restore directive](core/directives/node-restore.directive.md) | Restores deleted nodes to their original location. | [Source](../lib/core/directives/node-restore.directive.ts) |
|
||||
| [Upload Directive](core/directives/upload.directive.md) | Uploads content in response to file drag and drop. | [Source](../lib/core/directives/upload.directive.ts) |
|
||||
|
||||
## Models
|
||||
### Interfaces
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Form field model](core/form-field.model.md) | Contains the value and metadata for a field of a Form component. | [Source](../lib/core/form/components/widgets/core/form-field.model.ts) |
|
||||
| [Product version model](core/product-version.model.md) | Contains version and license information classes for Alfresco products. | [Source](../lib/core/models/product-version.model.ts) |
|
||||
| [User process model](core/user-process.model.md) | Represents a Process Services user. | [Source](../lib/core/models/user-process.model.ts) |
|
||||
| [Bpm user model](core/bpm-user.model.md) | Contains information about a Process Services user. | [Source](../lib/core/userinfo/models/bpm-user.model.ts) |
|
||||
| [Ecm user model](core/ecm-user.model.md) | Contains information about a Content Services user. | [Source](../lib/core/userinfo/models/ecm-user.model.ts) |
|
||||
| [Card View Item interface](core/interfaces/card-view-item.interface.md) | Defines the implementation of an item in a Card View component. | [Source](../lib/core/card-view/interfaces/card-view-item.interface.ts) |
|
||||
| [DataTableAdapter interface](core/interfaces/datatable-adapter.interface.md) | Defines how table data is supplied to DataTable and Tasklist components. | [Source](../lib/core/datatable/data/datatable-adapter.ts) |
|
||||
| [FormFieldValidator interface](core/interfaces/form-field-validator.interface.md) | Defines how the input fields of Form and Task Details components are validated. | [Source](../lib/core/form/components/widgets/core/form-field-validator.ts) |
|
||||
| [Search Configuration interface](core/interfaces/search-configuration.interface.md) | Provides fine control of parameters to a search. | [Source](../lib/core/interface/search-configuration.interface.ts) |
|
||||
|
||||
## Pipes
|
||||
### Models
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [File size pipe](core/file-size.pipe.md) | Converts a number of bytes to the equivalent in KB, MB, etc. | [Source](../lib/core/pipes/file-size.pipe.ts) |
|
||||
| [Format space pipe](core/format-space.pipe.md) | Replaces all the white space in a string with a supplied character. | [Source](../lib/core/pipes/format-space.pipe.ts) |
|
||||
| [Full name pipe](core/full-name.pipe.md) | Joins the first and last name properties from a UserProcessModel object into a single string. | [Source](../lib/core/pipes/full-name.pipe.ts) |
|
||||
| [Mime type icon pipe](core/mime-type-icon.pipe.md) | Retrieves an icon to represent a MIME type. | [Source](../lib/core/pipes/mime-type-icon.pipe.ts) |
|
||||
| [Node name tooltip pipe](core/node-name-tooltip.pipe.md) | Formats the tooltip for a Node. | [Source](../lib/core/pipes/node-name-tooltip.pipe.ts) |
|
||||
| [Text highlight pipe](core/text-highlight.pipe.md) | Adds highlighting to words or sections of text that match a search string. | [Source](../lib/core/pipes/text-highlight.pipe.ts) |
|
||||
| [Time ago pipe](core/time-ago.pipe.md) | Converts a recent past date into a number of days ago. | [Source](../lib/core/pipes/time-ago.pipe.ts) |
|
||||
| [User initial pipe](core/user-initial.pipe.md) | Takes the name fields of a UserProcessModel object and extracts and formats the initials. | [Source](../lib/core/pipes/user-initial.pipe.ts) |
|
||||
| [Bpm User model](core/models/bpm-user.model.md) | Contains information about a Process Services user. | [Source](../lib/core/userinfo/models/bpm-user.model.ts) |
|
||||
| [Ecm User model](core/models/ecm-user.model.md) | Contains information about a Content Services user. | [Source](../lib/core/userinfo/models/ecm-user.model.ts) |
|
||||
| [Form Field model](core/models/form-field.model.md) | Contains the value and metadata for a field of a Form component. | [Source](../lib/core/form/components/widgets/core/form-field.model.ts) |
|
||||
| [Product Version model](core/models/product-version.model.md) | Contains version and license information classes for Alfresco products. | [Source](../lib/core/models/product-version.model.ts) |
|
||||
| [User Process model](core/models/user-process.model.md) | Represents a Process Services user. | [Source](../lib/core/models/user-process.model.ts) |
|
||||
|
||||
## Services
|
||||
### Pipes
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Card item types service](core/card-item-types.service.md) | Maps type names to field component types for the Card View component. | [Source](../lib/core/card-view/services/card-item-types.service.ts) |
|
||||
| [Card view update service](core/card-view-update.service.md) | Reports edits and clicks within fields of a Card View component. | [Source](../lib/core/card-view/services/card-view-update.service.ts) |
|
||||
| [Activiti alfresco service](core/activiti-alfresco.service.md) | Gets Alfresco Repository folder content based on a Repository account configured in Alfresco Process Services (APS). | [Source](../lib/core/form/services/activiti-alfresco.service.ts) |
|
||||
| [Form rendering service](core/form-rendering.service.md) | Maps a form field type string onto the corresponding form widget component type. | [Source](../lib/core/form/services/form-rendering.service.ts) |
|
||||
| [Form service](core/form.service.md) | Implements Process Services form methods | [Source](../lib/core/form/services/form.service.ts) |
|
||||
| [Node service](core/node.service.md) | Gets Alfresco Repository node metadata and creates nodes with metadata. | [Source](../lib/core/form/services/node.service.ts) |
|
||||
| [Process content service](core/process-content.service.md) | Manipulates content related to a Process Instance or Task Instance in APS. | [Source](../lib/core/form/services/process-content.service.ts) |
|
||||
| [Alfresco api service](core/alfresco-api.service.md) | Provides access to an initialized **AlfrescoJSApi** instance. | [Source](../lib/core/services/alfresco-api.service.ts) |
|
||||
| [Apps process service](core/apps-process.service.md) | Gets details of the Process Services apps that are deployed for the user. | [Source](../lib/core/services/apps-process.service.ts) |
|
||||
| [Auth guard bpm service](core/auth-guard-bpm.service.md) | Adds authentication with Process Services to a route within the app. | [Source](../lib/core/services/auth-guard-bpm.service.ts) |
|
||||
| [Auth guard ecm service](core/auth-guard-ecm.service.md) | Adds authentication with Content Services to a route within the app. | [Source](../lib/core/services/auth-guard-ecm.service.ts) |
|
||||
| [Auth guard service](core/auth-guard.service.md) | Adds authentication to a route within the app. | [Source](../lib/core/services/auth-guard.service.ts) |
|
||||
| [Authentication service](core/authentication.service.md) | Provides authentication to ACS and APS. | [Source](../lib/core/services/authentication.service.ts) |
|
||||
| [Comment content service](core/comment-content.service.md) | Adds and retrieves comments for nodes in Content Services. | [Source](../lib/core/services/comment-content.service.ts) |
|
||||
| [Comment process service](core/comment-process.service.md) | Adds and retrieves comments for task and process instances in Process Services. | [Source](../lib/core/services/comment-process.service.ts) |
|
||||
| [Content service](core/content.service.md) | Accesses app-generated data objects via URLs and file downloads. | [Source](../lib/core/services/content.service.ts) |
|
||||
| [Cookie service](core/cookie.service.md) | Stores key-value data items as browser cookies. | [Source](../lib/core/services/cookie.service.ts) |
|
||||
| [Deleted nodes api service](core/deleted-nodes-api.service.md) | Gets a list of Content Services nodes currently in the trash. | [Source](../lib/core/services/deleted-nodes-api.service.ts) |
|
||||
| [Discovery api service](core/discovery-api.service.md) | Gets version and license information for Process Services and Content Services. | [Source](../lib/core/services/discovery-api.service.ts) |
|
||||
| [Download zip service](core/download-zip.service.md) | Creates and manages downloads. | [Source](../lib/core/services/download-zip.service.ts) |
|
||||
| [Favorites api service](core/favorites-api.service.md) | Gets a list of items a user has marked as their favorites. | [Source](../lib/core/services/favorites-api.service.ts) |
|
||||
| [Highlight transform service](core/highlight-transform.service.md) | Adds HTML to a string to highlight chosen sections. | [Source](../lib/core/services/highlight-transform.service.ts) |
|
||||
| [Jwt helper service](core/jwt-helper.service.md) | Decodes a JSON Web Token (JWT) to a JavaScript object. | [Source](../lib/core/services/jwt-helper.service.ts) |
|
||||
| [Log service](core/log.service.md) | Provides log functionality. | [Source](../lib/core/services/log.service.ts) |
|
||||
| [Login dialog service](core/login-dialog.service.md) | Manages login dialogs. | [Source](../lib/core/services/login-dialog.service.ts) |
|
||||
| [Nodes api service](core/nodes-api.service.md) | Accesses and manipulates ACS document nodes using their node IDs. | [Source](../lib/core/services/nodes-api.service.ts) |
|
||||
| [Notification service](core/notification.service.md) | Shows a notification message with optional feedback. | [Source](../lib/core/services/notification.service.ts) |
|
||||
| [Page title service](core/page-title.service.md) | Sets the page title. | [Source](../lib/core/services/page-title.service.ts) |
|
||||
| [People content service](core/people-content.service.md) | Gets information about a Content Services user. | [Source](../lib/core/services/people-content.service.ts) |
|
||||
| [People process service](core/people-process.service.md) | Gets information about Process Services users. | [Source](../lib/core/services/people-process.service.ts) |
|
||||
| [Renditions service](core/renditions.service.md) | Manages prearranged conversions of content to different formats. | [Source](../lib/core/services/renditions.service.ts) |
|
||||
| [Search configuration service](core/search-configuration.service.md) | Provides fine control of parameters to a search. | [Source](../lib/core/services/search-configuration.service.ts) |
|
||||
| [Search service](core/search.service.md) | Accesses the Content Services Search API. | [Source](../lib/core/services/search.service.ts) |
|
||||
| [Shared links api service](core/shared-links-api.service.md) | Finds shared links to Content Services items. | [Source](../lib/core/services/shared-links-api.service.ts) |
|
||||
| [Sites service](core/sites.service.md) | Accesses and manipulates sites from a Content Services repository. | [Source](../lib/core/services/sites.service.ts) |
|
||||
| [Storage service](core/storage.service.md) | Stores items in the form of key-value pairs. | [Source](../lib/core/services/storage.service.ts) |
|
||||
| [Thumbnail service](core/thumbnail.service.md) | Retrieves an SVG thumbnail image to represent a document type. | [Source](../lib/core/services/thumbnail.service.ts) |
|
||||
| [Translation service](core/translation.service.md) | Supports localisation. | [Source](../lib/core/services/translation.service.ts) |
|
||||
| [Upload service](core/upload.service.md) | Provides access to various APIs related to file upload features. | [Source](../lib/core/services/upload.service.ts) |
|
||||
| [User preferences service](core/user-preferences.service.md) | Stores preferences for the app and for individual components. | [Source](../lib/core/services/user-preferences.service.ts) |
|
||||
| [Bpm user service](core/bpm-user.service.md) | Gets information about the current Process Services user. | [Source](../lib/core/userinfo/services/bpm-user.service.ts) |
|
||||
| [Ecm user service](core/ecm-user.service.md) | Gets information about a Content Services user. | [Source](../lib/core/userinfo/services/ecm-user.service.ts) |
|
||||
| [Identity user service](core/identity-user.service.md) | Gets OAuth2 personal details and roles for users. | [Source](../lib/core/userinfo/services/identity-user.service.ts) |
|
||||
| [App Config Pipe](core/pipes/app-config.pipe.md) | Retrieves values from the application configuration file directly. | [Source](../lib/core/app-config/app-config.pipe.ts) |
|
||||
| [File Size pipe](core/pipes/file-size.pipe.md) | Converts a number of bytes to the equivalent in KB, MB, etc. | [Source](../lib/core/pipes/file-size.pipe.ts) |
|
||||
| [Format Space pipe](core/pipes/format-space.pipe.md) | Replaces all the white space in a string with a supplied character. | [Source](../lib/core/pipes/format-space.pipe.ts) |
|
||||
| [Full name pipe](core/pipes/full-name.pipe.md) | Joins the first and last name properties from a UserProcessModel object into a single string. | [Source](../lib/core/pipes/full-name.pipe.ts) |
|
||||
| [Mime Type Icon pipe](core/pipes/mime-type-icon.pipe.md) | Retrieves an icon to represent a MIME type. | [Source](../lib/core/pipes/mime-type-icon.pipe.ts) |
|
||||
| [Node Name Tooltip pipe](core/pipes/node-name-tooltip.pipe.md) | Formats the tooltip for a Node. | [Source](../lib/core/pipes/node-name-tooltip.pipe.ts) |
|
||||
| [Text Highlight pipe](core/pipes/text-highlight.pipe.md) | Adds highlighting to words or sections of text that match a search string. | [Source](../lib/core/pipes/text-highlight.pipe.ts) |
|
||||
| [Time Ago pipe](core/pipes/time-ago.pipe.md) | Converts a recent past date into a number of days ago. | [Source](../lib/core/pipes/time-ago.pipe.ts) |
|
||||
| [User Initial pipe](core/pipes/user-initial.pipe.md) | Takes the name fields of a UserProcessModel object and extracts and formats the initials. | [Source](../lib/core/pipes/user-initial.pipe.ts) |
|
||||
|
||||
## Widgets
|
||||
### Services
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Content widget](core/content.widget.md) | Shows the content preview. | [Source](../lib/core/form/components/widgets/content/content.widget.ts) |
|
||||
| [APS Alfresco Content Service](core/services/activiti-alfresco.service.md) | Gets Alfresco Repository folder content based on a Repository account configured in Alfresco Process Services (APS). | [Source](../lib/core/form/services/activiti-alfresco.service.ts) |
|
||||
| [Alfresco Api Service](core/services/alfresco-api.service.md) | Provides access to an initialized AlfrescoJSApi instance. | [Source](../lib/core/services/alfresco-api.service.ts) |
|
||||
| [App Config service](core/services/app-config.service.md) | Supports app configuration settings, stored server side. | [Source](../lib/core/app-config/app-config.service.ts) |
|
||||
| [Apps Process service](core/services/apps-process.service.md) | Gets details of the Process Services apps that are deployed for the user. | [Source](../lib/core/services/apps-process.service.ts) |
|
||||
| [Auth Guard Bpm service](core/services/auth-guard-bpm.service.md) | Adds authentication with Process Services to a route within the app. | [Source](../lib/core/services/auth-guard-bpm.service.ts) |
|
||||
| [Auth Guard Ecm service](core/services/auth-guard-ecm.service.md) | Adds authentication with Content Services to a route within the app. | [Source](../lib/core/services/auth-guard-ecm.service.ts) |
|
||||
| [Auth Guard SSO Role service](core/services/auth-guard-sso-role.service.md) | Checks the user roles of a user. | [Source](../lib/core/services/auth-guard-sso-role.service.ts) |
|
||||
| [Auth Guard service](core/services/auth-guard.service.md) | Adds authentication to a route within the app. | [Source](../lib/core/services/auth-guard.service.ts) |
|
||||
| [Authentication Service](core/services/authentication.service.md) | Provides authentication to ACS and APS. | [Source](../lib/core/services/authentication.service.ts) |
|
||||
| [Bpm User service](core/services/bpm-user.service.md) | Gets information about the current Process Services user. | [Source](../lib/core/userinfo/services/bpm-user.service.ts) |
|
||||
| [Card Item Type service](core/services/card-item-types.service.md) | Maps type names to field component types for the Card View component. | [Source](../lib/core/card-view/services/card-item-types.service.ts) |
|
||||
| [Card View Update service](core/services/card-view-update.service.md) | Reports edits and clicks within fields of a Card View component. | [Source](../lib/core/card-view/services/card-view-update.service.ts) |
|
||||
| [Comment Content service](core/services/comment-content.service.md) | Adds and retrieves comments for nodes in Content Services. | [Source](../lib/core/services/comment-content.service.ts) |
|
||||
| [Comment Process service](core/services/comment-process.service.md) | Adds and retrieves comments for task and process instances in Process Services. | [Source](../lib/core/services/comment-process.service.ts) |
|
||||
| [Content service](core/services/content.service.md) | Accesses app-generated data objects via URLs and file downloads. | [Source](../lib/core/services/content.service.ts) |
|
||||
| [Cookie service](core/services/cookie.service.md) | Stores key-value data items as browser cookies. | [Source](../lib/core/services/cookie.service.ts) |
|
||||
| [Deleted Nodes Api service](core/services/deleted-nodes-api.service.md) | Gets a list of Content Services nodes currently in the trash. | [Source](../lib/core/services/deleted-nodes-api.service.ts) |
|
||||
| [Discovery Api service](core/services/discovery-api.service.md) | Gets version and license information for Process Services and Content Services. | [Source](../lib/core/services/discovery-api.service.ts) |
|
||||
| [Download zip service](core/services/download-zip.service.md) | Creates and manages downloads. | [Source](../lib/core/services/download-zip.service.ts) |
|
||||
| [Ecm User service](core/services/ecm-user.service.md) | Gets information about a Content Services user. | [Source](../lib/core/userinfo/services/ecm-user.service.ts) |
|
||||
| [Favorites Api service](core/services/favorites-api.service.md) | Gets a list of items a user has marked as their favorites. | [Source](../lib/core/services/favorites-api.service.ts) |
|
||||
| [Form Rendering service](core/services/form-rendering.service.md) | Maps a form field type string onto the corresponding form widget component type. | [Source](../lib/core/form/services/form-rendering.service.ts) |
|
||||
| [Form service](core/services/form.service.md) | Implements Process Services form methods | [Source](../lib/core/form/services/form.service.ts) |
|
||||
| [Highlight Transform service](core/services/highlight-transform.service.md) | Adds HTML to a string to highlight chosen sections. | [Source](../lib/core/services/highlight-transform.service.ts) |
|
||||
| [Identity user service](core/services/identity-user.service.md) | Gets OAuth2 personal details and roles for users. | [Source](../lib/process-services-cloud/src/lib/services/identity-user.service.ts) |
|
||||
| [JWT helper service](core/services/jwt-helper.service.md) | Decodes a JSON Web Token (JWT) to a JavaScript object. | [Source](../lib/core/services/jwt-helper.service.ts) |
|
||||
| [Log Service](core/services/log.service.md) | Provides log functionality. | [Source](../lib/core/services/log.service.ts) |
|
||||
| [Login Dialog service](core/services/login-dialog.service.md) | Manages login dialogs. | [Source](../lib/core/services/login-dialog.service.ts) |
|
||||
| [Node Service](core/services/node.service.md) | Gets Alfresco Repository node metadata and creates nodes with metadata. | [Source](../lib/core/form/services/node.service.ts) |
|
||||
| [Nodes Api service](core/services/nodes-api.service.md) | Accesses and manipulates ACS document nodes using their node IDs. | [Source](../lib/core/services/nodes-api.service.ts) |
|
||||
| [Notification Service](core/services/notification.service.md) | Shows a notification message with optional feedback. | [Source](../lib/core/services/notification.service.ts) |
|
||||
| [Page Title service](core/services/page-title.service.md) | Sets the page title. | [Source](../lib/core/services/page-title.service.ts) |
|
||||
| [People Content service](core/services/people-content.service.md) | Gets information about a Content Services user. | [Source](../lib/core/services/people-content.service.ts) |
|
||||
| [People Process service](core/services/people-process.service.md) | Gets information about Process Services users. | [Source](../lib/core/services/people-process.service.ts) |
|
||||
| [Process Content Service](core/services/process-content.service.md) | Manipulates content related to a Process Instance or Task Instance in APS. | [Source](../lib/core/form/services/process-content.service.ts) |
|
||||
| [Renditions service](core/services/renditions.service.md) | Manages prearranged conversions of content to different formats. | [Source](../lib/core/services/renditions.service.ts) |
|
||||
| [Search Configuration service](core/services/search-configuration.service.md) | Provides fine control of parameters to a search. | [Source](../lib/core/services/search-configuration.service.ts) |
|
||||
| [Search service](core/services/search.service.md) | Accesses the Content Services Search API. | [Source](../lib/core/services/search.service.ts) |
|
||||
| [Shared Links Api service](core/services/shared-links-api.service.md) | Finds shared links to Content Services items. | [Source](../lib/core/services/shared-links-api.service.ts) |
|
||||
| [Sites service](core/services/sites.service.md) | Accesses and manipulates sites from a Content Services repository. | [Source](../lib/core/services/sites.service.ts) |
|
||||
| [Storage service](core/services/storage.service.md) | Stores items in the form of key-value pairs. | [Source](../lib/core/services/storage.service.ts) |
|
||||
| [Thumbnail service](core/services/thumbnail.service.md) | Retrieves an SVG thumbnail image to represent a document type. | [Source](../lib/core/services/thumbnail.service.ts) |
|
||||
| [Translation service](core/services/translation.service.md) | Supports localisation. | [Source](../lib/core/services/translation.service.ts) |
|
||||
| [Upload Service](core/services/upload.service.md) | Provides access to various APIs related to file upload features. | [Source](../lib/core/services/upload.service.ts) |
|
||||
| [User Preferences Service](core/services/user-preferences.service.md) | Stores preferences for the app and for individual components. | [Source](../lib/core/services/user-preferences.service.ts) |
|
||||
|
||||
### Widgets
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [APS Content Component](core/widgets/content.widget.md) | Shows the content preview. | [Source](../lib/core/form/components/widgets/content/content.widget.ts) |
|
||||
|
||||
<!--core end-->
|
||||
|
||||
## Other classes and interfaces
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Data Table Adapter interface](core/datatable-adapter.interface.md) | Defines how table data is supplied to DataTable and Tasklist components. | [Source](../lib/core/datatable/data/datatable-adapter.ts) |
|
||||
| [Form Field Validator interface](core/form-field-validator.interface.md) | Defines how the input fields of [`Form`](../../lib/process-services/task-list/models/form.model.ts) and Task Details components are validated. | [Source](../lib/core/form/components/widgets/core/form-field-validator.ts) |
|
||||
| [Search Configuration interface](core/search-configuration.interface.md) | Provides fine control of parameters to a search. | [Source](../lib/core/services/search-configuration.service.ts) |
|
||||
|
||||
[(Back to Contents)](#contents)
|
||||
|
||||
## Content Services API
|
||||
@@ -223,104 +231,103 @@ for more information about installing and using the source code.
|
||||
|
||||
<!--content-services start-->
|
||||
|
||||
## Components
|
||||
### Components
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Breadcrumb component](content-services/breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../lib/content-services/breadcrumb/breadcrumb.component.ts) |
|
||||
| [Dropdown breadcrumb component](content-services/dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts) |
|
||||
| [Content metadata component](content-services/content-metadata.component.md) | Displays and edits metadata related to a node. | [Source](../lib/content-services/content-metadata/components/content-metadata/content-metadata.component.ts) |
|
||||
| [Content metadata card component](content-services/content-metadata-card.component.md) | Displays and edits metadata related to a node. | [Source](../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts) |
|
||||
| [Content node selector panel component](content-services/content-node-selector-panel.component.md) | Opens a Content Node Selector in its own dialog window. | [Source](../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) |
|
||||
| [Content node selector component](content-services/content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../lib/content-services/content-node-selector/content-node-selector.component.ts) |
|
||||
| [Content action component](content-services/content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../lib/content-services/document-list/components/content-action/content-action.component.ts) |
|
||||
| [Document list component](content-services/document-list.component.md) | Displays the documents from a repository. | [Source](../lib/content-services/document-list/components/document-list.component.ts) |
|
||||
| [Add permission dialog component](content-services/add-permission-dialog.component.md) | Displays a dialog to search for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts) |
|
||||
| [Add permission panel component](content-services/add-permission-panel.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts) |
|
||||
| [Add permission component](content-services/add-permission.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts) |
|
||||
| [Permission list component](content-services/permission-list.component.md) | Shows node permissions as a table. | [Source](../lib/content-services/permission-manager/components/permission-list/permission-list.component.ts) |
|
||||
| [Search check list component](content-services/search-check-list.component.md) | Implements a checklist widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-check-list/search-check-list.component.ts) |
|
||||
| [Search chip list component](content-services/search-chip-list.component.md) | Displays search criteria as a set of "chips". | [Source](../lib/content-services/search/components/search-chip-list/search-chip-list.component.ts) |
|
||||
| [Search control component](content-services/search-control.component.md) | Displays a input text that shows find-as-you-type suggestions. | [Source](../lib/content-services/search/components/search-control.component.ts) |
|
||||
| [Search date range component](content-services/search-date-range.component.md) | Implements a date range widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-date-range/search-date-range.component.ts) |
|
||||
| [Search filter component](content-services/search-filter.component.md) | Represents a main container component for custom search and faceted search settings. | [Source](../lib/content-services/search/components/search-filter/search-filter.component.ts) |
|
||||
| [Search number range component](content-services/search-number-range.component.md) | Implements a number range widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-number-range/search-number-range.component.ts) |
|
||||
| [Search radio component](content-services/search-radio.component.md) | Implements a radio button list widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-radio/search-radio.component.ts) |
|
||||
| [Search slider component](content-services/search-slider.component.md) | Implements a numeric slider widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-slider/search-slider.component.ts) |
|
||||
| [Search sorting picker component](content-services/search-sorting-picker.component.md) | Provides an ability to select one of the predefined sorting definitions for search results: | [Source](../lib/content-services/search/components/search-sorting-picker/search-sorting-picker.component.ts) |
|
||||
| [Search text component](content-services/search-text.component.md) | Implements a text input widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-text/search-text.component.ts) |
|
||||
| [Search component](content-services/search.component.md) | Searches items for supplied search terms. | [Source](../lib/content-services/search/components/search.component.ts) |
|
||||
| [Sites dropdown component](content-services/sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../lib/content-services/site-dropdown/sites-dropdown.component.ts) |
|
||||
| [Like component](content-services/like.component.md) | Allows a user to add "likes" to an item. | [Source](../lib/content-services/social/like.component.ts) |
|
||||
| [Rating component](content-services/rating.component.md) | Allows a user to add ratings to an item. | [Source](../lib/content-services/social/rating.component.ts) |
|
||||
| [Tag actions component](content-services/tag-actions.component.md) | Shows available actions for tags. | [Source](../lib/content-services/tag/tag-actions.component.ts) |
|
||||
| [Tag list component](content-services/tag-list.component.md) | Shows tags for an item. | [Source](../lib/content-services/tag/tag-list.component.ts) |
|
||||
| [Tag node list component](content-services/tag-node-list.component.md) | Shows tags for a node. | [Source](../lib/content-services/tag/tag-node-list.component.ts) |
|
||||
| [Tree view component](content-services/tree-view.component.md) | Shows the folder and subfolders of a node as a tree view. | [Source](../lib/content-services/tree-view/components/tree-view.component.ts) |
|
||||
| [File uploading dialog component](content-services/file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../lib/content-services/upload/components/file-uploading-dialog.component.ts) |
|
||||
| [Upload button component](content-services/upload-button.component.md) | Activates a file upload. | [Source](../lib/content-services/upload/components/upload-button.component.ts) |
|
||||
| [Upload drag area component](content-services/upload-drag-area.component.md) | Adds a drag and drop area to upload files to ACS. | [Source](../lib/content-services/upload/components/upload-drag-area.component.ts) |
|
||||
| [Upload version button component](content-services/upload-version-button.component.md)  | Activates a file version upload. | [Source](../lib/content-services/upload/components/upload-version-button.component.ts) |
|
||||
| [Version list component](content-services/version-list.component.md)  | Displays the version history of a node in a Version Manager component. | [Source](../lib/content-services/version-manager/version-list.component.ts) |
|
||||
| [Version manager component](content-services/version-manager.component.md)  | Displays the version history of a node with the ability to upload a new version. | [Source](../lib/content-services/version-manager/version-manager.component.ts) |
|
||||
| [Webscript component](content-services/webscript.component.md) | Provides access to Webscript features. | [Source](../lib/content-services/webscript/webscript.component.ts) |
|
||||
| [Add Permission Dialog Component](content-services/components/add-permission-dialog.component.md) | Displays a dialog to search for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts) |
|
||||
| [Add Permission Panel Component](content-services/components/add-permission-panel.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts) |
|
||||
| [Add Permission Component](content-services/components/add-permission.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts) |
|
||||
| [Breadcrumb Component](content-services/components/breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../lib/content-services/breadcrumb/breadcrumb.component.ts) |
|
||||
| [Content Action component](content-services/components/content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../lib/content-services/document-list/components/content-action/content-action.component.ts) |
|
||||
| [Content Metadata Card component](content-services/components/content-metadata-card.component.md) | Displays and edits metadata related to a node. | [Source](../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts) |
|
||||
| [Content Node Selector Panel component](content-services/components/content-node-selector-panel.component.md) | Opens a Content Node Selector in its own dialog window. | [Source](../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) |
|
||||
| [Content Node Selector component](content-services/components/content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../lib/content-services/content-node-selector/content-node-selector.component.ts) |
|
||||
| [Document List component](content-services/components/document-list.component.md) | Displays the documents from a repository. | [Source](../lib/content-services/document-list/components/document-list.component.ts) |
|
||||
| [Dropdown Breadcrumb Component](content-services/components/dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts) |
|
||||
| [File Uploading Dialog Component](content-services/components/file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../lib/content-services/upload/components/file-uploading-dialog.component.ts) |
|
||||
| [Like component](content-services/components/like.component.md) | Allows a user to add "likes" to an item. | [Source](../lib/content-services/social/like.component.ts) |
|
||||
| [Permission List Component](content-services/components/permission-list.component.md) | Shows node permissions as a table. | [Source](../lib/content-services/permission-manager/components/permission-list/permission-list.component.ts) |
|
||||
| [Rating component](content-services/components/rating.component.md) | Allows a user to add ratings to an item. | [Source](../lib/content-services/social/rating.component.ts) |
|
||||
| [Search check list component](content-services/components/search-check-list.component.md) | Implements a checklist widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-check-list/search-check-list.component.ts) |
|
||||
| [Search Chip List Component](content-services/components/search-chip-list.component.md) | Displays search criteria as a set of "chips". | [Source](../lib/content-services/search/components/search-chip-list/search-chip-list.component.ts) |
|
||||
| [Search control component](content-services/components/search-control.component.md) | Displays a input text that shows find-as-you-type suggestions. | [Source](../lib/content-services/search/components/search-control.component.ts) |
|
||||
| [Search date range component](content-services/components/search-date-range.component.md) | Implements a date range widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-date-range/search-date-range.component.ts) |
|
||||
| [Search Filter component](content-services/components/search-filter.component.md) | Represents a main container component for custom search and faceted search settings. | [Source](../lib/content-services/search/components/search-filter/search-filter.component.ts) |
|
||||
| [Search number range component](content-services/components/search-number-range.component.md) | Implements a number range widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-number-range/search-number-range.component.ts) |
|
||||
| [Search radio component](content-services/components/search-radio.component.md) | Implements a radio button list widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-radio/search-radio.component.ts) |
|
||||
| [Search slider component](content-services/components/search-slider.component.md) | Implements a numeric slider widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-slider/search-slider.component.ts) |
|
||||
| [Search Sorting Picker Component](content-services/components/search-sorting-picker.component.md) | Provides an ability to select one of the predefined sorting definitions for search results: | [Source](../lib/content-services/search/components/search-sorting-picker/search-sorting-picker.component.ts) |
|
||||
| [Search text component](content-services/components/search-text.component.md) | Implements a text input widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-text/search-text.component.ts) |
|
||||
| [Search component](content-services/components/search.component.md) | Searches items for supplied search terms. | [Source](../lib/content-services/search/components/search.component.ts) |
|
||||
| [Sites Dropdown component](content-services/components/sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../lib/content-services/site-dropdown/sites-dropdown.component.ts) |
|
||||
| [Tag Node Actions List component](content-services/components/tag-actions.component.md) | Shows available actions for tags. | [Source](../lib/content-services/tag/tag-actions.component.ts) |
|
||||
| [Tag List component](content-services/components/tag-list.component.md) | Shows tags for an item. | [Source](../lib/content-services/tag/tag-list.component.ts) |
|
||||
| [Tag Node List component](content-services/components/tag-node-list.component.md) | Shows tags for a node. | [Source](../lib/content-services/tag/tag-node-list.component.ts) |
|
||||
| [Tree View component](content-services/components/tree-view.component.md) | Shows the folder and subfolders of a node as a tree view. | [Source](../lib/content-services/tree-view/components/tree-view.component.ts) |
|
||||
| [Upload Button Component](content-services/components/upload-button.component.md) | Activates a file upload. | [Source](../lib/content-services/upload/components/upload-button.component.ts) |
|
||||
| [Upload Drag Area Component](content-services/components/upload-drag-area.component.md) | Adds a drag and drop area to upload files to ACS. | [Source](../lib/content-services/upload/components/upload-drag-area.component.ts) |
|
||||
| [Upload Version Button Component (Workaround)](content-services/components/upload-version-button.component.md)  | Activates a file version upload. | [Source](../lib/content-services/upload/components/upload-version-button.component.ts) |
|
||||
| [Version List component](content-services/components/version-list.component.md)  | Displays the version history of a node in a Version Manager component. | [Source](../lib/content-services/version-manager/version-list.component.ts) |
|
||||
| [Version Manager Component](content-services/components/version-manager.component.md)  | Displays the version history of a node with the ability to upload a new version. | [Source](../lib/content-services/version-manager/version-manager.component.ts) |
|
||||
| [Webscript component](content-services/components/webscript.component.md) | Provides access to Webscript features. | [Source](../lib/content-services/webscript/webscript.component.ts) |
|
||||
|
||||
## Dialogs
|
||||
### Directives
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Confirm dialog](content-services/confirm.dialog.md) | Requests a yes/no choice from the user. | [Source](../lib/content-services/dialogs/confirm.dialog.ts) |
|
||||
| [Library dialog](content-services/library.dialog.md) | Creates a new Content Services document library/site. | [Source](../lib/content-services/dialogs/library/library.dialog.ts) |
|
||||
| [Node Public File Share Directive](content-services/directives/content-node-share.directive.md) | Creates and manages public shared links for files. | [Source](../lib/content-services/content-node-share/content-node-share.directive.ts) |
|
||||
| [File Draggable directive](content-services/directives/file-draggable.directive.md) | Provides drag-and-drop features for an element such as a div. | [Source](../lib/content-services/upload/directives/file-draggable.directive.ts) |
|
||||
| [Folder Create directive](content-services/directives/folder-create.directive.md) | Creates folders. | [Source](../lib/content-services/folder-directive/folder-create.directive.ts) |
|
||||
| [Folder Edit directive](content-services/directives/folder-edit.directive.md) | Allows folders to be edited. | [Source](../lib/content-services/folder-directive/folder-edit.directive.ts) |
|
||||
| [Inherit Permission directive](content-services/directives/inherited-button.directive.md) | Update the current node by adding/removing the inherited permissions. | [Source](../lib/content-services/permission-manager/components/inherited-button.directive.ts) |
|
||||
| [Node Lock directive](content-services/directives/node-lock.directive.md) | Locks or unlocks a node. | [Source](../lib/content-services/directives/node-lock.directive.ts) |
|
||||
|
||||
## Directives
|
||||
### Dialogs
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Content node share directive](content-services/content-node-share.directive.md) | Creates and manages public shared links for files. | [Source](../lib/content-services/content-node-share/content-node-share.directive.ts) |
|
||||
| [Node lock directive](content-services/node-lock.directive.md) | Locks or unlocks a node. | [Source](../lib/content-services/directives/node-lock.directive.ts) |
|
||||
| [Folder create directive](content-services/folder-create.directive.md) | Creates folders. | [Source](../lib/content-services/folder-directive/folder-create.directive.ts) |
|
||||
| [Folder edit directive](content-services/folder-edit.directive.md) | Allows folders to be edited. | [Source](../lib/content-services/folder-directive/folder-edit.directive.ts) |
|
||||
| [Inherited button directive](content-services/inherited-button.directive.md) | Update the current node by adding/removing the inherited permissions. | [Source](../lib/content-services/permission-manager/components/inherited-button.directive.ts) |
|
||||
| [File draggable directive](content-services/file-draggable.directive.md) | Provides drag-and-drop features for an element such as a `div`. | [Source](../lib/content-services/upload/directives/file-draggable.directive.ts) |
|
||||
| [Confirm dialog component](content-services/dialogs/confirm.dialog.md) | Requests a yes/no choice from the user. | [Source](../lib/content-services/dialogs/confirm.dialog.ts) |
|
||||
| [Library dialog component](content-services/dialogs/library.dialog.md) | Creates a new Content Services document library/site. | [Source](../lib/content-services/dialogs/library/library.dialog.ts) |
|
||||
|
||||
## Models
|
||||
### Interfaces
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Image resolver model](content-services/image-resolver.model.md) | Defines the Image Resolver function used by the Document List Component. | [Source](../lib/content-services/document-list/data/image-resolver.model.ts) |
|
||||
| [Row filter model](content-services/row-filter.model.md) | Defines the Row Filter function used by the Document List Component. | [Source](../lib/content-services/document-list/data/row-filter.model.ts) |
|
||||
| [Permissions style model](content-services/permissions-style.model.md) | Sets custom CSS styles for rows of a Document List according to the item's permissions. | [Source](../lib/content-services/document-list/models/permissions-style.model.ts) |
|
||||
| [Search widget interface](content-services/interfaces/search-widget.interface.md) | Specifies required properties for Search filter component widgets. | [Source](../lib/content-services/search/search-widget.interface.ts) |
|
||||
|
||||
## Pipes
|
||||
### Models
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [File upload error pipe](content-services/file-upload-error.pipe.md) | Converts an upload error code to an error message. | [Source](../lib/content-services/upload/pipes/file-upload-error.pipe.ts) |
|
||||
| [Image Resolver Model](content-services/models/image-resolver.model.md) | Defines the Image Resolver function used by the Document List Component. | [Source](../lib/content-services/document-list/data/image-resolver.model.ts) |
|
||||
| [Permission Style model](content-services/models/permissions-style.model.md) | Sets custom CSS styles for rows of a Document List according to the item's permissions. | [Source](../lib/content-services/document-list/models/permissions-style.model.ts) |
|
||||
| [Row Filter Model](content-services/models/row-filter.model.md) | Defines the Row Filter function used by the Document List Component. | [Source](../lib/content-services/document-list/data/row-filter.model.ts) |
|
||||
|
||||
## Services
|
||||
### Pipes
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Content node dialog service](content-services/content-node-dialog.service.md) | Displays and manages dialogs for selecting content to open, copy or upload. | [Source](../lib/content-services/content-node-selector/content-node-dialog.service.ts) |
|
||||
| [Custom resources service](content-services/custom-resources.service.md) | Manages Document List information that is specific to a user. | [Source](../lib/content-services/document-list/services/custom-resources.service.ts) |
|
||||
| [Document actions service](content-services/document-actions.service.md) | Implements the document menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/document-actions.service.ts) |
|
||||
| [Document list service](content-services/document-list.service.md) | Implements node operations used by the Document List component. | [Source](../lib/content-services/document-list/services/document-list.service.ts) |
|
||||
| [Folder actions service](content-services/folder-actions.service.md) | Implements the folder menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/folder-actions.service.ts) |
|
||||
| [Node permission dialog service](content-services/node-permission-dialog.service.md) | Displays dialogs to let the user set node permissions. | [Source](../lib/content-services/permission-manager/services/node-permission-dialog.service.ts) |
|
||||
| [Node permission service](content-services/node-permission.service.md) | Manages role permissions for content nodes. | [Source](../lib/content-services/permission-manager/services/node-permission.service.ts) |
|
||||
| [Search filter service](content-services/search-filter.service.md) | Registers widgets for use with the Search Filter component. | [Source](../lib/content-services/search/components/search-filter/search-filter.service.ts) |
|
||||
| [Search query builder service](content-services/search-query-builder.service.md) | Stores information from all the custom search and faceted search widgets, compiles and runs the final search query. | [Source](../lib/content-services/search/search-query-builder.service.ts) |
|
||||
| [Rating service](content-services/rating.service.md) | Manages ratings for items in Content Services. | [Source](../lib/content-services/social/services/rating.service.ts) |
|
||||
| [Tag service](content-services/tag.service.md) | Manages tags in Content Services. | [Source](../lib/content-services/tag/services/tag.service.ts) |
|
||||
| [File upload error pipe](content-services/pipes/file-upload-error.pipe.md) | Converts an upload error code to an error message. | [Source](../lib/content-services/upload/pipes/file-upload-error.pipe.ts) |
|
||||
|
||||
### Services
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Content Node Dialog service](content-services/services/content-node-dialog.service.md) | Displays and manages dialogs for selecting content to open, copy or upload. | [Source](../lib/content-services/content-node-selector/content-node-dialog.service.ts) |
|
||||
| [Custom Resources service](content-services/services/custom-resources.service.md) | Manages Document List information that is specific to a user. | [Source](../lib/content-services/document-list/services/custom-resources.service.ts) |
|
||||
| [Document Actions service](content-services/services/document-actions.service.md) | Implements the document menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/document-actions.service.ts) |
|
||||
| [Document List service](content-services/services/document-list.service.md) | Implements node operations used by the Document List component. | [Source](../lib/content-services/document-list/services/document-list.service.ts) |
|
||||
| [Folder Actions service](content-services/services/folder-actions.service.md) | Implements the folder menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/folder-actions.service.ts) |
|
||||
| [Node permission dialog service](content-services/services/node-permission-dialog.service.md) | Displays dialogs to let the user set node permissions. | [Source](../lib/content-services/permission-manager/services/node-permission-dialog.service.ts) |
|
||||
| [Node Permission service](content-services/services/node-permission.service.md) | Manages role permissions for content nodes. | [Source](../lib/content-services/permission-manager/services/node-permission.service.ts) |
|
||||
| [Rating service](content-services/services/rating.service.md) | Manages ratings for items in Content Services. | [Source](../lib/content-services/social/services/rating.service.ts) |
|
||||
| [Search filter service](content-services/services/search-filter.service.md) | Registers widgets for use with the Search Filter component. | [Source](../lib/content-services/search/components/search-filter/search-filter.service.ts) |
|
||||
| [Search Query Builder service](content-services/services/search-query-builder.service.md) | Stores information from all the custom search and faceted search widgets, compiles and runs the final search query. | [Source](../lib/content-services/search/search-query-builder.service.ts) |
|
||||
| [Tag service](content-services/services/tag.service.md) | Manages tags in Content Services. | [Source](../lib/content-services/tag/services/tag.service.ts) |
|
||||
|
||||
<!--content-services end-->
|
||||
|
||||
## Other classes and interfaces
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Search Widget interface](content-services/search-widget.interface.md) | Specifies required properties for [Search filter component](../content-services/search-filter.component.md) widgets. | [Source](../lib/content-services/search/search-widget.interface.ts) |
|
||||
|
||||
[(Back to Contents)](#contents)
|
||||
|
||||
## Process Services API
|
||||
@@ -332,55 +339,56 @@ for more information about installing and using the source code.
|
||||
|
||||
<!--process-services start-->
|
||||
|
||||
## Components
|
||||
### Components
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Apps list component](process-services/apps-list.component.md) | Shows all available apps. | [Source](../lib/process-services/app-list/apps-list.component.ts) |
|
||||
| [Create process attachment component](process-services/create-process-attachment.component.md) | Displays an Upload Component (Drag and Click) to upload the attachment to a specified process instance. | [Source](../lib/process-services/attachment/create-process-attachment.component.ts) |
|
||||
| [Create task attachment component](process-services/create-task-attachment.component.md) | Displays an Upload Component (Drag and Click) to upload the attachment to a specified task. | [Source](../lib/process-services/attachment/create-task-attachment.component.ts) |
|
||||
| [Process attachment list component](process-services/process-attachment-list.component.md) | Displays documents attached to a specified process instance. | [Source](../lib/process-services/attachment/process-attachment-list.component.ts) |
|
||||
| [Task attachment list component](process-services/task-attachment-list.component.md) | Displays documents attached to a specified task. | [Source](../lib/process-services/attachment/task-attachment-list.component.ts) |
|
||||
| [People component](process-services/people.component.md) | Displays users involved with a specified task | [Source](../lib/process-services/people/components/people/people.component.ts) |
|
||||
| [People list component](process-services/people-list.component.md) | Shows a list of users (people). | [Source](../lib/process-services/people/components/people-list/people-list.component.ts) |
|
||||
| [People search component](process-services/people-search.component.md) | Searches users/people. | [Source](../lib/process-services/people/components/people-search/people-search.component.ts) |
|
||||
| [Process comments component](process-services/process-comments.component.md) | Displays comments associated with a particular process instance and allows the user to add new comments. | [Source](../lib/process-services/process-comments/process-comments.component.ts) |
|
||||
| [Process filters component](process-services/process-filters.component.md) | Collection of criteria used to filter process instances, which may be customized by users. | [Source](../lib/process-services/process-list/components/process-filters.component.ts) |
|
||||
| [Process instance details component](process-services/process-instance-details.component.md) | Displays detailed information about a specified process instance | [Source](../lib/process-services/process-list/components/process-instance-details.component.ts) |
|
||||
| [Process instance header component](process-services/process-instance-header.component.md) | Sub-component of the process details component, which renders some general information about the selected process. | [Source](../lib/process-services/process-list/components/process-instance-header.component.ts) |
|
||||
| [Process instance tasks component](process-services/process-instance-tasks.component.md) | Lists both the active and completed tasks associated with a particular process instance | [Source](../lib/process-services/process-list/components/process-instance-tasks.component.ts) |
|
||||
| [Process list component](process-services/process-list.component.md) | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services/process-list/components/process-list.component.ts) |
|
||||
| [Start process component](process-services/start-process.component.md) | Starts a process. | [Source](../lib/process-services/process-list/components/start-process.component.ts) |
|
||||
| [Attach form component](process-services/attach-form.component.md) | This component can be used when there is no form attached to a task and you want to add one. | [Source](../lib/process-services/task-list/components/attach-form.component.ts) |
|
||||
| [Checklist component](process-services/checklist.component.md) | Shows the checklist task functionality. | [Source](../lib/process-services/task-list/components/checklist.component.ts) |
|
||||
| [Start task component](process-services/start-task.component.md) | Creates/Starts a new task for the specified app. | [Source](../lib/process-services/task-list/components/start-task.component.ts) |
|
||||
| [Task details component](process-services/task-details.component.md) | Shows the details of the task ID passed in as input. | [Source](../lib/process-services/task-list/components/task-details.component.ts) |
|
||||
| [Task filters component](process-services/task-filters.component.md) | Shows all available filters. | [Source](../lib/process-services/task-list/components/task-filters.component.ts) |
|
||||
| [Task header component](process-services/task-header.component.md) | Shows all the information related to a task. | [Source](../lib/process-services/task-list/components/task-header.component.ts) |
|
||||
| [Task list component](process-services/task-list.component.md) | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services/task-list/components/task-list.component.ts) |
|
||||
| [Task standalone component](process-services/task-standalone.component.md) | This component can be used when the task doesn't belong to any processes. | [Source](../lib/process-services/task-list/components/task-standalone.component.ts) |
|
||||
| [Apps List Component](process-services/components/apps-list.component.md) | Shows all available apps. | [Source](../lib/process-services/app-list/apps-list.component.ts) |
|
||||
| [Attach Form component](process-services/components/attach-form.component.md) | This component can be used when there is no form attached to a task and you want to add one. | [Source](../lib/process-services/task-list/components/attach-form.component.ts) |
|
||||
| [Checklist Component](process-services/components/checklist.component.md) | Shows the checklist task functionality. | [Source](../lib/process-services/task-list/components/checklist.component.ts) |
|
||||
| [Create Process Attachment component](process-services/components/create-process-attachment.component.md) | Displays an Upload Component (Drag and Click) to upload the attachment to a specified process instance. | [Source](../lib/process-services/attachment/create-process-attachment.component.ts) |
|
||||
| [Create Task Attachment Component](process-services/components/create-task-attachment.component.md) | Displays an Upload Component (Drag and Click) to upload the attachment to a specified task. | [Source](../lib/process-services/attachment/create-task-attachment.component.ts) |
|
||||
| [People list component](process-services/components/people-list.component.md) | Shows a list of users (people). | [Source](../lib/process-services/people/components/people-list/people-list.component.ts) |
|
||||
| [People Search component](process-services/components/people-search.component.md) | Searches users/people. | [Source](../lib/process-services/people/components/people-search/people-search.component.ts) |
|
||||
| [People Component](process-services/components/people.component.md) | Displays users involved with a specified task | [Source](../lib/process-services/people/components/people/people.component.ts) |
|
||||
| [Process Attachment List component](process-services/components/process-attachment-list.component.md) | Displays documents attached to a specified process instance. | [Source](../lib/process-services/attachment/process-attachment-list.component.ts) |
|
||||
| [Process Instance Comments component](process-services/components/process-comments.component.md) | Displays comments associated with a particular process instance and allows the user to add new comments. | [Source](../lib/process-services/process-comments/process-comments.component.ts) |
|
||||
| [Process Filters Component](process-services/components/process-filters.component.md) | Collection of criteria used to filter process instances, which may be customized by users. | [Source](../lib/process-services/process-list/components/process-filters.component.ts) |
|
||||
| [Process Details component](process-services/components/process-instance-details.component.md) | Displays detailed information about a specified process instance | [Source](../lib/process-services/process-list/components/process-instance-details.component.ts) |
|
||||
| [Process Instance Details Header component](process-services/components/process-instance-header.component.md) | Sub-component of the process details component, which renders some general information about the selected process. | [Source](../lib/process-services/process-list/components/process-instance-header.component.ts) |
|
||||
| [Process Instance Tasks component](process-services/components/process-instance-tasks.component.md) | Lists both the active and completed tasks associated with a particular process instance | [Source](../lib/process-services/process-list/components/process-instance-tasks.component.ts) |
|
||||
| [Process Instance List](process-services/components/process-list.component.md) | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services/process-list/components/process-list.component.ts) |
|
||||
| [Select App Component](process-services/components/select-apps-dialog.component.md) | Shows all available apps and returns the selected app. | [Source](../lib/process-services/app-list/select-apps-dialog-component.ts) |
|
||||
| [Start Process component](process-services/components/start-process.component.md) | Starts a process. | [Source](../lib/process-services/process-list/components/start-process.component.ts) |
|
||||
| [Start Task Component](process-services/components/start-task.component.md) | Creates/Starts a new task for the specified app. | [Source](../lib/process-services/task-list/components/start-task.component.ts) |
|
||||
| [Task Attachment List Component](process-services/components/task-attachment-list.component.md) | Displays documents attached to a specified task. | [Source](../lib/process-services/attachment/task-attachment-list.component.ts) |
|
||||
| [Task Details component](process-services/components/task-details.component.md) | Shows the details of the task ID passed in as input. | [Source](../lib/process-services/task-list/components/task-details.component.ts) |
|
||||
| [Task Filters component](process-services/components/task-filters.component.md) | Shows all available filters. | [Source](../lib/process-services/task-list/components/task-filters.component.ts) |
|
||||
| [Task Header component](process-services/components/task-header.component.md) | Shows all the information related to a task. | [Source](../lib/process-services/task-list/components/task-header.component.ts) |
|
||||
| [Task List component](process-services/components/task-list.component.md) | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services/task-list/components/task-list.component.ts) |
|
||||
| [Task Standalone component](process-services/components/task-standalone.component.md) | This component can be used when the task doesn't belong to any processes. | [Source](../lib/process-services/task-list/components/task-standalone.component.ts) |
|
||||
|
||||
## Directives
|
||||
### Directives
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Process audit directive](process-services/process-audit.directive.md) | Fetches the Process Audit information in PDF or JSON format. | [Source](../lib/process-services/process-list/components/process-audit.directive.ts) |
|
||||
| [Task audit directive](process-services/task-audit.directive.md) | Fetches the Task Audit information in PDF or JSON format. | [Source](../lib/process-services/task-list/components/task-audit.directive.ts) |
|
||||
| [Process Audit Directive](process-services/directives/process-audit.directive.md) | Fetches the Process Audit information in PDF or JSON format. | [Source](../lib/process-services/process-list/components/process-audit.directive.ts) |
|
||||
| [Task Audit Directive](process-services/directives/task-audit.directive.md) | Fetches the Task Audit information in PDF or JSON format. | [Source](../lib/process-services/task-list/components/task-audit.directive.ts) |
|
||||
|
||||
## Services
|
||||
### Services
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Process filter service](process-services/process-filter.service.md) | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services/process-list/services/process-filter.service.ts) |
|
||||
| [Process service](process-services/process.service.md) | Manages Process Instances, Process Variables, and Process Audit Log. | [Source](../lib/process-services/process-list/services/process.service.ts) |
|
||||
| [Task filter service](process-services/task-filter.service.md) | Manage Task Filters, which are pre-configured Task Instance queries. | [Source](../lib/process-services/task-list/services/task-filter.service.ts) |
|
||||
| [Tasklist service](process-services/tasklist.service.md) | Manages Task Instances. | [Source](../lib/process-services/task-list/services/tasklist.service.ts) |
|
||||
| [Process Filter Service](process-services/services/process-filter.service.md) | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services/process-list/services/process-filter.service.ts) |
|
||||
| [Process Service](process-services/services/process.service.md) | Manages process instances, process variables, and process audit Log. | [Source](../lib/process-services/process-list/services/process.service.ts) |
|
||||
| [Task Filter Service](process-services/services/task-filter.service.md) | Manage Task Filters, which are pre-configured Task Instance queries. | [Source](../lib/process-services/task-list/services/task-filter.service.ts) |
|
||||
| [Tasklist Service](process-services/services/tasklist.service.md) | Manages Task Instances. | [Source](../lib/process-services/task-list/services/tasklist.service.ts) |
|
||||
|
||||
<!--process-services end-->
|
||||
|
||||
[(Back to Contents)](#contents)
|
||||
|
||||
# Process Services Cloud API
|
||||
## Process Services Cloud API
|
||||
|
||||
Contains components related to Process Services Cloud.
|
||||
See the library's
|
||||
@@ -389,42 +397,52 @@ for more information about installing and using the source code.
|
||||
|
||||
<!--process-services-cloud start-->
|
||||
|
||||
## Components
|
||||
### Components
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [App list cloud component](process-services-cloud/app-list-cloud.component.md)  | Shows all deployed cloud application instances. | [Source](../lib/process-services-cloud/src/lib/app/components/app-list-cloud.component.ts) |
|
||||
| [Group cloud component](process-services-cloud/group-cloud.component.md)  | Searches Groups. | [Source](../lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts) |
|
||||
| [Edit process filter cloud component](process-services-cloud/edit-process-filter-cloud.component.md)  | Shows Process Filter Details. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts) |
|
||||
| [Process filters cloud component](process-services-cloud/process-filters-cloud.component.md)  | Lists all available process filters and allows to select a filter. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/process-filters-cloud.component.ts) |
|
||||
| [Process list cloud component](process-services-cloud/process-list-cloud.component.md)  | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts) |
|
||||
| [Start process cloud component](process-services-cloud/start-process-cloud.component.md)  | Starts a process. | [Source](../lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts) |
|
||||
| [People cloud component](process-services-cloud/people-cloud.component.md)  | Allows one or more users to be selected (with auto-suggestion) based on the input parameters. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/people-cloud/people-cloud.component.ts) |
|
||||
| [Start task cloud component](process-services-cloud/start-task-cloud.component.md)  | Creates/starts a new task for the specified app. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts) |
|
||||
| [Edit task filter cloud component](process-services-cloud/edit-task-filter-cloud.component.md)  | Edits Task Filter Details. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts) |
|
||||
| [Task filters cloud component](process-services-cloud/task-filters-cloud.component.md)  | Shows all available filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/task-filters-cloud.component.ts) |
|
||||
| [Task header cloud component](process-services-cloud/task-header-cloud.component.md)  | Shows all the information related to a task. | [Source](../lib/process-services-cloud/src/lib/task/task-header/components/task-header-cloud.component.ts) |
|
||||
| [Task list cloud component](process-services-cloud/task-list-cloud.component.md)  | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts) |
|
||||
| [App List Cloud Component](process-services-cloud/components/app-list-cloud.component.md)  | Shows all deployed cloud application instances. | [Source](../lib/process-services-cloud/src/lib/app/components/app-list-cloud.component.ts) |
|
||||
| [Edit Process Filter Cloud component](process-services-cloud/components/edit-process-filter-cloud.component.md)  | Shows/edits process filter details. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts) |
|
||||
| [Edit Task Filter Cloud component](process-services-cloud/components/edit-task-filter-cloud.component.md)  | Edits task filter details. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts) |
|
||||
| [Group Cloud component](process-services-cloud/components/group-cloud.component.md)  | Searches Groups. | [Source](../lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts) |
|
||||
| [People Cloud Component](process-services-cloud/components/people-cloud.component.md)  | Allows one or more users to be selected (with auto-suggestion) based on the input parameters. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/people-cloud/people-cloud.component.ts) |
|
||||
| [Process Filters Cloud Component](process-services-cloud/components/process-filters-cloud.component.md)  | Lists all available process filters and allows to select a filter. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/process-filters-cloud.component.ts) |
|
||||
| [Process Header Cloud Component](process-services-cloud/components/process-header-cloud.component.md)  | Shows all the information related to a process instance. | [Source](../lib/process-services-cloud/src/lib/process/process-header/components/process-header-cloud.component.ts) |
|
||||
| [Process Instance List Cloud component](process-services-cloud/components/process-list-cloud.component.md)  | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts) |
|
||||
| [Start Process Cloud Component](process-services-cloud/components/start-process-cloud.component.md)  | Starts a process. | [Source](../lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts) |
|
||||
| [Start Task Cloud Component](process-services-cloud/components/start-task-cloud.component.md)  | Creates/starts a new task for the specified app. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts) |
|
||||
| [Task Filters Cloud component](process-services-cloud/components/task-filters-cloud.component.md)  | Shows all available filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/task-filters-cloud.component.ts) |
|
||||
| [Task Header Cloud Component](process-services-cloud/components/task-header-cloud.component.md)  | Shows all the information related to a task. | [Source](../lib/process-services-cloud/src/lib/task/task-header/components/task-header-cloud.component.ts) |
|
||||
| [Task List Cloud component](process-services-cloud/components/task-list-cloud.component.md)  | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts) |
|
||||
|
||||
## Pipes
|
||||
### Directives
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Group initial pipe](process-services-cloud/group-initial.pipe.md) | Extracts the initial character from a group name. | [Source](../lib/process-services-cloud/src/lib/group/pipe/group-initial.pipe.ts) |
|
||||
| [Claim Task Directive](process-services-cloud/directives/claim-task.directive.md)  | Claims a task | [Source](../lib/process-services-cloud/src/lib/task/directives/claim-task.directive.ts) |
|
||||
| [Complete Task Directive](process-services-cloud/directives/complete-task.directive.md)  | Completes a task. | [Source](../lib/process-services-cloud/src/lib/task/directives/complete-task.directive.ts) |
|
||||
| [Unclaim Task Directive](process-services-cloud/directives/unclaim-task.directive.md)  | Unclaims a task | [Source](../lib/process-services-cloud/src/lib/task/directives/unclaim-task.directive.ts) |
|
||||
|
||||
## Services
|
||||
### Pipes
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Apps process cloud service](process-services-cloud/apps-process-cloud.service.md)  | Gets details of deployed apps for the current user. | [Source](../lib/process-services-cloud/src/lib/app/services/apps-process-cloud.service.ts) |
|
||||
| [Group cloud service](process-services-cloud/group-cloud.service.md)  | Searches and gets information for groups. | [Source](../lib/process-services-cloud/src/lib/group/services/group-cloud.service.ts) |
|
||||
| [Process filter cloud service](process-services-cloud/process-filter-cloud.service.md)  | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts) |
|
||||
| [Process list cloud service](process-services-cloud/process-list-cloud.service.md)  | Searches processes. | [Source](../lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts) |
|
||||
| [Start process cloud service](process-services-cloud/start-process-cloud.service.md)  | Gets process definitions and starts processes. | [Source](../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
|
||||
| [Start task cloud service](process-services-cloud/start-task-cloud.service.md)  | Starts standalone tasks. | [Source](../lib/process-services-cloud/src/lib/task/start-task/services/start-task-cloud.service.ts) |
|
||||
| [Task filter cloud service](process-services-cloud/task-filter-cloud.service.md)  | Manages task filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
|
||||
| [Task header cloud service](process-services-cloud/task-header-cloud.service.md)  | Manages cloud tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-header/services/task-header-cloud.service.ts) |
|
||||
| [Task list cloud service](process-services-cloud/task-list-cloud.service.md)  | Searches tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
|
||||
| [Group initial pipe](process-services-cloud/pipes/group-initial.pipe.md) | Extracts the initial character from a group name. | [Source](../lib/process-services-cloud/src/lib/group/pipe/group-initial.pipe.ts) |
|
||||
|
||||
### Services
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Apps Process Cloud Service](process-services-cloud/services/apps-process-cloud.service.md)  | Gets details of deployed apps for the current user. | [Source](../lib/process-services-cloud/src/lib/app/services/apps-process-cloud.service.ts) |
|
||||
| [Group Cloud Service](process-services-cloud/services/group-cloud.service.md)  | Searches and gets information for groups. | [Source](../lib/process-services-cloud/src/lib/group/services/group-cloud.service.ts) |
|
||||
| [Process Filter Cloud Service](process-services-cloud/services/process-filter-cloud.service.md)  | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts) |
|
||||
| [Process Header Cloud Service](process-services-cloud/services/process-header-cloud.service.md)  | Manages cloud process instances. | [Source](../lib/process-services-cloud/src/lib/process/process-header/services/process-header-cloud.service.ts) |
|
||||
| [Process List Cloud Service](process-services-cloud/services/process-list-cloud.service.md)  | Searches processes. | [Source](../lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts) |
|
||||
| [Start Process Cloud Service](process-services-cloud/services/start-process-cloud.service.md)  | Gets process definitions and starts processes. | [Source](../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
|
||||
| [Start Task Cloud Service](process-services-cloud/services/start-task-cloud.service.md)  | Starts standalone tasks. | [Source](../lib/process-services-cloud/src/lib/task/start-task/services/start-task-cloud.service.ts) |
|
||||
| [Task Cloud Service](process-services-cloud/services/task-cloud.service.md)  | Manages task cloud. | [Source](../lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts) |
|
||||
| [Task Filter Cloud Service](process-services-cloud/services/task-filter-cloud.service.md)  | Manages task filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
|
||||
| [Task List Cloud Service](process-services-cloud/services/task-list-cloud.service.md)  | Searches tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
|
||||
|
||||
<!--process-services-cloud end-->
|
||||
|
||||
@@ -439,17 +457,18 @@ for more information about installing and using the source code.
|
||||
|
||||
<!--extensions start-->
|
||||
|
||||
## Components
|
||||
### Components
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Dynamic component](extensions/dynamic.component.md)  | Displays dynamically-loaded extension components. | [Source](../lib/extensions/src/lib/components/dynamic-component/dynamic.component.ts) |
|
||||
| [Dynamic Component](extensions/components/dynamic.component.md)  | Displays dynamically-loaded extension components. | [Source](../lib/extensions/src/lib/components/dynamic-component/dynamic.component.ts) |
|
||||
| [Preview Extension Component](extensions/components/preview-extension.component.md)  | Supports dynamically-loaded viewer preview extensions. | [Source](../lib/extensions/src/lib/components/viewer/preview-extension.component.ts) |
|
||||
|
||||
## Services
|
||||
### Services
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Extension service](extensions/extension.service.md)  | Manages and runs basic extension functionality. | [Source](../lib/extensions/src/lib/services/extension.service.ts) |
|
||||
| [Extension Service](extensions/services/extension.service.md)  | Manages and runs basic extension functionality. | [Source](../lib/extensions/src/lib/services/extension.service.ts) |
|
||||
|
||||
<!--extensions end-->
|
||||
|
||||
@@ -464,15 +483,15 @@ for more information about installing and using the source code.
|
||||
|
||||
<!--insights start-->
|
||||
|
||||
## Components
|
||||
### Components
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Widget component](insights/widget.component.md) | Base class for standard and custom widget classes. | [Source](../lib/insights/analytics-process/components/widgets/widget.component.ts) |
|
||||
| [Analytics generator component](insights/analytics-generator.component.md) | Generates and shows charts | [Source](../lib/insights/analytics-process/components/analytics-generator.component.ts) |
|
||||
| [Analytics report list component](insights/analytics-report-list.component.md) | Shows a list of all available reports | [Source](../lib/insights/analytics-process/components/analytics-report-list.component.ts) |
|
||||
| [Analytics component](insights/analytics.component.md) | Shows the charts related to the reportId passed as input | [Source](../lib/insights/analytics-process/components/analytics.component.ts) |
|
||||
| [Diagram component](insights/diagram.component.md) | Displays process diagrams. | [Source](../lib/insights/diagram/components/diagram.component.ts) |
|
||||
| [Analytics Generator Component](insights/components/analytics-generator.component.md) | Generates and shows charts | [Source](../lib/insights/analytics-process/components/analytics-generator.component.ts) |
|
||||
| [APS Analytics List Component](insights/components/analytics-report-list.component.md) | Shows a list of all available reports | [Source](../lib/insights/analytics-process/components/analytics-report-list.component.ts) |
|
||||
| [APS Analytics Component](insights/components/analytics.component.md) | Shows the charts related to the reportId passed as input | [Source](../lib/insights/analytics-process/components/analytics.component.ts) |
|
||||
| [Diagram Component](insights/components/diagram.component.md) | Displays process diagrams. | [Source](../lib/insights/diagram/components/diagram.component.ts) |
|
||||
| [Widget component](insights/components/widget.component.md) | Base class for standard and custom widget classes. | [Source](../lib/insights/analytics-process/components/widgets/widget.component.ts) |
|
||||
|
||||
<!--insights end-->
|
||||
|
||||
|
||||
+43
-6
@@ -14,14 +14,51 @@
|
||||
- working-with-nodes-js-api.md: 'Working with nodes using the JS-API'
|
||||
- content-metadata-component.md: 'Content metadata component'
|
||||
- user-guide: 'User guide'
|
||||
- core: 'Core API'
|
||||
- content-services: 'Content Services API'
|
||||
- process-services: 'Process Services API'
|
||||
- process-services-cloud: 'Process Services Cloud API'
|
||||
- extensions: 'Extensions API'
|
||||
- insights: 'Insights API'
|
||||
- core:
|
||||
title: 'Core API'
|
||||
children:
|
||||
- components: 'Components'
|
||||
- directives: 'Directives'
|
||||
- interfaces: 'Interfaces'
|
||||
- models: 'Models'
|
||||
- pipes: 'Pipes'
|
||||
- services: 'Services'
|
||||
- widgets: 'Widgets'
|
||||
- content-services:
|
||||
title: 'Content Services API'
|
||||
children:
|
||||
- components: 'Components'
|
||||
- dialogs: 'Dialogs'
|
||||
- directives: 'Directives'
|
||||
- interfaces: 'Interfaces'
|
||||
- models: 'Models'
|
||||
- pipes: 'Pipes'
|
||||
- services: 'Services'
|
||||
- process-services:
|
||||
title: 'Process Services API'
|
||||
children:
|
||||
- components: 'Components'
|
||||
- directives: 'Directives'
|
||||
- services: 'Services'
|
||||
- process-services-cloud:
|
||||
title: 'Process Services Cloud API'
|
||||
children:
|
||||
- components: 'Components'
|
||||
- directives: 'Directives'
|
||||
- pipes: 'Pipes'
|
||||
- services: 'Services'
|
||||
- extensions:
|
||||
title: 'Extensions API'
|
||||
children:
|
||||
- components: 'Components'
|
||||
- services: 'Services'
|
||||
- insights:
|
||||
title: 'Insights API'
|
||||
children:
|
||||
- components: 'Components'
|
||||
- roadmap.md: 'Roadmap'
|
||||
- versionIndex.md: 'Version index'
|
||||
- compatibility.md: 'Version compatibility'
|
||||
- release-notes: 'Release notes'
|
||||
- upgrade-guide: 'Upgrade Guide'
|
||||
- license-info: 'License info'
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
---
|
||||
Title: Breaking changes, 2.6.0 -> 3.0.0
|
||||
---
|
||||
|
||||
# Breaking changes, 2.6.0 -> 3.0.0
|
||||
|
||||
This document lists all the deprecated ADF v2.x components that were removed for v3.0.0:
|
||||
|
||||
- [PR ADF-3354](https://github.com/Alfresco/alfresco-ng2-components/pull/3980):
|
||||
The `adf-accordion` component has been removed.
|
||||
|
||||
```html
|
||||
<adf-accordion>
|
||||
<adf-accordion-group>
|
||||
...
|
||||
```
|
||||
|
||||
Use the Angular Material [Expansion Panel](https://material.angular.io/components/expansion/api)
|
||||
as an alternative.
|
||||
|
||||
- [PR ADF-3746](https://github.com/Alfresco/alfresco-ng2-components/pull/3975): In order to
|
||||
prevent our ADF style classes interfering with other projects, a new set of style lint rules has
|
||||
been added. These rules enforce the use of the **adf-** prefix in all our classes. Please refer
|
||||
to the PR to see the list of the all styles that were changed. If you have been rewriting any ADF
|
||||
classes without the **adf-** prefix, you will now need to update them. For example, `.card-view`
|
||||
is now `.adf-card-view`.
|
||||
|
||||
- [PR ADF-1443](https://github.com/Alfresco/alfresco-ng2-components/pull/4028): [`DownloadZipDialogComponent`](../../lib/core/dialogs/download-zip.dialog.ts)
|
||||
and [`NodeDownloadDirective`](../core/directives/node-download.directive.md) have been moved from the Content Services module to the Core module.
|
||||
This modification has enabled us to remove some code duplication between the two modules.
|
||||
|
||||
- [PR ADF-1873](https://github.com/Alfresco/alfresco-ng2-components/pull/4145):
|
||||
- `adf-search-control`: The `QueryBody`, and
|
||||
`customQueryBody` inputs of the [`SearchControlComponent`](../content-services/components/search-control.component.md) have been removed in favor of the
|
||||
[custom search configuration interface](../core/interfaces/search-configuration.interface.md).
|
||||
The inputs were deprecated in v2.1.0.
|
||||
- `<adf-viewer>`: The `fileNodeId` input that supplies the [`Node`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) Id of the file to
|
||||
load has been renamed as `nodeId`.
|
||||
- `<adf-viewer>`: The `allowShare` input has been removed. Inject the
|
||||
[Share Directive](../content-services/directives/content-node-share.directive.md) in a
|
||||
[custom toolbar](../core/components/viewer.component.md#custom-toolbar) to recreate the behavior of the
|
||||
Share button.
|
||||
- `<adf-viewer>`: The `allowSidebar` input has now been split into `allowLeftSidebar` and `allowRightSidebar`.
|
||||
- `<adf-viewer>`: The `showSidebar` input has now been split into `showLeftSidebar` and `showRightSidebar`.
|
||||
- `<adf-viewer>`: The `sidebarTemplate` input has now been split into `sidebarLeftTemplate` and
|
||||
`sidebarRightTemplate`.
|
||||
- `<adf-viewer>`: The `sidebarPosition` input has been removed since it is not needed anymore
|
||||
(you can now have two sidebars on the left and right at the same time).
|
||||
- `analytics-report-list` is now `adf-analytics-report-list`.
|
||||
- `analytics-report-parameters` is now `adf-analytics-report-parameters`.
|
||||
- `CommentProcessModel` was moved into the Core library with the name [`CommentModel`](../../lib/core/models/comment.model.ts) in v2.3.0. Now you
|
||||
can only import it from [`CoreModule`](../../lib/core/core.module.ts).
|
||||
- [`CommentsModule`](../../lib/core/comments/comments.module.ts), [`CommentListComponent`](../core/components/comment-list.component.md), and [`CommentsComponent`](../core/components/comments.component.md) are no longer exported from
|
||||
[`ProcessModule`](../../lib/process-services/process.module.ts) but now from [`CoreModule`](../../lib/core/core.module.ts). The old usage was deprecated in v2.3.0.
|
||||
- `<adf-upload-drag-area>`: The `parentId` input has been renamed as `rootFolderId`. The old
|
||||
name was deprecated in v2.4.0.
|
||||
- The `createFolder` event of the [`UploadBase`](../../lib/content-services/upload/components/base-upload/upload-base.ts) class (emitted when a folder was
|
||||
created) was deprecated in v2.4.0 and is no longer used by the framework
|
||||
Use the `success` event instead.
|
||||
- `<adf-filters>` is now `<adf-task-filters>`. The old usage was deprecated in v2.4.0.
|
||||
- `adf-restore`, which was deprecated in v2.4.0, has been removed because it was not
|
||||
working properly. A new feature to implement this functionality correctly has
|
||||
been created. See [ADF-3901](https://issues.alfresco.com/jira/browse/ADF-3901)
|
||||
for more information.
|
||||
- `<adf-form>`: The `onError` event (emitted when any error occurs) was deprecated
|
||||
in v2.4.0. It has now been renamed as `error`.
|
||||
- `context-menu-holder` is now `adf-context-menu-holder`.
|
||||
- The `file-draggable` event (emitted when one or more files are dragged and dropped
|
||||
onto the draggable element) was deprecated in v2.4.0 and has now been removed.
|
||||
Use `filesDropped` instead to get the same effect.
|
||||
- The [`DocumentListService`](../content-services/services/document-list.service.md)`.hasPermission` method was redundant and has now been removed.
|
||||
Use [`ContentService`](../core/services/content.service.md)`.hasAllowableOperations` instead.
|
||||
- The `diagram-sequence-flow` tag has now been renamed as `adf-diagram-sequence-flow`.
|
||||
The old name was deprecated in v2.3.0.
|
||||
- The `diagram-alfresco-publish-task` tag has now been renamed as
|
||||
`adf-diagram-publish-task`. The old name was deprecated in v2.3.0.
|
||||
- `<adf-login>`: The `disableCsrf` input has been removed. Use the `disableCsrf`
|
||||
property in `app.config.json` instead.
|
||||
- `<adf-login>`: The `providers` input has been removed. Use the `providers`
|
||||
property in `app.config.json` instead.
|
||||
- `<adf-document-list>`: The `skipCount` input has been removed. You can define
|
||||
the same value in pagination using the `pageSize` property.
|
||||
- `<adf-document-list>`: The `enableInfiniteScrolling` input has been removed since
|
||||
it is not used anymore. To choose the pagination strategy, add either the
|
||||
[Infinite Pagination Component](../core/components/infinite-pagination.component.md) or the normal [Pagination Component](../core/components/pagination.component.md) and assign
|
||||
your document list as the `target`.
|
||||
- `<adf-document-list>`: The `folderNode` input has been removed. Use
|
||||
the `currentFolderId` and `node` inputs instead.
|
||||
- `SettingsService` has been removed. This was deprecated in v1.7.0.
|
||||
- [`FormService`](../core/services/form.service.md): the `addFieldsToAForm` method has been removed.
|
||||
- `<file-uploading-dialog>` has been renamed to `<adf-file-uploading-dialog>`.
|
||||
- [PR JS-API](https://github.com/Alfresco/alfresco-ng2-components/pull/4097):
|
||||
|
||||
- The name package of the JS-API has been modified to use the namespace and all
|
||||
**alfresco-js-api** imports need to be modified to **@alfresco/js-api**.
|
||||
See the official
|
||||
[JS-API documentation](https://github.com/Alfresco/alfresco-js-api)
|
||||
for more details on how to use the new v3.0.0
|
||||
[Legacy Endpoint porting](https://github.com/Alfresco/alfresco-js-api#legacy-endpoint-porting-ver-2xx).
|
||||
|
||||
- The JS-API `callApi` method signature has been modified. The `authNames`
|
||||
parameter has now been removed because the type of authentication is configured
|
||||
when the JS-API is constructed.
|
||||
|
||||
v2.6.1 and before:
|
||||
|
||||
```ts
|
||||
callApi(
|
||||
path: string,
|
||||
httpMethod: string,
|
||||
pathParams?: any,
|
||||
queryParams?: any,
|
||||
headerParams?: any,
|
||||
formParams?: any,
|
||||
bodyParam?: any,
|
||||
authNames?: string[],
|
||||
contentTypes?: string[],
|
||||
accepts?: string[],
|
||||
returnType?: any,
|
||||
contextRoot?: string,
|
||||
responseType?: string
|
||||
): Promise<any>;
|
||||
```
|
||||
|
||||
After v3.0.0:
|
||||
|
||||
```ts
|
||||
callApi(
|
||||
path: string,
|
||||
httpMethod: string,
|
||||
pathParams?: any,
|
||||
queryParams?: any,
|
||||
headerParams?: any,
|
||||
formParams?: any,
|
||||
bodyParam?: any,
|
||||
contentTypes?: string[],
|
||||
accepts?: string[],
|
||||
returnType?: any,
|
||||
contextRoot?: string,
|
||||
responseType?: string
|
||||
): Promise<any>;
|
||||
```
|
||||
|
||||
- [PR ADF-4062](https://github.com/Alfresco/alfresco-ng2-components/pull/4294)
|
||||
- `adf-node-permission` has been renamed `adf-check-allowable-operation`.
|
||||
- [`ContentService`](../core/services/content.service.md)`.hasPermission` was actually checking the `allowableOperation` value
|
||||
and has been renamed as [`ContentService`](../core/services/content.service.md)`.hasAllowableOperations`.
|
||||
- [`ContentService`](../core/services/content.service.md)`.hasPermissions` is a new method which actually _does_ check
|
||||
the permissions.
|
||||
+12
-4
@@ -5,15 +5,23 @@ Title: Version compatibility
|
||||
# Version compatibility
|
||||
|
||||
The table below shows the versions of Alfresco's backend services that
|
||||
have been tested with latest versions of ADF. Note that *smoke testing*
|
||||
means that the version should be safe to use (ie, it won't "catch fire")
|
||||
but it is not guaranteed to be free of minor issues or missing features.
|
||||
have been tested with latest versions of ADF.
|
||||
|
||||
Our goal is to support ADF for *all* versions of Content Services
|
||||
and Process Services. However, we only test against a subset of those
|
||||
versions that believe to be representative. If a bug is reported for a
|
||||
version that we don't test against then the bug will still be fixed in
|
||||
the next release (ie, the fact that a version is not tested doesn't mean that it isn't supported).
|
||||
|
||||
Note that [*smoke testing*](https://en.wikipedia.org/wiki/Smoke_testing_%28software%29) implies that the product will not "go up in smoke" when
|
||||
used but the tests are quicker and not as thorough as with *full testing*.
|
||||
|
||||
You can find further information about released versions of ADF in the
|
||||
[version index](versionIndex.md) and the [release notes](release-notes/README.md).
|
||||
|
||||
| ADF version | ACS versions | APS versions |
|
||||
| ADF version | Content Services | Process Services |
|
||||
| -- | -- | -- |
|
||||
| [3.1.0](versionIndex.md#v310) | **Full test:** v6.1.0 RC7 <br/> **Smoke test:** v5.2.4 | **Full test:** v2.0.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
|
||||
| [3.0.0](versionIndex.md#v300) | **Full test:** v6.1.0 RC7 <br/> **Smoke test:** v5.2.4 | **Full test:** v2.0.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
|
||||
| [2.6.0](versionIndex.md#v260) | **Full test:** v6.0.0, v5.2.4 <br/> **Smoke test:** v5.2.3 | **Full test:** v1.9.0 <br/>**Smoke test:** v1.8.1, v1.7.0, v1.6.4 |
|
||||
| [2.5.0](versionIndex.md#v250) | **Full test:** v5.2.3 | **Full test:** v1.6.4 |
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
---
|
||||
Title: Content Services API
|
||||
Github only: true
|
||||
---
|
||||
|
||||
# Content Services API
|
||||
|
||||
Contains components related to Content Services.
|
||||
See the library's
|
||||
[README file](../../lib/content-services/README.md)
|
||||
for more information about installing and using the source code.
|
||||
|
||||
<!--content-services start-->
|
||||
|
||||
## Components
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Breadcrumb component](breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../../lib/content-services/breadcrumb/breadcrumb.component.ts) |
|
||||
| [Dropdown breadcrumb component](dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts) |
|
||||
| [Content metadata component](content-metadata.component.md) | Displays and edits metadata related to a node. | [Source](../../lib/content-services/content-metadata/components/content-metadata/content-metadata.component.ts) |
|
||||
| [Content metadata card component](content-metadata-card.component.md) | Displays and edits metadata related to a node. | [Source](../../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts) |
|
||||
| [Content node selector panel component](content-node-selector-panel.component.md) | Opens a Content Node Selector in its own dialog window. | [Source](../../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) |
|
||||
| [Content node selector component](content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../../lib/content-services/content-node-selector/content-node-selector.component.ts) |
|
||||
| [Content action component](content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../../lib/content-services/document-list/components/content-action/content-action.component.ts) |
|
||||
| [Document list component](document-list.component.md) | Displays the documents from a repository. | [Source](../../lib/content-services/document-list/components/document-list.component.ts) |
|
||||
| [Add permission dialog component](add-permission-dialog.component.md) | Displays a dialog to search for people or groups to add to the current node permissions. | [Source](../../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts) |
|
||||
| [Add permission panel component](add-permission-panel.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts) |
|
||||
| [Add permission component](add-permission.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts) |
|
||||
| [Permission list component](permission-list.component.md) | Shows node permissions as a table. | [Source](../../lib/content-services/permission-manager/components/permission-list/permission-list.component.ts) |
|
||||
| [Search check list component](search-check-list.component.md) | Implements a checklist widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-check-list/search-check-list.component.ts) |
|
||||
| [Search chip list component](search-chip-list.component.md) | Displays search criteria as a set of "chips". | [Source](../../lib/content-services/search/components/search-chip-list/search-chip-list.component.ts) |
|
||||
| [Search control component](search-control.component.md) | Displays a input text that shows find-as-you-type suggestions. | [Source](../../lib/content-services/search/components/search-control.component.ts) |
|
||||
| [Search date range component](search-date-range.component.md) | Implements a date range widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-date-range/search-date-range.component.ts) |
|
||||
| [Search filter component](search-filter.component.md) | Represents a main container component for custom search and faceted search settings. | [Source](../../lib/content-services/search/components/search-filter/search-filter.component.ts) |
|
||||
| [Search number range component](search-number-range.component.md) | Implements a number range widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-number-range/search-number-range.component.ts) |
|
||||
| [Search radio component](search-radio.component.md) | Implements a radio button list widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-radio/search-radio.component.ts) |
|
||||
| [Search slider component](search-slider.component.md) | Implements a numeric slider widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-slider/search-slider.component.ts) |
|
||||
| [Search sorting picker component](search-sorting-picker.component.md) | Provides an ability to select one of the predefined sorting definitions for search results: | [Source](../../lib/content-services/search/components/search-sorting-picker/search-sorting-picker.component.ts) |
|
||||
| [Search text component](search-text.component.md) | Implements a text input widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-text/search-text.component.ts) |
|
||||
| [Search component](search.component.md) | Searches items for supplied search terms. | [Source](../../lib/content-services/search/components/search.component.ts) |
|
||||
| [Sites dropdown component](sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../../lib/content-services/site-dropdown/sites-dropdown.component.ts) |
|
||||
| [Like component](like.component.md) | Allows a user to add "likes" to an item. | [Source](../../lib/content-services/social/like.component.ts) |
|
||||
| [Rating component](rating.component.md) | Allows a user to add ratings to an item. | [Source](../../lib/content-services/social/rating.component.ts) |
|
||||
| [Tag actions component](tag-actions.component.md) | Shows available actions for tags. | [Source](../../lib/content-services/tag/tag-actions.component.ts) |
|
||||
| [Tag list component](tag-list.component.md) | Shows tags for an item. | [Source](../../lib/content-services/tag/tag-list.component.ts) |
|
||||
| [Tag node list component](tag-node-list.component.md) | Shows tags for a node. | [Source](../../lib/content-services/tag/tag-node-list.component.ts) |
|
||||
| [Tree view component](tree-view.component.md) | Shows the folder and subfolders of a node as a tree view. | [Source](../../lib/content-services/tree-view/components/tree-view.component.ts) |
|
||||
| [File uploading dialog component](file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../../lib/content-services/upload/components/file-uploading-dialog.component.ts) |
|
||||
| [Upload button component](upload-button.component.md) | Activates a file upload. | [Source](../../lib/content-services/upload/components/upload-button.component.ts) |
|
||||
| [Upload drag area component](upload-drag-area.component.md) | Adds a drag and drop area to upload files to ACS. | [Source](../../lib/content-services/upload/components/upload-drag-area.component.ts) |
|
||||
| [Upload version button component](upload-version-button.component.md)  | Activates a file version upload. | [Source](../../lib/content-services/upload/components/upload-version-button.component.ts) |
|
||||
| [Version list component](version-list.component.md)  | Displays the version history of a node in a Version Manager component. | [Source](../../lib/content-services/version-manager/version-list.component.ts) |
|
||||
| [Version manager component](version-manager.component.md)  | Displays the version history of a node with the ability to upload a new version. | [Source](../../lib/content-services/version-manager/version-manager.component.ts) |
|
||||
| [Webscript component](webscript.component.md) | Provides access to Webscript features. | [Source](../../lib/content-services/webscript/webscript.component.ts) |
|
||||
|
||||
## Dialogs
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Confirm dialog](confirm.dialog.md) | Requests a yes/no choice from the user. | [Source](../../lib/content-services/dialogs/confirm.dialog.ts) |
|
||||
| [Library dialog](library.dialog.md) | Creates a new Content Services document library/site. | [Source](../../lib/content-services/dialogs/library/library.dialog.ts) |
|
||||
|
||||
## Directives
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Content node share directive](content-node-share.directive.md) | Creates and manages public shared links for files. | [Source](../../lib/content-services/content-node-share/content-node-share.directive.ts) |
|
||||
| [Node lock directive](node-lock.directive.md) | Locks or unlocks a node. | [Source](../../lib/content-services/directives/node-lock.directive.ts) |
|
||||
| [Folder create directive](folder-create.directive.md) | Creates folders. | [Source](../../lib/content-services/folder-directive/folder-create.directive.ts) |
|
||||
| [Folder edit directive](folder-edit.directive.md) | Allows folders to be edited. | [Source](../../lib/content-services/folder-directive/folder-edit.directive.ts) |
|
||||
| [Inherited button directive](inherited-button.directive.md) | Update the current node by adding/removing the inherited permissions. | [Source](../../lib/content-services/permission-manager/components/inherited-button.directive.ts) |
|
||||
| [File draggable directive](file-draggable.directive.md) | Provides drag-and-drop features for an element such as a `div`. | [Source](../../lib/content-services/upload/directives/file-draggable.directive.ts) |
|
||||
|
||||
## Models
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Image resolver model](image-resolver.model.md) | Defines the Image Resolver function used by the Document List Component. | [Source](../../lib/content-services/document-list/data/image-resolver.model.ts) |
|
||||
| [Row filter model](row-filter.model.md) | Defines the Row Filter function used by the Document List Component. | [Source](../../lib/content-services/document-list/data/row-filter.model.ts) |
|
||||
| [Permissions style model](permissions-style.model.md) | Sets custom CSS styles for rows of a Document List according to the item's permissions. | [Source](../../lib/content-services/document-list/models/permissions-style.model.ts) |
|
||||
|
||||
## Pipes
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [File upload error pipe](file-upload-error.pipe.md) | Converts an upload error code to an error message. | [Source](../../lib/content-services/upload/pipes/file-upload-error.pipe.ts) |
|
||||
|
||||
## Services
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Content node dialog service](content-node-dialog.service.md) | Displays and manages dialogs for selecting content to open, copy or upload. | [Source](../../lib/content-services/content-node-selector/content-node-dialog.service.ts) |
|
||||
| [Custom resources service](custom-resources.service.md) | Manages Document List information that is specific to a user. | [Source](../../lib/content-services/document-list/services/custom-resources.service.ts) |
|
||||
| [Document actions service](document-actions.service.md) | Implements the document menu actions for the Document List component. | [Source](../../lib/content-services/document-list/services/document-actions.service.ts) |
|
||||
| [Document list service](document-list.service.md) | Implements node operations used by the Document List component. | [Source](../../lib/content-services/document-list/services/document-list.service.ts) |
|
||||
| [Folder actions service](folder-actions.service.md) | Implements the folder menu actions for the Document List component. | [Source](../../lib/content-services/document-list/services/folder-actions.service.ts) |
|
||||
| [Node permission dialog service](node-permission-dialog.service.md) | Displays dialogs to let the user set node permissions. | [Source](../../lib/content-services/permission-manager/services/node-permission-dialog.service.ts) |
|
||||
| [Node permission service](node-permission.service.md) | Manages role permissions for content nodes. | [Source](../../lib/content-services/permission-manager/services/node-permission.service.ts) |
|
||||
| [Search filter service](search-filter.service.md) | Registers widgets for use with the Search Filter component. | [Source](../../lib/content-services/search/components/search-filter/search-filter.service.ts) |
|
||||
| [Search query builder service](search-query-builder.service.md) | Stores information from all the custom search and faceted search widgets, compiles and runs the final search query. | [Source](../../lib/content-services/search/search-query-builder.service.ts) |
|
||||
| [Rating service](rating.service.md) | Manages ratings for items in Content Services. | [Source](../../lib/content-services/social/services/rating.service.ts) |
|
||||
| [Tag service](tag.service.md) | Manages tags in Content Services. | [Source](../../lib/content-services/tag/services/tag.service.ts) |
|
||||
|
||||
<!--content-services end-->
|
||||
|
||||
## Other classes and interfaces
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Search Widget interface](search-widget.interface.md) | Specifies required properties for [Search filter component](../content-services/search-filter.component.md) widgets. | [Source](../../lib/content-services/search/search-widget.interface.ts) |
|
||||
+5
-5
@@ -5,11 +5,11 @@ Status: Active
|
||||
Last reviewed: 2018-11-13
|
||||
---
|
||||
|
||||
# [Add Permission Dialog Component](../../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts "Defined in add-permission-dialog.component.ts")
|
||||
# [Add Permission Dialog Component](../../../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts "Defined in add-permission-dialog.component.ts")
|
||||
|
||||
Displays a dialog to search for people or groups to add to the current node permissions.
|
||||
|
||||

|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
@@ -29,10 +29,10 @@ import { NodePermissionDialogService } from '@alfresco/adf-content-services';
|
||||
|
||||
## Details
|
||||
|
||||
This component extends the [Add permission panel component](../content-services/add-permission-panel.component.md)
|
||||
This component extends the [Add permission panel component](add-permission-panel.component.md)
|
||||
to apply the chosen selection of permissions when they are accepted.
|
||||
You can open the dialog with the `openAddPermissionDialog` method from the
|
||||
[Node Permission Dialog Service](../content-services/node-permission-dialog.service.md).
|
||||
[Node Permission Dialog Service](../services/node-permission-dialog.service.md).
|
||||
This returns an [`Observable`](http://reactivex.io/documentation/observable.html)
|
||||
that you can subscribe to so you can get the details of the node after the update.
|
||||
Use the `updateNodePermissionByDialog` nethod from the service to update node permissions, as shown in
|
||||
@@ -54,5 +54,5 @@ import { NodePermissionDialogService } from '@alfresco/adf-content-services';
|
||||
|
||||
## See also
|
||||
|
||||
- [Node permission dialog service](node-permission-dialog.service.md)
|
||||
- [Node permission dialog service](../services/node-permission-dialog.service.md)
|
||||
- [Add permission panel component](add-permission-panel.component.md)
|
||||
+6
-6
@@ -5,11 +5,11 @@ Status: Active
|
||||
Last reviewed: 2018-11-14
|
||||
---
|
||||
|
||||
# [Add Permission Panel Component](../../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts "Defined in add-permission-panel.component.ts")
|
||||
# [Add Permission Panel Component](../../../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts "Defined in add-permission-panel.component.ts")
|
||||
|
||||
Searches for people or groups to add to the current node permissions.
|
||||
|
||||

|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
@@ -35,11 +35,11 @@ This component uses a [Search component](search.component.md) to retrieve the
|
||||
groups and people that could be added to the permission list of the current node.
|
||||
The `select` event is emitted when a result is clicked from the list.
|
||||
|
||||
The [Add permission dialog component](../content-services/add-permission-dialog.component.md)
|
||||
and [Add permission component](../content-services/add-permission.component.md) extend this behavior by applying the chosen
|
||||
The [Add permission dialog component](add-permission-dialog.component.md)
|
||||
and [Add permission component](add-permission.component.md) extend this behavior by applying the chosen
|
||||
permissions to the node once the selection has been made.
|
||||
|
||||
## See also
|
||||
|
||||
- [Add permission dialog component](../content-services/add-permission-dialog.component.md)
|
||||
- [Add permission component](../content-services/add-permission.component.md)
|
||||
- [Add permission dialog component](add-permission-dialog.component.md)
|
||||
- [Add permission component](add-permission.component.md)
|
||||
+6
-6
@@ -5,11 +5,11 @@ Status: Active
|
||||
Last reviewed: 2019-01-16
|
||||
---
|
||||
|
||||
# [Add Permission Component](../../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts "Defined in add-permission.component.ts")
|
||||
# [Add Permission Component](../../../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts "Defined in add-permission.component.ts")
|
||||
|
||||
Searches for people or groups to add to the current node permissions.
|
||||
|
||||

|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
@@ -38,11 +38,11 @@ Searches for people or groups to add to the current node permissions.
|
||||
|
||||
## Details
|
||||
|
||||
This component extends the [Add permission panel component](../content-services/add-permission-panel.component.md)
|
||||
This component extends the [Add permission panel component](add-permission-panel.component.md)
|
||||
to apply the chosen selection of permissions when they are accepted. You can also
|
||||
use the [Add permission dialog component](../content-services/add-permission-dialog.component.md) to perform the same action using a dialog.
|
||||
use the [Add permission dialog component](add-permission-dialog.component.md) to perform the same action using a dialog.
|
||||
|
||||
## See also
|
||||
|
||||
- [Add permission panel component](../content-services/add-permission-panel.component.md)
|
||||
- [Add permission dialog component](../content-services/add-permission-dialog.component.md)
|
||||
- [Add permission panel component](add-permission-panel.component.md)
|
||||
- [Add permission dialog component](add-permission-dialog.component.md)
|
||||
+6
-6
@@ -5,11 +5,11 @@ Status: Active
|
||||
Last reviewed: 2019-01-16
|
||||
---
|
||||
|
||||
# [Breadcrumb Component](../../lib/content-services/breadcrumb/breadcrumb.component.ts "Defined in breadcrumb.component.ts")
|
||||
# [Breadcrumb Component](../../../lib/content-services/breadcrumb/breadcrumb.component.ts "Defined in breadcrumb.component.ts")
|
||||
|
||||
Indicates the current position within a navigation hierarchy.
|
||||
|
||||

|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
@@ -29,7 +29,7 @@ Indicates the current position within a navigation hierarchy.
|
||||
| maxItems | `number` | | Maximum number of nodes to display before wrapping them with a dropdown element. |
|
||||
| root | `string` | null | (optional) Name of the root element of the breadcrumb. You can use this property to rename "Company Home" to "Personal Files" for example. You can use an i18n resource key for the property value. |
|
||||
| rootId | `string` | null | (optional) The id of the root element. You can use this property to set a custom element the breadcrumb should start with. |
|
||||
| target | [`DocumentListComponent`](../content-services/document-list.component.md) | | (optional) [Document List component](../content-services/document-list.component.md) to operate with. The list will update when the breadcrumb is clicked. |
|
||||
| target | [`DocumentListComponent`](../../content-services/components/document-list.component.md) | | (optional) [Document List component](../../content-services/components/document-list.component.md) to operate with. The list will update when the breadcrumb is clicked. |
|
||||
| transform | `Function` | | Transformation to be performed on the chosen/folder node before building the breadcrumb UI. Can be useful when custom formatting is needed for the breadcrumb. You can change the path elements from the node that are used to build the breadcrumb using this function. |
|
||||
|
||||
### Events
|
||||
@@ -43,7 +43,7 @@ Indicates the current position within a navigation hierarchy.
|
||||
The `maxItems` property sets the maximum number of "crumbs" in the breadcrumb trail. If
|
||||
the actual path contains more nodes than this then the earliest items in the path will be
|
||||
removed and kept in a menu as with the
|
||||
[Dropdown breadcrumb component](../content-services/dropdown-breadcrumb.component.md).
|
||||
[Dropdown breadcrumb component](dropdown-breadcrumb.component.md).
|
||||
|
||||
### Using the transform function
|
||||
|
||||
@@ -53,7 +53,7 @@ the list by altering the node's `path.elements` property.
|
||||
|
||||
Below is an example of how you might do this with the
|
||||
[Content Node Selector component](content-node-selector.component.md). In this case, you pass the
|
||||
transform function via the `breadcrumbTransform` property of [`ContentNodeSelectorComponentData`](../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) during
|
||||
transform function via the `breadcrumbTransform` property of [`ContentNodeSelectorComponentData`](../../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) during
|
||||
initialization:
|
||||
|
||||
```ts
|
||||
@@ -92,7 +92,7 @@ A transform function to remove the "Sites" folder from the path would look somet
|
||||
|
||||
Below, the breadcrumb is shown before and after the transform function is applied:
|
||||
|
||||

|
||||

|
||||
|
||||
## See also
|
||||
|
||||
+15
-15
@@ -5,11 +5,11 @@ Status: Active
|
||||
Last reviewed: 2019-01-17
|
||||
---
|
||||
|
||||
# [Content Action component](../../lib/content-services/document-list/components/content-action/content-action.component.ts "Defined in content-action.component.ts")
|
||||
# [Content Action component](../../../lib/content-services/document-list/components/content-action/content-action.component.ts "Defined in content-action.component.ts")
|
||||
|
||||
Adds options to a Document List actions menu for a particular content type.
|
||||
|
||||

|
||||

|
||||
|
||||
## Contents
|
||||
|
||||
@@ -121,7 +121,7 @@ will trigger the same action.) You can also add your own handler by implementing
|
||||
`execute` event.
|
||||
|
||||
Note that you can use _both_ a built-in handler and your own `execute`
|
||||
function in the same action. The `execute` function is passed a [`NodeMinimalEntry`](../../lib/content-services/document-list/models/document-library.model.ts) as its
|
||||
function in the same action. The `execute` function is passed a [`NodeMinimalEntry`](../../../lib/content-services/document-list/models/document-library.model.ts) as its
|
||||
parameter. For
|
||||
example, with `handler="delete"` you could use `execute` to show a message with the name,
|
||||
type, and other details of the item just deleted:
|
||||
@@ -155,7 +155,7 @@ type, and other details of the item just deleted:
|
||||
}
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
### Examples
|
||||
|
||||
@@ -177,7 +177,7 @@ This action simply executes one of the built-in actions described above:
|
||||
</adf-document-list>
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
#### Custom handler
|
||||
|
||||
@@ -241,13 +241,13 @@ export class MyComponent {
|
||||
}
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
#### Permission check
|
||||
|
||||
You can also implement the `permissionEvent` to handle permission errors
|
||||
(to show the user a notification, for example). Subscribe to this event from your component
|
||||
and use the [Notification service](../core/notification.service.md) to show a message.
|
||||
and use the [Notification service](../../core/services/notification.service.md) to show a message.
|
||||
|
||||
```html
|
||||
<adf-document-list [contentActions]="true"...>
|
||||
@@ -276,7 +276,7 @@ export class MyComponent {
|
||||
}
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
#### Copy and move
|
||||
|
||||
@@ -284,7 +284,7 @@ These actions show the destination chooser dialog for copy and move actions. By
|
||||
the destination chooser lists all the folders of the subject item's parent. However, it won't
|
||||
allow the item being copied/moved to be the destination if it is itself a folder.
|
||||
|
||||

|
||||

|
||||
|
||||
```html
|
||||
<adf-document-list [contentActions]="true"...>
|
||||
@@ -432,10 +432,10 @@ funcName = (parameters): boolean => {
|
||||
|
||||
### Customizing built-in actions
|
||||
|
||||
The built-in actions are defined in the [Document Actions service](document-actions.service.md) and
|
||||
[Folder Actions service](folder-actions.service.md) but you can register new actions with these services
|
||||
The built-in actions are defined in the [Document Actions service](../services/document-actions.service.md) and
|
||||
[Folder Actions service](../services/folder-actions.service.md) but you can register new actions with these services
|
||||
and override the default implementations. See the doc pages for
|
||||
[Document Actions service](document-actions.service.md) and [Folder Actions service](folder-actions.service.md)
|
||||
[Document Actions service](../services/document-actions.service.md) and [Folder Actions service](../services/folder-actions.service.md)
|
||||
for details and examples.
|
||||
|
||||
### Error, Permission and Success callbacks
|
||||
@@ -446,10 +446,10 @@ You can define error, permission and success callbacks in much the same way as f
|
||||
- The success callback's only parameter is the translatable success message string (which could be shown in a snackbar, for example)
|
||||
- The `permissionEvent` callback is the same as described above for the delete action
|
||||
|
||||

|
||||

|
||||
|
||||
## See also
|
||||
|
||||
- [Document list component](document-list.component.md)
|
||||
- [Document actions service](document-actions.service.md)
|
||||
- [Folder actions service](folder-actions.service.md)
|
||||
- [Document actions service](../services/document-actions.service.md)
|
||||
- [Folder actions service](../services/folder-actions.service.md)
|
||||
+85
-8
@@ -2,14 +2,14 @@
|
||||
Title: Content Metadata Card component
|
||||
Added: v2.1.0
|
||||
Status: Active
|
||||
Last reviewed: 2019-01-16
|
||||
Last reviewed: 2019-03-15
|
||||
---
|
||||
|
||||
# [Content Metadata Card component](../../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts "Defined in content-metadata-card.component.ts")
|
||||
# [Content Metadata Card component](../../../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts "Defined in content-metadata-card.component.ts")
|
||||
|
||||
Displays and edits metadata related to a node.
|
||||
|
||||

|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
@@ -38,7 +38,7 @@ Displays and edits metadata related to a node.
|
||||
## Details
|
||||
|
||||
The component shows metadata related to a given node. It uses the
|
||||
[Card View component](../core/card-view.component.md) to render the properties of metadata aspects.
|
||||
[Card View component](../../core/components/card-view.component.md) to render the properties of metadata aspects.
|
||||
The different aspects and their properties to be shown can be configured as application config
|
||||
presets (see below). By default the component only shows the basic properties of the node.
|
||||
The user can click on the pencil icon at the bottom of the component to edit the metadata
|
||||
@@ -47,8 +47,8 @@ properties.
|
||||
### Application config presets
|
||||
|
||||
You can define different presets for the metadata component or override the default presets in
|
||||
the `app.config.json` file. The **default** preset is "\*" if not set, meaning the component
|
||||
will display every aspect and property of a node without filtering.
|
||||
the `app.config.json` file. If nothing else is set, the **default** preset is "\*",
|
||||
which will use the "indifferent" config described below.
|
||||
|
||||
You can define as many extra presets as you need for your components.
|
||||
|
||||
@@ -68,6 +68,10 @@ The default configuration behaves like the following:
|
||||
...
|
||||
```
|
||||
|
||||
This will display a default set of basic node properties: **name**, **title**,
|
||||
**creator**, **created date**, **size**, **modifier**, **modified date**,
|
||||
**mime type**, **author**, **description**.
|
||||
|
||||
#### Aspect oriented config
|
||||
|
||||
With this type of configuration you can "whitelist" aspects and properties for a preset, but everything will be grouped by aspects and there is no further way to group properties. Use a
|
||||
@@ -126,8 +130,7 @@ A final example shows the same process applied to a custom preset called "kitten
|
||||
### Layout oriented config
|
||||
|
||||
You can also go beyond the aspect oriented configuration if you need to configure the groups and properties in a more detailed way. With this type of configuration any property of any aspect/type
|
||||
can be "cherry picked" and grouped into an accordion drawer, along with a translatable title
|
||||
defined in the preset configuration.
|
||||
can be "cherry picked" and grouped into an accordion drawer, along with a translatable title defined in the preset configuration.
|
||||
|
||||
#### Basic elements
|
||||
|
||||
@@ -213,6 +216,80 @@ The result of this config would be two accordion groups with the following prope
|
||||
| kitten:favourite-food |
|
||||
| kitten:recommended-food |
|
||||
|
||||
|
||||
### Displaying all properties
|
||||
|
||||
You can list all the properties by simply adding the `includeAll: boolean` to your config. This config will display all the aspects and properties available for that specific file.
|
||||
|
||||
```json
|
||||
"content-metadata": {
|
||||
"presets": {
|
||||
"default": {
|
||||
"includeAll": true
|
||||
}
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
Futhermore, you can also exclude specific aspects by adding the `exclude` property. It can be either a string if it's only one aspect or an array if you want to exclude multiple aspects at once:
|
||||
|
||||
```json
|
||||
"content-metadata": {
|
||||
"presets": {
|
||||
"default": {
|
||||
"includeAll": true,
|
||||
"exclude": "exif:exif"
|
||||
}
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
```json
|
||||
"content-metadata": {
|
||||
"presets": {
|
||||
"default": {
|
||||
"includeAll": true,
|
||||
"exclude": ["exif:exif", "owner:parameters"]
|
||||
}
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
When using this configuration you can still whitelist aspects and properties as you desire. Let's see more complex examples for each of the config layouts:
|
||||
|
||||
##### Aspect oriented config
|
||||
```json
|
||||
"content-metadata": {
|
||||
"presets": {
|
||||
"default": {
|
||||
"includeAll": true,
|
||||
"exclude": "exif:exif",
|
||||
"exif:exif": [ "exif:pixelXDimension", "exif:pixelYDimension"]
|
||||
}
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
##### Layout oriented config
|
||||
```json
|
||||
"content-metadata": {
|
||||
"presets": {
|
||||
"robot-images": [
|
||||
{
|
||||
"includeAll": true,
|
||||
"exclude": ["cm:content", "exif:exif"]
|
||||
},
|
||||
{
|
||||
"title": "Robot Group",
|
||||
"items": [
|
||||
{ "aspect": "exif:exif", "properties": [ "exif:pixelXDimension", "exif:pixelYDimension"] }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
## What happens when there is a whitelisted aspect in the config but the given node doesn't relate to that aspect
|
||||
|
||||
Nothing - since this aspect is not related to the node, it will simply be ignored and not
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user