mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-16 18:13:06 +00:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
480114e0d6 | ||
|
|
bc1e671430 | ||
|
|
8b4b4c9b0d | ||
|
|
e432ba6d37 |
@@ -17,6 +17,7 @@ demo-shell/resources/
|
||||
/angular.json
|
||||
/desktop.ini
|
||||
/cspell.json
|
||||
/.travis.yml
|
||||
/CODE_OF_CONDUCT.md
|
||||
/.stylelintignore
|
||||
/ALFRESCOCORS.md
|
||||
|
||||
@@ -13,14 +13,6 @@ trim_trailing_whitespace = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.yaml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.yml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
+6
-74
@@ -1,14 +1,7 @@
|
||||
{
|
||||
"root": true,
|
||||
"ignorePatterns": [
|
||||
"projects/**/*",
|
||||
"**/node_modules/**/*",
|
||||
"lib/cli/node_modules/**/*",
|
||||
"**/node_modules",
|
||||
"**/docker",
|
||||
"**/assets",
|
||||
"**/scripts",
|
||||
"**/docs"
|
||||
"projects/**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
@@ -29,21 +22,9 @@
|
||||
],
|
||||
"plugins": [
|
||||
"eslint-plugin-unicorn",
|
||||
"eslint-plugin-rxjs",
|
||||
"ban",
|
||||
"license-header"
|
||||
"eslint-plugin-rxjs"
|
||||
],
|
||||
"rules": {
|
||||
"ban/ban": [
|
||||
"error",
|
||||
{ "name": "eval", "message": "Calls to eval is not allowed." },
|
||||
{ "name": "fdescribe", "message": "Calls to fdescribe is not allowed" },
|
||||
{ "name": "fit", "message": "Calls to fit is not allowed" },
|
||||
{ "name": "xit", "message": "Calls to xit is not allowed" },
|
||||
{ "name": "xdescribe", "message": "Calls to xdescribe is not allowed" },
|
||||
{ "name": ["test", "only"], "message": "Calls to test.only is not allowed" },
|
||||
{ "name": ["describe", "only"], "message": "Calls to describe.only is not allowed" }
|
||||
],
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
@@ -82,25 +63,9 @@
|
||||
"@typescript-eslint/no-inferrable-types": "off",
|
||||
"@typescript-eslint/no-require-imports": "off",
|
||||
"@typescript-eslint/no-var-requires": "error",
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
{
|
||||
"selector": [
|
||||
"classProperty",
|
||||
"objectLiteralProperty",
|
||||
"typeProperty",
|
||||
"classMethod",
|
||||
"objectLiteralMethod",
|
||||
"typeMethod",
|
||||
"accessor",
|
||||
"enumMember"
|
||||
],
|
||||
"format": null,
|
||||
"modifiers": ["requiresQuotes"]
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/member-ordering": "off",
|
||||
"prefer-arrow/prefer-arrow-functions": "off",
|
||||
|
||||
"@typescript-eslint/member-ordering": "warn",
|
||||
"prefer-arrow/prefer-arrow-functions": "warn",
|
||||
|
||||
"brace-style": [
|
||||
"error",
|
||||
@@ -116,31 +81,6 @@
|
||||
}
|
||||
],
|
||||
"no-bitwise": "off",
|
||||
"no-console": [
|
||||
"error",
|
||||
{
|
||||
"allow": [
|
||||
"warn",
|
||||
"dir",
|
||||
"timeLog",
|
||||
"assert",
|
||||
"clear",
|
||||
"count",
|
||||
"countReset",
|
||||
"group",
|
||||
"groupEnd",
|
||||
"table",
|
||||
"dirxml",
|
||||
"error",
|
||||
"groupCollapsed",
|
||||
"Console",
|
||||
"profile",
|
||||
"profileEnd",
|
||||
"timeStamp",
|
||||
"context"
|
||||
]
|
||||
}
|
||||
],
|
||||
"no-duplicate-imports": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-redeclare": "error",
|
||||
@@ -149,15 +89,7 @@
|
||||
"rxjs/no-subject-unsubscribe": "error",
|
||||
"rxjs/no-subject-value": "error",
|
||||
"rxjs/no-unsafe-takeuntil": "error",
|
||||
"unicorn/filename-case": "error",
|
||||
"@typescript-eslint/no-unused-expressions": [
|
||||
"error",
|
||||
{
|
||||
"allowShortCircuit": true,
|
||||
"allowTernary": true
|
||||
}
|
||||
],
|
||||
"license-header/header": ["error", "./license-community.txt"]
|
||||
"unicorn/filename-case": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
name: "before-install"
|
||||
description: "launch before_install.sh and then parse env vars"
|
||||
inputs:
|
||||
act:
|
||||
description: 'enable act debug'
|
||||
required: false
|
||||
type: boolean
|
||||
default: 'false'
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Before install
|
||||
if: ${{ ! env.ACT }}
|
||||
shell: bash
|
||||
run: |
|
||||
pip install --user --quiet awscli
|
||||
|
||||
- name: base vars
|
||||
shell: bash
|
||||
run: |
|
||||
{
|
||||
echo "GIT_HASH=$(git rev-parse HEAD)";
|
||||
echo "BASE_HASH=$(git merge-base origin/${GITHUB_BASE_REF} HEAD)";
|
||||
echo "HEAD_HASH=HEAD";
|
||||
echo "HEAD_COMMIT_HASH=${GH_COMMIT}";
|
||||
echo "NX_CALCULATION_FLAGS=--all";
|
||||
echo "BUILD_OPTS=--configuration production";
|
||||
echo CI_FORCE_RUN=false;
|
||||
echo NODE_VERSION=$(node -v);
|
||||
} >> $GITHUB_ENV
|
||||
|
||||
- name: affected:* flag parser
|
||||
shell: bash
|
||||
if: ${{ contains(github.event.head_commit.message , '[affected:*]') }}
|
||||
run: |
|
||||
echo "Setting up CI to run with commit flag [affected:*] flag."
|
||||
echo "BREAK_ACTION=true" >> $GITHUB_ENV
|
||||
|
||||
- name: ci:force flag parser
|
||||
shell: bash
|
||||
if: ${{ contains(github.event.head_commit.message , '[ci:force]') }}
|
||||
run: |
|
||||
echo "Forcing CI to run with commit flag [ci:force]."
|
||||
echo CI_FORCE_RUN=true >> $GITHUB_ENV
|
||||
echo "BREAK_ACTION=true" >> $GITHUB_ENV
|
||||
|
||||
- name: PULL_REQUEST event
|
||||
if: ${{ env.BREAK_ACTION == false && github.event_name == 'pull_request' && !github.event.pull_request.merged }}
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Setting up CI flags for Pull Request event"
|
||||
NX_CALCULATION_FLAGS="--base=origin/${GITHUB_BASE_REF} --head=$HEAD_HASH"
|
||||
{
|
||||
echo "NX_CALCULATION_FLAGS=$NX_CALCULATION_FLAGS";
|
||||
echo "BASE_HASH=origin/${GITHUB_BASE_REF}";
|
||||
echo "BREAK_ACTION=true";
|
||||
} >> $GITHUB_ENV
|
||||
|
||||
- name: RELEASE on master/develop patch branch
|
||||
if: ${{ env.BREAK_ACTION == false && github.event.pull_request.merged }}
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ "${{ github.ref_name }}" =~ ^master(-patch.*)?$ ]]; then
|
||||
# into master(-patch*)
|
||||
echo "Setting up CI flags for Push on master patch"
|
||||
elif [[ "${{ github.ref_name }}" =~ ^develop-patch.*$ ]]; then
|
||||
# into develop-patch*
|
||||
echo "Setting up CI flags for Push develop patch"
|
||||
else
|
||||
echo "Setting up CI flags for Push on develop branch"
|
||||
base=$(git describe --tags $(git rev-list --tags --max-count=1))
|
||||
echo "NX_CALCULATION_FLAGS=--base=$base --head=$HEAD_HASH" >> $GITHUB_ENV
|
||||
fi
|
||||
echo "BREAK_ACTION=true" >> $GITHUB_ENV
|
||||
|
||||
- name: SCHEDULE event
|
||||
if: ${{ github.event_name == 'schedule' }}
|
||||
shell: bash
|
||||
env:
|
||||
EV_NAME: ${{ github.event_name }}
|
||||
run: |
|
||||
echo "Setting up CI to run on SCHEDULE"
|
||||
echo "NX_CALCULATION_FLAGS=--all" >> $GITHUB_ENV
|
||||
@@ -1,27 +0,0 @@
|
||||
name: "Download build artifacts"
|
||||
description: "Download build artifacts"
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: download and extract artifacts from s3
|
||||
shell: bash
|
||||
env:
|
||||
REMOTE_PATH: "alfresco-ng2-components/build-cache/${{ github.run_id }}"
|
||||
run: |
|
||||
packages=( dist nxcache node_modules )
|
||||
for i in "${packages[@]}"; do
|
||||
time aws s3 cp --no-progress s3://${S3_BUILD_BUCKET_SHORT_NAME}/${REMOTE_PATH}/$i.tar.gz $i.tar.gz
|
||||
du -h $i.tar.gz
|
||||
time tar xzf $i.tar.gz
|
||||
done
|
||||
- name: show files
|
||||
shell: bash
|
||||
run: |
|
||||
pwd
|
||||
ls -lha
|
||||
echo "====DIST===="
|
||||
find dist -maxdepth 1 -type d
|
||||
echo "====NXCACHE===="
|
||||
find nxcache -maxdepth 1 -type d
|
||||
echo "====ADF===="
|
||||
find node_modules/@alfresco/ -maxdepth 1 -type d
|
||||
@@ -1,172 +0,0 @@
|
||||
name: "e2e"
|
||||
description: "e2e"
|
||||
inputs:
|
||||
e2e-test-id:
|
||||
description: "Test id"
|
||||
required: true
|
||||
e2e-test-folder:
|
||||
description: "Test folder"
|
||||
required: true
|
||||
e2e-test-provider:
|
||||
description: "Test provider"
|
||||
required: true
|
||||
e2e-test-auth:
|
||||
description: "Test auth"
|
||||
required: true
|
||||
output:
|
||||
description: "Output path"
|
||||
required: true
|
||||
check-cs-env:
|
||||
required: true
|
||||
description: check cs env
|
||||
default: "false"
|
||||
check-ps-env:
|
||||
required: true
|
||||
description: check ps env
|
||||
default: "false"
|
||||
check-external-cs-env:
|
||||
required: true
|
||||
description: check external cs env
|
||||
default: "false"
|
||||
check-ps-cloud-env:
|
||||
required: true
|
||||
description: check ps cloud env
|
||||
default: "false"
|
||||
e2e-tar-name: #
|
||||
required: false
|
||||
default: e2e.tar.gz
|
||||
apa-proxy: #
|
||||
description: "proxy host"
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: use APA as PROXY host if apa-proxy is set
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ -n "${{ inputs.apa-proxy }}" ]]; then
|
||||
echo "APA proxy set."
|
||||
echo "PROXY_HOST_BPM=${E2E_HOST_APA}" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: install aws cli
|
||||
shell: bash
|
||||
run: pip install awscli
|
||||
- name: download smartrunner test results from s3 bucket if they exist
|
||||
shell: bash
|
||||
env:
|
||||
REMOTE_PATH: smart-runner/${{ github.run_id}}/${{ inputs.e2e-test-folder }}-${{ inputs.e2e-test-id}}/e2e.tar.gz
|
||||
run: |
|
||||
set -u;
|
||||
mkdir -p "${SMART_RUNNER_PATH}"
|
||||
if [[ $(aws s3 ls "s3://${S3_BUILD_BUCKET_SHORT_NAME}/adf/${REMOTE_PATH}" > /dev/null; echo $?) -eq 0 ]]; then
|
||||
echo "downloading test files"
|
||||
aws s3 cp "s3://${S3_BUILD_BUCKET_SHORT_NAME}/adf/${REMOTE_PATH}" .;
|
||||
tar xzf ${{ inputs.e2e-tar-name }};
|
||||
else
|
||||
echo "nothing to download";
|
||||
fi
|
||||
|
||||
- name: check EXTERNAL-CS is UP
|
||||
shell: bash
|
||||
if: ${{ inputs.check-external-cs-env == 'true' }}
|
||||
run: |
|
||||
set -u;
|
||||
./node_modules/@alfresco/adf-cli/bin/adf-cli \
|
||||
check-cs-env \
|
||||
--host "$EXTERNAL_ACS_HOST" \
|
||||
-u "$E2E_USERNAME" \
|
||||
-p "$E2E_PASSWORD" || exit 1
|
||||
|
||||
- name: Check CS is UP
|
||||
shell: bash
|
||||
if: ${{ inputs.check-cs-env == 'true' }}
|
||||
run: |
|
||||
set -u;
|
||||
./node_modules/@alfresco/adf-cli/bin/adf-cli \
|
||||
check-cs-env \
|
||||
--host "$E2E_HOST" \
|
||||
-u "$E2E_USERNAME" \
|
||||
-p "$E2E_PASSWORD" || exit 1
|
||||
|
||||
- name: check PS is UP
|
||||
shell: bash
|
||||
if: ${{ inputs.check-ps-env == 'true' }}
|
||||
run: |
|
||||
set -u;
|
||||
./node_modules/@alfresco/adf-cli/bin/adf-cli init-aps-env \
|
||||
--host "$E2E_HOST" \
|
||||
-u "$E2E_USERNAME" \
|
||||
-p "$E2E_PASSWORD" \
|
||||
--license "$AWS_S3_BUCKET_ACTIVITI_LICENSE" || exit 1
|
||||
|
||||
- name: check PS-CLOUD is UP
|
||||
shell: bash
|
||||
if: ${{ inputs.check-ps-cloud-env == 'true' }}
|
||||
run: |
|
||||
set -u;
|
||||
./node_modules/@alfresco/adf-cli/bin/adf-cli init-aae-env \
|
||||
--oauth "$E2E_HOST" \
|
||||
--host "$E2E_HOST_APA" \
|
||||
--modelerUsername "$E2E_MODELER_USERNAME" \
|
||||
--modelerPassword "$E2E_MODELER_PASSWORD" \
|
||||
--devopsUsername "$E2E_DEVOPS_USERNAME" \
|
||||
--devopsPassword "$E2E_DEVOPS_PASSWORD" \
|
||||
--clientId 'alfresco' || exit 1
|
||||
|
||||
- name: variables sanification
|
||||
env:
|
||||
FOLDER: "${{ inputs.e2e-test-folder }}"
|
||||
PROVIDER: "${{ inputs.e2e-test-provider }}"
|
||||
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
|
||||
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
|
||||
shell: bash
|
||||
run: |
|
||||
set -u;
|
||||
echo $PROXY_HOST_BPM
|
||||
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
|
||||
|
||||
- name: run test with retries
|
||||
id: retry_run
|
||||
env:
|
||||
FOLDER: "${{ inputs.e2e-test-folder }}"
|
||||
PROVIDER: "${{ inputs.e2e-test-provider }}"
|
||||
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
|
||||
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
|
||||
|
||||
uses: nick-fields/retry@v2.8.2
|
||||
with:
|
||||
timeout_minutes: 40
|
||||
max_attempts: 2
|
||||
retry_wait_seconds: 30
|
||||
shell: bash
|
||||
command: |
|
||||
set -u;
|
||||
export GH_ACTION_RETRY_COUNT=$(cat ${GITHUB_OUTPUT} | grep -E '^[0-9]{1,2}$' | tail -n1)
|
||||
echo "RETRY GH_ACTION_RETRY_COUNT = <$GH_ACTION_RETRY_COUNT>"
|
||||
if [[ ${{ inputs.e2e-test-folder }} == 'content-services/upload' ]]; then
|
||||
export DISPLAY=:99
|
||||
chromedriver --url-base=/wd/hub &
|
||||
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
|
||||
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "browser" || exit 1
|
||||
else
|
||||
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" || exit 1
|
||||
fi
|
||||
|
||||
- name: upload artifacts on gh
|
||||
id: upload_gh
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: e2e-artifact-output
|
||||
path: /home/runner/work/alfresco-ng2-components/alfresco-ng2-components/e2e-output-*
|
||||
|
||||
- name: upload smart-runner tests results on s3 to cache tests
|
||||
shell: bash
|
||||
if: always()
|
||||
env:
|
||||
REMOTE_PATH: "smart-runner/${{ github.run_id}}/${{ inputs.e2e-test-folder }}-${{ inputs.e2e-test-id}}/e2e.tar.gz"
|
||||
# description: always upload newer results
|
||||
run: |
|
||||
tar czf "${{ inputs.e2e-tar-name }}" "${SMART_RUNNER_PATH}"
|
||||
aws s3 cp "${{ inputs.e2e-tar-name }}" "s3://${S3_BUILD_BUCKET_SHORT_NAME}/adf/${REMOTE_PATH}"
|
||||
@@ -1,30 +0,0 @@
|
||||
name: 'enable dryrun'
|
||||
description: 'check if must run pipeline in dryrun mode'
|
||||
|
||||
inputs:
|
||||
dry-run-flag:
|
||||
description: 'enable dryrun'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
outputs:
|
||||
dryrun:
|
||||
description: "long sha of the tag"
|
||||
value: ${{ steps.dryrun.outputs.dryrun }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
||||
steps:
|
||||
- name: set dryrun flag to TRUE
|
||||
shell: bash
|
||||
id: dryrun
|
||||
run: |
|
||||
if [[ '${{ inputs.dry-run-flag }}' == 'true' ]]; then
|
||||
echo "dryrun=--dryrun" >> $GITHUB_OUTPUT;
|
||||
echo "enabling dryrun"
|
||||
else
|
||||
echo "dryrun=" >> $GITHUB_OUTPUT;
|
||||
echo "dryrun NOT enabled"
|
||||
fi
|
||||
@@ -1,19 +0,0 @@
|
||||
name: 'Get tag sha'
|
||||
description: 'get the sha of the latest or a specific tag'
|
||||
|
||||
outputs:
|
||||
tag_sha:
|
||||
description: "long sha of the tag"
|
||||
value: ${{ steps.sha_out.outputs.tag_sha }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
||||
steps:
|
||||
- name: get tag short sha
|
||||
shell: bash
|
||||
id: sha_out
|
||||
run: |
|
||||
tag_sha=$(git rev-list -n 1 $(git tag --sort=-creatordate | head -n 1))
|
||||
echo "tag_sha=$tag_sha" >> $GITHUB_OUTPUT
|
||||
echo $tag_sha
|
||||
@@ -1,28 +0,0 @@
|
||||
name: 'Check NPM bundle'
|
||||
description: 'check npm bundle'
|
||||
|
||||
inputs:
|
||||
branch_name:
|
||||
description: "override GITHUB_REF_NAME"
|
||||
required: false
|
||||
default: $GITHUB_REF_NAME
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
||||
steps:
|
||||
- name: load "NPM TAG"
|
||||
uses: ./.github/actions/set-npm-tag
|
||||
with:
|
||||
branch_name: ${{ inputs.branch_name }}
|
||||
- name: check npm bundle
|
||||
shell: bash
|
||||
id: sha_out
|
||||
run: |
|
||||
if [[ -z $TAG_NPM ]]; then
|
||||
echo "TAG_NPM not set, aborting"
|
||||
exit 1
|
||||
fi
|
||||
ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
|
||||
echo "check bundle on TAG_NPM='${TAG_NPM}' and ADF_VERSION='${ADF_VERSION}'"
|
||||
./scripts/github/build/npm-check-bundles.sh -v ${ADF_VERSION}
|
||||
@@ -1,37 +0,0 @@
|
||||
name: "set npm tag"
|
||||
description: "se NPM tag"
|
||||
|
||||
inputs:
|
||||
event_name:
|
||||
description: "override github.event_name"
|
||||
required: false
|
||||
default: ${{ github.event_name }}
|
||||
branch_name:
|
||||
description: "override GITHUB_REF_NAME"
|
||||
required: false
|
||||
default: $GITHUB_REF_NAME
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
|
||||
- name: set TAG_NPM
|
||||
shell: bash
|
||||
run: |
|
||||
TAG_NPM="alpha"
|
||||
VERSION_IN_PACKAGE_JSON=$(node -p "require('./package.json')".version)
|
||||
echo "version in package.json=${VERSION_IN_PACKAGE_JSON}"
|
||||
if [[ ${{ inputs.branch_name }} =~ ^master(-patch.*)?$ ]]; then
|
||||
# Pre-release versions
|
||||
if [[ $VERSION_IN_PACKAGE_JSON =~ ^[0-9]*\.[0-9]*\.[0-9]*-A\.[0-9]*$ ]];
|
||||
then
|
||||
TAG_NPM=next
|
||||
# Stable major versions
|
||||
else
|
||||
TAG_NPM=latest
|
||||
fi
|
||||
fi
|
||||
if [[ ${{ inputs.branch_name }} =~ ^develop(-patch.*)?$ ]]; then
|
||||
TAG_NPM=alpha
|
||||
fi
|
||||
echo "TAG_NPM=${TAG_NPM}" >> $GITHUB_ENV
|
||||
@@ -1,13 +0,0 @@
|
||||
name: 'Install Google Chrome'
|
||||
description: 'Install Google Chrome'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Install google chrome
|
||||
shell: bash
|
||||
run: |
|
||||
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
||||
sudo apt install ./google-chrome-stable_current_amd64.deb
|
||||
sudo ln -s /usr/bin/google-chrome /usr/bin/chrome
|
||||
chrome --version
|
||||
@@ -1,61 +0,0 @@
|
||||
name: 'Setup'
|
||||
description: 'Initialize cache, env var load'
|
||||
inputs:
|
||||
enable-cache:
|
||||
description: 'enable caching'
|
||||
required: false
|
||||
type: boolean
|
||||
default: 'true'
|
||||
enable-node-modules-cache:
|
||||
description: 'enable caching for node modules'
|
||||
required: false
|
||||
type: boolean
|
||||
default: 'true'
|
||||
act:
|
||||
description: 'enable act debug'
|
||||
required: false
|
||||
type: boolean
|
||||
default: 'false'
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: get latest tag sha
|
||||
id: tag-sha
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@v1.29.0
|
||||
# CACHE
|
||||
- name: Node Modules cache
|
||||
id: node-modules-cache
|
||||
if: ${{ inputs.enable-node-modules-cache == 'true' }}
|
||||
uses: actions/cache@v3
|
||||
env:
|
||||
cache-name: node-modules-cache
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
key: .npm-${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
node_modules-${{ runner.os }}-build-${{ env.cache-name }}-
|
||||
node_modules-${{ runner.os }}-build-
|
||||
node_modules-${{ runner.os }}-
|
||||
- name: pip cache
|
||||
uses: actions/cache@v3
|
||||
if: ${{ inputs.enable-cache == 'true' }}
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip-
|
||||
restore-keys: |
|
||||
${{ runner.os }}
|
||||
- name: load "NPM TAG"
|
||||
uses: ./.github/actions/set-npm-tag
|
||||
- name: before install script
|
||||
uses: ./.github/actions/before-install
|
||||
with:
|
||||
act: ${{ inputs.act }}
|
||||
- name: link nx executable
|
||||
run: sudo ln -s $(npm bin)/nx /usr/bin/nx
|
||||
shell: bash
|
||||
@@ -1,19 +0,0 @@
|
||||
name: "Upload build artifacts"
|
||||
description: "Upload build artifacts"
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: tar and upload artifacts
|
||||
shell: bash
|
||||
env:
|
||||
REMOTE_PATH: "alfresco-ng2-components/build-cache/${{ github.run_id }}"
|
||||
run: |
|
||||
packages=( dist nxcache node_modules )
|
||||
for i in "${packages[@]}"; do
|
||||
time tar czf $i.tar.gz $i
|
||||
du -h $i.tar.gz
|
||||
time aws s3 cp --no-progress $i.tar.gz "s3://${S3_BUILD_BUCKET_SHORT_NAME}/${REMOTE_PATH}/$i.tar.gz"
|
||||
done
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ updates:
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
day: "sunday"
|
||||
time: "07:00"
|
||||
open-pull-requests-limit: 5
|
||||
target-branch: develop
|
||||
ignore:
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
name: "upstream adf"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo_to_update:
|
||||
description: Repository to update
|
||||
type: string
|
||||
required: false
|
||||
default: alfresco-applications
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
cluster_operation:
|
||||
description: trigger adf test
|
||||
type: choice
|
||||
required: true
|
||||
options:
|
||||
- TRIGGER_ALPHA_ADF
|
||||
default: TRIGGER_ALPHA_ADF
|
||||
repo_to_update:
|
||||
description: Repository to update
|
||||
type: choice
|
||||
required: true
|
||||
options:
|
||||
- all
|
||||
- alfresco-content-app
|
||||
- alfresco-applications
|
||||
- alfresco-apps
|
||||
default: all
|
||||
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
|
||||
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
USERNAME_ADF: ${{ secrets.E2E_USERNAME }}
|
||||
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
|
||||
URL_HOST_ADF: ${{ secrets.URL_HOST_ADF }}
|
||||
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
|
||||
HOST_SSO: ${{ secrets.HOST_SSO }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
E2E_LOG_LEVEL: "ERROR"
|
||||
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
|
||||
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
|
||||
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
|
||||
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
|
||||
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
|
||||
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
|
||||
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
|
||||
HR_USER: ${{ secrets.HR_USER }}
|
||||
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
|
||||
NPM_REGISTRY_ADDRESS: ${{ secrets.NPM_REGISTRY_ADDRESS }}
|
||||
NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
GH_PACKAGES_READ_ONLY_TOKEN: ${{ secrets.HYLAND_GH_PACKAGES_READ_ONLY_TOKEN }}
|
||||
|
||||
jobs:
|
||||
trigger_adf:
|
||||
name: trigger adf
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
cache-dependency-path: package-lock.json
|
||||
# - name: Debug on failure
|
||||
# uses: mxschmitt/action-tmate@v3
|
||||
# with:
|
||||
# timeout-minutes: 60
|
||||
# limit-access-to-actor: true
|
||||
- name: Trigger Alpha ADF child build
|
||||
shell: bash
|
||||
if: ${{ contains(github.event.head_commit.message, '[trigger adf]') || inputs.cluster_operation == 'TRIGGER_ALPHA_ADF' || github.event.schedule == '0 12 * * *' }}
|
||||
run: |
|
||||
npm install github-api
|
||||
./scripts/github/update/update-project.sh -p $GH_BUILD_NUMBER -t $GH_TOKEN -v alpha -c $GH_COMMIT -r ${{ inputs.repo_to_update }}
|
||||
@@ -16,15 +16,20 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
|
||||
# If this run was triggered by a pull request event, then checkout
|
||||
# the head of the pull request instead of the merge commit.
|
||||
- run: git checkout HEAD^2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
uses: github/codeql-action/init@v1
|
||||
# Override language selection by uncommenting this and choosing your languages
|
||||
with:
|
||||
languages: javascript
|
||||
@@ -32,7 +37,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -46,4 +51,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
uses: github/codeql-action/analyze@v1
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
name: "cron e2e daily"
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 12 * * *'
|
||||
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
|
||||
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
|
||||
URL_HOST_ADF: "http://localhost:4200"
|
||||
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
|
||||
HOST_SSO: ${{ secrets.HOST_SSO }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
E2E_LOG_LEVEL: "ERROR"
|
||||
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
|
||||
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
|
||||
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
|
||||
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
|
||||
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
|
||||
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
|
||||
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
|
||||
HR_USER: ${{ secrets.HR_USER }}
|
||||
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
|
||||
SMART_RUNNER_PATH: ".protractor-smartrunner"
|
||||
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
|
||||
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
DEMO_SHELL_DIR: "./dist/demo-shell"
|
||||
STORYBOOK_DIR: "./dist/storybook/stories"
|
||||
BUILT_LIBS_DIR: "./dist/libs"
|
||||
NODE_MODULES_DIR: "./node_modules"
|
||||
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
|
||||
SAVE_SCREENSHOT: true
|
||||
REDIRECT_URI: /
|
||||
BROWSER_RUN: false
|
||||
MAXINSTANCES: 2
|
||||
PLAYWRIGHT_WORKERS: 2
|
||||
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
|
||||
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
|
||||
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
|
||||
|
||||
jobs:
|
||||
run-e2e:
|
||||
name: run e2e
|
||||
uses: ./.github/workflows/pull-request.yml
|
||||
secrets: inherit
|
||||
@@ -1,27 +0,0 @@
|
||||
name: "cron upstream daily"
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 12 * * *'
|
||||
|
||||
jobs:
|
||||
adf-upstream-alpha-alfresco-aca:
|
||||
name: trigger upstream alpha for alfresco-content-app
|
||||
uses: ./.github/workflows/adf_alpha.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
repo_to_update: alfresco-content-app
|
||||
|
||||
adf-upstream-alpha-alfresco-apps:
|
||||
name: trigger upstream alpha for alfresco-applications
|
||||
uses: ./.github/workflows/adf_alpha.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
repo_to_update: alfresco-applications
|
||||
|
||||
adf-upstream-alpha-hxp:
|
||||
name: trigger upstream alpha for hxp monorepo
|
||||
uses: ./.github/workflows/adf_alpha.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
repo_to_update: alfresco-apps
|
||||
@@ -1,16 +0,0 @@
|
||||
name: pr-workflow
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "devops/*"
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
adf-upstream-alpha-hxp:
|
||||
name: trigger upstream alpha for hxp monorepo
|
||||
uses: ./.github/workflows/adf_alpha.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
repo_to_update: alfresco-apps
|
||||
@@ -1,111 +0,0 @@
|
||||
name: "git-tag"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
dry-run-release:
|
||||
description: 'enable dry-run on artifact push'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- master-patch-*
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
|
||||
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
|
||||
URL_HOST_ADF: "http://localhost:4200"
|
||||
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
|
||||
HOST_SSO: ${{ secrets.HOST_SSO }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
E2E_LOG_LEVEL: "ERROR"
|
||||
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
|
||||
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
|
||||
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
|
||||
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
|
||||
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
|
||||
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
|
||||
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
|
||||
HR_USER: ${{ secrets.HR_USER }}
|
||||
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
|
||||
SMART_RUNNER_PATH: ".protractor-smartrunner"
|
||||
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
|
||||
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
|
||||
NPM_REGISTRY_ADDRESS: ${{ secrets.NPM_REGISTRY_ADDRESS }}
|
||||
NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
DEMO_SHELL_DIR: "./dist/demo-shell"
|
||||
STORYBOOK_DIR: "./dist/storybook/stories"
|
||||
BUILT_LIBS_DIR: "./dist/libs"
|
||||
NODE_MODULES_DIR: "./node_modules"
|
||||
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
|
||||
SAVE_SCREENSHOT: true
|
||||
REDIRECT_URI: /
|
||||
BROWSER_RUN: false
|
||||
MAXINSTANCES: 2
|
||||
PLAYWRIGHT_WORKERS: 2
|
||||
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
|
||||
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
|
||||
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
|
||||
|
||||
jobs:
|
||||
|
||||
release:
|
||||
uses: ./.github/workflows/release.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
dry-run-release: false
|
||||
|
||||
setup:
|
||||
needs: release
|
||||
timeout-minutes: 20
|
||||
name: "Release tag"
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
GITHUB_TOKEN: $GH_TOKEN
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-release }}
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
- name: "Release tag"
|
||||
run: |
|
||||
git fetch --all --quiet
|
||||
BRANCH=${GITHUB_REF##*/} ./scripts/github/release/git-tag.sh ${{ steps.set-dryrun.outputs.dryrun }}
|
||||
|
||||
@@ -1,413 +0,0 @@
|
||||
name: "pull-request"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
dry-run-release:
|
||||
description: 'enable dry-run on artifact push'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
devel:
|
||||
description: 'devel'
|
||||
required: false
|
||||
type: string
|
||||
default: false
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
branches:
|
||||
- develop
|
||||
- master
|
||||
- develop-patch*
|
||||
- master-patch*
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
|
||||
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
|
||||
URL_HOST_ADF: "http://localhost:4200"
|
||||
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
|
||||
HOST_SSO: ${{ secrets.HOST_SSO }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
E2E_LOG_LEVEL: "ERROR"
|
||||
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
|
||||
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
|
||||
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
|
||||
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
|
||||
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
|
||||
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
|
||||
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
|
||||
HR_USER: ${{ secrets.HR_USER }}
|
||||
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
|
||||
SMART_RUNNER_PATH: ".protractor-smartrunner"
|
||||
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
|
||||
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
DEMO_SHELL_DIR: "./dist/demo-shell"
|
||||
STORYBOOK_DIR: "./dist/storybook/stories"
|
||||
BUILT_LIBS_DIR: "./dist/libs"
|
||||
NODE_MODULES_DIR: "./node_modules"
|
||||
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
|
||||
SAVE_SCREENSHOT: true
|
||||
REDIRECT_URI: /
|
||||
BROWSER_RUN: false
|
||||
MAXINSTANCES: 2
|
||||
PLAYWRIGHT_WORKERS: 2
|
||||
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
|
||||
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
|
||||
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
|
||||
|
||||
|
||||
|
||||
jobs:
|
||||
check-package-lock:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
- name: Check package-lock.json version
|
||||
run: |
|
||||
if [[ $(jq '.lockfileVersion == 2' package-lock.json) == "true" ]] ; then
|
||||
echo -e "\033[31mpackage-lock must be version 1\033[0m"
|
||||
exit 1
|
||||
else
|
||||
echo -e "\033[32mpackage-lock.json has a correct version\033[0m"
|
||||
fi
|
||||
|
||||
check-if-pr-is-approved:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
- name: Check if PR is approved
|
||||
id: action
|
||||
if: ${{ github.event_name != 'schedule' }}
|
||||
uses: kamatama41/get-pr-number-action@5c77b38a1b4974ebf8a9521a689f38a5898eadd6
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: check if pr is approved
|
||||
env:
|
||||
DEVEL_FLAG: ${{ inputs.devel }}
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
skip_check: "false"
|
||||
run: |
|
||||
if [ "${{ github.actor }}" == "dependabot[bot]" ] || [ "${{ github.actor }}" == "alfresco-build" ]; then
|
||||
echo -e "\033[32mCommit by ${{ github.actor }}. No need for approval.\033[0m"
|
||||
skip_check="true"
|
||||
fi
|
||||
|
||||
if [ "${{ github.event_name }}" == "schedule" ]; then
|
||||
echo -e "\033[32mSchedule event\033[0m"
|
||||
skip_check="true"
|
||||
fi
|
||||
|
||||
if [[ "$DEVEL_FLAG" == "true" ]]; then
|
||||
echo -e "\033[32mDevel flag\033[0m"
|
||||
skip_check="true"
|
||||
fi
|
||||
|
||||
if [ "$skip_check" == "false" ]; then
|
||||
echo "Checking PR approval"
|
||||
prNumber=${{ steps.action.outputs.number }}
|
||||
checkApproval=$(gh api /repos/Alfresco/alfresco-ng2-components/pulls/$prNumber/reviews | jq '.[] | select(.state == "APPROVED") | .user.login')
|
||||
if [[ $checkApproval ]]; then
|
||||
echo -e "\033[32mPR approved\033[0m"
|
||||
else
|
||||
echo -e "\033[31mPR NOT approved\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
setup:
|
||||
# long timeout required when cache has to be recreated
|
||||
timeout-minutes: 30
|
||||
name: "Setup"
|
||||
runs-on: ubuntu-22.04
|
||||
needs: [check-if-pr-is-approved, check-package-lock]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- name: install
|
||||
run: |
|
||||
npm ci
|
||||
nx run cli:bundle
|
||||
nx run testing:bundle
|
||||
- run: nx print-affected $NX_CALCULATION_FLAGS
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
unit-tests:
|
||||
timeout-minutes: 30
|
||||
name: "Unit tests: ${{ matrix.unit-tests.name }}"
|
||||
runs-on: ubuntu-22.04
|
||||
needs: [setup]
|
||||
strategy:
|
||||
fail-fast: false
|
||||
# max-parallel: 4
|
||||
matrix:
|
||||
unit-tests:
|
||||
- name: content-services
|
||||
exclude: "insights,core,extensions,process-services,process-services-cloud"
|
||||
- name: core
|
||||
exclude: "insights,content-services,process-services,process-services-cloud"
|
||||
- name: insights and process-services
|
||||
exclude: "core,extensions,content-services,process-services-cloud"
|
||||
- name: process-cloud
|
||||
exclude: "insights,core,extensions,content-services,process-services"
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: Run unit tests
|
||||
run: |
|
||||
/usr/bin/xvfb-run --auto-servernum nx affected:test $NX_CALCULATION_FLAGS --exclude=${{ matrix.unit-tests.exclude }}
|
||||
|
||||
lint:
|
||||
# long timeout required when cache has to be recreated
|
||||
timeout-minutes: 30
|
||||
name: "Lint"
|
||||
runs-on: ubuntu-22.04
|
||||
needs: [setup]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- run: nx affected --target=lint $NX_CALCULATION_FLAGS
|
||||
|
||||
build-libs:
|
||||
# long timeout required when cache has to be recreated
|
||||
timeout-minutes: 30
|
||||
name: "Build libs"
|
||||
runs-on: ubuntu-22.04
|
||||
needs: [setup]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- run: nx affected:build $NX_CALCULATION_FLAGS --prod
|
||||
- run: nx build demoshell --configuration production
|
||||
- run: nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration ci
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
e2e-storybook:
|
||||
timeout-minutes: 20
|
||||
name: "e2e: storybook"
|
||||
needs: [build-libs, lint, unit-tests]
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: Process Cloud Storybook Playwright
|
||||
run: |
|
||||
npx playwright install chromium
|
||||
sudo sysctl -w fs.inotify.max_user_watches=524288
|
||||
npx nx affected --target=e2e-playwright $NX_CALCULATION_FLAGS || exit 1
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
e2e:
|
||||
timeout-minutes: 90
|
||||
name: "e2e: ${{ matrix.e2e-test.description }}"
|
||||
needs: [build-libs, lint, unit-tests]
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
# max-parallel: 4
|
||||
matrix:
|
||||
e2e-test:
|
||||
- description: "Core"
|
||||
test-id: "core"
|
||||
folder: "core"
|
||||
provider: "ALL"
|
||||
auth: "OAUTH"
|
||||
check-cs-env: "true"
|
||||
check-ps-env: "true"
|
||||
- description: "Content: Components"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/components"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
- description: "Content: Directives"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/directives"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
- description: "Content: Document List"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/document-list"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
- description: "Content: Metadata"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/metadata"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
- description: "Content: Upload and Versioning"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/upload"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
- description: "Search"
|
||||
test-id: "content-services"
|
||||
folder: "search"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
- description: "Process: Form"
|
||||
test-id: "process-services"
|
||||
folder: "process-services/form"
|
||||
provider: "BPM"
|
||||
auth: "OAUTH"
|
||||
check-ps-env: "true"
|
||||
check-external-cs-env: "true"
|
||||
- description: "Process: Process"
|
||||
test-id: "process-services"
|
||||
folder: "process-services/process"
|
||||
provider: "BPM"
|
||||
auth: "OAUTH"
|
||||
check-ps-env: "true"
|
||||
check-external-cs-env: "true"
|
||||
- description: "Process: Tasks"
|
||||
test-id: "process-services"
|
||||
folder: "process-services/tasks"
|
||||
provider: "BPM"
|
||||
auth: "OAUTH"
|
||||
check-ps-env: "true"
|
||||
check-external-cs-env: "true"
|
||||
- description: "Process: Widget"
|
||||
test-id: "process-services"
|
||||
folder: "process-services/widgets"
|
||||
provider: "BPM"
|
||||
auth: "OAUTH"
|
||||
check-ps-env: "true"
|
||||
check-external-cs-env: "true"
|
||||
- description: "Process Cloud: Form"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/form-field"
|
||||
provider: "ALL"
|
||||
auth: "OAUTH"
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
- description: "Process Cloud: People"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/people"
|
||||
provider: "ALL"
|
||||
auth: "OAUTH"
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
- description: "Process Cloud: Process"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/process"
|
||||
provider: "ALL"
|
||||
auth: "OAUTH"
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
- description: "Process Cloud: Start Task"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/start-task"
|
||||
provider: "ALL"
|
||||
auth: "OAUTH"
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
- description: "Process Cloud: Tasks List"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/task-list"
|
||||
provider: "ALL"
|
||||
auth: "OAUTH"
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: "true"
|
||||
enable-node-modules-cache: "true"
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: setup chrome
|
||||
uses: ./.github/actions/setup-chrome
|
||||
- name: e2e
|
||||
uses: ./.github/actions/e2e
|
||||
with:
|
||||
e2e-test-id: ${{ matrix.e2e-test.test-id }}
|
||||
e2e-test-folder: ${{ matrix.e2e-test.folder }}
|
||||
e2e-test-provider: ${{ matrix.e2e-test.provider }}
|
||||
e2e-test-auth: ${{ matrix.e2e-test.auth }}
|
||||
check-cs-env: ${{ matrix.e2e-test.check-cs-env }}
|
||||
check-ps-env: ${{ matrix.e2e-test.check-ps-env }}
|
||||
check-ps-cloud-env: ${{ matrix.e2e-test.check-ps-cloud-env }}
|
||||
check-external-cs-env: ${{ matrix.e2e-test.check-external-cs-env }}
|
||||
apa-proxy: ${{ matrix.e2e-test.apa-proxy }}
|
||||
|
||||
finalize:
|
||||
if: ${{ always() }}
|
||||
runs-on: ubuntu-latest
|
||||
name: Final Results
|
||||
needs: [check-if-pr-is-approved, check-package-lock, unit-tests, build-libs, e2e, e2e-storybook]
|
||||
steps:
|
||||
- name: workflow failure
|
||||
run: exit 1
|
||||
if: ${{ contains(needs.*.result, 'failure') }}
|
||||
- name: workflow canceled
|
||||
run: exit 1
|
||||
if: ${{ contains(needs.*.result, 'cancelled') }}
|
||||
- name: workflow success
|
||||
run: exit 0
|
||||
if: ${{ contains(needs.*.result, 'success') }}
|
||||
@@ -1,4 +1,4 @@
|
||||
on:
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
name: Automatic Rebase
|
||||
@@ -9,10 +9,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Automatic Rebase
|
||||
uses: cirrus-actions/rebase@1.8
|
||||
uses: cirrus-actions/rebase@1.3.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -1,223 +0,0 @@
|
||||
name: "release"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
dry-run-release:
|
||||
description: 'enable dry-run on artifact push'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
pull_request:
|
||||
types: [closed]
|
||||
branches:
|
||||
- develop
|
||||
- master
|
||||
- develop-patch*
|
||||
- master-patch*
|
||||
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
|
||||
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
#USERNAME_ADF: ${{ secrets.E2E_USERNAME }}
|
||||
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
|
||||
URL_HOST_ADF: "http://localhost:4200"
|
||||
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
|
||||
HOST_SSO: ${{ secrets.HOST_SSO }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
E2E_LOG_LEVEL: "ERROR"
|
||||
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
|
||||
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
|
||||
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
|
||||
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
|
||||
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
|
||||
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
|
||||
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
|
||||
HR_USER: ${{ secrets.HR_USER }}
|
||||
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
|
||||
SMART_RUNNER_PATH: ".protractor-smartrunner"
|
||||
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
|
||||
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
|
||||
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
DEMO_SHELL_DIR: "./dist/demo-shell"
|
||||
STORYBOOK_DIR: "./dist/storybook/stories"
|
||||
BUILT_LIBS_DIR: "./dist/libs"
|
||||
NODE_MODULES_DIR: "./node_modules"
|
||||
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
|
||||
SAVE_SCREENSHOT: true
|
||||
REDIRECT_URI: /
|
||||
BROWSER_RUN: false
|
||||
MAXINSTANCES: 2
|
||||
PLAYWRIGHT_WORKERS: 2
|
||||
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
|
||||
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
|
||||
|
||||
jobs:
|
||||
setup:
|
||||
timeout-minutes: 20
|
||||
if: github.event.pull_request.merged || ${{ inputs.dry-run-release }}
|
||||
name: "Setup"
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
- name: install
|
||||
run: |
|
||||
npm ci
|
||||
nx run cli:bundle
|
||||
nx run testing:bundle
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
release-demoshell:
|
||||
needs: [setup]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged || ${{ inputs.dry-run-release }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- run: git fetch --all
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-release }}
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: release Demoshell docker
|
||||
run: |
|
||||
nx build demoshell --configuration production
|
||||
. ./scripts/github/release/docker-tag.sh
|
||||
./scripts/github/release/release-demoshell-docker.sh ${{ steps.set-dryrun.outputs.dryrun }}
|
||||
|
||||
release-storybook:
|
||||
needs: [setup]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged || ${{ inputs.dry-run-release }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- run: git fetch --all
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-release }}
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
act: ${{ inputs.dry-run-release }}
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: release Storybook docker
|
||||
run: |
|
||||
nx run stories:build-storybook --configuration ci
|
||||
. ./scripts/github/release/docker-tag.sh
|
||||
./scripts/github/release/release-storybook-docker.sh ${{ steps.set-dryrun.outputs.dryrun }}
|
||||
|
||||
release-npm:
|
||||
needs: [setup]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || ${{ inputs.dry-run-release }}
|
||||
runs-on: ubuntu-22.04
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-release }}
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: check PR number
|
||||
id: action
|
||||
uses: kamatama41/get-pr-number-action@v0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: save PR number
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
shell: bash
|
||||
run: |
|
||||
echo "PR_NUMBER=${{ steps.action.outputs.number }}" >> $GITHUB_ENV
|
||||
- name: build libraries
|
||||
run: |
|
||||
set -u;
|
||||
./scripts/github/build/bumpversion.sh
|
||||
nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
|
||||
nx affected $NX_CALCULATION_FLAGS --target=pretheme
|
||||
- uses: actions/setup-node@v3
|
||||
name: release libraries GH registry
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: 'https://npm.pkg.github.com'
|
||||
scope: '@alfresco'
|
||||
- run: nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/setup-node@v3
|
||||
name: release libraries Npm registry
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
|
||||
scope: '@alfresco'
|
||||
- run: nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
|
||||
npm-check-bundle:
|
||||
needs: [release-npm]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || ${{ inputs.dry-run-release }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
- uses: ./.github/actions/npm-check-bundle
|
||||
+1
-3
@@ -1,4 +1,3 @@
|
||||
/.angular/cache
|
||||
*.log
|
||||
node_modules
|
||||
bundles
|
||||
@@ -11,7 +10,6 @@ dist/
|
||||
e2e/.env.cloud
|
||||
tmp
|
||||
temp
|
||||
/nxcache
|
||||
e2e-output*/
|
||||
/e2e/downloads/
|
||||
*.npmrc
|
||||
@@ -32,5 +30,5 @@ out-tsc
|
||||
e2e-result-*
|
||||
licenses.txt
|
||||
.DS_Store
|
||||
|
||||
.angular
|
||||
nxcache
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
npm run affected:lint
|
||||
@@ -0,0 +1,20 @@
|
||||
pull_request_rules:
|
||||
- name: automatic merge for Dependabot pull requests
|
||||
conditions:
|
||||
- author=dependabot-preview[bot]
|
||||
- status-success=continuous-integration/travis-ci/pr
|
||||
- status-success=security/snyk - package.json (eromano (GitHub marketplace))
|
||||
actions:
|
||||
merge:
|
||||
method: merge
|
||||
- name: merge when all requested reviews are valid
|
||||
conditions:
|
||||
- status-success=continuous-integration/travis-ci/pr
|
||||
- status-success=security/snyk - package.json (eromano (GitHub marketplace))
|
||||
- '#approved-reviews-by>=1'
|
||||
- '#changes-requested-reviews-by=0'
|
||||
- '#commented-reviews-by=0'
|
||||
- label!="do not merge"
|
||||
actions:
|
||||
merge:
|
||||
method: merge
|
||||
@@ -1,9 +1,8 @@
|
||||
import { create } from '@storybook/theming';
|
||||
import alfrescoLogo from '../lib/core/src/lib/assets/images/alfresco-logo.svg';
|
||||
|
||||
export default create({
|
||||
base: 'light',
|
||||
brandTitle: 'Hyland | Alfresco Storybook App',
|
||||
brandUrl: 'https://www.alfresco.com/',
|
||||
brandImage: alfrescoLogo,
|
||||
brandImage: '/assets/storybook-logo.png',
|
||||
});
|
||||
|
||||
+7
-3
@@ -1,7 +1,11 @@
|
||||
module.exports = {
|
||||
stories: [],
|
||||
addons: ['@storybook/addon-essentials'],
|
||||
framework: '@storybook/angular',
|
||||
staticDirs: [ { from: '../../../demo-shell/src/app.config.json', to: 'app.config.json' } ],
|
||||
core: { builder: 'webpack5' }
|
||||
// uncomment the property below if you want to apply some webpack config globally
|
||||
// webpackFinal: async (config, { configType }) => {
|
||||
// // Make whatever fine-grained changes you need that should apply to all storybook configs
|
||||
|
||||
// // Return the altered config
|
||||
// return config;
|
||||
// },
|
||||
};
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
export const parameters = {
|
||||
docs: { inlineStories: true },
|
||||
controls: { expanded: true }
|
||||
};
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"exclude": [
|
||||
"../**/*.spec.js",
|
||||
"../**/*.spec.ts",
|
||||
"../**/*.spec.tsx",
|
||||
"../**/*.spec.jsx"
|
||||
],
|
||||
"include": ["../**/*"]
|
||||
"extends": "../tsconfig.json",
|
||||
"exclude": [
|
||||
"../**/*.spec.js",
|
||||
"../**/*.spec.ts",
|
||||
"../**/*.spec.tsx",
|
||||
"../**/*.spec.jsx"
|
||||
],
|
||||
"include": ["../**/*"]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Export a function. Accept the base config as the only param.
|
||||
* @param {Object} options
|
||||
* @param {Required<import('webpack').Configuration>} options.config
|
||||
* @param {'DEVELOPMENT' | 'PRODUCTION'} options.mode - change the build configuration. 'PRODUCTION' is used when building the static version of storybook.
|
||||
*/
|
||||
module.exports = async ({ config, mode }) => {
|
||||
// Make whatever fine-grained changes you need
|
||||
|
||||
// Return the altered config
|
||||
return config;
|
||||
};
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
_theming.scss
|
||||
lib/core/src/lib/viewer/components/pdf-viewer-host.component.scss
|
||||
lib/core/viewer/components/pdf-viewer-host.component.scss
|
||||
|
||||
+474
@@ -0,0 +1,474 @@
|
||||
import:
|
||||
- source: Alfresco/alfresco-build-tools:.travis.docker_hub_login.yml@v1.1.1
|
||||
|
||||
git:
|
||||
depth: 3
|
||||
quiet: true
|
||||
|
||||
language: node_js
|
||||
arch: arm64-graviton2
|
||||
dist: bionic
|
||||
node_js:
|
||||
- '14'
|
||||
|
||||
before_install: . ./scripts/ci/job_hooks/before_install.sh
|
||||
install: ./scripts/ci/job_hooks/install.sh
|
||||
|
||||
env:
|
||||
global:
|
||||
# REPOSITORY
|
||||
- REPO_OWNER="Alfresco"
|
||||
- REPO_NAME="alfresco-ng2-components"
|
||||
|
||||
- S3_DBP_PATH="s3://alfresco-travis-builds/adf"
|
||||
- DEMO_SHELL_DIR="./dist/demo-shell"
|
||||
- BUILT_LIBS_DIR="./lib/dist"
|
||||
- NODE_MODULES_DIR="./node_modules"
|
||||
- SMART_RUNNER_DIRECTORY=".protractor-smartrunner"
|
||||
#E2E VARIABLES
|
||||
- SAVE_SCREENSHOT=true
|
||||
- REDIRECT_URI=/
|
||||
- BROWSER_RUN=true
|
||||
- MAXINSTANCES=2
|
||||
- PROXY_HOST_ADF=$E2E_HOST
|
||||
- HOST_SSO=$HOST_SSO
|
||||
- USERNAME_ADF=$E2E_USERNAME
|
||||
- PASSWORD_ADF=$E2E_PASSWORD
|
||||
- IDENTITY_ADMIN_EMAIL=$E2E_ADMIN_EMAIL_IDENTITY
|
||||
- IDENTITY_ADMIN_PASSWORD=$E2E_ADMIN_PASSWORD_IDENTITY
|
||||
- URL_HOST_ADF="http://localhost:4200"
|
||||
#PLAYWRIGHT VARIABLES
|
||||
- PLAYWRIGHT_WORKERS=2
|
||||
- PLAYWRIGHT_STORYBOOK_E2E_HOST=http://localhost
|
||||
- PLAYWRIGHT_STORYBOOK_E2E_PORT=4400
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- develop
|
||||
- /.*old-env.*/
|
||||
- /.*next-release.*/
|
||||
- /.*beta.*/
|
||||
|
||||
stages:
|
||||
- name: Prerequisite
|
||||
- name: Setup
|
||||
- name: "Build lib"
|
||||
if: tag IS blank
|
||||
- name: "Check bundle"
|
||||
if: type = push AND tag IS blank OR (type = cron || type = api)
|
||||
- name: "Trigger Alpha ADF child build"
|
||||
if: (branch = develop AND (type = cron || type = api)) OR commit_message =~ /\[trigger adf\]/
|
||||
- name: "Build Demo shell"
|
||||
if: tag IS blank
|
||||
- name: "Unit test Lib"
|
||||
if: type = pull_request || (type = cron || type = api)
|
||||
- name: "e2e Test"
|
||||
if: type = pull_request || (type = cron || type = api)
|
||||
- name: "Storybook Playwright Tests"
|
||||
if: type = pull_request || (type = cron || type = api)
|
||||
- name: "Release tag"
|
||||
if: branch = master
|
||||
- name: "Deprecate develop builds"
|
||||
if: branch = master
|
||||
|
||||
addons:
|
||||
chrome: stable
|
||||
before_script:
|
||||
- export GIT_HASH=`git rev-parse HEAD`
|
||||
services:
|
||||
- xvfb
|
||||
|
||||
jobs:
|
||||
include:
|
||||
# Big Bang ===================
|
||||
- stage: Prerequisite
|
||||
name: "Before anything unnece$$ary happens..."
|
||||
if: type == pull_request
|
||||
language: python
|
||||
python: 3.8
|
||||
install: echo "no install here"
|
||||
script: ./scripts/ci/jobs/dbpci-build-guard-check $TRAVIS_PULL_REQUEST || exit 1
|
||||
|
||||
# Setup ======================
|
||||
- stage: Setup
|
||||
name: "Node modules cache preparation"
|
||||
script: echo "Only here for setting up the shared node_modules"
|
||||
workspaces:
|
||||
create:
|
||||
name: node_modules_cache
|
||||
paths:
|
||||
- "$NODE_MODULES_DIR"
|
||||
use: node_modules_cache
|
||||
|
||||
# Run Only for any PR
|
||||
- stage: "Build lib"
|
||||
name: "Lib::Build"
|
||||
script:
|
||||
- ./scripts/travis/build/build-libs.sh || travis_terminate 1
|
||||
- ./scripts/travis/release/release-npm.sh || travis_terminate 1
|
||||
workspaces:
|
||||
create:
|
||||
name: built_libs_cache
|
||||
paths:
|
||||
- "$BUILT_LIBS_DIR"
|
||||
- "$NODE_MODULES_DIR"
|
||||
use: node_modules_cache
|
||||
|
||||
- stage: "Build lib"
|
||||
name: "Lint"
|
||||
script: ./scripts/lint.sh
|
||||
workspaces:
|
||||
use: node_modules_cache
|
||||
|
||||
- stage: "Build Demo shell"
|
||||
name: "Demo Shell & Storybook :Build && dockerize"
|
||||
script:
|
||||
# Build Demo shell & Storybook for production docker"
|
||||
- NODE_OPTIONS=--max_old_space_size=8192 nx build demoshell --configuration production
|
||||
- NODE_OPTIONS=--max_old_space_size=8192 nx run stories:build-storybook --configuration ci
|
||||
- ./scripts/travis/release/release-docker.sh
|
||||
workspaces:
|
||||
create:
|
||||
name: built_demo_shell_cache
|
||||
paths:
|
||||
- "$DEMO_SHELL_DIR"
|
||||
use:
|
||||
- built_libs_cache
|
||||
|
||||
- stage: "Unit test Lib"
|
||||
name: "content::unit"
|
||||
script: ./scripts/travis/unit-test/content.sh
|
||||
workspaces:
|
||||
use: built_libs_cache
|
||||
|
||||
- stage: "Unit test Lib"
|
||||
name: "core-extension::unit"
|
||||
script: ./scripts/travis/unit-test/core-extension.sh
|
||||
workspaces:
|
||||
use: built_libs_cache
|
||||
|
||||
- stage: "Unit test Lib"
|
||||
name: "process-insights::unit"
|
||||
script: ./scripts/travis/unit-test/process.sh
|
||||
workspaces:
|
||||
use: built_libs_cache
|
||||
|
||||
- stage: "Unit test Lib"
|
||||
name: "process-cloud::unit"
|
||||
script: ./scripts/travis/unit-test/process-cloud.sh
|
||||
workspaces:
|
||||
use: built_libs_cache
|
||||
|
||||
- stage: "Trigger Alpha ADF child build"
|
||||
name: "Trigger Alpha ADF child build"
|
||||
script: ./scripts/travis/update/update-project.sh -p $TRAVIS_BUILD_NUMBER -t $GITHUB_TOKEN -v alpha
|
||||
workspaces:
|
||||
use: built_libs_cache
|
||||
|
||||
- stage: "Release tag"
|
||||
script: ./scripts/travis/release/git-tag.sh
|
||||
|
||||
- stage: "Deprecate develop builds"
|
||||
script:
|
||||
- ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
|
||||
- ./scripts/travis/release/deprecate-develop-build.sh -v ${ADF_VERSION}
|
||||
|
||||
- stage: "Storybook Playwright Tests"
|
||||
name: "Process Cloud"
|
||||
before_script: ./scripts/ci/jobs/dbpci-before-playwright
|
||||
script: ./scripts/travis/storybook-testing/storybook-test.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Core"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="core"
|
||||
- PROVIDER='ALL'
|
||||
- AUTH_TYPE='OAUTH'
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Content: Components"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="content-services/components"
|
||||
- PROVIDER="ECM"
|
||||
- AUTH_TYPE="BASIC"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Content: Directives"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="content-services/directives"
|
||||
- PROVIDER="ECM"
|
||||
- AUTH_TYPE="BASIC"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Content: Document List"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="content-services/document-list"
|
||||
- PROVIDER="ECM"
|
||||
- AUTH_TYPE="BASIC"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Content: Metadata"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="content-services/metadata"
|
||||
- PROVIDER="ECM"
|
||||
- AUTH_TYPE="BASIC"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Content: Upload and Versioning"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="content-services/upload"
|
||||
- PROVIDER="ECM"
|
||||
- AUTH_TYPE="BASIC"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Search"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="search"
|
||||
- PROVIDER="ECM"
|
||||
- AUTH_TYPE="BASIC"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process: Form"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-external-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services/form"
|
||||
- PROVIDER="BPM"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process: Process"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-external-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services/process"
|
||||
- PROVIDER="BPM"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process: Tasks"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-external-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services/tasks"
|
||||
- PROVIDER="BPM"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process: Widgets"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-external-cs-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services/widgets"
|
||||
- PROVIDER="BPM"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process Cloud : Form"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services-cloud/form-field"
|
||||
- PROVIDER="ALL"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process Cloud : People"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services-cloud/people"
|
||||
- PROVIDER="ALL"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process Cloud : Process"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services-cloud/process"
|
||||
- PROVIDER="ALL"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process Cloud : Start Task"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services-cloud/start-task"
|
||||
- PROVIDER="ALL"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: "e2e Test"
|
||||
name: "Process Cloud : Tasks List"
|
||||
before_script:
|
||||
- ./scripts/ci/job_hooks/before_e2e.sh
|
||||
- ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1
|
||||
- ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1
|
||||
script: ./scripts/travis/e2e/e2e.sh
|
||||
after_script: ./scripts/ci/job_hooks/after_e2e.sh
|
||||
workspaces:
|
||||
use:
|
||||
- built_libs_cache
|
||||
- built_demo_shell_cache
|
||||
env:
|
||||
- FOLDER="process-services-cloud/task-list"
|
||||
- PROVIDER="ALL"
|
||||
- AUTH_TYPE="OAUTH"
|
||||
|
||||
- stage: Check bundle
|
||||
script:
|
||||
- ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
|
||||
- ./scripts/travis/build/npm-check-bundles.sh -v ${ADF_VERSION}
|
||||
workspaces:
|
||||
use: built_libs_cache
|
||||
|
||||
notifications:
|
||||
slack:
|
||||
on_pull_requests: false
|
||||
rooms:
|
||||
secure: "qcTP/+rhVweMSZZAQMPz4sW7boS8XC0RX1SPYgg7hIfxBr9747WpRLkJ1sirkVaXI/6XfYAyl42CTfPmTuJxIC+co/NSnEDknwVsnKZd0O/ykTpo+mxIN4BTZX8dm+gELR5IEYQPs+Yki3ZnD9b+0mCK1yD8JallKCQeE2U9BhzZhP/Fn0ce35EulybNp3QQDaox0XC+7gadMdxlvK8mzP1scw76wRLtx25QLxxV+OwEw0bzyh8y3onfjHfnoDcUQWRTNdnjapzmgf1LNdC202A5kwp5sJggfSDr+ActRqaMvv4BbMsFpdan34B6zPQJfyZL1r8IB8O8BEKcAaOUVcTjnZAOom8kHS8F07/mo5xnNYmV8oNX2/egr1CiG4U0EAGF2XGqM+vetYnF88LTEzy84kVxmSwKGVfzlGOyTplMXJ1iCENndtfWm1AXhAFj5RSsSAZg6IStTM+mcpnC75moEwQtj8bTenwehHz1HQAjQX7xeTQo27SxDc7oqp1ReyXCllMjKxckjVGmp2j6yxn1Jl55kivBj57vluLtEtziOGluVELP5E2fV0VAuErNhnjLm4LJARVN76PQaTOXYwATVVJJDhb/77TesvxQsr3VfiROEKm7QB7IDFjghjLLisSX67JQ5+7K/qMlqf9+9hNw4n0v1eMylVjt+gyxspc="
|
||||
on_failure: always
|
||||
on_success: change
|
||||
template:
|
||||
- "Repo `%{repository_slug}` *%{result}* build (<%{build_url}|#%{build_number}>) for commit (<%{compare_url}|%{commit}>) on branch `%{branch}`."
|
||||
- "Author: %{author} Execution time: *%{duration}*"
|
||||
- "Message: %{message}"
|
||||
|
||||
cache:
|
||||
npm: false
|
||||
directories:
|
||||
- tmp
|
||||
Vendored
+2
-1
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"lucono.karma-test-explorer"
|
||||
"stylelint.vscode-stylelint",
|
||||
"editorconfig.editorconfig",
|
||||
]
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -8,6 +8,7 @@
|
||||
"**/coverage": true,
|
||||
"**/.happypack": true
|
||||
},
|
||||
"editor.renderIndentGuides": true,
|
||||
"markdownlint.config": {
|
||||
"MD032": false,
|
||||
"MD004": false,
|
||||
@@ -30,6 +31,5 @@
|
||||
"less",
|
||||
"postcss",
|
||||
"scss"
|
||||
],
|
||||
"editor.guides.indentation": true
|
||||
]
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
| branch | status |
|
||||
| --- | --- |
|
||||
| master | [](https://github.com/Alfresco/alfresco-ng2-components/actions/workflows/git-tag.yml) |
|
||||
| develop | [](https://github.com/Alfresco/alfresco-ng2-components/actions/workflows/cron.yml)|
|
||||
| master | [](https://travis-ci.com/Alfresco/alfresco-ng2-components) |
|
||||
| develop | [](https://travis-ci.com/Alfresco/alfresco-ng2-components) |
|
||||
|
||||
[](https://www.codacy.com/app/Alfresco/alfresco-ng2-components?utm_source=github.com&utm_medium=referral&utm_content=Alfresco/alfresco-ng2-components&utm_campaign=badger)
|
||||
[](https://gitter.im/Alfresco/alfresco-ng2-components?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
@@ -39,8 +39,8 @@ ADF Libraries list:
|
||||
- [Insights](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/insights)
|
||||
- [Process Service Cloud](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/process-services-cloud)
|
||||
- [Process service](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/process-services)
|
||||
- [Stories](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/stories)
|
||||
|
||||
- [Stories](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/stories)
|
||||
|
||||
## Demo Application
|
||||
|
||||
A separate application showcasing integration of components can be found
|
||||
@@ -49,7 +49,7 @@ The app has examples of basic interaction for both APS and ACS components.
|
||||
|
||||
## Yeoman generators
|
||||
|
||||
To speed up the development of your ADF application, use the
|
||||
To speed up the development of your ADF application, use the
|
||||
[Yeoman Generator](https://github.com/Alfresco/generator-ng2-alfresco-app).
|
||||
This will create a full working project with all the right libraries and tools.
|
||||
|
||||
@@ -69,6 +69,7 @@ All components are supported in the following browsers:
|
||||
|Edge |13, 14 |
|
||||
|Internet Explorer |11 |
|
||||
|
||||
* Due to a [known issue](https://bugzilla.mozilla.org/show_bug.cgi?id=1188880) in Firefox, the Alfresco Upload Component does not currently support folder upload functionality on Firefox.
|
||||
* Due to a [known issue](https://bugzilla.mozilla.org/show_bug.cgi?id=1188880) in Firefox, the Alfresco Upload Component does not currently support folder upload functionality on Firefox.
|
||||
|
||||
See the [Browser Support](BROWSER-SUPPORT.md) article for more details.
|
||||
|
||||
|
||||
+239
-545
File diff suppressed because it is too large
Load Diff
+3
-8
@@ -27,7 +27,6 @@
|
||||
"CSRF",
|
||||
"datacolumn",
|
||||
"datarow",
|
||||
"Datasource",
|
||||
"datatable",
|
||||
"dateitem",
|
||||
"datepicker",
|
||||
@@ -63,11 +62,9 @@
|
||||
"highlightable",
|
||||
"hotfix",
|
||||
"imgpreview",
|
||||
"Inplace",
|
||||
"intitem",
|
||||
"jira",
|
||||
"jsons",
|
||||
"jwks",
|
||||
"keycodes",
|
||||
"keyvaluepairs",
|
||||
"keyvaluepairsitem",
|
||||
@@ -79,15 +76,15 @@
|
||||
"mincount",
|
||||
"minlength",
|
||||
"minmax",
|
||||
"jsons",
|
||||
"Inplace",
|
||||
"MLTEXT",
|
||||
"mousedrag",
|
||||
"mouseenter",
|
||||
"multiselect",
|
||||
"mysites",
|
||||
"nginx",
|
||||
"numbervisibilityprocess",
|
||||
"OAUTHCONFIG",
|
||||
"oidc",
|
||||
"pdfjs",
|
||||
"penta",
|
||||
"printf",
|
||||
@@ -124,7 +121,6 @@
|
||||
"uncheck",
|
||||
"Unclaim",
|
||||
"unfavorite",
|
||||
"unlisten",
|
||||
"unshare",
|
||||
"UPDATEPERMISSIONS",
|
||||
"uploader",
|
||||
@@ -136,8 +132,7 @@
|
||||
"webm",
|
||||
"webscript",
|
||||
"Whitespaces",
|
||||
"xdescribe",
|
||||
"xsrf"
|
||||
"xdescribe"
|
||||
],
|
||||
"dictionaries": [
|
||||
"html",
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
"outDir": "../out-tsc/e2e",
|
||||
"module": "commonjs",
|
||||
"target": "es5",
|
||||
"types": ["jasmine", "jasminewd2", "node"]
|
||||
"types":[
|
||||
"jasmine",
|
||||
"jasminewd2",
|
||||
"node"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ module.exports = function (config) {
|
||||
colors: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
autoWatch: true,
|
||||
browsers: ['ChromeHeadless'],
|
||||
browsers: ['Chrome'],
|
||||
singleRun: false
|
||||
});
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Alfresco-ADF-Angular-Demo",
|
||||
"description": "Demo shell for Alfresco Angular components",
|
||||
"version": "6.0.0-A.3",
|
||||
"version": "4.8.0",
|
||||
"author": "Alfresco Software, Ltd.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
module.exports = {
|
||||
getDeployedAppsProxy: function(processHost, deployedApps) {
|
||||
let deployedAppProxy = {};
|
||||
|
||||
if (deployedApps) {
|
||||
try {
|
||||
const deployedAppsArray = JSON.parse(deployedApps);
|
||||
for (const app of deployedAppsArray) {
|
||||
const appName = app.name;
|
||||
const appPath = `/${appName}`;
|
||||
const appPathRewrite = `^/${appName}`;
|
||||
|
||||
deployedAppProxy = {
|
||||
...deployedAppProxy,
|
||||
[appPath]: {
|
||||
target: `${processHost}`,
|
||||
secure: false,
|
||||
pathRewrite: {
|
||||
[appPathRewrite]: appName,
|
||||
},
|
||||
changeOrigin: true,
|
||||
},
|
||||
};
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
return deployedAppProxy;
|
||||
},
|
||||
getShareProxy: function(host) {
|
||||
console.log('Target for /alfresco', host);
|
||||
return {
|
||||
'/alfresco': {
|
||||
target: host,
|
||||
secure: false,
|
||||
logLevel: 'debug',
|
||||
changeOrigin: true,
|
||||
onProxyReq: function(request) {
|
||||
if(request["method"] !== "GET")
|
||||
request.setHeader("origin", host);
|
||||
},
|
||||
// workaround for REPO-2260
|
||||
onProxyRes: function (proxyRes, req, res) {
|
||||
const header = proxyRes.headers['www-authenticate'];
|
||||
if (header && header.startsWith('Basic')) {
|
||||
proxyRes.headers['www-authenticate'] = 'x' + header;
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
getApsProxy: function(host) {
|
||||
console.log('Target for /activiti-app', host);
|
||||
return {
|
||||
'/activiti-app': {
|
||||
target: host,
|
||||
secure: false,
|
||||
logLevel: 'debug',
|
||||
changeOrigin: true,
|
||||
},
|
||||
}
|
||||
},
|
||||
getIdentityAdapterServiceProxy: function(host) {
|
||||
console.log('Target for /identity-adapter-service', host);
|
||||
return {
|
||||
'/identity-adapter-service': {
|
||||
target: host,
|
||||
secure: false,
|
||||
logLevel: 'debug',
|
||||
changeOrigin: true,
|
||||
},
|
||||
}
|
||||
}
|
||||
};
|
||||
+25
-11
@@ -1,15 +1,29 @@
|
||||
require('dotenv').config();
|
||||
|
||||
const { getDeployedAppsProxy, getShareProxy, getApsProxy, getIdentityAdapterServiceProxy } = require('./proxy-helpers');
|
||||
|
||||
const legacyHost = process.env.PROXY_HOST_ADF;
|
||||
const cloudHost = process.env.CLOUD_PROXY_HOST_ADF || process.env.PROXY_HOST_ADF;
|
||||
const cloudApps = process.env.APP_CONFIG_APPS_DEPLOYED;
|
||||
const apsHost = process.env.PROXY_HOST_ADF;
|
||||
|
||||
var PROXY_HOST_ADF = process.env.PROXY_HOST_ADF;
|
||||
console.log('PROXY_HOST_ADF' + PROXY_HOST_ADF);
|
||||
module.exports = {
|
||||
...getShareProxy(legacyHost),
|
||||
...getApsProxy(apsHost),
|
||||
...getDeployedAppsProxy(cloudHost, cloudApps),
|
||||
...getIdentityAdapterServiceProxy(cloudHost)
|
||||
"/alfresco": {
|
||||
"target": (PROXY_HOST_ADF || "http://localhost:8080"),
|
||||
"secure": false,
|
||||
"pathRewrite": {
|
||||
"^/alfresco/alfresco": ""
|
||||
},
|
||||
"changeOrigin": true,
|
||||
// workaround for REPO-2260
|
||||
onProxyRes: function (proxyRes, req, res) {
|
||||
const header = proxyRes.headers['www-authenticate'];
|
||||
if (header && header.startsWith('Basic')) {
|
||||
proxyRes.headers['www-authenticate'] = 'x' + header;
|
||||
}
|
||||
}
|
||||
},
|
||||
"/activiti-app": {
|
||||
"target": (PROXY_HOST_ADF || "http://localhost:8080"),
|
||||
"secure": false,
|
||||
"pathRewrite": {
|
||||
"^/activiti-app/activiti-app": ""
|
||||
},
|
||||
"changeOrigin": true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "نوع المصادقة",
|
||||
"BASIC": "مصادقة أساسية",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "تدفق ضمني",
|
||||
"PROVIDER": "موفر",
|
||||
"REQUIRED": "هذا الحقل مطلوب",
|
||||
"CS_URL_ERROR": "لا يتطابق عنوان Content Services مع تنسيق URL",
|
||||
"PS_URL_ERROR": "لا يتطابق عنوان Process Services مع تنسيق URL",
|
||||
"TITLE": "الإعدادات",
|
||||
"CS-HOST": "عنوان URL لـ Content Services",
|
||||
"BP-HOST": "عنوان URL لـ Process Services",
|
||||
"BACK": "عودة",
|
||||
"APPLY": "تطبيق",
|
||||
"NOT_VALID": "لم يتم التعرف على http(s)://host|ip:port(/path)، جرّب عنوان URL مختلفًا.",
|
||||
"REDIRECT": "إعادة توجيه URI",
|
||||
"REDIRECT_LOGOUT": "إعادة توجيه خروج URI",
|
||||
"SILENT": "دخول صامت",
|
||||
"SCOPE": "نطاق",
|
||||
"CLIENT": "معرف العميل",
|
||||
"PUBLIC_URLS": "عناوين url العامة لتسجيل الدخول الصامت",
|
||||
"SECRET": "سر"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "وضع التطوير"
|
||||
},
|
||||
@@ -67,7 +44,7 @@
|
||||
"VERSION": {
|
||||
"NO_PERMISSION": "ليس لديك إذن لإدارة إصدارات هذا المحتوى",
|
||||
"NO_PERMISSION_EVENT": "ليس لديك إذن ${event.permission} ل${event.action} ${event.type}",
|
||||
"CHOOSE_FILE": "حدد ملف لرؤية إصداراته",
|
||||
"CHOOSE_FILE": "تحديد ملف لرؤية إصداراته",
|
||||
"DIALOG": {
|
||||
"CLOSE": "إغلاق",
|
||||
"TITLE": "إدارة الإصدارات"
|
||||
@@ -81,9 +58,9 @@
|
||||
},
|
||||
"APP_LAYOUT": {
|
||||
"APP": "تطبيق",
|
||||
"HEADER_TEXT_COLOR": "لون نص الرأس",
|
||||
"HEADER_TEXT_COLOR": "لون نص العنوان",
|
||||
"APP_NAME": "تطبيق ADF التوضيحي",
|
||||
"FILTERED_SEARCH": "رأس عامل التصفية",
|
||||
"FILTERED_SEARCH": "عنوان عامل التصفية",
|
||||
"HOME": "رئيسية",
|
||||
"NODE-SELECTOR": "محدد العقدة",
|
||||
"SITES": "المواقع",
|
||||
@@ -119,13 +96,13 @@
|
||||
"WORD_TO_SEARCH": "بحث عن كلمة",
|
||||
"SEARCH_CREATED_BY": "تم الإنشاء بواسطة",
|
||||
"SEARCH_SERVICE_APPROACH": "حدد هذا لتعطيل خاصية الإدخال والتكوين باستخدام الخدمة",
|
||||
"HEADER_DATA": "بيانات الرأس",
|
||||
"HEADER_DATA": "بيانات العنوان",
|
||||
"TREE_VIEW": "طريقة عرض الشجرة",
|
||||
"EXPAND_LIST": "قائمة العناصر القابلة للتوسيع",
|
||||
"ICONS": "أيقونات",
|
||||
"PEOPLE_GROUPS_CLOUD": "سحابة الأشخاص/المجموعة",
|
||||
"TASK_HEADER_CLOUD": {
|
||||
"COMPONENT_NAME": "رأس مهمة السحابة",
|
||||
"COMPONENT_NAME": "عنوان مهمة السحابة",
|
||||
"APP_NAME_INPUT": "اسم التطبيق",
|
||||
"TASK_ID_INPUT": "معرف المهمة",
|
||||
"FIND_TASK_BUTTON": "بحث عن المهمة"
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "مكون سحابة المجموعة",
|
||||
"CONFIRM-DIALOG": "مربع حوار التأكيد",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "قائمة مهام الخدمات",
|
||||
"RICH_TEXT_EDITOR": "محرر نص منسق"
|
||||
"SERVICE_TASK_LIST": "قائمة مهام الخدمات"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -187,7 +163,7 @@
|
||||
"DELETE": "حذف",
|
||||
"FAVORITES": "إضافة إلى المفضلات",
|
||||
"SHARE": "مشاركة",
|
||||
"THEME": "حدد نسق",
|
||||
"THEME": "تحديد نسق",
|
||||
"SHOW_VERSION": "إظهار الإصدار",
|
||||
"HIDE_VERSION": "إخفاء الإصدار",
|
||||
"LISTVIEW": "وضع عرض القائمة",
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "استبدال أعمدة",
|
||||
"LOAD_NODE": "تحميل عقدة",
|
||||
"MULTISELECT": "تحديد متعدد",
|
||||
"MULTISELECT_DESCRIPTION": "استخدام Cmd (Mac) أو Ctrl (Windows) لتبديل تحديد العناصر المتعددة",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "استخدم نموذج مخصص للرأس 'المستخدم'",
|
||||
"CUSTOM_COLUMN_HEADER": "قالب رأس المستخدم المخصص"
|
||||
"MULTISELECT_DESCRIPTION": "استخدام Cmd (Mac) أو Ctrl (Windows) لتبديل تحديد العناصر المتعددة"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "لم يتم تحديد تقرير. اختر تقريرًا من القائمة"
|
||||
@@ -236,7 +210,7 @@
|
||||
"START-PROCESS": "بدء العملية",
|
||||
"PROCESS-AUDIT-LOG": "سجل تدقيق العملية",
|
||||
"TASK-AUDIT-LOG": "سجل تدقيق المهمة",
|
||||
"TASK-SHOW-HEADER": "إظهار تفاصيل الرأس"
|
||||
"TASK-SHOW-HEADER": "إظهار تفاصيل العنوان"
|
||||
},
|
||||
"PS_CLOUD_TAB": {
|
||||
"APPS_TAB": "تطبيق",
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "كل المجموعات المحددة مسبقًا",
|
||||
"INVALID_USERS": "المستخدمون غير الصالحين",
|
||||
"INVALID_GROUPS": "مجموعات غير صالحة",
|
||||
"READONLY_MODE": "وضع القراءة فقط",
|
||||
"GROUPS_RESTRICTION": "قيود المجموعات"
|
||||
"READONLY_MODE": "وضع القراءة فقط"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "تحديد متعدد",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "نوع الإجراء"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "تم إنشاء زر مجلد جديد",
|
||||
"EDIT_NODE_LABEL": "زر تحرير العقدة",
|
||||
"DELETE_NODE_LABEL": "زر حذف أيقونة العقدة"
|
||||
},
|
||||
"DEFAULT_SEARCH": "افتراضي",
|
||||
"OPEN_DIALOG": "فتح الحوار",
|
||||
"SHOW_LIST_LABEL": "انقر لعرض القائمة"
|
||||
"DEFAULT_SEARCH": "افتراضي"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Typ ověřování",
|
||||
"BASIC": "Základní ověřování",
|
||||
"SSO": "Jednotné přihlášení",
|
||||
"IMPLICIT-FLOW": "Implicitní tok",
|
||||
"PROVIDER": "Poskytovatel",
|
||||
"REQUIRED": "Toto pole je povinné",
|
||||
"CS_URL_ERROR": "Adresa Content Services neodpovídá formátu adresy URL",
|
||||
"PS_URL_ERROR": "Adresa Process Services neodpovídá formátu adresy URL",
|
||||
"TITLE": "Nastavení",
|
||||
"CS-HOST": "Adresa URL pro Content Services",
|
||||
"BP-HOST": "Adresa URL pro Process Services",
|
||||
"BACK": "Zpět",
|
||||
"APPLY": "Použít",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) nelze rozeznat. Použijte jinou adresu URL.",
|
||||
"REDIRECT": "URI pro přesměrování",
|
||||
"REDIRECT_LOGOUT": "URI pro přesměrování (odhlášení)",
|
||||
"SILENT": "Přihlášení na pozadí",
|
||||
"SCOPE": "Rozsah",
|
||||
"CLIENT": "ID klienta",
|
||||
"PUBLIC_URLS": "Veřejné adresy URL pro přihlášení na pozadí",
|
||||
"SECRET": "Tajné"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Režim pro vývojáře"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Součást cloudu skupin",
|
||||
"CONFIRM-DIALOG": "Dialogové okno s potvrzením",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Seznam úloh služby",
|
||||
"RICH_TEXT_EDITOR": "Rich Text Editor"
|
||||
"SERVICE_TASK_LIST": "Seznam úloh služby"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Nahradit sloupce",
|
||||
"LOAD_NODE": "Načíst uzel",
|
||||
"MULTISELECT": "Hromadný výběr",
|
||||
"MULTISELECT_DESCRIPTION": "Pomocí klávesy Ctrl (Windows) nebo Cmd (Mac) můžete přepínat výběr více položek",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Použít vlastní šablonu pro záhlaví ,Uživatel‘",
|
||||
"CUSTOM_COLUMN_HEADER": "Vlastní šablona záhlaví Uživatel"
|
||||
"MULTISELECT_DESCRIPTION": "Pomocí klávesy Ctrl (Windows) nebo Cmd (Mac) můžete přepínat výběr více položek"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Nebyly zvoleny žádné zprávy. Vyberte zprávu ze seznamu"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Všechny předvolené skupiny",
|
||||
"INVALID_USERS": "Neplatní uživatelé",
|
||||
"INVALID_GROUPS": "Neplatné skupiny",
|
||||
"READONLY_MODE": "Režim jen pro čtení",
|
||||
"GROUPS_RESTRICTION": "Omezení skupin"
|
||||
"READONLY_MODE": "Režim jen pro čtení"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Hromadný výběr",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Typ akce"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Vytvořit tlačítko pro novou složku",
|
||||
"EDIT_NODE_LABEL": "Upravit tlačítko uzlu",
|
||||
"DELETE_NODE_LABEL": "Odebrat tlačítko ikony uzlu"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Výchozí",
|
||||
"OPEN_DIALOG": "Otevřít dialogové okno",
|
||||
"SHOW_LIST_LABEL": "Na seznam pro zobrazení klikněte"
|
||||
"DEFAULT_SEARCH": "Výchozí"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Godkendelsestype",
|
||||
"BASIC": "Grundlæggende godkendelse",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit flow",
|
||||
"PROVIDER": "Udbyder",
|
||||
"REQUIRED": "Dette felt er påkrævet",
|
||||
"CS_URL_ERROR": "Content Services-adressen matcher ikke URL-formatet",
|
||||
"PS_URL_ERROR": "Process Services-adressen matcher ikke URL-adresseformatet",
|
||||
"TITLE": "Indstillinger",
|
||||
"CS-HOST": "Content Services-URL",
|
||||
"BP-HOST": "Process Services-URL",
|
||||
"BACK": "Tilbage",
|
||||
"APPLY": "Anvend",
|
||||
"NOT_VALID": "http(s)://vært|ip-adresse:port(/sti) blev ikke genkendt. Prøv en anden URL-adresse.",
|
||||
"REDIRECT": "URI til omdirigering",
|
||||
"REDIRECT_LOGOUT": "Omdiriger URI til aflogning",
|
||||
"SILENT": "Uovervåget login",
|
||||
"SCOPE": "Omfang",
|
||||
"CLIENT": "Klient-id",
|
||||
"PUBLIC_URLS": "Uovervåget login til offentlige URL-adresser",
|
||||
"SECRET": "Hemmelig"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Udv. model"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Gruppecloudkomponent",
|
||||
"CONFIRM-DIALOG": "Bekræftelsesdialogboks",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Opgaveliste for tjeneste",
|
||||
"RICH_TEXT_EDITOR": "Rich Text Editor"
|
||||
"SERVICE_TASK_LIST": "Opgaveliste for tjeneste"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Erstat kolonner",
|
||||
"LOAD_NODE": "Indlæs node",
|
||||
"MULTISELECT": "Vælg flere",
|
||||
"MULTISELECT_DESCRIPTION": "Brug Kommando (Mac) eller Ctrl (Windows) for at vælge flere elementer",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Brug tilpasset skabelon til overskrift 'Bruger'",
|
||||
"CUSTOM_COLUMN_HEADER": "Tilpasset brugeroverskriftskabelon"
|
||||
"MULTISELECT_DESCRIPTION": "Brug Kommando (Mac) eller Ctrl (Windows) for at vælge flere elementer"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Du skal vælge en rapport på listen til venstre"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Alle forudvalgte grupper",
|
||||
"INVALID_USERS": "Ugyldige brugere",
|
||||
"INVALID_GROUPS": "Ugyldige grupper",
|
||||
"READONLY_MODE": "Skrivebeskyttet tilstand",
|
||||
"GROUPS_RESTRICTION": "Gruppebegrænsning"
|
||||
"READONLY_MODE": "Skrivebeskyttet tilstand"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Multivalg",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Handlingstype"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Knap Opret en ny mappe",
|
||||
"EDIT_NODE_LABEL": "Knap Redigér knude",
|
||||
"DELETE_NODE_LABEL": "Knap Slet knudeikon"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Standard",
|
||||
"OPEN_DIALOG": "Åbn dialog",
|
||||
"SHOW_LIST_LABEL": "Klik for at vise listen"
|
||||
"DEFAULT_SEARCH": "Standard"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Authentifizierungstyp",
|
||||
"BASIC": "Basisauthentifizierung",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Impliziter Fluss",
|
||||
"PROVIDER": "Provider",
|
||||
"REQUIRED": "Dieses Feld ist erforderlich",
|
||||
"CS_URL_ERROR": "Content Services-Adresse nicht im richtigen URL-Format",
|
||||
"PS_URL_ERROR": "Process Services-Adresse nicht im richtigen URL-Format",
|
||||
"TITLE": "Einstellungen",
|
||||
"CS-HOST": "URL für Content Services",
|
||||
"BP-HOST": "URL für Process Services",
|
||||
"BACK": "Zurück",
|
||||
"APPLY": "Anwenden",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) nicht erkannt. Probieren Sie es mit einer anderen URL.",
|
||||
"REDIRECT": "Umleitungs-URI",
|
||||
"REDIRECT_LOGOUT": "Umleitungs-URI zum Abmelden",
|
||||
"SILENT": "Automatische Anmeldung",
|
||||
"SCOPE": "Bereich",
|
||||
"CLIENT": "Client-ID",
|
||||
"PUBLIC_URLS": "Öffentliche URLs für automatische Anmeldung",
|
||||
"SECRET": "Geheimnis"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Entwicklermodus"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Gruppen-Cloud-Komponente",
|
||||
"CONFIRM-DIALOG": "Bestätigungsdialog",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Service-Aufgabenliste",
|
||||
"RICH_TEXT_EDITOR": "Rich-Text-Editor"
|
||||
"SERVICE_TASK_LIST": "Service-Aufgabenliste"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Spalten ersetzen",
|
||||
"LOAD_NODE": "Node laden",
|
||||
"MULTISELECT": "Mehrfachauswahl",
|
||||
"MULTISELECT_DESCRIPTION": "Mit der Befehls- (Mac) oder der Steuerungstaste (Windows) können Sie die Auswahl mehrerer Elemente umschalten",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Benutzerdefinierte Vorlage für 'Benutzer'-Kopfzeile verwenden",
|
||||
"CUSTOM_COLUMN_HEADER": "Benutzerdefinierte Vorlage für Benutzer-Kopfzeile"
|
||||
"MULTISELECT_DESCRIPTION": "Mit der Befehls- (Mac) oder der Steuerungstaste (Windows) können Sie die Auswahl mehrerer Elemente umschalten"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Kein Bericht ausgewählt. Wählen Sie einen Bericht aus der Liste"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Alle vorausgewählten Gruppen",
|
||||
"INVALID_USERS": "Unzulässige Benutzer",
|
||||
"INVALID_GROUPS": "Unzulässige Gruppen",
|
||||
"READONLY_MODE": "Schreibgeschützter Modus",
|
||||
"GROUPS_RESTRICTION": "Gruppenbeschränkung"
|
||||
"READONLY_MODE": "Schreibgeschützter Modus"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Mehrfachauswahl",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Aktionstyp"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Schaltfläche für einen neuen Ordner erstellen",
|
||||
"EDIT_NODE_LABEL": "Schaltfläche Node bearbeiten",
|
||||
"DELETE_NODE_LABEL": "Schaltfläche für Node-Symbol löschen"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Standard",
|
||||
"OPEN_DIALOG": "Dialog öffnen",
|
||||
"SHOW_LIST_LABEL": "Klicken Sie, um die Liste anzuzeigen"
|
||||
"DEFAULT_SEARCH": "Standard"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Authentication type",
|
||||
"BASIC": "Basic Authentication",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"PROVIDER": "Provider",
|
||||
"REQUIRED": "This field is required",
|
||||
"CS_URL_ERROR": "Content Services address doesn't match the URL format",
|
||||
"PS_URL_ERROR": "Process Services address doesn't match the URL format",
|
||||
"TITLE": "Settings",
|
||||
"CS-HOST": "Content Services URL",
|
||||
"BP-HOST": "Process Services URL",
|
||||
"BACK": "Back",
|
||||
"APPLY": "APPLY",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) not recognized, try a different URL.",
|
||||
"REDIRECT": "Redirect URI",
|
||||
"REDIRECT_LOGOUT": "Redirect URI Logout",
|
||||
"SILENT": "Silent Login",
|
||||
"SCOPE": "Scope",
|
||||
"CLIENT": "Client ID",
|
||||
"PUBLIC_URLS": "Public urls silent Login",
|
||||
"SECRET": "Secret"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT":"Dev Mode"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Groups Cloud Component",
|
||||
"CONFIRM-DIALOG": "Confirmation Dialog",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Service Task List",
|
||||
"RICH_TEXT_EDITOR": "Rich Text Editor"
|
||||
"SERVICE_TASK_LIST": "Service Task List"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Replace columns",
|
||||
"LOAD_NODE": "Load Node",
|
||||
"MULTISELECT": "Multiselect",
|
||||
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Use custom template for 'User' header",
|
||||
"CUSTOM_COLUMN_HEADER": "Custom User Header Template"
|
||||
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "No report selected. Choose a report from the list"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "All Preselected Groups",
|
||||
"INVALID_USERS": "Invalid Users",
|
||||
"INVALID_GROUPS": "Invalid Groups",
|
||||
"READONLY_MODE": "Read-only Mode",
|
||||
"GROUPS_RESTRICTION": "Groups Restriction"
|
||||
"READONLY_MODE": "Read-only Mode"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Multiselection",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Action Type"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Create a new folder button",
|
||||
"EDIT_NODE_LABEL": "Edit node button",
|
||||
"DELETE_NODE_LABEL": "Delete node icon button"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Default",
|
||||
"OPEN_DIALOG": "Open dialog",
|
||||
"SHOW_LIST_LABEL": "Click to show the list"
|
||||
"DEFAULT_SEARCH": "Default"
|
||||
}
|
||||
|
||||
@@ -111,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Componente en la nube de grupos",
|
||||
"CONFIRM-DIALOG": "Cuadro de diálogo de confirmación",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Lista de tareas de servicio",
|
||||
"RICH_TEXT_EDITOR": "Editor de texto enriquecido"
|
||||
"SERVICE_TASK_LIST": "Lista de tareas de servicio"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -197,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Sustituir columnas",
|
||||
"LOAD_NODE": "Cargar nodo",
|
||||
"MULTISELECT": "Selección múltiple",
|
||||
"MULTISELECT_DESCRIPTION": "Utilice Cmd (Mac) o Ctrl (Windows) para cambiar la selección de varios elementos",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Utilizar una plantilla personalizada para el encabezado 'Usuario'",
|
||||
"CUSTOM_COLUMN_HEADER": "Plantilla de encabezado de usuario personalizado"
|
||||
"MULTISELECT_DESCRIPTION": "Utilice Cmd (Mac) o Ctrl (Windows) para cambiar la selección de varios elementos"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "No se ha seleccionado ningún informe. Elija un informe de la lista."
|
||||
@@ -333,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Todos los grupos preseleccionados",
|
||||
"INVALID_USERS": "Usuarios no válidos",
|
||||
"INVALID_GROUPS": "Grupos no válidos",
|
||||
"READONLY_MODE": "Modo de solo lectura",
|
||||
"GROUPS_RESTRICTION": "Restricción de grupos"
|
||||
"READONLY_MODE": "Modo de solo lectura"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Selección múltiple",
|
||||
@@ -358,12 +354,5 @@
|
||||
"ACTION_TYPE": "Tipo de acción"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Crear un nuevo botón de carpeta",
|
||||
"EDIT_NODE_LABEL": "Editar botón de nodo",
|
||||
"DELETE_NODE_LABEL": "Eliminar el botón del icono del nodo"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Predeterminado",
|
||||
"OPEN_DIALOG": "Abrir cuadro de diálogo",
|
||||
"SHOW_LIST_LABEL": "Hacer clic para mostrar la lista"
|
||||
"DEFAULT_SEARCH": "Predeterminado"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Todennustyyppi",
|
||||
"BASIC": "Perustodennus",
|
||||
"SSO": "Kertakirjautuminen",
|
||||
"IMPLICIT-FLOW": "Epäsuora kulku",
|
||||
"PROVIDER": "Palvelu",
|
||||
"REQUIRED": "Tämä kenttä on pakollinen",
|
||||
"CS_URL_ERROR": "Content Services -osoite ei täsmää URL-muodon kanssa",
|
||||
"PS_URL_ERROR": "Process Services -osoite ei täsmää URL-muodon kanssa",
|
||||
"TITLE": "Asetukset",
|
||||
"CS-HOST": "Content Servicesin URL-osoite",
|
||||
"BP-HOST": "Process Servicesin URL-osoite",
|
||||
"BACK": "Takaisin",
|
||||
"APPLY": "Käytä",
|
||||
"NOT_VALID": "Osoitetta http(s)://host|ip:port(/path) ei tunnisteta. Kokeile toista URL-osoitetta.",
|
||||
"REDIRECT": "Uudelleenohjauksen URI-osoite",
|
||||
"REDIRECT_LOGOUT": "Uudelleenohjauksen URI-osoite – uloskirjautuminen",
|
||||
"SILENT": "Hiljainen kirjautuminen",
|
||||
"SCOPE": "Laajuus",
|
||||
"CLIENT": "Asiakastunnus",
|
||||
"PUBLIC_URLS": "Yleisten url-osoitteiden hiljainen sisäänkirjaus",
|
||||
"SECRET": "Salainen"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Kehitystapa"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Ryhmäpilvi-komponentti",
|
||||
"CONFIRM-DIALOG": "Vahvistusvalintaikkuna",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Palvelutehtäväluettelo",
|
||||
"RICH_TEXT_EDITOR": "RTF-editori"
|
||||
"SERVICE_TASK_LIST": "Palvelutehtäväluettelo"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Korvaa sarakkeita",
|
||||
"LOAD_NODE": "Lataa solmu",
|
||||
"MULTISELECT": "Monivalinta",
|
||||
"MULTISELECT_DESCRIPTION": "Voit valita useita kohteita Cmd- (Mac) tai Ctrl-näppäimen (Windows) avulla",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Käytä mukautettua mallia \"Käyttäjä\"-otsikolle",
|
||||
"CUSTOM_COLUMN_HEADER": "Mukautettu käyttäjäotsikon malli"
|
||||
"MULTISELECT_DESCRIPTION": "Voit valita useita kohteita Cmd- (Mac) tai Ctrl-näppäimen (Windows) avulla"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Yhtään raporttia ei ole valittuna. Valitse raportti luettelosta."
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Kaikki esivalitut ryhmät",
|
||||
"INVALID_USERS": "Kelpaamattomat käyttäjät",
|
||||
"INVALID_GROUPS": "Kelpaamattomat ryhmät",
|
||||
"READONLY_MODE": "Vain luku -tila",
|
||||
"GROUPS_RESTRICTION": "Ryhmärajoitus"
|
||||
"READONLY_MODE": "Vain luku -tila"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Monivalinta",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Toiminnon tyyppi"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Luo uusi kansio -painike",
|
||||
"EDIT_NODE_LABEL": "Muokkaa solmua -painike",
|
||||
"DELETE_NODE_LABEL": "Poista solmukuvake -painike"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Oletus",
|
||||
"OPEN_DIALOG": "Avaa valintaikkuna",
|
||||
"SHOW_LIST_LABEL": "Näytä luettelo napsauttamalla"
|
||||
"DEFAULT_SEARCH": "Oletus"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Type d'authentification",
|
||||
"BASIC": "Authentification de base",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Flux implicite",
|
||||
"PROVIDER": "Fournisseur",
|
||||
"REQUIRED": "Ce champ est obligatoire",
|
||||
"CS_URL_ERROR": "L'adresse Content Services ne correspond pas au format d'URL",
|
||||
"PS_URL_ERROR": "L'adresse Process Services ne correspond pas au format d'URL",
|
||||
"TITLE": "Paramètres",
|
||||
"CS-HOST": "URL de Content Services",
|
||||
"BP-HOST": "URL de Process Services",
|
||||
"BACK": "Retour",
|
||||
"APPLY": "Appliquer",
|
||||
"NOT_VALID": "Adresse http(s)://host|ip:port(/path) non reconnue, essayez une autre URL.",
|
||||
"REDIRECT": "URI de redirection",
|
||||
"REDIRECT_LOGOUT": "Déconnexion URI de redirection",
|
||||
"SILENT": "Connexion en mode silencieux",
|
||||
"SCOPE": "Etendue",
|
||||
"CLIENT": "ID client",
|
||||
"PUBLIC_URLS": "URL publiques pour connexion en mode silencieux",
|
||||
"SECRET": "Secret"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Mode développement"
|
||||
},
|
||||
@@ -106,7 +83,7 @@
|
||||
"FORM_LOADING": "Chargement du formulaire",
|
||||
"UPLOADER": "Chargeur",
|
||||
"WEBSCRIPT": "Script Web",
|
||||
"TAG": "Tag",
|
||||
"TAG": "Balise",
|
||||
"PIPES": "Tuyaux",
|
||||
"TRASHCAN": "Corbeille",
|
||||
"SOCIAL": "Réseaux sociaux",
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Composant cloud des groupes",
|
||||
"CONFIRM-DIALOG": "Boîte de dialogue de confirmation",
|
||||
"COMMUNITY": "Communauté",
|
||||
"SERVICE_TASK_LIST": "Liste des tâches de service",
|
||||
"RICH_TEXT_EDITOR": "Editeur de texte enrichi"
|
||||
"SERVICE_TASK_LIST": "Liste des tâches de service"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -169,7 +145,7 @@
|
||||
"COLUMNS": {
|
||||
"DISPLAY_NAME": "Nom affiché",
|
||||
"IS_LOCKED": "Verrouiller",
|
||||
"TAG": "Tag",
|
||||
"TAG": "Balise",
|
||||
"NODE_ID": "ID du nœud",
|
||||
"CREATED_BY": "Créé par",
|
||||
"CREATED_ON": "Créé le",
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Remplacer les colonnes",
|
||||
"LOAD_NODE": "Charger le nœud",
|
||||
"MULTISELECT": "Sélection multiple",
|
||||
"MULTISELECT_DESCRIPTION": "Utiliser Cmd (Mac) ou Ctrl (Windows) pour activer/désactiver la sélection d'éléments multiples",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Utiliser un modèle personnalisé pour l'en-tête 'Utilisateur'",
|
||||
"CUSTOM_COLUMN_HEADER": "Modèle d'en-tête Utilisateur personnalisé"
|
||||
"MULTISELECT_DESCRIPTION": "Utiliser Cmd (Mac) ou Ctrl (Windows) pour activer/désactiver la sélection d'éléments multiples"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Aucun rapport sélectionné. Choisissez un rapport dans la liste"
|
||||
@@ -294,9 +268,9 @@
|
||||
"RATING": "Composant d'évaluation"
|
||||
},
|
||||
"TAG": {
|
||||
"LIST": "Liste des tags Content Services",
|
||||
"LIST": "Liste de balises Content Services",
|
||||
"INSERT": "Insérer l'ID du nœud",
|
||||
"NODE_LIST": "Liste des tags par ID de nœud"
|
||||
"NODE_LIST": "Liste de balises par ID de nœud"
|
||||
},
|
||||
"DEMO_PERMISSION": {
|
||||
"INHERIT_PERMISSION_BUTTON": "Hériter des droits d'accès",
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Tous les groupes présélectionnés",
|
||||
"INVALID_USERS": "Utilisateurs non valides",
|
||||
"INVALID_GROUPS": "Groupes non valides",
|
||||
"READONLY_MODE": "Mode lecture seule",
|
||||
"GROUPS_RESTRICTION": "Restriction de groupes"
|
||||
"READONLY_MODE": "Mode lecture seule"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Multisélection",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Type d'action"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Bouton Créer un nouveau dossier",
|
||||
"EDIT_NODE_LABEL": "Bouton Modifier le nœud",
|
||||
"DELETE_NODE_LABEL": "Bouton Supprimer l'icône du nœud"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Par défaut",
|
||||
"OPEN_DIALOG": "Boîte de dialogue Ouvrir",
|
||||
"SHOW_LIST_LABEL": "Cliquer pour afficher la liste"
|
||||
"DEFAULT_SEARCH": "Par défaut"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Tipo di autenticazione",
|
||||
"BASIC": "Autenticazione di base",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Flusso implicito",
|
||||
"PROVIDER": "Fornitore",
|
||||
"REQUIRED": "Questo campo è obbligatorio",
|
||||
"CS_URL_ERROR": "L'indirizzo Content Services non corrisponde al formato dell'URL",
|
||||
"PS_URL_ERROR": "L'indirizzo Process Services non corrisponde al formato dell'URL",
|
||||
"TITLE": "Impostazioni",
|
||||
"CS-HOST": "URL Content Services",
|
||||
"BP-HOST": "URL Process Services",
|
||||
"BACK": "Indietro",
|
||||
"APPLY": "Applica",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) non riconosciuto, provare un URL diverso.",
|
||||
"REDIRECT": "Reindirizza URI",
|
||||
"REDIRECT_LOGOUT": "Reindirizza logout URI",
|
||||
"SILENT": "Login invisibile",
|
||||
"SCOPE": "Ambito",
|
||||
"CLIENT": "ID client",
|
||||
"PUBLIC_URLS": "URL pubblici per login invisibile",
|
||||
"SECRET": "Segreto"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Modalità sviluppo"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Componente Cloud gruppi",
|
||||
"CONFIRM-DIALOG": "Finestra di conferma",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Elenco compiti servizio",
|
||||
"RICH_TEXT_EDITOR": "Editor di testo RTF"
|
||||
"SERVICE_TASK_LIST": "Elenco compiti servizio"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Sostituisci colonne",
|
||||
"LOAD_NODE": "Carica nodo",
|
||||
"MULTISELECT": "Selezione multipla",
|
||||
"MULTISELECT_DESCRIPTION": "Usa Cmd (Mac) o Ctrl (Windows) per attivare/disattivare la selezione di più elementi",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Usa il modello personalizzato per l'intestazione \"Utente\"",
|
||||
"CUSTOM_COLUMN_HEADER": "Modello personalizzato per intestazione Utente"
|
||||
"MULTISELECT_DESCRIPTION": "Usa Cmd (Mac) o Ctrl (Windows) per attivare/disattivare la selezione di più elementi"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Nessun rapporto selezionato. Scegliere un rapporto dall'elenco"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Tutti i gruppi preselezionati",
|
||||
"INVALID_USERS": "Utenti non validi",
|
||||
"INVALID_GROUPS": "Gruppi non validi",
|
||||
"READONLY_MODE": "Modalità sola lettura",
|
||||
"GROUPS_RESTRICTION": "Limitazione gruppi"
|
||||
"READONLY_MODE": "Modalità sola lettura"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Selezione multipla",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Tipo di azione"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Crea pulsante nuova cartella",
|
||||
"EDIT_NODE_LABEL": "Modifica pulsante nodo",
|
||||
"DELETE_NODE_LABEL": "Elimina icona nodo"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Predefinito",
|
||||
"OPEN_DIALOG": "Apri finestra di dialogo",
|
||||
"SHOW_LIST_LABEL": "Fai clic per mostrare l'elenco"
|
||||
"DEFAULT_SEARCH": "Predefinito"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "認証タイプ",
|
||||
"BASIC": "基本認証",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "暗黙的フロー",
|
||||
"PROVIDER": "プロバイダ",
|
||||
"REQUIRED": "このフィールドは必須です",
|
||||
"CS_URL_ERROR": "Content Services のアドレスが URL 形式と一致しません",
|
||||
"PS_URL_ERROR": "Process Services のアドレスが URL 形式と一致しません",
|
||||
"TITLE": "設定",
|
||||
"CS-HOST": "Content Services の URL",
|
||||
"BP-HOST": "Process Services の URL",
|
||||
"BACK": "戻る",
|
||||
"APPLY": "適用",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) が認識されません。別の URL を指定してください。",
|
||||
"REDIRECT": "リダイレクト URI",
|
||||
"REDIRECT_LOGOUT": "リダイレクト URI のログアウト",
|
||||
"SILENT": "サイレントログイン",
|
||||
"SCOPE": "範囲",
|
||||
"CLIENT": "クライアント ID",
|
||||
"PUBLIC_URLS": "サイレントログインのパブリック URL",
|
||||
"SECRET": "シークレット"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "開発モード"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "グループのクラウドコンポーネント",
|
||||
"CONFIRM-DIALOG": "確認ダイアログ",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "サービスタスクリスト",
|
||||
"RICH_TEXT_EDITOR": "リッチテキストエディタ"
|
||||
"SERVICE_TASK_LIST": "サービスタスクリスト"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "列の置換",
|
||||
"LOAD_NODE": "ノードの読み込み",
|
||||
"MULTISELECT": "複数選択",
|
||||
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "「ユーザー」ヘッダーにカスタムテンプレートを使用",
|
||||
"CUSTOM_COLUMN_HEADER": "カスタムユーザーヘッダーテンプレート"
|
||||
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "レポートが選択されていません。リストからレポートを選択してください。"
|
||||
@@ -271,7 +245,7 @@
|
||||
"RESULTS": "検索結果",
|
||||
"NO_RESULT": "一致するアイテムはありません",
|
||||
"FACET_FIELDS": {
|
||||
"TYPE": "1:タイプ",
|
||||
"TYPE": "1:種類",
|
||||
"SIZE": "2:サイズ",
|
||||
"CREATOR": "3:作成者",
|
||||
"MODIFIER": "4:変更者",
|
||||
@@ -280,7 +254,7 @@
|
||||
"FACET_QUERIES": {
|
||||
"MY_FACET_QUERIES": "あなたのファセットクエリ",
|
||||
"CREATED_THIS_YEAR": "1.今年作成",
|
||||
"MIMETYPE": "2.タイプ: HTML",
|
||||
"MIMETYPE": "2.種類: HTML",
|
||||
"XTRASMALL": "3.サイズ: 極小",
|
||||
"SMALL": "4.サイズ: 小",
|
||||
"MEDIUM": "5.サイズ: 中",
|
||||
@@ -316,7 +290,7 @@
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入する",
|
||||
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入してください",
|
||||
"APP_ID_TYPE_ERROR": "アプリケーション ID は数字でなければなりません",
|
||||
"NUMBER_GREATER_THAN": "値は {{ value }} 以上でなければなりません"
|
||||
},
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "選択されている全グループ",
|
||||
"INVALID_USERS": "無効なユーザー",
|
||||
"INVALID_GROUPS": "無効なグループ",
|
||||
"READONLY_MODE": "読み取り専用モード",
|
||||
"GROUPS_RESTRICTION": "グループ制限"
|
||||
"READONLY_MODE": "読み取り専用モード"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "複数選択",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "処理のタイプ"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "新しいフォルダボタンの作成",
|
||||
"EDIT_NODE_LABEL": "ノードボタンの編集",
|
||||
"DELETE_NODE_LABEL": "ノードアイコンボタンの削除"
|
||||
},
|
||||
"DEFAULT_SEARCH": "デフォルト",
|
||||
"OPEN_DIALOG": "ダイアログを開く",
|
||||
"SHOW_LIST_LABEL": "クリックしてリストを表示"
|
||||
"DEFAULT_SEARCH": "デフォルト"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Godkjenningstype",
|
||||
"BASIC": "Grunnleggende godkjenning",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implisitt flyt",
|
||||
"PROVIDER": "Leverandør",
|
||||
"REQUIRED": "Dette feltet er påkrevd",
|
||||
"CS_URL_ERROR": "Adressen til innholdstjenesten stemmer ikke med URL-formatet",
|
||||
"PS_URL_ERROR": "Adressen til prosesstjenestene stemmer ikke med URL-formatet",
|
||||
"TITLE": "Innstillinger",
|
||||
"CS-HOST": "URL tinnholdstjenester",
|
||||
"BP-HOST": "URL prosesstjenester",
|
||||
"BACK": "Tilbake",
|
||||
"APPLY": "Bruk",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) ikke gjenkjent, prøv en annen URL.",
|
||||
"REDIRECT": "Omdirigerings-URI",
|
||||
"REDIRECT_LOGOUT": "Omdirigerings-URI avlogging",
|
||||
"SILENT": "Stille pålogging",
|
||||
"SCOPE": "Område",
|
||||
"CLIENT": "Klient-ID",
|
||||
"PUBLIC_URLS": "Offentlige URL-er for stille pålogging",
|
||||
"SECRET": "Hemmelig"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Utvikl.modus"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Gruppesky-kompontent",
|
||||
"CONFIRM-DIALOG": "Bekreftelsesdialog",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Serviceoppgaveliste",
|
||||
"RICH_TEXT_EDITOR": "Åpne rik teksteditor"
|
||||
"SERVICE_TASK_LIST": "Serviceoppgaveliste"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "erstatt kolonner",
|
||||
"LOAD_NODE": "Last node",
|
||||
"MULTISELECT": "Multivalg",
|
||||
"MULTISELECT_DESCRIPTION": "Bruk Cmd (Mac) eller Ctrl (Windows) for å veksle mellom valg av flere elementer",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Bruk egendefinert mal for toppteksten 'bruker'",
|
||||
"CUSTOM_COLUMN_HEADER": "Egendefinert topptekst for bruker"
|
||||
"MULTISELECT_DESCRIPTION": "Bruk Cmd (Mac) eller Ctrl (Windows) for å veksle mellom valg av flere elementer"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Ingen rapport valgt. Velg en rapport fra listen"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Alle forhåndsvalgte grupper",
|
||||
"INVALID_USERS": "Ugyldige brukere",
|
||||
"INVALID_GROUPS": "Ugyldige grupper",
|
||||
"READONLY_MODE": "Skrivebeskyttet modus",
|
||||
"GROUPS_RESTRICTION": "Gruppebegrensning"
|
||||
"READONLY_MODE": "Skrivebeskyttet modus"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Flervalg",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Handlingstype"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Opprett en ny mappe-knapp",
|
||||
"EDIT_NODE_LABEL": "Rediger node-knapp",
|
||||
"DELETE_NODE_LABEL": "Slett nodeikon-knapp"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Standard",
|
||||
"OPEN_DIALOG": "Åpne dialog",
|
||||
"SHOW_LIST_LABEL": "Klikk for å vise listen"
|
||||
"DEFAULT_SEARCH": "Standard"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Verificatietype",
|
||||
"BASIC": "Basisverificatie",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Impliciete stroom",
|
||||
"PROVIDER": "Provider",
|
||||
"REQUIRED": "Dit veld is vereist",
|
||||
"CS_URL_ERROR": "Content Services-adres komt niet overeen met de URL-indeling",
|
||||
"PS_URL_ERROR": "Process Services-adres komt niet overeen met de URL-indeling",
|
||||
"TITLE": "Instellingen",
|
||||
"CS-HOST": "Content Services-URL",
|
||||
"BP-HOST": "Process Services-URL",
|
||||
"BACK": "Terug",
|
||||
"APPLY": "Toepassen",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) niet herkend, probeer een andere URL.",
|
||||
"REDIRECT": "Omleidings-URI",
|
||||
"REDIRECT_LOGOUT": "Omleidings-URI afmelden",
|
||||
"SILENT": "Stille aanmelding",
|
||||
"SCOPE": "Bereik",
|
||||
"CLIENT": "Client-id",
|
||||
"PUBLIC_URLS": "Openbare URL's voor stille aanmelding",
|
||||
"SECRET": "Geheim"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Ontwikkelaarsmodus"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Component Groepencloud",
|
||||
"CONFIRM-DIALOG": "Bevestigingsdialoogvenster",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Lijst met servicetaken",
|
||||
"RICH_TEXT_EDITOR": "RTF-editor"
|
||||
"SERVICE_TASK_LIST": "Lijst met servicetaken"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Kolommen vervangen",
|
||||
"LOAD_NODE": "Node laden",
|
||||
"MULTISELECT": "Multiselect",
|
||||
"MULTISELECT_DESCRIPTION": "Cmd (Mac) of Ctrl (Windows) gebruiken om de selectie van meerdere items in of uit te schakelen",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Aangepaste sjabloon voor 'User'-koptekst gebruiken",
|
||||
"CUSTOM_COLUMN_HEADER": "Aangepaste sjabloon voor User-koptekst"
|
||||
"MULTISELECT_DESCRIPTION": "Cmd (Mac) of Ctrl (Windows) gebruiken om de selectie van meerdere items in of uit te schakelen"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Geen rapport geselecteerd. Kies een rapport uit de lijst"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Alle voorgeselecteerde groepen",
|
||||
"INVALID_USERS": "Ongeldige gebruikers",
|
||||
"INVALID_GROUPS": "Ongeldige groepen",
|
||||
"READONLY_MODE": "Alleen-lezenmodus",
|
||||
"GROUPS_RESTRICTION": "Groepenbeperking"
|
||||
"READONLY_MODE": "Alleen-lezenmodus"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Multiselectie",
|
||||
@@ -377,16 +350,9 @@
|
||||
"TITLE": "Titel",
|
||||
"ICON": "Pictogram",
|
||||
"TASK_ID": "Taak-id",
|
||||
"PROCESS_ID": "Procesinstance-id",
|
||||
"PROCESS_ID": "Procesinstantie-id",
|
||||
"ACTION_TYPE": "Actietype"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Knop Nieuwe map maken",
|
||||
"EDIT_NODE_LABEL": "Knop Node bewerken",
|
||||
"DELETE_NODE_LABEL": "Pictogramknop Node verwijderen"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Standaard",
|
||||
"OPEN_DIALOG": "Dialoogvenster Openen",
|
||||
"SHOW_LIST_LABEL": "Klik om de lijst weer te geven"
|
||||
"DEFAULT_SEARCH": "Standaard"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Typ uwierzytelnienia",
|
||||
"BASIC": "Uwierzytelnienie podstawowe",
|
||||
"SSO": "Logowanie jednokrotne",
|
||||
"IMPLICIT-FLOW": "Niejawny przepływ",
|
||||
"PROVIDER": "Dostawca",
|
||||
"REQUIRED": "To pole jest wymagane.",
|
||||
"CS_URL_ERROR": "Adres usług Content Services jest niezgodny z formatem adresu URL.",
|
||||
"PS_URL_ERROR": "Adres usług Process Services jest niezgodny z formatem adresu URL.",
|
||||
"TITLE": "Ustawienia",
|
||||
"CS-HOST": "Adres URL usług Content Services",
|
||||
"BP-HOST": "Adres URL usług Process Services",
|
||||
"BACK": "Wstecz",
|
||||
"APPLY": "Zastosuj",
|
||||
"NOT_VALID": "Nie rozpoznano adresu http(s)://host|ip:port(/path). Spróbuj użyć innego adresu URL.",
|
||||
"REDIRECT": "Identyfikator URI przekierowania",
|
||||
"REDIRECT_LOGOUT": "Identyfikator URI przekierowania — wylogowanie",
|
||||
"SILENT": "Ciche logowanie",
|
||||
"SCOPE": "Zakres",
|
||||
"CLIENT": "Identyfikator klienta",
|
||||
"PUBLIC_URLS": "Publiczne URL do cichego logowania",
|
||||
"SECRET": "Klucz tajny"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Tryb progr."
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Składnik Chmura dla grup",
|
||||
"CONFIRM-DIALOG": "Okno dialogowe potwierdzenia",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Lista zadań serwisowych",
|
||||
"RICH_TEXT_EDITOR": "Edytor tekstu sformatowanego"
|
||||
"SERVICE_TASK_LIST": "Lista zadań serwisowych"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Zastąp kolumny",
|
||||
"LOAD_NODE": "Wczytaj węzeł",
|
||||
"MULTISELECT": "Wybór wielokrotny",
|
||||
"MULTISELECT_DESCRIPTION": "Używaj klawiszy Cmd (system Mac) lub Ctrl (system Windows), aby przełączać wybieranie wielu elementów.",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Użyj szablonu niestandardowego dla nagłówka 'Użytkownik'",
|
||||
"CUSTOM_COLUMN_HEADER": "Szablon niestandardowy nagłówka Użytkownik"
|
||||
"MULTISELECT_DESCRIPTION": "Używaj klawiszy Cmd (system Mac) lub Ctrl (system Windows), aby przełączać wybieranie wielu elementów."
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Nie wybrano raportu. Wybierz raport z listy."
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Wszystkie wstępnie wybrane grupy",
|
||||
"INVALID_USERS": "Nieprawidłowi użytkownicy",
|
||||
"INVALID_GROUPS": "Nieprawidłowe grupy",
|
||||
"READONLY_MODE": "Tryb tylko do odczytu",
|
||||
"GROUPS_RESTRICTION": "Ograniczenie grup"
|
||||
"READONLY_MODE": "Tryb tylko do odczytu"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Wybór wielokrotny",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Typ czynności"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Przycisk Utwórz nowy folder",
|
||||
"EDIT_NODE_LABEL": "Przycisk Edytuj węzeł",
|
||||
"DELETE_NODE_LABEL": "Przycisk Usuń ikonę węzła"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Domyślne",
|
||||
"OPEN_DIALOG": "Otwórz okno dialogowe",
|
||||
"SHOW_LIST_LABEL": "Kliknij, aby wyświetlić listę"
|
||||
"DEFAULT_SEARCH": "Domyślne"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Tipo de autenticação",
|
||||
"BASIC": "Autenticação básica",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Fluxo implícito",
|
||||
"PROVIDER": "Provedor",
|
||||
"REQUIRED": "Este campo é obrigatório",
|
||||
"CS_URL_ERROR": "O endereço do Content Services não corresponde ao formato de URL",
|
||||
"PS_URL_ERROR": "O endereço do Process Services não corresponde ao formato de URL",
|
||||
"TITLE": "Configurações",
|
||||
"CS-HOST": "URL do Content Services",
|
||||
"BP-HOST": "URL do Process Services",
|
||||
"BACK": "Voltar",
|
||||
"APPLY": "Aplicar",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) não reconhecida, tente uma URL diferente.",
|
||||
"REDIRECT": "Redirecionar URI",
|
||||
"REDIRECT_LOGOUT": "Redirecionar logout de URI",
|
||||
"SILENT": "Login silencioso",
|
||||
"SCOPE": "Escopo",
|
||||
"CLIENT": "ID de cliente",
|
||||
"PUBLIC_URLS": "Login silencioso de URLs públicas",
|
||||
"SECRET": "Segredo"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Modo de desenvolvimento"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Componente da Nuvem de Grupos",
|
||||
"CONFIRM-DIALOG": "Caixa de diálogo de confirmação",
|
||||
"COMMUNITY": "Comunidade",
|
||||
"SERVICE_TASK_LIST": "Lista de tarefas de serviços",
|
||||
"RICH_TEXT_EDITOR": "Editor de RTF"
|
||||
"SERVICE_TASK_LIST": "Lista de tarefas de serviços"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -181,9 +157,9 @@
|
||||
"TOOLBAR": {
|
||||
"CARDVIEW": "Modo de visualização de cartão",
|
||||
"SHARE_EDIT": "Editar configurações",
|
||||
"NEW_FOLDER": "Nova pasta",
|
||||
"NEW_FOLDER": "Nova Pasta",
|
||||
"EDIT_FOLDER": "Editar pasta",
|
||||
"DOWNLOAD": "Baixar",
|
||||
"DOWNLOAD": "Descarregar",
|
||||
"DELETE": "Excluir",
|
||||
"FAVORITES": "Adicionar aos favoritos",
|
||||
"SHARE": "Compartilhar",
|
||||
@@ -198,7 +174,7 @@
|
||||
"ASPECTS": "Atualizar aspectos",
|
||||
"LOCK": "Bloqueio",
|
||||
"METADATA": "Informações",
|
||||
"DOWNLOAD": "Baixar",
|
||||
"DOWNLOAD": "Descarregar",
|
||||
"PERMISSION": "Permissão",
|
||||
"FOLDER": {
|
||||
"COPY": "Copiar",
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Substituir colunas",
|
||||
"LOAD_NODE": "Carregar Nó",
|
||||
"MULTISELECT": "Seleção Múltipla",
|
||||
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) ou Ctrl (Windows) para alternar a seleção de vários itens",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Usar modelo personalizado para o cabeçalho 'Usuário'",
|
||||
"CUSTOM_COLUMN_HEADER": "Modelo personalizado do cabeçalho Usuário"
|
||||
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) ou Ctrl (Windows) para alternar a seleção de vários itens"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Nenhum relatório selecionado. Escolha um relatório na lista"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Todos os grupos pré-selecionados",
|
||||
"INVALID_USERS": "Usuários inválidos",
|
||||
"INVALID_GROUPS": "Grupos inválidos",
|
||||
"READONLY_MODE": "Modo somente leitura",
|
||||
"GROUPS_RESTRICTION": "Restrição de grupos"
|
||||
"READONLY_MODE": "Modo somente leitura"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Seleção Múltipla",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Tipo de ação"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Criar um novo botão de pasta",
|
||||
"EDIT_NODE_LABEL": "Editar botão de nó",
|
||||
"DELETE_NODE_LABEL": "Excluir botão de ícone de nó"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Padrão",
|
||||
"OPEN_DIALOG": "Abrir caixa de diálogo",
|
||||
"SHOW_LIST_LABEL": "Clique para mostrar a lista"
|
||||
"DEFAULT_SEARCH": "Padrão"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Тип авторизации",
|
||||
"BASIC": "Базовая авторизация",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Неявный поток",
|
||||
"PROVIDER": "Поставщик",
|
||||
"REQUIRED": "Поле обязательно для заполнения",
|
||||
"CS_URL_ERROR": "Адрес Content Services не соответствует формату URL",
|
||||
"PS_URL_ERROR": "Адрес Process Services не соответствует формату URL",
|
||||
"TITLE": "Параметры",
|
||||
"CS-HOST": "URL-адрес Content Services",
|
||||
"BP-HOST": "URL-адрес Process Services",
|
||||
"BACK": "Назад",
|
||||
"APPLY": "Применить",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) не распознан, используйте другой URL-адрес.",
|
||||
"REDIRECT": "URI перенаправления",
|
||||
"REDIRECT_LOGOUT": "Выход URI перенаправления",
|
||||
"SILENT": "Автоматический вход",
|
||||
"SCOPE": "Область применения",
|
||||
"CLIENT": "Идентификатор клиента",
|
||||
"PUBLIC_URLS": "Общедоступные URL-адреса с автоматическим входом",
|
||||
"SECRET": "Секретный"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Режим разработки"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Компонент облака «Группы»",
|
||||
"CONFIRM-DIALOG": "Диалоговое окно подтверждения",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Список сервисных задач",
|
||||
"RICH_TEXT_EDITOR": "Редактор форматированного текста"
|
||||
"SERVICE_TASK_LIST": "Список сервисных задач"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Заменить столбцы",
|
||||
"LOAD_NODE": "Загрузить узел",
|
||||
"MULTISELECT": "Выбор нескольких вариантов",
|
||||
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Использовать пользовательский шаблон для заголовка «Пользователь»",
|
||||
"CUSTOM_COLUMN_HEADER": "Пользовательский шаблон заголовка пользователя"
|
||||
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Отчет не выбран. Выберите отчет из списка"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Все заранее заданные группы",
|
||||
"INVALID_USERS": "Недействительные пользователи",
|
||||
"INVALID_GROUPS": "Недействительные группы",
|
||||
"READONLY_MODE": "Режим только для чтения",
|
||||
"GROUPS_RESTRICTION": "Ограничение для групп"
|
||||
"READONLY_MODE": "Режим только для чтения"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Выбор нескольких",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Тип действия"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Кнопка \"Создать новую папку\"",
|
||||
"EDIT_NODE_LABEL": "Кнопка \"Редактировать узел\"",
|
||||
"DELETE_NODE_LABEL": "Кнопка \"Удалить значок узла\""
|
||||
},
|
||||
"DEFAULT_SEARCH": "По умолчанию",
|
||||
"OPEN_DIALOG": "Открыть диалог",
|
||||
"SHOW_LIST_LABEL": "Нажмите для отображения списка"
|
||||
"DEFAULT_SEARCH": "По умолчанию"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Autentiseringstyp",
|
||||
"BASIC": "Grundläggande autentisering",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit flöde",
|
||||
"PROVIDER": "Leverantör",
|
||||
"REQUIRED": "Detta fält krävs",
|
||||
"CS_URL_ERROR": "Content Services-adressen matchar inte URL-formatet",
|
||||
"PS_URL_ERROR": "Process Services-adressen matchar inte URL-formatet",
|
||||
"TITLE": "Inställningar",
|
||||
"CS-HOST": "Content Services-URL",
|
||||
"BP-HOST": "Process Services-URL",
|
||||
"BACK": "Tillbaka",
|
||||
"APPLY": "Tillämpa",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) kändes inte igen, testa annan URL.",
|
||||
"REDIRECT": "Omdirigera URI",
|
||||
"REDIRECT_LOGOUT": "Omdirigera URI-utloggning",
|
||||
"SILENT": "Tyst inloggning",
|
||||
"SCOPE": "Definitionsområde",
|
||||
"CLIENT": "Klient-ID",
|
||||
"PUBLIC_URLS": "Offentliga url:er för tyst inloggning",
|
||||
"SECRET": "Hemlig"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Utvecklarläge"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "Grupper moln-komponent",
|
||||
"CONFIRM-DIALOG": "Dialogruta för bekräftelse",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "Serviceuppgiftslista",
|
||||
"RICH_TEXT_EDITOR": "RT-redigerare"
|
||||
"SERVICE_TASK_LIST": "Serviceuppgiftslista"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "Ersätt kolumner",
|
||||
"LOAD_NODE": "Läs in nod",
|
||||
"MULTISELECT": "Flerval",
|
||||
"MULTISELECT_DESCRIPTION": "Använd Cmd (Mac) eller Ctrl (Windows) för att växla val av flera objekt",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Använd anpassad mall för \"Användare\"-rubrik",
|
||||
"CUSTOM_COLUMN_HEADER": "Anpassad användarhuvudmall"
|
||||
"MULTISELECT_DESCRIPTION": "Använd Cmd (Mac) eller Ctrl (Windows) för att växla val av flera objekt"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Ingen rapport vald. Välj en rapport från listan"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "Alla förvalda grupper",
|
||||
"INVALID_USERS": "Ogiltiga användare",
|
||||
"INVALID_GROUPS": "Ogiltiga grupper",
|
||||
"READONLY_MODE": "Skrivskyddat läge",
|
||||
"GROUPS_RESTRICTION": "Gruppbegränsning"
|
||||
"READONLY_MODE": "Skrivskyddat läge"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "Flerval",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "Åtgärdstyp"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "Knappen Skapa en ny mapp",
|
||||
"EDIT_NODE_LABEL": "Knappen Redigera nod",
|
||||
"DELETE_NODE_LABEL": "Knappen Radera nodikon"
|
||||
},
|
||||
"DEFAULT_SEARCH": "Standard",
|
||||
"OPEN_DIALOG": "Öppna dialogruta",
|
||||
"SHOW_LIST_LABEL": "Klicka för att visa listan"
|
||||
"DEFAULT_SEARCH": "Standard"
|
||||
}
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "身份验证类型",
|
||||
"BASIC": "基本身份验证",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "隐式流",
|
||||
"PROVIDER": "提供程序",
|
||||
"REQUIRED": "此字段为必填字段",
|
||||
"CS_URL_ERROR": "Content Services 地址与 URL 格式不匹配",
|
||||
"PS_URL_ERROR": "Process Services 地址与 URL 格式不匹配",
|
||||
"TITLE": "设置",
|
||||
"CS-HOST": "Content Services URL",
|
||||
"BP-HOST": "Process Services URL",
|
||||
"BACK": "返回",
|
||||
"APPLY": "应用",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) 无法识别,请使用其他 URL。",
|
||||
"REDIRECT": "重定向 URI",
|
||||
"REDIRECT_LOGOUT": "重定向 URI 注销",
|
||||
"SILENT": "静默登录",
|
||||
"SCOPE": "范围",
|
||||
"CLIENT": "客户端 ID",
|
||||
"PUBLIC_URLS": "用于静默登录的公共 URL",
|
||||
"SECRET": "机密"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Dev 模式"
|
||||
},
|
||||
@@ -106,7 +83,7 @@
|
||||
"FORM_LOADING": "表单加载",
|
||||
"UPLOADER": "上传程序",
|
||||
"WEBSCRIPT": "Webscript",
|
||||
"TAG": "标记",
|
||||
"TAG": "标签",
|
||||
"PIPES": "管道",
|
||||
"TRASHCAN": "垃圾桶",
|
||||
"SOCIAL": "社交",
|
||||
@@ -126,7 +103,7 @@
|
||||
"PEOPLE_GROUPS_CLOUD": "人员/一组云",
|
||||
"TASK_HEADER_CLOUD": {
|
||||
"COMPONENT_NAME": "云的任务标题",
|
||||
"APP_NAME_INPUT": "App 名称",
|
||||
"APP_NAME_INPUT": "应用程序名称",
|
||||
"TASK_ID_INPUT": "任务 id",
|
||||
"FIND_TASK_BUTTON": "查找任务"
|
||||
},
|
||||
@@ -134,8 +111,7 @@
|
||||
"GROUPS_CLOUD": "组云组件",
|
||||
"CONFIRM-DIALOG": "确认对话",
|
||||
"COMMUNITY": "Community",
|
||||
"SERVICE_TASK_LIST": "服务任务列表",
|
||||
"RICH_TEXT_EDITOR": "RTF 编辑器"
|
||||
"SERVICE_TASK_LIST": "服务任务列表"
|
||||
},
|
||||
"TRASHCAN": {
|
||||
"ACTIONS": {
|
||||
@@ -174,7 +150,7 @@
|
||||
"CREATED_BY": "创建者",
|
||||
"CREATED_ON": "创建日期",
|
||||
"CREATED": "已创建",
|
||||
"SIZE": "尺寸",
|
||||
"SIZE": "字号(&S)",
|
||||
"DELETED_ON": "已删除",
|
||||
"DELETED_BY": "删除人"
|
||||
},
|
||||
@@ -220,9 +196,7 @@
|
||||
"REPLACE_COLUMNS": "替换列",
|
||||
"LOAD_NODE": "加载节点",
|
||||
"MULTISELECT": "多选",
|
||||
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择",
|
||||
"USE_CUSTOM_COLUMN_HEADER": "为“用户”标题使用自定义模板",
|
||||
"CUSTOM_COLUMN_HEADER": "自定义用户标题模板"
|
||||
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "未选择报告,请从列表中选择报告"
|
||||
@@ -304,8 +278,8 @@
|
||||
},
|
||||
"TASK_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "插入 App ID",
|
||||
"APP_ID_TYPE_ERROR": "App ID 必须为数字",
|
||||
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
|
||||
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字",
|
||||
"NUMBER_TYPE_ERROR": "值必须是数字",
|
||||
"NUMBER_GREATER_THAN": "值必须大于或等于 {{ value }}"
|
||||
},
|
||||
@@ -316,8 +290,8 @@
|
||||
},
|
||||
"PROCESS_LIST_DEMO": {
|
||||
"ERROR_MESSAGE": {
|
||||
"APP_ID_REQUIRED_ERROR": "插入 App ID",
|
||||
"APP_ID_TYPE_ERROR": "App ID 必须为数字",
|
||||
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
|
||||
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字",
|
||||
"NUMBER_GREATER_THAN": "值必须大于或等于 {{ value }}"
|
||||
},
|
||||
"PROCESS_CONTEXT_MENU": "流程列表上下文菜单"
|
||||
@@ -356,8 +330,7 @@
|
||||
"ALL_PRESELECTED_GROUPS": "所有预选组",
|
||||
"INVALID_USERS": "无效用户",
|
||||
"INVALID_GROUPS": "无效组",
|
||||
"READONLY_MODE": "只读模式",
|
||||
"GROUPS_RESTRICTION": "组限制"
|
||||
"READONLY_MODE": "只读模式"
|
||||
},
|
||||
"SETTINGS_CLOUD": {
|
||||
"MULTISELECTION": "多重选择",
|
||||
@@ -381,12 +354,5 @@
|
||||
"ACTION_TYPE": "操作类型"
|
||||
}
|
||||
},
|
||||
"BREADCRUMB_DEMO": {
|
||||
"NEW_FOLDER_LABEL": "创建一个新文件夹按钮",
|
||||
"EDIT_NODE_LABEL": "编辑节点按钮",
|
||||
"DELETE_NODE_LABEL": "删除节点图标按钮"
|
||||
},
|
||||
"DEFAULT_SEARCH": "默认值",
|
||||
"OPEN_DIALOG": "打开对话框",
|
||||
"SHOW_LIST_LABEL": "单击以显示列表"
|
||||
"DEFAULT_SEARCH": "默认值"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"$schema": "../../lib/core/src/lib/app-config/schema.json",
|
||||
"$schema": "../../lib/core/app-config/schema.json",
|
||||
"ecmHost": "{protocol}//{hostname}{:port}",
|
||||
"bpmHost": "{protocol}//{hostname}{:port}",
|
||||
"identityHost": "{protocol}//{hostname}{:port}/auth/admin/realms/alfresco",
|
||||
@@ -18,7 +18,7 @@
|
||||
"oauth2": {
|
||||
"host": "{protocol}//{hostname}{:port}/auth/realms/alfresco",
|
||||
"clientId": "alfresco",
|
||||
"scope": "openid profile email",
|
||||
"scope": "openid",
|
||||
"secret": "",
|
||||
"implicitFlow": true,
|
||||
"silentLogin": true,
|
||||
@@ -1327,15 +1327,6 @@
|
||||
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.LAST_MODIFIED",
|
||||
"sortable": true,
|
||||
"format": "timeAgo"
|
||||
},
|
||||
{
|
||||
"id": "description",
|
||||
"key": "description",
|
||||
"type": "text",
|
||||
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.DESCRIPTION",
|
||||
"sortable": false,
|
||||
"draggable": false,
|
||||
"isHidden": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -28,8 +28,7 @@ import {
|
||||
TRANSLATION_PROVIDER,
|
||||
DebugAppConfigService,
|
||||
CoreModule,
|
||||
CoreAutomationService,
|
||||
AuthModule
|
||||
CoreAutomationService
|
||||
} from '@alfresco/adf-core';
|
||||
import { ExtensionsModule } from '@alfresco/adf-extensions';
|
||||
import { AppComponent } from './app.component';
|
||||
@@ -115,7 +114,7 @@ import localeSv from '@angular/common/locales/sv';
|
||||
import { setupAppNotifications } from './services/app-notifications-factory';
|
||||
import { AppNotificationsService } from './services/app-notifications.service';
|
||||
import { SearchFilterChipsComponent } from './components/search/search-filter-chips.component';
|
||||
import { UserInfoComponent } from './components/app-layout/user-info/user-info.component';
|
||||
import { AlfrescoApiModule } from '@alfresco/adf-core/alfresco-api';
|
||||
|
||||
registerLocaleData(localeFr);
|
||||
registerLocaleData(localeDe);
|
||||
@@ -140,7 +139,6 @@ registerLocaleData(localeSv);
|
||||
environment.e2e ? NoopAnimationsModule : BrowserAnimationsModule,
|
||||
ReactiveFormsModule,
|
||||
RouterModule.forRoot(appRoutes, { useHash: true, relativeLinkResolution: 'legacy' }),
|
||||
...(environment.oidc ? [AuthModule.forRoot({ useHash: true })] : []),
|
||||
FormsModule,
|
||||
HttpClientModule,
|
||||
MaterialModule,
|
||||
@@ -155,13 +153,13 @@ registerLocaleData(localeSv);
|
||||
ThemePickerModule,
|
||||
ChartsModule,
|
||||
AppCloudSharedModule,
|
||||
AlfrescoApiModule,
|
||||
MonacoEditorModule.forRoot()
|
||||
],
|
||||
declarations: [
|
||||
AppComponent,
|
||||
LogoutComponent,
|
||||
AppLayoutComponent,
|
||||
UserInfoComponent,
|
||||
HomeComponent,
|
||||
SearchBarComponent,
|
||||
SearchResultComponent,
|
||||
|
||||
@@ -321,10 +321,6 @@ export const appRoutes: Routes = [
|
||||
path: 'datatable/dnd',
|
||||
loadChildren: () => import('./components/datatable/drag-and-drop/datatable-dnd.module').then(m => m.AppDataTableDndModule)
|
||||
},
|
||||
{
|
||||
path: 'rich-text-editor',
|
||||
loadChildren: () => import('./components/rich-text-editor/rich-text-editor.module').then(m => m.AppRichTextEditorModule)
|
||||
},
|
||||
{
|
||||
path: 'search',
|
||||
component: SearchResultComponent,
|
||||
|
||||
@@ -1,34 +1,4 @@
|
||||
<mat-slide-toggle [(ngModel)]="dev">{{'APP.ABOUT.DEVELOPMENT' | translate }}</mat-slide-toggle>
|
||||
|
||||
<adf-about>
|
||||
<adf-about-panel *ngIf="dev" [label]="'ABOUT.SERVER_SETTINGS.TITLE' | translate">
|
||||
<ng-template>
|
||||
<adf-about-server-settings></adf-about-server-settings>
|
||||
</ng-template>
|
||||
</adf-about-panel>
|
||||
|
||||
<adf-about-panel *ngIf="dev" [label]="'ABOUT.PACKAGES.TITLE' | translate">
|
||||
<ng-template>
|
||||
<adf-about-package-list [dependencies]="pkg?.dependencies"></adf-about-package-list>
|
||||
</ng-template>
|
||||
</adf-about-panel>
|
||||
|
||||
<adf-about-panel [label]="'ABOUT.REPOSITORY' | translate" *ngIf="repository">
|
||||
<ng-template>
|
||||
<adf-about-repository-info [data]="repository"></adf-about-repository-info>
|
||||
</ng-template>
|
||||
</adf-about-panel>
|
||||
|
||||
<adf-about-panel [label]="'ABOUT.VERSIONS.TITLE' | translate">
|
||||
<ng-template>
|
||||
<adf-about-platform-version [repository]="repository" [process]="bpmVersion"></adf-about-platform-version>
|
||||
</ng-template>
|
||||
</adf-about-panel>
|
||||
|
||||
<adf-about-panel *ngIf="extensions$ | async as extensions" [label]="'ABOUT.PLUGINS.TITLE' | translate">
|
||||
<ng-template>
|
||||
<adf-about-extension-list [data]="extensions"></adf-about-extension-list>
|
||||
</ng-template>
|
||||
</adf-about-panel>
|
||||
</adf-about>
|
||||
<adf-about [dev]="dev" [pkg]="pkg"> </adf-about>
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
.adf-extension-details-container {
|
||||
padding: 4px;
|
||||
}
|
||||
@@ -15,52 +15,20 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { AppExtensionService, ExtensionRef } from '@alfresco/adf-extensions';
|
||||
import { AuthenticationService, BpmProductVersionModel, DiscoveryApiService, RepositoryInfo } from '@alfresco/adf-core';
|
||||
import { Component } from '@angular/core';
|
||||
import pkg from '../../../../../package.json';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'app-about-page',
|
||||
templateUrl: './about.component.html'
|
||||
templateUrl: './about.component.html',
|
||||
styleUrls: ['./about.component.scss']
|
||||
})
|
||||
export class AboutComponent implements OnInit {
|
||||
export class AboutComponent {
|
||||
pkg: any;
|
||||
dev: true;
|
||||
|
||||
extensions$: Observable<ExtensionRef[]>;
|
||||
repository: RepositoryInfo = null;
|
||||
bpmVersion: BpmProductVersionModel = null;
|
||||
|
||||
constructor(
|
||||
private authService: AuthenticationService,
|
||||
private appExtensions: AppExtensionService,
|
||||
private discovery: DiscoveryApiService
|
||||
) {
|
||||
constructor() {
|
||||
this.pkg = pkg;
|
||||
this.extensions$ = this.appExtensions.references$;
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.authService.isEcmLoggedIn()) {
|
||||
this.setECMInfo();
|
||||
}
|
||||
|
||||
if (this.authService.isBpmLoggedIn()) {
|
||||
this.setBPMInfo();
|
||||
}
|
||||
}
|
||||
|
||||
setECMInfo() {
|
||||
this.discovery.getEcmProductInfo().subscribe((repository) => {
|
||||
this.repository = repository as RepositoryInfo;
|
||||
});
|
||||
}
|
||||
|
||||
setBPMInfo() {
|
||||
this.discovery.getBpmProductInfo().subscribe((bpmVersion) => {
|
||||
this.bpmVersion = bpmVersion;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
|
||||
<div class="app-header-delimiexpandedSidenavter"></div>
|
||||
|
||||
<app-shell-user-info [menuPositionX]="'before'" [menuPositionY]="'above'"></app-shell-user-info>
|
||||
<adf-userinfo [menuPositionX]="'before'" [menuPositionY]="'above'">
|
||||
</adf-userinfo>
|
||||
|
||||
<app-theme-picker></app-theme-picker>
|
||||
<button data-automation-id="language-menu-button" mat-icon-button [matMenuTriggerFor]="langMenu">
|
||||
|
||||
@@ -74,7 +74,6 @@ export class AppLayoutComponent implements OnInit, OnDestroy {
|
||||
{ href: '/datatable/dnd', icon: 'view_module', title: 'Drag and Drop' },
|
||||
{ href: '/copy-content', icon: 'view_module', title: 'Copy Content' }
|
||||
]},
|
||||
{ href: '/rich-text-editor', icon: 'list_alt', title: 'APP_LAYOUT.RICH_TEXT_EDITOR' },
|
||||
{ href: '/template-list', icon: 'list_alt', title: 'APP_LAYOUT.TEMPLATE' },
|
||||
{ href: '/webscript', icon: 'extension', title: 'APP_LAYOUT.WEBSCRIPT' },
|
||||
{ href: '/tag', icon: 'local_offer', title: 'APP_LAYOUT.TAG' },
|
||||
@@ -127,7 +126,7 @@ export class AppLayoutComponent implements OnInit, OnDestroy {
|
||||
this.color = color;
|
||||
} else {
|
||||
this.color = undefined;
|
||||
document.documentElement.style.setProperty('--theme-primary-color', color);
|
||||
document.documentElement.style.setProperty('--adf-header-background-color', color);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -138,7 +137,7 @@ export class AppLayoutComponent implements OnInit, OnDestroy {
|
||||
this.headerService.headerTextColor
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(headerTextColor => {
|
||||
document.documentElement.style.setProperty('--theme-primary-color-default-contrast', headerTextColor);
|
||||
document.documentElement.style.setProperty('--adf-header-text-color', headerTextColor);
|
||||
});
|
||||
|
||||
this.headerService.logo
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
<ng-container>
|
||||
<adf-content-user-info
|
||||
*ngIf="mode === userInfoMode.CONTENT || mode === userInfoMode.CONTENT_SSO"
|
||||
[ecmUser]="ecmUser$ | async"
|
||||
[identityUser]="identityUser$ | async"
|
||||
[isLoggedIn]="isLoggedIn"
|
||||
[mode]="mode"
|
||||
></adf-content-user-info>
|
||||
<adf-identity-user-info
|
||||
*ngIf="mode === userInfoMode.SSO"
|
||||
[identityUser]="identityUser$ | async"
|
||||
[isLoggedIn]="isLoggedIn"
|
||||
></adf-identity-user-info>
|
||||
<adf-process-user-info
|
||||
*ngIf="mode === userInfoMode.PROCESS || mode === userInfoMode.ALL"
|
||||
[bpmUser]="bpmUser$ | async"
|
||||
[ecmUser]="ecmUser$ | async"
|
||||
[isLoggedIn]="isLoggedIn"
|
||||
[mode]="mode"
|
||||
></adf-process-user-info>
|
||||
</ng-container>
|
||||
@@ -6,13 +6,13 @@
|
||||
<mat-label>Node Id For Aspects</mat-label>
|
||||
<input matInput placeholder="Node Id" [(ngModel)]="currentNodeId">
|
||||
</mat-form-field>
|
||||
<button mat-raised-button color="primary" [attr.aria-label]="'SHOW_LIST_LABEL' | translate" (click)="showAspectForNode()">
|
||||
<button mat-raised-button color="primary" aria-label="Click to show the list" (click)="showAspectForNode()">
|
||||
Show/Hide List
|
||||
</button>
|
||||
<adf-aspect-list [nodeId]="currentNodeId" *ngIf="isShowed" (valueChanged)="onValueChanged($event)"></adf-aspect-list>
|
||||
</div>
|
||||
<div>
|
||||
<button mat-fab color="primary" [attr.aria-label]="'OPEN_DIALOG' | translate" (click)="openAspectDialog()">
|
||||
<button mat-fab color="primary" aria-label="Open dialog" (click)="openAspectDialog()">
|
||||
Dialog
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { DialogAspectListService } from '@alfresco/adf-content-services';
|
||||
import { AspectListService } from '@alfresco/adf-content-services';
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
@@ -30,14 +30,14 @@ export class AspectListSampleComponent {
|
||||
|
||||
currentResult: string[] = [];
|
||||
|
||||
constructor(private dialogAspectListService: DialogAspectListService) { }
|
||||
constructor(private aspectListService: AspectListService) { }
|
||||
|
||||
showAspectForNode() {
|
||||
this.isShowed = !this.isShowed;
|
||||
}
|
||||
|
||||
openAspectDialog() {
|
||||
this.dialogAspectListService.openAspectListDialog(this.currentNodeId).subscribe((result) => this.currentResult = Array.from(result));
|
||||
this.aspectListService.openAspectListDialog(this.currentNodeId).subscribe((result) => this.currentResult = Array.from(result));
|
||||
}
|
||||
|
||||
onValueChanged(aspects) {
|
||||
|
||||
@@ -64,13 +64,13 @@
|
||||
</adf-toolbar-title>
|
||||
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider>
|
||||
<div fxFlex="0 0 auto">
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.NEW_FOLDER_LABEL' | translate">
|
||||
<button mat-icon-button aria-label="Create a new folder button">
|
||||
<mat-icon>create_new_folder</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.EDIT_NODE_LABEL' | translate">
|
||||
<button mat-icon-button aria-label="Edit node button">
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.DELETE_NODE_LABEL' | translate">
|
||||
<button mat-icon-button aria-label="Delete node icon button">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { Router, ActivatedRoute } from '@angular/router';
|
||||
import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<adf-alfresco-viewer
|
||||
<adf-viewer
|
||||
[overlayMode]="true"
|
||||
[nodeId]="nodeId">
|
||||
</adf-alfresco-viewer>
|
||||
</adf-viewer>
|
||||
|
||||
+2
-1
@@ -49,7 +49,8 @@ export class CommunityStartProcessCloudDemoComponent implements OnInit {
|
||||
|
||||
openSnackMessage(event: any) {
|
||||
this.notificationService.openSnackMessage(
|
||||
event.response.body.message
|
||||
event.response.body.message,
|
||||
4000
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -42,7 +42,8 @@ export class CommunityStartTaskCloudDemoComponent {
|
||||
|
||||
openSnackMessage(event: any) {
|
||||
this.notificationService.openSnackMessage(
|
||||
event.response.body.message
|
||||
event.response.body.message,
|
||||
4000
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,22 +12,20 @@
|
||||
'PEOPLE_GROUPS_CLOUD.MULTI' | translate }}</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<div class="app-people-control-options">
|
||||
<mat-radio-group (change)="onChangePeopleFilterMode($event)">
|
||||
<mat-radio-button [checked]="true" class="app-people-single-mode" value="appName">{{
|
||||
'PEOPLE_GROUPS_CLOUD.APP_FILTER_MODE' | translate }}</mat-radio-button>
|
||||
<mat-radio-button class="app-people-multiple-mode" data-automation-id="app-people-filter-role" value="role">{{
|
||||
'PEOPLE_GROUPS_CLOUD.ROLE_FILTER_MODE' | translate }}</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<mat-form-field *ngIf="!isPeopleAppNameSelected()" class="app-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.ROLE' | translate }} ["ACTIVITI_ADMIN", "ACTIVITI_USER"]</mat-label>
|
||||
<input matInput (input)="setPeopleRoles($any($event).target?.value)" data-automation-id="app-people-roles-input" />
|
||||
</mat-form-field>
|
||||
<mat-form-field *ngIf="isPeopleAppNameSelected()" class="app-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.APP_NAME' | translate }}</mat-label>
|
||||
<input matInput (input)="setPeopleAppName($any($event).target?.value)" data-automation-id="app-people-app-input" />
|
||||
</mat-form-field>
|
||||
<mat-form-field class="app-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.ROLE' | translate }} ["ACTIVITI_ADMIN", "ACTIVITI_USER"]</mat-label>
|
||||
<input matInput
|
||||
(input)="setPeopleRoles($any($event).target?.value)"
|
||||
data-automation-id="app-people-roles-input"/>
|
||||
</mat-form-field>
|
||||
<mat-form-field class="app-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.GROUPS_RESTRICTION' | translate }} ["hr", "sales"]</mat-label>
|
||||
<input matInput
|
||||
(input)="setPeopleGroupsRestriction($any($event).target?.value)"
|
||||
data-automation-id="app-people-groups-restriction-input"/>
|
||||
</mat-form-field>
|
||||
<mat-form-field class="app-preselect-value-full">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.PRESELECTED_VALUE' | translate }} {{ defaultPeoplePlaceholder }}</mat-label>
|
||||
<input matInput (input)="setPeoplePreselectValue($any($event).target?.value)" data-automation-id="app-people-preselect-input" />
|
||||
@@ -44,7 +42,6 @@
|
||||
[validate]="peoplePreselectValidation"
|
||||
[appName]="peopleAppName"
|
||||
[roles]="peopleRoles"
|
||||
[groupsRestriction]="groupsRestriction"
|
||||
[title]="'ADF_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'"
|
||||
[mode]="peopleMode"
|
||||
(warning)="onUsersWarning($event)"></adf-cloud-people>
|
||||
@@ -86,18 +83,24 @@
|
||||
'PEOPLE_GROUPS_CLOUD.MULTI' | translate }}</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<div class="app-groups-control-options">
|
||||
<mat-radio-group (change)="onChangeGroupsFilterMode($event)">
|
||||
<mat-radio-button [checked]="true" class="app-people-single-mode" value="appName">{{
|
||||
'PEOPLE_GROUPS_CLOUD.APP_FILTER_MODE' | translate }}</mat-radio-button>
|
||||
<mat-radio-button class="app-people-multiple-mode" data-automation-id="app-group-filter-role" value="role">{{
|
||||
'PEOPLE_GROUPS_CLOUD.ROLE_FILTER_MODE' | translate }}</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<mat-form-field *ngIf="!isGroupAppNameSelected()" class="app-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.ROLE' | translate }} ["ACTIVITI_ADMIN", "ACTIVITI_USER"]</mat-label>
|
||||
<input matInput
|
||||
(input)="setGroupRoles($any($event).target?.value)"
|
||||
data-automation-id="app-group-roles-input"/>
|
||||
</mat-form-field>
|
||||
<mat-form-field *ngIf="isGroupAppNameSelected()" class="app-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.APP_NAME' | translate }}</mat-label>
|
||||
<input matInput
|
||||
(input)="setGroupAppName($any($event).target?.value)"
|
||||
data-automation-id="app-group-app-input"/>
|
||||
</mat-form-field>
|
||||
<mat-form-field class="app-preselect-value">
|
||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.ROLE' | translate }} ["ACTIVITI_ADMIN", "ACTIVITI_USER"]</mat-label>
|
||||
<input matInput
|
||||
(input)="setGroupRoles($any($event).target?.value)"
|
||||
data-automation-id="app-group-roles-input"/>
|
||||
</mat-form-field>
|
||||
<mat-form-field class="app-preselect-value-full">
|
||||
<mat-label>Preselect: {{ defaultGroupPlaceholder }}</mat-label>
|
||||
<input matInput
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { ComponentSelectionMode, IdentityUserModel, IdentityGroupModel } from '@alfresco/adf-process-services-cloud';
|
||||
import { ComponentSelectionMode } from '@alfresco/adf-process-services-cloud';
|
||||
import { MatCheckboxChange } from '@angular/material/checkbox';
|
||||
import { MatRadioChange } from '@angular/material/radio';
|
||||
import { IdentityGroupModel, IdentityUserModel } from '@alfresco/adf-core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-people-groups-cloud',
|
||||
@@ -36,7 +37,6 @@ export class PeopleGroupCloudDemoComponent {
|
||||
preSelectUsers: IdentityUserModel[] = [];
|
||||
invalidUsers: IdentityUserModel[] = [];
|
||||
peopleRoles: string[] = [];
|
||||
groupsRestriction: string[] = [];
|
||||
peopleAppName: string;
|
||||
peopleFilterMode: string = this.defaultFilterMode;
|
||||
peoplePreselectValidation = false;
|
||||
@@ -75,10 +75,6 @@ export class PeopleGroupCloudDemoComponent {
|
||||
this.groupAppName = value;
|
||||
}
|
||||
|
||||
setPeopleGroupsRestriction(value: string): void {
|
||||
this.groupsRestriction = this.getArrayFromString(value);
|
||||
}
|
||||
|
||||
onChangePeopleMode(event: MatRadioChange): void {
|
||||
this.peopleMode = event.value;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import { Component, OnInit, OnDestroy } from '@angular/core';
|
||||
import { CloudLayoutService, ActionMenuModel } from '../services/cloud-layout.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { UntypedFormGroup, UntypedFormControl } from '@angular/forms';
|
||||
import { FormGroup, FormControl } from '@angular/forms';
|
||||
|
||||
@Component({
|
||||
selector: 'app-cloud-settings',
|
||||
@@ -44,12 +44,12 @@ export class CloudSettingsComponent implements OnInit, OnDestroy {
|
||||
{ value: 'multiple', title: 'Multiple' }
|
||||
];
|
||||
|
||||
actionMenuForm = new UntypedFormGroup({
|
||||
key: new UntypedFormControl(''),
|
||||
title: new UntypedFormControl(''),
|
||||
icon: new UntypedFormControl(''),
|
||||
visible: new UntypedFormControl(true),
|
||||
disabled: new UntypedFormControl(false)
|
||||
actionMenuForm = new FormGroup({
|
||||
key: new FormControl(''),
|
||||
title: new FormControl(''),
|
||||
icon: new FormControl(''),
|
||||
visible: new FormControl(true),
|
||||
disabled: new FormControl(false)
|
||||
});
|
||||
|
||||
constructor(private cloudLayoutService: CloudLayoutService) { }
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Component, ViewChild } from '@angular/core';
|
||||
import { TaskHeaderCloudComponent } from '@alfresco/adf-process-services-cloud';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { FormControl } from '@angular/forms';
|
||||
|
||||
@Component({
|
||||
templateUrl: './task-header-cloud-demo.component.html',
|
||||
@@ -32,8 +32,8 @@ export class TaskHeaderCloudDemoComponent {
|
||||
|
||||
errorMessage;
|
||||
|
||||
appNameFormControl = new UntypedFormControl('');
|
||||
taskIdFormControl = new UntypedFormControl('');
|
||||
appNameFormControl = new FormControl('');
|
||||
taskIdFormControl = new FormControl('');
|
||||
|
||||
constructor() {}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
Sticky header
|
||||
</mat-slide-toggle>
|
||||
|
||||
<div data-automation-id="datatable" class="adf-datatable-demo-app">
|
||||
<div style="height: 310px; overflow-y: auto;" data-automation-id="datatable">
|
||||
<adf-datatable
|
||||
#dataTable
|
||||
[data]="data"
|
||||
@@ -20,7 +20,6 @@
|
||||
[actions]="true"
|
||||
[resolverFn]="resolver"
|
||||
rowStyleClass="custom-row-style"
|
||||
[showMainDatatableActions]="true"
|
||||
(showRowActionsMenu)="onShowRowActionsMenu($event)"
|
||||
(executeRowAction)="onExecuteRowAction($event)">
|
||||
<!-- HTML column definition demo -->
|
||||
@@ -40,26 +39,7 @@
|
||||
</data-column>
|
||||
</data-columns>
|
||||
-->
|
||||
|
||||
<adf-main-menu-datatable-template>
|
||||
<ng-template let-mainMenuTrigger>
|
||||
<adf-datatable-column-selector
|
||||
[columns]="data.getColumns()"
|
||||
[mainMenuTrigger]="mainMenuTrigger"
|
||||
(submitColumnsVisibility)="onColumnsVisibilityChange($event)">
|
||||
</adf-datatable-column-selector>
|
||||
</ng-template>
|
||||
</adf-main-menu-datatable-template>
|
||||
|
||||
</adf-datatable>
|
||||
|
||||
<ng-template #customColumnHeaderTemplate>
|
||||
<div>
|
||||
<span class="adf-datatable-demo-app-custom-user-header">
|
||||
{{ 'DATATABLE.CUSTOM_COLUMN_HEADER'| translate }}
|
||||
</span>
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -69,7 +49,6 @@
|
||||
<div data-automation-id="multiselect">
|
||||
<mat-checkbox [(ngModel)]="multiselect">{{ 'DATATABLE.MULTISELECT'| translate }}</mat-checkbox>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p>{{ 'DATATABLE.MULTISELECT_DESCRIPTION'| translate }}</p>
|
||||
<mat-form-field>
|
||||
@@ -80,11 +59,9 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<div class="adf-datatable-demo-app-actions">
|
||||
<div>
|
||||
<button mat-raised-button (click)="reset()">{{ 'DATATABLE.RESET_DEFAULT'| translate }}</button>
|
||||
<button mat-raised-button (click)="addRow()">{{ 'DATATABLE.ADD_ROW'| translate }}</button>
|
||||
<button mat-raised-button (click)="replaceRows()">{{ 'DATATABLE.REPLACE_ROWS'| translate }}</button>
|
||||
<button mat-raised-button (click)="replaceColumns()">{{ 'DATATABLE.REPLACE_COLUMNS'| translate }}</button>
|
||||
<button mat-raised-button (click)="showCustomHeaderColumn()">{{ 'DATATABLE.USE_CUSTOM_COLUMN_HEADER'| translate }}</button>
|
||||
</div>
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
.adf-datatable-demo-app {
|
||||
height: 310px;
|
||||
overflow-y: auto;
|
||||
|
||||
&-actions {
|
||||
display: flex;
|
||||
column-gap: 4px;
|
||||
}
|
||||
|
||||
&-custom-user-header {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, Input, ViewChild } from '@angular/core';
|
||||
import { Component, Input } from '@angular/core';
|
||||
import {
|
||||
DataCellEvent,
|
||||
DataColumn,
|
||||
@@ -56,20 +56,17 @@ export class FilteredDataAdapter extends ObjectDataTableAdapter {
|
||||
|
||||
@Component({
|
||||
selector: 'app-datatable',
|
||||
templateUrl: './datatable.component.html',
|
||||
styleUrls: ['./datatable.component.scss']
|
||||
templateUrl: './datatable.component.html'
|
||||
})
|
||||
export class DataTableComponent {
|
||||
|
||||
@Input()
|
||||
selectionMode = 'single';
|
||||
|
||||
@ViewChild('customColumnHeaderTemplate') customColumnHeaderTemplate;
|
||||
|
||||
multiselect = false;
|
||||
data: FilteredDataAdapter;
|
||||
stickyHeader = false;
|
||||
|
||||
@Input()
|
||||
selectionMode = 'single';
|
||||
|
||||
selectionModes = [
|
||||
{ value: 'none', viewValue: 'None' },
|
||||
{ value: 'single', viewValue: 'Single' },
|
||||
@@ -87,6 +84,7 @@ export class DataTableComponent {
|
||||
}
|
||||
|
||||
resolver(row: DataRow, col: DataColumn): any {
|
||||
debugger;
|
||||
const value = row.getValue(col.key);
|
||||
if (col.key === 'users') {
|
||||
return (value || []).map(user => `${user.firstName} ${user.lastName}`).toString();
|
||||
@@ -230,13 +228,13 @@ export class DataTableComponent {
|
||||
],
|
||||
[
|
||||
{ type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail' },
|
||||
{ type: 'text', key: 'id', title: 'Id', sortable: true , cssClass: '', draggable: true},
|
||||
{ type: 'date', key: 'createdOn', title: 'Created On', sortable: true, cssClass: 'adf-ellipsis-cell adf-expand-cell-2', draggable: true },
|
||||
{ type: 'text', key: 'name', title: 'Name', cssClass: 'adf-ellipsis-cell', sortable: true, draggable: true },
|
||||
{ type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true, cssClass: '', draggable: true},
|
||||
{ type: 'json', key: 'json', title: 'Json', cssClass: 'adf-expand-cell-2', draggable: true},
|
||||
{ type: 'text', key: 'users', title: 'Users', cssClass: 'adf-expand-cell-2', draggable: true},
|
||||
{ type: 'json', key: 'status', title: 'Status', cssClass: 'adf-expand-cell-2', draggable: true}
|
||||
{ type: 'text', key: 'id', title: 'Id', sortable: true , cssClass: '' },
|
||||
{ type: 'date', key: 'createdOn', title: 'Created On', sortable: true, cssClass: 'adf-ellipsis-cell adf-expand-cell-2' },
|
||||
{ type: 'text', key: 'name', title: 'Name', cssClass: 'adf-ellipsis-cell', sortable: true },
|
||||
{ type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true, cssClass: ''},
|
||||
{ type: 'json', key: 'json', title: 'Json', cssClass: 'adf-expand-cell-2'},
|
||||
{ type: 'text', key: 'users', title: 'Users', cssClass: 'adf-expand-cell-2'},
|
||||
{ type: 'json', key: 'status', title: 'Status', cssClass: 'adf-expand-cell-2'}
|
||||
]
|
||||
);
|
||||
|
||||
@@ -301,21 +299,6 @@ export class DataTableComponent {
|
||||
this.data.setColumns(columns);
|
||||
}
|
||||
|
||||
showCustomHeaderColumn() {
|
||||
const columns = this.data.getColumns().map(column => {
|
||||
if (column.title === 'Users') {
|
||||
return {
|
||||
...column,
|
||||
header: this.customColumnHeaderTemplate
|
||||
};
|
||||
}
|
||||
|
||||
return column;
|
||||
});
|
||||
|
||||
this.data.setColumns(columns);
|
||||
}
|
||||
|
||||
onShowRowActionsMenu(event: DataCellEvent) {
|
||||
const myAction = {
|
||||
title: 'Hello'
|
||||
@@ -326,10 +309,6 @@ export class DataTableComponent {
|
||||
];
|
||||
}
|
||||
|
||||
onColumnsVisibilityChange(columns: DataColumn[]): void {
|
||||
this.data.setColumns(columns);
|
||||
}
|
||||
|
||||
onExecuteRowAction(event: DataRowActionEvent) {
|
||||
const args = event.value;
|
||||
window.alert(`My custom action: ${args.action.title}`);
|
||||
|
||||
+3
-3
@@ -26,7 +26,7 @@ import {
|
||||
} from '@angular/core';
|
||||
import { NodeEntry, Node } from '@alfresco/js-api';
|
||||
import { BehaviorSubject, Subject } from 'rxjs';
|
||||
import { NodesApiService } from '@alfresco/adf-core';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
|
||||
@Component({
|
||||
@@ -52,12 +52,12 @@ export class NameColumnComponent implements OnInit, OnDestroy {
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
|
||||
constructor(private element: ElementRef, private nodesApiService: NodesApiService) {}
|
||||
constructor(private element: ElementRef, private alfrescoApiService: AlfrescoApiService) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.updateValue();
|
||||
|
||||
this.nodesApiService.nodeUpdated
|
||||
this.alfrescoApiService.nodeUpdated
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe((node: Node) => {
|
||||
const row = this.context.row;
|
||||
|
||||
@@ -1,382 +1,336 @@
|
||||
<ng-container *ngIf="nodeId">
|
||||
<ng-container *ngIf="nodeId || content">
|
||||
|
||||
<adf-alfresco-viewer
|
||||
(showViewerChange)="onViewerClosed()"
|
||||
<ng-template let-node="node" #sidebarRightTemplate>
|
||||
<adf-info-drawer [title]="'APP.INFO_DRAWER.TITLE' | 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">
|
||||
<adf-content-metadata-card *ngIf="isPreset" [node]="node"
|
||||
[multi]="multi"
|
||||
[preset]="customPreset"
|
||||
[readOnly]="isReadOnly"
|
||||
[displayAspect]="showAspect"
|
||||
[displayDefaultProperties]="displayDefaultProperties"
|
||||
[displayEmpty]="displayEmptyMetadata"></adf-content-metadata-card>
|
||||
|
||||
<adf-content-metadata-card *ngIf="!isPreset" [node]="node"
|
||||
[multi]="multi"
|
||||
[readOnly]="isReadOnly"
|
||||
[displayAspect]="showAspect"
|
||||
[displayDefaultProperties]="displayDefaultProperties"
|
||||
[displayEmpty]="displayEmptyMetadata"></adf-content-metadata-card>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-default-properties"
|
||||
[color]="'primary'"
|
||||
(change)="toggleDisplayProperties()"
|
||||
[checked]="displayDefaultProperties">
|
||||
Display Default Properties
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-empty"
|
||||
[color]="'primary'"
|
||||
(change)="toggleEmptyMetadata()"
|
||||
[checked]="displayEmptyMetadata">
|
||||
Display Empty Metadata
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-multi"
|
||||
[color]="'primary'"
|
||||
(change)="toggleMulti()"
|
||||
[checked]="multi">
|
||||
Multi accordion
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-readonly"
|
||||
[color]="'primary'"
|
||||
(change)="toggleReadOnly()"
|
||||
[checked]="isReadOnly">
|
||||
Read Only
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toggle-custom-preset"
|
||||
[color]="'primary'"
|
||||
(change)="togglePreset()"
|
||||
[checked]="isPreset">
|
||||
Custom preset
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Display Aspect"
|
||||
[(ngModel)]="desiredAspect">
|
||||
</mat-form-field>
|
||||
|
||||
<button mat-raised-button (click)="applyAspect()" color="primary">
|
||||
Apply Aspect
|
||||
</button>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<ng-container *ngIf="isPreset">
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Custom Preset"
|
||||
[(ngModel)]="customPreset"
|
||||
data-automation-id="adf-text-custom-preset">
|
||||
</mat-form-field>
|
||||
|
||||
<button mat-raised-button id="adf-metadata-aplly" (click)="applyCustomPreset()" color="primary">
|
||||
Apply
|
||||
</button>
|
||||
|
||||
</ng-container>
|
||||
</p>
|
||||
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab label="APP.INFO_DRAWER.VERSIONS">
|
||||
<mat-card>
|
||||
<mat-card-content>
|
||||
<adf-version-manager [node]="node"
|
||||
(uploadError)="onUploadError($event)"
|
||||
(viewVersion)="onViewVersion($event)">
|
||||
</adf-version-manager>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
</adf-info-drawer-tab>
|
||||
</adf-info-drawer>
|
||||
</ng-template>
|
||||
|
||||
|
||||
<ng-template let-node="node" #sidebarLeftTemplate>
|
||||
<adf-info-drawer [title]="'Viewer Options'">
|
||||
|
||||
<adf-info-drawer-tab label="Settings">
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-custoname"
|
||||
[color]="'primary'"
|
||||
(change)="toggleCustomName()"
|
||||
[checked]="customName">
|
||||
Custom Name
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<ng-container *ngIf="customName">
|
||||
<mat-form-field floatLabel="never">
|
||||
<input matInput
|
||||
placeholder="Custom Name"
|
||||
[(ngModel)]="displayName"
|
||||
data-automation-id="adf-text-custom-name">
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-fileurl"
|
||||
[color]="'primary'"
|
||||
(change)="toggleFileUrl()"
|
||||
[checked]="fileUrlSwitch">
|
||||
Url File
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<ng-container *ngIf="fileUrlSwitch">
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Url File"
|
||||
[(ngModel)]="urlFile"
|
||||
data-automation-id="adf-text-file-url">
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-toolbar"
|
||||
[color]="'primary'"
|
||||
(change)="toggleShowToolbar()"
|
||||
[checked]="showToolbar">
|
||||
Show Toolbar
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-goback"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowGoBack()"
|
||||
[checked]="allowGoBack">
|
||||
Allow GoBack
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-openwith"
|
||||
[color]="'primary'"
|
||||
(change)="toggleOpenWith()"
|
||||
[checked]="openWith">
|
||||
Open With
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-moreactions"
|
||||
[color]="'primary'"
|
||||
(change)="toggleOpenMoreActions()"
|
||||
[checked]="moreActions">
|
||||
More Actions
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-moreactionsmenu"
|
||||
[color]="'primary'"
|
||||
(change)="toggleMoreActionsMenu()"
|
||||
[checked]="moreActionsMenu">
|
||||
More Actions Menu
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-download"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowDownload()"
|
||||
[checked]="allowDownload">
|
||||
Allow Download
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-print"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowPrint()"
|
||||
[checked]="allowPrint">
|
||||
Allow Print
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-allowsidebar"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowRightSidebar()"
|
||||
[checked]="allowRightSidebar">
|
||||
Allow Right Sidebar
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-allowLeftSidebar"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowLeftSidebar()"
|
||||
[checked]="allowLeftSidebar">
|
||||
Allow Left Sidebar
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toggle-custom-toolbar"
|
||||
[color]="'primary'"
|
||||
(change)="toggleToolbar()"
|
||||
[checked]="customToolbar">
|
||||
Custom Toolbar
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-tab-with-icon"
|
||||
[color]="'primary'"
|
||||
(change)="toggleShowTabWithIcon()"
|
||||
[checked]="showTabWithIcon">
|
||||
Show tab with icon
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-icon-and-label-tab"
|
||||
[color]="'primary'"
|
||||
(change)="toggleShowTabWithIconAndLabel()"
|
||||
[checked]="showTabWithIconAndLabel">
|
||||
Show tab with icon and label
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<button mat-raised-button id="adf-switch-showrightsidebar" (click)="toggleShowRightSidebar()"
|
||||
color="primary">
|
||||
Toggle Right Sidebar
|
||||
</button>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<button mat-raised-button id="adf-switch-showleftsidebar" (click)="hideLeftSidebar()"
|
||||
color="primary">
|
||||
Hide Left Sidebar
|
||||
</button>
|
||||
</p>
|
||||
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab
|
||||
*ngIf="showTabWithIcon"
|
||||
[label]=""
|
||||
[icon]="'face'"
|
||||
data-automation-id="adf-settings-tab">
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab
|
||||
*ngIf="showTabWithIconAndLabel"
|
||||
[label]="'Comments'"
|
||||
[icon]="'comment'"
|
||||
data-automation-id="adf-settings-tab">
|
||||
</adf-info-drawer-tab>
|
||||
</adf-info-drawer>
|
||||
</ng-template>
|
||||
|
||||
<adf-viewer
|
||||
[blobFile]="content"
|
||||
[nodeId]="nodeId"
|
||||
[versionId]="versionId"
|
||||
[showRightSidebar]="showRightSidebar"
|
||||
[showLeftSidebar]="showLeftSidebar"
|
||||
[allowGoBack]="allowGoBack"
|
||||
[displayName]="displayName"
|
||||
[showToolbar]="showToolbar"
|
||||
[allowPrint]="allowPrint"
|
||||
[allowDownload]="allowDownload"
|
||||
[allowRightSidebar]="allowRightSidebar"
|
||||
[allowLeftSidebar]="allowLeftSidebar"
|
||||
[sidebarLeftTemplate]="sidebarLeftTemplate"
|
||||
[sidebarRightTemplate]="sidebarRightTemplate">
|
||||
|
||||
<adf-viewer-toolbar *ngIf="customToolbar" data-automation-id="adf-viewer-custom-toolbar">
|
||||
<h1>My custom toolbar</h1>
|
||||
</adf-viewer-toolbar>
|
||||
|
||||
<adf-viewer-toolbar-actions *ngIf="moreActions">
|
||||
<button mat-icon-button id="adf-viewer-time">
|
||||
<mat-icon>alarm</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button id="adf-viewer-upload">
|
||||
<mat-icon>backup</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button id="adf-viewer-bug">
|
||||
<mat-icon>bug_report</mat-icon>
|
||||
</button>
|
||||
</adf-viewer-toolbar-actions>
|
||||
|
||||
<adf-viewer-more-actions *ngIf="moreActionsMenu">
|
||||
<button mat-menu-item id="adf-viewer-more-menu-alarm">
|
||||
<mat-icon>alarm</mat-icon>
|
||||
<span>Alarm</span>
|
||||
</button>
|
||||
<button mat-menu-item id="adf-viewer-more-menu-backup">
|
||||
<mat-icon>backup</mat-icon>
|
||||
<span>Backup</span>
|
||||
</button>
|
||||
<button mat-menu-item id="adf-viewer-more-menu-bug">
|
||||
<mat-icon>bug_report</mat-icon>
|
||||
<span>Bug report</span>
|
||||
</button>
|
||||
</adf-viewer-more-actions>
|
||||
|
||||
<ng-container *ngIf="openWith">
|
||||
<adf-viewer-open-with>
|
||||
<button mat-menu-item>
|
||||
<mat-icon>dialpad</mat-icon>
|
||||
<span>Option 1</span>
|
||||
</button>
|
||||
<button mat-menu-item disabled>
|
||||
<mat-icon>voicemail</mat-icon>
|
||||
<span>Option 2</span>
|
||||
</button>
|
||||
<button mat-menu-item>
|
||||
<mat-icon>notifications_off</mat-icon>
|
||||
<span>Option 3</span>
|
||||
</button>
|
||||
</adf-viewer-open-with>
|
||||
</ng-container>
|
||||
</adf-alfresco-viewer>
|
||||
|
||||
</ng-container>
|
||||
|
||||
|
||||
<ng-template let-node="node" #sidebarRightTemplate>
|
||||
<adf-info-drawer [title]="'APP.INFO_DRAWER.TITLE' | translate">
|
||||
|
||||
<adf-info-drawer-tab label="APP.INFO_DRAWER.COMMENTS">
|
||||
<adf-node-comments
|
||||
[nodeId]="nodeId"
|
||||
[readOnly]="!isCommentEnabled"
|
||||
>
|
||||
</adf-node-comments>
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab label="APP.INFO_DRAWER.PROPERTIES">
|
||||
<adf-content-metadata-card *ngIf="isPreset" [node]="node"
|
||||
[multi]="multi"
|
||||
[preset]="customPreset"
|
||||
[readOnly]="isReadOnly"
|
||||
[displayAspect]="showAspect"
|
||||
[displayDefaultProperties]="displayDefaultProperties"
|
||||
[displayEmpty]="displayEmptyMetadata"></adf-content-metadata-card>
|
||||
|
||||
<adf-content-metadata-card *ngIf="!isPreset" [node]="node"
|
||||
[multi]="multi"
|
||||
[readOnly]="isReadOnly"
|
||||
[displayAspect]="showAspect"
|
||||
[displayDefaultProperties]="displayDefaultProperties"
|
||||
[displayEmpty]="displayEmptyMetadata"></adf-content-metadata-card>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-default-properties"
|
||||
[color]="'primary'"
|
||||
(change)="toggleDisplayProperties()"
|
||||
[checked]="displayDefaultProperties">
|
||||
Display Default Properties
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-empty"
|
||||
[color]="'primary'"
|
||||
(change)="toggleEmptyMetadata()"
|
||||
[checked]="displayEmptyMetadata">
|
||||
Display Empty Metadata
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-multi"
|
||||
[color]="'primary'"
|
||||
(change)="toggleMulti()"
|
||||
[checked]="multi">
|
||||
Multi accordion
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-metadata-readonly"
|
||||
[color]="'primary'"
|
||||
(change)="toggleReadOnly()"
|
||||
[checked]="isReadOnly">
|
||||
Read Only
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toggle-custom-preset"
|
||||
[color]="'primary'"
|
||||
(change)="togglePreset()"
|
||||
[checked]="isPreset">
|
||||
Custom preset
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Display Aspect"
|
||||
[(ngModel)]="desiredAspect">
|
||||
</mat-form-field>
|
||||
|
||||
<button mat-raised-button (click)="applyAspect()" color="primary">
|
||||
Apply Aspect
|
||||
</button>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<ng-container *ngIf="isPreset">
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Custom Preset"
|
||||
[(ngModel)]="customPreset"
|
||||
data-automation-id="adf-text-custom-preset">
|
||||
</mat-form-field>
|
||||
|
||||
<button mat-raised-button id="adf-metadata-aplly" (click)="applyCustomPreset()" color="primary">
|
||||
Apply
|
||||
</button>
|
||||
|
||||
</ng-container>
|
||||
</p>
|
||||
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab label="APP.INFO_DRAWER.VERSIONS">
|
||||
<mat-card>
|
||||
<mat-card-content>
|
||||
<adf-version-manager [node]="node"
|
||||
(uploadError)="onUploadError($event)"
|
||||
(viewVersion)="onViewVersion($event)">
|
||||
</adf-version-manager>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
</adf-info-drawer-tab>
|
||||
</adf-info-drawer>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #sidebarLeftTemplate>
|
||||
<adf-info-drawer [title]="'Viewer Options'">
|
||||
|
||||
<adf-info-drawer-tab label="Settings">
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-fileurl"
|
||||
[color]="'primary'"
|
||||
(change)="toggleFileUrl()"
|
||||
[checked]="fileUrlSwitch">
|
||||
Url File
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<ng-container *ngIf="fileUrlSwitch">
|
||||
<mat-form-field floatPlaceholder="float">
|
||||
<input matInput
|
||||
placeholder="Url File"
|
||||
[(ngModel)]="urlFile"
|
||||
data-automation-id="adf-text-file-url">
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-toolbar"
|
||||
[color]="'primary'"
|
||||
(change)="toggleShowToolbar()"
|
||||
[checked]="showToolbar">
|
||||
Show Toolbar
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-goback"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowGoBack()"
|
||||
[checked]="allowGoBack">
|
||||
Allow GoBack
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-openwith"
|
||||
[color]="'primary'"
|
||||
(change)="toggleOpenWith()"
|
||||
[checked]="openWith">
|
||||
Open With
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-moreactions"
|
||||
[color]="'primary'"
|
||||
(change)="toggleOpenMoreActions()"
|
||||
[checked]="moreActions">
|
||||
More Actions
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-moreactionsmenu"
|
||||
[color]="'primary'"
|
||||
(change)="toggleMoreActionsMenu()"
|
||||
[checked]="moreActionsMenu">
|
||||
More Actions Menu
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-download"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowDownload()"
|
||||
[checked]="allowDownload">
|
||||
Allow Download
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-print"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowPrint()"
|
||||
[checked]="allowPrint">
|
||||
Allow Print
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-allowsidebar"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowRightSidebar()"
|
||||
[checked]="allowRightSidebar">
|
||||
Allow Right Sidebar
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-switch-allowLeftSidebar"
|
||||
[color]="'primary'"
|
||||
(change)="toggleAllowLeftSidebar()"
|
||||
[checked]="allowLeftSidebar">
|
||||
Allow Left Sidebar
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-toggle-custom-toolbar"
|
||||
[color]="'primary'"
|
||||
(change)="toggleToolbar()"
|
||||
[checked]="customToolbar">
|
||||
Custom Toolbar
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-tab-with-icon"
|
||||
[color]="'primary'"
|
||||
(change)="toggleShowTabWithIcon()"
|
||||
[checked]="showTabWithIcon">
|
||||
Show tab with icon
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<mat-slide-toggle
|
||||
id="adf-icon-and-label-tab"
|
||||
[color]="'primary'"
|
||||
(change)="toggleShowTabWithIconAndLabel()"
|
||||
[checked]="showTabWithIconAndLabel">
|
||||
Show tab with icon and label
|
||||
</mat-slide-toggle>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<button mat-raised-button id="adf-switch-showrightsidebar" (click)="toggleShowRightSidebar()"
|
||||
color="primary">
|
||||
Toggle Right Sidebar
|
||||
</button>
|
||||
</p>
|
||||
|
||||
<p class="toggle">
|
||||
<button mat-raised-button id="adf-switch-showleftsidebar" (click)="hideLeftSidebar()"
|
||||
color="primary">
|
||||
Hide Left Sidebar
|
||||
</button>
|
||||
</p>
|
||||
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab
|
||||
*ngIf="showTabWithIcon"
|
||||
[label]=""
|
||||
[icon]="'face'"
|
||||
data-automation-id="adf-settings-tab">
|
||||
</adf-info-drawer-tab>
|
||||
|
||||
<adf-info-drawer-tab
|
||||
*ngIf="showTabWithIconAndLabel"
|
||||
[label]="'Comments'"
|
||||
[icon]="'comment'"
|
||||
data-automation-id="adf-settings-tab">
|
||||
</adf-info-drawer-tab>
|
||||
</adf-info-drawer>
|
||||
</ng-template>
|
||||
|
||||
<ng-container *ngIf="blobFile">
|
||||
<adf-viewer
|
||||
[blobFile]="blobFile"
|
||||
[fileName]="fileName"
|
||||
[showRightSidebar]="showRightSidebar"
|
||||
[showLeftSidebar]="showLeftSidebar"
|
||||
[allowGoBack]="allowGoBack"
|
||||
[showToolbar]="showToolbar"
|
||||
[allowRightSidebar]="allowRightSidebar"
|
||||
[allowLeftSidebar]="allowLeftSidebar"
|
||||
(showViewerChange)="onViewerClosed()"
|
||||
[urlFile]="urlFile"
|
||||
(showViewerChange)="onViewerVisibilityChanged()"
|
||||
[sidebarLeftTemplate]="sidebarLeftTemplate"
|
||||
[sidebarRightTemplate]="sidebarRightTemplate">
|
||||
|
||||
@@ -428,5 +382,36 @@
|
||||
</adf-viewer-open-with>
|
||||
</ng-container>
|
||||
|
||||
<!--
|
||||
<adf-viewer-extension [supportedExtensions]="['json']">
|
||||
<ng-template let-urlFileContent="urlFileContent" let-extension="extension">
|
||||
<h1>JSON VIEWER</h1>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<adf-viewer-extension [supportedExtensions]="['png']">
|
||||
<ng-template>
|
||||
<h1>PNG Viewer</h1>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<adf-viewer-extension [supportedExtensions]="['pdf']">
|
||||
<ng-template>
|
||||
<h1>PDF Viewer</h1>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<extension-viewer [supportedExtensions]="['obj','3DS']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" let-extension="extension" >
|
||||
<threed-viewer [urlFile]="urlFileContent" [extension]="extension" ></threed-viewer>
|
||||
</ng-template>
|
||||
</extension-viewer>
|
||||
-->
|
||||
</adf-viewer>
|
||||
</ng-container>
|
||||
|
||||
@@ -17,14 +17,8 @@
|
||||
|
||||
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute, Router, PRIMARY_OUTLET } from '@angular/router';
|
||||
import {
|
||||
ContentService,
|
||||
AllowableOperationsEnum,
|
||||
PermissionsEnum,
|
||||
NodesApiService,
|
||||
FileUploadErrorEvent,
|
||||
NotificationService
|
||||
} from '@alfresco/adf-core';
|
||||
import { ContentService, AllowableOperationsEnum, PermissionsEnum, NodesApiService, FileUploadErrorEvent } from '@alfresco/adf-core';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
|
||||
@Component({
|
||||
@@ -45,6 +39,7 @@ export class FileViewComponent implements OnInit {
|
||||
customPreset: string = null;
|
||||
displayDefaultProperties = true;
|
||||
showToolbar = true;
|
||||
displayName = null;
|
||||
urlFile = null;
|
||||
allowGoBack = true;
|
||||
openWith = false;
|
||||
@@ -54,6 +49,7 @@ export class FileViewComponent implements OnInit {
|
||||
allowLeftSidebar = true;
|
||||
moreActions = true;
|
||||
moreActionsMenu = false;
|
||||
customName = false;
|
||||
fileUrlSwitch = false;
|
||||
showLeftSidebar = null;
|
||||
showRightSidebar = false;
|
||||
@@ -63,16 +59,15 @@ export class FileViewComponent implements OnInit {
|
||||
showTabWithIconAndLabel = false;
|
||||
desiredAspect: string = null;
|
||||
showAspect: string = null;
|
||||
content: Blob;
|
||||
name: string;
|
||||
fileName: string;
|
||||
blobFile: Blob;
|
||||
|
||||
constructor(private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
private snackBar: MatSnackBar,
|
||||
private nodeApiService: NodesApiService,
|
||||
private contentServices: ContentService,
|
||||
private preview: PreviewService,
|
||||
private notificationService: NotificationService) {
|
||||
private preview: PreviewService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -92,9 +87,9 @@ export class FileViewComponent implements OnInit {
|
||||
},
|
||||
() => this.router.navigate(['/files', id])
|
||||
);
|
||||
} else if (this.preview?.content) {
|
||||
this.blobFile = this.preview.content;
|
||||
this.fileName = this.preview.name;
|
||||
} else if (this.preview.content) {
|
||||
this.content = this.preview.content;
|
||||
this.displayName = this.preview.name;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -103,14 +98,14 @@ export class FileViewComponent implements OnInit {
|
||||
this.preview.showResource(this.nodeId, versionId);
|
||||
}
|
||||
|
||||
onViewerClosed() {
|
||||
onViewerVisibilityChanged() {
|
||||
const primaryUrl = this.router.parseUrl(this.router.url).root.children[PRIMARY_OUTLET].toString();
|
||||
this.router.navigateByUrl(primaryUrl);
|
||||
}
|
||||
|
||||
onUploadError(event: FileUploadErrorEvent) {
|
||||
const errorMessage = event.error;
|
||||
this.notificationService.showError(errorMessage);
|
||||
this.snackBar.open(errorMessage, '', { duration: 4000 });
|
||||
}
|
||||
|
||||
toggleEmptyMetadata() {
|
||||
@@ -181,6 +176,14 @@ export class FileViewComponent implements OnInit {
|
||||
this.showTabWithIconAndLabel = !this.showTabWithIconAndLabel;
|
||||
}
|
||||
|
||||
toggleCustomName() {
|
||||
this.customName = !this.customName;
|
||||
|
||||
if (!this.customName) {
|
||||
this.displayName = null;
|
||||
}
|
||||
}
|
||||
|
||||
toggleFileUrl() {
|
||||
this.fileUrlSwitch = !this.fileUrlSwitch;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CoreModule, InfoDrawerModule } from '@alfresco/adf-core';
|
||||
import { ContentModule, ContentDirectiveModule, VersionManagerModule, ContentMetadataModule } from '@alfresco/adf-content-services';
|
||||
import { ContentDirectiveModule, VersionManagerModule, ContentMetadataModule } from '@alfresco/adf-content-services';
|
||||
import { FileViewComponent } from './file-view.component';
|
||||
|
||||
const routes: Routes = [
|
||||
@@ -34,9 +34,7 @@ const routes: Routes = [
|
||||
CommonModule,
|
||||
RouterModule.forChild(routes),
|
||||
CoreModule,
|
||||
ContentModule,
|
||||
InfoDrawerModule,
|
||||
ContentModule,
|
||||
ContentDirectiveModule,
|
||||
ContentMetadataModule,
|
||||
VersionManagerModule
|
||||
|
||||
@@ -15,48 +15,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
Component,
|
||||
Input,
|
||||
OnInit,
|
||||
OnChanges,
|
||||
OnDestroy,
|
||||
Optional,
|
||||
EventEmitter,
|
||||
ViewChild,
|
||||
SimpleChanges,
|
||||
Output,
|
||||
ViewEncapsulation
|
||||
} from '@angular/core';
|
||||
import { Component, Input, OnInit, OnChanges, OnDestroy, Optional, EventEmitter, ViewChild, SimpleChanges, Output, ViewEncapsulation } from '@angular/core';
|
||||
import { Location } from '@angular/common';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { MinimalNodeEntity, NodePaging, Pagination, MinimalNodeEntryEntity, SiteEntry, SearchEntry, NodeEntry } from '@alfresco/js-api';
|
||||
import {
|
||||
MinimalNodeEntity,
|
||||
NodePaging,
|
||||
Pagination,
|
||||
MinimalNodeEntryEntity,
|
||||
SiteEntry,
|
||||
SearchEntry,
|
||||
NodeEntry
|
||||
} from '@alfresco/js-api';
|
||||
import {
|
||||
AlfrescoApiService,
|
||||
AuthenticationService,
|
||||
AppConfigService,
|
||||
AppConfigValues,
|
||||
ContentService,
|
||||
FolderCreatedEvent,
|
||||
LogService,
|
||||
NotificationService,
|
||||
UploadService,
|
||||
DataRow,
|
||||
UserPreferencesService,
|
||||
PaginationComponent,
|
||||
FormValues,
|
||||
DisplayMode,
|
||||
ShowHeaderMode,
|
||||
InfinitePaginationComponent,
|
||||
AlfrescoApiService, AuthenticationService, AppConfigService, AppConfigValues, ContentService, FolderCreatedEvent, LogService, NotificationService,
|
||||
UploadService, DataRow, UserPreferencesService,
|
||||
PaginationComponent, FormValues, DisplayMode, ShowHeaderMode, InfinitePaginationComponent,
|
||||
SharedLinksApiService,
|
||||
FormRenderingService,
|
||||
FileUploadEvent,
|
||||
NodesApiService
|
||||
@@ -70,8 +38,7 @@ import {
|
||||
LibraryDialogComponent,
|
||||
ContentMetadataService,
|
||||
FilterSearch,
|
||||
DialogAspectListService,
|
||||
SharedLinksApiService
|
||||
AspectListService
|
||||
} from '@alfresco/adf-content-services';
|
||||
|
||||
import { SelectAppsDialogComponent, ProcessFormRenderingService } from '@alfresco/adf-process-services';
|
||||
@@ -91,7 +58,7 @@ const DEFAULT_FOLDER_TO_SHOW = '-my-';
|
||||
styleUrls: ['./files.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
providers: [
|
||||
{provide: FormRenderingService, useClass: ProcessFormRenderingService}
|
||||
{ provide: FormRenderingService, useClass: ProcessFormRenderingService }
|
||||
]
|
||||
})
|
||||
export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
@@ -113,9 +80,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
toolbarColor: ThemePalette;
|
||||
|
||||
selectionModes = [
|
||||
{value: 'none', viewValue: 'None'},
|
||||
{value: 'single', viewValue: 'Single'},
|
||||
{value: 'multiple', viewValue: 'Multiple'}
|
||||
{ value: 'none', viewValue: 'None' },
|
||||
{ value: 'single', viewValue: 'Single' },
|
||||
{ value: 'multiple', viewValue: 'Multiple' }
|
||||
];
|
||||
|
||||
// The identifier of a node. You can also use one of these well-known aliases: -my- | -shared- | -root-
|
||||
@@ -228,13 +195,13 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
@Output()
|
||||
deleteElementSuccess: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
@ViewChild('documentList', {static: true})
|
||||
@ViewChild('documentList', { static: true })
|
||||
documentList: DocumentListComponent;
|
||||
|
||||
@ViewChild('standardPagination')
|
||||
standardPagination: PaginationComponent;
|
||||
|
||||
@ViewChild(InfinitePaginationComponent, {static: true})
|
||||
@ViewChild(InfinitePaginationComponent, { static: true })
|
||||
infinitePaginationComponent: InfinitePaginationComponent;
|
||||
|
||||
permissionsStyle: PermissionStyleModel[] = [];
|
||||
@@ -266,7 +233,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
public alfrescoApiService: AlfrescoApiService,
|
||||
private contentMetadataService: ContentMetadataService,
|
||||
private sharedLinksApiService: SharedLinksApiService,
|
||||
private dialogAspectListService: DialogAspectListService,
|
||||
private aspectListService: AspectListService,
|
||||
private nodeService: NodesApiService) {
|
||||
}
|
||||
|
||||
@@ -314,31 +281,31 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
|
||||
this.uploadService.fileUploadComplete
|
||||
.pipe(
|
||||
debounceTime(300),
|
||||
scan((files, currentFile) => [...files, currentFile], []),
|
||||
takeUntil(this.onDestroy$)
|
||||
)
|
||||
.subscribe((value: any[]) => {
|
||||
let selectedNodes: NodeEntry[] = [];
|
||||
.pipe(
|
||||
debounceTime(300),
|
||||
scan((files, currentFile) => [...files, currentFile], []),
|
||||
takeUntil(this.onDestroy$)
|
||||
)
|
||||
.subscribe((value: any[]) => {
|
||||
let selectedNodes: NodeEntry[] = [];
|
||||
|
||||
if (this.preselectNodes) {
|
||||
if (value && value.length > 0) {
|
||||
if (this.selectionMode === 'single') {
|
||||
selectedNodes = [...[value[value.length - 1]].map((uploadedFile) => uploadedFile.data)];
|
||||
} else {
|
||||
selectedNodes = [...value.map((uploadedFile) => uploadedFile.data)];
|
||||
}
|
||||
this.selectedNodes = [...selectedNodes];
|
||||
if (this.preselectNodes) {
|
||||
if (value && value.length > 0 ) {
|
||||
if (this.selectionMode === 'single') {
|
||||
selectedNodes = [...[value[value.length - 1]].map((uploadedFile) => uploadedFile.data)];
|
||||
} else {
|
||||
selectedNodes = [...value.map((uploadedFile) => uploadedFile.data)];
|
||||
}
|
||||
this.selectedNodes = [...selectedNodes];
|
||||
}
|
||||
}
|
||||
|
||||
this.onFileUploadEvent(value[0]);
|
||||
});
|
||||
this.onFileUploadEvent(value[0]);
|
||||
});
|
||||
|
||||
this.uploadService.fileUploadDeleted
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(value => this.onFileUploadEvent(value));
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(value => this.onFileUploadEvent(value));
|
||||
|
||||
this.contentService.folderCreated
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
@@ -397,7 +364,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
getCurrentDocumentListNode(): MinimalNodeEntity[] {
|
||||
if (this.documentList.folderNode) {
|
||||
return [{entry: this.documentList.folderNode}];
|
||||
return [{ entry: this.documentList.folderNode }];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
@@ -497,7 +464,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
if (this.contentService.hasAllowableOperations(contentEntry, 'update')) {
|
||||
this.dialog.open(VersionManagerDialogAdapterComponent, {
|
||||
data: {contentEntry, showComments, allowDownload},
|
||||
data: { contentEntry, showComments, allowDownload },
|
||||
panelClass: 'adf-version-manager-dialog',
|
||||
width: '630px'
|
||||
});
|
||||
@@ -507,8 +474,8 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
|
||||
onAspectUpdate(event: any) {
|
||||
this.dialogAspectListService.openAspectListDialog(event.value.entry.id).subscribe((aspectList) => {
|
||||
this.nodeService.updateNode(event.value.entry.id, {aspectNames: [...aspectList]}).subscribe(() => {
|
||||
this.aspectListService.openAspectListDialog(event.value.entry.id).subscribe((aspectList) => {
|
||||
this.nodeService.updateNode(event.value.entry.id, {aspectNames : [...aspectList]}).subscribe(() => {
|
||||
this.openSnackMessageInfo('Node Aspects Updated');
|
||||
});
|
||||
});
|
||||
@@ -720,9 +687,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
onFilterSelected(activeFilters: FilterSearch[]) {
|
||||
if (activeFilters.length) {
|
||||
this.navigateToFilter(activeFilters);
|
||||
this.navigateToFilter(activeFilters);
|
||||
} else {
|
||||
this.clearFilterNavigation();
|
||||
this.clearFilterNavigation();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -738,7 +705,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
objectFromMap[filter.key] = paramValue;
|
||||
});
|
||||
|
||||
this.router.navigate([], {relativeTo: this.route, queryParams: objectFromMap});
|
||||
this.router.navigate([], { relativeTo: this.route, queryParams: objectFromMap });
|
||||
}
|
||||
|
||||
clearFilterNavigation() {
|
||||
|
||||
@@ -18,8 +18,9 @@
|
||||
import { Component, Inject, ViewEncapsulation } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { MinimalNodeEntryEntity } from '@alfresco/js-api';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { FileUploadErrorEvent, NotificationService } from '@alfresco/adf-core';
|
||||
import { FileUploadErrorEvent } from '@alfresco/adf-core';
|
||||
|
||||
@Component({
|
||||
templateUrl: './version-manager-dialog-adapter.component.html',
|
||||
@@ -36,8 +37,8 @@ export class VersionManagerDialogAdapterComponent {
|
||||
showVersionComparison = false;
|
||||
|
||||
constructor(private previewService: PreviewService,
|
||||
private notificationService: NotificationService,
|
||||
@Inject(MAT_DIALOG_DATA) data: any,
|
||||
private snackBar: MatSnackBar,
|
||||
private containingDialog?: MatDialogRef<VersionManagerDialogAdapterComponent>) {
|
||||
this.contentEntry = data.contentEntry;
|
||||
this.newFileVersion = data.hasOwnProperty('newFileVersion') ? data.newFileVersion : this.newFileVersion;
|
||||
@@ -47,7 +48,7 @@ export class VersionManagerDialogAdapterComponent {
|
||||
|
||||
uploadError(event: FileUploadErrorEvent) {
|
||||
const errorMessage = event.error;
|
||||
this.notificationService.showError(errorMessage);
|
||||
this.snackBar.open(errorMessage, '', { duration: 4000 });
|
||||
}
|
||||
|
||||
close() {
|
||||
|
||||
+15
-8
@@ -15,19 +15,26 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { Observable, of, Subject } from 'rxjs';
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
import {
|
||||
TaskFormService
|
||||
} from '@alfresco/adf-process-services';
|
||||
import { AlfrescoApiService, LogService } from '@alfresco/adf-core';
|
||||
AlfrescoApiService,
|
||||
EcmModelService,
|
||||
LogService,
|
||||
FormService,
|
||||
FormOutcomeEvent
|
||||
} from '@alfresco/adf-core';
|
||||
|
||||
@Injectable()
|
||||
export class FakeTaskFormService extends TaskFormService {
|
||||
export class FakeFormService extends FormService {
|
||||
executeOutcome = new Subject<FormOutcomeEvent>();
|
||||
|
||||
constructor(apiService: AlfrescoApiService, logService: LogService) {
|
||||
super(apiService, logService);
|
||||
constructor(
|
||||
ecmModelService: EcmModelService,
|
||||
apiService: AlfrescoApiService,
|
||||
protected logService: LogService
|
||||
) {
|
||||
super(ecmModelService, apiService, logService);
|
||||
}
|
||||
|
||||
public getRestFieldValues(
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Component, ViewChild, OnDestroy, OnInit } from '@angular/core';
|
||||
import { FormModel, FormService, LogService, FormOutcomeEvent } from '@alfresco/adf-core';
|
||||
import { FormComponent, EditorService } from '@alfresco/adf-process-services';
|
||||
import { FormComponent } from '@alfresco/adf-process-services';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
|
||||
@@ -42,7 +42,7 @@ export class FormListComponent implements OnInit, OnDestroy {
|
||||
showValidationIcon = false;
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
|
||||
constructor(private formService: FormService, private editorService: EditorService, private logService: LogService) {
|
||||
constructor(private formService: FormService, private logService: LogService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -63,7 +63,7 @@ export class FormListComponent implements OnInit, OnDestroy {
|
||||
onRowDblClick(event: CustomEvent<any>) {
|
||||
const rowForm = event.detail.value.obj;
|
||||
|
||||
this.editorService.getFormDefinitionById(rowForm.id).subscribe((formModel) => {
|
||||
this.formService.getFormDefinitionById(rowForm.id).subscribe((formModel) => {
|
||||
const form = this.formService.parseForm(formModel.formDefinition);
|
||||
this.form = form;
|
||||
});
|
||||
|
||||
@@ -22,11 +22,8 @@ import {
|
||||
FormOutcomeEvent,
|
||||
CoreAutomationService
|
||||
} from '@alfresco/adf-core';
|
||||
import {
|
||||
TaskFormService
|
||||
} from '@alfresco/adf-process-services';
|
||||
import { InMemoryFormService } from '../../services/in-memory-form.service';
|
||||
import { FakeTaskFormService } from './fake-tak-form.service';
|
||||
import { FakeFormService } from './fake-form.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
|
||||
@@ -34,7 +31,7 @@ import { takeUntil } from 'rxjs/operators';
|
||||
selector: 'app-form-loading',
|
||||
templateUrl: './form-loading.component.html',
|
||||
styleUrls: ['./form-loading.component.scss'],
|
||||
providers: [{ provide: FakeTaskFormService, useClass: TaskFormService }]
|
||||
providers: [{ provide: FormService, useClass: FakeFormService }]
|
||||
})
|
||||
export class FormLoadingComponent implements OnInit, OnDestroy {
|
||||
form: FormModel;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
import { Component, OnInit, OnDestroy } from '@angular/core';
|
||||
import { NotificationService } from '@alfresco/adf-core';
|
||||
import { MatSnackBarConfig } from '@angular/material/snack-bar';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, UntypedFormControl } from '@angular/forms';
|
||||
import { FormBuilder, FormGroup, FormControl } from '@angular/forms';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
|
||||
@@ -33,7 +33,7 @@ export class NotificationsComponent implements OnInit, OnDestroy {
|
||||
actionOutput = '';
|
||||
snackBarConfigObject = '';
|
||||
|
||||
configForm: UntypedFormGroup;
|
||||
configForm: FormGroup;
|
||||
|
||||
snackBarConfig: MatSnackBarConfig = new MatSnackBarConfig();
|
||||
|
||||
@@ -60,16 +60,16 @@ export class NotificationsComponent implements OnInit, OnDestroy {
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
|
||||
constructor(private notificationService: NotificationService,
|
||||
private formBuilder: UntypedFormBuilder) {
|
||||
private formBuilder: FormBuilder) {
|
||||
this.snackBarConfig.duration = this.defaultDuration;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.configForm = this.formBuilder.group({
|
||||
direction: new UntypedFormControl(''),
|
||||
horizontalPosition: new UntypedFormControl(''),
|
||||
verticalPosition: new UntypedFormControl(''),
|
||||
duration: new UntypedFormControl('')
|
||||
direction: new FormControl(''),
|
||||
horizontalPosition: new FormControl(''),
|
||||
verticalPosition: new FormControl(''),
|
||||
duration: new FormControl('')
|
||||
});
|
||||
|
||||
this.configForm.valueChanges
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
(preview)="showPreview($event)">
|
||||
</adf-document-list>
|
||||
|
||||
<adf-alfresco-viewer
|
||||
<adf-viewer
|
||||
[(showViewer)]="showViewer"
|
||||
[overlayMode]="isOverlay"
|
||||
[nodeId]="nodeId">
|
||||
</adf-alfresco-viewer>
|
||||
</adf-viewer>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { Component, OnInit, OnDestroy } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl, AbstractControl } from '@angular/forms';
|
||||
import { FormGroup, FormBuilder, Validators, FormControl, AbstractControl } from '@angular/forms';
|
||||
import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import { Subject } from 'rxjs';
|
||||
@@ -30,7 +30,7 @@ const DEFAULT_SIZE = 20;
|
||||
|
||||
export class ProcessListDemoComponent implements OnInit, OnDestroy {
|
||||
minValue = 0;
|
||||
processListForm: UntypedFormGroup;
|
||||
processListForm: FormGroup;
|
||||
appId: number;
|
||||
processDefId: string;
|
||||
processInsId: string;
|
||||
@@ -55,7 +55,7 @@ export class ProcessListDemoComponent implements OnInit, OnDestroy {
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
|
||||
constructor(private route: ActivatedRoute,
|
||||
private formBuilder: UntypedFormBuilder) {
|
||||
private formBuilder: FormBuilder) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -79,13 +79,13 @@ export class ProcessListDemoComponent implements OnInit, OnDestroy {
|
||||
|
||||
buildForm() {
|
||||
this.processListForm = this.formBuilder.group({
|
||||
processAppId: new UntypedFormControl(this.appId, [Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)]),
|
||||
processDefinitionId: new UntypedFormControl(''),
|
||||
processInstanceId: new UntypedFormControl(''),
|
||||
processState: new UntypedFormControl(''),
|
||||
processSort: new UntypedFormControl(''),
|
||||
processSize: new UntypedFormControl('', [Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)]),
|
||||
processPage: new UntypedFormControl('', [Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)])
|
||||
processAppId: new FormControl(this.appId, [Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)]),
|
||||
processDefinitionId: new FormControl(''),
|
||||
processInstanceId: new FormControl(''),
|
||||
processState: new FormControl(''),
|
||||
processSort: new FormControl(''),
|
||||
processSize: new FormControl('', [Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)]),
|
||||
processPage: new FormControl('', [Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)])
|
||||
});
|
||||
|
||||
this.processListForm.valueChanges
|
||||
@@ -149,31 +149,31 @@ export class ProcessListDemoComponent implements OnInit, OnDestroy {
|
||||
return this.processListForm.get(key) as T;
|
||||
}
|
||||
|
||||
get processAppId(): UntypedFormControl {
|
||||
return this.getControl<UntypedFormControl>('processAppId');
|
||||
get processAppId(): FormControl {
|
||||
return this.getControl<FormControl>('processAppId');
|
||||
}
|
||||
|
||||
get processDefinitionId(): UntypedFormControl {
|
||||
return this.getControl<UntypedFormControl>('processDefinitionId');
|
||||
get processDefinitionId(): FormControl {
|
||||
return this.getControl<FormControl>('processDefinitionId');
|
||||
}
|
||||
|
||||
get processInstanceId(): UntypedFormControl {
|
||||
return this.getControl<UntypedFormControl>('processInstanceId');
|
||||
get processInstanceId(): FormControl {
|
||||
return this.getControl<FormControl>('processInstanceId');
|
||||
}
|
||||
|
||||
get processState(): UntypedFormControl {
|
||||
return this.getControl<UntypedFormControl>('processState');
|
||||
get processState(): FormControl {
|
||||
return this.getControl<FormControl>('processState');
|
||||
}
|
||||
|
||||
get processSort(): UntypedFormControl {
|
||||
return this.getControl<UntypedFormControl>('processSort');
|
||||
get processSort(): FormControl {
|
||||
return this.getControl<FormControl>('processSort');
|
||||
}
|
||||
|
||||
get processSize(): UntypedFormControl {
|
||||
return this.getControl<UntypedFormControl>('processSize');
|
||||
get processSize(): FormControl {
|
||||
return this.getControl<FormControl>('processSize');
|
||||
}
|
||||
|
||||
get processPage(): UntypedFormControl {
|
||||
return this.getControl<UntypedFormControl>('processPage');
|
||||
get processPage(): FormControl {
|
||||
return this.getControl<FormControl>('processPage');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,9 +22,10 @@ import { UploadService, AlfrescoApiService, AppConfigService, DiscoveryApiServic
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { AlfrescoApiClientFactory } from '@alfresco/adf-core/alfresco-api';
|
||||
|
||||
export function processUploadServiceFactory(api: AlfrescoApiService, config: AppConfigService, discoveryApiService: DiscoveryApiService) {
|
||||
return new ProcessUploadService(api, config, discoveryApiService);
|
||||
export function processUploadServiceFactory(api: AlfrescoApiService, config: AppConfigService, discoveryApiService: DiscoveryApiService, alfrescoApiClientFactory: AlfrescoApiClientFactory) {
|
||||
return new ProcessUploadService(api, config, discoveryApiService, alfrescoApiClientFactory);
|
||||
}
|
||||
|
||||
@Component({
|
||||
@@ -35,7 +36,7 @@ export function processUploadServiceFactory(api: AlfrescoApiService, config: App
|
||||
{
|
||||
provide: UploadService,
|
||||
useFactory: (processUploadServiceFactory),
|
||||
deps: [AlfrescoApiService, AppConfigService, DiscoveryApiService]
|
||||
deps: [AlfrescoApiService, AppConfigService, DiscoveryApiService, AlfrescoApiClientFactory]
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
@@ -21,12 +21,10 @@
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<mat-icon>assignment</mat-icon>
|
||||
<div id="tasks-accordion-title" class="app-accordion-title-padding">Tasks</div>
|
||||
<div class="app-accordion-title-padding">Tasks</div>
|
||||
</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
<adf-task-filters [filterParam]="filterSelected"
|
||||
role="group"
|
||||
aria-labelledby="tasks-accordion-title"
|
||||
[appId]="appId"
|
||||
[showIcon]="showTaskFilterIcon"
|
||||
(filterClicked)="onTaskFilterClick($event)"
|
||||
@@ -140,13 +138,11 @@
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<div id="process-accordion-title" class="app-accordion-title-padding">Processes</div>
|
||||
<div class="app-accordion-title-padding">Processes</div>
|
||||
</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
<adf-process-instance-filters
|
||||
#activitiProcessFilter
|
||||
role="group"
|
||||
aria-labelledby="process-accordion-title"
|
||||
[appId]="appId"
|
||||
[filterParam]="filterSelected"
|
||||
[showIcon]="showProcessFilterIcon"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user