Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c5bb7f9b7 | ||
|
|
069e4297ea | ||
|
|
24714b8a87 | ||
|
|
d401018519 | ||
|
|
f99b943bcb | ||
|
|
5c07d5b3e6 | ||
|
|
90c403ae9e | ||
|
|
d531a022d0 | ||
|
|
72eab9e84d | ||
|
|
31d98fc368 | ||
|
|
317ae3db68 | ||
|
|
be234f227f | ||
|
|
938286671d | ||
|
|
685404432a | ||
|
|
82d6ebd763 | ||
|
|
f861b94de4 | ||
|
|
f063d94316 | ||
|
|
bb322bb5ed | ||
|
|
c5739ff435 | ||
|
|
45af7ca88d | ||
|
|
09c62d5046 | ||
|
|
957a76b1b5 | ||
|
|
3d4ea197ee | ||
|
|
fac04a9707 | ||
|
|
f934aa306b | ||
|
|
25446b5ba3 | ||
|
|
e64eee90af | ||
|
|
d6c3373298 | ||
|
|
725cf22956 | ||
|
|
5f1caca5da | ||
|
|
73b871a233 | ||
|
|
f8fcb6395d | ||
|
|
5589120ed7 | ||
|
|
64a5a98dc6 | ||
|
|
f84db2216b | ||
|
|
334ebd1256 | ||
|
|
e03290d26c | ||
|
|
33089a452f | ||
|
|
f47cebc0a4 | ||
|
|
4733bc7d3b | ||
|
|
c0d1f74d57 | ||
|
|
bd568008f8 | ||
|
|
e578e5dc14 | ||
|
|
b1e7a594b8 | ||
|
|
5f8976004e | ||
|
|
c34205d863 | ||
|
|
4603cef19e | ||
|
|
819ed9ae6a | ||
|
|
c44c2eae77 | ||
|
|
88c04ad7b8 | ||
|
|
d43274f891 | ||
|
|
6d2f2030fe | ||
|
|
ab3bb9002f | ||
|
|
626bb01bf7 | ||
|
|
b04b717296 | ||
|
|
ecb8410d1b | ||
|
|
f64cd9cffd | ||
|
|
3a2cfb3626 | ||
|
|
63f00e21cf | ||
|
|
051e8df091 | ||
|
|
492aa1e850 | ||
|
|
f42e1a4ada | ||
|
|
9838d1e5d8 | ||
|
|
1c412ab15f | ||
|
|
924c20d410 | ||
|
|
fb082cdfdc | ||
|
|
7b191d37eb | ||
|
|
7497822a46 | ||
|
|
990fa4625b | ||
|
|
c85df84a01 | ||
|
|
be35267df3 | ||
|
|
cb37254cae | ||
|
|
105a1a2b28 | ||
|
|
238fbf3d88 | ||
|
|
6c08231f33 | ||
|
|
117050decf | ||
|
|
4ea656e537 | ||
|
|
3e1092d7bf | ||
|
|
da5258edcd | ||
|
|
51f0a2da47 | ||
|
|
8a2a71d60b | ||
|
|
7a3e2932bb | ||
|
|
5e54cd4d43 | ||
|
|
99f4b07878 | ||
|
|
c3b1300d86 | ||
|
|
f18d534f9e | ||
|
|
cb25979a00 | ||
|
|
e65e32e0cf | ||
|
|
3d73e94b5d | ||
|
|
67485daece | ||
|
|
0684098f60 | ||
|
|
0cfc5bc1b7 | ||
|
|
656eeaf017 | ||
|
|
2b05f72a2f | ||
|
|
148f9830aa | ||
|
|
5392f3d229 | ||
|
|
3d67d9dc75 | ||
|
|
b19646d201 | ||
|
|
7611268bd9 | ||
|
|
7eb9ffe688 | ||
|
|
30c42d17d0 | ||
|
|
6040f59391 | ||
|
|
8b5038218e | ||
|
|
f27846ec5b | ||
|
|
892172150e | ||
|
|
ce60915fd9 | ||
|
|
cccd95562c | ||
|
|
b91a942aa1 | ||
|
|
9aafb80483 | ||
|
|
9cf6f5519c | ||
|
|
f3e90298e6 | ||
|
|
d571480ddd | ||
|
|
90617ee3fd | ||
|
|
f62236b916 | ||
|
|
f2f08a5bf8 | ||
|
|
36faed0fab | ||
|
|
f6d8bd4130 | ||
|
|
6897f20954 | ||
|
|
5cd0bc9899 | ||
|
|
894a9599a9 | ||
|
|
7f4e301ec0 | ||
|
|
215f8106ca | ||
|
|
65ceaee910 | ||
|
|
abb76d956b | ||
|
|
446efe4297 | ||
|
|
7a3b3583f8 | ||
|
|
5e7aabfaea | ||
|
|
58cf10be5f | ||
|
|
26a495c95d | ||
|
|
22dc800e13 | ||
|
|
339a6e7a18 | ||
|
|
57a162fcf0 | ||
|
|
0bba08539e | ||
|
|
1141511a07 | ||
|
|
cff9bf0930 | ||
|
|
bb0bdbfc1d | ||
|
|
2f44c45903 | ||
|
|
0af9e45cff | ||
|
|
514b31d975 | ||
|
|
80da3e9932 | ||
|
|
52c5ec03bc | ||
|
|
6cdae78cf2 | ||
|
|
39fe06ea1a | ||
|
|
3aca244059 | ||
|
|
d8caf3b98c | ||
|
|
cf68f656cf | ||
|
|
c9bc63bc3c | ||
|
|
55f920fbb4 | ||
|
|
b4e3a71bef | ||
|
|
4a363c731b | ||
|
|
d1bc5a608a | ||
|
|
164d398abc | ||
|
|
de0f906163 | ||
|
|
4f13dcc3e2 | ||
|
|
1e4d024c08 | ||
|
|
ac224a0b82 | ||
|
|
60a122f844 | ||
|
|
238a317f89 | ||
|
|
96111f588a | ||
|
|
8985319f15 | ||
|
|
cecc13093d | ||
|
|
4d0b646717 | ||
|
|
00aac824c3 | ||
|
|
bbea17fe37 | ||
|
|
fc9f04c6c6 | ||
|
|
898e3b5a80 | ||
|
|
a48bfc3714 | ||
|
|
9ebebbb860 | ||
|
|
ead22d9e3c | ||
|
|
028e2eb981 | ||
|
|
56982a02b8 | ||
|
|
77109ae59a | ||
|
|
32135e3cbc | ||
|
|
c0e2429de3 | ||
|
|
7bc99d492a | ||
|
|
5bb8912651 | ||
|
|
9d0e9ec219 | ||
|
|
0e2e5e35a0 | ||
|
|
58f7a2d0ee | ||
|
|
bc71efaab3 | ||
|
|
8db915bd2a | ||
|
|
b7e50dd9eb |
@@ -0,0 +1,39 @@
|
||||
|
||||
# This is a comment.
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
|
||||
# These owners will be the default owners for everything in
|
||||
# the repo. Unless a later match takes precedence,
|
||||
# these users will be requested for
|
||||
# review when someone opens a pull request.
|
||||
* @eromano @popovicsandras @DenysVuika
|
||||
|
||||
# Order is important; the last matching pattern takes the most
|
||||
# precedence. When someone opens a pull request that only
|
||||
# modifies JS files, only @js-owner and not the global
|
||||
# owner(s) will be requested for a review.
|
||||
e2e/* @eromano @cristinaj @gmandakini @marouanbentaleb
|
||||
|
||||
# You can also use email addresses if you prefer. They'll be
|
||||
# used to look up users just like we do for commit author
|
||||
# emails.
|
||||
#*.go docs@example.com
|
||||
docs/* @m-hulbert @eromano
|
||||
|
||||
# In this example, @doctocat owns any files in the build/logs
|
||||
# directory at the root of the repository and any of its
|
||||
# subdirectories.
|
||||
#/build/logs/ @doctocat
|
||||
|
||||
# The `docs/*` pattern will match files like
|
||||
# `docs/getting-started.md` but not further nested files like
|
||||
# `docs/build-app/troubleshooting.md`.
|
||||
#docs/* docs@example.com
|
||||
|
||||
# In this example, @octocat owns any file in an apps directory
|
||||
# anywhere in your repository.
|
||||
#apps/ @octocat
|
||||
|
||||
# In this example, @doctocat owns any file in the `/docs`
|
||||
# directory in the root of your repository.
|
||||
#/docs/ @doctocat
|
||||
@@ -3,22 +3,13 @@ node_modules
|
||||
bundles
|
||||
workspace.xml
|
||||
.idea/
|
||||
.env.*
|
||||
dist/
|
||||
e2e/.env.cloud
|
||||
tmp
|
||||
e2e-output/
|
||||
e2e/downloads/
|
||||
ng2-components/coverage/
|
||||
!systemjs.config.js
|
||||
demo-shell-ng2/app/components/router/
|
||||
ng2-components/ng2-alfresco-userinfo-old/demo/src/app/
|
||||
ng2-components/ng2-alfresco-userinfo-old/src/services/bpm-user.service.spec.ts
|
||||
ng2-components/ng2-alfresco-userinfo-old/src/services/ecm-user.service.spec.ts
|
||||
src/environments/
|
||||
/ng2-components/ng2-example-webpack/
|
||||
/ng2-components/config/coverage/
|
||||
/e2e/downloads/
|
||||
*.npmrc
|
||||
/demo-shell-ng2/ng2-components/
|
||||
.happypack/
|
||||
.history
|
||||
/ng2-components/ng2-alfresco-core/prebuilt-themes/
|
||||
.ng_pkg_build/
|
||||
|
||||
@@ -6,7 +6,7 @@ dist: trusty
|
||||
sudo: required
|
||||
node_js:
|
||||
# Use the explicit NodeJS LTS version 8.9.4 to avoid any automatic upgrade of the version.
|
||||
- '8.9.4'
|
||||
- '10.16.0'
|
||||
|
||||
install:
|
||||
echo "no install"
|
||||
@@ -15,7 +15,7 @@ branches:
|
||||
only:
|
||||
- master
|
||||
- development
|
||||
- /.*old-env.*/
|
||||
- /.*old-env.*/
|
||||
- /.*next-release.*/
|
||||
- /.*beta.*/
|
||||
- /.*greenkeeper.*/
|
||||
@@ -25,8 +25,7 @@ stages:
|
||||
- name: Warm Up Cache & Lint & Build Dist
|
||||
- name: Unit test
|
||||
- name: e2e Test
|
||||
- name: Create Docker PR
|
||||
- name: Deploy Docker PR
|
||||
- name: Deploy PR
|
||||
|
||||
addons:
|
||||
chrome: stable
|
||||
@@ -43,169 +42,45 @@ before_install:
|
||||
jobs:
|
||||
include:
|
||||
- stage: Warm Up Cache & Lint & Build Dist
|
||||
name: Warm Up Cache & Lint & Build Dist
|
||||
script:
|
||||
- if [[ $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
./scripts/lint.sh || exit 1;
|
||||
./scripts/npm-build-all.sh || exit 1;
|
||||
else
|
||||
./scripts/update-version.sh -gnu -alpha || exit 1;
|
||||
npm install;
|
||||
./scripts/lint.sh || 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;
|
||||
fi;
|
||||
npm run build:dist || exit 1;
|
||||
./scripts/license-list-generator.sh || exit 1;
|
||||
./scripts/travis/build/build.sh
|
||||
- stage: Unit test
|
||||
name: core and extensions
|
||||
name: Unit test content
|
||||
script: ./scripts/travis/unit-test/content.sh
|
||||
- stage: Unit test
|
||||
name: Unit test core extension demo
|
||||
script: ./scripts/travis/unit-test/core-extension-demo.sh
|
||||
- stage: Unit test
|
||||
name: Unit test process process-cloud insights
|
||||
script: ./scripts/travis/unit-test/process.sh
|
||||
- stage: Deploy PR
|
||||
name: Deploy PR
|
||||
script:
|
||||
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;
|
||||
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;
|
||||
- stage: Unit test
|
||||
name: process-services and insights
|
||||
script:
|
||||
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;
|
||||
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;
|
||||
- stage: Unit test
|
||||
name: content-services
|
||||
script:
|
||||
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;
|
||||
- stage: Unit test
|
||||
name: process-services-cloud
|
||||
script:
|
||||
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;
|
||||
- stage: Unit test
|
||||
name: demo-shell
|
||||
script: if ([ "$TRAVIS_BRANCH" = "master" ]); then
|
||||
(./scripts/start.sh -t -ss -si || exit 1;);
|
||||
else
|
||||
(./scripts/start.sh -dev -t -ss -si || exit 1;);
|
||||
fi;
|
||||
- stage: Update children projects dependency #Update generator-ng2-alfresco-app
|
||||
name: Update Generator
|
||||
./scripts/travis/deploy/deploy.sh
|
||||
- stage: Update children projects dependency #Update children projects dependency
|
||||
name: Update Related Project
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/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/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 'Alfresco/adf-app-manager-ui'
|
||||
- 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/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/alfresco-modeler-app'
|
||||
- stage: Update children projects dependency # Test Update activiti-modeling-app
|
||||
name: Update alfresco modeler activiti app
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Activiti/activiti-modeling-app'
|
||||
- stage: Update children projects dependency # Test alfresco-admin-app
|
||||
name: Update alfresco admin app
|
||||
if: tag =~ .*beta.*
|
||||
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/alfresco-admin-app'
|
||||
- stage: e2e Test # Test core
|
||||
script: ./scripts/travis/update/update-children.sh
|
||||
- stage: e2e Test
|
||||
name: core
|
||||
script: ./scripts/travis/e2e/core-e2e.sh
|
||||
- stage: e2e Test
|
||||
name: content
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "core$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
node ./scripts/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
|
||||
node ./scripts/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
|
||||
./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
|
||||
./scripts/travis/e2e/content-services-e2e.sh
|
||||
- stage: e2e Test
|
||||
name: search
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "process-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
node ./scripts/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
|
||||
./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
|
||||
./scripts/travis/e2e/search-e2e.sh
|
||||
- stage: e2e Test
|
||||
name: process
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
node ./scripts/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
|
||||
./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
|
||||
./scripts/travis/e2e/process-services-e2e.sh
|
||||
- stage: e2e Test
|
||||
name: process Cloud
|
||||
script:
|
||||
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
|
||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
node ./scripts/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
|
||||
./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 -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
node ./scripts/check-activiti-env.js --host "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --client 'activiti' || exit 1;
|
||||
./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 -timeout 8000 || 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 -gnu -b $TRAVIS_BRANCH)";
|
||||
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||
then
|
||||
node ./scripts/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || 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 || 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;
|
||||
./scripts/travis/e2e/process-services-cloud-e2e.sh
|
||||
|
||||
# Send coverage data to codecov
|
||||
after_success:
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<a href='https://github.com/Alfresco/alfresco-ng2-components/blob/master/LICENSE'>
|
||||
<img src='https://img.shields.io/hexpm/l/plug.svg' alt='license' />
|
||||
</a>
|
||||
</p>
|
||||
</p
|
||||
|
||||
## Introduction
|
||||
|
||||
|
||||
@@ -106,6 +106,14 @@
|
||||
"with": "demo-shell/src/environments/environment.prod.ts"
|
||||
}
|
||||
]
|
||||
},
|
||||
"e2e": {
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "demo-shell/src/environments/environment.ts",
|
||||
"with": "demo-shell/src/environments/environment.e2e.ts"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -113,11 +121,17 @@
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "dist:build",
|
||||
"port": 3000
|
||||
"host": "0.0.0.0",
|
||||
"port": 3000,
|
||||
"proxyConfig": "demo-shell/proxy.conf.js",
|
||||
"disableHostCheck": true
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "dist:build:production"
|
||||
},
|
||||
"e2e": {
|
||||
"browserTarget": "dist:build:e2e"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -352,6 +366,14 @@
|
||||
"with": "demo-shell/src/environments/environment.prod.ts"
|
||||
}
|
||||
]
|
||||
},
|
||||
"e2e": {
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "demo-shell/src/environments/environment.ts",
|
||||
"with": "demo-shell/src/environments/environment.e2e.ts"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -359,11 +381,17 @@
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "dev:build",
|
||||
"port": 3000
|
||||
"host": "0.0.0.0",
|
||||
"port": 3000,
|
||||
"proxyConfig": "demo-shell/proxy.conf.js",
|
||||
"disableHostCheck": true
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "dev:build:production"
|
||||
},
|
||||
"e2e": {
|
||||
"browserTarget": "dev:build:e2e"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -516,7 +544,7 @@
|
||||
"e2e": {
|
||||
"builder": "@angular-devkit/build-angular:protractor",
|
||||
"options": {
|
||||
"protractorConfig": "./protractor.conf.js",
|
||||
"protractorConfig": "./protractor.conf.ts",
|
||||
"devServerTarget": "lib-e2e-test:serve"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -126,8 +126,8 @@
|
||||
"uncheck",
|
||||
"subfolders",
|
||||
"ECMBPM",
|
||||
"candidateuserapp",
|
||||
"processwithvariables"
|
||||
"processwithvariables",
|
||||
"devops"
|
||||
],
|
||||
"dictionaries": [
|
||||
"html",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Alfresco-ADF-Angular-Demo",
|
||||
"description": "Demo shell for Alfresco Angular components",
|
||||
"version": "3.2.0",
|
||||
"version": "3.3.0",
|
||||
"author": "Alfresco Software, Ltd.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "سحابة الأشخاص/المجموعة",
|
||||
"PEOPLE_CLOUD": "مكون سحابة الأشخاص",
|
||||
"GROUPS_CLOUD": "مكون سحابة المجموعة",
|
||||
"CONFIRM-DIALOG": "مربع حوار التأكيد"
|
||||
"CONFIRM-DIALOG": "مربع حوار التأكيد",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -245,7 +246,7 @@
|
||||
"RATING": "مكون التقييم"
|
||||
},
|
||||
"TAG": {
|
||||
"LIST": "خدمات محتوى علامات القائمة",
|
||||
"LIST": "Content Services علامات القائمة",
|
||||
"INSERT": "إدراج معرف العقدة",
|
||||
"NODE_LIST": "قائمة العلامات حسب معرف العقدة"
|
||||
},
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Cloud osob/skupin",
|
||||
"PEOPLE_CLOUD": "Součást cloudu osob",
|
||||
"GROUPS_CLOUD": "Součást cloudu skupin",
|
||||
"CONFIRM-DIALOG": "Dialogové okno s potvrzením"
|
||||
"CONFIRM-DIALOG": "Dialogové okno s potvrzením",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Person/gruppecloud",
|
||||
"PEOPLE_CLOUD": "Personcloudkomponent",
|
||||
"GROUPS_CLOUD": "Gruppecloudkomponent",
|
||||
"CONFIRM-DIALOG": "Bekræftelsesdialogboks"
|
||||
"CONFIRM-DIALOG": "Bekræftelsesdialogboks",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Personen-/Gruppen-Cloud",
|
||||
"PEOPLE_CLOUD": "Personen-Cloud-Komponente",
|
||||
"GROUPS_CLOUD": "Gruppen-Cloud-Komponente",
|
||||
"CONFIRM-DIALOG": "Bestätigungsdialog"
|
||||
"CONFIRM-DIALOG": "Bestätigungsdialog",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -78,6 +78,7 @@
|
||||
"UPLOADER": "Uploader",
|
||||
"WEBSCRIPT": "Webscript",
|
||||
"TAG": "Tag",
|
||||
"DATE": "Date",
|
||||
"TRASHCAN": "Trashcan",
|
||||
"SOCIAL": "Social",
|
||||
"SETTINGS": "Settings",
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Personas/Grupos en la nube",
|
||||
"PEOPLE_CLOUD": "Componente en la nube de personas",
|
||||
"GROUPS_CLOUD": "Componente en la nube de grupos",
|
||||
"CONFIRM-DIALOG": "Cuadro de diálogo de confirmación"
|
||||
"CONFIRM-DIALOG": "Cuadro de diálogo de confirmación",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Ihmispilvi/Ryhmäpilvi",
|
||||
"PEOPLE_CLOUD": "Ihmispilvi-komponentti",
|
||||
"GROUPS_CLOUD": "Ryhmäpilvi-komponentti",
|
||||
"CONFIRM-DIALOG": "Vahvistusvalintaikkuna"
|
||||
"CONFIRM-DIALOG": "Vahvistusvalintaikkuna",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Cloud des personnes/groupes",
|
||||
"PEOPLE_CLOUD": "Composant cloud des personnes",
|
||||
"GROUPS_CLOUD": "Composant cloud des groupes",
|
||||
"CONFIRM-DIALOG": "Boîte de dialogue de confirmation"
|
||||
"CONFIRM-DIALOG": "Boîte de dialogue de confirmation",
|
||||
"COMMUNITY": "Communauté"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Cloud persone/gruppi",
|
||||
"PEOPLE_CLOUD": "Componente Cloud persone",
|
||||
"GROUPS_CLOUD": "Componente Cloud gruppi",
|
||||
"CONFIRM-DIALOG": "Finestra di conferma"
|
||||
"CONFIRM-DIALOG": "Finestra di conferma",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "メンバー/グループのクラウド",
|
||||
"PEOPLE_CLOUD": "メンバーのクラウドコンポーネント",
|
||||
"GROUPS_CLOUD": "グループのクラウドコンポーネント",
|
||||
"CONFIRM-DIALOG": "確認ダイアログ"
|
||||
"CONFIRM-DIALOG": "確認ダイアログ",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Person-/gruppesky",
|
||||
"PEOPLE_CLOUD": "Personsky-komponent",
|
||||
"GROUPS_CLOUD": "Gruppesky-kompontent",
|
||||
"CONFIRM-DIALOG": "Bekreftelsesdialog"
|
||||
"CONFIRM-DIALOG": "Bekreftelsesdialog",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Personen-/groepencloud",
|
||||
"PEOPLE_CLOUD": "Component Personencloud",
|
||||
"GROUPS_CLOUD": "Component Groepencloud",
|
||||
"CONFIRM-DIALOG": "Bevestigingsdialoogvenster"
|
||||
"CONFIRM-DIALOG": "Bevestigingsdialoogvenster",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Chmura dla osób/grup",
|
||||
"PEOPLE_CLOUD": "Składnik Chmura dla osób",
|
||||
"GROUPS_CLOUD": "Składnik Chmura dla grup",
|
||||
"CONFIRM-DIALOG": "Okno dialogowe potwierdzenia"
|
||||
"CONFIRM-DIALOG": "Okno dialogowe potwierdzenia",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Nuvem de Pessoas/Grupo",
|
||||
"PEOPLE_CLOUD": "Componente da Nuvem de Pessoas",
|
||||
"GROUPS_CLOUD": "Componente da Nuvem de Grupos",
|
||||
"CONFIRM-DIALOG": "Caixa de diálogo de confirmação"
|
||||
"CONFIRM-DIALOG": "Caixa de diálogo de confirmação",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Облако пользователей/групп",
|
||||
"PEOPLE_CLOUD": "Компонент облака «Пользователи»",
|
||||
"GROUPS_CLOUD": "Компонент облака «Группы»",
|
||||
"CONFIRM-DIALOG": "Диалоговое окно подтверждения"
|
||||
"CONFIRM-DIALOG": "Диалоговое окно подтверждения",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"TASK_LIST": "Uppgiftslista",
|
||||
"PROCESS_LIST": "Processlista",
|
||||
"PROCESS_CLOUD": "Activiti Cloud",
|
||||
"CARD_VIEW": "CardView",
|
||||
"CARD_VIEW": "Kortvy",
|
||||
"PROCESS_SERVICES": "Process Services",
|
||||
"LOGIN": "Inloggning",
|
||||
"CUSTOM_SOURCES": "Anpassade källor",
|
||||
@@ -75,7 +75,7 @@
|
||||
"FORM": "Formulär",
|
||||
"FORM_LIST": "Formulärlista",
|
||||
"FORM_LOADING": "Formulär läses in",
|
||||
"UPLOADER": "Uppladdare",
|
||||
"UPLOADER": "Uppladdad av",
|
||||
"WEBSCRIPT": "Webbskript",
|
||||
"TAG": "Tagg",
|
||||
"TRASHCAN": "Papperskorg",
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "Personer/grupp moln",
|
||||
"PEOPLE_CLOUD": "Personer moln-komponent",
|
||||
"GROUPS_CLOUD": "Grupper moln-komponent",
|
||||
"CONFIRM-DIALOG": "Bekräftelsedialog"
|
||||
"CONFIRM-DIALOG": "Dialogruta för bekräftelse",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -109,7 +110,7 @@
|
||||
}
|
||||
},
|
||||
"DOCUMENT_LIST": {
|
||||
"MULTISELECT_CHECKBOXES": "Flera val (med kryssrutor)",
|
||||
"MULTISELECT_CHECKBOXES": "Fleraval (med kryssrutor)",
|
||||
"THUMBNAILS": "Aktivera miniatyrbilder",
|
||||
"ALLOW_DROP_FILES": "Aktivera släpp filer i en mapp",
|
||||
"MULTIPLE_FILE_UPLOAD": "Uppladdning av flera filer",
|
||||
@@ -177,8 +178,8 @@
|
||||
"ADD_ROW": "Lägg till rad",
|
||||
"REPLACE_ROWS": "Ersätt rader",
|
||||
"REPLACE_COLUMNS": "Ersätt kolumner",
|
||||
"LOAD_NODE": "Ladda upp nod",
|
||||
"MULTISELECT": "Flera val",
|
||||
"LOAD_NODE": "Läs in nod",
|
||||
"MULTISELECT": "Fleraval",
|
||||
"MULTISELECT_DESCRIPTION": "Använd Cmd (Mac) eller Ctrl (Windows) för att växla val av flera objekt"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
@@ -208,7 +209,7 @@
|
||||
"FORM_DATA_MESSAGE": "Ange värden för att fylla formuläret",
|
||||
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
|
||||
"RADIO_PLACEHOLDER": "Radioknapp",
|
||||
"SELECT_PLACEHOLDER": "DropDown"
|
||||
"SELECT_PLACEHOLDER": "Dropdown"
|
||||
},
|
||||
"LOGIN": {
|
||||
"CONTENT_SERVICES": "Content Services",
|
||||
@@ -224,8 +225,8 @@
|
||||
"FACET_FIELDS": {
|
||||
"TYPE": "1:Typ",
|
||||
"SIZE": "2:Storlek",
|
||||
"CREATOR": "3:Skapat av",
|
||||
"MODIFIER": "4:Ändrat av",
|
||||
"CREATOR": "3:Skapad av",
|
||||
"MODIFIER": "4:Ändrad av",
|
||||
"CREATED": "5:Skapad den"
|
||||
},
|
||||
"FACET_QUERIES": {
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "人员/一组云",
|
||||
"PEOPLE_CLOUD": "人员云组件",
|
||||
"GROUPS_CLOUD": "组云组件",
|
||||
"CONFIRM-DIALOG": "确认对话"
|
||||
"CONFIRM-DIALOG": "确认对话",
|
||||
"COMMUNITY": "Community"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
|
||||
@@ -12,17 +12,6 @@ router-outlet[name='overlay'] + * {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 425px) {
|
||||
adf-content-node-selector {
|
||||
.adf-content-node-selector-content-list {
|
||||
.adf-datatable-cell {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.adf-datatable-cell:first-child,
|
||||
.adf-datatable-cell:nth-child(2) {
|
||||
display: table-cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
[dir='rtl'] .mat-icon {
|
||||
transform: scale(-1, 1);
|
||||
}
|
||||
|
||||
@@ -21,13 +21,12 @@ import { FormsModule } from '@angular/forms';
|
||||
import { FlexLayoutModule } from '@angular/flex-layout';
|
||||
import { ChartsModule } from 'ng2-charts';
|
||||
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
|
||||
import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService, CoreModule, CoreAutomationService } 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';
|
||||
import { LogoutComponent } from './components/logout/logout.component';
|
||||
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
|
||||
import { HomeComponent } from './components/home/home.component';
|
||||
@@ -81,7 +80,6 @@ import { CloudFiltersDemoComponent } from './components/cloud/cloud-filters-demo
|
||||
import { TemplateDemoComponent } from './components/template-list/template-demo.component';
|
||||
import { PeopleGroupCloudDemoComponent } from './components/cloud/people-groups-cloud-demo.component';
|
||||
import { CloudSettingsComponent } from './components/cloud/cloud-settings.component';
|
||||
import { NestedMenuPositionDirective } from './components/cloud/directives/nested-menu-position.directive';
|
||||
import { ConfirmDialogExampleComponent } from './components/confirm-dialog/confirm-dialog-example.component';
|
||||
import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/cloud-form-demo.component';
|
||||
import { CommunityCloudComponent } from './components/cloud/community/community-cloud.component';
|
||||
@@ -92,11 +90,47 @@ import { CommunityStartTaskCloudDemoComponent } from './components/cloud/communi
|
||||
import { CommunityProcessDetailsCloudDemoComponent } from './components/cloud/community/community-process-details-cloud.component';
|
||||
import { CommunityProcessesCloudDemoComponent } from './components/cloud/community/community-processes-cloud.component';
|
||||
import { CommunityTaskDetailsCloudDemoComponent } from './components/cloud/community/community-task-details-cloud.component';
|
||||
import { environment } from '../environments/environment';
|
||||
|
||||
import { registerLocaleData } from '@angular/common';
|
||||
import localeFr from '@angular/common/locales/fr';
|
||||
import localeDe from '@angular/common/locales/de';
|
||||
import localeIt from '@angular/common/locales/it';
|
||||
import localeEs from '@angular/common/locales/es';
|
||||
import localeJa from '@angular/common/locales/ja';
|
||||
import localeNl from '@angular/common/locales/nl';
|
||||
import localePt from '@angular/common/locales/pt';
|
||||
import localeNb from '@angular/common/locales/nb';
|
||||
import localeRu from '@angular/common/locales/ru';
|
||||
import localeCh from '@angular/common/locales/zh';
|
||||
import localeAr from '@angular/common/locales/ar';
|
||||
import localeCs from '@angular/common/locales/cs';
|
||||
import localePl from '@angular/common/locales/pl';
|
||||
import localeFi from '@angular/common/locales/fi';
|
||||
import localeDa from '@angular/common/locales/da';
|
||||
import localeSv from '@angular/common/locales/sv';
|
||||
|
||||
registerLocaleData(localeFr);
|
||||
registerLocaleData(localeDe);
|
||||
registerLocaleData(localeIt);
|
||||
registerLocaleData(localeEs);
|
||||
registerLocaleData(localeJa);
|
||||
registerLocaleData(localeNl);
|
||||
registerLocaleData(localePt);
|
||||
registerLocaleData(localeNb);
|
||||
registerLocaleData(localeRu);
|
||||
registerLocaleData(localeCh);
|
||||
registerLocaleData(localeAr);
|
||||
registerLocaleData(localeCs);
|
||||
registerLocaleData(localePl);
|
||||
registerLocaleData(localeFi);
|
||||
registerLocaleData(localeDa);
|
||||
registerLocaleData(localeSv);
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
BrowserModule,
|
||||
BrowserAnimationsModule,
|
||||
environment.e2e ? NoopAnimationsModule : BrowserAnimationsModule,
|
||||
ReactiveFormsModule,
|
||||
routing,
|
||||
FormsModule,
|
||||
@@ -116,7 +150,6 @@ import { CommunityTaskDetailsCloudDemoComponent } from './components/cloud/commu
|
||||
],
|
||||
declarations: [
|
||||
AppComponent,
|
||||
LoginComponent,
|
||||
LogoutComponent,
|
||||
AppLayoutComponent,
|
||||
HomeComponent,
|
||||
@@ -157,7 +190,6 @@ import { CommunityTaskDetailsCloudDemoComponent } from './components/cloud/commu
|
||||
TemplateDemoComponent,
|
||||
PeopleGroupCloudDemoComponent,
|
||||
CloudSettingsComponent,
|
||||
NestedMenuPositionDirective,
|
||||
ConfirmDialogExampleComponent,
|
||||
FormCloudDemoComponent,
|
||||
ConfirmDialogExampleComponent,
|
||||
|
||||
@@ -17,9 +17,14 @@
|
||||
|
||||
import { ModuleWithProviders } from '@angular/core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm, AuthGuardSsoRoleService } 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';
|
||||
import { LogoutComponent } from './components/logout/logout.component';
|
||||
import { ProcessServiceComponent } from './components/process-service/process-service.component';
|
||||
@@ -61,7 +66,7 @@ import { CommunityProcessesCloudDemoComponent } from './components/cloud/communi
|
||||
import { CommunityTaskDetailsCloudDemoComponent } from './components/cloud/community/community-task-details-cloud.component';
|
||||
|
||||
export const appRoutes: Routes = [
|
||||
{ path: 'login', component: LoginComponent },
|
||||
{ path: 'login', loadChildren: 'app/components/login/login.module#AppLoginModule' },
|
||||
{ path: 'logout', component: LogoutComponent },
|
||||
{
|
||||
path: 'settings',
|
||||
@@ -70,8 +75,8 @@ export const appRoutes: Routes = [
|
||||
{
|
||||
path: 'files/:nodeId/view',
|
||||
component: AppComponent,
|
||||
canActivate: [ AuthGuardEcm ],
|
||||
canActivateChild: [ AuthGuardEcm ],
|
||||
canActivate: [AuthGuardEcm],
|
||||
canActivateChild: [AuthGuardEcm],
|
||||
outlet: 'overlay',
|
||||
children: [
|
||||
{
|
||||
@@ -121,6 +126,15 @@ export const appRoutes: Routes = [
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'date',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: 'app/components/date/date.module#AppDateModule'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'card-view',
|
||||
children: [
|
||||
@@ -159,7 +173,7 @@ export const appRoutes: Routes = [
|
||||
{
|
||||
path: 'cloud',
|
||||
canActivate: [AuthGuardSsoRoleService],
|
||||
data: { roles: ['ACTIVITI_USER'], redirectUrl: '/error/403'},
|
||||
data: { roles: ['ACTIVITI_USER'], redirectUrl: '/error/403' },
|
||||
|
||||
children: [
|
||||
{
|
||||
@@ -203,7 +217,7 @@ export const appRoutes: Routes = [
|
||||
{
|
||||
path: ':appName',
|
||||
canActivate: [AuthGuardSsoRoleService],
|
||||
data: { clientRoles: ['appName'], roles: ['ACTIVITI_USER'], redirectUrl: '/error/403'},
|
||||
data: { clientRoles: ['appName'], roles: ['ACTIVITI_USER'], redirectUrl: '/error/403' },
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="220" [stepOver]="780" [hideSidenav]="hideSidenav" [direction]="direction"
|
||||
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="220" [stepOver]="780" [hideSidenav]="hideSidenav"
|
||||
[expandedSidenav]="expandedSidenav" (expanded)="setState($event)" [position]="position">
|
||||
|
||||
<adf-sidenav-layout-header>
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
<div class="adf-header-delimiexpandedSidenavter"></div>
|
||||
|
||||
<adf-userinfo class="adf-app-layout-user-profile" [menuPositionX]="'before'" [menuPositionY]="'above'">
|
||||
<adf-userinfo [menuPositionX]="'before'" [menuPositionY]="'above'">
|
||||
</adf-userinfo>
|
||||
|
||||
<app-theme-picker></app-theme-picker>
|
||||
@@ -25,6 +25,8 @@
|
||||
<adf-language-menu></adf-language-menu>
|
||||
</mat-menu>
|
||||
|
||||
<adf-notification-history menuPositionX="before" menuPositionY="above"></adf-notification-history>
|
||||
|
||||
</adf-layout-header>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-header>
|
||||
@@ -32,33 +34,31 @@
|
||||
<adf-sidenav-layout-navigation>
|
||||
<ng-template let-isMenuMinimized="isMenuMinimized">
|
||||
<mat-nav-list class="adf-sidenav-linklist">
|
||||
|
||||
<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}">
|
||||
<ng-container *ngIf="link.children">
|
||||
<mat-list-item (click)="trigger.openMenu()" [attr.data-automation-id]="link.title | translate" class="adf-sidenav-link">
|
||||
<mat-icon matListIcon>{{link.icon}}</mat-icon>
|
||||
<span matLine *ngIf="!isMenuMinimized()">{{link.title | translate }}</span>
|
||||
<mat-icon class="adf-sidenav-link__expand-button" [matMenuTriggerData]="{links: link.children}"
|
||||
rippleTrigger mat-icon-button #trigger="matMenuTrigger"
|
||||
[matMenuTriggerFor]="nestedMenu">arrow_right</mat-icon>
|
||||
</mat-list-item>
|
||||
</ng-container>
|
||||
|
||||
<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 *ngIf="!link.children">
|
||||
<mat-list-item [routerLink]="link.href"
|
||||
routerLinkActive="adf-sidenav-link--active" [routerLinkActiveOptions]="{ exact: true }"
|
||||
[attr.data-automation-id]="link.title | translate" class="adf-sidenav-link">
|
||||
<mat-icon matListIcon >{{link.icon}}</mat-icon>
|
||||
<span matLine *ngIf="!isMenuMinimized()">{{link.title | translate }}</span>
|
||||
</mat-list-item>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
<a mat-list-item adf-logout [enableRedirect]="enableRedirect" redirectUri="/logout"
|
||||
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>
|
||||
<mat-list-item adf-logout [enableRedirect]="enableRedirect" redirectUri="/logout" class="adf-sidenav-link">
|
||||
<mat-icon matListIcon>exit_to_app</mat-icon>
|
||||
<span matLine *ngIf="!isMenuMinimized()">Logout</span>
|
||||
</mat-list-item>
|
||||
</mat-nav-list>
|
||||
|
||||
</ng-template>
|
||||
@@ -73,15 +73,16 @@
|
||||
</adf-sidenav-layout>
|
||||
<app-log></app-log>
|
||||
|
||||
<mat-menu #nestedMenu="matMenu" [xPosition]="'before'">
|
||||
<mat-menu #nestedMenu="matMenu" xPosition="after" class="nestedMenu">
|
||||
<ng-template matMenuContent let-links="links">
|
||||
<button mat-menu-item *ngFor="let link of links"
|
||||
class="adf-sidenav-link"
|
||||
[attr.data-automation-id]="link.title | translate"
|
||||
routerLinkActive="active"
|
||||
routerLinkActive="adf-sidenav-link--active"
|
||||
[routerLink]="link.href"
|
||||
[routerLinkActiveOptions]="{ exact: true }">
|
||||
|
||||
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
|
||||
<mat-icon matListIcon>{{link.icon}}</mat-icon>
|
||||
{{ link.title | translate }}
|
||||
</button>
|
||||
</ng-template>
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
@mixin adf-app-layout-theme($theme) {
|
||||
$primary: map-get($theme, primary);
|
||||
$background: map-get($theme, background);
|
||||
$foreground: map-get($theme, foreground);
|
||||
$minimumAppWidth: 320px;
|
||||
$toolbarHeight: 64px;
|
||||
|
||||
@media screen and ($mat-xsmall) {
|
||||
app-search-bar {
|
||||
@@ -17,45 +14,22 @@
|
||||
}
|
||||
}
|
||||
|
||||
.adf-app-layout-toolbar {
|
||||
z-index: 998;
|
||||
position: relative;
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
.adf-app-layout {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-width: $minimumAppWidth;
|
||||
height: 100%;
|
||||
|
||||
.adf-nav-container {
|
||||
display: block;
|
||||
min-width: $minimumAppWidth;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.adf-sidenav-linklist {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
padding-bottom: 8px;
|
||||
box-sizing: border-box;
|
||||
.adf-sidenav-link--active {
|
||||
color: mat-color($primary);
|
||||
}
|
||||
|
||||
.adf-sidenav-link {
|
||||
&.adf-active {
|
||||
color: mat-color($primary);
|
||||
}
|
||||
|
||||
.adf-sidenav-menu-icon {
|
||||
margin-right: 20px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.adf-sidenav-menu-label {
|
||||
.mat-list-text {
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
min-width: 120px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,34 +37,9 @@
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
&-user-profile {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
&-menu-spacer {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
&-toolbar {
|
||||
height: $toolbarHeight;
|
||||
line-height: $toolbarHeight;
|
||||
overflow: hidden;
|
||||
|
||||
mat-toolbar-row {
|
||||
height: $toolbarHeight;
|
||||
align-items: stretch;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.adf-toolbar-link {
|
||||
min-width: 0;
|
||||
line-height: $toolbarHeight;
|
||||
|
||||
&.adf-active {
|
||||
background-color: rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and ($mat-small) {
|
||||
@@ -113,4 +62,8 @@
|
||||
flex: auto;
|
||||
}
|
||||
}
|
||||
|
||||
[dir='rtl'] .adf-sidenav-link__expand-button {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +72,7 @@ export class AppLayoutComponent implements OnInit {
|
||||
{ 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' },
|
||||
{ href: '/date', icon: 'calendar_today', title: 'APP_LAYOUT.DATE' },
|
||||
{ href: '/settings-layout', icon: 'settings', title: 'APP_LAYOUT.SETTINGS' },
|
||||
{ href: '/config-editor', icon: 'code', title: 'APP_LAYOUT.CONFIG-EDITOR' },
|
||||
{ href: '/extendedSearch', icon: 'search', title: 'APP_LAYOUT.SEARCH' },
|
||||
@@ -115,23 +116,16 @@ export class AppLayoutComponent implements OnInit {
|
||||
this.headerService.tooltip.subscribe((tooltip) => this.tooltip = tooltip);
|
||||
this.headerService.position.subscribe((position) => this.position = position);
|
||||
this.headerService.hideSidenav.subscribe((hideSidenav) => this.hideSidenav = hideSidenav);
|
||||
|
||||
this.userPreferencesService.select('textOrientation').subscribe((textOrientation) => {
|
||||
this.direction = textOrientation;
|
||||
});
|
||||
}
|
||||
|
||||
constructor(
|
||||
private userPreferences: UserPreferencesService,
|
||||
private config: AppConfigService,
|
||||
private alfrescoApiService: AlfrescoApiService,
|
||||
private userPreferencesService: UserPreferencesService,
|
||||
private headerService: HeaderDataService) {
|
||||
if (this.alfrescoApiService.getInstance().isOauthConfiguration()) {
|
||||
this.enableRedirect = false;
|
||||
}
|
||||
|
||||
this.userPreferencesService.set('textOrientation', this.direction);
|
||||
}
|
||||
|
||||
setState(state) {
|
||||
|
||||
@@ -16,10 +16,9 @@
|
||||
*/
|
||||
|
||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||
import { FormFieldModel, NotificationService, FormRenderingService } from '@alfresco/adf-core';
|
||||
import { FormFieldModel, NotificationService, FormRenderingService, CoreAutomationService } from '@alfresco/adf-core';
|
||||
import { FormCloud, FormCloudService, UploadCloudWidgetComponent } from '@alfresco/adf-process-services-cloud';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { formDefinition } from './demo-form';
|
||||
|
||||
@Component({
|
||||
templateUrl: 'cloud-form-demo.component.html',
|
||||
@@ -45,7 +44,8 @@ export class FormCloudDemoComponent implements OnInit, OnDestroy {
|
||||
constructor(
|
||||
private notificationService: NotificationService,
|
||||
private formRenderingService: FormRenderingService,
|
||||
private formService: FormCloudService) {
|
||||
private formService: FormCloudService,
|
||||
private automationService: CoreAutomationService) {
|
||||
this.formRenderingService.setComponentTypeResolver('upload', () => UploadCloudWidgetComponent, true);
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ export class FormCloudDemoComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.formConfig = formDefinition;
|
||||
this.formConfig = JSON.stringify(this.automationService.forms.getFormCloudDefinition());
|
||||
this.parseForm();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,96 +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.
|
||||
*/
|
||||
|
||||
export const formDefinition = `{
|
||||
"formRepresentation": {
|
||||
"id": "text-form",
|
||||
"name": "test-start-form",
|
||||
"version": 0,
|
||||
"description": "",
|
||||
"formDefinition": {
|
||||
"tabs": [],
|
||||
"fields": [
|
||||
{
|
||||
"id": "1511517333638",
|
||||
"type": "container",
|
||||
"fieldType": "ContainerRepresentation",
|
||||
"name": "Label",
|
||||
"tab": null,
|
||||
"numberOfColumns": 2,
|
||||
"fields": {
|
||||
"1": [
|
||||
{
|
||||
"fieldType": "FormFieldRepresentation",
|
||||
"id": "texttest",
|
||||
"name": "texttest",
|
||||
"type": "text",
|
||||
"value": null,
|
||||
"required": false,
|
||||
"placeholder": "text",
|
||||
"params": {
|
||||
"existingColspan": 2,
|
||||
"maxColspan": 6,
|
||||
"inputMaskReversed": true,
|
||||
"inputMask": "0#",
|
||||
"inputMaskPlaceholder": "(0-9)"
|
||||
}
|
||||
}
|
||||
],
|
||||
"2": [{
|
||||
"fieldType": "AttachFileFieldRepresentation",
|
||||
"id": "attachfiletest",
|
||||
"name": "attachfiletest",
|
||||
"type": "upload",
|
||||
"required": true,
|
||||
"colspan": 2,
|
||||
"placeholder": "attachfile",
|
||||
"params": {
|
||||
"existingColspan": 2,
|
||||
"maxColspan": 2,
|
||||
"fileSource": {
|
||||
"serviceId": "local-file",
|
||||
"name": "Local File"
|
||||
},
|
||||
"multiple": true,
|
||||
"link": false
|
||||
},
|
||||
"visibilityCondition": {
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"outcomes": [],
|
||||
"metadata": {
|
||||
"property1": "value1",
|
||||
"property2": "value2"
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "variable1",
|
||||
"type": "string",
|
||||
"value": "value1"
|
||||
},
|
||||
{
|
||||
"name": "variable2",
|
||||
"type": "string",
|
||||
"value": "value2"
|
||||
}
|
||||
]
|
||||
}
|
||||
}}
|
||||
`;
|
||||
@@ -8,13 +8,6 @@
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.adf-full-content-toolbar {
|
||||
.adf-toolbar-title {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
||||
.adf-breadcrumb {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
.adf-full-content-toolbar .adf-toolbar-title .adf-breadcrumb {
|
||||
width: 0;
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ export class CardViewComponent implements OnInit {
|
||||
value: new Date(1983, 11, 24, 10, 0, 30),
|
||||
key: 'date',
|
||||
default: new Date(1983, 11, 24, 10, 0, 30),
|
||||
format: 'DD.MM.YYYY',
|
||||
format: 'shortDate',
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewDatetimeItemModel({
|
||||
@@ -80,7 +80,7 @@ export class CardViewComponent implements OnInit {
|
||||
value: new Date(1983, 11, 24, 10, 0, 0),
|
||||
key: 'datetime',
|
||||
default: new Date(1983, 11, 24, 10, 0, 0),
|
||||
format: 'DD.MM.YYYY',
|
||||
format: 'short',
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewBoolItemModel({
|
||||
|
||||
@@ -1,43 +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 { Directive, HostListener, Input } from '@angular/core';
|
||||
|
||||
@Directive({
|
||||
selector: '[appNestedMenuPosition]'
|
||||
})
|
||||
export class NestedMenuPositionDirective {
|
||||
|
||||
@Input()
|
||||
menuMinimized: string;
|
||||
|
||||
nestedMenuLeftPadding: string = '220px';
|
||||
|
||||
@HostListener('click', ['$event'])
|
||||
onClick() {
|
||||
|
||||
const 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;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -27,7 +27,7 @@
|
||||
<input matInput (input)="setPeopleAppName($event)" data-automation-id="adf-people-app-input" />
|
||||
</mat-form-field>
|
||||
<mat-form-field class="adf-preselect-value-full">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.PRESELECTED_VALUE' | translate }}: {{ DEFAULT_PEOPLE_PLACEHOLDER }}</mat-label>
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.PRESELECTED_VALUE' | translate }} {{ DEFAULT_PEOPLE_PLACEHOLDER }}</mat-label>
|
||||
<input matInput (input)="setPeoplePreselectValue($event)" data-automation-id="adf-people-preselect-input" />
|
||||
</mat-form-field>
|
||||
<mat-checkbox class="adf-preselect-value" (change)="onChangePeopleValidation($event)">{{
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<adf-cloud-start-process
|
||||
[appName]="appName"
|
||||
[name]="processName"
|
||||
[values]="formValues"
|
||||
[variables]="variables"
|
||||
(error)="openSnackMessage($event)"
|
||||
(success)="onStartProcessSuccess()"
|
||||
(cancel)="onCancelStartProcess()">
|
||||
|
||||
@@ -28,6 +28,8 @@ export class StartProcessCloudDemoComponent implements OnInit {
|
||||
|
||||
appName;
|
||||
processName: string;
|
||||
formValues: string;
|
||||
variables: any;
|
||||
|
||||
constructor(private appConfig: AppConfigService,
|
||||
private cloudLayoutService: CloudLayoutService,
|
||||
@@ -41,7 +43,9 @@ export class StartProcessCloudDemoComponent implements OnInit {
|
||||
this.appName = params.appName;
|
||||
});
|
||||
|
||||
this.processName = this.appConfig.get<string>('adf-start-process.name');
|
||||
this.processName = this.appConfig.get<string>('adf-cloud-start-process.name');
|
||||
this.formValues = this.appConfig.get<string>('adf-cloud-start-process.values');
|
||||
this.variables = this.appConfig.get<string>('adf-cloud-start-process.variables');
|
||||
}
|
||||
|
||||
onStartProcessSuccess() {
|
||||
@@ -55,6 +59,6 @@ export class StartProcessCloudDemoComponent implements OnInit {
|
||||
}
|
||||
|
||||
openSnackMessage(event: any) {
|
||||
this.notificationService.openSnackMessage(event.response.body.message);
|
||||
this.notificationService.openSnackMessage(event.response.body.entry.message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,9 +7,7 @@
|
||||
[appName]="appName"
|
||||
[taskId]="taskId"
|
||||
(cancelClick)="goBack()"
|
||||
(taskClaimed)="onClaimTask()"
|
||||
(taskCompleted)="onTaskCompleted()"
|
||||
(taskUnclaimed)="onUnclaimTask()"
|
||||
(formSaved)="onFormSaved()">
|
||||
</adf-cloud-task-form>
|
||||
</div>
|
||||
|
||||
@@ -50,18 +50,6 @@ export class TaskDetailsCloudDemoComponent {
|
||||
this.router.navigate([`/cloud/${this.appName}/`]);
|
||||
}
|
||||
|
||||
onCompletedTask() {
|
||||
this.goBack();
|
||||
}
|
||||
|
||||
onUnclaimTask() {
|
||||
this.goBack();
|
||||
}
|
||||
|
||||
onClaimTask() {
|
||||
this.goBack();
|
||||
}
|
||||
|
||||
onTaskCompleted() {
|
||||
this.goBack();
|
||||
}
|
||||
|
||||
@@ -1,77 +1,8 @@
|
||||
<div>
|
||||
<mat-nav-list class="adf-list-confgurations">
|
||||
<mat-list-item (click)="metadataConfClick()">
|
||||
<a matLine id="adf-metadata-conf">Metadata App config editor</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="searchConfClick()">
|
||||
<a matLine id="adf-search-conf" >Search App config editor</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="fileConfClick()">
|
||||
<a matLine id="adf-file-conf" >Excluded config file</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="taskHeaderConfClick()">
|
||||
<a matLine id="adf-task-conf" >Task header</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="processInstanceHeaderConfClick()">
|
||||
<a matLine id="adf-process-conf" >Process instance Header</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="startProcessConfClick()">
|
||||
<a matLine id="adf-start-process-conf">Start process</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</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>
|
||||
<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>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
</mat-list-item>
|
||||
|
||||
<mat-list-item (click)="editTaskFilterConfClick()">
|
||||
<a matLine id="adf-edit-task-filter-conf">Edit task filter</a>
|
||||
<mat-list-item (click)="appConfigClick()">
|
||||
<a matLine id="adf-app-conf">App Config Editor</a>
|
||||
<button mat-icon-button>
|
||||
<mat-icon>info</mat-icon>
|
||||
</button>
|
||||
|
||||
@@ -32,7 +32,7 @@ export class ConfigEditorComponent {
|
||||
|
||||
editor: any;
|
||||
code: any;
|
||||
field = 'content-metadata';
|
||||
field: string;
|
||||
invalidJson = false;
|
||||
isUserPreference = false;
|
||||
userPreferenceProperty: string;
|
||||
@@ -53,7 +53,7 @@ export class ConfigEditorComponent {
|
||||
constructor(private appConfig: AppConfigService,
|
||||
private userPreferencesService: UserPreferencesService,
|
||||
private notificationService: NotificationService) {
|
||||
this.code = JSON.stringify(appConfig.config['content-metadata']);
|
||||
this.code = JSON.stringify(appConfig.config);
|
||||
}
|
||||
|
||||
onSave() {
|
||||
@@ -61,7 +61,7 @@ export class ConfigEditorComponent {
|
||||
if (this.isUserPreference) {
|
||||
this.userPreferencesService.set(this.userPreferenceProperty, JSON.parse(this.editor.getValue()));
|
||||
} else {
|
||||
this.appConfig.config[this.field] = JSON.parse(this.editor.getValue());
|
||||
this.appConfig.config = JSON.parse(this.editor.getValue());
|
||||
}
|
||||
} catch (error) {
|
||||
this.invalidJson = true;
|
||||
@@ -77,10 +77,9 @@ export class ConfigEditorComponent {
|
||||
this.code = '';
|
||||
}
|
||||
|
||||
fileConfClick() {
|
||||
appConfigClick() {
|
||||
this.isUserPreference = false;
|
||||
this.code = JSON.stringify(this.appConfig.config['files']);
|
||||
this.field = 'files';
|
||||
this.code = JSON.stringify(this.appConfig.config);
|
||||
this.indentCode();
|
||||
}
|
||||
|
||||
@@ -97,69 +96,6 @@ export class ConfigEditorComponent {
|
||||
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;
|
||||
@@ -180,13 +116,6 @@ export class ConfigEditorComponent {
|
||||
});
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<div class="adf-date-pipes-container">
|
||||
<h2>Date Pipes</h2>
|
||||
|
||||
<mat-form-field class="adf-date-field">
|
||||
<input matInput
|
||||
placeholder="Format"
|
||||
[(ngModel)]="format">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field class="adf-date-field">
|
||||
<mat-select placeholder="Locale dropdown" [(ngModel)]="locale">
|
||||
<mat-option *ngFor="let language of languages" [value]="language.key">
|
||||
{{language.label}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<h3>AdfLocalizedDate Pipe - Default</h3>
|
||||
<div>{{ today | adfLocalizedDate }} </div>
|
||||
<br>
|
||||
<h3>AdfLocalizedDate Pipe - Custom format</h3>
|
||||
<div>{{ today | adfLocalizedDate : format }} </div>
|
||||
<br>
|
||||
<h3>AdfLocalizedDate Pipe - Custom format and locale</h3>
|
||||
<div>{{ today | adfLocalizedDate : format : locale }} </div>
|
||||
<br>
|
||||
<h3>AdfTimeAgo Pipe</h3>
|
||||
<div>{{ today | adfTimeAgo }} </div>
|
||||
<br>
|
||||
<h3>AdfTimeAgo Pipe - Custom locale</h3>
|
||||
<div>{{ today | adfTimeAgo : locale}} </div>
|
||||
</div>
|
||||
@@ -0,0 +1,7 @@
|
||||
.adf-date-pipes-container {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.adf-date-field {
|
||||
margin: 20px;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/*!
|
||||
* @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 { AppConfigService } from '@alfresco/adf-core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-date-page',
|
||||
templateUrl: './date.component.html',
|
||||
styleUrls: ['date.component.scss']
|
||||
})
|
||||
export class DateComponent {
|
||||
|
||||
today = new Date();
|
||||
locale: string;
|
||||
format: string;
|
||||
languages: any[];
|
||||
|
||||
constructor(private appConfig: AppConfigService) {
|
||||
this.languages = this.appConfig.get('languages', []);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*!
|
||||
* @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 { Routes, RouterModule } from '@angular/router';
|
||||
import { DateComponent } from './date.component';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: DateComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule.forChild(),
|
||||
RouterModule.forChild(routes)
|
||||
],
|
||||
declarations: [DateComponent]
|
||||
})
|
||||
export class AppDateModule {}
|
||||
@@ -3,11 +3,11 @@
|
||||
<ng-template let-node="node" #sidebarRightTemplate>
|
||||
<adf-info-drawer [title]="'APP.INFO_DRAWER.TITLE' | translate">
|
||||
|
||||
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.COMMENTS' | translate">
|
||||
<adf-info-drawer-tab label="APP.INFO_DRAWER.COMMENTS">
|
||||
<adf-comments [nodeId]="nodeId" [readOnly]="!isCommentEnabled"></adf-comments>
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.PROPERTIES' | translate">
|
||||
<adf-info-drawer-tab label="APP.INFO_DRAWER.PROPERTIES">
|
||||
<adf-content-metadata-card *ngIf="isPreset" [node]="node"
|
||||
[multi]="multi"
|
||||
[preset]="customPreset"
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.VERSIONS' | translate">
|
||||
<adf-info-drawer-tab label="APP.INFO_DRAWER.VERSIONS">
|
||||
<mat-card>
|
||||
<mat-card-content>
|
||||
<adf-version-manager [node]="node"
|
||||
@@ -120,7 +120,7 @@
|
||||
<ng-template let-node="node" #sidebarLeftTemplate>
|
||||
<adf-info-drawer [title]="'Viewer Options'">
|
||||
|
||||
<adf-info-drawer-tab [label]="'Settings'">
|
||||
<adf-info-drawer-tab label="Settings">
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-custoname"
|
||||
|
||||
@@ -250,12 +250,13 @@
|
||||
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"
|
||||
class="adf-ellipsis-cell"
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
|
||||
[formatTooltip]="getNodeNameTooltip">
|
||||
<ng-template let-context>
|
||||
@@ -282,7 +283,7 @@
|
||||
key="content.sizeInBytes"
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.SIZE' | translate}}"
|
||||
type="fileSize"
|
||||
class="adf-desktop-only">
|
||||
class="adf-desktop-only adf-ellipsis-cell">
|
||||
</data-column>
|
||||
<data-column
|
||||
*ngIf="searchTerm"
|
||||
@@ -313,7 +314,7 @@
|
||||
<data-column
|
||||
title="{{'DOCUMENT_LIST.COLUMNS.IS_LOCKED' | translate}}"
|
||||
key="id"
|
||||
class="adf-desktop-only">
|
||||
class="adf-desktop-only adf-ellipsis-cell">
|
||||
<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>
|
||||
@@ -447,13 +448,13 @@
|
||||
<div info-drawer-content>
|
||||
|
||||
<adf-info-drawer [title]="'Details'" *ngIf="documentList.selection[0]">
|
||||
<adf-info-drawer-tab [label]="'Properties'">
|
||||
<adf-info-drawer-tab label="Properties">
|
||||
<adf-content-metadata-card
|
||||
[node]="documentList.selection[0].entry"
|
||||
[displayEmpty]="displayEmptyMetadata">
|
||||
</adf-content-metadata-card>
|
||||
</adf-info-drawer-tab>
|
||||
<adf-info-drawer-tab [label]="'Versions'">
|
||||
<adf-info-drawer-tab label="Versions">
|
||||
<ng-container *ngIf="hasOneFileSelected();else choose_document_template">
|
||||
<ng-container *ngIf="userHasPermissionToManageVersions(); else no_permission_to_versions">
|
||||
<adf-version-manager
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
@mixin adf-file-component-theme($theme) {
|
||||
$foreground: map-get($theme, foreground);
|
||||
|
||||
|
||||
.adf-container {
|
||||
margin: 10px !important;
|
||||
}
|
||||
@@ -24,26 +21,6 @@
|
||||
color: #d50000;
|
||||
}
|
||||
|
||||
.adf-not-overlay-viewer {
|
||||
height: 900px;
|
||||
}
|
||||
|
||||
adf-document-list ::ng-deep adf-datatable tr.adf-document-list__create {
|
||||
background: green !important;
|
||||
}
|
||||
|
||||
adf-document-list ::ng-deep adf-datatable tr.adf-document-list__disable {
|
||||
background: red !important;
|
||||
}
|
||||
|
||||
adf-document-list ::ng-deep .adf-datatable-selected > svg {
|
||||
fill: #00bcd4 !important;
|
||||
margin-top: -4px;
|
||||
margin-left: -4px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.adf-document-list-container {
|
||||
min-height: 400px;
|
||||
|
||||
@@ -67,13 +44,6 @@
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.adf-files-toolbar {
|
||||
.adf-toolbar-title {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.adf-manage-versions-sidebar {
|
||||
width: 360px !important;
|
||||
|
||||
@@ -117,117 +87,4 @@
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
@media all {
|
||||
.adf-isLocked-column {
|
||||
max-width: 30px !important;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.adf-folder-image-column {
|
||||
max-width: 28px!important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.adf-createdOn-column {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@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-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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@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,8 @@ import {
|
||||
AlfrescoApiService, AuthenticationService, AppConfigService, AppConfigValues, ContentService, TranslationService,
|
||||
FileUploadEvent, FolderCreatedEvent, LogService, NotificationService,
|
||||
UploadService, DataColumn, DataRow, UserPreferencesService,
|
||||
PaginationComponent, FormValues, DisplayMode, InfinitePaginationComponent, HighlightDirective
|
||||
PaginationComponent, FormValues, DisplayMode, InfinitePaginationComponent, HighlightDirective,
|
||||
SharedLinksApiService
|
||||
} from '@alfresco/adf-core';
|
||||
|
||||
import {
|
||||
@@ -36,16 +37,17 @@ import {
|
||||
PermissionStyleModel,
|
||||
UploadFilesEvent,
|
||||
ConfirmDialogComponent,
|
||||
LibraryDialogComponent
|
||||
LibraryDialogComponent,
|
||||
ContentMetadataService
|
||||
} from '@alfresco/adf-content-services';
|
||||
|
||||
import { SelectAppsDialogComponent } from '@alfresco/adf-process-services';
|
||||
|
||||
import { VersionManagerDialogAdapterComponent } from './version-manager-dialog-adapter.component';
|
||||
import { MetadataDialogAdapterComponent } from './metadata-dialog-adapter.component';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { Subscription, Subject } from 'rxjs';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { debounceTime } from 'rxjs/operators';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import { SearchEntry } from '@alfresco/js-api';
|
||||
|
||||
const DEFAULT_FOLDER_TO_SHOW = '-my-';
|
||||
@@ -57,6 +59,8 @@ const DEFAULT_FOLDER_TO_SHOW = '-my-';
|
||||
})
|
||||
export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
protected onDestroy$ = new Subject<boolean>();
|
||||
|
||||
errorMessage: string = null;
|
||||
nodeId: any;
|
||||
showViewer = false;
|
||||
@@ -213,7 +217,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
private preview: PreviewService,
|
||||
@Optional() private route: ActivatedRoute,
|
||||
public authenticationService: AuthenticationService,
|
||||
public alfrescoApiService: AlfrescoApiService) {
|
||||
public alfrescoApiService: AlfrescoApiService,
|
||||
private contentMetadataService: ContentMetadataService,
|
||||
private sharedLinksApiService: SharedLinksApiService) {
|
||||
}
|
||||
|
||||
showFile(event) {
|
||||
@@ -258,7 +264,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
// this.disableDragArea = false;
|
||||
this.uploadService.fileUploadComplete.asObservable()
|
||||
.pipe(debounceTime(300))
|
||||
.subscribe((value) => this.onFileUploadEvent(value));
|
||||
@@ -267,13 +272,25 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
this.onCreateFolder = this.contentService.folderCreate.subscribe((value) => this.onFolderAction(value));
|
||||
this.onEditFolder = this.contentService.folderEdit.subscribe((value) => this.onFolderAction(value));
|
||||
|
||||
// this.permissionsStyle.push(new PermissionStyleModel('document-list__create', AllowableOperationsEnum.CREATE));
|
||||
// this.permissionsStyle.push(new PermissionStyleModel('document-list__disable', AllowableOperationsEnum.NOT_CREATE, false, true));
|
||||
this.contentMetadataService.error
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe((err: { message: string }) => {
|
||||
this.notificationService.showError(err.message);
|
||||
});
|
||||
|
||||
this.sharedLinksApiService.error
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe((err: { message: string }) => {
|
||||
this.notificationService.showError(err.message);
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onCreateFolder.unsubscribe();
|
||||
this.onEditFolder.unsubscribe();
|
||||
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges) {
|
||||
|
||||
@@ -16,9 +16,8 @@
|
||||
*/
|
||||
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { FormModel, FormService, FormOutcomeEvent } from '@alfresco/adf-core';
|
||||
import { FormModel, FormService, FormOutcomeEvent, CoreAutomationService } from '@alfresco/adf-core';
|
||||
import { InMemoryFormService } from '../../services/in-memory-form.service';
|
||||
import { DemoForm } from './demo-form';
|
||||
import { FakeFormService } from './fake-form.service';
|
||||
|
||||
@Component({
|
||||
@@ -37,7 +36,8 @@ export class FormLoadingComponent implements OnInit {
|
||||
radioButtonFieldValue = '';
|
||||
formattedData = {};
|
||||
|
||||
constructor(@Inject(FormService) private formService: InMemoryFormService) {
|
||||
constructor(@Inject(FormService) private formService: InMemoryFormService,
|
||||
private automationService: CoreAutomationService) {
|
||||
formService.executeOutcome.subscribe((formOutcomeEvent: FormOutcomeEvent) => {
|
||||
formOutcomeEvent.preventDefault();
|
||||
});
|
||||
@@ -45,7 +45,7 @@ export class FormLoadingComponent implements OnInit {
|
||||
|
||||
ngOnInit() {
|
||||
this.formattedData = {};
|
||||
const formDefinitionJSON: any = DemoForm.getSimpleFormDefinition();
|
||||
const formDefinitionJSON: any = this.automationService.forms.getSimpleFormDefinition();
|
||||
this.form = this.formService.parseForm(formDefinitionJSON);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,9 +16,8 @@
|
||||
*/
|
||||
|
||||
import { Component, Inject, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { FormModel, FormFieldModel, FormService, FormOutcomeEvent, NotificationService } from '@alfresco/adf-core';
|
||||
import { FormModel, FormFieldModel, FormService, FormOutcomeEvent, NotificationService, CoreAutomationService } from '@alfresco/adf-core';
|
||||
import { InMemoryFormService } from '../../services/in-memory-form.service';
|
||||
import { DemoForm } from './demo-form';
|
||||
import { Subscription } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
@@ -48,7 +47,8 @@ export class FormComponent implements OnInit, OnDestroy {
|
||||
};
|
||||
|
||||
constructor(@Inject(FormService) private formService: InMemoryFormService,
|
||||
private notificationService: NotificationService) {
|
||||
private notificationService: NotificationService,
|
||||
private automationService: CoreAutomationService) {
|
||||
|
||||
this.subscriptions.push(
|
||||
formService.executeOutcome.subscribe((formOutcomeEvent: FormOutcomeEvent) => {
|
||||
@@ -62,8 +62,7 @@ export class FormComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
const formDefinitionJSON: any = DemoForm.getDefinition();
|
||||
this.formConfig = JSON.stringify(formDefinitionJSON);
|
||||
this.formConfig = JSON.stringify(this.automationService.forms.getFormDefinition());
|
||||
this.parseForm();
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
z-index: 1;
|
||||
|
||||
}
|
||||
|
||||
.adf-settings {
|
||||
|
||||
@@ -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 { LoginComponent } from './login.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: LoginComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule.forChild(),
|
||||
RouterModule.forChild(routes),
|
||||
ContentModule.forChild()
|
||||
],
|
||||
declarations: [LoginComponent]
|
||||
})
|
||||
export class AppLoginModule {}
|
||||
@@ -65,4 +65,10 @@
|
||||
{{snackBarConfigObject}}
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Quick Messages</h3>
|
||||
<button mat-button color="primary" (click)="quickInfo()">Info</button>
|
||||
<button mat-button color="warn" (click)="quickError()">Error</button>
|
||||
<button mat-button color="accent" (click)="quickWarning()">Warning</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -117,4 +117,16 @@ export class NotificationsComponent implements OnInit {
|
||||
dismissSnackBar() {
|
||||
this.notificationService.dismissSnackMessageAction();
|
||||
}
|
||||
|
||||
quickError() {
|
||||
this.notificationService.showError(this.message, 'Fix');
|
||||
}
|
||||
|
||||
quickInfo() {
|
||||
this.notificationService.showInfo(this.message);
|
||||
}
|
||||
|
||||
quickWarning() {
|
||||
this.notificationService.showWarning(this.message, 'Undo');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import { NotificationsComponent } from './notifications.component';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
@@ -32,7 +33,8 @@ const routes: Routes = [
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule.forChild(),
|
||||
RouterModule.forChild(routes)
|
||||
RouterModule.forChild(routes),
|
||||
MatButtonModule
|
||||
],
|
||||
declarations: [NotificationsComponent]
|
||||
})
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div id="attachment-process-list" *ngIf="processInstanceId">
|
||||
<div class="adf-no-form-container">
|
||||
<div>
|
||||
|
||||
<adf-upload-drag-area
|
||||
[rootFolderId]="processInstanceId"
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</mat-accordion>
|
||||
</div>
|
||||
<div class="adf-grid-item adf-tasks-list" fxFlex.gt-md="380px"
|
||||
[ngClass.gt-md]="{'small-pagination': true}"
|
||||
[ngClass.gt-md]="{'adf-small-pagination': true}"
|
||||
*ngIf="taskFilter && !isStartTaskMode()">
|
||||
<adf-tasklist
|
||||
[appId]="taskFilter?.appId"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
}
|
||||
|
||||
.adf-grid {
|
||||
|
||||
.adf-grid-item {
|
||||
margin: 4px;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
|
||||
@@ -19,10 +18,6 @@
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.adf-list-buttons-start {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adf-tasks-list.adf-small-pagination,
|
||||
.adf-processes-list.adf-small-pagination {
|
||||
.adf-pagination {
|
||||
@@ -31,10 +26,6 @@
|
||||
padding-bottom: 24px;
|
||||
padding-top: 8px;
|
||||
|
||||
&__block {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
&__range-block.adf-pagination__block:first-child {
|
||||
order: 1;
|
||||
width: 60%;
|
||||
@@ -74,26 +65,6 @@
|
||||
.adf-datatable-list {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.adf-datatable tr,
|
||||
.adf-datatable td {
|
||||
height: 36px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.adf-datatable td {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.adf-datatable th {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
height: 40px;
|
||||
vertical-align: middle;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
mat-slide-toggle {
|
||||
@@ -108,7 +79,6 @@
|
||||
}
|
||||
|
||||
.adf-accordion-panel {
|
||||
|
||||
.mat-expansion-panel {
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div id="attachment-task-list" *ngIf="taskId">
|
||||
<div class="adf-no-form-container">
|
||||
<div>
|
||||
|
||||
<adf-upload-drag-area
|
||||
[rootFolderId]="taskId">
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
<label for="nodeId"><b>{{'TAG.INSERT' | translate }}</b></label><br>
|
||||
<input id="nodeId" type="text" size="48" [(ngModel)]="nodeId"><br>
|
||||
<input id="nodeId" type="text" size="48" [(ngModel)]="nodeIdInput">
|
||||
<button mat-raised-button id="adf-tag-node-send" (click)="onSubmit()" color="primary">Confirm</button>
|
||||
|
||||
<br>
|
||||
<div fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
|
||||
<div class="adf-tag-example-area" fxFlex.gt-md="1 1 auto">
|
||||
<mat-card>
|
||||
|
||||
@@ -25,9 +25,14 @@ import { Component } from '@angular/core';
|
||||
export class TagComponent {
|
||||
|
||||
nodeId = '';
|
||||
nodeIdInput = '';
|
||||
showDelete = true;
|
||||
|
||||
toggleDeleteButton() {
|
||||
this.showDelete = !this.showDelete;
|
||||
}
|
||||
|
||||
onSubmit() {
|
||||
this.nodeId = this.nodeIdInput;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,12 +171,12 @@
|
||||
<data-column key="description" title="Description"></data-column>
|
||||
<data-column key="created" title="Created">
|
||||
<ng-template let-entry="$implicit">
|
||||
<div>{{entry.row.obj.created | date:'MMM d, yyyy' }} </div>
|
||||
<div>{{entry.row.obj.created | adfLocalizedDate: '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>
|
||||
<div>{{entry.row.obj.dueDate | adfLocalizedDate: 'MMM d, yyyy' }} </div>
|
||||
</ng-template>
|
||||
</data-column>
|
||||
<data-column key="processInstanceId" title="Process Instance Id"></data-column>
|
||||
|
||||
@@ -22,6 +22,7 @@ import { debounceTime } from 'rxjs/operators';
|
||||
import moment from 'moment-es6';
|
||||
|
||||
@Component({
|
||||
selector: 'app-task-list-demo',
|
||||
templateUrl: './task-list-demo.component.html',
|
||||
styleUrls: [`./task-list-demo.component.scss`]
|
||||
})
|
||||
|
||||
@@ -76,7 +76,8 @@
|
||||
key="archivedAt"
|
||||
title="DOCUMENT_LIST.COLUMNS.DELETED_ON">
|
||||
<ng-template let-value="value">
|
||||
<span title="{{ value | date:'medium' }}">{{ value | adfTimeAgo: currentLocale }}</span>
|
||||
<span title="{{ value | adfLocalizedDate: 'medium' }}"
|
||||
class="adf-datatable-cell-value">{{ value | adfTimeAgo: currentLocale }}</span>
|
||||
</ng-template>
|
||||
</data-column>
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
/*!
|
||||
* @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.
|
||||
*/
|
||||
|
||||
export const environment = {
|
||||
production: false,
|
||||
e2e: true
|
||||
};
|
||||
@@ -16,5 +16,6 @@
|
||||
*/
|
||||
|
||||
export const environment = {
|
||||
production: true
|
||||
production: true,
|
||||
e2e: false
|
||||
};
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
// The list of which env maps to which file can be found in `.angular-cli.json`.
|
||||
|
||||
export const environment = {
|
||||
production: false
|
||||
production: false,
|
||||
e2e: false
|
||||
};
|
||||
|
||||
@@ -34,11 +34,13 @@ A few other pages of information are also available:
|
||||
version of ADF.
|
||||
- The [Roadmap](roadmap.md)
|
||||
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
|
||||
- The [License info](license-info/README.md) section lists the third-party libraries used by ADF along with links to their Open Source licenses.
|
||||
- The [Vulnerability](vulnerability/README.md) section lists the third-party
|
||||
libraries known vulnerability.
|
||||
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.
|
||||
- The [Upgrade guide](upgrade-guide/README.md) explains how to upgrade your project from an earlier version of ADF to the current version.
|
||||
|
||||
## Contents
|
||||
|
||||
@@ -57,6 +59,7 @@ A few other pages of information are also available:
|
||||
- [Angular Material Design](user-guide/angular-material-design.md)
|
||||
- [Form Extensibility and Customisation](user-guide/extensibility.md)
|
||||
- [Internationalization in ADF](user-guide/internationalization.md)
|
||||
- [Localization in ADF](user-guide/localization.md)
|
||||
- [Theming](user-guide/theming.md)
|
||||
- [Transclusion](user-guide/transclusion.md)
|
||||
- [Typography](user-guide/typography.md)
|
||||
@@ -103,11 +106,13 @@ for more information about installing and using the source code.
|
||||
| [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) |
|
||||
| [Notification History component](core/components/notification-history.component.md)  | This component is in the current status just an experimental component. | |
|
||||
| The main purpose of the Notification history component is list all the notification received in the current session. They will disappear from the list after the refresh. | [Source](../lib/core/notification-history/notification-history.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) |
|
||||
| [Start Form component](core/components/start-form.component.md) | Displays the Start Form for a process. | [Source](../lib/process-services/form/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) |
|
||||
@@ -157,8 +162,9 @@ for more information about installing and using the source code.
|
||||
| [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) |
|
||||
| [Localized Date pipe](core/pipes/localized-date.pipe.md) | Converts a date to a given format and locale. | [Source](../lib/core/pipes/localized-date.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) |
|
||||
| [Multi Value pipe](core/pipes/multi-value.pipe.md) | Takes an array of strings and turns it into one string where items are separated by a separator. The default separator applied to the list is ', ', however, you can set your own separator in the params of the pipe. | [Source](../lib/core/pipes/multi-value.pipe.ts) |
|
||||
| [Multi Value Pipe](core/pipes/multi-value.pipe.md) | Takes an array of strings and turns it into one string where items are separated by a separator. The default separator applied to the list is the comma , however, you can set your own separator in the params of the pipe. | [Source](../lib/core/pipes/multi-value.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) |
|
||||
@@ -251,7 +257,7 @@ for more information about installing and using the source code.
|
||||
| [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) |
|
||||
| [Rating component](content-services/components/rating.component.md) | Allows a user to add and remove rating 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) |
|
||||
@@ -410,7 +416,7 @@ for more information about installing and using the source code.
|
||||
| [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) |
|
||||
| [Form cloud custom outcomes component](process-services-cloud/components/form-cloud-custom-outcome.component.md) | Supplies custom outcome buttons to be included in Form cloud component. | [Source](../lib/process-services-cloud/src/lib/form/components/form-cloud-custom-outcomes.component.ts) |
|
||||
| [Form cloud component](process-services-cloud/components/form-cloud.component.md) | Shows a form from Process Services. | [Source](../lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts) |
|
||||
| [Form definition selector Cloud componet](process-services-cloud/components/form-definition-selector-cloud.component.md) | Allows one form to be selected. | [Source](../lib/process-services-cloud/src/lib/form-definition-selector/components/form-definition-selector-cloud.component.ts) |
|
||||
| [Form Definition Selector Cloud](process-services-cloud/components/form-definition-selector-cloud.component.md) | Allows one form to be selected. | [Source](../lib/process-services-cloud/src/lib/form/components/form-definition-selector-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) |
|
||||
@@ -419,7 +425,7 @@ for more information about installing and using the source code.
|
||||
| [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) |
|
||||
| [Form cloud component](process-services-cloud/components/task-form-cloud.component.md) | Shows a form for a task. | [Source](../lib/process-services-cloud/src/lib/form/components/task-form-cloud.component.ts) |
|
||||
| [Form cloud component](process-services-cloud/components/task-form-cloud.component.md) | Shows a form for a task. | [Source](../lib/process-services-cloud/src/lib/task/task-form/components/task-form-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) |
|
||||
|
||||
|
||||
@@ -61,4 +61,5 @@
|
||||
- compatibility.md: 'Version compatibility'
|
||||
- release-notes: 'Release notes'
|
||||
- upgrade-guide: 'Upgrade Guide'
|
||||
- vulnerability: 'Vulnerability'
|
||||
- license-info: 'License info'
|
||||
|
||||
@@ -20,8 +20,9 @@ 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 | Content Services | Process Services |
|
||||
| -- | -- | -- |
|
||||
| [3.2.0](versionIndex.md#v320) | **Full test:** v6.1.0 <br/> **Smoke test:** v5.2.4 | **Full test:** v7.1.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
|
||||
| --- | --- | --- |
|
||||
| [3.3.0](versionIndex.md#v330) | **Full test:** v6.1.0 <br/> **Smoke test:** v5.2.4 | **Full test:** v7.1.0 M2 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
|
||||
| [3.2.0](versionIndex.md#v320) - [3.2.1](versionIndex.md#v321) | **Full test:** v6.1.0 <br/> **Smoke test:** v5.2.4 | **Full test:** v7.1.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
|
||||
| [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 |
|
||||
|
||||
@@ -7,10 +7,19 @@ Last reviewed: 2019-01-14
|
||||
|
||||
# [Rating component](../../../lib/content-services/social/rating.component.ts "Defined in rating.component.ts")
|
||||
|
||||
Allows a user to add ratings to an item.
|
||||
Allows a user to add and remove rating to an item.
|
||||
|
||||
It displays the average rating and the number of ratings. If the user has not rated the item the average rating stars color is grey.
|
||||
|
||||

|
||||
|
||||
If the user has rated the item the average rating stars color is yellow.
|
||||
|
||||

|
||||
|
||||
In order to remove the rating the user should click on the same star that he rated.
|
||||
If the average is decimal number it will be rounded.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
|
||||
@@ -67,3 +67,17 @@ and passes it to a [Viewer component](../../core/components/viewer.component.md)
|
||||
[allowGoBack]="false">
|
||||
</adf-viewer>
|
||||
```
|
||||
|
||||
## Date and time widget
|
||||
|
||||
Date and time widget for setting the expiration date can be configured to show only the date picker or both date and time piker.
|
||||
By default, the widget will show both date and time picker if `sharedLinkDateTimePickerType` is not present in the app.config.json.
|
||||
Possible values are `'date'` or `'datetime'`
|
||||
|
||||
```json
|
||||
{
|
||||
...
|
||||
"sharedLinkDateTimePickerType": 'date'
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
@@ -11,7 +11,7 @@ Defines the Image Resolver function used by the [Document List Component](../com
|
||||
|
||||
## Definitions
|
||||
|
||||
- `type` **[ImageResolver](../../../lib/content-services/document-list/data/image-resolver.model.ts)** = (row: [`DataRow`](../../../lib/core/datatable/data/data-row.model.ts), column: [`DataColumn`](../../../lib/core/datatable/data/data-column.model.ts)) => `string`
|
||||
- `type` **[`ImageResolver`](../../../lib/content-services/document-list/data/image-resolver.model.ts)** = (row: [`DataRow`](../../../lib/core/datatable/data/data-row.model.ts), column: [`DataColumn`](../../../lib/core/datatable/data/data-column.model.ts)) => `string`
|
||||
- _row:_ [`DataRow`](../../../lib/core/datatable/data/data-row.model.ts) - Data that defines the row
|
||||
- _column:_ [`DataColumn`](../../../lib/core/datatable/data/data-column.model.ts) - Data that defines the column
|
||||
- **Returns** File path for the image
|
||||
|
||||
@@ -49,7 +49,7 @@ this.permissionsStyle.push(new PermissionStyleModel('document-list__create', All
|
||||
```
|
||||
|
||||
```css
|
||||
adf-document-list ::ng-deep adf-datatable tr.document-list__create {
|
||||
adf-document-list adf-datatable .document-list__create {
|
||||
background: green !important;
|
||||
}
|
||||
```
|
||||
@@ -68,7 +68,7 @@ this.permissionsStyle.push(new PermissionStyleModel('document-list__disable', Al
|
||||
```
|
||||
|
||||
```css
|
||||
adf-document-list ::ng-deep adf-datatable tr.document-list__disable {
|
||||
adf-document-list adf-datatable .document-list__disable {
|
||||
background: red !important;
|
||||
}
|
||||
```
|
||||
|
||||
@@ -11,7 +11,7 @@ Defines the Row Filter function used by the [Document List Component](../compone
|
||||
|
||||
## Definitions
|
||||
|
||||
- `type` **[RowFilter](../../../lib/content-services/document-list/data/row-filter.model.ts)** = (value: [`ShareDataRow`](../../../lib/content-services/document-list/data/share-data-row.model.ts), index: `number`, array: [`ShareDataRow`](../../../lib/content-services/document-list/data/share-data-row.model.ts)`[]`) => any
|
||||
- `type` **[`RowFilter`](../../../lib/content-services/document-list/data/row-filter.model.ts)** = (value: [`ShareDataRow`](../../../lib/content-services/document-list/data/share-data-row.model.ts), index: `number`, array: [`ShareDataRow`](../../../lib/content-services/document-list/data/share-data-row.model.ts)`[]`) => any
|
||||
- _value:_ [`ShareDataRow`](../../../lib/content-services/document-list/data/share-data-row.model.ts) - Data that defines the row
|
||||
- _index:_ `number` - Index of the row within the list
|
||||
- _array:_ [`ShareDataRow`](../../../lib/content-services/document-list/data/share-data-row.model.ts)`[]` - The full set of rows for the list
|
||||
|
||||
@@ -48,7 +48,7 @@ Implements node operations used by the [Document List component](../components/d
|
||||
- _nodeId:_ `string` -
|
||||
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) -
|
||||
- _includeFields:_ `string[]` -
|
||||
- _where:_ `string` - (Optional)
|
||||
- _where:_ `string` - (Optional)
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`DocumentLoaderNode`](../../../lib/content-services/document-list/models/document-folder.model.ts)`>` -
|
||||
|
||||
- **moveNode**(nodeId: `string`, targetParentId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodeEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeEntry.md)`>`<br/>
|
||||
|
||||
@@ -56,7 +56,7 @@ You can also combine `icon` and `label` properties.
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| icon | `string` | null | Icon to render for the tab. |
|
||||
| label | `string` | "" | The title of the tab. |
|
||||
| label | `string` | "" | The title of the tab (string or translation key). |
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ have any content you like:
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| selectedIndex | `number` | 0 | The selected index tab. |
|
||||
| title | `string \| null` | null | The title of the info drawer. |
|
||||
| title | `string \| null` | null | The title of the info drawer (string or translation key). |
|
||||
|
||||
### Events
|
||||
|
||||
|
||||
@@ -51,6 +51,17 @@ The component fetches the list of available languages from `app.config.json`:
|
||||
]
|
||||
```
|
||||
|
||||
For languages that need RTL orientation, `direction` property must be declared. Default is `ltr`.
|
||||
|
||||
|
||||
```json
|
||||
{
|
||||
"key": "...",
|
||||
"label": "...",
|
||||
"direction": "rtl"
|
||||
},
|
||||
```
|
||||
|
||||
If no `languages` setting is provided, the component shows only the English language.
|
||||
|
||||
### Nested Menu language
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
Title: Notification History component
|
||||
Added: v3.3.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2019-06-05
|
||||
---
|
||||
|
||||
# [Notification History component](../../../lib/core/notification-history/notification-history.component.ts "Defined in notification-history.component.ts")
|
||||
|
||||
This component is in the current status just an experimental component.
|
||||
The main purpose of the [Notification history component](../../core/components/notification-history.component.md) is list all the notification received in the current session. They will disappear from the list after the refresh.
|
||||
|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<adf-notification-history [menuPositionX]="'before'" [menuPositionY]="'above'"></adf-notification-history>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| menuPositionX | `string` | "after" | Custom choice for opening the menu at the bottom. Can be `before` or `after`. |
|
||||
| menuPositionY | `string` | "below" | Custom choice for opening the menu at the bottom. Can be `above` or `below`. |
|
||||
@@ -69,7 +69,6 @@ sub-components (note the use of `<ng-template>` in the sub-components' body sect
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| direction | `string` | "ltr" | The direction of the layout. 'ltr' or 'rtl' |
|
||||
| expandedSidenav | `boolean` | true | Should the navigation region be expanded initially? |
|
||||
| hideSidenav | `boolean` | false | Toggles showing/hiding the navigation region. |
|
||||
| position | `string` | "start" | The side that the drawer is attached to. Possible values are 'start' and 'end'. |
|
||||
|
||||
@@ -28,8 +28,9 @@ Displays the Start [`Form`](../../../lib/process-services/task-list/models/form.
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| data | [`FormValues`](../../../lib/core/form/components/widgets/core/form-values.ts) | | Custom form values map to be used with the rendered form. |
|
||||
| disableCompleteButton | `boolean` | false | If true then the `Complete` outcome button is shown but it will be disabled. |
|
||||
| disableSaveButton | `boolean` | false | If true then the `Save` outcome button is shown but will be disabled. |
|
||||
| disableStartProcessButton | `boolean` | false | If true then the `Start Process` outcome button is shown but it will be disabled. |
|
||||
| fieldValidators | [`FormFieldValidator`](../../../lib/core/form/components/widgets/core/form-field-validator.ts)`[]` | \[] | Contains a list of form field validator instances. |
|
||||
| fieldValidators | [`FormFieldValidator`](../../../lib/core/form/components/widgets/core/form-field-validator.ts)`[]` | | Contains a list of form field validator instances. |
|
||||
| form | [`FormModel`](../../../lib/core/form/components/widgets/core/form.model.ts) | | Underlying [form model](../../../lib/core/form/components/widgets/core/form.model.ts) instance. |
|
||||
| formId | `number` | | The id of the form definition to load and display with custom values. |
|
||||
| formName | `string` | | Name of the form definition to load and display with custom values. |
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
Title: Localized Date pipe
|
||||
Added: v3.3.0
|
||||
Status: Active
|
||||
---
|
||||
|
||||
# [Localized Date pipe](../../../lib/core/pipes/localized-date.pipe.ts "Defined in localized-date.pipe.ts")
|
||||
|
||||
Converts a date to a given format and locale.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
<!-- {% raw %} -->
|
||||
|
||||
```HTML
|
||||
<div>
|
||||
Created date: {{ date | adfLocalizedDate }}
|
||||
</div>
|
||||
```
|
||||
|
||||
<!-- {% endraw %} -->
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| format | string | 'medium' | A format to apply to the date value. [Date Pipe Formats.](https://angular.io/api/common/DatePipe#custom-format-options) |
|
||||
| locale | string | 'en-US' | A locale id for the locale format rules to use. |
|
||||
|
||||
## Details
|
||||
|
||||
The pipe takes a date and formats it and localizes it so the date is displayed in the proper format for the region. It uses the [Angular Date Pipe](https://angular.io/api/common/DatePipe#custom-format-options) so all the pre-defined and custom formats can be used.
|
||||
|
||||
To localize the dates in your application, you will need to add the specific locale file for your region in order to use it. Read more about internationalization [here](https://angular.io/guide/i18n#i18n-pipes).
|
||||
|
||||
For example, if you want add the japanese date localization in your ADF app you can add in your ```app.module.ts```:
|
||||
|
||||
```typescript
|
||||
import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService, CoreModule, CoreAutomationService } from '@alfresco/adf-core';
|
||||
|
||||
.....
|
||||
.....
|
||||
|
||||
import { registerLocaleData } from '@angular/common';
|
||||
import localeJa from '@angular/common/locales/ja';
|
||||
|
||||
registerLocaleData(localeJa);
|
||||
|
||||
|
||||
```
|
||||
|
||||
### Default values
|
||||
|
||||
You can overwrite the default values of this pipe by adding these properties to your ```app.config.json```:
|
||||
|
||||
```json
|
||||
"dateValues": {
|
||||
"defaultDateFormat": "mediumDate",
|
||||
"defaultDateTimeFormat": "MMM d, y, H:mm",
|
||||
"defaultLocale": "en-US"
|
||||
}
|
||||
```
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| defaultDateFormat | string | The format to apply to date values |
|
||||
| defaultDateTimeFormat | string | The format to apply to date-time values |
|
||||
| defaultLocale | string | The locale id to apply |
|
||||
|
||||
This configuration overwrites the values in the localized date pipe as well as other components to have more consistency across your app. However, you can still overwrite these values any time by using the pipe in your code.
|
||||
@@ -1,6 +1,12 @@
|
||||
---
|
||||
Title: Multi Value Pipe
|
||||
Added: v3.2.0
|
||||
Status: Active
|
||||
---
|
||||
|
||||
# [Multi Value Pipe](../../../lib/core/pipes/multi-value.pipe.ts "Defined in multi-value.pipe.ts")
|
||||
|
||||
Takes an array of strings and turns it into one string where items are separated by a separator. The default separator applied to the list is `', '`, however, you can set your own separator in the params of the pipe.
|
||||
Takes an array of strings and turns it into one string where items are separated by a separator. The default separator applied to the list is the comma ```, ``` however, you can set your own separator in the params of the pipe.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
|
||||
@@ -21,8 +21,14 @@ Converts a recent past date into a number of days ago.
|
||||
|
||||
<!-- {% endraw %} -->
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| locale | string | 'en-US' | A locale id for the locale format rules to use. |
|
||||
|
||||
## Details
|
||||
|
||||
The pipe finds the difference between the input date and the current date. If it
|
||||
is less than seven days then then the date will be formatted as "X days ago".
|
||||
Otherwise, the usual full date format is used.
|
||||
|
||||
By default, it localizes the date to the language that is currently in use by the app. Furthermore, a different locale id can be passed to the pipe to overwrite the locale id to set a custom one.
|
||||
|
||||
@@ -17,6 +17,13 @@ Decodes a JSON Web Token (JWT) to a JavaScript object.
|
||||
Decodes a JSON web token into a JS object.
|
||||
- _token:_ `any` - Token in encoded form
|
||||
- **Returns** `Object` - Decoded token data object
|
||||
- **getValueFromLocalAccessToken**(key: `string`)<br/>
|
||||
Gets a named value from the user access token.
|
||||
- _key:_ `string` - Key name of the field to retrieve
|
||||
- **getValueFromToken**(accessToken: `string`, key: `string`)<br/>
|
||||
Gets a named value from the user access token.
|
||||
- _accessToken:_ `string` -
|
||||
- _key:_ `string` -
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -28,6 +28,21 @@ Shows a notification message with optional feedback.
|
||||
- _action:_ `string` - Caption for the response button
|
||||
- _config:_ `number|MatSnackBarConfig` - (Optional) Time before notification disappears after being shown or MatSnackBarConfig object
|
||||
- **Returns** [`MatSnackBarRef`](https://material.angular.io/components/snack-bar/overview)`<any>` - Information/control object for the SnackBar
|
||||
- **showError**(message: `string`, action?: `string`): [`MatSnackBarRef`](https://material.angular.io/components/snack-bar/overview)`<any>`<br/>
|
||||
Rase error message
|
||||
- _message:_ `string` - Text message or translation key for the message.
|
||||
- _action:_ `string` - (Optional) Action name
|
||||
- **Returns** [`MatSnackBarRef`](https://material.angular.io/components/snack-bar/overview)`<any>` -
|
||||
- **showInfo**(message: `string`, action?: `string`): [`MatSnackBarRef`](https://material.angular.io/components/snack-bar/overview)`<any>`<br/>
|
||||
Rase info message
|
||||
- _message:_ `string` - Text message or translation key for the message.
|
||||
- _action:_ `string` - (Optional) Action name
|
||||
- **Returns** [`MatSnackBarRef`](https://material.angular.io/components/snack-bar/overview)`<any>` -
|
||||
- **showWarning**(message: `string`, action?: `string`): [`MatSnackBarRef`](https://material.angular.io/components/snack-bar/overview)`<any>`<br/>
|
||||
Rase warning message
|
||||
- _message:_ `string` - Text message or translation key for the message.
|
||||
- _action:_ `string` - (Optional) Action name
|
||||
- **Returns** [`MatSnackBarRef`](https://material.angular.io/components/snack-bar/overview)`<any>` -
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ Associate an uploaded file with a Process Instance.
|
||||
Let's say we have an upload button as follows:
|
||||
|
||||
```html
|
||||
<div class="button-row">
|
||||
<div>
|
||||
<button mat-button color="accent" mat-mini-fab (click)="fileInput.click()">
|
||||
<mat-icon>attachment</mat-icon>
|
||||
</button>
|
||||
|
||||
@@ -18,10 +18,10 @@ Finds shared links to Content Services items.
|
||||
- _nodeId:_ `string` - ID of the node to link to
|
||||
- _options:_ `any` - Options supported by JS-API
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SharedLinkEntry`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SharedLinkEntry.md)`>` - The shared link just created
|
||||
- **deleteSharedLink**(sharedId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SharedLinkEntry`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SharedLinkEntry.md)`>`<br/>
|
||||
- **deleteSharedLink**(sharedId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<any|Error>`<br/>
|
||||
Deletes a shared link.
|
||||
- _sharedId:_ `string` - ID of the link to delete
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SharedLinkEntry`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SharedLinkEntry.md)`>` - Null response notifying when the operation is complete
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any|Error>` - Null response notifying when the operation is complete
|
||||
- **getSharedLinks**(options: `any` = `{}`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>`<br/>
|
||||
Gets shared links available to the current user.
|
||||
- _options:_ `any` - Options supported by JS-API
|
||||
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
@@ -16,7 +16,7 @@ Manages and runs basic extension functionality.
|
||||
- **evaluateRule**(ruleId: `string`, context?: [`RuleContext`](../../../lib/extensions/src/lib/config/rule.extensions.ts)): `boolean`<br/>
|
||||
Evaluates a rule.
|
||||
- _ruleId:_ `string` - ID of the rule to evaluate
|
||||
- _context:_ [`RuleContext`](../../../lib/extensions/src/lib/config/rule.extensions.ts) - (Optional) (optional) Custom rule execution context.
|
||||
- _context:_ [`RuleContext`](../../../lib/extensions/src/lib/config/rule.extensions.ts) - (Optional) Custom rule execution context.
|
||||
- **Returns** `boolean` - True if the rule passed, false otherwise
|
||||
- **getActionById**(id: `string`): [`ActionRef`](../../../lib/extensions/src/lib/config/action.extensions.ts)<br/>
|
||||
Retrieves an action using its ID value.
|
||||
|
||||