Compare commits

..
7633 changed files with 338352 additions and 522927 deletions
+26
View File
@@ -0,0 +1,26 @@
.git
.github
.vscode
assets
coverage
docs
e2e
e2e-output
node_modules
scripts
src
lib
integration
tools
demo-shell/src/
demo-shell/resources/
/angular.json
/desktop.ini
/cspell.json
/.travis.yml
/CODE_OF_CONDUCT.md
/.stylelintignore
/ALFRESCOCORS.md
/CONTRIBUTING.md
/appveyor.yml
/BROWSER-SUPPORT.md
-8
View File
@@ -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
-1
View File
@@ -1 +0,0 @@
.github/workflows/*.lock.yml linguist-generated=true merge=ours
-18
View File
@@ -1,18 +0,0 @@
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# these users will be requested for
# review when someone opens a pull request.
* @eromano
# Order is important; the last matching pattern takes the most
# precedence. When someone opens a pull request that only
# modifies JS files, only @js-owner and not the global
# owner(s) will be requested for a review.
/e2e/ @eromano
# The `docs/*` pattern will match files like
# `docs/getting-started.md` but not further nested files like
# `docs/build-app/troubleshooting.md`.
/docs/ @eromano
-89
View File
@@ -1,89 +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: base vars
shell: bash
run: |
if [ -n "${GITHUB_BASE_REF:-}" ]; then
BASE_HASH=$(git merge-base "origin/${GITHUB_BASE_REF}" HEAD 2>/dev/null || git rev-parse HEAD)
else
BASE_HASH=$(git rev-parse HEAD)
fi
{
echo "GIT_HASH=$(git rev-parse HEAD)";
echo "BASE_HASH=${BASE_HASH}";
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
env:
EVENT_NAME: ${{ github.event_name }}
PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: |
# Get commit message safely from git to avoid script injection
# For PRs, use the PR head SHA; for other events use HEAD
if [ "$EVENT_NAME" == "pull_request" ] && [ -n "$PR_HEAD_SHA" ]; then
COMMIT_MSG=$(git log -1 --format=%B "$PR_HEAD_SHA" 2>/dev/null || echo "")
else
COMMIT_MSG=$(git log -1 --format=%B 2>/dev/null || echo "")
fi
if echo "$COMMIT_MSG" | grep -qF "[affected:*]"; then
echo "Setting up CI to run with commit flag [affected:*] flag."
echo "BREAK_ACTION=true" >> $GITHUB_ENV
fi
- 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 || github.event_name == 'push') }}
shell: bash
env:
REF_NAME: ${{ github.ref_name }}
run: |
if [[ "$REF_NAME" =~ ^master(-patch.*)?$ ]]; then
# into master(-patch*)
echo "Setting up CI flags for Push on master patch"
elif [[ "$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))
# we publish always all the libs until we don't handle partial release
echo "NX_CALCULATION_FLAGS=--all" >> $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
-23
View File
@@ -1,23 +0,0 @@
name: Git tag creation
description: 'Creates a git tag in the specified repository for a given commit.'
inputs:
tagName:
description: 'The github tag to be created'
required: true
releaseNote:
description: 'The github release note to be created'
required: false
runs:
using: 'composite'
steps:
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
name: Create git tag
env:
TAG_NAME: ${{ inputs.tagName }}
RELEASE_NOTE: ${{ inputs.releaseNote }}
with:
script: |
const createGitTag = require('./.github/actions/create-git-tag/create-git-tag.js');
await createGitTag({ core, github, context, tagName: process.env.TAG_NAME });
@@ -1,42 +0,0 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
module.exports = async ({ github, context, core, tagName }) => {
const tagSHA = context.payload?.after ?? context.sha;
core.notice(`Creating tag with title: ${tagName}, and SHA: ${tagSHA}`);
const createdTag = await github.rest.git.createTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag: tagName,
message: 'Release note',
object: tagSHA,
type: 'commit'
});
const createdRef = await github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: 'refs/tags/' + tagName,
sha: createdTag.data.sha
});
if (createdRef.status === 201) {
core.notice(`Tag ${tagName} was created successfully`);
}
};
@@ -1,43 +0,0 @@
name: "Download build artifacts"
description: "Download build artifacts"
runs:
using: "composite"
steps:
- name: Restore dist from cache
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: dist
key: dist-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
dist-${{ github.run_id }}-
fail-on-cache-miss: true
- name: Restore nxcache from cache
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: nxcache
key: nxcache-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
nxcache-${{ github.run_id }}-
fail-on-cache-miss: true
- name: Restore node_modules from cache
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: node_modules
key: node-modules-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
node-modules-${{ github.run_id }}-
fail-on-cache-miss: true
- 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
-32
View File
@@ -1,32 +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
env:
DRY_RUN_FLAG: ${{ inputs.dry-run-flag }}
run: |
if [[ "$DRY_RUN_FLAG" == 'true' ]]; then
echo "dryrun=--dry-run" >> $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,31 +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"
id: set-npm-tag
uses: ./.github/actions/set-npm-tag
with:
branch_name: ${{ inputs.branch_name }}
- name: check npm bundle
shell: bash
id: sha_out
env:
TAG_NPM: ${{ steps.set-npm-tag.outputs.npm-tag }}
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}
-17
View File
@@ -1,17 +0,0 @@
name: 'Save Nx Cache'
description: 'Save Nx cache and dist outputs only when the job succeeds'
inputs:
cache-suffix:
description: 'Must match the cache-suffix used in the setup action'
required: true
runs:
using: "composite"
steps:
- name: Save nx cache
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
nxcache
.nx
dist
key: ${{ runner.os }}-nxcache-${{ inputs.cache-suffix }}-${{ hashFiles('nx.json') }}-${{ github.sha }}
-45
View File
@@ -1,45 +0,0 @@
name: "set npm tag"
description: "se NPM tag"
inputs:
branch_name:
description: "override GITHUB_REF_NAME"
required: false
default: ${{ github.ref_name }}
outputs:
npm-tag:
description: "NPM tag"
value: ${{ steps.set-npm-tag.outputs.npm-tag }}
runs:
using: "composite"
steps:
- name: set TAG_NPM
id: set-npm-tag
shell: bash
env:
BRANCH_NAME: ${{ inputs.branch_name }}
run: |
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
TAG_NPM="branch"
else
TAG_NPM="alpha"
VERSION_IN_PACKAGE_JSON=$(node -p "require('./package.json')".version)
echo "version in package.json=${VERSION_IN_PACKAGE_JSON}"
if [[ $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 [[ $BRANCH_NAME =~ ^develop(-patch.*)?$ ]]; then
TAG_NPM=alpha
fi
fi
echo "npm-tag=$TAG_NPM" >> $GITHUB_OUTPUT
echo "Computed tag: $TAG_NPM"
-64
View File
@@ -1,64 +0,0 @@
name: 'Setup'
description: 'Initialize cache, env var load'
inputs:
cache-suffix:
description: 'Suffix to make Nx cache key unique per job (e.g. matrix project name)'
required: false
default: 'default'
full-setup:
description: 'Run git-latest-tag, npm-tag, and before-install (requires fetch-depth: 0). Set to false for matrix jobs that only need node/cache.'
required: false
type: boolean
default: 'true'
act:
description: 'enable act debug'
required: false
type: boolean
default: 'false'
outputs:
npm-tag:
description: 'NPM tag'
value: ${{ steps.set-npm-tag.outputs.npm-tag }}
runs:
using: "composite"
steps:
- name: Set consistent machine ID for Nx cache
shell: bash
run: echo "nx-github-actions" | sudo tee /etc/machine-id > /dev/null
- name: Setup pnpm
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- name: Setup Node
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: get latest tag sha
if: ${{ inputs.full-setup == 'true' }}
id: tag-sha
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@98bcfbe06aafffdc0e9a790f352602316f82303b # v18.23.0
- name: load "NPM TAG"
if: ${{ inputs.full-setup == 'true' }}
id: set-npm-tag
uses: ./.github/actions/set-npm-tag
- name: Install dependencies
shell: bash
run: pnpm install --frozen-lockfile
- name: Security audit
shell: bash
run: pnpm audit --audit-level=critical
- name: Restore nx cache
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
nxcache
.nx
dist
key: ${{ runner.os }}-nxcache-${{ inputs.cache-suffix }}-${{ hashFiles('nx.json') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-nxcache-${{ inputs.cache-suffix }}-${{ hashFiles('nx.json') }}-
${{ runner.os }}-nxcache-${{ inputs.cache-suffix }}-
- name: before install script
if: ${{ inputs.full-setup == 'true' }}
uses: ./.github/actions/before-install
with:
act: ${{ inputs.act }}
@@ -1,25 +0,0 @@
name: "Upload build artifacts"
description: "Upload build artifacts"
runs:
using: "composite"
steps:
- name: Save dist to cache
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: dist
key: dist-${{ github.run_id }}-${{ github.run_attempt }}
- name: Save nxcache to cache
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: nxcache
key: nxcache-${{ github.run_id }}-${{ github.run_attempt }}
- name: Save node_modules to cache
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: node_modules
key: node-modules-${{ github.run_id }}-${{ github.run_attempt }}
-41
View File
@@ -1,41 +0,0 @@
{
"entries": {
"github/gh-aw-actions/setup@v0.85.4": {
"repo": "github/gh-aw-actions/setup",
"version": "v0.85.4",
"sha": "2709137ea6c5b0e19aa621454dc643ea8dc526b1"
}
},
"containers": {
"ghcr.io/github/gh-aw-firewall/agent:0.27.44": {
"image": "ghcr.io/github/gh-aw-firewall/agent:0.27.44",
"digest": "sha256:0d727725c737b58c7bdf51f640cffb928385ec46517e0917c7f1a02f1bada8b4",
"pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.44@sha256:0d727725c737b58c7bdf51f640cffb928385ec46517e0917c7f1a02f1bada8b4"
},
"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.44": {
"image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.44",
"digest": "sha256:b50fbadba138f6e9aba94aca09711335c489bb3b15861220cb66f6092e042dc7",
"pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.44@sha256:b50fbadba138f6e9aba94aca09711335c489bb3b15861220cb66f6092e042dc7"
},
"ghcr.io/github/gh-aw-firewall/squid:0.27.44": {
"image": "ghcr.io/github/gh-aw-firewall/squid:0.27.44",
"digest": "sha256:83e48bbe12c634be8c228a576832fe45f66c529ac3659db92bddbcf2eeb6d627",
"pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.44@sha256:83e48bbe12c634be8c228a576832fe45f66c529ac3659db92bddbcf2eeb6d627"
},
"ghcr.io/github/gh-aw-mcpg:v0.4.8": {
"image": "ghcr.io/github/gh-aw-mcpg:v0.4.8",
"digest": "sha256:38bbea36cdb46a3c9d04d1db05e672966f5239b431a2022eb35881688e5721d8",
"pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.4.8@sha256:38bbea36cdb46a3c9d04d1db05e672966f5239b431a2022eb35881688e5721d8"
},
"ghcr.io/github/gh-aw-node": {
"image": "ghcr.io/github/gh-aw-node",
"digest": "sha256:0d9f1fb5fd6610c0ac1f5194a38e45a8a1e81f8a390d5142d8e4e6f26a4b3196",
"pinned_image": "ghcr.io/github/gh-aw-node@sha256:0d9f1fb5fd6610c0ac1f5194a38e45a8a1e81f8a390d5142d8e4e6f26a4b3196"
},
"ghcr.io/github/github-mcp-server:v1.8.0": {
"image": "ghcr.io/github/github-mcp-server:v1.8.0",
"digest": "sha256:d5a18c04b92714c309eb46a2305087e91a4dbd80420f6e462656699f95093520",
"pinned_image": "ghcr.io/github/github-mcp-server:v1.8.0@sha256:d5a18c04b92714c309eb46a2305087e91a4dbd80420f6e462656699f95093520"
}
}
}
-5
View File
@@ -1,5 +0,0 @@
name: "CodeQL config"
paths-ignore:
- 'e2e/resources/**'
- 'docs/**'
-78
View File
@@ -1,78 +0,0 @@
# General Code Review Instructions
## Review Priorities
When performing a code review, prioritize issues in the following order:
🔴 CRITICAL (Block merge)
* Security: Vulnerabilities, exposed secrets, authentication/authorization issues, injection, XSS
* Memory/resource leaks
* Crashes or undefined behavior
* Correctness: Logic errors, data corruption risks, race conditions, missing error handling
* Data Loss: Risk of data loss or corruption
🟡 IMPORTANT (Requires discussion)
* Code Quality: Severe violations of SOLID principles, excessive duplication
* Test Coverage: Missing tests for critical paths or new functionality
* Performance: Obvious performance bottlenecks (N+1 queries, memory leaks)
* Architecture: Significant deviations from established patterns
🟢 SUGGESTION (Non-blocking improvements)
* Readability: Poor naming, complex logic that could be simplified
* Optimization: Performance improvements without functional impact
* Best Practices: Minor deviations from conventions
* Documentation: Missing or incomplete comments/documentation
## General Review Principles
When performing a code review, follow these principles:
* Be specific: Reference exact lines, files, and provide concrete examples
* Be pragmatic: Not every suggestion needs immediate implementation
* Provide context: Explain WHY something is an issue and the potential impact
* Suggest solutions: Show corrected code when applicable, not just what's wrong
* Be constructive: Focus on improving the code, not criticizing the author
* Recognize good practices: Acknowledge well-written code and smart solutions
* Group related comments: Avoid multiple comments about the same topic
* Ask clarifying questions when code intent is unclear
## Code Quality Standards
When performing a code review, check for:
### Clean Code
* Descriptive and meaningful names for variables, functions, and classes
* Single Responsibility Principle: each function/class does one thing well
* DRY (Don't Repeat Yourself): no code duplication
* Functions should be small and focused (ideally < 20-30 lines)
* Avoid deeply nested code (max 3-4 levels), unit tests should be an exception from this rule
* Avoid magic numbers and strings (use constants)
* Code should be self-documenting; comments only when necessary
* Code follows consistent style and conventions
* No commented-out code or TODO without tickets
## Error Handling
* Proper error handling at appropriate levels
* Meaningful error messages
* No silent failures or ignored exceptions
* Fail fast: validate inputs early
* Use appropriate error types/exceptions
## Testing Standards
When performing a code review, verify test quality:
* Coverage: Critical paths and new functionality must have tests
* Test Names: Descriptive names that explain what is being tested
* Independence: Tests should not depend on each other or external state
* Assertions: Use specific assertions, avoid generics
* Edge Cases: Test boundary conditions, null values, empty inputs
* Mock Appropriately: Mock external dependencies, not domain logic
* New code has appropriate test coverage
* No tests that always pass or are commented out
## Architecture and Design
When performing a code review, verify architectural principles:
* Separation of Concerns: Clear boundaries between layers/modules
* Dependency Direction: High-level modules don't depend on low-level details
* Interface Segregation: Prefer small, focused interfaces
* Loose Coupling: Components should be independently testable
* High Cohesion: Related functionality grouped together
* Consistent Patterns: Follow established patterns in the codebase
-60
View File
@@ -1,60 +0,0 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
time: "07:00"
cooldown:
default-days: 3
open-pull-requests-limit: 5
target-branch: develop
groups:
angular:
patterns:
- "@angular/*"
angular-devkit:
patterns:
- "@angular-devkit/*"
ngrx:
patterns:
- "@ngrx/*"
nrwl:
patterns:
- "@nrwl/*"
typescript-eslint:
patterns:
- "@typescript-eslint/*"
ignore:
- dependency-name: "pdfjs-dist"
- dependency-name: "@types/*"
- dependency-name: "typescript"
- package-ecosystem: "github-actions"
directories:
- "/"
- "/.github/actions/before-install"
- "/.github/actions/create-git-tag"
- "/.github/actions/download-node-modules-and-artifacts"
- "/.github/actions/enable-dryrun"
- "/.github/actions/get-latest-tag-sha"
- "/.github/actions/npm-check-bundle"
- "/.github/actions/save-nx-cache"
- "/.github/actions/set-npm-tag"
- "/.github/actions/setup"
- "/.github/actions/upload-node-modules-and-artifacts"
schedule:
interval: "weekly"
cooldown:
default-days: 3
groups:
github-actions:
patterns:
- "*"
update-types:
- "minor"
- "patch"
ignore:
# Managed by gh aw add. Version-locked to the gh-aw compiler; do not bump.
- dependency-name: "github/gh-aw-actions"
-23
View File
@@ -1,23 +0,0 @@
---
applyTo: "**/*.html"
---
# HTML Development Standards
* Simple Templates: Keep templates as simple as possible, avoiding complex logic directly in the template. Delegate complex logic to the component's TypeScript code.
* Native Control Flow: Use the new built-in control flow syntax (`@if`, `@for`, `@switch`) instead of the older structural directives (`*ngIf`, `*ngFor`, `*ngSwitch`).
* NgOptimizedImage: Use `NgOptimizedImage` for all static images to automatically optimize image loading and performance.
* Async Pipe: Use the `async` pipe to handle observables in templates. This automatically subscribes and unsubscribes, preventing memory leaks.
* Prefer pipes over functions in templates for performance reasons, as pipes are only re-evaluated when their inputs change.
## Accessibility Standards
* Add `alt` text to all images
* Label form inputs with `<mat-label>` or `aria-label`
* Ensure interactive elements have accessible names
* Add `role`, `aria-labelledby`, and `aria-describedby` when semantic HTML isn't sufficient
* All interactive elements must be keyboard accessible
* Ensure 4.5:1 contrast ratio for normal text, 3:1 for large text
* Use `aria-live="polite"` for status updates
* Watch out for misused/non-semantic elements (e.g., <div> instead of <section>)
* Avoid broken heading hierarchy (e.g., h1 → h3 without h2)
-19
View File
@@ -1,19 +0,0 @@
---
applyTo: "**/*.scss"
---
# SCSS Development Standards
* Avoid using `!important` to override styles unless absolutely necessary; instead, increase specificity or refactor the code structure.
* Avoid using Angular Material internal class; prefer using Angular Material Design 3 theming and tokens.
* Use variables for colors, fonts, and other design tokens to maintain consistency across the project.
* Use mixins for reusable styles and to avoid code duplication.
* Ensure that styles are responsive and work well across different screen sizes and devices.
* Use CSS Grid and Flexbox for layout to create flexible and responsive designs.
* Avoid using overly specific selectors (e.g., #header .nav ul li a)
* Be DRY (avoid repeated styles for similar elements)
* Check for inconsistent naming (e.g., mixing BEM and arbitrary classes)
* Make sure selected colors have right contrast (satisfy WCAG AA)
* All interactive elements should have focus state
* Avoid disabled outline without alternative focus indicators
-96
View File
@@ -1,96 +0,0 @@
---
applyTo: "**/*.ts"
---
# TypeScript Development Standards
## Type Safety
* Strict Type Checking: Always enable and adhere to strict type checking. This helps catch errors early and improves code quality.
* Prefer Type Inference: Allow TypeScript to infer types when they are obvious from the context. This reduces verbosity while maintaining type safety.
* Avoid `any`: Do not use the `any` type unless absolutely necessary as it bypasses type checking. Prefer `unknown` when a type is uncertain and you need to handle it safely.
* Use strict null checks (no `null` or `undefined` without explicit handling)
* Use type guards and union types for robust type checking
* Check for missing return types in function signatures
* Avoid implicit `any` (untyped function parameters)
## Naming Conventions
* Use PascalCase for types, interfaces, and classes
* Use camelCase for variables, functions, and methods
* Use UPPER_CASE for constants
## Modern TypeScript Patterns
* Use optional chaining (`?.`) and nullish coalescing (`??`)
* Prefer `const` over `let`; never use `var`
* Use arrow functions for callbacks and short functions
* Avoid enums - they generate additional code at compile time, which increases the size of the final file. This can have a negative impact on the loading speed and performance of the app. Prefer union types or literal types instead.
* Avoid unhandled promise rejections (missing .catch() or try/catch)
* Use proper async/await pattern
* Avoid inefficient array operations (e.g., nested .map())
* Use destructuring for object/array access
* Prefer arrow functions
## Angular Best Practices
* Standalone Components: Always use standalone components, directives, and pipes. Avoid using `NgModules` for new features or refactoring existing ones.
* Implicit Standalone: When creating standalone components, you do not need to explicitly set `standalone: true` inside the `@Component`, `@Directive` and `@Pipe` decorators, as it is implied by default.
* Lazy Loading: Implement lazy loading for feature routes to improve initial load times of your application.
* Use Angular Material or other modern UI libraries for consistent styling and UI components.
* Implement proper error handling with RxJS operators (e.g., catchError)
* Verify if newly added functionalities can utilize Angular Signals for fine-grained reactivity, reducing change detection overhead.
* Utilize AOT (Ahead-of-Time) compilation and tree-shaking for efficient, smaller bundle sizes.
* Prefer class binding over `ngClass` and `ngStyle` for better performance.
* Use protected on class members that are only used by a component's template, as it allows for better encapsulation while still being accessible to the template.
* Use readonly for properties that shouldn't change.
* Use `takeUntilDestroyed` & `destroyRef`: The `takeUntilDestroyed` and `destroyRef` have been introduced with Angular 16 and help to reduce boilerplate code related to unsubscribing on the `OnDestroy` hook.
* Organize the order of properties and methods in Angular components for readability and maintainability. Recommended order is:
1. **Injected services** Whether they are public or private, it's clear they are dependencies of the class.
2. **Inputs**: Properties that receive data from outside.
3. **Outputs**: Events that the component can trigger.
4. **ViewChild/ContentChild**: References to HTML elements.
5. **Public static properties**: Constants and static members that are accessible to everyone.
6. **Readonly properties**: Immutable public properties.
7. **Public properties**: Data and functions available to everyone.
8. **Private static properties**: Constants and static members that are only accessible within the class.
9. **Private readonly properties**: Immutable private properties.
10. **Private properties**: Data and functions used only inside the component.
11. **Setters and Getters**: Methods for accessing and modifying properties.
12. **Constructor**: Used to initialize the component.
13. **Lifecycle Hooks**: Methods that run at specific times in the components lifecycle.
14. **Public methods**: Functions available to everyone.
15. **Private methods**: Functions used only inside the component.
## Components
* Single Responsibility: Keep components small, focused, and responsible for a single piece of functionality.
* Reactive Forms: Prefer Reactive forms over Template-driven forms for complex forms, validation, and dynamic controls due to their explicit, immutable, and synchronous nature.
* Use Typed Forms: Typed Forms in Angular are a new feature introduced in Angular 14 that provide stronger type checking for reactive forms. They allow developers to define the structure and types of form controls, making it easier to catch errors at compile-time rather than runtime.
## Services
* Single Responsibility: Design services around a single, well-defined responsibility.
* `providedIn: 'root'`: Use the `providedIn: 'root'` option when declaring injectable services to ensure they are singletons and tree-shakable.
* `inject()` Function: Prefer the `inject()` function over constructor injection when injecting dependencies, especially within `provide` functions, `computed` properties, or outside of constructor context.
## Unit testing
* Write unit tests for components, services, and pipes using Jasmine and Karma.
* Test cases should be reasonably groupped based on tested functionality/behaviour using describe blocks.
* Use plain English test names based on the should <expectedBehavior> when <stateUnderTest> pattern as a guideline.
* Use Angular's TestBed for component testing with mocked dependencies
* Avoid Direct Calls to Component Lifecycle Hooks: Instead of directly invoking lifecycle hooks like `ngOnInit()`, use Angular's testing utilities to trigger them naturally. For example, use `fixture.detectChanges()` to trigger change detection, which will automatically call `ngOnInit()` and other lifecycle hooks in the correct order.
* Use fixture.componentRef.setInput() Instead of Direct Input Assignment: When testing components with inputs, use `fixture.componentRef.setInput()` to set input values. This method ensures that Angular's change detection is properly triggered, allowing the component to react to input changes as it would in a real application.
* Use the Provide Mock Store for testing components that rely on NgRx state management. This allows you to mock the store and control the state during tests without needing to set up a full NgRx environment.
* Mock HTTP requests using provideHttpClientTesting
* Import only the minimal required modules
* Avoid NO_ERRORS_SCHEMA and CUSTOM_ELEMENTS_SCHEMA in tests to ensure proper error detection
* Do not verify mocked methods
* Avoid mocking component methods unless necessary; prefer testing actual behavior
* Avoid testing private methods directly; test them through public methods instead
* Avoid testing methods or behaviours of children components; use shallow testing or mock child components instead
* Use the overrideProviders API to replace components, directives, pipes, or services declared deep within the module hierarchy
* Avoid async/await in synchronous unit tests
* Prefer data-automation-id over CSS class when possible
* Do not use toBeDefined() to check if an element is visible.
-39
View File
@@ -1,39 +0,0 @@
name: "Build Lib Workflow"
on:
workflow_call:
inputs:
base_ref:
description: 'Base branch for affected calculation'
required: false
type: string
default: 'develop'
env:
NODE_OPTIONS: "--max-old-space-size=5120"
jobs:
build:
name: "Build affected libs"
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Setup environment
id: setup-env
uses: ./.github/actions/setup
with:
cache-suffix: build
full-setup: 'false'
- name: Build affected libs
env:
BASE_REF: ${{ inputs.base_ref }}
run: pnpm nx affected --target=build --base=origin/$BASE_REF --head=HEAD --configuration=production --exclude=stories
- name: Save nx cache
if: ${{ success() }}
uses: ./.github/actions/save-nx-cache
with:
cache-suffix: build
-56
View File
@@ -1,56 +0,0 @@
name: "CodeQL"
on:
push:
branches: [develop, master]
paths-ignore:
- 'e2e/resources/**'
- 'docs/**'
pull_request:
# The branches below must be a subset of the branches above
branches: [develop]
paths-ignore:
- 'e2e/resources/**'
- 'docs/**'
schedule:
- cron: '0 5 * * 0'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
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
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v3.29.5
# Override language selection by uncommenting this and choosing your languages
with:
languages: javascript
config-file: ./.github/codeql/codeql-config.yml
# 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@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v3.29.5
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v3.29.5
@@ -1,67 +0,0 @@
name: "Sends notification when A/N BDU label is attached to PR"
on:
pull_request:
types: [labeled]
branches: [develop]
permissions:
pull-requests: read
issues: read
jobs:
notify-bdu:
name: Notify Teams when A/N BDU label is added
runs-on: ubuntu-latest
timeout-minutes: 5
if: >-
github.event.action == 'labeled' &&
github.event.label.name == 'A/N BDU' &&
github.event.pull_request.state == 'open'
steps:
- name: Check if label was added after PR creation (with time threshold)
id: check_label_timing
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const prCreatedAt = new Date('${{ github.event.pull_request.created_at }}');
const timeline = await github.rest.issues.listEvents({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
const labelEvent = timeline.data.reverse().find(event =>
event.event === 'labeled' &&
event.label.name === 'A/N BDU'
);
if (!labelEvent) {
core.setOutput('should_notify', 'false');
return;
}
const labelAddedAt = new Date(labelEvent.created_at);
const timeDiffSeconds = (labelAddedAt - prCreatedAt) / 1000;
if (timeDiffSeconds > 15) {
core.setOutput('should_notify', 'true');
} else {
core.setOutput('should_notify', 'false');
}
- name: Send Teams notification
if: steps.check_label_timing.outputs.should_notify == 'true'
uses: Alfresco/alfresco-build-tools/.github/actions/send-teams-notification@98bcfbe06aafffdc0e9a790f352602316f82303b # v18.23.0
with:
webhook-url: ${{ secrets.TEAMS_NOTIFICATION_ADF_BDU_WEBHOOK }}
skip_checkout: true
status: success
title: "A/N BDU PR: ${{ github.event.pull_request.title }}"
message: |
A pull request has been marked with the **A/N BDU** label.
- **Repository:** ${{ github.repository }}
- **PR:** [#${{ github.event.pull_request.number }} ${{ github.event.pull_request.title }}](${{ github.event.pull_request.html_url }})
- **Author:** ${{ github.event.pull_request.user.login }}
-41
View File
@@ -1,41 +0,0 @@
name: Package published
on:
registry_package:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
if: github.event.registry_package.package_type == 'npm' && github.event.registry_package.name == 'adf-core'
steps:
- name: Generate app token
id: app-token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
client-id: ${{ vars.GH_APP_ENGINEERING_CONTRIB_CLIENT_ID }}
private-key: ${{ secrets.GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: alfresco-apps
permission-contents: write
- name: Dispatch event to monorepo
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
PACKAGE_NAME: ${{ github.event.registry_package.name }}
PACKAGE_VERSION: ${{ github.event.registry_package.package_version.name }}
with:
github-token: ${{ steps.app-token.outputs.token }}
retries: 3
script: |
const payload = {
package_name: process.env.PACKAGE_NAME,
package_version: process.env.PACKAGE_VERSION
};
await github.rest.repos.createDispatchEvent({
owner: context.repo.owner,
repo: "alfresco-apps",
event_type: "package-published",
client_payload: payload
});
console.log(`Trigger a dispatch event for the monorepo`);
-46
View File
@@ -1,46 +0,0 @@
name: Pull Translations from Crowdin
on:
schedule:
- cron: "0 7-17 * * 1-5"
workflow_dispatch:
workflow_call:
secrets:
GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY:
required: true
CROWDIN_TRANSLATIONS_TOKEN:
required: true
HXPS_GIT_COMMIT_SIGNING_PRIVATE_KEY:
required: true
jobs:
pull-from-crowdin:
runs-on: ubuntu-latest
steps:
- name: Generate app token
id: app-token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
client-id: ${{ vars.GH_APP_ENGINEERING_CONTRIB_CLIENT_ID }}
private-key: ${{ secrets.GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY }}
permission-contents: write
permission-pull-requests: write
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: develop
token: ${{ steps.app-token.outputs.token }}
- name: Pull translations from Crowdin
uses: crowdin/github-action@c7af9bc98b01694653031fef2a0dc6c7888ce9bc # v2.17.0
with:
skip_ref_checkout: true
upload_sources: false
download_translations: true
create_pull_request: true
localization_branch_name: automated-translations-update
pull_request_title: "GH auto: Automated Update of Translations from Crowdin"
pull_request_base_branch_name: develop
github_user_name: ${{ vars.HXPS_GIT_USERNAME }}
github_user_email: ${{ vars.HXPS_GIT_EMAIL }}
gpg_private_key: ${{ secrets.HXPS_GIT_COMMIT_SIGNING_PRIVATE_KEY }}
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TRANSLATIONS_TOKEN }}
-344
View File
@@ -1,344 +0,0 @@
name: "pull-request"
on:
workflow_call:
inputs:
dry-run-flag:
description: "enable dry-run on artifact push"
required: false
type: boolean
default: true
devel:
description: "devel"
required: false
type: boolean
default: false
cron-run:
description: "disables jobs which should not run when cron runs e2es"
required: false
type: boolean
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:
GH_COMMIT: ${{ github.sha }}
NODE_OPTIONS: "--max-old-space-size=5120"
jobs:
pre-checks:
runs-on: ubuntu-latest
outputs:
code-changed: ${{ steps.path-filter.outputs.code-changed }}
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Ensure SHA pinned actions
uses: hyland/github-actions-ensure-sha-pinned-actions@7957efb76aba0eec7580a9c0392d3e5bec381359 # v2.0.1
- name: Check pnpm-lock.yaml version
run: |
if [[ -f "pnpm-lock.yaml" ]]; then
LOCKFILE_VERSION=$(grep "^lockfileVersion:" pnpm-lock.yaml | cut -d"'" -f2)
if [[ "$LOCKFILE_VERSION" == "9.0" ]]; then
echo "pnpm-lock.yaml has correct version: $LOCKFILE_VERSION"
else
echo "pnpm-lock.yaml must be version 9.0, found: $LOCKFILE_VERSION"
exit 1
fi
else
echo "pnpm-lock.yaml is missing"
exit 1
fi
- name: Detect code changes
id: path-filter
env:
GH_TOKEN: ${{ github.token }}
run: |
if [ "${{ github.event_name }}" != "pull_request" ]; then
echo "Not a PR event — assuming code changed"
echo "code-changed=true" >> $GITHUB_OUTPUT
exit 0
fi
FILES=$(gh api /repos/$GITHUB_REPOSITORY/pulls/${{ github.event.pull_request.number }}/files --paginate --jq '.[].filename')
CODE_CHANGED="false"
while IFS= read -r file; do
case "$file" in
*.md|docs/*|.github/*.md|.github/CODEOWNERS|.github/dependabot.yml|LICENSE*|NOTICE*|.editorconfig|.gitattributes)
;;
*)
CODE_CHANGED="true"
break
;;
esac
done <<< "$FILES"
echo "code-changed=$CODE_CHANGED" >> $GITHUB_OUTPUT
echo "Code changed: $CODE_CHANGED"
check-if-pr-is-approved:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
if: ${{ github.event_name == 'pull_request' }}
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 1
- name: Check if PR approval can be skipped
id: skip-check
env:
EVENT_NAME: ${{ github.event_name }}
ACTOR: ${{ github.actor }}
DEVEL_FLAG: ${{ inputs.devel }}
PR_TITLE: ${{ github.event.pull_request.title }}
PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: |
skip="false"
# Get commit message safely from git to avoid script injection
if [ "$EVENT_NAME" == "pull_request" ] && [ -n "$PR_HEAD_SHA" ]; then
COMMIT_MESSAGE=$(git log -1 --format=%B "$PR_HEAD_SHA" 2>/dev/null || echo "")
else
COMMIT_MESSAGE=$(git log -1 --format=%B 2>/dev/null || echo "")
fi
if [ "$EVENT_NAME" == "schedule" ] || [ "$EVENT_NAME" == "workflow_dispatch" ]; then
echo -e "\033[32mSchedule/dispatch event — skipping approval check\033[0m"
skip="true"
elif [ "$ACTOR" == "dependabot[bot]" ] || [ "$ACTOR" == "alfresco-build" ]; then
echo -e "\033[32mCommit by $ACTOR — skipping approval check\033[0m"
skip="true"
elif echo "$PR_TITLE" | grep -qF "[ci:force]"; then
echo -e "\033[32m[ci:force] flag detected in PR title — skipping approval check\033[0m"
skip="true"
elif echo "$COMMIT_MESSAGE" | grep -qF "[ci:force]"; then
echo -e "\033[32m[ci:force] flag detected in commit message — skipping approval check\033[0m"
skip="true"
elif [[ "$DEVEL_FLAG" == "true" ]]; then
echo -e "\033[32mDevel flag — skipping approval check\033[0m"
skip="true"
fi
echo "skip=$skip" >> $GITHUB_OUTPUT
- name: Get PR number
if: ${{ steps.skip-check.outputs.skip != 'true' }}
id: pr-number
env:
GH_TOKEN: ${{ github.token }}
run: |
PR_NUMBER="${{ github.event.pull_request.number }}"
if [ -z "$PR_NUMBER" ]; then
PR_NUMBER=$(gh pr view --json number --jq '.number' 2>/dev/null || echo "")
fi
echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT
echo "PR: $PR_NUMBER"
- name: Check if PR is approved
if: ${{ steps.skip-check.outputs.skip != 'true' && steps.pr-number.outputs.pr_number != '' }}
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ steps.pr-number.outputs.pr_number }}
run: |
echo "Checking approval for PR: $PR_NUMBER"
checkApproval=$(gh api /repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/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
setup:
timeout-minutes: 30
name: "Setup"
runs-on: ubuntu-latest
needs: [check-if-pr-is-approved, pre-checks]
if: ${{ needs.pre-checks.outputs.code-changed == 'true' }}
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Setup environment
id: setup-env
uses: ./.github/actions/setup
with:
cache-suffix: setup
- name: Bundle
run: |
pnpm bundle:js-api
pnpm bundle:cli
- name: Save nx cache
if: ${{ success() }}
uses: ./.github/actions/save-nx-cache
with:
cache-suffix: setup
lint:
timeout-minutes: 30
name: "Lint"
runs-on: ubuntu-latest
needs: [setup]
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Setup environment
id: setup-env
uses: ./.github/actions/setup
with:
cache-suffix: lint
full-setup: 'false'
- name: Run lint
env:
BASE_REF: ${{ github.base_ref || 'develop' }}
run: pnpm nx affected --target=lint --base=origin/$BASE_REF --head=HEAD
- name: Save nx cache
if: ${{ success() }}
uses: ./.github/actions/save-nx-cache
with:
cache-suffix: lint
trigger-build:
name: "Build Libs"
needs: [setup]
uses: ./.github/workflows/build-lib-workflow.yml
with:
base_ref: ${{ github.base_ref || 'develop' }}
build-storybook:
timeout-minutes: 30
name: "Build Storybook"
needs: [setup]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Setup environment
id: setup-env
uses: ./.github/actions/setup
with:
cache-suffix: storybook
full-setup: 'false'
- name: Build Storybook
env:
BASE_REF: ${{ github.base_ref || 'develop' }}
run: |
pnpm nx affected --target=build-storybook --base=origin/$BASE_REF --head=HEAD --configuration=ci
- name: Save nx cache
if: ${{ success() }}
uses: ./.github/actions/save-nx-cache
with:
cache-suffix: storybook
trigger-unit-tests:
name: "Unit Tests"
needs: [setup]
uses: ./.github/workflows/unit-test-workflow.yml
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
base_ref: ${{ github.base_ref || 'develop' }}
PR-size-check:
if: ${{ github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
steps:
- name: Check PR size
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
});
const additions = pr.additions;
const deletions = pr.deletions;
const totalChanges = additions + deletions;
const changedFiles = pr.changed_files;
let size = 'S';
if (totalChanges > 1000 || changedFiles > 30) size = 'XL';
else if (totalChanges > 500 || changedFiles > 20) size = 'L';
else if (totalChanges > 200 || changedFiles > 10) size = 'M';
core.summary
.addHeading('PR Size: ' + size, 3)
.addTable([
[{data: 'Metric', header: true}, {data: 'Count', header: true}],
['Files changed', String(changedFiles)],
['Additions', '+' + String(additions)],
['Deletions', '-' + String(deletions)],
['Total changes', String(totalChanges)],
]);
if (size === 'XL') {
core.summary.addRaw('⚠️ This PR is very large. Consider splitting it into smaller PRs for easier review.');
}
await core.summary.write();
if (size === 'XL') {
core.warning('This PR has ' + totalChanges + ' changes across ' + changedFiles + ' files. Consider splitting it for easier review.');
}
PR-forbidden-labels:
if: ${{ inputs.cron-run == '' || inputs.cron-run == 'false' }}
runs-on: ubuntu-latest
steps:
- name: Check for forbidden labels
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { data: issue } = await github.rest.issues.get({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
const labels = issue.labels?.map(item => item.name) || [];
const forbidden = ['next version ➡️', 'do not merge🙅🏻‍♂️'];
if (forbidden.some(l => labels.includes(l))) {
core.setFailed('The PR contains a forbidden label! You are not allowed to merge until the label is there.');
}
finalize:
if: ${{ always() }}
runs-on: ubuntu-latest
name: Final Results
needs:
[
check-if-pr-is-approved,
pre-checks,
setup,
trigger-unit-tests,
lint,
trigger-build,
build-storybook,
PR-forbidden-labels,
]
steps:
- name: Check job execution status
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
run: exit 1
-18
View File
@@ -1,18 +0,0 @@
on:
issue_comment:
types: [created]
name: Automatic Rebase
jobs:
rebase:
name: Rebase
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-178
View File
@@ -1,178 +0,0 @@
name: "release"
on:
workflow_dispatch:
inputs:
dry-run-flag:
description: 'enable dry-run on artifact push'
required: false
type: boolean
default: true
push:
branches:
- develop
- develop-patch*
- master
- master-patch-*
permissions:
id-token: write # Required for OIDC
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
env:
GH_COMMIT: ${{ github.sha }}
GH_BUILD_NUMBER: ${{ github.run_id }}
LOG_LEVEL: "ERROR"
NODE_OPTIONS: "--max-old-space-size=5120"
jobs:
setup:
timeout-minutes: 20
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
name: "Setup"
runs-on: ubuntu-latest
permissions:
contents: read
actions: write
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
- name: install
run: |
pnpm install --frozen-lockfile
pnpm bundle:js-api
pnpm bundle:cli
- uses: ./.github/actions/upload-node-modules-and-artifacts
release-npm:
needs: [setup]
outputs:
release_version: ${{ steps.set-version.outputs.release_version }}
timeout-minutes: 30
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions:
id-token: write # Required for OIDC
contents: read
packages: write
actions: read
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- id: setup
uses: ./.github/actions/setup
- id: set-dryrun
uses: ./.github/actions/enable-dryrun
with:
dry-run-flag: ${{ inputs.dry-run-flag }}
- uses: ./.github/actions/download-node-modules-and-artifacts
- name: Set libraries versions
id: set-version
run: |
set -u;
./scripts/github/build/bumpversion.sh
- name: Set migrations
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const setMigrations = require('./scripts/github/release/set-migrations.js');
setMigrations();
- name: build libraries
run: |
pnpm build:libs
pnpm build:schematics
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
name: release libraries GH registry
with:
node-version-file: '.nvmrc'
registry-url: 'https://npm.pkg.github.com'
scope: '@alfresco'
- run: pnpm run publish --tag ${{ steps.setup.outputs.npm-tag }} --provenance=false ${{ steps.set-dryrun.outputs.dryrun }}
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
name: release libraries Npm registry
with:
node-version-file: '.nvmrc'
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
scope: '@alfresco'
- run: pnpm run publish --tag ${{ steps.setup.outputs.npm-tag }} ${{ steps.set-dryrun.outputs.dryrun }}
create-git-tag:
runs-on: ubuntu-latest
needs: [setup, release-npm]
if: github.event_name != 'workflow_dispatch'
name: Create github tag
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 1
- uses: './.github/actions/create-git-tag'
with:
tagName: ${{ needs.release-npm.outputs.release_version }}
npm-check-bundle:
needs: [release-npm]
timeout-minutes: 15
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: ./.github/actions/npm-check-bundle
push-translation-keys-to-crowdin:
name: Push translations keys to Crowdin
if: github.ref_name == 'develop' && github.event_name != 'workflow_dispatch'
runs-on: ubuntu-latest
needs: [setup]
permissions:
contents: read
packages: read
actions: read
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Push Source Files to Crowdin
uses: crowdin/github-action@c7af9bc98b01694653031fef2a0dc6c7888ce9bc # v2.17.0
with:
upload_sources: true
upload_sources_args: --delete-obsolete
env:
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TRANSLATIONS_TOKEN }}
pull-translation-keys-from-crowdin:
needs: push-translation-keys-to-crowdin
name: Run Crowdin pull pipeline for up-to-date sync
uses: ./.github/workflows/pull-from-crowdin.yml
secrets:
GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY: ${{ secrets.GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY }}
CROWDIN_TRANSLATIONS_TOKEN: ${{ secrets.CROWDIN_TRANSLATIONS_TOKEN }}
HXPS_GIT_COMMIT_SIGNING_PRIVATE_KEY: ${{ secrets.HXPS_GIT_COMMIT_SIGNING_PRIVATE_KEY }}
finalize:
if: always()
runs-on: ubuntu-latest
name: Final Results
needs: [release-npm, npm-check-bundle]
steps:
- name: Check job execution status
if: >-
${{
contains(needs.*.result, 'failure')
|| contains(needs.*.result, 'cancelled')
}}
run: exit 1
-22
View File
@@ -1,22 +0,0 @@
name: "SonarCloud Full Scan (develop)"
on:
schedule:
- cron: '0 5 * * *'
workflow_dispatch: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: read
jobs:
full-unit-tests-and-sonar-scan:
name: "Full Unit Tests + SonarCloud Scan"
uses: ./.github/workflows/unit-test-workflow.yml
secrets: inherit
with:
full: true
-14
View File
@@ -1,14 +0,0 @@
name: Stale PR Cleanup
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
permissions:
pull-requests: write
issues: write
jobs:
stale-pr-cleanup:
uses: Alfresco/alfresco-build-tools/.github/workflows/stale-pr-cleanup.yml@98bcfbe06aafffdc0e9a790f352602316f82303b # v18.23.0
@@ -1,31 +0,0 @@
name: Supply Chain Review - PR Instructions
on:
pull_request:
types: [opened, reopened, synchronize]
paths:
- "package.json"
- "pnpm-lock.yaml"
- "**/package.json"
- "pom.xml"
- "**/pom.xml"
jobs:
instructions:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: Alfresco/alfresco-build-tools/.github/actions/github-upsert-comment@98bcfbe06aafffdc0e9a790f352602316f82303b # v18.23.0
with:
comment-identifier: supply-chain-review-instructions
comment-body: |
## 🔒 Supply Chain Security
This PR modifies dependencies. To run a security analysis, comment:
```
/supply-chain-review
```
The analysis will check for vulnerabilities, typosquatting, maintainer takeovers, and other supply chain risks.
File diff suppressed because one or more lines are too long
-362
View File
@@ -1,362 +0,0 @@
---
on:
slash_command:
name: supply-chain-review
reaction: rocket
permissions:
contents: read
pull-requests: read
engine:
id: copilot
model: gpt-5-mini
tools:
github:
toolsets: [context, pull_requests, repos]
network:
allowed:
- defaults
- node
- java
- api.osv.dev
- api.scorecard.dev
- search.maven.org
safe-outputs:
add-comment:
hide-older-comments: true
add-labels:
allowed: [security:low, security:medium, security:high]
remove-labels:
allowed: [security:low, security:medium, security:high]
submit-pull-request-review:
source: Alfresco/alfresco-build-tools/.github/workflows/supply-chain-review.md@7bc0fc6f4f11df6c065b57d4a6aa90d7ea362b2f
---
# Supply Chain Review
You are a supply chain security analyst reviewing a pull request for dependency changes.
Your goal is to identify any dependency additions or upgrades and produce a thorough risk assessment for each change, covering known vulnerabilities, typosquatting, maintainer takeover, install script abuse, version anomalies, source code changes, and project health.
You are the primary and only analysis engine. There is no secondary check. Be thorough but calibrated: false positives erode trust, but missed threats have severe consequences.
## Step 1 — Identify Dependency Changes
Read the **full** pull request diff — every commit in the PR, not just the latest one — and find all modified dependency files (`package.json`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`/`pnpm-lock.yml`, `pnpm-workspace.yaml`/`pnpm-workspace.yml`, `npm-shrinkwrap.json`, `pom.xml`, `build.gradle`, etc.).
**CRITICAL**: always use the GitHub MCP Server `pull_requests` toolset (e.g. `get_diff` / `get_files`) to fetch the diff — this always reflects every commit in the PR, regardless of local git history, against the correct base branch. Do NOT rely on local git commands or assumptions about the PR's commit history.
For each changed dependency extract:
- Package name (including scope/groupId if applicable)
- Ecosystem (`npm` or `maven`)
- Old version (or mark as `NEW DEPENDENCY` if newly added)
- New version
If no dependency files were changed, post a brief PR comment stating that no dependency changes were detected and no review is needed, then stop.
## Step 1b — Filter Internal Dependencies
Before collecting external data, identify and exclude internal/private dependencies that cannot be resolved by public APIs.
**Internal dependency namespaces (skip these):**
- **Maven**: Any dependency with a `groupId` starting with `com.hyland.`, `org.alfresco.`, or `org.activiti.`
- **npm**: Any package under the `@hyland/`, `@hylandsoftware/`, or `@alfresco/` scopes
For each internal dependency found:
1. Remove it from the analysis pipeline — do NOT query OSV.dev, OpenSSF Scorecard, or registry APIs for these packages (they will fail or return irrelevant data).
2. Record the package name (with `@` replaced by `(at)` for GitHub comment compatibility), ecosystem, old version, and new version in a separate "Internal Dependencies (Skipped)" list.
3. Continue with Step 2 only for the remaining external/public dependencies.
If ALL changed dependencies are internal, skip Steps 2-4 and proceed directly to Step 5, posting a report that lists the internal dependencies and notes that no external supply chain analysis was performed.
## Step 2 — Collect Data for Each Dependency
For every changed dependency, gather the following data. Fetch all data sources in parallel where possible. If any request fails or returns no data, note it and continue — missing data alone is not proof of malice, but factor it into your confidence level.
### 2a. Known Vulnerabilities (OSV.dev)
Query the OSV.dev API for vulnerabilities affecting the **new** version:
- **npm**: `POST https://api.osv.dev/v1/query` with body `{"package":{"name":"<package-name>","ecosystem":"npm"},"version":"<new-version>"}`
- **Maven**: `POST https://api.osv.dev/v1/query` with body `{"package":{"name":"<groupId>:<artifactId>","ecosystem":"Maven"},"version":"<new-version>"}`
Record all returned vulnerability IDs, severity ratings, and summaries. CRITICAL and HIGH severity CVEs in the new version are the most urgent signal.
### 2b. OpenSSF Scorecard
Fetch the project health score. First determine the source repository from the package metadata (see 2c), then query:
`GET https://api.scorecard.dev/projects/github.com/{owner}/{repo}`
Record the overall score (0-10) and individual check results. Pay special attention to: Maintained, Code-Review, Vulnerabilities, Branch-Protection, Signed-Releases. A score below 3 is very concerning; below 5 warrants caution. If the package has no linked source repository, the scorecard will be unavailable — this is itself a risk signal.
### 2c. Package Metadata (Registry)
**For npm packages**, fetch:
`GET https://registry.npmjs.org/<package-name>`
From the full registry document, extract for BOTH the old and new versions:
- `versions[<version>]._npmUser` — the publisher
- `versions[<version>].maintainers` — the maintainer list
- `versions[<version>].scripts` — lifecycle scripts (`preinstall`, `install`, `postinstall`)
- `versions[<version>].dependencies` — runtime dependencies
- `time[<version>]` — publish timestamp
- `repository` — source repository URL
Also extract the `time` object to build a version history (last 10 versions with publish dates).
**For Maven packages**, fetch:
`GET https://central.sonatype.com/api/v1/search?q=g:<groupId>+AND+a:<artifactId>&sort=published&limit=10`
For POM details (build plugins, dependencies): `GET https://repo1.maven.org/maven2/<groupId-as-path>/<artifactId>/<version>/<artifactId>-<version>.pom`
### 2d. Source Code Diff and Release Notes
Use the PR diff itself to review the actual file changes for dependency manifest files. Additionally, if a source repository is identified (from 2c), fetch release notes and compare tags:
- Release notes: `GET https://api.github.com/repos/{owner}/{repo}/releases/tags/v<new-version>` (try with and without the `v` prefix)
- For a code-level diff between old and new versions: `GET https://api.github.com/repos/{owner}/{repo}/compare/v<old-version>...v<new-version>` (try with and without the `v` prefix)
## Step 3 — Analyze Against Threat Taxonomy
Evaluate each dependency against ALL of the following threat categories. Not every category applies to every package — use judgment.
### 3a. Known Vulnerabilities
Assess the severity and exploitability of any CVEs or advisories returned from OSV.dev. CRITICAL and HIGH severity vulnerabilities in the new version are the most urgent signal. Also check whether the upgrade itself fixes known vulnerabilities in the old version (a positive signal).
### 3b. Typosquatting / Name Confusion
Determine if the package name could be a typosquatting attempt targeting a well-known package. Consider:
- Levenshtein distance to popular packages (e.g., `lodas` vs `lodash`)
- Dash/underscore/separator swaps (e.g., `my_package` vs `my-package`)
- Suffix variants (e.g., `express-js`, `express.js`)
- Scope squatting for npm (e.g., `@attacker/lodash` vs `lodash`)
- GroupId squatting for Maven (e.g., `org.apach.commons` vs `org.apache.commons`)
Use your knowledge of the ecosystem to identify plausible targets. Reason from your training data about popular packages.
### 3c. Maintainer Takeover
Compare the publisher and maintainer metadata between the old and new versions. Red flags:
- Publisher changed between versions (different `_npmUser`)
- Old maintainers removed and replaced
- New publisher has no prior history with the package
- Classic pattern: publisher change + maintainer removal (like the event-stream incident)
### 3d. Install Script Abuse
**For npm**: Analyze lifecycle scripts (`preinstall`, `install`, `postinstall`) from the registry metadata. Red flags:
- Scripts that download and execute remote code (`curl`, `wget`, `http://`)
- `eval()`, `Function()`, `child_process` usage
- Environment variable access (`process.env`) for credential theft
- Base64/hex decoding of payloads
- Access to sensitive paths (`~/.ssh`, `~/.aws`, `~/.npmrc`, `/etc/passwd`)
- Network calls (`dns.lookup`, `net.connect`) for exfiltration
- Scripts that are NEW in this version (not present in the old version) are especially suspicious
**For Maven**: Look for dangerous build plugins in POM changes:
- `exec-maven-plugin`, `maven-antrun-plugin` with `<exec>`
- `<extensions>true</extensions>` on untrusted plugins
- Download plugins, Groovy/script plugins
### 3e. Version Anomalies
Analyze the version change pattern and history from the registry metadata:
- Major version jumps (skipping 1+ major versions)
- Version downgrade (new version < old version)
- Stable to prerelease transition
- Very recent publish (less than 48 hours old) — could indicate a rush to distribute malicious code
- Rapid successive publishes (many versions in a short window)
- Long dormancy then sudden publish (more than 1 year gap) — may indicate account takeover
### 3f. Source Code Changes
If source diffs are available (from the GitHub compare API or the PR diff itself), analyze for:
- Obfuscated code (minified without source maps, hex/unicode escapes, string concatenation to hide function names)
- Data exfiltration (network calls sending `process.env`, API keys, tokens to external endpoints)
- Filesystem access outside the package directory
- Dynamic code execution (`eval()`, `Function()`, `vm.runInNewContext`, `WebAssembly.instantiate`)
- Encoded payloads (Base64/hex decoded and executed at runtime)
- Inconsistency between release notes and actual changes (changelog says "bug fix" but diff adds network calls)
- Cryptocurrency mining patterns
- Suspicious new transitive dependencies
### 3g. Project Health
Interpret the OpenSSF Scorecard data:
- Overall score below 3/10 is very concerning
- Score below 5/10 warrants caution
- Pay attention to specific failing checks: Maintained, Code-Review, Vulnerabilities, Branch-Protection, Signed-Releases
- Missing scorecard data (no source repo linked) is itself a risk signal
### 3h. Missing Source Repository
A package with no linked source repository prevents code audit and is a risk signal, especially combined with other concerns.
### 3i. Tag Poisoning / Build Provenance
Evaluate whether the published artifact can be traced back to a verified source commit. This category covers attacks where a legitimate-looking version tag is manipulated to distribute malicious code.
#### Tag-to-Registry Provenance Mismatch
Check whether the git tag for the new version corresponds to the published artifact:
- Compare the tag commit date with the registry publish timestamp. A discrepancy of more than a few hours (allowing for CI/CD pipeline time) is suspicious.
- If the source diff between the tag and the previous tag includes changes not documented in release notes, flag as suspicious.
#### Mutable/Moved Tags
Check if the tag appears to have been recreated:
- Use `GET https://api.github.com/repos/{owner}/{repo}/git/refs/tags/{tag}` to get the tag reference.
- For annotated tags, use `GET https://api.github.com/repos/{owner}/{repo}/git/tags/{sha}` to check the tag object and its `tagger.date`.
- If the tag creation date is significantly newer than the commit it points to (e.g., more than 7 days), this may indicate the tag was deleted and recreated pointing to a different commit.
#### Unsigned Tags
Determine tag type and signing status:
- **Annotated + signed tags** (GPG or SSH signature present) — strongest integrity signal.
- **Annotated but unsigned tags** — moderate integrity; the tag is immutable but unverified.
- **Lightweight tags** — weakest integrity; easily moved without trace. Flag as a risk signal for high-profile or security-critical packages.
For the tag object, check the `verification` field in the GitHub API response for signature status.
#### Build Provenance / Attestation
Check for SLSA provenance attestations or Sigstore signatures:
**For npm packages**: Query `GET https://registry.npmjs.org/-/npm/v1/attestations/<package-name>@<new-version>`. If attestations are present, verify:
- The `predicateType` matches a known SLSA provenance type
- The `subject` digest matches the published package tarball
- The build was performed by a trusted CI system (e.g., GitHub Actions)
**For Maven packages**: Check if Sigstore `.sigstore` bundle files exist alongside the artifact at:
`GET https://repo1.maven.org/maven2/<groupId-as-path>/<artifactId>/<version>/<artifactId>-<version>.jar.sigstore`
The absence of provenance attestations on a high-profile package (>1000 weekly downloads for npm, or widely used in the ecosystem) is a moderate risk signal. Packages that previously published with provenance but stopped doing so are especially suspicious.
#### Tag Mimicry on Forks
Verify that the source repository URL in registry metadata points to the canonical repository:
- Cross-reference the `repository` field from package metadata (Step 2c) with the GitHub API response.
- If the repository URL points to a fork rather than the original project, flag as HIGH risk — this may indicate a hijacked tag on a lookalike fork.
- Check that the repository owner matches known maintainers of the package.
## Step 4 — Score and Classify Risk
Assign a risk score (0-100) to each dependency using these guidelines:
| Priority | Signal | Typical Impact |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| Highest | Known CRITICAL/HIGH CVEs in new version, confirmed typosquatting, malicious code in diff, build provenance mismatch (tag points to different code than published artifact), tag mimicry on fork | 60+ points |
| High | Maintainer takeover pattern (publisher changed + old maintainers removed), dangerous install scripts, known compromised package, moved/recreated tag with different commit, provenance attestations removed from package that previously had them | 20-40 points |
| Medium | Low OpenSSF Scorecard (< 3), publisher changed (without full takeover), new install scripts, very recent publish (< 48h), obfuscated code in diff, unsigned lightweight tags on security-critical packages, absence of provenance on high-profile packages | 10-20 points |
| Lower | Scorecard 3-5, version anomalies, missing source repository, long dormancy, rapid publishes, tag date slightly newer than commit (within 7 days), annotated but unsigned tags | 5-10 points |
These are guidelines, not rigid formulas. Use judgment to combine signals — multiple medium signals can compound into a high-risk assessment.
**Risk level thresholds**: 0-20 = LOW, 21-50 = MEDIUM, 51-80 = HIGH, 81-100 = CRITICAL.
If no suspicious patterns are found, assign a score of 0-10 and risk level LOW. Most legitimate upgrades should score LOW.
## Step 5 — Post Findings as PR Comment
Post a structured report in the following format.
**CRITICAL: Sanitize all `@` symbols before posting**
GitHub enforces a maximum of 10 mentions per comment. Package names containing `@` (like `@hyland/core`, `@alfresco/js-api`) are interpreted as user/team mentions and trigger this limit, causing comment post failures.
**Before generating the comment text**:
1. Replace **every** `@` symbol in package names with `(at)` — e.g., `@hyland/core``(at)hyland/core`
2. Apply this transformation to ALL occurrences: table cells, headings, inline code blocks, findings sections, reason columns
3. This applies to both external and internal dependencies
4. Do NOT skip this step — even if only a few packages are affected, GitHub counts all `@` symbols
```txt
## Supply Chain Security Review
| Package | Ecosystem | Old Version | New Version | Risk Score | Risk Level |
|---------|-----------|-------------|-------------|------------|------------|
| example | npm | 1.0.0 | 2.0.0 | 5 | LOW |
### Internal Dependencies (Skipped)
| Package | Ecosystem | Old Version | New Version | Reason |
|-------------------|-----------|-------------|-------------|---------------------------------|
| (at)hyland/core | npm | 3.1.0 | 3.2.0 | Internal ((at)hyland/* scope) |
_These dependencies are internal packages not available on public registries. External API checks were skipped._
### Findings
#### `<package-name-sanitized>` (<old-version> -> <new-version>) — <RISK_LEVEL>
**Risk Score**: <score>/100
<If findings exist, list each one:>
**<Category>** (<severity>) — <title>
<detailed explanation with specific evidence>
<If no findings:>
No suspicious patterns detected. Routine upgrade.
---
### Data Collection Notes
<List any APIs that were unavailable or returned errors, so reviewers know what was and wasn't checked.>
---
### Overall Risk: <highest risk level across all dependencies>
**Recommendation**: <approve|review|block>
- **approve**: LOW risk, routine upgrade, no concerns found
- **review**: MEDIUM risk, a human should examine specific findings before merging
- **block**: HIGH/CRITICAL risk, should not be merged without security team review
```
## Step 6 — Apply Label and Review Status
- First, remove any `security:low`, `security:medium`, or `security:high` labels already present on the PR from a previous review — this PR may have been reviewed before (e.g., after a new commit), and stale risk labels must not remain alongside the new one.
- Then apply a label to the PR based on the highest risk level found:
- `security:low` for LOW risk
- `security:medium` for MEDIUM risk
- `security:high` for HIGH or CRITICAL risk
- If the highest risk level is HIGH or CRITICAL, submit a pull request review requesting changes, with a summary of the critical findings.
- If the risk is MEDIUM, submit a pull request review as a comment, noting that human review is recommended.
- If the risk is LOW, do not submit a review — the PR comment is sufficient.
## Important Guidelines
- **Never approve or merge the PR** — all actions are advisory or blocking only. A human always makes the merge decision.
- Be specific in findings — cite exact data (vulnerability ID, maintainer name, script content, file path, API response) rather than vague warnings.
- For Maven packages, adapt npm-specific checks appropriately (e.g., install scripts become build plugin analysis, maintainer metadata may be limited).
- When a package is a NEW dependency (no old version), pay extra attention to project health, name legitimacy, and install scripts since there is no historical baseline to compare against.
- If data collection fails for all external APIs, still analyze the PR diff directly and provide the best assessment you can with available information, noting the limitations clearly.
- For tag poisoning checks, not all packages will have provenance attestations — this is still an emerging practice. Weight the absence of attestations proportionally to the package's profile and criticality. Do not flag low-download utility packages for missing provenance.
- When checking tag dates, allow for reasonable CI/CD pipeline delays (up to a few hours between tag push and publish). Only flag significant discrepancies (days or weeks).
-144
View File
@@ -1,144 +0,0 @@
name: "Unit Tests Workflow"
on:
workflow_call:
secrets:
SONAR_TOKEN:
description: 'Token for SonarCloud analysis'
required: false
inputs:
base_ref:
description: 'Base branch for affected calculation'
required: false
type: string
default: 'develop'
full:
description: 'Run the full (non-affected) test suite for every project instead of only affected ones'
required: false
type: boolean
default: false
jobs:
generate-affected-matrix:
name: "Generate affected matrix"
runs-on: ubuntu-latest
outputs:
unitMatrix: ${{ steps.set-matrix.outputs.unitMatrix }}
hasProjects: ${{ steps.set-matrix.outputs.hasProjects }}
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Setup environment
id: setup-env
uses: ./.github/actions/setup
with:
cache-suffix: test-matrix
- name: Generate affected projects matrix
id: set-matrix
env:
BASE_REF: ${{ inputs.base_ref }}
FULL_RUN: ${{ inputs.full }}
run: |
if [ "$FULL_RUN" == "true" ]; then
echo "Running full (non-affected) test suite"
AFFECTED_UNIT=$(pnpm nx show projects --target=test --select=projects --plain --exclude=cli,stories,eslint-angular)
else
echo "Base ref is $BASE_REF"
AFFECTED_UNIT=$(pnpm nx show projects --affected --target=test --base=origin/$BASE_REF --head=HEAD --select=projects --plain --exclude=cli,stories,eslint-angular)
fi
echo "Affected projects for UNIT: $AFFECTED_UNIT"
if [ -z "$AFFECTED_UNIT" ]; then
echo "No affected projects found"
echo "hasProjects=false" >> $GITHUB_OUTPUT
echo "unitMatrix=[]" >> $GITHUB_OUTPUT
else
UNIT_MATRIX_JSON=$(echo "$AFFECTED_UNIT" | xargs -n1 | jq -R -s -c 'split("\n") | map(select(length > 0)) | map({ "project": . })')
echo "Matrix UNIT: $UNIT_MATRIX_JSON"
echo "hasProjects=true" >> $GITHUB_OUTPUT
echo "unitMatrix=$UNIT_MATRIX_JSON" >> $GITHUB_OUTPUT
fi
- name: Save nx cache
if: ${{ success() }}
uses: ./.github/actions/save-nx-cache
with:
cache-suffix: test-matrix
unit-tests:
timeout-minutes: 30
runs-on: ubuntu-latest
needs: generate-affected-matrix
if: ${{ needs.generate-affected-matrix.outputs.hasProjects == 'true' }}
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.generate-affected-matrix.outputs.unitMatrix) }}
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup environment
id: setup-env
uses: ./.github/actions/setup
with:
cache-suffix: test-${{ matrix.project }}
full-setup: 'false'
- name: Run unit tests for ${{ matrix.project }}
env:
NODE_OPTIONS: "--max-old-space-size=5120"
run: |
xvfb-run --auto-servernum pnpm nx run ${{ matrix.project }}:test
- name: Upload coverage report
if: ${{ always() }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: coverage-${{ matrix.project }}
path: coverage/${{ matrix.project }}/lcov.info
if-no-files-found: ignore
retention-days: 1
- name: Save nx cache
if: ${{ success() }}
uses: ./.github/actions/save-nx-cache
with:
cache-suffix: test-${{ matrix.project }}
sonarcloud:
name: "SonarCloud Scan"
runs-on: ubuntu-latest
needs: [generate-affected-matrix, unit-tests]
if: ${{ needs.generate-affected-matrix.outputs.hasProjects == 'true' && always() && needs.unit-tests.result != 'cancelled' }}
permissions:
contents: read
pull-requests: read
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Download all coverage artifacts
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
pattern: coverage-*
path: coverage-reports
- name: Merge coverage reports
run: |
mkdir -p coverage
echo "Artifact structure:"
find coverage-reports -type f -name 'lcov.info' 2>/dev/null || true
for dir in coverage-reports/coverage-*/; do
project_name=$(basename "$dir" | sed 's/^coverage-//')
lcov_file=$(find "$dir" -name 'lcov.info' -type f | head -1)
if [ -n "$lcov_file" ]; then
mkdir -p "coverage/${project_name}"
cp "$lcov_file" "coverage/${project_name}/lcov.info"
echo "Copied coverage for ${project_name}"
fi
done
echo "Coverage files found:"
find coverage -name 'lcov.info' -type f
- name: SonarCloud Scan
uses: SonarSource/sonarqube-scan-action@aa494459d7c39c106cc77b166de8b4250a32bb97 # v5.1.0
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: https://sonarcloud.io
+26 -18
View File
@@ -1,26 +1,34 @@
*.log
node_modules
bundles
workspace.xml
.idea/
*.iml
.env.*
.env
dist
dist/
tmp
temp
e2e-output/
e2e/downloads/
ng2-components/coverage/
!systemjs.config.js
demo-shell-ng2/app/components/router/
ng2-components/ng2-alfresco-userinfo-old/demo/src/app/
ng2-components/ng2-alfresco-userinfo-old/src/services/bpm-user.service.spec.ts
ng2-components/ng2-alfresco-userinfo-old/src/services/ecm-user.service.spec.ts
src/environments/
/ng2-components/ng2-example-webpack/
/ng2-components/config/coverage/
*.npmrc
/demo-shell-ng2/ng2-components/
.happypack/
.history
/ng2-components/ng2-alfresco-core/prebuilt-themes/
.ng_pkg_build/
/demo-shell/dist-dev-temp/
/lib/export-new.json
/lib/config/exportCheck.js
/lib/config/export-check/export-new.json
/lib/config/export-check/exportCheck.js
/docs/sourceinfo
/docs/docs.json
/protractorFailuresReport
coverage/
out-tsc
/reports/
e2e-result-*
licenses.txt
.DS_Store
desktop.ini
.angular
.nx
nxcache
.husky
.cursor/rules/nx-rules.mdc
.github/instructions/nx.instructions.md
lib/eslint-angular/dist/
/desktop.ini
-5
View File
@@ -1,5 +0,0 @@
#!/bin/sh
export NODE_OPTIONS=--max_old_space_size=8192
lint-staged
-4
View File
@@ -1,4 +0,0 @@
{
"*.{ts,js}": ["prettier --write", "eslint"],
"*.{css,scss}": ["prettier --write", "stylelint --fix"]
}
-5
View File
@@ -1,5 +0,0 @@
# Fail on high severity vulnerabilities during audit
audit-level=high
# Use exact versions to prevent unexpected updates
save-exact=true
-1
View File
@@ -1 +0,0 @@
24.14.0
-1
View File
@@ -1 +0,0 @@
/lib/cli/scripts/resources.ts
-5
View File
@@ -1,5 +0,0 @@
{
"singleQuote": true,
"trailingComma": "none",
"printWidth": 150
}
-24
View File
@@ -1,24 +0,0 @@
import { fileURLToPath } from 'node:url';
import { dirname } from 'node:path';
import type { StorybookConfig } from '@storybook/angular';
const config: StorybookConfig = {
framework: {
name: getAbsolutePath('@storybook/angular'),
options: {}
},
staticDirs: [],
stories: ['lib/**/*.stories.ts'],
features: {
backgrounds: false
},
core: {
disableTelemetry: true
}
};
export default config;
function getAbsolutePath(value: string): any {
return dirname(fileURLToPath(import.meta.resolve(`${value}/package.json`)));
}
-11
View File
@@ -1,11 +0,0 @@
import type { Preview } from '@storybook/angular';
const preview: Preview = {
parameters: {
docs: { inlineStories: true },
controls: { expanded: true }
},
tags: ['autodocs']
};
export default preview;
-10
View File
@@ -1,10 +0,0 @@
{
"extends": "../tsconfig.json",
"exclude": [
"../**/*.spec.js",
"../**/*.spec.ts",
"../**/*.spec.tsx",
"../**/*.spec.jsx"
],
"include": ["../**/*"]
}
-1
View File
@@ -1,2 +1 @@
_theming.scss
lib/core/src/lib/viewer/components/pdf-viewer-host.component.scss
-71
View File
@@ -1,71 +0,0 @@
{
"extends": ["stylelint-config-standard-scss"],
"rules": {
"custom-property-pattern": [
"^(mat-sys|mdc)",
{
"message": "Use only Angular Material system variables (--mat-sys-*, --mdc-*)"
}
],
"color-function-notation": "legacy",
"alpha-value-notation": "number",
"color-no-invalid-hex": true,
"function-calc-no-unspaced-operator": true,
"function-name-case": "lower",
"function-url-quotes": "always",
"function-url-scheme-disallowed-list": [
"data"
],
"length-zero-no-unit": true,
"string-no-newline": true,
"unit-no-unknown": true,
"unit-allowed-list": [
"px",
"%",
"deg",
"ms",
"em",
"vh",
"vw",
"vmin",
"s",
"rem"
],
"shorthand-property-no-redundant-values": true,
"declaration-no-important": true,
"no-duplicate-at-import-rules": true,
"declaration-block-no-duplicate-properties": [
true,
{
"ignore": [
"consecutive-duplicates-with-different-values"
]
}
],
"declaration-block-single-line-max-declarations": 1,
"declaration-property-value-disallowed-list": [
{
"/.*/": [
"initial"
]
},
{
"message": "The `initial` value is not supported in IE."
}
],
"selector-pseudo-element-colon-notation": "double",
"selector-pseudo-element-no-unknown": [true, {
"ignorePseudoElements": ["ng-deep"]
}],
"selector-type-case": "lower",
"selector-max-id": 0,
"selector-class-pattern": [
"^_?(adf|adf-|app|app-|example-|demo-|textLayer|canvasWrapper|page)",
{
"resolveNestedSelectors": true
}
],
"scss/dollar-variable-empty-line-before": null,
"scss/at-rule-conditional-no-parentheses": null
}
}
+218
View File
@@ -0,0 +1,218 @@
git:
depth: 3
quiet: true
language: node_js
dist: trusty
sudo: required
node_js:
# Use the explicit NodeJS LTS version 8.9.4 to avoid any automatic upgrade of the version.
- '8.9.4'
install:
echo "no install"
branches:
only:
- master
- development
- /.*old-env.*/
- /.*next-release.*/
- /.*beta.*/
- /.*greenkeeper.*/
# TRAVIS_PULL_REQUEST == false means is running on dev branch and is not a PR
stages:
- name: Warm Up Cache & Lint & Build Dist
- name: Unit test
- name: e2e Test
- name: Create Docker PR
- name: Deploy Docker PR
addons:
chrome: stable
before_script:
- "sudo chown root /opt/google/chrome/chrome-sandbox"
- "sudo chmod 4755 /opt/google/chrome/chrome-sandbox"
before_install:
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- sleep 3 # give xvfb some time to start
jobs:
include:
- stage: Warm Up Cache & Lint & Build Dist
script:
- if [[ $TRAVIS_PULL_REQUEST == "false" ]];
then
./scripts/lint.sh || exit 1;
./scripts/npm-build-all.sh || exit 1;
else
./scripts/update-version.sh -gnu -alpha || exit 1;
npm install;
./scripts/lint.sh || exit 1;
rm -rf tmp && mkdir tmp;
git merge-base origin/$TRAVIS_BRANCH HEAD > ./tmp/devhead.txt;
./scripts/smart-build.sh -b $TRAVIS_BRANCH -gnu || exit 1;
fi;
npm run build:dist || exit 1;
./scripts/license-list-generator.sh || exit 1;
- stage: Unit test
name: core and extensions
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "core$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test core --watch=false || exit 1;
fi;
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "extensions$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test extensions --watch=false || exit 1;
fi;
- stage: Unit test
name: process-services and insights
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test process-services --watch=false || exit 1;
fi;
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "insights$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test insights --watch=false || exit 1;
fi;
- stage: Unit test
name: content-services
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test content-services --watch=false || exit 1;
fi;
- stage: Unit test
name: process-services-cloud
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test process-services-cloud --watch=false || exit 1;
fi;
- stage: Unit test
name: demo-shell
script: if ([ "$TRAVIS_BRANCH" = "master" ]); then
(./scripts/start.sh -t -ss -si || exit 1;);
else
(./scripts/start.sh -dev -t -ss -si || exit 1;);
fi;
- stage: Update children projects dependency #Update generator-ng2-alfresco-app
name: Update Generator
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/generator-ng2-alfresco-app'
- stage: Update children projects dependency # Test Update alfresco-content-app
name: Update ACA
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/alfresco-content-app'
- stage: Update children projects dependency # Test Update adf-app-manager-ui
name: Update adf-app-manager-ui
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/adf-app-manager-ui'
- stage: Update children projects dependency # Test Update alfresco-ng2-components
name: Update alfresco-ng2-components
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/alfresco-ng2-components'
- stage: Update children projects dependency # Test Update alfresco-modeler-app
name: Update alfresco modeler app
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/alfresco-modeler-app'
- stage: Update children projects dependency # Test Update activiti-modeling-app
name: Update alfresco modeler activiti app
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Activiti/activiti-modeling-app'
- stage: Update children projects dependency # Test alfresco-admin-app
name: Update alfresco admin app
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/alfresco-admin-app'
- stage: e2e Test # Test core
name: core
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "core$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
node ./scripts/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
node ./scripts/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder core --skip-lint -save --use-dist || exit 1;
fi;
- stage: e2e Test # Test process-services
name: process-services
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
node ./scripts/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder process-services --skip-lint --use-dist || exit 1;
fi;
- stage: e2e Test # Test content-services
name: content-services
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
node ./scripts/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder content-services --skip-lint --use-dist || exit 1;
fi;
- stage: e2e Test # Test search
name: search
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
node ./scripts/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder search --skip-lint --use-dist || exit 1;
fi;
- stage: e2e Test # Test process-services-cloud
name: process-services-cloud
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
node ./scripts/check-activiti-env.js --host "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --client 'activiti' || exit 1;
./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder process-services-cloud --skip-lint --use-dist -timeout 8000 || exit 1;
fi;
- stage: e2e Test # Test insights
name: insights
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
node ./scripts/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1;
./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder insights --skip-lint --use-dist || exit 1;
fi;
- stage: Create Docker and Deploy Docker PR
script:
- if [ "$TRAVIS_PULL_REQUEST" != "false" ];
then
node ./scripts/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1);
fi;
- if [ "$TRAVIS_PULL_REQUEST" != "false" ];
then
(node --no-deprecation ./scripts/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1);
fi;
# Send coverage data to codecov
after_success:
bash <(curl -s https://codecov.io/bash) -X gcov
cache:
directories:
- node_modules
- demo-shell/dist
- tmp
-5
View File
@@ -1,5 +0,0 @@
{
"recommendations": [
"meterian.meterian-heidi"
]
}
+5 -10
View File
@@ -5,8 +5,10 @@
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/coverage": true,
"**/.happypack": true
},
"editor.renderIndentGuides": true,
"markdownlint.config": {
"MD032": false,
"MD004": false,
@@ -20,14 +22,7 @@
"stylelint.enable": true,
"css.validate": false,
"scss.validate": false,
"stylelint.configFile": "${workspaceFolder}/.stylelintrc.json",
"stylelint.configBasedir": "${workspaceFolder}",
"stylelint.validate": [
"css",
"less",
"postcss",
"scss"
],
"editor.guides.indentation": true,
"typescript.tsdk": "node_modules/typescript/lib"
"stylelint.config": {
"extends": "./stylelint-config"
}
}
+3 -1
View File
@@ -103,6 +103,8 @@ Create a file next to the project's `package.json`, call it `proxy.conf.json` an
Note that if you are running the App, Content Service or Process Service on different ports, you should change the ports accordingly in your local configuration.
For further details about how to configure a webpack proxy please refer to the [official documentation](https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md).
## Configure nginx proxy
@@ -149,7 +151,7 @@ See the [Alfresco community page](https://community.alfresco.com/community/appli
If you want to completely enable CORS calls in your Content Services and Process Services,
please refer to the following Alfresco documents:
* [Enable Cross Origin Resource Sharing (CORS) in Alfresco Process Services](https://support.hyland.com/r/Alfresco/Alfresco-Process-Services/24.4/Alfresco-Process-Services/Configure/Overview/CORS)
* [Enable Cross Origin Resource Sharing (CORS) in Alfresco Process Services](http://docs.alfresco.com/process-services1.6/topics/enabling-cors.html)
* Enable Cross Origin Resource Sharing (CORS) in Alfresco Content Services
+54
View File
@@ -0,0 +1,54 @@
# Browser Support
This page gives a guide to Browser support and polyfills.
Browser compatibility and support depends on targeted browsers and 3rd party libraries. ADF is based on the following libraries and components:
- Angular (all ADF components)
- Moment.js (many ADF components)
- PDF.js (`ng2-alfresco-viewer` component)
- Raphael.js (`ng2-alfresco-diagrams`, `ng2-alfresco-analytics`)
- Chart.js (`ng2-alfresco-analytics`)
## Browser polyfills
### Angular
Please refer to the [official guide](https://angular.io/docs/ts/latest/guide/browser-support.html) for Angular browser support.
ADF (demo shell) imports by default the following set of recommended polyfills:
- [core-js](https://www.npmjs.com/package/core-js) (ES6 standard support)
### 3rd party libraries
Please refer to the following list of [popular polyfills](https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills) for HTML5 cross-browser compatibility.
ADF (demo shell) imports by default the following set of recommended polyfills:
- [intl](https://www.npmjs.com/package/intl), Polyfill the ECMA-402 Intl API (except collation), **IE**/**Safari**
- [pdfjs compatibility](https://www.npmjs.com/package/pdfjs-dist), Portable Document Format (PDF) library that is built with HTML5, **IE**
## Example
```html
<!-- Polyfill(s) for Safari (pre-10.x) -->
<script src="node_modules/intl/dist/Intl.min.js"></script>
<script src="node_modules/intl/locale-data/jsonp/en.js"></script>
<!-- Polyfill(s) for older browsers -->
<script src="node_modules/core-js/client/shim.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/dom4/1.8.3/dom4.js"></script>
<script src="node_modules/element.scrollintoviewifneeded-polyfill/index.js"></script>
<!-- Polyfill(s) for pdf support -->
<script src="node_modules/pdfjs-dist/web/compatibility.js"></script>
<!-- Polyfill(s) for dialogs -->
<script src="node_modules/dialog-polyfill/dialog-polyfill.js"></script>
<link rel="stylesheet" type="text/css" href="node_modules/dialog-polyfill/dialog-polyfill.css" />
```
See the [demo shell](demo-shell/index.html) example project for
further information and source code.
+11 -8
View File
@@ -13,10 +13,10 @@ Before you submit a pull request please follow the steps below:
* Search in the [GitHub release history](https://github.com/Alfresco/alfresco-ng2-components/releases) to see if your
issue has already been solved in a new version of ADF.
* Fork our repository (if you don't know how to do this, read [this GitHub document](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)).
* Make your changes in a new git branch starting from develop and following our [naming convention](https://github.com/Alfresco/alfresco-ng2-components/wiki/Branching-Strategy)
* Make your changes in a new git branch starting from development and following our [naming convention](https://github.com/Alfresco/alfresco-ng2-components/wiki/Branching-Strategy)
```shell
git checkout -b dev-{developerName}-{GitIssuedId/JiraIssueId} develop
git checkout -b dev-{developerName}-{GitIssuedId/JiraIssueId} development
```
* Create your PR **including appropriate test cases** following the [code contribution acceptance criteria](https://github.com/Alfresco/alfresco-ng2-components/wiki/Code-contribution-acceptance-criteria)
@@ -28,16 +28,16 @@ Before you submit a pull request please follow the steps below:
git push origin dev-{developerName}-{GitIssuedId/JiraIssueId}
```
* In GitHub, send a pull request to `develop`.
* In GitHub, send a pull request to `development`.
* If we suggest changes then:
* Make the required updates.
* Re-run the tests.
* Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
```shell
git fetch develop
git fetch development
git checkout dev-my-branch
git rebase develop -i
git rebase development -i
git push -f
```
Note: If you need more information about how to sync your fork, see [this page](https://help.github.com/articles/syncing-a-fork/).
@@ -45,11 +45,14 @@ Note: If you need more information about how to sync your fork, see [this page](
## Code style
The code style for ADF follows the [Angular style guide](https://angular.io/guide/styleguide) plus some internal rules.
You dont have to worry too much about those rules because they are automatically checked by tslint/codelyzer/adf-rules.
If your code is not compliant with one of these rules you will see an error when you build the project along with some help on how to fix it.
The codebase is also checked with:
The ADF-Rules are as follows:
- ESLint tool
- Stylelint tool
* File name component/directive cannot start with Alfresco/Activiti/adf - this rule is to help developers find files easily
* Class names cannot start with Alfresco/Activiti/adf for the same reason as above
* scss is mandatory. All the classes need to have the `adf-` prefix
## Test guide
+41
View File
@@ -0,0 +1,41 @@
# 1. Generate licenses
FROM node:11.9-alpine AS builder
WORKDIR /usr/src/alfresco
COPY package.json package.json
RUN mkdir -p ./licenses && \
yarn licenses list > ./licenses/licenses.txt && \
yarn licenses generate-disclaimer > ./licenses/disclaimer.txt
# 2. Generate image
FROM nginx:stable-alpine
LABEL version="3.0.0"
ARG GROUPNAME=Alfresco
ARG GROUPID=1000
ARG USERNAME=adf
ARG USERID=33011
ARG BUILD_NUMBER
COPY ./docker/nginx.conf /etc/nginx/nginx.conf
COPY ./docker/entrypoint.sh /
WORKDIR /usr/share/nginx/html
COPY demo-shell/dist/ .
COPY --from=builder /usr/src/alfresco/licenses ./licenses
RUN addgroup -g ${GROUPID} ${GROUPNAME} && \
adduser -S -u ${USERID} -G ${GROUPNAME} -s "/bin/bash" ${USERNAME} && \
chown -R ${USERNAME}:${GROUPNAME} ./${BUILD_NUMBER}/app.config.json && \
chown -R ${USERNAME}:${GROUPNAME} /var/cache/nginx && \
touch /var/run/nginx.pid && \
chown -R ${USERNAME}:${GROUPNAME} /var/run/nginx.pid && \
chmod +x /entrypoint.sh && \
chown -R ${USERNAME}:${GROUPNAME} /entrypoint.sh
EXPOSE 8080
USER ${USERNAME}
ENTRYPOINT [ "/entrypoint.sh" ]
+5
View File
@@ -0,0 +1,5 @@
# Introduction
See the [introduction page](docs/user-guide/adf-introduction.md) in our
[documentation](docs/README.md) for an overview of ADF along with links
to useful starting points.
+11
View File
@@ -0,0 +1,11 @@
# Prerequisites for building and running apps with the Alfresco Application Development Framework
See our tutorial
[Preparing the development environment](docs/tutorials/preparing-environment.md)
for full details of what you need to install before using ADF.
If you experience [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing)
issues then you should also read our
[CORS guide](ALFRESCOCORS.md)
to see the full range of solutions available.
+50 -54
View File
@@ -1,72 +1,68 @@
# Alfresco Application Development Framework (ADF)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/d9eb873741da403bb3284778102372e7)](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)
[![Join the chat at https://gitter.im/Alfresco/alfresco-ng2-components](https://badges.gitter.im/Alfresco/alfresco-ng2-components.svg)](https://gitter.im/Alfresco/alfresco-ng2-components?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
<p>
<a title='Build Status Travis' href="https://travis-ci.org/Alfresco/alfresco-ng2-components">
<img src='https://travis-ci.org/Alfresco/alfresco-ng2-components.svg?branch=master' alt='travis
Status' />
</a>
<a href='https://codecov.io/gh/Alfresco/alfresco-ng2-components'>
<img src='http://img.shields.io/codecov/c/github/Alfresco/alfresco-ng2-components/master.svg?maxAge=2592000' alt='Coverage Status' />
</a>
<a href='https://github.com/Alfresco/alfresco-ng2-components/blob/master/LICENSE'>
<img src='https://img.shields.io/hexpm/l/plug.svg' alt='license' />
</a>
</p>
## Introduction
See the [introduction page](docs/user-guide/adf-introduction.md) in our
[documentation](docs/README.md) for an overview of ADF along with links
to useful starting points.
See the [Introduction page](INTRODUCTION.md) to get started with the Alfresco Application Development Framework.
## Prerequisites
```text
Node: 18.x
NPM: 9.x
```
Also, check out the tutorial: [Creating your first ADF Application](docs/tutorials/creating-your-first-adf-application.md)
for full details on what you may need to install before using ADF.
### See also
- [Node Version Manager](docs/tutorials/nvm.md)
- [CORS guide](ALFRESCOCORS.md)
## Installation
This project uses **pnpm** for package management with built-in supply chain attack protection.
```bash
pnpm install # install all packages
pnpm run add <package> # add a new package (with security check)
```
### Supply Chain Security
**Layer 1: pnpm script blocking**
- All lifecycle scripts (postinstall, etc.) are blocked by default
- Only trusted packages in `pnpm-workspace.yaml` can run scripts
- Protects during `pnpm install` and `pnpm add`
**Layer 2: Security database check**
- `pnpm run add` checks packages against OSV and GitHub Advisory databases BEFORE installing
- Pre-commit hook blocks commits containing known malicious packages
**Layer 3: npm blocked**
- Running `npm install` will fail - enforces pnpm usage
Before you start using this development framework, make sure you have installed all required software and done all the necessary configuration. See our tutorial
[Preparing the development environment](docs/tutorials/preparing-environment.md)
for full details.
## Components
You can find the sources for all ADF components in the [`lib`](/lib) folder.
You can find the sources for all ADF components in the
[`lib`](/lib) folder.
## Libraries
Full documentation for all components is available at the
[ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
ADF Libraries list:
## Demo Application
- [Content services](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/content-services)
- [Core](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/core)
- [Extensions](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/extensions)
- [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)
A separate application showcasing integration of components can be found
[here](https://github.com/Alfresco/alfresco-ng2-components/tree/master/demo-shell).
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
[Yeoman Generator](https://github.com/Alfresco/generator-ng2-alfresco-app).
This will create a full working project with all the right libraries and tools.
<p align="center">
<img title="yeoman generator" src='https://github.com/yeoman/media/blob/master/optimized/yeoman-150x150-opaque.png' alt='yeoman logo' />
</p>
## Browser Support
All components are supported in the following browsers:
| **Browser** | **Version** |
|-------------|-------------|
| Chrome | Latest |
| Safari | Latest |
| Firefox | Latest |
| Edge | Latest |
|**Browser** |**Version** |
|--- |--- |
|Chrome |Latest |
|Safari (OS X) |9.x |
|Firefox* |Latest |
|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.
See the [Browser Support](BROWSER-SUPPORT.md) article for more details.
+818
View File
@@ -0,0 +1,818 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "lib",
"projects": {
"dist": {
"root": "demo-shell",
"sourceRoot": "demo-shell/src",
"projectType": "application",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "demo-shell/dist",
"index": "demo-shell/src/index.html",
"main": "demo-shell/src/main.ts",
"tsConfig": "demo-shell/src/tsconfig.app.json",
"polyfills": "demo-shell/src/polyfills.ts",
"stylePreprocessorOptions": {
"includePaths": [
"demo-shell/src/node_modules"
]
},
"assets": [
"demo-shell/src/assets",
"demo-shell/src/favicon.ico",
"demo-shell/src/app.config.json",
"demo-shell/src/versions.json",
{
"glob": "**/*",
"input": "demo-shell/resources",
"output": "/resources"
},
{
"glob": "**/*",
"input": "demo-shell/src/app/components/lazy-loading/i18n",
"output": "/resources/lazy-loading/i18n"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-core/prebuilt-themes",
"output": "/assets/prebuilt-themes"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-core/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-insights/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-process-services/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-process-services-cloud/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-content-services/bundles/assets",
"output": "/assets"
},
{
"glob": "pdf.worker.min.js",
"input": "node_modules/pdfjs-dist/build",
"output": "/"
},
{
"glob": "**/*",
"input": "node_modules/ngx-monaco-editor/assets/monaco",
"output": "/assets/monaco/"
}
],
"styles": [
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style.scss"
],
"scripts": [
"node_modules/pdfjs-dist/build/pdf.js",
"node_modules/pdfjs-dist/web/pdf_viewer.js",
"node_modules/raphael/raphael.min.js",
"node_modules/moment/min/moment.min.js"
]
},
"configurations": {
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": true,
"buildOptimizer": true,
"verbose": false,
"fileReplacements": [
{
"replace": "demo-shell/src/environments/environment.ts",
"with": "demo-shell/src/environments/environment.prod.ts"
}
]
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "dist:build",
"port": 3000
},
"configurations": {
"production": {
"browserTarget": "dist:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "dist:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "demo-shell/src/test.ts",
"karmaConfig": "./demo-shell/karma.conf.js",
"polyfills": "demo-shell/src/polyfills.ts",
"tsConfig": "demo-shell/src/tsconfig.spec.json",
"scripts": [
"node_modules/pdfjs-dist/build/pdf.js",
"node_modules/pdfjs-dist/web/pdf_viewer.js",
"node_modules/raphael/raphael.min.js",
"node_modules/moment/min/moment.min.js"
],
"styles": [
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style.scss"
],
"assets": [
"demo-shell/src/assets",
"demo-shell/src/favicon.ico",
"demo-shell/src/app.config.json",
"demo-shell/src/versions.json",
{
"glob": "**/*",
"input": "demo-shell/resources",
"output": "/resources"
},
{
"glob": "**/*",
"input": "demo-shell/src/app/components/lazy-loading/i18n",
"output": "/resources/lazy-loading/i18n"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-core/prebuilt-themes",
"output": "/assets/prebuilt-themes"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-core/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-insights/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-process-services/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-process-services-cloud/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-content-services/bundles/assets",
"output": "/assets"
},
{
"glob": "pdf.worker.min.js",
"input": "node_modules/pdfjs-dist/build",
"output": "/"
},
{
"glob": "**/*",
"input": ".node_modules/ngx-monaco-editor/assets/monaco",
"output": "/assets/monaco/"
}
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"./demo-shell/src/tsconfig.app.json"
],
"exclude": [
"**/node_modules/**/*"
]
}
}
}
},
"dev": {
"root": "demo-shell",
"sourceRoot": "demo-shell/src",
"projectType": "application",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "demo-shell/dist",
"index": "demo-shell/src/index.html",
"main": "demo-shell/src/main.ts",
"tsConfig": "demo-shell/src/tsconfig.dev.json",
"polyfills": "demo-shell/src/polyfills.ts",
"stylePreprocessorOptions": {
"includePaths": [
"lib"
]
},
"assets": [
"demo-shell/src/assets",
"demo-shell/src/app.config.json",
"demo-shell/src/versions.json",
{
"glob": "**/*",
"input": "demo-shell/src/assets",
"output": "/assets"
},
{
"glob": "app.config.json",
"input": "demo-shell/src",
"output": "/"
},
{
"glob": "versions.json",
"input": "demo-shell/src",
"output": "/"
},
{
"glob": "**/*",
"input": "demo-shell/resources",
"output": "/resources"
},
{
"glob": "**/*",
"input": "demo-shell/src/app/components/lazy-loading/i18n",
"output": "/resources/lazy-loading/i18n"
},
{
"glob": "**/*",
"input": "lib/dist/core/prebuilt-themes",
"output": "/assets/prebuilt-themes"
},
{
"glob": "**/*",
"input": "lib/core/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/process-services/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/process-services-cloud/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/content-services/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/core/i18n",
"output": "/assets/adf-core/i18n"
},
{
"glob": "**/*",
"input": "lib/content-services/i18n",
"output": "/assets/adf-content-services/i18n"
},
{
"glob": "**/*",
"input": "lib/process-services/i18n",
"output": "/assets/adf-process-services/i18n"
},
{
"glob": "**/*",
"input": "lib/process-services-cloud/src/lib/i18n",
"output": "/assets/adf-process-services-cloud/i18n"
},
{
"glob": "**/*",
"input": "lib/insights/i18n",
"output": "/assets/adf-insights/i18n"
},
{
"glob": "pdf.worker.min.js",
"input": "node_modules/pdfjs-dist/build",
"output": "/"
},
{
"glob": "**/*",
"input": "node_modules/ngx-monaco-editor/assets/monaco",
"output": "/assets/monaco/"
}
],
"styles": [
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss"
],
"scripts": [
"node_modules/pdfjs-dist/build/pdf.js",
"node_modules/pdfjs-dist/web/pdf_viewer.js",
"node_modules/raphael/raphael.min.js",
"node_modules/moment/min/moment.min.js"
]
},
"configurations": {
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": true,
"buildOptimizer": true,
"verbose": false,
"fileReplacements": [
{
"replace": "demo-shell/src/environments/environment.ts",
"with": "demo-shell/src/environments/environment.prod.ts"
}
]
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "dev:build",
"port": 3000
},
"configurations": {
"production": {
"browserTarget": "dev:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "dev:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "demo-shell/src/test.ts",
"karmaConfig": "./demo-shell/karma.conf.js",
"polyfills": "demo-shell/src/polyfills.ts",
"tsConfig": "demo-shell/src/tsconfig.spec.json",
"scripts": [
"node_modules/pdfjs-dist/build/pdf.js",
"node_modules/pdfjs-dist/web/pdf_viewer.js",
"node_modules/raphael/raphael.min.js",
"node_modules/moment/min/moment.min.js"
],
"styles": [
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss"
],
"assets": [
"demo-shell/src/assets",
"demo-shell/src/app.config.json",
"demo-shell/src/versions.json",
{
"glob": "**/*",
"input": "demo-shell/src/assets",
"output": "/assets"
},
{
"glob": "app.config.json",
"input": "demo-shell/src",
"output": "/"
},
{
"glob": "versions.json",
"input": "demo-shell/src",
"output": "/"
},
{
"glob": "**/*",
"input": "demo-shell/resources",
"output": "/resources"
},
{
"glob": "**/*",
"input": "demo-shell/src/app/components/lazy-loading/i18n",
"output": "/resources/lazy-loading/i18n"
},
{
"glob": "**/*",
"input": "lib/dist/core/prebuilt-themes",
"output": "/assets/prebuilt-themes"
},
{
"glob": "**/*",
"input": "lib/core/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/process-services/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/process-services-cloud/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/content-services/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/core/i18n",
"output": "/assets/adf-core/i18n"
},
{
"glob": "**/*",
"input": "lib/content-services/i18n",
"output": "/assets/adf-content-services/i18n"
},
{
"glob": "**/*",
"input": "lib/process-services/i18n",
"output": "/assets/adf-process-services/i18n"
},
{
"glob": "**/*",
"input": "lib/process-services-cloud/src/lib/i18n",
"output": "/assets/adf-process-services-cloud/i18n"
},
{
"glob": "**/*",
"input": "lib/insights/i18n",
"output": "/assets/adf-insights/i18n"
},
{
"glob": "pdf.worker.min.js",
"input": "node_modules/pdfjs-dist/build",
"output": "/"
},
{
"glob": "**/*",
"input": "/node_modules/ngx-monaco-editor/assets/monaco",
"output": "/assets/monaco/"
}
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"./demo-shell/src/tsconfig.app.json"
],
"exclude": [
"**/node_modules/**/*"
]
}
}
}
},
"lib-e2e-test": {
"root": "demo-shell",
"sourceRoot": "./demo-shell",
"projectType": "application",
"architect": {
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"proxyConfig": "./e2e/proxy.conf.js",
"browserTarget": "dev:build",
"port": 3000
},
"configurations": {
"production": {
"browserTarget": "dev:build:production"
}
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "./protractor.conf.js",
"devServerTarget": "lib-e2e-test:serve"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [],
"exclude": [
"**/node_modules/**/*"
]
}
}
}
},
"core": {
"root": "lib/core",
"sourceRoot": "lib/core",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/core/tsconfig.lib.json",
"project": "lib/core/ng-package.json"
},
"configurations": {
"production": {
"project": "lib/core/ng-package.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/core/test.ts",
"tsConfig": "lib/core/tsconfig.spec.json",
"karmaConfig": "lib/core/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/core/tsconfig.lib.json",
"lib/core/tsconfig.lib.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"content-services": {
"root": "lib/content-services",
"sourceRoot": "lib/content-services",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/content-services/tsconfig.lib.json",
"project": "lib/content-services/ng-package.json"
},
"configurations": {
"production": {
"project": "lib/content-services/ng-package.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/content-services/test.ts",
"tsConfig": "lib/content-services/tsconfig.spec.json",
"karmaConfig": "lib/content-services/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/content-services/tsconfig.lib.json",
"lib/content-services/tsconfig.lib.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"process-services": {
"root": "lib/process-services",
"sourceRoot": "lib/process-services",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/process-services/tsconfig.lib.json",
"project": "lib/process-services/ng-package.json"
},
"configurations": {
"production": {
"project": "lib/process-services/ng-package.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/process-services/test.ts",
"tsConfig": "lib/process-services/tsconfig.spec.json",
"karmaConfig": "lib/process-services/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/process-services/tsconfig.lib.json",
"lib/process-services/tsconfig.lib.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"process-services-cloud": {
"root": "lib/process-services-cloud",
"sourceRoot": "lib/process-services-cloud/src",
"projectType": "library",
"prefix": "adf-cloud",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/process-services-cloud/tsconfig.lib.json",
"project": "lib/process-services-cloud/ng-package.json"
},
"configurations": {
"production": {
"project": "lib/process-services-cloud/ng-package.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/process-services-cloud/src/test.ts",
"tsConfig": "lib/process-services-cloud/tsconfig.spec.json",
"karmaConfig": "lib/process-services-cloud/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/process-services-cloud/tsconfig.lib.json",
"lib/process-services-cloud/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"insights": {
"root": "lib/insights",
"sourceRoot": "lib/insights/src",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/extensions/tsconfig.lib.json",
"project": "lib/insights/ng-package.json"
},
"configurations": {
"production": {
"project": "lib/insights/ng-package.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/insights/test.ts",
"tsConfig": "lib/extensions/tsconfig.spec.json",
"karmaConfig": "lib/insights/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/insights/tsconfig.lib.json",
"lib/insights/tsconfig.lib.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"extensions": {
"root": "lib/extensions",
"sourceRoot": "lib/extensions/src/lib",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/extensions/tsconfig.lib.json",
"project": "lib/extensions/ng-package.json"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/extensions/src/test.ts",
"tsConfig": "lib/extensions/tsconfig.spec.json",
"karmaConfig": "lib/extensions/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/extensions/tsconfig.lib.json",
"lib/extensions/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"testing": {
"root": "lib/testing",
"sourceRoot": "lib/testing/src",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/testing/tsconfig.lib.json",
"project": "lib/testing/ng-package.json"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/testing/src/test.ts",
"tsConfig": "lib/testing/tsconfig.spec.json",
"karmaConfig": "lib/testing/karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/testing/tsconfig.lib.json",
"lib/testing/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"defaultProject": "dist"
}
+63
View File
@@ -0,0 +1,63 @@
# Test against this version of Node.js
branches:
only:
- master
- development
- dev-build-test
environment:
nodejs_version: "8"
matrix:
- COMPONENT_NAME: process-service
- COMPONENT_NAME: content-service
- COMPONENT_NAME: core
- COMPONENT_NAME: insights
# - COMPONENT_NAME: ng2-demo-shell
# Install scripts. (runs after repo cloning)
install:
# Get the latest stable version of Node.js or io.js
- ps: Install-Product node $env:nodejs_version
# install module
- if %COMPONENT_NAME% EQU process-service (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "process-services" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "process-services" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU content-service (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "content-services" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "content-services" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU insights (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "insights" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "insights" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU core (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "core" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "core" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU process-service-cloud (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "process-services-cloud" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "process-services-cloud" -vjsapi alpha|| exit 1)
)
# - if %COMPONENT_NAME% EQU ng2-demo-shell (
# if %APPVEYOR_REPO_BRANCH EQU master
# (cd scripts && sh start.sh -t -ss || exit 1)
# else
# (cd scripts && sh start.sh -dev -t -ss -vjsapi alpha || exit 1)
# )
# Don't actually build.
build: off
matrix:
fast_finish: true
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

-13
View File
@@ -1,13 +0,0 @@
"project_id": "11"
"api_token_env": "CROWDIN_TOKEN"
"base_path": "."
"base_url": "https://hyland.api.crowdin.com"
"preserve_hierarchy": true
"files": [
{
"source": "/**/**/i18n/en.json",
"translation": "/%original_path%/%two_letters_code%.%file_extension%",
"export_only_approved": "true",
"update_option": "update_without_changes"
}
]
+118 -139
View File
@@ -1,164 +1,143 @@
{
"version": "0.2",
"version": "0.1",
"language": "en",
"words": [
"activiti",
"adhoc",
"CSRF",
"glyphicon",
"sharedlinks",
"Redistributable",
"fullscreen",
"sidenav",
"injectable",
"truthy",
"cryptodoc",
"mysites",
"afts",
"appkey",
"Arial",
"arrowdown",
"arrowup",
"auditable",
"AUTHTYPE",
"backend",
"baseitem",
"BASESHAREURL",
"berseria",
"booleanvisibility",
"booleanvisibilityprocess",
"boolitem",
"BPMECM",
"BPMHOST",
"cardview",
"checkboxes",
"classlist",
"folderlink",
"filelink",
"datatable",
"repo",
"snackbar",
"promisify",
"xdescribe",
"unfavorite",
"devtools",
"gitter",
"jira",
"markdownlint",
"uploader",
"nginx",
"docx",
"SOLR",
"unshare",
"validators",
"guid",
"polyfill",
"polyfills",
"jsonp",
"hammerjs",
"pdfjs",
"xpath",
"tooltip",
"tooltips",
"unindent",
"exif",
"cardview",
"webm",
"keycodes",
"adhoc",
"swimlanes",
"datepicker",
"waypoints",
"waypoint",
"hotfix",
"typeahead",
"gridster",
"Collapsable",
"rowspan",
"typeahead",
"tabindex",
"Arial",
"swsdp",
"Datetimepicker",
"mimetype",
"multiselect",
"arrowup",
"arrowdown",
"dialpad",
"backend",
"Unclaim",
"transclusion",
"transcluded",
"auditable",
"taggable",
"datarow",
"datacolumn",
"textitem",
"boolitem",
"mapitem",
"selectitem",
"keyvaluepairsitem",
"boolitem",
"baseitem",
"checkboxes",
"tasklist",
"dateitem",
"webscript",
"minlength",
"doclib",
"fullname",
"firstname",
"lastname",
"userinfo",
"qshare",
"imgpreview",
"AUTHTYPE",
"ECMHOST",
"BPMHOST",
"OAUTHCONFIG",
"CONTEXTROOTBPM",
"CONTEXTROOTECM",
"cryptodoc",
"CSRF",
"datacolumn",
"datarow",
"Datasource",
"datatable",
"dateitem",
"datepicker",
"datetimeitem",
"Datetimepicker",
"dbpci",
"DDTHH",
"devops",
"devtools",
"dialpad",
"DISABLECSRF",
"doclib",
"docx",
"dropdownrestprocess",
"Droppable",
"dryrun",
"ECMBPM",
"ECMHOST",
"edjs",
"Examinate",
"exif",
"filedata",
"filelink",
"filesize",
"firstname",
"floatitem",
"folderlink",
"formtotestvalidations",
"fullname",
"fullscreen",
"gitter",
"glyphicon",
"gridster",
"hardend",
"highlightable",
"hotfix",
"Hyland",
"imgpreview",
"Inplace",
"intitem",
"jira",
"jsons",
"jwks",
"keycodes",
"keyvaluepairs",
"keyvaluepairsitem",
"lastname",
"listgrid",
"mapitem",
"mimetype",
"mincount",
"minlength",
"minmax",
"MLTEXT",
"mousedrag",
"mouseenter",
"multiselect",
"mysites",
"numbervisibilityprocess",
"OAUTHCONFIG",
"oidc",
"overridable",
"pdfjs",
"penta",
"printf",
"processparent",
"processstring",
"processwithstarteventform",
"processwithvariables",
"Promise",
"promisify",
"qshare",
"quicktime",
"repo",
"requirednumbervisibility",
"rowspan",
"selectitem",
"sharedlinks",
"sidenav",
"snackbar",
"SOLR",
"starteventform",
"subfolders",
"swimlanes",
"swsdp",
"tabindex",
"taggable",
"tasklist",
"textitem",
"mincount",
"listgrid",
"filesize",
"Theming",
"transcluded",
"transclusion",
"triggerable",
"truthy",
"typeahead",
"typeahed",
"uncheck",
"Unclaim",
"Undeployed",
"unfavorite",
"unlisten",
"unshare",
"quicktime",
"Promise",
"Examinate",
"highlightable",
"Droppable",
"UPDATEPERMISSIONS",
"uploader",
"uploadfileform",
"userinfo",
"validatable",
"validators",
"waypoint",
"waypoints",
"webm",
"Whitespaces",
"xdescribe",
"xsrf",
"zestiria",
"webscript"
"keyvaluepairs",
"datetimeitem",
"floatitem",
"intitem",
"DDTHH",
"MLTEXT",
"penta",
"BASESHAREURL",
"hardend",
"filedata",
"uncheck",
"subfolders",
"ECMBPM",
"candidateuserapp",
"processwithvariables"
],
"dictionaries": [
"html",
"en-gb",
"en_US",
"softwareTerms",
"node"
"softwareTerms"
],
"ignorePaths": [
"lib/{content-services,core,extensions,insights,process-services}/**/*.spec.ts",
"lib/{content-services,core,extensions,insights,process-services}/**/*.mock.ts",
"**/*.stories.ts"
"lib/{content-services,core,extensions,insights,process-services}/**/*.mock.ts"
],
"ignoreRegExpList": [
"(\"|'|`)((?:\\\\1|(?:(?!\\1).))*)\\1"
+60
View File
@@ -0,0 +1,60 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
/dist
/tmp
/out-tsc
# dependencies
/node_modules
# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
testem.log
/typings
# e2e
/e2e/*.js
/e2e/*.map
# System Files
.DS_Store
Thumbs.db
typings/
node_modules/
bower_components/
lib/
app/**/*.js
app/**/*.js.map
app/**/*.d.ts
!app/js/Polyline.js
.idea
**/versions.json
dist/
coverage/
!/e2e/protractor.conf.js
+75
View File
@@ -0,0 +1,75 @@
# ADF Demo Application
Please note that this application is not an official product, but a testing and demo application to showcase complex interactions of ADF components.
## Installing
To correctly use this demo check that on your machine you have [Node](https://nodejs.org/en/) version 5.x.x or higher.
```sh
git clone https://github.com/Alfresco/alfresco-ng2-components.git
cd alfresco-ng2-components
npm install
npm start
```
## Proxy settings and CORS
To simplify development and reduce the time to get the application started, we have the following Proxy settings:
- **http://localhost:3000/ecm** is mapped to **http://localhost:8080**
- **http://localhost:3000/bpm** is mapped to **http://localhost:9999**
The settings above address most common scenarios for running ACS on port 8080 and APS on port 9999 and allow you to skip the CORS configuration.
If you would like to change default proxy settings, please edit the `proxy.conf.js` file.
## Application settings (server-side)
All server-side application settings are stored in the [src/app.config.json](src/app.config.json).
By default the configuration files have the content similar to the following one:
```json
{
"$schema": "../../lib/core/app-config/schema.json",
"ecmHost": "http://{hostname}:{port}",
"bpmHost": "http://{hostname}:{port}",
"application": {
"name": "Alfresco ADF Application"
}
}
```
## Development build
```sh
npm start
```
This command compiles and starts the project in watch mode.
Browser will automatically reload upon changes.
Upon start you can navigate to `http://localhost:3000` with your preferred browser.
### Important notes
This script is recommended for development environment and not suited for headless servers and network access.
## Production build
```sh
npm run build
npm run start:dist
```
This command builds project in `production` mode.
All output is placed to `dist` folder and can be served to your preferred web server.
You should need no additional files outside the `dist` folder.
## Development branch build
If you want to run the demo shell with the latest changes from the development branch, use the following command from the /script folder:
```sh
npm run start:dev
```
+77
View File
@@ -0,0 +1,77 @@
var port = process.env.PORT || 3000,
http = require('http'),
fs = require('fs'),
url = require('url'),
mime = require('mime'),
html = fs.readFileSync('index.html');
var log = function(entry) {
fs.appendFileSync('/tmp/sample-app.log', new Date().toISOString() + ' - ' + entry + '\n');
};
var server = http.createServer(function (req, res) {
// Parse the request containing file name
var pathname = url.parse(req.url).pathname;
// Print the name of the file for which request is made.
console.log("Request for " + pathname + " received.");
if (req.method === 'POST') {
var body = '';
req.on('data', function(chunk) {
body += chunk;
});
req.on('end', function() {
if (req.url === '/') {
log('Received message: ' + body);
} else if (req.url = '/scheduled') {
log('Received task ' + req.headers['x-aws-sqsd-taskname'] + ' scheduled at ' + req.headers['x-aws-sqsd-scheduled-at']);
}
res.writeHead(200, 'OK', {'Content-Type': 'text/plain'});
res.end();
});
} else {
var filename = pathname.substr(1);
if(filename === '' || filename.indexOf('.') === -1){
filename = 'index.html';
}
// Read the requested file content from file system
fs.readFile(filename, function (err, data) {
if (err) {
console.log(err, filename);
// HTTP Status: 404 : NOT FOUND
// Content Type: text/plain
res.writeHead(404, {'Content-Type': 'text/html'});
}else{
//Page found
// HTTP Status: 200 : OK
// Content Type: text/plain
var type = mime.lookup(filename);
console.log('type',type);
if (!res.getHeader('content-type')) {
var charset = mime.charsets.lookup(type);
res.setHeader('Content-Type', type + (charset ? '; charset=' + charset : ''));
}
if(type.indexOf('image') > -1 || type.indexOf('font') > -1){
var img = fs.readFileSync(pathname.substr(1));
res.end(img, 'binary');
}else{
res.write(data.toString());
}
// Write the content of the file to response body
}
// Send the response body
res.end();
});
}
});
// Listen on port 3000, IP defaults to 127.0.0.1
server.listen(port);
// Put a friendly message on the terminal
console.log('Server running at http://127.0.0.1:' + port + '/');
+31
View File
@@ -0,0 +1,31 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { MyAppPage } from './app.po';
describe('MyApp App', () => {
let page: MyAppPage;
beforeEach(() => {
page = new MyAppPage();
});
it('should display toolbar', () => {
page.navigateTo();
expect(page.getToolbar()).toBeDefined();
});
});
+28
View File
@@ -0,0 +1,28 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { browser, element, by } from 'protractor';
export class MyAppPage {
navigateTo() {
return browser.get('/');
}
getToolbar() {
return element(by.tagName('adf-toolbar'));
}
}
+12
View File
@@ -0,0 +1,12 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"module": "commonjs",
"target": "es5",
"types":[
"jasmine",
"node"
]
}
}
+55
View File
@@ -0,0 +1,55 @@
// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html
module.exports = function (config) {
config.set({
basePath: './',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
require('karma-mocha-reporter')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
files: [],
preprocessors: {},
mime: {
'text/x-typescript': ['ts', 'tsx']
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'), reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true
},
customLaunchers: {
ChromeHeadless: {
base: 'Chrome',
flags: [
'--no-sandbox',
'--headless',
'--disable-gpu',
'--remote-debugging-port=9222'
]
}
},
captureTimeout: 180000,
browserDisconnectTimeout: 180000,
browserDisconnectTolerance: 3,
browserNoActivityTimeout: 300000,
reporters: ['mocha', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
+21
View File
@@ -0,0 +1,21 @@
{
"name": "Alfresco-ADF-Angular-Demo",
"description": "Demo shell for Alfresco Angular components",
"version": "3.2.1",
"author": "Alfresco Software, Ltd.",
"repository": {
"type": "git",
"url": "https://github.com/Alfresco/alfresco-ng2-components.git"
},
"bugs": {
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
},
"license": "Apache-2.0",
"keywords": [
"ng2",
"angular",
"angular2",
"alfresco"
],
"private": true
}
+25
View File
@@ -0,0 +1,25 @@
module.exports = {
"/alfresco": {
"target": "http://localhost:8080",
"secure": false,
"pathRewrite": {
"^/alfresco/alfresco": ""
},
"changeOrigin": true,
// workaround for REPO-2260
onProxyRes: function (proxyRes, req, res) {
const header = proxyRes.headers['www-authenticate'];
if (header && header.startsWith('Basic')) {
proxyRes.headers['www-authenticate'] = 'x' + header;
}
}
},
"/activiti-app": {
"target": "http://localhost:8080",
"secure": false,
"pathRewrite": {
"^/activiti-app/activiti-app": ""
},
"changeOrigin": true
}
};
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "التفاصيل",
"COMMENTS": "تعليقات",
"PROPERTIES": "الخصائص",
"VERSIONS": "الإصدارات"
},
"HOME": {
"TITLE": "المكونات الزاوّية لـ Alfresco",
"DOCUMENTATION": "الوثائق"
},
"LOGOUT": {
"TITLE": "صفحة الخروج",
"SUB_TITLE": "تم خروجك الآن",
"LOGIN": "دخول",
"HOME": "رئيسية"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "السماح بالحذف",
"SHOW_COMMENTS": "إظهار التعليقات على الإصدارات",
"ALLOW_DOWNLOAD": "تمكين تنزيل الإصدار",
"READ_ONLY": "للقراءة فقط",
"COMMENTS": "إظهار التعليقات"
},
"PERSONAL-FILES": "الملفات الشخصية",
"WARN-MULTIPLE-UPLOADS": "عرض تحذير للتحميلات المتعددة.",
"CUSTOM-PERMISSION-MESSAGE": "تمكين رسالة إذن مخصصة",
"MEDIUM-TIME-FORMAT": "تمكين تنسيق وقت متوسط لقائمة المستندات",
"SEARCH": {
"RADIO": {
"NONE": "بلا",
"ALL": "الكل",
"FOLDER": "مجلد",
"DOCUMENT": "مستند"
}
}
},
"title": "مرحبًا",
"VERSION": {
"NO_PERMISSION": "ليس لديك إذن لإدارة إصدارات هذا المحتوى",
"NO_PERMISSION_EVENT": "ليس لديك إذن ${event.permission} ل${event.action} ${event.type}",
"CHOOSE_FILE": "تحديد ملف لرؤية إصداراته",
"DIALOG": {
"CLOSE": "إغلاق",
"TITLE": "إدارة الإصدارات"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "إغلاق",
"TITLE": "بيانات تعريف"
}
},
"APP_LAYOUT": {
"APP": "تطبيق",
"APP_NAME": "تطبيق ADF التوضيحي",
"HOME": "رئيسية",
"NODE-SELECTOR": "محدد العقدة",
"SITES": "المواقع",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "مسار التنقل",
"NOTIFICATIONS": "إعلامات",
"TASK_LIST": "قائمة المهام",
"PROCESS_LIST": "مهام عملية",
"PROCESS_CLOUD": "سحابة العملية",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "دخول",
"CUSTOM_SOURCES": "مصادر مخصصة",
"DATATABLE": "جدول بيانات",
"DATATABLE_LAZY": "جدول بيانات (بطيء)",
"DOCUMENT_LIST": "قائمة المستندات",
"TEMPLATE": "قالب",
"FORM": "نموذج",
"FORM_LIST": "قائمة النماذج",
"FORM_LOADING": "تحميل النموذج",
"UPLOADER": "مُحمِّل",
"WEBSCRIPT": "برنامج الويب النصي",
"TAG": "علامة",
"TRASHCAN": "سلة المحذوفات",
"SOCIAL": "اجتماعي",
"SETTINGS": "إعدادات",
"CONFIG-EDITOR": "محرر التكوين",
"OVERLAY_VIEWER": "عارض مركّب",
"ABOUT": "حول",
"SEARCH": "بحث ممتد",
"EXTENDED_SEARCH_QUERY_BODY": "بحث ممتد بنص الاستعلام",
"WORD_TO_SEARCH": "بحث عن كلمة",
"SEARCH_CREATED_BY": "تم الإنشاء بواسطة",
"SEARCH_SERVICE_APPROACH": "حدد هذا لتعطيل خاصية الإدخال والتكوين باستخدام الخدمة",
"HEADER_DATA": "بيانات العنوان",
"TREE_VIEW": "طريقة عرض الشجرة",
"ICONS": "أيقونات",
"PEOPLE_GROUPS_CLOUD": "سحابة الأشخاص/المجموعة",
"PEOPLE_CLOUD": "مكون سحابة الأشخاص",
"GROUPS_CLOUD": "مكون سحابة المجموعة",
"CONFIRM-DIALOG": "مربع حوار التأكيد"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "حذف بشكل دائم",
"RESTORE": "استعادة"
},
"EMPTY_STATE": {
"TITLE": "المهملات فارغة",
"FIRST_TEXT": "تم نقل العناصر المحذوفة إلى المهملات.",
"SECOND_TEXT": "أفرغ المهملات لحذف العناصر بشكل دائم."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "تحديد متعدد (مع خانات اختيارات)",
"THUMBNAILS": "تمكين الصور المصغرة",
"ALLOW_DROP_FILES": "تمكين إسقاط ملفات في مجلد",
"MULTIPLE_FILE_UPLOAD": "تحميل ملفات متعددة",
"FOLDER_UPLOAD": "تحميل مجلد",
"CUSTOM_FILTER": "عامل تصفية امتدادات مخصص",
"MAX_SIZE": "عامل تصفية الحد الأقصى للحجم",
"ENABLE_VERSIONING": "تمكين تعيين الإصدار",
"DESCRIPTION_UPLOAD": "تمكين التحميل",
"ENABLE_INFINITE_SCROLL": "تمكين التمرير اللانهائي",
"MULTISELECT_DESCRIPTION": "استخدام Cmd (Mac) أو Ctrl (Windows) لتبديل تحديد العناصر المتعددة",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "قائمة أحدث الملفات فارغة"
},
"TITLE": "أحدث الملفات"
},
"COLUMNS": {
"DISPLAY_NAME": "اسم العرض",
"IS_LOCKED": "قفل",
"TAG": "علامة",
"NODE_ID": "معرف العقدة",
"CREATED_BY": "تم الإنشاء بواسطة",
"CREATED_ON": "تم الإنشاء في",
"CREATED": "تم الإنشاء",
"SIZE": "الحجم",
"DELETED_ON": "تم الحذف",
"DELETED_BY": "تم الحذف بواسطة"
},
"TOOLBAR": {
"CARDVIEW": "وضع عرض البطاقة",
"SHARE_EDIT": "إعدادات التحرير",
"NEW_FOLDER": "مجلد جديد",
"EDIT_FOLDER": "تحرير مجلد",
"DOWNLOAD": "تنزيل",
"DELETE": "حذف",
"FAVORITES": "إضافة إلى المفضلات",
"SHARE": "مشاركة",
"THEME": "تحديد نسق",
"SHOW_VERSION": "إظهار الإصدار",
"HIDE_VERSION": "إخفاء الإصدار",
"LISTVIEW": "وضع عرض القائمة",
"CREATE_LIBRARY": "إنشاء مكتبة"
},
"ACTIONS": {
"VERSIONS": "إدارة الإصدارات",
"LOCK": "قفل",
"METADATA": "معلومات",
"DOWNLOAD": "تنزيل",
"PERMISSION": "إذن",
"FOLDER": {
"COPY": "نسخ",
"MOVE": "نقل",
"DELETE": "حذف"
},
"DOCUMENT": {
"COPY": "نسخ",
"MOVE": "نقل",
"DELETE": "حذف",
"PROCESS_ACTION": "بدء العملية"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "إعادة تعيين إلى افتراضي",
"ADD_ROW": "إضافة صف",
"REPLACE_ROWS": "استبدال صفوف",
"REPLACE_COLUMNS": "استبدال أعمدة",
"LOAD_NODE": "تحميل عقدة",
"MULTISELECT": "تحديد متعدد",
"MULTISELECT_DESCRIPTION": "استخدام Cmd (Mac) أو Ctrl (Windows) لتبديل تحديد العناصر المتعددة"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "لم يتم تحديد تقرير. اختر تقريرًا من القائمة"
},
"PS-TAB": {
"TASKS-TAB": "المهام",
"PROCESSES-TAB": "العملية",
"REPORTS-TAB": "تقارير",
"SETTINGS-TAB": "إعدادات",
"START-TASK": "بدء مهمة",
"START-PROCESS": "بدء العملية",
"PROCESS-AUDIT-LOG": "سجل تدقيق العملية",
"TASK-AUDIT-LOG": "سجل تدقيق المهمة",
"TASK-SHOW-HEADER": "إظهار تفاصيل العنوان"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "تطبيق",
"SETTINGS_TAB": "إعدادات"
},
"FORM-LIST": {
"STORE": "متجر",
"RESTORE": "استعادة"
},
"FORM-LOADING": {
"FORM_DATA": "بيانات النموذج",
"FORM_DATA_MESSAGE": "إدخال قيم لملء النموذج",
"TYPEAHEAD_PLACEHOLDER": "التنبؤ بالحروف",
"RADIO_PLACEHOLDER": "زر الراديو",
"SELECT_PLACEHOLDER": "القائمة المنسدلة"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "تذييل الدخول",
"SHOW_REMEMBERME": "إظهار تذكرني",
"SHOW_SUCCESS_ROUTE": "إظهار طريق النجاح",
"CUSTOM_LOGO": "شعار مخصص"
},
"SEARCH": {
"RESULTS": "نتائج البحث",
"NO_RESULT": "لم يتم العثور على نتائج",
"FACET_FIELDS": {
"TYPE": "1:النوع",
"SIZE": "2:الحجم",
"CREATOR": "3:المُنشئ",
"MODIFIER": "4:المُعدل",
"CREATED": "5:تم الإنشاء"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "استعلامات واجهتي",
"CREATED_THIS_YEAR": "1.تم الإنشاء هذا العام",
"MIMETYPE": "2.النوع: HTML",
"XTRASMALL": "3.الحجم: فائق الصغر",
"SMALL": "4.الحجم: صغير",
"MEDIUM": "5.الحجم: متوسط",
"LARGE": "6.الحجم: كبير",
"XTRALARGE": "7.الحجم: فائق الكبر",
"XXTRALARGE": "8.الحجم: كبير XX"
}
},
"SOCIAL": {
"LIKE": "مكون الإعجاب",
"RATING": "مكون التقييم"
},
"TAG": {
"LIST": "خدمات محتوى علامات القائمة",
"INSERT": "إدراج معرف العقدة",
"NODE_LIST": "قائمة العلامات حسب معرف العقدة"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "إذن التوريث",
"INHERITED_PERMISSIONS_BUTTON": "تم توريث الإذن"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "إدراج معرف التطبيق",
"APP_ID_TYPE_ERROR": "يجب أن يكون معرف التطبيق رقمًا",
"NUMBER_TYPE_ERROR": "يجب أن تكون القيمة رقمًا",
"NUMBER_GREATER_THAN": "يجب أن تكون القيمة أكبر من {{ value }} أو تساويها"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "صفحة البدء"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "إدراج معرف التطبيق",
"APP_ID_TYPE_ERROR": "يجب أن يكون معرف التطبيق رقمًا",
"NUMBER_GREATER_THAN": "يجب أن تكون القيمة أكبر من {{ value }} أو تساويها"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "الترجمة الأولى للعنوان المخصص",
"GROUP-TITLE2-TRANSLATION-KEY": "الترجمة الثانية للعنوان المخصص",
"ERROR_CONTENT": {
"507": {
"TITLE": "قرص ACS ممتلئ",
"DESCRIPTION": "يتجاوز المحتوى حد سعة التخزين المكون للشبكة أو النظام",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "عودة إلى الرئيسية"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "العرض التوضيحي لسحابة قائمة العملية",
"CUSTOMIZE_FILTERS": "تخصيص عامل التصفية"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "تخصيص عامل التصفية"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "تحديد واحد",
"MULTI": "تحديد متعدد",
"PRESELECTED_VALUE": "تحديد مسبق: ",
"ROLE": "الأدوار: ",
"APP_NAME": "اسم التطبيق",
"APP_FILTER_MODE": "التصفية حسب اسم التطبيق",
"ROLE_FILTER_MODE": "التصفية حسب الدور",
"PRESELECT_VALIDATION": "التحديد المسبق للتحقق من الصحة"
},
"ABOUT": {
"TITLE": "مكونات إضافية",
"TABLE_HEADERS": {
"ID": "المعرف",
"NAME": "الاسم",
"VERSION": "الإصدار",
"VENDOR": "المورد",
"LICENSE": "الترخيص",
"RUNTIME": "وقت التشغيل",
"DESCRIPTION": "الوصف"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "تحديد متعدد",
"TESTING_MODE": "وضع الاختبار",
"SELECTION_MODE": "وضع التحديد",
"TASK_DETAILS_REDIRECTION": "عرض تفاصيل المهمة عند النقر فوق المهمة",
"PROCESS_DETAILS_REDIRECTION": "عرض تفاصيل العملية عند النقر على العملية"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Podrobnosti",
"COMMENTS": "Poznámky",
"PROPERTIES": "Vlastnosti",
"VERSIONS": "Verze"
},
"HOME": {
"TITLE": "Součásti Angular pro produkty Alfresco",
"DOCUMENTATION": "Dokumentace"
},
"LOGOUT": {
"TITLE": "Stránka pro odhlášení",
"SUB_TITLE": "Byli jste odhlášeni",
"LOGIN": "Přihlášení",
"HOME": "Domů"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Povolit odstranění",
"SHOW_COMMENTS": "Zobrazit komentáře k verzím",
"ALLOW_DOWNLOAD": "Povolit stažení verze",
"READ_ONLY": "Pouze ke čtení",
"COMMENTS": "Zobrazit komentáře"
},
"PERSONAL-FILES": "Osobní soubory",
"WARN-MULTIPLE-UPLOADS": "Zobrazit upozornění v případě hromadného odesílání",
"CUSTOM-PERMISSION-MESSAGE": "Povolit přizpůsobené oznámení o oprávnění",
"MEDIUM-TIME-FORMAT": "Povolit střední formát času v seznamu dokumentů",
"SEARCH": {
"RADIO": {
"NONE": "Žádné",
"ALL": "Vše",
"FOLDER": "Složka",
"DOCUMENT": "Dokument"
}
}
},
"title": "Vítejte",
"VERSION": {
"NO_PERMISSION": "Nemáte potřebná oprávnění pro správu verzí tohoto obsahu",
"NO_PERMISSION_EVENT": "Nemáte oprávnění „${event.permission}“ potřebná k použití akce „${event.action}“ pro „${event.type}“",
"CHOOSE_FILE": "Vyberte soubor, jehož verze si chcete prohlédnout",
"DIALOG": {
"CLOSE": "Zavřít",
"TITLE": "Spravovat verze"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Zavřít",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP": "Aplikace",
"APP_NAME": "Ukázková aplikace ADF",
"HOME": "Domů",
"NODE-SELECTOR": "Selektor uzlu",
"SITES": "Místa",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Popis cesty",
"NOTIFICATIONS": "Upozornění",
"TASK_LIST": "Seznam úkolů",
"PROCESS_LIST": "Seznam procesů",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "Zobrazení karty",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Přihlášení",
"CUSTOM_SOURCES": "Vlastní zdroje",
"DATATABLE": "Datová tabulka",
"DATATABLE_LAZY": "Datová tabulka (jednoduchá)",
"DOCUMENT_LIST": "Seznam dokumentů",
"TEMPLATE": "Šablona",
"FORM": "Formulář",
"FORM_LIST": "Seznam formulářů",
"FORM_LOADING": "Načítání formuláře",
"UPLOADER": "Nástroj pro odesílání",
"WEBSCRIPT": "Webový skript",
"TAG": "Tag",
"TRASHCAN": "Koš",
"SOCIAL": "Sociální",
"SETTINGS": "Nastavení",
"CONFIG-EDITOR": "Editor konfigurace",
"OVERLAY_VIEWER": "Zobrazení překrytí",
"ABOUT": "O aplikaci",
"SEARCH": "Rozšířené hledání",
"EXTENDED_SEARCH_QUERY_BODY": "Rozšířené hledání s textem dotazu",
"WORD_TO_SEARCH": "Hledat slovo",
"SEARCH_CREATED_BY": "Vytvořil(a)",
"SEARCH_SERVICE_APPROACH": "Označením této možnosti zakážete vstupní vlastnost a ke konfiguraci použijete službu",
"HEADER_DATA": "Data záhlaví",
"TREE_VIEW": "Stromová struktura",
"ICONS": "Ikony",
"PEOPLE_GROUPS_CLOUD": "Cloud osob/skupin",
"PEOPLE_CLOUD": "Součást cloudu osob",
"GROUPS_CLOUD": "Součást cloudu skupin",
"CONFIRM-DIALOG": "Dialogové okno s potvrzením"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Trvale odstranit",
"RESTORE": "Obnovit"
},
"EMPTY_STATE": {
"TITLE": "Koš je prázdný",
"FIRST_TEXT": "Odstraněné položky se přesunou do koše.",
"SECOND_TEXT": "Vysypáním koše můžete položky trvale odstranit."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Hromadný výběr (pomocí zaškrtávacích polí)",
"THUMBNAILS": "Povolit miniatury",
"ALLOW_DROP_FILES": "Povolit přetažení souborů do složky",
"MULTIPLE_FILE_UPLOAD": "Odeslání více souborů",
"FOLDER_UPLOAD": "Odeslat složku",
"CUSTOM_FILTER": "Vlastní filtr rozšíření",
"MAX_SIZE": "Filtr max. velikosti",
"ENABLE_VERSIONING": "Povolit více verzí",
"DESCRIPTION_UPLOAD": "Povolit odeslání",
"ENABLE_INFINITE_SCROLL": "Povolit nekonečné procházení",
"MULTISELECT_DESCRIPTION": "Pomocí klávesy Ctrl (Windows) nebo Cmd (Mac) můžete přepínat výběr více položek",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Seznam nedávných souborů je prázdný"
},
"TITLE": "Nedávné soubory"
},
"COLUMNS": {
"DISPLAY_NAME": "Zobrazované jméno",
"IS_LOCKED": "Zamknout",
"TAG": "Tag",
"NODE_ID": "ID uzlu",
"CREATED_BY": "Vytvořil(a)",
"CREATED_ON": "Vytvořeno",
"CREATED": "Vytvořeno",
"SIZE": "Velikost",
"DELETED_ON": "Odstraněno",
"DELETED_BY": "Odstranil(a)"
},
"TOOLBAR": {
"CARDVIEW": "Režim zobrazení karet",
"SHARE_EDIT": "Upravit nastavení",
"NEW_FOLDER": "Nová složka",
"EDIT_FOLDER": "Upravit složku",
"DOWNLOAD": "Stáhnout",
"DELETE": "Odstranit",
"FAVORITES": "Přidat mezi oblíbené",
"SHARE": "Sdílet",
"THEME": "Vybrat motiv",
"SHOW_VERSION": "Zobrazit verzi",
"HIDE_VERSION": "Skrýt verzi",
"LISTVIEW": "Režim zobrazení seznamu",
"CREATE_LIBRARY": "Vytvořit knihovnu"
},
"ACTIONS": {
"VERSIONS": "Spravovat verze",
"LOCK": "Zamknout",
"METADATA": "Informace",
"DOWNLOAD": "Stáhnout",
"PERMISSION": "Oprávnění",
"FOLDER": {
"COPY": "Kopírovat",
"MOVE": "Přesunout",
"DELETE": "Odstranit"
},
"DOCUMENT": {
"COPY": "Kopírovat",
"MOVE": "Přesunout",
"DELETE": "Odstranit",
"PROCESS_ACTION": "Zahájit proces"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Obnovit výchozí",
"ADD_ROW": "Přidat řádek",
"REPLACE_ROWS": "Nahradit řádky",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Nebyly zvoleny žádné zprávy. Vyberte zprávu ze seznamu"
},
"PS-TAB": {
"TASKS-TAB": "Úkoly",
"PROCESSES-TAB": "Proces",
"REPORTS-TAB": "Protokoly",
"SETTINGS-TAB": "Nastavení",
"START-TASK": "Zahájit úkol",
"START-PROCESS": "Zahájit proces",
"PROCESS-AUDIT-LOG": "Protokol auditu pro proces",
"TASK-AUDIT-LOG": "Protokol auditu pro úkol",
"TASK-SHOW-HEADER": "Zobrazit záhlaví podrobností"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Aplikace",
"SETTINGS_TAB": "Nastavení"
},
"FORM-LIST": {
"STORE": "Uložit",
"RESTORE": "Obnovit"
},
"FORM-LOADING": {
"FORM_DATA": "Data formuláře",
"FORM_DATA_MESSAGE": "Zadejte hodnoty do formuláře",
"TYPEAHEAD_PLACEHOLDER": "Začněte psát",
"RADIO_PLACEHOLDER": "Přepínač",
"SELECT_PLACEHOLDER": "Rozevírací seznam"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Zápatí přihlašování",
"SHOW_REMEMBERME": "Zobrazit tlačítko „Zapamatovat přihlášení“",
"SHOW_SUCCESS_ROUTE": "Zobrazit okna pro úspěšné přihlášení",
"CUSTOM_LOGO": "Vlastní logo"
},
"SEARCH": {
"RESULTS": "Výsledky hledání",
"NO_RESULT": "Nebyly nalezeny žádné výsledky",
"FACET_FIELDS": {
"TYPE": "1:Typ",
"SIZE": "2:Velikost",
"CREATOR": "3:Autor",
"MODIFIER": "4:Upravil(a)",
"CREATED": "5:Vytvořeno"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Moje dotazy na aspekty",
"CREATED_THIS_YEAR": "1.Vytvořeno tento rok",
"MIMETYPE": "2.Typ: HTML",
"XTRASMALL": "3.Velikost: extra malé",
"SMALL": "3.Velikost: malé",
"MEDIUM": "3.Velikost: střední",
"LARGE": "3.Velikost: velké",
"XTRALARGE": "3.Velikost: extra velké",
"XXTRALARGE": "3.Velikost: XX velké"
}
},
"SOCIAL": {
"LIKE": "Komponenta pro Líbí se mi",
"RATING": "Komponenta pro Hodnocení"
},
"TAG": {
"LIST": "Uvádět tagy Content Services",
"INSERT": "Vložit ID uzlu",
"NODE_LIST": "Řadit tagy dle ID uzlu"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Dědění oprávnění",
"INHERITED_PERMISSIONS_BUTTON": "Oprávnění bylo zděděno"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Vložit ID aplikace",
"APP_ID_TYPE_ERROR": "ID aplikace musí být číslo",
"NUMBER_TYPE_ERROR": "Hodnota musí být číslo",
"NUMBER_GREATER_THAN": "Hodnota musí být rovna nebo větší než {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Počáteční strana"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Vložit ID aplikace",
"APP_ID_TYPE_ERROR": "ID aplikace musí být číslo",
"NUMBER_GREATER_THAN": "Hodnota musí být rovna nebo větší než {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Vlastní překlad názvu 1",
"GROUP-TITLE2-TRANSLATION-KEY": "Vlastní překlad názvu 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "Disk ACS plný",
"DESCRIPTION": "Obsah přesahuje celkovou kvótu úložiště nastavenou pro síť nebo systém",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Zpět domů"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "Cloudová ukázka seznamu procesů",
"CUSTOMIZE_FILTERS": "Přizpůsobit filtr"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Přizpůsobit filtr"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Volba jedné položky",
"MULTI": "Volba více položek",
"PRESELECTED_VALUE": "Předvolená hodnota: ",
"ROLE": "Role: ",
"APP_NAME": "Název aplikace",
"APP_FILTER_MODE": "Filtrovat podle názvu aplikace",
"ROLE_FILTER_MODE": "Filtrovat podle role",
"PRESELECT_VALIDATION": "Ověření předvolené hodnoty"
},
"ABOUT": {
"TITLE": "Doplňky",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Název",
"VERSION": "Verze",
"VENDOR": "Dodavatel",
"LICENSE": "Licence",
"RUNTIME": "Délka",
"DESCRIPTION": "Popis"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Hromadný výběr",
"TESTING_MODE": "Testovací režim",
"SELECTION_MODE": "Režim výběru",
"TASK_DETAILS_REDIRECTION": "Zobrazit podrobnosti o úkolu při kliknutí na úkol",
"PROCESS_DETAILS_REDIRECTION": "Zobrazit podrobnosti o průběhu při kliknutí na proces"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detaljer",
"COMMENTS": "Kommentarer",
"PROPERTIES": "Egenskaber",
"VERSIONS": "Versioner"
},
"HOME": {
"TITLE": "Angular-komponenter til Alfresco",
"DOCUMENTATION": "Dokumentation"
},
"LOGOUT": {
"TITLE": "Side til at logge af",
"SUB_TITLE": "Du er nu logget af",
"LOGIN": "Log ind",
"HOME": "Hjem"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Tillad sletning",
"SHOW_COMMENTS": "Vis kommentarer til versioner",
"ALLOW_DOWNLOAD": "Aktivér versionsdownload",
"READ_ONLY": "Skrivebeskyttet",
"COMMENTS": "Vis kommentarer"
},
"PERSONAL-FILES": "Personlige filer",
"WARN-MULTIPLE-UPLOADS": "Vis advarsler for flere uploads.",
"CUSTOM-PERMISSION-MESSAGE": "Tillad meddelelse om brugerdefineret tilladelse",
"MEDIUM-TIME-FORMAT": "Tillad mellemlangt tidsformat for dokumentliste",
"SEARCH": {
"RADIO": {
"NONE": "Ingen",
"ALL": "Alle",
"FOLDER": "Mappe",
"DOCUMENT": "Dokument"
}
}
},
"title": "Velkommen",
"VERSION": {
"NO_PERMISSION": "Du har ikke tilladelse til at administrere versioner af dette indhold",
"NO_PERMISSION_EVENT": "Du har ikke tilladelsen ${event.permission} til at ${event.action} ${event.type}",
"CHOOSE_FILE": "Vælg en fil for at få vist dens versioner",
"DIALOG": {
"CLOSE": "Luk",
"TITLE": "Administrer versioner"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Luk",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP": "App",
"APP_NAME": "ADF-demoapp",
"HOME": "Hjem",
"NODE-SELECTOR": "Nodevælger",
"SITES": "Websteder",
"CONTENT_SERVICES": "Indholdstjenester",
"BREADCRUMB": "Brødkrumme",
"NOTIFICATIONS": "Meddelelser",
"TASK_LIST": "Opgaveliste",
"PROCESS_LIST": "Procesliste",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "Kortvisning",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Log ind",
"CUSTOM_SOURCES": "Brugerdefinerede kilder",
"DATATABLE": "Datatabel",
"DATATABLE_LAZY": "Datatabel (Lazy)",
"DOCUMENT_LIST": "Dokumentliste",
"TEMPLATE": "Skabelon",
"FORM": "Formular",
"FORM_LIST": "Formularliste",
"FORM_LOADING": "Formular indlæses",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Papirkurv",
"SOCIAL": "Social",
"SETTINGS": "Indstillinger",
"CONFIG-EDITOR": "Konfigurationseditor",
"OVERLAY_VIEWER": "Overlejringsfremviser",
"ABOUT": "Om",
"SEARCH": "Udvidet søgning",
"EXTENDED_SEARCH_QUERY_BODY": "Udvidet søgning med forespørgselstekst",
"WORD_TO_SEARCH": "Søg efter ord",
"SEARCH_CREATED_BY": "Oprettet af",
"SEARCH_SERVICE_APPROACH": "Vælg dette felt for at deaktivere inputegenskaben og konfigurere ved hjælp af tjenesten",
"HEADER_DATA": "Headerdata",
"TREE_VIEW": "Trævisning",
"ICONS": "Ikoner",
"PEOPLE_GROUPS_CLOUD": "Person/gruppecloud",
"PEOPLE_CLOUD": "Personcloudkomponent",
"GROUPS_CLOUD": "Gruppecloudkomponent",
"CONFIRM-DIALOG": "Bekræftelsesdialogboks"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Slet permanent",
"RESTORE": "Gendan"
},
"EMPTY_STATE": {
"TITLE": "Papirkurven er tom",
"FIRST_TEXT": "De elementer, du sletter, flyttes til papirkurven.",
"SECOND_TEXT": "Tøm papirkurven for at slette elementerne permanent."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Vælg flere (med afkrydsningsfelter)",
"THUMBNAILS": "Aktivér miniaturevisninger",
"ALLOW_DROP_FILES": "Aktivér Slip filer i en mappe",
"MULTIPLE_FILE_UPLOAD": "Upload af flere filer",
"FOLDER_UPLOAD": "Upload af mappe",
"CUSTOM_FILTER": "Filter for brugerdefinerede udvidelser",
"MAX_SIZE": "Filtrer efter maksimal størrelse",
"ENABLE_VERSIONING": "Aktivér versionering",
"DESCRIPTION_UPLOAD": "Tillad upload",
"ENABLE_INFINITE_SCROLL": "Aktivér uendelig rulning",
"MULTISELECT_DESCRIPTION": "Brug Kommando (Mac) eller Ctrl (Windows) for at vælge flere elementer",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Listen over de seneste filer er tom"
},
"TITLE": "Seneste filer"
},
"COLUMNS": {
"DISPLAY_NAME": "Visningsnavn",
"IS_LOCKED": "Lås",
"TAG": "Tag",
"NODE_ID": "Node-id",
"CREATED_BY": "Oprettet af",
"CREATED_ON": "Oprettet den",
"CREATED": "Oprettet",
"SIZE": "Størrelse",
"DELETED_ON": "Slettet",
"DELETED_BY": "Slettet af"
},
"TOOLBAR": {
"CARDVIEW": "Kortvisning",
"SHARE_EDIT": "Rediger indstillinger",
"NEW_FOLDER": "Ny mappe",
"EDIT_FOLDER": "Rediger mappe",
"DOWNLOAD": "Download",
"DELETE": "Slet",
"FAVORITES": "Angiv som favorit",
"SHARE": "Del",
"THEME": "Vælg et tema",
"SHOW_VERSION": "Vis version",
"HIDE_VERSION": "Skjul version",
"LISTVIEW": "Listevisning",
"CREATE_LIBRARY": "Opret bibliotek"
},
"ACTIONS": {
"VERSIONS": "Administrer versioner",
"LOCK": "Lås",
"METADATA": "Oplysninger",
"DOWNLOAD": "Download",
"PERMISSION": "Tilladelse",
"FOLDER": {
"COPY": "Kopiér",
"MOVE": "Flyt",
"DELETE": "Slet"
},
"DOCUMENT": {
"COPY": "Kopiér",
"MOVE": "Flyt",
"DELETE": "Slet",
"PROCESS_ACTION": "Start proces"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Nulstil til standard",
"ADD_ROW": "Tilføj række",
"REPLACE_ROWS": "Erstat rækker",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Du skal vælge en rapport på listen til venstre"
},
"PS-TAB": {
"TASKS-TAB": "Opgaver",
"PROCESSES-TAB": "Proces",
"REPORTS-TAB": "Rapporter",
"SETTINGS-TAB": "Indstillinger",
"START-TASK": "Start opgave",
"START-PROCESS": "Start proces",
"PROCESS-AUDIT-LOG": "Procesovervågningslog",
"TASK-AUDIT-LOG": "Opgaveovervågningslog",
"TASK-SHOW-HEADER": "Vis detaljer for header"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "App",
"SETTINGS_TAB": "Indstillinger"
},
"FORM-LIST": {
"STORE": "Gem",
"RESTORE": "Gendan"
},
"FORM-LOADING": {
"FORM_DATA": "Formulardata",
"FORM_DATA_MESSAGE": "Indtast værdier for at udfylde formularen",
"TYPEAHEAD_PLACEHOLDER": "Automatisk fuldførelse",
"RADIO_PLACEHOLDER": "Alternativknap",
"SELECT_PLACEHOLDER": "Rulleliste"
},
"LOGIN": {
"CONTENT_SERVICES": "Indholdstjenester",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Sidefod til login",
"SHOW_REMEMBERME": "Vis Husk mig",
"SHOW_SUCCESS_ROUTE": "Vis succesrute",
"CUSTOM_LOGO": "Brugerdefineret logo"
},
"SEARCH": {
"RESULTS": "Søgeresultater",
"NO_RESULT": "Der blev ikke fundet nogen resultater",
"FACET_FIELDS": {
"TYPE": "1: Type",
"SIZE": "2: Størrelse",
"CREATOR": "3: Opretter",
"MODIFIER": "4: Modifikator",
"CREATED": "5: Oprettet"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mine facetforespørgsler",
"CREATED_THIS_YEAR": "1. Oprettet i år",
"MIMETYPE": "2. Type: HTML",
"XTRASMALL": "3. Størrelse: xtra small",
"SMALL": "4. Størrelse: small",
"MEDIUM": "5. Størrelse: medium",
"LARGE": "6. Størrelse: large",
"XTRALARGE": "7. Størrelse: xtra large",
"XXTRALARGE": "8. Størrelse: XX large"
}
},
"SOCIAL": {
"LIKE": "Synes om-komponent",
"RATING": "Bedømmelse-komponent"
},
"TAG": {
"LIST": "Vis indholdstjenester for tags",
"INSERT": "Indsæt node-id",
"NODE_LIST": "Tagliste efter node-id"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Nedarv tilladelse",
"INHERITED_PERMISSIONS_BUTTON": "Tilladelsen er nedarvet"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Indsæt app-id",
"APP_ID_TYPE_ERROR": "App-id'et skal være et tal",
"NUMBER_TYPE_ERROR": "Værdien skal være et tal",
"NUMBER_GREATER_THAN": "Værdien skal være større end eller lig med {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Startside"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Indsæt app-id",
"APP_ID_TYPE_ERROR": "App-id'et skal være et tal",
"NUMBER_GREATER_THAN": "Værdien skal være større end eller lig med {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Brugerdefineret titel oversættelse et",
"GROUP-TITLE2-TRANSLATION-KEY": "Brugerdefineret titel oversættelse to",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS-disken er fuld",
"DESCRIPTION": "Indholdet overskrider den generelle lagerkvotegrænse, der er konfigureret for netværket eller systemet",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Tilbage til forsiden"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "CLOUDDEMO AF PROCESLISTE",
"CUSTOMIZE_FILTERS": "Tilpas dit filter"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Tilpas dit filter"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Enkeltvalg",
"MULTI": "Multivalg",
"PRESELECTED_VALUE": "Forudvælg: ",
"ROLE": "Roller: ",
"APP_NAME": "Appnavn",
"APP_FILTER_MODE": "Filtrer efter appnavn",
"ROLE_FILTER_MODE": "Filtrer efter rolle",
"PRESELECT_VALIDATION": "Forudvælg validering"
},
"ABOUT": {
"TITLE": "Plug-ins",
"TABLE_HEADERS": {
"ID": "Id",
"NAME": "Navn",
"VERSION": "Version",
"VENDOR": "Leverandør",
"LICENSE": "Licens",
"RUNTIME": "Kørselstidspunkt",
"DESCRIPTION": "Beskrivelse"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multivalg",
"TESTING_MODE": "Testtilstand",
"SELECTION_MODE": "Valgtilstand",
"TASK_DETAILS_REDIRECTION": "Vis opgavedetaljer på opgave ved at klikke",
"PROCESS_DETAILS_REDIRECTION": "Vis behandlingsdetaljer for processen ved at klikke"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Kommentare",
"PROPERTIES": "Eigenschaften",
"VERSIONS": "Versionen"
},
"HOME": {
"TITLE": "Angular-Komponenten für Alfresco",
"DOCUMENTATION": "Dokumentation"
},
"LOGOUT": {
"TITLE": "Seite 'Abmelden'",
"SUB_TITLE": "Sie sind nun abgemeldet.",
"LOGIN": "Anmelden",
"HOME": "Startseite"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Löschen zulassen",
"SHOW_COMMENTS": "Anmerkungen zu Versionen einblenden",
"ALLOW_DOWNLOAD": "Herunterladen von Version aktivieren",
"READ_ONLY": "Schreibgeschützt",
"COMMENTS": "Kommentare anzeigen"
},
"PERSONAL-FILES": "Persönliche Dateien",
"WARN-MULTIPLE-UPLOADS": "Warnung bei Mehrfach-Uploads anzeigen.",
"CUSTOM-PERMISSION-MESSAGE": "Meldung 'Benutzerdefinierte Berechtigung aktivieren'",
"MEDIUM-TIME-FORMAT": "Mittleres Zeitformat für Dokumentliste aktivieren",
"SEARCH": {
"RADIO": {
"NONE": "Keine",
"ALL": "Alle",
"FOLDER": "Ordner",
"DOCUMENT": "Dokument"
}
}
},
"title": "Willkommen",
"VERSION": {
"NO_PERMISSION": "Sie verfügen nicht über die nötige Berechtigung, um Versionen dieses Inhalts zu verwalten",
"NO_PERMISSION_EVENT": "Sie verfügen nicht über die nötige Berechtigung ('${event.permission}'), um ${event.action} zu ${event.type}",
"CHOOSE_FILE": "Wählen Sie eine Datei aus, um ihre Versionen anzuzeigen",
"DIALOG": {
"CLOSE": "Schließen",
"TITLE": "Versionen verwalten"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Schließen",
"TITLE": "Metadaten"
}
},
"APP_LAYOUT": {
"APP": "Anwendung",
"APP_NAME": "ADF-Demoanwendung",
"HOME": "Startseite",
"NODE-SELECTOR": "Node-Auswahl",
"SITES": "Sites",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"NOTIFICATIONS": "Benachrichtigungen",
"TASK_LIST": "Aufgabenliste",
"PROCESS_LIST": "Prozessliste",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Anmelden",
"CUSTOM_SOURCES": "Benutzerdefinierte Quellen",
"DATATABLE": "DataTable",
"DATATABLE_LAZY": "DataTable (Lazy)",
"DOCUMENT_LIST": "Dokumentliste",
"TEMPLATE": "Mustervorlage",
"FORM": "Formular",
"FORM_LIST": "Formularliste",
"FORM_LOADING": "Formular laden",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Papierkorb",
"SOCIAL": "Soziale Funktionen",
"SETTINGS": "Einstellungen",
"CONFIG-EDITOR": "Konfigurations-Editor",
"OVERLAY_VIEWER": "Overlay-Viewer",
"ABOUT": "Info",
"SEARCH": "Erweiterte Suche",
"EXTENDED_SEARCH_QUERY_BODY": "Erweiterte Suche mit Abfragetext",
"WORD_TO_SEARCH": "Suchbegriff",
"SEARCH_CREATED_BY": "Erstellt von",
"SEARCH_SERVICE_APPROACH": "Aktivieren Sie diese Option, um die Eingabeeigenschaft zu deaktivieren und die Nutzung des Services zu konfigurieren",
"HEADER_DATA": "Headerdaten",
"TREE_VIEW": "Strukturansicht",
"ICONS": "Symbole",
"PEOPLE_GROUPS_CLOUD": "Personen-/Gruppen-Cloud",
"PEOPLE_CLOUD": "Personen-Cloud-Komponente",
"GROUPS_CLOUD": "Gruppen-Cloud-Komponente",
"CONFIRM-DIALOG": "Bestätigungsdialog"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Endgültig löschen",
"RESTORE": "Wiederherstellen"
},
"EMPTY_STATE": {
"TITLE": "Papierkorb ist leer",
"FIRST_TEXT": "Gelöschte Elemente werden in den Papierkorb verschoben.",
"SECOND_TEXT": "Leeren Sie den Papierkorb, um die Elemente endgültig zu löschen."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Mehrfachauswahl (mit Kontrollkästchen)",
"THUMBNAILS": "Miniaturansichten aktivieren",
"ALLOW_DROP_FILES": "Ablegen von Dateien in Ordner aktivieren",
"MULTIPLE_FILE_UPLOAD": "Mehrere Dateien hochladen",
"FOLDER_UPLOAD": "Ordner hochladen",
"CUSTOM_FILTER": "Filter für benutzerdefinierte Erweiterungen",
"MAX_SIZE": "Filter für max. Größe",
"ENABLE_VERSIONING": "Versionsverwaltung aktivieren",
"DESCRIPTION_UPLOAD": "Hochladen aktivieren",
"ENABLE_INFINITE_SCROLL": "Unendlich Scrollen aktivieren",
"MULTISELECT_DESCRIPTION": "Mit der Befehls- (Mac) oder der Steuerungstaste (Windows) können Sie die Auswahl mehrerer Elemente umschalten",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Die Liste der zuletzt verwendeten Dateien ist leer"
},
"TITLE": "Zuletzt verwendete Dateien"
},
"COLUMNS": {
"DISPLAY_NAME": "Namen anzeigen",
"IS_LOCKED": "Sperren",
"TAG": "Tag",
"NODE_ID": "Node-ID",
"CREATED_BY": "Erstellt von",
"CREATED_ON": "Erstellt am",
"CREATED": "Erstellt",
"SIZE": "Größe",
"DELETED_ON": "Gelöscht",
"DELETED_BY": "Gelöscht von"
},
"TOOLBAR": {
"CARDVIEW": "Kartenansichtsmodus",
"SHARE_EDIT": "Einstellungen bearbeiten",
"NEW_FOLDER": "Neuer Ordner",
"EDIT_FOLDER": "Ordner bearbeiten",
"DOWNLOAD": "Herunterladen",
"DELETE": "Löschen",
"FAVORITES": "Zu Favoriten hinzufügen",
"SHARE": "Freigeben",
"THEME": "Farbschema auswählen",
"SHOW_VERSION": "Version anzeigen",
"HIDE_VERSION": "Version ausblenden",
"LISTVIEW": "Listenansichtsmodus",
"CREATE_LIBRARY": "Bibliothek erstellen"
},
"ACTIONS": {
"VERSIONS": "Versionen verwalten",
"LOCK": "Sperren",
"METADATA": "Info",
"DOWNLOAD": "Herunterladen",
"PERMISSION": "Berechtigung",
"FOLDER": {
"COPY": "Kopieren",
"MOVE": "Verschieben",
"DELETE": "Löschen"
},
"DOCUMENT": {
"COPY": "Kopieren",
"MOVE": "Verschieben",
"DELETE": "Löschen",
"PROCESS_ACTION": "Prozess starten"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Auf Standard zurücksetzen",
"ADD_ROW": "Zeile hinzufügen",
"REPLACE_ROWS": "Zeilen ersetzen",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Kein Bericht ausgewählt. Wählen Sie einen Bericht aus der Liste"
},
"PS-TAB": {
"TASKS-TAB": "Aufgaben",
"PROCESSES-TAB": "Prozess",
"REPORTS-TAB": "Berichte",
"SETTINGS-TAB": "Einstellungen",
"START-TASK": "Aufgabe starten",
"START-PROCESS": "Prozess starten",
"PROCESS-AUDIT-LOG": "Prozess-Audit-Protokoll",
"TASK-AUDIT-LOG": "Aufgaben-Audit-Protokoll",
"TASK-SHOW-HEADER": "Detailsheader anzeigen"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Anwendung",
"SETTINGS_TAB": "Einstellungen"
},
"FORM-LIST": {
"STORE": "Speichern",
"RESTORE": "Wiederherstellen"
},
"FORM-LOADING": {
"FORM_DATA": "Formulardaten",
"FORM_DATA_MESSAGE": "Geben Sie Werte ein, um das Formular auszufüllen",
"TYPEAHEAD_PLACEHOLDER": "Automatische Vervollständigung",
"RADIO_PLACEHOLDER": "Optionsschaltfläche",
"SELECT_PLACEHOLDER": "Dropdown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Login-Fußzeile",
"SHOW_REMEMBERME": "'Benutzername und Passwort speichern' anzeigen",
"SHOW_SUCCESS_ROUTE": "Erfolgsroute anzeigen",
"CUSTOM_LOGO": "Benutzerdefiniertes Logo"
},
"SEARCH": {
"RESULTS": "Ergebnisse durchsuchen",
"NO_RESULT": "Keine Ergebnisse gefunden",
"FACET_FIELDS": {
"TYPE": "1:Typ",
"SIZE": "2:Größe",
"CREATOR": "3:Erstellt von",
"MODIFIER": "4:Bearbeitet von",
"CREATED": "5:Erstellt am"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Meine Facet-Abfragen",
"CREATED_THIS_YEAR": "1.Dieses Jahr erstellt",
"MIMETYPE": "2.Typ: HTML",
"XTRASMALL": "3.Größe: sehr klein",
"SMALL": "4.Größe: klein",
"MEDIUM": "5.Größe: mittel",
"LARGE": "6.Größe: groß",
"XTRALARGE": "7.Größe: sehr groß",
"XXTRALARGE": "8.Größe: extrem groß"
}
},
"SOCIAL": {
"LIKE": "Like-Komponente",
"RATING": "Bewertungskomponente"
},
"TAG": {
"LIST": "Content Services-Tagliste",
"INSERT": "Node-ID einfügen",
"NODE_LIST": "Tagliste nach Node-ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Berechtigungen erben",
"INHERITED_PERMISSIONS_BUTTON": "Berechtigungen geerbt"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein",
"NUMBER_TYPE_ERROR": "Wert muss Zahl sein",
"NUMBER_GREATER_THAN": "Wert muss größer oder gleich {{ value }} sein"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Startseite"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein",
"NUMBER_GREATER_THAN": "Wert muss größer oder gleich {{ value }} sein"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 1",
"GROUP-TITLE2-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS-Datenträger voll",
"DESCRIPTION": "Inhalt übersteigt die für das Netzwerk oder System konfigurierte Gesamtspeicherbegrenzung",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Zurück zur Startseite"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Ihren Filter anpassen"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Ihren Filter anpassen"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Einzelauswahl",
"MULTI": "Mehrfachauswahl",
"PRESELECTED_VALUE": "Vorauswahl: ",
"ROLE": "Rollen: ",
"APP_NAME": "Anwendungsname",
"APP_FILTER_MODE": "Nach Anwendungsname filtern",
"ROLE_FILTER_MODE": "Nach Rolle filtern",
"PRESELECT_VALIDATION": "Vorauswahl-Prüfung"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Name",
"VERSION": "Version",
"VENDOR": "Hersteller",
"LICENSE": "Lizenz",
"RUNTIME": "Laufzeit",
"DESCRIPTION": "Beschreibung"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Mehrfachauswahl",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Auswahlmodus",
"TASK_DETAILS_REDIRECTION": "Bei Klicken auf Aufgabe Aufgabendetails einblenden",
"PROCESS_DETAILS_REDIRECTION": "Bei Klicken auf Prozess Prozessdetails anzeigen"
}
}
+325
View File
@@ -0,0 +1,325 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Comments",
"PROPERTIES": "Properties",
"VERSIONS": "Versions"
},
"HOME": {
"TITLE": "Angular components for Alfresco",
"DOCUMENTATION": "Documentation"
},
"LOGOUT": {
"TITLE": "Logout Page",
"SUB_TITLE": "You are now logged out",
"LOGIN": "Login",
"HOME": "Home"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Allow delete",
"SHOW_COMMENTS": "Show comments on versions",
"ALLOW_DOWNLOAD": "Enable version download",
"READ_ONLY": "Read-only",
"COMMENTS": "Show comments"
},
"PERSONAL-FILES": "Personal Files",
"WARN-MULTIPLE-UPLOADS": "Display warning for multiple uploads.",
"CUSTOM-PERMISSION-MESSAGE": "Enable custom permission message",
"MEDIUM-TIME-FORMAT": "Enable medium time format for document list",
"SEARCH": {
"RADIO": {
"NONE": "None",
"ALL": "All",
"FOLDER": "Folder",
"DOCUMENT": "Document"
}
}
},
"title": "Welcome",
"VERSION": {
"NO_PERMISSION": "You don't have permission to manage versions of this content",
"NO_PERMISSION_EVENT": "You don't have ${event.permission} permission to ${event.action} the ${event.type}",
"CHOOSE_FILE": "Select a file to see its versions",
"DIALOG": {
"CLOSE": "Close",
"TITLE": "Manage Versions"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Close",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP": "App",
"APP_NAME": "ADF Demo Application",
"HOME": "Home",
"NODE-SELECTOR": "Node Selector",
"SITES": "Sites",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"NOTIFICATIONS": "Notifications",
"TASK_LIST": "Task List",
"PROCESS_LIST": "Process List",
"PROCESS_CLOUD": "Process Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Custom Sources",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Lazy)",
"DOCUMENT_LIST": "Document List",
"TEMPLATE": "Template",
"FORM": "Form",
"FORM_LIST": "Form List",
"FORM_LOADING": "Form Loading",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Trashcan",
"SOCIAL": "Social",
"SETTINGS": "Settings",
"CONFIG-EDITOR": "Configuration Editor",
"OVERLAY_VIEWER": "Overlay Viewer",
"ABOUT": "About",
"SEARCH": "Extended Search",
"EXTENDED_SEARCH_QUERY_BODY": "Extended Search with Query Body",
"WORD_TO_SEARCH": "Search Word",
"SEARCH_CREATED_BY": "Created By",
"SEARCH_SERVICE_APPROACH": "Check this to disable the input property and configure using the service",
"HEADER_DATA": "Header Data",
"TREE_VIEW": "Tree View",
"ICONS": "Icons",
"PEOPLE_GROUPS_CLOUD": "People/Group Cloud",
"PEOPLE_CLOUD": "People Cloud Component",
"GROUPS_CLOUD": "Groups Cloud Component",
"CONFIRM-DIALOG": "Confirmation Dialog",
"COMMUNITY": "Community"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Delete permanently",
"RESTORE": "Restore"
},
"EMPTY_STATE": {
"TITLE": "Trash is empty",
"FIRST_TEXT": "Items you delete are moved to the Trash.",
"SECOND_TEXT": "Empty Trash to permanently delete items."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multiselect (with checkboxes)",
"THUMBNAILS": "Enable Thumbnails",
"ALLOW_DROP_FILES": "Enable Drop Files in a folder",
"MULTIPLE_FILE_UPLOAD": "Multiple File Upload",
"FOLDER_UPLOAD": "Folder upload",
"CUSTOM_FILTER": "Custom extensions filter",
"MAX_SIZE": "Max size filter",
"ENABLE_VERSIONING": "Enable versioning",
"DESCRIPTION_UPLOAD": "Enable upload",
"ENABLE_INFINITE_SCROLL": "Enable Infinite Scrolling",
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Recent Files list is empty"
},
"TITLE": "Recent Files"
},
"COLUMNS": {
"DISPLAY_NAME": "Display name",
"IS_LOCKED": "Lock",
"TAG": "Tag",
"NODE_ID": "Node id",
"CREATED_BY": "Created by",
"CREATED_ON": "Created on",
"CREATED": "Created",
"SIZE": "Size",
"DELETED_ON": "Deleted",
"DELETED_BY": "Deleted by"
},
"TOOLBAR": {
"CARDVIEW": "Card view mode",
"SHARE_EDIT": "Edit settings",
"NEW_FOLDER": "New folder",
"EDIT_FOLDER": "Edit folder",
"DOWNLOAD": "Download",
"DELETE": "Delete",
"FAVORITES": "Add to favorites",
"SHARE": "Share",
"THEME": "Select a theme",
"SHOW_VERSION": "Show version",
"HIDE_VERSION": "Hide version",
"LISTVIEW": "List view mode",
"CREATE_LIBRARY": "Create Library"
},
"ACTIONS": {
"VERSIONS": "Manage versions",
"LOCK": "Lock",
"METADATA": "Info",
"DOWNLOAD": "Download",
"PERMISSION": "Permission",
"FOLDER": {
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete"
},
"DOCUMENT": {
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete",
"PROCESS_ACTION": "Start Process"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Reset to default",
"ADD_ROW": "Add row",
"REPLACE_ROWS": "Replace rows",
"REPLACE_COLUMNS": "Replace columns",
"LOAD_NODE": "Load Node",
"MULTISELECT": "Multiselect",
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "No report selected. Choose a report from the list"
},
"PS-TAB": {
"TASKS-TAB": "Tasks",
"PROCESSES-TAB": "Process",
"REPORTS-TAB": "Reports",
"SETTINGS-TAB": "Settings",
"START-TASK": "Start task",
"START-PROCESS": "Start process",
"PROCESS-AUDIT-LOG": "Process Audit log",
"TASK-AUDIT-LOG": "Task Audit log",
"TASK-SHOW-HEADER": "Show details header"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "App",
"SETTINGS_TAB": "Settings"
},
"FORM-LIST": {
"STORE": "Store",
"RESTORE": "Restore"
},
"FORM-LOADING": {
"FORM_DATA": "Form Data",
"FORM_DATA_MESSAGE": "Enter values to populate the form",
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
"RADIO_PLACEHOLDER": "Radio Button",
"SELECT_PLACEHOLDER": "DropDown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Login footer",
"SHOW_REMEMBERME": "Show remember me",
"SHOW_SUCCESS_ROUTE": "Show success route",
"CUSTOM_LOGO": "Custom Logo"
},
"SEARCH": {
"RESULTS": "Search results",
"NO_RESULT": "No results found",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Size",
"CREATOR": "3:Creator",
"MODIFIER": "4:Modifier",
"CREATED": "5:Created"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "My facet queries",
"CREATED_THIS_YEAR": "1.Created This Year",
"MIMETYPE": "2.Type: HTML",
"XTRASMALL": "3.Size: xtra small",
"SMALL": "4.Size: small",
"MEDIUM": "5.Size: medium",
"LARGE": "6.Size: large",
"XTRALARGE": "7.Size: xtra large",
"XXTRALARGE": "8.Size: XX large"
}
},
"SOCIAL": {
"LIKE": "Like component",
"RATING": "Rating component"
},
"TAG": {
"LIST": "List Tags Content Services",
"INSERT": "Insert Node ID",
"NODE_LIST": "Tag list By Node ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Inherit Permission",
"INHERITED_PERMISSIONS_BUTTON": "Permission Inherited"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insert App ID",
"APP_ID_TYPE_ERROR": "App ID must be a number",
"NUMBER_TYPE_ERROR": "Value must be a number",
"NUMBER_GREATER_THAN": "Value must be greater than or equal to {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Starting page"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insert App ID",
"APP_ID_TYPE_ERROR": "App ID must be a number",
"NUMBER_GREATER_THAN": "Value must be greater than or equal to {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION ONE",
"GROUP-TITLE2-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION TWO",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS Disk full",
"DESCRIPTION": "Content exceeds overall storage quota limit configured for the network or system",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Back to home"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Customise your filter"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Customise your filter"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Single Selection",
"MULTI": "Multiple Selection",
"PRESELECTED_VALUE": "Preselect: ",
"ROLE": "Roles: ",
"APP_NAME": "Application Name",
"APP_FILTER_MODE": "Filter by application name",
"ROLE_FILTER_MODE": "Filter by role",
"PRESELECT_VALIDATION": "Preselect validation"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Name",
"VERSION": "Version",
"VENDOR": "Vendor",
"LICENSE": "License",
"RUNTIME": "Runtime",
"DESCRIPTION": "Description"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multiselection",
"TESTING_MODE": "Testing Mode",
"SELECTION_MODE": "Selection Mode",
"TASK_DETAILS_REDIRECTION": "Display task details on task click",
"PROCESS_DETAILS_REDIRECTION": "Display process details on process click"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detalles",
"COMMENTS": "Comentarios",
"PROPERTIES": "Propiedades",
"VERSIONS": "Versiones"
},
"HOME": {
"TITLE": "Componentes angulares para Alfresco",
"DOCUMENTATION": "Documentación"
},
"LOGOUT": {
"TITLE": "Página de cierre de sesión",
"SUB_TITLE": "Se ha cerrado su sesión",
"LOGIN": "Iniciar sesión",
"HOME": "Inicio"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir eliminar",
"SHOW_COMMENTS": "Mostrar comentarios en las versiones",
"ALLOW_DOWNLOAD": "Habilitar descarga de versión",
"READ_ONLY": "Solo lectura",
"COMMENTS": "Mostrar comentarios"
},
"PERSONAL-FILES": "Ficheros personales",
"WARN-MULTIPLE-UPLOADS": "Mostrar advertencia de múltiples cargas.",
"CUSTOM-PERMISSION-MESSAGE": "Habilitar mensaje de permiso personalizado",
"MEDIUM-TIME-FORMAT": "Habilitar formato de tiempo mediano para lista de documentos",
"SEARCH": {
"RADIO": {
"NONE": "Ninguno",
"ALL": "Todos",
"FOLDER": "Carpeta",
"DOCUMENT": "Documento"
}
}
},
"title": "Bienvenido",
"VERSION": {
"NO_PERMISSION": "No tiene permiso para administrar versiones de este contenido",
"NO_PERMISSION_EVENT": "No tiene permiso ${event.permission} para ${event.action} el ${event.type}",
"CHOOSE_FILE": "Seleccione un fichero para ver sus versiones",
"DIALOG": {
"CLOSE": "Cerrar",
"TITLE": "Gestionar versiones"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Cerrar",
"TITLE": "Metadatos"
}
},
"APP_LAYOUT": {
"APP": "Aplicación",
"APP_NAME": "Aplicación ADF Demo",
"HOME": "Inicio",
"NODE-SELECTOR": "Selector de nodo",
"SITES": "Sitios",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Ruta de navegación",
"NOTIFICATIONS": "Notificaciones",
"TASK_LIST": "Lista de tareas",
"PROCESS_LIST": "Lista de procesos",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Iniciar sesión",
"CUSTOM_SOURCES": "Fuentes personalizadas",
"DATATABLE": "Tabla de datos",
"DATATABLE_LAZY": "Tabla de datos (diferida)",
"DOCUMENT_LIST": "Lista de documentos",
"TEMPLATE": "Plantilla",
"FORM": "Formulario",
"FORM_LIST": "Lista de formularios",
"FORM_LOADING": "Carga de formulario",
"UPLOADER": "Cargador",
"WEBSCRIPT": "Webscript",
"TAG": "Etiqueta",
"TRASHCAN": "Papelera",
"SOCIAL": "Social",
"SETTINGS": "Configuración",
"CONFIG-EDITOR": "Editor de configuración",
"OVERLAY_VIEWER": "Visor de superposición",
"ABOUT": "Acerca de",
"SEARCH": "Búsqueda ampliada",
"EXTENDED_SEARCH_QUERY_BODY": "Búsqueda ampliada con cuerpo de consulta",
"WORD_TO_SEARCH": "Buscar palabra",
"SEARCH_CREATED_BY": "Creado por",
"SEARCH_SERVICE_APPROACH": "Marque esto para desactivar la propiedad de entrada y configurar el uso del servicio",
"HEADER_DATA": "Datos de encabezado",
"TREE_VIEW": "Vista de árbol",
"ICONS": "Iconos",
"PEOPLE_GROUPS_CLOUD": "Personas/Grupos en la nube",
"PEOPLE_CLOUD": "Componente en la nube de personas",
"GROUPS_CLOUD": "Componente en la nube de grupos",
"CONFIRM-DIALOG": "Cuadro de diálogo de confirmación"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Eliminar permanentemente",
"RESTORE": "Restaurar"
},
"EMPTY_STATE": {
"TITLE": "La papelera está vacía",
"FIRST_TEXT": "Los elementos que elimine se trasladan a la papelera.",
"SECOND_TEXT": "Vacíe la papelera para eliminar los elementos permanentemente."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Selección múltiple (con casillas)",
"THUMBNAILS": "Habilitar miniaturas",
"ALLOW_DROP_FILES": "Habilitar arrastre de ficheros en una carpeta",
"MULTIPLE_FILE_UPLOAD": "Carga de varios ficheros",
"FOLDER_UPLOAD": "Carga de carpetas",
"CUSTOM_FILTER": "Filtro de extensiones personalizado",
"MAX_SIZE": "Filtro de tamaño máximo",
"ENABLE_VERSIONING": "Habilitar control de versiones",
"DESCRIPTION_UPLOAD": "Habilitar carga",
"ENABLE_INFINITE_SCROLL": "Habilitar desplazamiento infinito",
"MULTISELECT_DESCRIPTION": "Utilice Cmd (Mac) o Ctrl (Windows) para cambiar la selección de varios elementos",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "La lista de ficheros recientes está vacía"
},
"TITLE": "Ficheros recientes"
},
"COLUMNS": {
"DISPLAY_NAME": "Nombre a mostrar",
"IS_LOCKED": "Bloquear",
"TAG": "Etiqueta",
"NODE_ID": "ID de nodo",
"CREATED_BY": "Creado por",
"CREATED_ON": "Creado",
"CREATED": "Creado",
"SIZE": "Tamaño",
"DELETED_ON": "Eliminado",
"DELETED_BY": "Eliminado por"
},
"TOOLBAR": {
"CARDVIEW": "Modo de vista de tarjeta",
"SHARE_EDIT": "Editar configuración",
"NEW_FOLDER": "Nueva carpeta",
"EDIT_FOLDER": "Editar carpeta",
"DOWNLOAD": "Descargar",
"DELETE": "Eliminar",
"FAVORITES": "Añadir a Favoritos",
"SHARE": "Compartir",
"THEME": "Seleccionar un tema",
"SHOW_VERSION": "Mostrar versión",
"HIDE_VERSION": "Ocultar versión",
"LISTVIEW": "Modo de vista de lista",
"CREATE_LIBRARY": "Crear biblioteca"
},
"ACTIONS": {
"VERSIONS": "Gestionar versiones",
"LOCK": "Bloquear",
"METADATA": "Información",
"DOWNLOAD": "Descargar",
"PERMISSION": "Permiso",
"FOLDER": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Eliminar"
},
"DOCUMENT": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Eliminar",
"PROCESS_ACTION": "Iniciar proceso"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Restablecer a predeterminado",
"ADD_ROW": "Añadir fila",
"REPLACE_ROWS": "Sustituir filas",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "No se ha seleccionado ningún informe. Elija un informe de la lista."
},
"PS-TAB": {
"TASKS-TAB": "Tareas",
"PROCESSES-TAB": "Proceso",
"REPORTS-TAB": "Informes",
"SETTINGS-TAB": "Configuración",
"START-TASK": "Iniciar tarea",
"START-PROCESS": "Iniciar proceso",
"PROCESS-AUDIT-LOG": "Registro de auditoría de procesos",
"TASK-AUDIT-LOG": "Registro de auditoría de tareas",
"TASK-SHOW-HEADER": "Mostrar encabezado de detalles"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Aplicación",
"SETTINGS_TAB": "Configuración"
},
"FORM-LIST": {
"STORE": "Almacenar",
"RESTORE": "Restaurar"
},
"FORM-LOADING": {
"FORM_DATA": "Datos del formulario",
"FORM_DATA_MESSAGE": "Introduzca valores para rellenar el formulario",
"TYPEAHEAD_PLACEHOLDER": "Predictivo",
"RADIO_PLACEHOLDER": "Botón de opción",
"SELECT_PLACEHOLDER": "Desplegable"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Pie del inicio de sesión",
"SHOW_REMEMBERME": "Mostrar opción para recordarme",
"SHOW_SUCCESS_ROUTE": "Permitir ruta correcta",
"CUSTOM_LOGO": "Logotipo personalizado"
},
"SEARCH": {
"RESULTS": "Resultados de la búsqueda",
"NO_RESULT": "Ningún resultado encontrado",
"FACET_FIELDS": {
"TYPE": "1:Tipo",
"SIZE": "2:Tamaño",
"CREATOR": "3:Creador",
"MODIFIER": "4:Modificador",
"CREATED": "5:Creados"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mis consultas de faceta",
"CREATED_THIS_YEAR": "1.Creadas este año",
"MIMETYPE": "2.Tipo: HTML",
"XTRASMALL": "3.Tamaño: extrapequeño",
"SMALL": "4.Tamaño: pequeño",
"MEDIUM": "5.Tamaño: mediano",
"LARGE": "6.Tamaño: grande",
"XTRALARGE": "7.Tamaño: extragrande",
"XXTRALARGE": "8.Tamaño: extraextragrande"
}
},
"SOCIAL": {
"LIKE": "Componente Me gusta",
"RATING": "Componente de calificación"
},
"TAG": {
"LIST": "Lista de etiquetas de Content Services",
"INSERT": "Insertar ID del nodo",
"NODE_LIST": "Lista de etiquetas por ID de nodo"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Heredar permiso",
"INHERITED_PERMISSIONS_BUTTON": "Permiso heredado"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número",
"NUMBER_TYPE_ERROR": "El valor debe ser un número",
"NUMBER_GREATER_THAN": "El valor debe ser igual o superior a {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Inicio de página"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número",
"NUMBER_GREATER_THAN": "El valor debe ser igual o superior a {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Traducción de título personalizado 1",
"GROUP-TITLE2-TRANSLATION-KEY": "Traducción de título personalizado 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "Disco ACS lleno",
"DESCRIPTION": "El contenido supera el límite de la cuota de almacenamiento general configurado para la red o sistema.",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Volver al inicio"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Personalice su filtro"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Personalice su filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Selección individual",
"MULTI": "Selección múltiple",
"PRESELECTED_VALUE": "Preseleccionar: ",
"ROLE": "Funciones: ",
"APP_NAME": "Nombre de la aplicación",
"APP_FILTER_MODE": "Filtrar por nombre de la aplicación",
"ROLE_FILTER_MODE": "Filtrar por función",
"PRESELECT_VALIDATION": "Preseleccionar validación"
},
"ABOUT": {
"TITLE": "Complementos",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Nombre",
"VERSION": "Versión",
"VENDOR": "Proveedor",
"LICENSE": "Licencia",
"RUNTIME": "Tiempo de ejecución",
"DESCRIPTION": "Descripción"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Selección múltiple",
"TESTING_MODE": "Modo de prueba",
"SELECTION_MODE": "Modo de selección",
"TASK_DETAILS_REDIRECTION": "Mostrar detalles de la tarea haciendo clic en la tarea",
"PROCESS_DETAILS_REDIRECTION": "Mostrar detalles del proceso al hacer clic en el proceso"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Tiedot",
"COMMENTS": "Kommentit",
"PROPERTIES": "Ominaisuudet",
"VERSIONS": "Versiot"
},
"HOME": {
"TITLE": "Angular-komponentit Alfrescolle",
"DOCUMENTATION": "Dokumentaatio"
},
"LOGOUT": {
"TITLE": "Uloskirjautumissivu",
"SUB_TITLE": "Olet nyt kirjautunut ulos",
"LOGIN": "Kirjaudu sisään",
"HOME": "Aloitussivu"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Salli poistaminen",
"SHOW_COMMENTS": "Näytä kommentit versioissa",
"ALLOW_DOWNLOAD": "Ota version lataaminen käyttöön",
"READ_ONLY": "Vain luku",
"COMMENTS": "Näytä kommentit"
},
"PERSONAL-FILES": "Omat tiedostot",
"WARN-MULTIPLE-UPLOADS": "Näytä varoitus useille latauksille.",
"CUSTOM-PERMISSION-MESSAGE": "Muokkaa omaa oikeusilmoitusta",
"MEDIUM-TIME-FORMAT": "Ota Medium-aikamuoto käyttöön asiakirjaluettelossa",
"SEARCH": {
"RADIO": {
"NONE": "Ei mitään",
"ALL": "Kaikki",
"FOLDER": "Kansio",
"DOCUMENT": "Asiakirja"
}
}
},
"title": "Tervetuloa",
"VERSION": {
"NO_PERMISSION": "Sinulla ei ole oikeutta hallita tämän sisällön versioita",
"NO_PERMISSION_EVENT": "Sinulla ei ole oikeutta ${event.permission} tapahtumalle ${event.action} tapahtumatyypissä ${event.type}",
"CHOOSE_FILE": "Jos haluat nähdä tiedoston versiot, valitse haluamasi tiedosto",
"DIALOG": {
"CLOSE": "Sulje",
"TITLE": "Hallitse versioita"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Sulje",
"TITLE": "Metatiedot"
}
},
"APP_LAYOUT": {
"APP": "Sovellus",
"APP_NAME": "ADF-demosovellus",
"HOME": "Aloitussivu",
"NODE-SELECTOR": "Solmuvalitsin",
"SITES": "Sivustot",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Siirtymispolku",
"NOTIFICATIONS": "Ilmoitukset",
"TASK_LIST": "Tehtäväluettelo",
"PROCESS_LIST": "Prosessiluettelo",
"PROCESS_CLOUD": "Prosessipilvi",
"CARD_VIEW": "Korttinäkymä",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Kirjaudu sisään",
"CUSTOM_SOURCES": "Omat lähteet",
"DATATABLE": "Tietotaulukko",
"DATATABLE_LAZY": "Tietotaulukko (Lazy)",
"DOCUMENT_LIST": "Asiakirjaluettelo",
"TEMPLATE": "Malli",
"FORM": "Lomake",
"FORM_LIST": "Lomakeluettelo",
"FORM_LOADING": "Lomakelataus",
"UPLOADER": "Lataustoiminto",
"WEBSCRIPT": "Verkkokomentosarja",
"TAG": "Tunniste",
"TRASHCAN": "Roskakori",
"SOCIAL": "Sosiaalinen",
"SETTINGS": "Asetukset",
"CONFIG-EDITOR": "Määrityseditori",
"OVERLAY_VIEWER": "Peittokatselutoiminto",
"ABOUT": "Tietoja",
"SEARCH": "Laajennettu haku",
"EXTENDED_SEARCH_QUERY_BODY": "Laajennettu haku kyselyn rungon avulla",
"WORD_TO_SEARCH": "Hakusana",
"SEARCH_CREATED_BY": "Tekijä:",
"SEARCH_SERVICE_APPROACH": "Jos haluat poistaa käytöstä annetun ominaisuuden ja määrittää palvelun avulla, valitse tämä",
"HEADER_DATA": "Otsikkotiedot",
"TREE_VIEW": "Puunäkymä",
"ICONS": "Kuvakkeet",
"PEOPLE_GROUPS_CLOUD": "Ihmispilvi/Ryhmäpilvi",
"PEOPLE_CLOUD": "Ihmispilvi-komponentti",
"GROUPS_CLOUD": "Ryhmäpilvi-komponentti",
"CONFIRM-DIALOG": "Vahvistusvalintaikkuna"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Poista pysyvästi",
"RESTORE": "Palauta"
},
"EMPTY_STATE": {
"TITLE": "Roskakori on tyhjä",
"FIRST_TEXT": "Poistamasi kohteet siirretään roskakoriin.",
"SECOND_TEXT": "Jos haluat poistaa kohteet pysyvästi, tyhjennä roskakori."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Monivalinta (valintaruuduilla)",
"THUMBNAILS": "Ota pikkukuvat käyttöön",
"ALLOW_DROP_FILES": "Ota tiedostojen kansioon pudottaminen käyttöön",
"MULTIPLE_FILE_UPLOAD": "Useiden tiedostojen lataaminen",
"FOLDER_UPLOAD": "Kansion lataaminen",
"CUSTOM_FILTER": "Mukautettu tiedostomuotosuodatin",
"MAX_SIZE": "Enimmäiskoon suodatin",
"ENABLE_VERSIONING": "Ota versionhallinta käyttöön",
"DESCRIPTION_UPLOAD": "Ota lataus käyttöön",
"ENABLE_INFINITE_SCROLL": "Ota rajaton vieritys käyttöön",
"MULTISELECT_DESCRIPTION": "Voit valita useita kohteita Cmd- (Mac) tai Ctrl-näppäimen (Windows) avulla",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Viimeisimpien tiedostojen luettelo on tyhjä"
},
"TITLE": "Viimeisimmät tiedostot"
},
"COLUMNS": {
"DISPLAY_NAME": "Näyttönimi",
"IS_LOCKED": "Lukitse",
"TAG": "Tunniste",
"NODE_ID": "Solmutunnus",
"CREATED_BY": "Tekijä:",
"CREATED_ON": "Luotu",
"CREATED": "Luotu",
"SIZE": "Koko",
"DELETED_ON": "Poistettu",
"DELETED_BY": "Poistaja:"
},
"TOOLBAR": {
"CARDVIEW": "Korttinäkymätila",
"SHARE_EDIT": "Muokkaa asetuksia",
"NEW_FOLDER": "Uusi kansio",
"EDIT_FOLDER": "Muokkaa kansiota",
"DOWNLOAD": "Lataa",
"DELETE": "Poista",
"FAVORITES": "Lisää suosikkeihin",
"SHARE": "Jaa",
"THEME": "Valitse teema",
"SHOW_VERSION": "Näytä versio",
"HIDE_VERSION": "Piilota versio",
"LISTVIEW": "Luettelonäkymätila",
"CREATE_LIBRARY": "Luo kirjasto"
},
"ACTIONS": {
"VERSIONS": "Hallitse versioita",
"LOCK": "Lukitse",
"METADATA": "Tiedot",
"DOWNLOAD": "Lataa",
"PERMISSION": "Oikeus",
"FOLDER": {
"COPY": "Kopioi",
"MOVE": "Siirrä",
"DELETE": "Poista"
},
"DOCUMENT": {
"COPY": "Kopioi",
"MOVE": "Siirrä",
"DELETE": "Poista",
"PROCESS_ACTION": "Käynnistä prosessi"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Palauta oletukseen",
"ADD_ROW": "Lisää rivi",
"REPLACE_ROWS": "Korvaa rivejä",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Yhtään raporttia ei ole valittuna. Valitse raportti luettelosta."
},
"PS-TAB": {
"TASKS-TAB": "Tehtävät",
"PROCESSES-TAB": "Prosessi",
"REPORTS-TAB": "Raportit",
"SETTINGS-TAB": "Asetukset",
"START-TASK": "Aloita tehtävä",
"START-PROCESS": "Käynnistä prosessi",
"PROCESS-AUDIT-LOG": "Prosessitarkastusloki",
"TASK-AUDIT-LOG": "Tehtävätarkastusloki",
"TASK-SHOW-HEADER": "Näytä tieto-otsikko"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Sovellus",
"SETTINGS_TAB": "Asetukset"
},
"FORM-LIST": {
"STORE": "Tallenna",
"RESTORE": "Palauta"
},
"FORM-LOADING": {
"FORM_DATA": "Lomaketiedot",
"FORM_DATA_MESSAGE": "Anna lomakkeeseen lisättävät arvot",
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
"RADIO_PLACEHOLDER": "Valintanappi",
"SELECT_PLACEHOLDER": "Avattava valikko"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Kirjautumisalatunniste",
"SHOW_REMEMBERME": "Näytä Muista minut -toiminto",
"SHOW_SUCCESS_ROUTE": "Näytä onnistumispolku",
"CUSTOM_LOGO": "Oma logo"
},
"SEARCH": {
"RESULTS": "Hakutulokset",
"NO_RESULT": "Tuloksia ei löydy",
"FACET_FIELDS": {
"TYPE": "1: tyyppi",
"SIZE": "2: koko",
"CREATOR": "3: tekijä",
"MODIFIER": "4: muokkaaja",
"CREATED": "5: luotu"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Omat kyselyt",
"CREATED_THIS_YEAR": "1. Luotu tänä vuonna",
"MIMETYPE": "2. Tyyppi: HTML",
"XTRASMALL": "3. Koko: XS",
"SMALL": "4. Koko: S",
"MEDIUM": "5. Koko: M",
"LARGE": "6. Koko: L",
"XTRALARGE": "7. Koko: XL",
"XXTRALARGE": "8. Koko: XXL"
}
},
"SOCIAL": {
"LIKE": "Tykkäyskomponentti",
"RATING": "Arviokomponentti"
},
"TAG": {
"LIST": "Luettelotunnisteet Content Services",
"INSERT": "Lisää solmutunnus",
"NODE_LIST": "Tunnisteluettelo solmutunnuksen mukaan"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Peri oikeus",
"INHERITED_PERMISSIONS_BUTTON": "Oikeus peritty"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Lisää sovellustunnus",
"APP_ID_TYPE_ERROR": "Sovellustunnuksen täytyy olla numero",
"NUMBER_TYPE_ERROR": "Arvon täytyy olla numero",
"NUMBER_GREATER_THAN": "Arvon täytyy olla yhtä suuri tai suurempi kuin {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Aloitussivu"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Lisää sovellustunnus",
"APP_ID_TYPE_ERROR": "Sovellustunnuksen täytyy olla numero",
"NUMBER_GREATER_THAN": "Arvon täytyy olla yhtä suuri tai suurempi kuin {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Oma otsikkokäännös yksi",
"GROUP-TITLE2-TRANSLATION-KEY": "Oma otsikkokäännös kaksi",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS-levy täynnä",
"DESCRIPTION": "Sisältö ylittää verkolle tai järjestelmälle määritetyn tallennustilan kokonaisrajoituksen",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Takaisin aloitussivulle"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Muokkaa suodatinta"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Muokkaa suodatinta"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Yksittäinen valinta",
"MULTI": "Monivalinta",
"PRESELECTED_VALUE": "Esivalittu: ",
"ROLE": "Roolit: ",
"APP_NAME": "Sovelluksen nimi",
"APP_FILTER_MODE": "Suodata sovelluksen nimen perusteella",
"ROLE_FILTER_MODE": "Suodata roolin perusteella",
"PRESELECT_VALIDATION": "Vahvistus esivalittu"
},
"ABOUT": {
"TITLE": "Lisäosat",
"TABLE_HEADERS": {
"ID": "Tunnus",
"NAME": "Nimi",
"VERSION": "Versio",
"VENDOR": "Toimittaja",
"LICENSE": "Käyttöoikeus",
"RUNTIME": "Suorituspalvelu",
"DESCRIPTION": "Kuvaus"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Monivalinta",
"TESTING_MODE": "Testaustila",
"SELECTION_MODE": "Valintatila",
"TASK_DETAILS_REDIRECTION": "Näytä tehtävätiedot tehtävää napsauttamalla",
"PROCESS_DETAILS_REDIRECTION": "Näyttää prosessin tiedot prosessia napsautettaessa"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Détails",
"COMMENTS": "Commentaires",
"PROPERTIES": "Propriétés",
"VERSIONS": "Versions"
},
"HOME": {
"TITLE": "Composants Angular pour Alfresco",
"DOCUMENTATION": "Documentation"
},
"LOGOUT": {
"TITLE": "Page de déconnexion",
"SUB_TITLE": "Vous êtes bien déconnecté",
"LOGIN": "Connexion",
"HOME": "Accueil"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Autoriser la suppression",
"SHOW_COMMENTS": "Afficher les commentaires sur les versions",
"ALLOW_DOWNLOAD": "Activer le téléchargement de la version",
"READ_ONLY": "Lecture seule",
"COMMENTS": "Afficher les commentaires"
},
"PERSONAL-FILES": "Fichiers personnels",
"WARN-MULTIPLE-UPLOADS": "Avertir en cas de téléchargements multiples.",
"CUSTOM-PERMISSION-MESSAGE": "Activer le message de droits d'accès personnalisés",
"MEDIUM-TIME-FORMAT": "Activer le format de date \"medium\" pour la liste de documents",
"SEARCH": {
"RADIO": {
"NONE": "Aucune",
"ALL": "Tout",
"FOLDER": "Dossier",
"DOCUMENT": "Document"
}
}
},
"title": "Bienvenue",
"VERSION": {
"NO_PERMISSION": "Vous n'avez pas les droits d'accès pour gérer les versions de ce contenu",
"NO_PERMISSION_EVENT": "Vous n'avez pas les droits d'accès ${event.permission} pour ${event.action} le/la ${event.type}",
"CHOOSE_FILE": "Sélectionnez un fichier pour afficher ses versions",
"DIALOG": {
"CLOSE": "Fermer",
"TITLE": "Gérer les versions"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Fermer",
"TITLE": "Métadonnées"
}
},
"APP_LAYOUT": {
"APP": "Application",
"APP_NAME": "Application Démo ADF",
"HOME": "Accueil",
"NODE-SELECTOR": "Sélecteur de nœud",
"SITES": "Sites",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Fil d'Ariane",
"NOTIFICATIONS": "Notifications",
"TASK_LIST": "Liste des tâches",
"PROCESS_LIST": "Liste des processus",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Connexion",
"CUSTOM_SOURCES": "Sources personnalisées",
"DATATABLE": "Table de données",
"DATATABLE_LAZY": "Table de données (différé)",
"DOCUMENT_LIST": "Liste de documents",
"TEMPLATE": "Modèle",
"FORM": "Formulaire",
"FORM_LIST": "Liste de formulaires",
"FORM_LOADING": "Chargement du formulaire",
"UPLOADER": "Chargeur",
"WEBSCRIPT": "Script Web",
"TAG": "Tag",
"TRASHCAN": "Corbeille",
"SOCIAL": "Réseaux sociaux",
"SETTINGS": "Paramètres",
"CONFIG-EDITOR": "Editeur de configuration",
"OVERLAY_VIEWER": "Visualisation de la superposition",
"ABOUT": "À propos de",
"SEARCH": "Recherche globale",
"EXTENDED_SEARCH_QUERY_BODY": "Recherche globale sur le corps de la requête",
"WORD_TO_SEARCH": "Mot recherché",
"SEARCH_CREATED_BY": "Créé par",
"SEARCH_SERVICE_APPROACH": "Cochez cette option pour désactiver la propriété d'entrée et configurer à partir du service",
"HEADER_DATA": "Données d'en-tête",
"TREE_VIEW": "Arborescence",
"ICONS": "Icônes",
"PEOPLE_GROUPS_CLOUD": "Cloud des personnes/groupes",
"PEOPLE_CLOUD": "Composant cloud des personnes",
"GROUPS_CLOUD": "Composant cloud des groupes",
"CONFIRM-DIALOG": "Boîte de dialogue de confirmation"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Supprimer définitivement",
"RESTORE": "Restaurer"
},
"EMPTY_STATE": {
"TITLE": "La corbeille est vide",
"FIRST_TEXT": "Les éléments supprimés sont placés dans la corbeille.",
"SECOND_TEXT": "Videz la corbeille pour supprimer définitivement les éléments."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Sélection multiple (avec cases à cocher)",
"THUMBNAILS": "Activer les miniatures",
"ALLOW_DROP_FILES": "Activer l'option déposer des fichiers dans un dossier",
"MULTIPLE_FILE_UPLOAD": "Importation de fichiers multiples",
"FOLDER_UPLOAD": "Importation de dossier",
"CUSTOM_FILTER": "Filtre d'extensions personnalisées",
"MAX_SIZE": "Filtre de taille max",
"ENABLE_VERSIONING": "Activer le contrôle de version",
"DESCRIPTION_UPLOAD": "Activer l'importation",
"ENABLE_INFINITE_SCROLL": "Activer le défilement illimité",
"MULTISELECT_DESCRIPTION": "Utiliser Cmd (Mac) ou Ctrl (Windows) pour activer/désactiver la sélection d'éléments multiples",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "La liste des fichiers récents est vide"
},
"TITLE": "Fichiers récents"
},
"COLUMNS": {
"DISPLAY_NAME": "Nom affiché",
"IS_LOCKED": "Verrouiller",
"TAG": "Tag",
"NODE_ID": "ID du nœud",
"CREATED_BY": "Créé par",
"CREATED_ON": "Créé le",
"CREATED": "Créé",
"SIZE": "Taille",
"DELETED_ON": "Supprimé",
"DELETED_BY": "Supprimé par"
},
"TOOLBAR": {
"CARDVIEW": "Mode d'affichage Carte",
"SHARE_EDIT": "Modifier les paramètres",
"NEW_FOLDER": "Nouveau Dossier",
"EDIT_FOLDER": "Modifier le dossier",
"DOWNLOAD": "Télécharger",
"DELETE": "Supprimer",
"FAVORITES": "Ajouter aux favoris",
"SHARE": "Partager",
"THEME": "Sélectionner un thème",
"SHOW_VERSION": "Afficher la version",
"HIDE_VERSION": "Masquer la version",
"LISTVIEW": "Mode Liste",
"CREATE_LIBRARY": "Créer une Bibliothèque"
},
"ACTIONS": {
"VERSIONS": "Gérer les versions",
"LOCK": "Verrouiller",
"METADATA": "Informations",
"DOWNLOAD": "Télécharger",
"PERMISSION": "Droit d'accès",
"FOLDER": {
"COPY": "Copier",
"MOVE": "Déplacer",
"DELETE": "Supprimer"
},
"DOCUMENT": {
"COPY": "Copier",
"MOVE": "Déplacer",
"DELETE": "Supprimer",
"PROCESS_ACTION": "Démarrer le processus"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Rétablir les valeurs par défaut",
"ADD_ROW": "Ajouter une ligne",
"REPLACE_ROWS": "Remplacer les lignes",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Aucun rapport sélectionné. Choisissez un rapport dans la liste"
},
"PS-TAB": {
"TASKS-TAB": "Tâches",
"PROCESSES-TAB": "Processus",
"REPORTS-TAB": "Rapports",
"SETTINGS-TAB": "Paramètres",
"START-TASK": "Démarrer la tâche",
"START-PROCESS": "Démarrer le processus",
"PROCESS-AUDIT-LOG": "Journal d'audit des processus",
"TASK-AUDIT-LOG": "Journal d'audit des tâches",
"TASK-SHOW-HEADER": "Afficher l'en-tête de détail"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Application",
"SETTINGS_TAB": "Paramètres"
},
"FORM-LIST": {
"STORE": "Stocker",
"RESTORE": "Restaurer"
},
"FORM-LOADING": {
"FORM_DATA": "Données du formulaire",
"FORM_DATA_MESSAGE": "Entrez les valeurs pour remplir le formulaire",
"TYPEAHEAD_PLACEHOLDER": "Saisie semi-automatique",
"RADIO_PLACEHOLDER": "Case d'option",
"SELECT_PLACEHOLDER": "Liste déroulante"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Pied de la page connexion",
"SHOW_REMEMBERME": "Afficher Mémoriser mes informations",
"SHOW_SUCCESS_ROUTE": "Afficher la success route",
"CUSTOM_LOGO": "Logo personnalisé"
},
"SEARCH": {
"RESULTS": "Résultats de la recherche",
"NO_RESULT": "Aucun résultat trouvé",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Taille",
"CREATOR": "3:Créateur",
"MODIFIER": "4:Modificateur",
"CREATED": "5:Créé"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mes recherches avec filtre",
"CREATED_THIS_YEAR": "1.Créé cette année",
"MIMETYPE": "2.Type : HTML",
"XTRASMALL": "3.Taille : très petit",
"SMALL": "4.Taille : petit",
"MEDIUM": "5.Taille : moyen",
"LARGE": "6.Taille : gros",
"XTRALARGE": "7.Taille : très gros",
"XXTRALARGE": "8.Taille : énorme"
}
},
"SOCIAL": {
"LIKE": "Composant J'aime",
"RATING": "Composant d'évaluation"
},
"TAG": {
"LIST": "Liste de tags Content Services",
"INSERT": "Insérer l'ID du nœud",
"NODE_LIST": "Liste de tags par ID de nœud"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Hériter les droits d'accès",
"INHERITED_PERMISSIONS_BUTTON": "Droits d'accès hérités"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro",
"NUMBER_TYPE_ERROR": "La valeur doit être un numéro",
"NUMBER_GREATER_THAN": "La valeur doit être égale ou supérieure à {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Démarrage de la page"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro",
"NUMBER_GREATER_THAN": "La valeur doit être égale ou supérieure à {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Titre personnalisé traduction un",
"GROUP-TITLE2-TRANSLATION-KEY": "Titre personnalisé traduction deux",
"ERROR_CONTENT": {
"507": {
"TITLE": "Disque ACS plein",
"DESCRIPTION": "Le contenu dépasse le quota maximum de stockage configuré pour le réseau ou système",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Retour à l'accueil"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "Process List Cloud Demo",
"CUSTOMIZE_FILTERS": "Personnaliser votre filtre"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Personnaliser votre filtre"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Sélection unique",
"MULTI": "Sélection multiple",
"PRESELECTED_VALUE": "Présélection : ",
"ROLE": "Rôles : ",
"APP_NAME": "Nom de l'application",
"APP_FILTER_MODE": "Filtrer par nom d'application",
"ROLE_FILTER_MODE": "Filtrer par rôle",
"PRESELECT_VALIDATION": "Validation présélectionnée"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Nom",
"VERSION": "Version",
"VENDOR": "Fournisseur",
"LICENSE": "Licence",
"RUNTIME": "Java Runtime",
"DESCRIPTION": "Description"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multisélection",
"TESTING_MODE": "Mode de test",
"SELECTION_MODE": "Mode de sélection",
"TASK_DETAILS_REDIRECTION": "Afficher les détails de la tâche en cliquant dessus",
"PROCESS_DETAILS_REDIRECTION": "Afficher les détails du processus en cliquant dessus"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Dettagli",
"COMMENTS": "Commenti",
"PROPERTIES": "Proprietà",
"VERSIONS": "Versione"
},
"HOME": {
"TITLE": "Componenti angolari per Alfresco",
"DOCUMENTATION": "Documentazione"
},
"LOGOUT": {
"TITLE": "Pagina di uscita",
"SUB_TITLE": "Utente disconnesso",
"LOGIN": "Login",
"HOME": "Home"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Consenti eliminazione",
"SHOW_COMMENTS": "Mostra commenti sulle versioni",
"ALLOW_DOWNLOAD": "Abilita download versioni",
"READ_ONLY": "Sola lettura",
"COMMENTS": "Mostra commenti"
},
"PERSONAL-FILES": "File personali",
"WARN-MULTIPLE-UPLOADS": "Mostra avviso per caricamenti multipli.",
"CUSTOM-PERMISSION-MESSAGE": "Abilita messaggio di autorizzazione personalizzato",
"MEDIUM-TIME-FORMAT": "Abilita formato tempo medio per elenco documenti",
"SEARCH": {
"RADIO": {
"NONE": "Nessuno",
"ALL": "Tutti",
"FOLDER": "Cartella",
"DOCUMENT": "Documento"
}
}
},
"title": "Benvenuto",
"VERSION": {
"NO_PERMISSION": "Non hai il permesso di gestire versioni di questo contenuto",
"NO_PERMISSION_EVENT": "Non hai il permesso ${event.permission} di ${event.action} ${event.type}",
"CHOOSE_FILE": "Seleziona un file per visualizzarne le versioni",
"DIALOG": {
"CLOSE": "Chiudi",
"TITLE": "Gestione versioni"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Chiudi",
"TITLE": "Metadati"
}
},
"APP_LAYOUT": {
"APP": "Applicazione",
"APP_NAME": "Applicazione demo ADF",
"HOME": "Home",
"NODE-SELECTOR": "Selezione nodo",
"SITES": "Siti",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"NOTIFICATIONS": "Notifiche",
"TASK_LIST": "Elenco attività",
"PROCESS_LIST": "Elenco processi",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Fonti personalizzate",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Caricamento dati (ottimizzato)",
"DOCUMENT_LIST": "Elenco documenti",
"TEMPLATE": "Modello",
"FORM": "Modulo",
"FORM_LIST": "Elenco moduli",
"FORM_LOADING": "Caricamento modulo",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Cestino",
"SOCIAL": "Social",
"SETTINGS": "Impostazioni",
"CONFIG-EDITOR": "Editor configurazione",
"OVERLAY_VIEWER": "Visualizzatore overlay",
"ABOUT": "Informazioni su",
"SEARCH": "Ricerca estesa",
"EXTENDED_SEARCH_QUERY_BODY": "Ricerca estesa con corpo query",
"WORD_TO_SEARCH": "Termine di ricerca",
"SEARCH_CREATED_BY": "Creato da",
"SEARCH_SERVICE_APPROACH": "Selezionare per disattivare la proprietà di input ed eseguire la configurazione utilizzando il servizio",
"HEADER_DATA": "Dati intestazione",
"TREE_VIEW": "Vista struttura",
"ICONS": "Icone",
"PEOPLE_GROUPS_CLOUD": "Cloud persone/gruppi",
"PEOPLE_CLOUD": "Componente Cloud persone",
"GROUPS_CLOUD": "Componente Cloud gruppi",
"CONFIRM-DIALOG": "Finestra di conferma"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Elimina definitivamente",
"RESTORE": "Ripristina"
},
"EMPTY_STATE": {
"TITLE": "Il cestino è vuoto",
"FIRST_TEXT": "Gli elementi eliminati vengono spostati nel cestino.",
"SECOND_TEXT": "Svuotare il cestino per eliminare definitivamente gli elementi."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Selezione multipla (con caselle di spunta)",
"THUMBNAILS": "Abilita anteprime",
"ALLOW_DROP_FILES": "Abilita trascinamento di file in una cartella",
"MULTIPLE_FILE_UPLOAD": "Caricamento di file multipli",
"FOLDER_UPLOAD": "Caricamento cartelle",
"CUSTOM_FILTER": "Filtro estensioni personalizzato",
"MAX_SIZE": "Filtro dimensioni max",
"ENABLE_VERSIONING": "Abilita controllo delle versioni",
"DESCRIPTION_UPLOAD": "Abilita caricamento",
"ENABLE_INFINITE_SCROLL": "Abilita scorrimento infinito",
"MULTISELECT_DESCRIPTION": "Usa Cmd (Mac) o Ctrl (Windows) per attivare/disattivare la selezione di più elementi",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "L'elenco File recenti è vuoto"
},
"TITLE": "File recenti"
},
"COLUMNS": {
"DISPLAY_NAME": "Nome visualizzato",
"IS_LOCKED": "Blocca",
"TAG": "Tag",
"NODE_ID": "ID nodo",
"CREATED_BY": "Creato da",
"CREATED_ON": "Creato il",
"CREATED": "Creato",
"SIZE": "Dimensione",
"DELETED_ON": "Eliminato",
"DELETED_BY": "Eliminato da"
},
"TOOLBAR": {
"CARDVIEW": "Modalità di visualizzazione scheda",
"SHARE_EDIT": "Modifica impostazioni",
"NEW_FOLDER": "Nuova cartella",
"EDIT_FOLDER": "Modifica cartella",
"DOWNLOAD": "Download",
"DELETE": "Elimina",
"FAVORITES": "Aggiungi ai preferiti",
"SHARE": "Condividi",
"THEME": "Seleziona un tema",
"SHOW_VERSION": "Mostra versione",
"HIDE_VERSION": "Nascondi versione",
"LISTVIEW": "Modalità vista elenco",
"CREATE_LIBRARY": "Crea libreria"
},
"ACTIONS": {
"VERSIONS": "Gestione versioni",
"LOCK": "Blocca",
"METADATA": "Informazioni",
"DOWNLOAD": "Download",
"PERMISSION": "Permesso",
"FOLDER": {
"COPY": "Copia",
"MOVE": "Sposta",
"DELETE": "Elimina"
},
"DOCUMENT": {
"COPY": "Copia",
"MOVE": "Sposta",
"DELETE": "Elimina",
"PROCESS_ACTION": "Avvia processo"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Ripristina ai valori predefiniti",
"ADD_ROW": "Aggiungi riga",
"REPLACE_ROWS": "Sostituisci righe",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Nessun rapporto selezionato. Scegliere un rapporto dall'elenco"
},
"PS-TAB": {
"TASKS-TAB": "Compiti",
"PROCESSES-TAB": "Processo",
"REPORTS-TAB": "Rapporti",
"SETTINGS-TAB": "Impostazioni",
"START-TASK": "Avvia compito",
"START-PROCESS": "Avvia processo",
"PROCESS-AUDIT-LOG": "Registro di audit processo",
"TASK-AUDIT-LOG": "Registro di audit compito",
"TASK-SHOW-HEADER": "Mostra intestazione dettagli"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Applicazione",
"SETTINGS_TAB": "Impostazioni"
},
"FORM-LIST": {
"STORE": "Memorizza",
"RESTORE": "Ripristina"
},
"FORM-LOADING": {
"FORM_DATA": "Dati modulo",
"FORM_DATA_MESSAGE": "Inserire i dati per compilare il modulo",
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
"RADIO_PLACEHOLDER": "Pulsante di opzione",
"SELECT_PLACEHOLDER": "Elenco a discesa"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Piè di pagina login",
"SHOW_REMEMBERME": "Mostra utente memorizzato",
"SHOW_SUCCESS_ROUTE": "Mostra percorso riuscito",
"CUSTOM_LOGO": "Logo personalizzato"
},
"SEARCH": {
"RESULTS": "Risultati della ricerca",
"NO_RESULT": "Nessun risultato trovato",
"FACET_FIELDS": {
"TYPE": "1. Tipo",
"SIZE": "2. Dimensioni",
"CREATOR": "3. Autore",
"MODIFIER": "4. Modificatore",
"CREATED": "5. Creati"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Le mie query filtri",
"CREATED_THIS_YEAR": "1. Creati quest'anno",
"MIMETYPE": "2.Tipo: HTML",
"XTRASMALL": "3. Dimensioni: extra piccolo",
"SMALL": "4. Dimensioni: piccolo",
"MEDIUM": "5. Dimensioni: medio",
"LARGE": "6. Dimensioni: grande",
"XTRALARGE": "7. Dimensioni: extra grande",
"XXTRALARGE": "8. Dimensioni: extra extra grande"
}
},
"SOCIAL": {
"LIKE": "Componente Like",
"RATING": "Componente valutazione"
},
"TAG": {
"LIST": "Elenco tag Content Services",
"INSERT": "Inserisci ID nodo",
"NODE_LIST": "Elenco tag per ID nodo"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Eredita permessi",
"INHERITED_PERMISSIONS_BUTTON": "Permesso ereditato"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero",
"NUMBER_TYPE_ERROR": "Il valore deve essere un numero",
"NUMBER_GREATER_THAN": "Il valore deve essere maggiore o uguale a {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Inizia da pagina"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero",
"NUMBER_GREATER_THAN": "Il valore deve essere maggiore o uguale a {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Custom Title Translation One",
"GROUP-TITLE2-TRANSLATION-KEY": "Custom Title Translation Two",
"ERROR_CONTENT": {
"507": {
"TITLE": "Dico ACS pieno",
"DESCRIPTION": "Il contenuto supera il limite di archiviazione complessivo configurato per la rete o il sistema",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Torna alla home"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "DEMO CLOUD ELENCO PROCESSI",
"CUSTOMIZE_FILTERS": "Personalizza il filtro"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Personalizza il filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Selezione singola",
"MULTI": "Selezione multipla",
"PRESELECTED_VALUE": "Preselezione: ",
"ROLE": "Ruoli: ",
"APP_NAME": "Nome applicazione",
"APP_FILTER_MODE": "Filtra per nome applicazione",
"ROLE_FILTER_MODE": "Filtra per ruolo",
"PRESELECT_VALIDATION": "Convalida preselezione"
},
"ABOUT": {
"TITLE": "Plug-in",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Nome",
"VERSION": "Versione",
"VENDOR": "Fornitore",
"LICENSE": "Licenza",
"RUNTIME": "Runtime",
"DESCRIPTION": "Descrizione"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Selezione multipla",
"TESTING_MODE": "Modalità di test",
"SELECTION_MODE": "Modalità di selezione",
"TASK_DETAILS_REDIRECTION": "Mostra dettagli compito dopo clic su compito",
"PROCESS_DETAILS_REDIRECTION": "Mostra i dettagli dopo il clic sul processo"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "詳細",
"COMMENTS": "コメント",
"PROPERTIES": "プロパティ",
"VERSIONS": "バージョン"
},
"HOME": {
"TITLE": "Alfresco の Angular コンポーネント",
"DOCUMENTATION": "文書化"
},
"LOGOUT": {
"TITLE": "ログアウトページ",
"SUB_TITLE": "ログアウトしました",
"LOGIN": "ログイン",
"HOME": "ホーム"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "削除を許可する",
"SHOW_COMMENTS": "バージョンに関するコメントを表示",
"ALLOW_DOWNLOAD": "バージョンのダウンロードを許可",
"READ_ONLY": "読取り専用",
"COMMENTS": "コメントを表示する"
},
"PERSONAL-FILES": "個人的なファイル",
"WARN-MULTIPLE-UPLOADS": "複数のアップロードの警告を表示します。",
"CUSTOM-PERMISSION-MESSAGE": "カスタムの権限メッセージを有効にする",
"MEDIUM-TIME-FORMAT": "文書リストの medium 時刻形式を有効にする",
"SEARCH": {
"RADIO": {
"NONE": "なし",
"ALL": "すべて",
"FOLDER": "フォルダ",
"DOCUMENT": "文書"
}
}
},
"title": "ようこそ",
"VERSION": {
"NO_PERMISSION": "このコンテンツのバージョンを管理する権限がありません",
"NO_PERMISSION_EVENT": "${event.type} を ${event.action} するための ${event.permission} 権限がありません",
"CHOOSE_FILE": "バージョンを表示するファイルを選択してください",
"DIALOG": {
"CLOSE": "閉じる",
"TITLE": "バージョンの管理"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "閉じる",
"TITLE": "メタデータ"
}
},
"APP_LAYOUT": {
"APP": "アプリ",
"APP_NAME": "ADF デモアプリケーション",
"HOME": "ホーム",
"NODE-SELECTOR": "ノードセレクター",
"SITES": "サイト",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "階層リンク",
"NOTIFICATIONS": "通知",
"TASK_LIST": "タスクリスト",
"PROCESS_LIST": "プロセスリスト",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "ログイン",
"CUSTOM_SOURCES": "カスタムソース",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (遅延読み込み)",
"DOCUMENT_LIST": "文書リスト",
"TEMPLATE": "テンプレート",
"FORM": "フォーム",
"FORM_LIST": "フォームリスト",
"FORM_LOADING": "フォームを読み込んでいます",
"UPLOADER": "アップローダー",
"WEBSCRIPT": "Webscript",
"TAG": "タグ",
"TRASHCAN": "ごみ箱",
"SOCIAL": "ソーシャル",
"SETTINGS": "設定",
"CONFIG-EDITOR": "設定エディター",
"OVERLAY_VIEWER": "オーバーレイビューア",
"ABOUT": "バージョン情報",
"SEARCH": "詳細検索",
"EXTENDED_SEARCH_QUERY_BODY": "クエリ本体を使った詳細検索",
"WORD_TO_SEARCH": "語句の検索",
"SEARCH_CREATED_BY": "作成者",
"SEARCH_SERVICE_APPROACH": "入力プロパティを無効にし、サービスを使って設定する場合は、このチェックボックスをオンにします",
"HEADER_DATA": "ヘッダーの日付",
"TREE_VIEW": "ツリービュー",
"ICONS": "アイコン",
"PEOPLE_GROUPS_CLOUD": "メンバー/グループのクラウド",
"PEOPLE_CLOUD": "メンバーのクラウドコンポーネント",
"GROUPS_CLOUD": "グループのクラウドコンポーネント",
"CONFIRM-DIALOG": "確認ダイアログ"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "完全に削除する",
"RESTORE": "復元"
},
"EMPTY_STATE": {
"TITLE": "ごみ箱は空です",
"FIRST_TEXT": "削除するアイテムはごみ箱に移動されます。",
"SECOND_TEXT": "ごみ箱を空にするとアイテムが完全に削除されます。"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "複数選択 (チェックボックスを使用)",
"THUMBNAILS": "サムネイルを有効にする",
"ALLOW_DROP_FILES": "フォルダへのドラッグ&ドロップを許可",
"MULTIPLE_FILE_UPLOAD": "複数ファイルのアップロード",
"FOLDER_UPLOAD": "フォルダのアップロード",
"CUSTOM_FILTER": "カスタム拡張子フィルタ",
"MAX_SIZE": "最大サイズフィルタ",
"ENABLE_VERSIONING": "バージョン管理を有効にする",
"DESCRIPTION_UPLOAD": "アップロードを有効にします",
"ENABLE_INFINITE_SCROLL": "無限スクロールを有効にする",
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "[最近使ったファイル] 一覧は空です"
},
"TITLE": "最近使ったファイル"
},
"COLUMNS": {
"DISPLAY_NAME": "表示名",
"IS_LOCKED": "ロック",
"TAG": "タグ",
"NODE_ID": "ノード ID",
"CREATED_BY": "作成者",
"CREATED_ON": "作成日",
"CREATED": "作成日",
"SIZE": "サイズ",
"DELETED_ON": "削除済み",
"DELETED_BY": "削除者"
},
"TOOLBAR": {
"CARDVIEW": "カード表示モード",
"SHARE_EDIT": "設定の編集",
"NEW_FOLDER": "新しいフォルダ",
"EDIT_FOLDER": "フォルダの編集",
"DOWNLOAD": "ダウンロード",
"DELETE": "削除",
"FAVORITES": "[お気に入り] に追加",
"SHARE": "共有",
"THEME": "テーマを選択してください",
"SHOW_VERSION": "バージョンを表示する",
"HIDE_VERSION": "バージョンを隠す",
"LISTVIEW": "一覧表示モード",
"CREATE_LIBRARY": "ライブラリの作成"
},
"ACTIONS": {
"VERSIONS": "バージョンの管理",
"LOCK": "ロック",
"METADATA": "情報",
"DOWNLOAD": "ダウンロード",
"PERMISSION": "権限",
"FOLDER": {
"COPY": "コピー",
"MOVE": "移動",
"DELETE": "削除"
},
"DOCUMENT": {
"COPY": "コピー",
"MOVE": "移動",
"DELETE": "削除",
"PROCESS_ACTION": "プロセスの開始"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "デフォルトに戻す",
"ADD_ROW": "行の追加",
"REPLACE_ROWS": "行の置換",
"REPLACE_COLUMNS": "列の置換",
"LOAD_NODE": "ノードの読み込み",
"MULTISELECT": "複数選択",
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "レポートが選択されていません。リストからレポートを選択してください。"
},
"PS-TAB": {
"TASKS-TAB": "タスク",
"PROCESSES-TAB": "プロセス",
"REPORTS-TAB": "レポート",
"SETTINGS-TAB": "設定",
"START-TASK": "タスクの開始",
"START-PROCESS": "プロセスの開始",
"PROCESS-AUDIT-LOG": "プロセスの監査ログ",
"TASK-AUDIT-LOG": "タスクの監査ログ",
"TASK-SHOW-HEADER": "詳細ヘッダーを表示する"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "アプリ",
"SETTINGS_TAB": "設定"
},
"FORM-LIST": {
"STORE": "保存",
"RESTORE": "復元"
},
"FORM-LOADING": {
"FORM_DATA": "フォーム データ",
"FORM_DATA_MESSAGE": "フォームに入力する値を入力してください",
"TYPEAHEAD_PLACEHOLDER": "先行入力",
"RADIO_PLACEHOLDER": "ラジオ ボタン",
"SELECT_PLACEHOLDER": "ドロップダウン"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "ログインページのフッター",
"SHOW_REMEMBERME": "ログイン情報の保存オプションを表示する",
"SHOW_SUCCESS_ROUTE": "サクセスルートを表示する",
"CUSTOM_LOGO": "カスタムのロゴ"
},
"SEARCH": {
"RESULTS": "検索結果",
"NO_RESULT": "一致するアイテムはありません",
"FACET_FIELDS": {
"TYPE": "1:種類",
"SIZE": "2:サイズ",
"CREATOR": "3:作成者",
"MODIFIER": "4:変更者",
"CREATED": "5:作成日"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "あなたのファセットクエリ",
"CREATED_THIS_YEAR": "1.今年作成",
"MIMETYPE": "2.種類: HTML",
"XTRASMALL": "3.サイズ: 極小",
"SMALL": "4.サイズ: 小",
"MEDIUM": "5.サイズ: 中",
"LARGE": "6.サイズ: 大",
"XTRALARGE": "7.サイズ: 特大",
"XXTRALARGE": "8.サイズ: 超特大"
}
},
"SOCIAL": {
"LIKE": "[いいね!] コンポーネント",
"RATING": "評価付けコンポーネント"
},
"TAG": {
"LIST": "Content Services のタグリスト",
"INSERT": "ノード ID の挿入",
"NODE_LIST": "ノード ID 別タグリスト"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "権限の継承",
"INHERITED_PERMISSIONS_BUTTON": "継承された権限"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入する",
"APP_ID_TYPE_ERROR": "アプリケーション ID は数字でなければなりません",
"NUMBER_TYPE_ERROR": "値は数字でなければなりません",
"NUMBER_GREATER_THAN": "値は {{ value }} 以上でなければなりません"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "開始ページ"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入してください",
"APP_ID_TYPE_ERROR": "アプリケーション ID は数字でなければなりません",
"NUMBER_GREATER_THAN": "値は {{ value }} 以上でなければなりません"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "カスタムのタイトル翻訳 1",
"GROUP-TITLE2-TRANSLATION-KEY": "カスタムのタイトル翻訳 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS のディスクがいっぱいです",
"DESCRIPTION": "コンテンツのサイズが、ネットワークまたはシステムに設定されているストレージクォータの上限を超えています。",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "ホームへ戻る"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "フィルタのカスタマイズ"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "フィルタのカスタマイズ"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "1 つ選択",
"MULTI": "複数選択",
"PRESELECTED_VALUE": "事前選択: ",
"ROLE": "役割: ",
"APP_NAME": "アプリケーション名",
"APP_FILTER_MODE": "アプリケーション名でフィルタ",
"ROLE_FILTER_MODE": "役割でフィルタ",
"PRESELECT_VALIDATION": "事前選択の検証"
},
"ABOUT": {
"TITLE": "プラグイン",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "名前",
"VERSION": "バージョン",
"VENDOR": "ベンダー",
"LICENSE": "ライセンス",
"RUNTIME": "ランタイム",
"DESCRIPTION": "説明"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "複数選択",
"TESTING_MODE": "テストモード",
"SELECTION_MODE": "選択モード",
"TASK_DETAILS_REDIRECTION": "タスクのクリック時にタスクの詳細を表示",
"PROCESS_DETAILS_REDIRECTION": "プロセスのクリックでプロセスの詳細を表示"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detaljer",
"COMMENTS": "Kommentarer",
"PROPERTIES": "Egenskaper",
"VERSIONS": "Versjoner"
},
"HOME": {
"TITLE": "Vinkelkomponenter for Alfresco",
"DOCUMENTATION": "Dokumentasjon"
},
"LOGOUT": {
"TITLE": "Avloggingsside",
"SUB_TITLE": "Du er nå logget av",
"LOGIN": "Logg på",
"HOME": "Hjem"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Tillat sletting",
"SHOW_COMMENTS": "Vis kommentarer om versjoner",
"ALLOW_DOWNLOAD": "Aktiver versjonsnedlasting",
"READ_ONLY": "Skrivebeskyttet",
"COMMENTS": "Vis kommentarer"
},
"PERSONAL-FILES": "Personlige filer",
"WARN-MULTIPLE-UPLOADS": "Vis advarsel for flere opplastinger.",
"CUSTOM-PERMISSION-MESSAGE": "Aktiver tilpasset tillatelsesmelding",
"MEDIUM-TIME-FORMAT": "Aktiver medium tidsformat for dokumentliste",
"SEARCH": {
"RADIO": {
"NONE": "Ingen",
"ALL": "Alle",
"FOLDER": "Mappe",
"DOCUMENT": "Dokument"
}
}
},
"title": "Velkommen",
"VERSION": {
"NO_PERMISSION": "Du har ikke tillatelse til å håndtere versjoner av dette innholdet",
"NO_PERMISSION_EVENT": "Du har ikke ${event.permission} tillatelse til å ${event.action} ${event.type}",
"CHOOSE_FILE": "Velg en fil for å se versjonene",
"DIALOG": {
"CLOSE": "Lukk",
"TITLE": "Håndtere versjoner"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Lukk",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP": "App",
"APP_NAME": "ADF-demoprogam",
"HOME": "Hjem",
"NODE-SELECTOR": "Nodevelger",
"SITES": "Områder",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Søkebane",
"NOTIFICATIONS": "Varsler",
"TASK_LIST": "Oppgaveliste",
"PROCESS_LIST": "Prosessliste",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Logg på",
"CUSTOM_SOURCES": "Tilpassede kilder",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatabell (avventende)",
"DOCUMENT_LIST": "Dokumentliste",
"TEMPLATE": "Mal",
"FORM": "Skjema",
"FORM_LIST": "Skjemaliste",
"FORM_LOADING": "Skjema lastes inn",
"UPLOADER": "Opplaster",
"WEBSCRIPT": "Webscript",
"TAG": "Tagg",
"TRASHCAN": "Søppelkurv",
"SOCIAL": "Sosial",
"SETTINGS": "Innstillinger",
"CONFIG-EDITOR": "Konfigurasjonsredigering",
"OVERLAY_VIEWER": "Overleggsfremviser",
"ABOUT": "Om",
"SEARCH": "Utvidet søk",
"EXTENDED_SEARCH_QUERY_BODY": "Utvidet søk med spørringsuttrykk",
"WORD_TO_SEARCH": "Søkeord",
"SEARCH_CREATED_BY": "Opprettet av",
"SEARCH_SERVICE_APPROACH": "Velg dette for å deaktivere inndataegenskapen og konfigurere ved hjelp av tjenesten",
"HEADER_DATA": "Overskriftsdata",
"TREE_VIEW": "Trevisning",
"ICONS": "Ikoner",
"PEOPLE_GROUPS_CLOUD": "Person-/gruppesky",
"PEOPLE_CLOUD": "Personsky-komponent",
"GROUPS_CLOUD": "Gruppesky-kompontent",
"CONFIRM-DIALOG": "Bekreftelsesdialog"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Slett for godt",
"RESTORE": "Gjenopprett"
},
"EMPTY_STATE": {
"TITLE": "Søppelkurven er tom",
"FIRST_TEXT": "Elementer du sletter, flyttes til søppelkurven.",
"SECOND_TEXT": "Tøm søppelkurven for å slette elementer for godt."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multivalg (med avskrysningsbokser)",
"THUMBNAILS": "Aktiver miniatyrbilder",
"ALLOW_DROP_FILES": "Aktiver Slipp filer i en mappe",
"MULTIPLE_FILE_UPLOAD": "Opplasting av flere filer",
"FOLDER_UPLOAD": "Opplasting av mappe",
"CUSTOM_FILTER": "Tilpasset utvidelsesfilter",
"MAX_SIZE": "Maks. størrelsesfilter",
"ENABLE_VERSIONING": "Aktiver versjonering",
"DESCRIPTION_UPLOAD": "Aktiver opplasting",
"ENABLE_INFINITE_SCROLL": "Aktiver uendelig rulling",
"MULTISELECT_DESCRIPTION": "Bruk Cmd (Mac) eller Ctrl (Windows) for å veksle mellom valg av flere elementer",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Nylige filer-listen er tom"
},
"TITLE": "Nylige filer"
},
"COLUMNS": {
"DISPLAY_NAME": "Vis navn",
"IS_LOCKED": "Lås",
"TAG": "Tagg",
"NODE_ID": "Node-ID",
"CREATED_BY": "Opprettet av",
"CREATED_ON": "Opprettet",
"CREATED": "Opprettet",
"SIZE": "Størrelse",
"DELETED_ON": "Slettet",
"DELETED_BY": "Slettet av"
},
"TOOLBAR": {
"CARDVIEW": "Kortvisningsmodus",
"SHARE_EDIT": "Rediger innstillinger",
"NEW_FOLDER": "Ny mappe",
"EDIT_FOLDER": "Rediger mappe",
"DOWNLOAD": "Last ned",
"DELETE": "Slett",
"FAVORITES": "Legg til favoritter",
"SHARE": "Del",
"THEME": "Velg et tema",
"SHOW_VERSION": "Vis versjon",
"HIDE_VERSION": "Skjul versjon",
"LISTVIEW": "Listevisningsmodus",
"CREATE_LIBRARY": "Opprett bibliotek"
},
"ACTIONS": {
"VERSIONS": "Administrer versjoner",
"LOCK": "Lås",
"METADATA": "Info",
"DOWNLOAD": "Last ned",
"PERMISSION": "Tillatelse",
"FOLDER": {
"COPY": "Kopier",
"MOVE": "Flytt",
"DELETE": "Slett"
},
"DOCUMENT": {
"COPY": "Kopier",
"MOVE": "Flytt",
"DELETE": "Slett",
"PROCESS_ACTION": "Start prosess"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Tilbakestill til standard",
"ADD_ROW": "Legg til rad",
"REPLACE_ROWS": "Erstatt rader",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Ingen rapport valgt. Velg en rapport fra listen"
},
"PS-TAB": {
"TASKS-TAB": "Oppgaver",
"PROCESSES-TAB": "Prosess",
"REPORTS-TAB": "Rapporter",
"SETTINGS-TAB": "Innstillinger",
"START-TASK": "Start oppgave",
"START-PROCESS": "Start prosess",
"PROCESS-AUDIT-LOG": "Prosessrevisjonslogg",
"TASK-AUDIT-LOG": "Oppgaverevisjonslogg",
"TASK-SHOW-HEADER": "Vis detaljoverskrift"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "App",
"SETTINGS_TAB": "Innstillinger"
},
"FORM-LIST": {
"STORE": "Lagre",
"RESTORE": "Gjenopprett"
},
"FORM-LOADING": {
"FORM_DATA": "Skjemadata",
"FORM_DATA_MESSAGE": "Skriv inn verdier for å fylle ut skjemaet",
"TYPEAHEAD_PLACEHOLDER": "Type-ahead",
"RADIO_PLACEHOLDER": "Alternativknapp",
"SELECT_PLACEHOLDER": "Nedtrekk"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Bunntekt pålogging",
"SHOW_REMEMBERME": "Vis husk meg",
"SHOW_SUCCESS_ROUTE": "Vis riktig rute",
"CUSTOM_LOGO": "Egendefinert logo"
},
"SEARCH": {
"RESULTS": "Søkeresultater",
"NO_RESULT": "Ingen resultater funnet",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Størrelse",
"CREATOR": "3:Oppretter",
"MODIFIER": "4:Modifikator",
"CREATED": "5:Opprettet"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mine egenskapsspørringer",
"CREATED_THIS_YEAR": "1.Opprettet i år",
"MIMETYPE": "2.Type: HTML",
"XTRASMALL": "3.Størrelse: xtra small",
"SMALL": "4.Størrelse: small",
"MEDIUM": "5.Størrelse: medium",
"LARGE": "6.Størrelse: large",
"XTRALARGE": "7.Størrelse: xtra large",
"XXTRALARGE": "8.Størrelse: XX large"
}
},
"SOCIAL": {
"LIKE": "Like komponent",
"RATING": "Rangering komponent"
},
"TAG": {
"LIST": "Liste med tagger Innholdstjenester",
"INSERT": "Sett inn node-ID",
"NODE_LIST": "Tagg listen etter node-ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Arv tillatelse",
"INHERITED_PERMISSIONS_BUTTON": "Tillatelse arvet"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
"APP_ID_TYPE_ERROR": "App-ID må være et tall",
"NUMBER_TYPE_ERROR": "Verdien må være et tall",
"NUMBER_GREATER_THAN": "Verdien må være høyere enn eller lik {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Starter side"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
"APP_ID_TYPE_ERROR": "App-ID må være et tall",
"NUMBER_GREATER_THAN": "Verdien må være høyere enn eller lik {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Egendefinert tittel, oversettelse én",
"GROUP-TITLE2-TRANSLATION-KEY": "Egendefinert tittel, oversettelse to",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS-disk er full",
"DESCRIPTION": "Innhold overgår samlet lagringskvotegrense konfigurert for nettverket eller systemet",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Tilbake til startsiden"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Tilpass filteret ditt"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Tilpass filteret ditt"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Ett valg",
"MULTI": "Flere valg",
"PRESELECTED_VALUE": "Forhåndsvelg: ",
"ROLE": "Roller: ",
"APP_NAME": "Programnavn",
"APP_FILTER_MODE": "Filtrer etter programnavn",
"ROLE_FILTER_MODE": "Filtrer etter rolle",
"PRESELECT_VALIDATION": "Forhåndsvelg validering"
},
"ABOUT": {
"TITLE": "Plugin-moduler",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Navn",
"VERSION": "Versjon",
"VENDOR": "Leverandør",
"LICENSE": "Lisens",
"RUNTIME": "Kjøretid",
"DESCRIPTION": "Beskrivelse"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Flervalg",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Valgmodus",
"TASK_DETAILS_REDIRECTION": "Vis oppgavedetaljer ved oppgaveklikk",
"PROCESS_DETAILS_REDIRECTION": "Vis prosessdetaljer ved prosessklikk"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Opmerkingen",
"PROPERTIES": "Eigenschappen",
"VERSIONS": "Versies"
},
"HOME": {
"TITLE": "Angular-componenten voor Alfresco",
"DOCUMENTATION": "Documentatie"
},
"LOGOUT": {
"TITLE": "Afmeldingspagina",
"SUB_TITLE": "U bent nu afgemeld",
"LOGIN": "Aanmelden",
"HOME": "Home"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Verwijderen toestaan",
"SHOW_COMMENTS": "Opmerkingen over versies tonen",
"ALLOW_DOWNLOAD": "Versiedownload inschakelen",
"READ_ONLY": "Alleen-lezen",
"COMMENTS": "Opmerkingen weergeven"
},
"PERSONAL-FILES": "Persoonlijke bestanden",
"WARN-MULTIPLE-UPLOADS": "Waarschuwing weergeven bij meerdere uploads.",
"CUSTOM-PERMISSION-MESSAGE": "Aangepast machtigingsbericht inschakelen",
"MEDIUM-TIME-FORMAT": "Middellange tijdnotatie voor lijst met documenten inschakelen",
"SEARCH": {
"RADIO": {
"NONE": "Geen",
"ALL": "Alle",
"FOLDER": "Map",
"DOCUMENT": "Document"
}
}
},
"title": "Welkom",
"VERSION": {
"NO_PERMISSION": "U hebt geen rechten voor het beheren van versies van deze content",
"NO_PERMISSION_EVENT": "U hebt geen ${event.permission} rechten voor het ${event.action} van ${event.type}",
"CHOOSE_FILE": "Selecteer een bestand om de versies ervan te zien",
"DIALOG": {
"CLOSE": "Sluiten",
"TITLE": "Versies beheren"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Sluiten",
"TITLE": "Metagegevens"
}
},
"APP_LAYOUT": {
"APP": "App",
"APP_NAME": "ADF-demotoepassing",
"HOME": "Home",
"NODE-SELECTOR": "Selectiefunctie voor node",
"SITES": "Sites",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Navigatiepad",
"NOTIFICATIONS": "Meldingen",
"TASK_LIST": "Lijst met taken",
"PROCESS_LIST": "Lijst met processen",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Aanmelden",
"CUSTOM_SOURCES": "Aangepaste bronnen",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (vertraagd)",
"DOCUMENT_LIST": "Lijst met documenten",
"TEMPLATE": "Sjabloon",
"FORM": "Formulier",
"FORM_LIST": "Formulierlijst",
"FORM_LOADING": "Formulier laden",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Prullenbak",
"SOCIAL": "Sociaal",
"SETTINGS": "Instellingen",
"CONFIG-EDITOR": "Configuratie-editor",
"OVERLAY_VIEWER": "Overlay-viewer",
"ABOUT": "Info",
"SEARCH": "Uitgebreid zoeken",
"EXTENDED_SEARCH_QUERY_BODY": "Uitgebreid zoeken met queryhoofdcode",
"WORD_TO_SEARCH": "Zoekterm",
"SEARCH_CREATED_BY": "Gemaakt door",
"SEARCH_SERVICE_APPROACH": "Schakel dit in om de invoereigenschap uit te schakelen en om te configureren via de service",
"HEADER_DATA": "Koptekstgegevens",
"TREE_VIEW": "Structuurweergave",
"ICONS": "Pictogrammen",
"PEOPLE_GROUPS_CLOUD": "Personen-/groepencloud",
"PEOPLE_CLOUD": "Component Personencloud",
"GROUPS_CLOUD": "Component Groepencloud",
"CONFIRM-DIALOG": "Bevestigingsdialoogvenster"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Definitief verwijderen",
"RESTORE": "Herstellen"
},
"EMPTY_STATE": {
"TITLE": "Prullenbak is leeg",
"FIRST_TEXT": "Items die u verwijdert, worden verplaatst naar de prullenbak.",
"SECOND_TEXT": "Leeg de prullenmand om items definitief te verwijderen."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multiselect (met selectievakjes)",
"THUMBNAILS": "Miniaturen inschakelen",
"ALLOW_DROP_FILES": "Bestanden neerzetten in een map inschakelen",
"MULTIPLE_FILE_UPLOAD": "Meerdere bestanden uploaden",
"FOLDER_UPLOAD": "Map uploaden",
"CUSTOM_FILTER": "Aangepast extensiefilter",
"MAX_SIZE": "Max.formaat filter",
"ENABLE_VERSIONING": "Versiebeheer inschakelen",
"DESCRIPTION_UPLOAD": "Uploaden inschakelen",
"ENABLE_INFINITE_SCROLL": "Oneindig scrollen inschakelen",
"MULTISELECT_DESCRIPTION": "Cmd (Mac) of Ctrl (Windows) gebruiken om de selectie van meerdere items in of uit te schakelen",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Lijst met recente bestanden is leeg"
},
"TITLE": "Recente bestanden"
},
"COLUMNS": {
"DISPLAY_NAME": "Getoonde naam",
"IS_LOCKED": "Vergrendeling",
"TAG": "Tag",
"NODE_ID": "Node-id",
"CREATED_BY": "Gemaakt door",
"CREATED_ON": "Gemaakt op",
"CREATED": "Gemaakt",
"SIZE": "Grootte",
"DELETED_ON": "Verwijderd",
"DELETED_BY": "Verwijderd door"
},
"TOOLBAR": {
"CARDVIEW": "Kaartweergavemodus",
"SHARE_EDIT": "Instellingen bewerken",
"NEW_FOLDER": "Nieuwe map",
"EDIT_FOLDER": "Map bewerken",
"DOWNLOAD": "Downloaden",
"DELETE": "Verwijderen",
"FAVORITES": "Toevoegen aan favorieten",
"SHARE": "Delen",
"THEME": "Een thema selecteren",
"SHOW_VERSION": "Versie weergeven",
"HIDE_VERSION": "Versie verbergen",
"LISTVIEW": "Lijstweergavemodus",
"CREATE_LIBRARY": "Bibliotheek maken"
},
"ACTIONS": {
"VERSIONS": "Versies beheren",
"LOCK": "Vergrendeling",
"METADATA": "Info",
"DOWNLOAD": "Downloaden",
"PERMISSION": "Machtiging",
"FOLDER": {
"COPY": "Kopiëren",
"MOVE": "Verplaatsen",
"DELETE": "Verwijderen"
},
"DOCUMENT": {
"COPY": "Kopiëren",
"MOVE": "Verplaatsen",
"DELETE": "Verwijderen",
"PROCESS_ACTION": "Proces starten"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Opnieuw instellen op standaardwaarden",
"ADD_ROW": "Rij toevoegen",
"REPLACE_ROWS": "Rijen vervangen",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Geen rapport geselecteerd. Kies een rapport uit de lijst"
},
"PS-TAB": {
"TASKS-TAB": "Taken",
"PROCESSES-TAB": "Proces",
"REPORTS-TAB": "Rapporten",
"SETTINGS-TAB": "Instellingen",
"START-TASK": "Taak starten",
"START-PROCESS": "Proces starten",
"PROCESS-AUDIT-LOG": "Auditlog van proces",
"TASK-AUDIT-LOG": "Auditlog van taak",
"TASK-SHOW-HEADER": "Detailkoptekst weergeven"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "App",
"SETTINGS_TAB": "Instellingen"
},
"FORM-LIST": {
"STORE": "Opslaan",
"RESTORE": "Herstellen"
},
"FORM-LOADING": {
"FORM_DATA": "Formuliergegevens",
"FORM_DATA_MESSAGE": "Voer waarden in om het formulier in te vullen",
"TYPEAHEAD_PLACEHOLDER": "Automatische voltooiing",
"RADIO_PLACEHOLDER": "Keuzerondje",
"SELECT_PLACEHOLDER": "Dropdown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Voettekst aanmeldingspagina",
"SHOW_REMEMBERME": "'Mij onthouden' weergeven",
"SHOW_SUCCESS_ROUTE": "Succesroute weergeven",
"CUSTOM_LOGO": "Aangepast logo"
},
"SEARCH": {
"RESULTS": "Zoekresultaten",
"NO_RESULT": "Geen resultaten gevonden",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Grootte",
"CREATOR": "3:Maker",
"MODIFIER": "4:Gewijzigd door",
"CREATED": "5:Gemaakt"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mijn facetquery's",
"CREATED_THIS_YEAR": "1.Dit jaar gemaakt",
"MIMETYPE": "2.Type: HTML",
"XTRASMALL": "3.Grootte: extra klein",
"SMALL": "4.Grootte: klein",
"MEDIUM": "5.Grootte: middelgroot",
"LARGE": "6.Grootte: groot",
"XTRALARGE": "7.Grootte: extra groot",
"XXTRALARGE": "8.Grootte: XX groot"
}
},
"SOCIAL": {
"LIKE": "'Vind ik leuk'-component",
"RATING": "Beoordelingscomponent"
},
"TAG": {
"LIST": "Taglijst Content Services",
"INSERT": "Node-id invoegen",
"NODE_LIST": "Taglijst per node-id"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Machtiging overnemen",
"INHERITED_PERMISSIONS_BUTTON": "Machtiging overgenomen"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn",
"NUMBER_TYPE_ERROR": "Waarde moet een getal zijn",
"NUMBER_GREATER_THAN": "Waarde moet groter zijn dan of gelijk zijn aan {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Beginpagina"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn",
"NUMBER_GREATER_THAN": "Waarde moet groter zijn dan of gelijk zijn aan {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Aangepaste titel vertaling één",
"GROUP-TITLE2-TRANSLATION-KEY": "Aangepaste titel vertaling twee",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS-schijf vol",
"DESCRIPTION": "Content overschrijdt de totale opslaglimiet die is geconfigureerd voor het netwerk of systeem",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Terug naar Home"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Uw filter aanpassen"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Uw filter aanpassen"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Enkelvoudige selectie",
"MULTI": "Meervoudige selectie",
"PRESELECTED_VALUE": "Voorselecteren: ",
"ROLE": "Rollen: ",
"APP_NAME": "Toepassingsnaam",
"APP_FILTER_MODE": "Filteren op toepassingsnaam",
"ROLE_FILTER_MODE": "Filteren op rol",
"PRESELECT_VALIDATION": "Validatie voorselecteren"
},
"ABOUT": {
"TITLE": "Plug-ins",
"TABLE_HEADERS": {
"ID": "Id",
"NAME": "Naam",
"VERSION": "Versie",
"VENDOR": "Leverancier",
"LICENSE": "Licentie",
"RUNTIME": "Runtime",
"DESCRIPTION": "Beschrijving"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multiselectie",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Selectiemodus",
"TASK_DETAILS_REDIRECTION": "Taakdetails weergeven bij klikken op taak",
"PROCESS_DETAILS_REDIRECTION": "Procesdetails weergeven bij klikken op proces"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Szczegóły",
"COMMENTS": "Komentarze",
"PROPERTIES": "Właściwości",
"VERSIONS": "Wersje"
},
"HOME": {
"TITLE": "Składniki Angular dla Alfresco",
"DOCUMENTATION": "Dokumentacja"
},
"LOGOUT": {
"TITLE": "Strona wylogowywania",
"SUB_TITLE": "Wylogowanie przebiegło pomyślnie.",
"LOGIN": "Zaloguj",
"HOME": "Strona główna"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Zezwól na usunięcie",
"SHOW_COMMENTS": "Pokaż komentarze do wersji",
"ALLOW_DOWNLOAD": "Włącz pobieranie wersji",
"READ_ONLY": "Tylko do odczytu",
"COMMENTS": "Pokaż komentarze"
},
"PERSONAL-FILES": "Pliki osobiste",
"WARN-MULTIPLE-UPLOADS": "Wyświetl ostrzeżenie dla wielu operacji przesyłania.",
"CUSTOM-PERMISSION-MESSAGE": "Włącz komunikat o niestandardowych uprawnieniach",
"MEDIUM-TIME-FORMAT": "Włącz format czasu nośnika dla listy dokumentów",
"SEARCH": {
"RADIO": {
"NONE": "Brak",
"ALL": "Wszystkie",
"FOLDER": "Folder",
"DOCUMENT": "Dokument"
}
}
},
"title": "Witaj",
"VERSION": {
"NO_PERMISSION": "Nie masz uprawnień do zarządzania wersjami tej zawartości",
"NO_PERMISSION_EVENT": "Nie masz uprawnienia ${event.permission} do akcji ${event.action} typu ${event.type}.",
"CHOOSE_FILE": "Wybierz plik, aby wyświetlić jego wersje.",
"DIALOG": {
"CLOSE": "Zamknij",
"TITLE": "Zarządzaj wersjami"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Zamknij",
"TITLE": "Metadane"
}
},
"APP_LAYOUT": {
"APP": "Aplikacja",
"APP_NAME": "Wersja demonstracyjna aplikacji ADF",
"HOME": "Strona główna",
"NODE-SELECTOR": "Selektor węzłów",
"SITES": "Witryny",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Ścieżka nawigacyjna",
"NOTIFICATIONS": "Powiadomienia",
"TASK_LIST": "Lista zadań",
"PROCESS_LIST": "Lista procesów",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Zaloguj",
"CUSTOM_SOURCES": "Źródła niestandardowe",
"DATATABLE": "Tabela danych",
"DATATABLE_LAZY": "Tabela danych (z opóźnieniem)",
"DOCUMENT_LIST": "Lista dokumentów",
"TEMPLATE": "Szablon",
"FORM": "Formularz",
"FORM_LIST": "Lista formularzy",
"FORM_LOADING": "Wczytywanie formularza",
"UPLOADER": "Program do przesyłania",
"WEBSCRIPT": "Skrypt internetowy",
"TAG": "Znacznik",
"TRASHCAN": "Kosz",
"SOCIAL": "Społecznościowy",
"SETTINGS": "Ustawienia",
"CONFIG-EDITOR": "Edytor konfiguracji",
"OVERLAY_VIEWER": "Przeglądarka nakładek",
"ABOUT": "Informacje",
"SEARCH": "Wyszukiwanie rozszerzone",
"EXTENDED_SEARCH_QUERY_BODY": "Wyszukiwanie rozszerzone z treścią zapytania",
"WORD_TO_SEARCH": "Szukany wyraz",
"SEARCH_CREATED_BY": "Utworzone przez",
"SEARCH_SERVICE_APPROACH": "Kliknij ten element, aby wyłączyć właściwość wejściową i skonfigurować korzystając z usługi",
"HEADER_DATA": "Dane nagłówka",
"TREE_VIEW": "Widok drzewa",
"ICONS": "Ikony",
"PEOPLE_GROUPS_CLOUD": "Chmura dla osób/grup",
"PEOPLE_CLOUD": "Składnik Chmura dla osób",
"GROUPS_CLOUD": "Składnik Chmura dla grup",
"CONFIRM-DIALOG": "Okno dialogowe potwierdzenia"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Usuń trwale",
"RESTORE": "Przywróć"
},
"EMPTY_STATE": {
"TITLE": "Kosz jest pusty",
"FIRST_TEXT": "Usuwane elementy są przesyłane do kosza.",
"SECOND_TEXT": "Aby trwale usunąć elementy, opróżnij kosz."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Wybór wielokrotny (przy użyciu pól wyboru)",
"THUMBNAILS": "Włącz miniatury",
"ALLOW_DROP_FILES": "Włącz upuszczanie plików w folderze",
"MULTIPLE_FILE_UPLOAD": "Przesyłanie wielu plików",
"FOLDER_UPLOAD": "Przesyłanie folderu",
"CUSTOM_FILTER": "Niestandardowy filtr rozszerzeń",
"MAX_SIZE": "Filtr rozmiaru maksymalnego",
"ENABLE_VERSIONING": "Włącz kontrolę wersji",
"DESCRIPTION_UPLOAD": "Włącz przesyłanie",
"ENABLE_INFINITE_SCROLL": "Włącz nieograniczone przewijanie",
"MULTISELECT_DESCRIPTION": "Używaj klawiszy Cmd (system Mac) lub Ctrl (system Windows), aby przełączać wybieranie wielu elementów.",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Lista bieżących plików jest pusta."
},
"TITLE": "Bieżące pliki"
},
"COLUMNS": {
"DISPLAY_NAME": "Nazwa wyświetlana",
"IS_LOCKED": "Blokada",
"TAG": "Znacznik",
"NODE_ID": "Identyfikator węzła",
"CREATED_BY": "Utworzone przez",
"CREATED_ON": "Data utworzenia",
"CREATED": "Utworzono",
"SIZE": "Rozmiar",
"DELETED_ON": "Usunięte",
"DELETED_BY": "Usunięte przez"
},
"TOOLBAR": {
"CARDVIEW": "Tryb widoku karty",
"SHARE_EDIT": "Edytuj ustawienia",
"NEW_FOLDER": "Nowy folder",
"EDIT_FOLDER": "Edytuj folder",
"DOWNLOAD": "Pobierz",
"DELETE": "Usuń",
"FAVORITES": "Dodaj do ulubionych",
"SHARE": "Udostępnij",
"THEME": "Wybierz motyw",
"SHOW_VERSION": "Pokaż wersję",
"HIDE_VERSION": "Ukryj wersję",
"LISTVIEW": "Tryb widoku listy",
"CREATE_LIBRARY": "Utwórz bibliotekę"
},
"ACTIONS": {
"VERSIONS": "Zarządzaj wersjami",
"LOCK": "Blokada",
"METADATA": "Informacje",
"DOWNLOAD": "Pobierz",
"PERMISSION": "Uprawnienie",
"FOLDER": {
"COPY": "Kopiuj",
"MOVE": "Przenieś",
"DELETE": "Usuń"
},
"DOCUMENT": {
"COPY": "Kopiuj",
"MOVE": "Przenieś",
"DELETE": "Usuń",
"PROCESS_ACTION": "Rozpocznij proces"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Resetuj do domyślnych",
"ADD_ROW": "Dodaj wiersz",
"REPLACE_ROWS": "Zastąp wiersze",
"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."
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Nie wybrano raportu. Wybierz raport z listy."
},
"PS-TAB": {
"TASKS-TAB": "Zadania",
"PROCESSES-TAB": "Proces",
"REPORTS-TAB": "Raporty",
"SETTINGS-TAB": "Ustawienia",
"START-TASK": "Rozpocznij zadanie",
"START-PROCESS": "Rozpocznij proces",
"PROCESS-AUDIT-LOG": "Dziennik inspekcji procesu",
"TASK-AUDIT-LOG": "Dziennik inspekcji zadania",
"TASK-SHOW-HEADER": "Pokaż nagłówek szczegółów"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Aplikacja",
"SETTINGS_TAB": "Ustawienia"
},
"FORM-LIST": {
"STORE": "Magazyn",
"RESTORE": "Przywróć"
},
"FORM-LOADING": {
"FORM_DATA": "Dane formularza",
"FORM_DATA_MESSAGE": "Wprowadź wartości, aby wypełnić formularz.",
"TYPEAHEAD_PLACEHOLDER": "Wpisywanie z wyprzedzeniem",
"RADIO_PLACEHOLDER": "Przycisk radiowy",
"SELECT_PLACEHOLDER": "Menu rozwijane"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Stopka logowania",
"SHOW_REMEMBERME": "Pokaż opcję „Zapamiętaj mnie”",
"SHOW_SUCCESS_ROUTE": "Pokaż ścieżkę powodzenia",
"CUSTOM_LOGO": "Logo niestandardowe"
},
"SEARCH": {
"RESULTS": "Wyniki wyszukiwania",
"NO_RESULT": "Brak wyników",
"FACET_FIELDS": {
"TYPE": "1: Typ",
"SIZE": "2: Rozmiar",
"CREATOR": "3: Twórca",
"MODIFIER": "4: Modyfikator",
"CREATED": "5: Utworzono"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Moje zapytania dotyczące aspektu",
"CREATED_THIS_YEAR": "1. Utworzone w tym roku",
"MIMETYPE": "2. Typ: HTML",
"XTRASMALL": "3. Rozmiar: bardzo mały",
"SMALL": "4. Rozmiar: mały",
"MEDIUM": "5. Rozmiar: średni",
"LARGE": "6. Rozmiar: duży",
"XTRALARGE": "7. Rozmiar: bardzo duży",
"XXTRALARGE": "8. Rozmiar: wyjątkowo duży"
}
},
"SOCIAL": {
"LIKE": "Składnik Like",
"RATING": "Składnik Rating"
},
"TAG": {
"LIST": "Wyświetl znaczniki Content Services",
"INSERT": "Wstaw identyfikator węzła",
"NODE_LIST": "Lista znaczników według identyfikatora węzła"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Dziedzicz uprawnienie",
"INHERITED_PERMISSIONS_BUTTON": "Odziedziczone uprawnienie"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Wstaw identyfikator aplikacji",
"APP_ID_TYPE_ERROR": "Identyfikator aplikacji musi być liczbą.",
"NUMBER_TYPE_ERROR": "Wartość musi być liczbą.",
"NUMBER_GREATER_THAN": "Wartość musi być większa od lub równa wartości {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Strona początkowa"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Wstaw identyfikator aplikacji",
"APP_ID_TYPE_ERROR": "Identyfikator aplikacji musi być liczbą.",
"NUMBER_GREATER_THAN": "Wartość musi być większa od lub równa wartości {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Tytuł niestandardowy — tłumaczenie pierwsze",
"GROUP-TITLE2-TRANSLATION-KEY": "Tytuł niestandardowy — tłumaczenie drugie",
"ERROR_CONTENT": {
"507": {
"TITLE": "Dysk ACS pełny",
"DESCRIPTION": "Zawartość przekracza limit łącznego przydziału miejsca w magazynie skonfigurowany w sieci lub systemie",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Powrót do strony głównej"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Dostosuj swój filtr"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Dostosuj swój filtr"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Wybór pojedynczy",
"MULTI": "Wybór wielokrotny",
"PRESELECTED_VALUE": "Wstępny wybór: ",
"ROLE": "Role: ",
"APP_NAME": "Nazwa aplikacji",
"APP_FILTER_MODE": "Filtruj według nazwy aplikacji",
"ROLE_FILTER_MODE": "Filtruj według roli",
"PRESELECT_VALIDATION": "Sprawdzanie poprawności wstępnego wyboru"
},
"ABOUT": {
"TITLE": "Dodatki typu plugin",
"TABLE_HEADERS": {
"ID": "Identyfikator",
"NAME": "Nazwa",
"VERSION": "Wersja",
"VENDOR": "Sprzedawca",
"LICENSE": "Licencja",
"RUNTIME": "Środowisko uruchomieniowe",
"DESCRIPTION": "Opis"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Wybór wielokrotny",
"TESTING_MODE": "Tryb testowania",
"SELECTION_MODE": "Tryb wyboru",
"TASK_DETAILS_REDIRECTION": "Wyświetlaj szczegóły zadania po kliknięciu zadania",
"PROCESS_DETAILS_REDIRECTION": "Wyświetlaj szczegóły procesu po kliknięciu procesu"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detalhes",
"COMMENTS": "Comentários",
"PROPERTIES": "Propriedades",
"VERSIONS": "Versões"
},
"HOME": {
"TITLE": "Componentes do Angular para Alfresco",
"DOCUMENTATION": "Documentação"
},
"LOGOUT": {
"TITLE": "Página de logout",
"SUB_TITLE": "Você está desconectado",
"LOGIN": "Login",
"HOME": "Página Inicial"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir apagar",
"SHOW_COMMENTS": "Mostrar comentários em versões",
"ALLOW_DOWNLOAD": "Ativar download da versão",
"READ_ONLY": "Somente leitura",
"COMMENTS": "Mostrar comentários"
},
"PERSONAL-FILES": "Arquivos pessoais",
"WARN-MULTIPLE-UPLOADS": "Exibir alerta para vários uploads.",
"CUSTOM-PERMISSION-MESSAGE": "Ativar mensagem de permissão personalizada",
"MEDIUM-TIME-FORMAT": "Ativar formato de tempo regular para lista de documento",
"SEARCH": {
"RADIO": {
"NONE": "Nenhum",
"ALL": "Todos",
"FOLDER": "Pasta",
"DOCUMENT": "Documento"
}
}
},
"title": "Bem-vindo",
"VERSION": {
"NO_PERMISSION": "Você não tem permissão para gerenciar versões deste conteúdo",
"NO_PERMISSION_EVENT": "Você não tem a permissão ${event.permission} para ${event.action} o ${event.type}",
"CHOOSE_FILE": "Selecione um arquivo para ver suas versões",
"DIALOG": {
"CLOSE": "Fechar",
"TITLE": "Gerenciar versões"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Fechar",
"TITLE": "Metadados"
}
},
"APP_LAYOUT": {
"APP": "Aplicativo",
"APP_NAME": "Aplicativo Demo ADF",
"HOME": "Página Inicial",
"NODE-SELECTOR": "Seletor de nó",
"SITES": "Sites",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Trilha de navegação",
"NOTIFICATIONS": "Notificações",
"TASK_LIST": "Lista de tarefas",
"PROCESS_LIST": "Lista de processos",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Origens Personalizadas",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Sob demanda)",
"DOCUMENT_LIST": "Lista de Documento",
"TEMPLATE": "Modelo",
"FORM": "Formulário",
"FORM_LIST": "Lista de Formulário",
"FORM_LOADING": "Carregamento de formulário",
"UPLOADER": "Carregador",
"WEBSCRIPT": "Webscript",
"TAG": "Marca",
"TRASHCAN": "Lixeira",
"SOCIAL": "Social",
"SETTINGS": "Configurações",
"CONFIG-EDITOR": "Editor de configuração",
"OVERLAY_VIEWER": "Visualizador de sobreposição",
"ABOUT": "Sobre",
"SEARCH": "Pesquisa estendida",
"EXTENDED_SEARCH_QUERY_BODY": "Pesquisa estendida com corpo de consulta",
"WORD_TO_SEARCH": "Pesquisar palavras",
"SEARCH_CREATED_BY": "Criado por",
"SEARCH_SERVICE_APPROACH": "Marque essa opção para desativar a inserção e configurar a utilização do serviço",
"HEADER_DATA": "Dados do cabeçalho",
"TREE_VIEW": "Exibição em árvore",
"ICONS": "Ícones",
"PEOPLE_GROUPS_CLOUD": "Nuvem de Pessoas/Grupo",
"PEOPLE_CLOUD": "Componente da Nuvem de Pessoas",
"GROUPS_CLOUD": "Componente da Nuvem de Grupos",
"CONFIRM-DIALOG": "Caixa de diálogo de confirmação"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Apagar permanentemente",
"RESTORE": "Restaurar"
},
"EMPTY_STATE": {
"TITLE": "A lixeira está vazia",
"FIRST_TEXT": "Itens apagados são movidos para a Lixeira.",
"SECOND_TEXT": "Esvazie a Lixeira para apagar os itens permanentemente."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Seleção Múltipla (com caixas de seleção)",
"THUMBNAILS": "Ativar Miniaturas",
"ALLOW_DROP_FILES": "Ativar Soltar Arquivos em uma pasta",
"MULTIPLE_FILE_UPLOAD": "Carregamento de Vários Arquivos",
"FOLDER_UPLOAD": "Carregamento de Pasta",
"CUSTOM_FILTER": "Filtro de extensões personalizado",
"MAX_SIZE": "Tamanho máximo do filtro",
"ENABLE_VERSIONING": "Ativar versões",
"DESCRIPTION_UPLOAD": "Ativar carregamento",
"ENABLE_INFINITE_SCROLL": "Ativar rolagem infinita",
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) ou Ctrl (Windows) para alternar a seleção de vários itens",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "A lista de Arquivos recentes está vazia"
},
"TITLE": "Arquivos recentes"
},
"COLUMNS": {
"DISPLAY_NAME": "Nome de exibição",
"IS_LOCKED": "Bloqueio",
"TAG": "Marca",
"NODE_ID": "ID do nó",
"CREATED_BY": "Criado por",
"CREATED_ON": "Criado em",
"CREATED": "Criado",
"SIZE": "Tamanho",
"DELETED_ON": "Excluído",
"DELETED_BY": "Excluído por"
},
"TOOLBAR": {
"CARDVIEW": "Modo de visualização de cartão",
"SHARE_EDIT": "Editar configurações",
"NEW_FOLDER": "Nova Pasta",
"EDIT_FOLDER": "Editar pasta",
"DOWNLOAD": "Download",
"DELETE": "Excluir",
"FAVORITES": "Adicionar aos favoritos",
"SHARE": "Compartilhar",
"THEME": "Selecionar um tema",
"SHOW_VERSION": "Mostrar versão",
"HIDE_VERSION": "Ocultar versão",
"LISTVIEW": "Modo de exibição em lista",
"CREATE_LIBRARY": "Criar biblioteca"
},
"ACTIONS": {
"VERSIONS": "Gerenciar versões",
"LOCK": "Bloqueio",
"METADATA": "Informações",
"DOWNLOAD": "Download",
"PERMISSION": "Permissão",
"FOLDER": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Excluir"
},
"DOCUMENT": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Excluir",
"PROCESS_ACTION": "Iniciar processo"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Redefinir para o padrão",
"ADD_ROW": "Adicionar linha",
"REPLACE_ROWS": "Substituir linhas",
"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"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Nenhum relatório selecionado. Escolha um relatório na lista"
},
"PS-TAB": {
"TASKS-TAB": "Tarefas",
"PROCESSES-TAB": "Processo",
"REPORTS-TAB": "Relatórios",
"SETTINGS-TAB": "Configurações",
"START-TASK": "Iniciar tarefa",
"START-PROCESS": "Iniciar processo",
"PROCESS-AUDIT-LOG": "Log de auditoria de processo",
"TASK-AUDIT-LOG": "Log de auditoria de tarefa",
"TASK-SHOW-HEADER": "Mostrar cabeçalho de detalhes"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Aplicativo",
"SETTINGS_TAB": "Configurações"
},
"FORM-LIST": {
"STORE": "Armazenar",
"RESTORE": "Restaurar"
},
"FORM-LOADING": {
"FORM_DATA": "Dados do formulário",
"FORM_DATA_MESSAGE": "Insira os valores para preencher o formulário",
"TYPEAHEAD_PLACEHOLDER": "Campo de sugestão",
"RADIO_PLACEHOLDER": "Botão de opção",
"SELECT_PLACEHOLDER": "Lista suspensa"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Rodapé de login",
"SHOW_REMEMBERME": "Mostrar o recurso Lembrar-me",
"SHOW_SUCCESS_ROUTE": "Mostrar rota de sucesso",
"CUSTOM_LOGO": "Logo personalizada"
},
"SEARCH": {
"RESULTS": "Resultados da pesquisa",
"NO_RESULT": "Nenhum resultado encontrado",
"FACET_FIELDS": {
"TYPE": "1:Tipo",
"SIZE": "2:Tamanho",
"CREATOR": "3:Criador",
"MODIFIER": "4:Modificador",
"CREATED": "5:Criado"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Minhas consultas de faceta",
"CREATED_THIS_YEAR": "1.Criado este ano",
"MIMETYPE": "2.Tipo: HTML",
"XTRASMALL": "3.Tamanho: muito pequeno",
"SMALL": "4.Tamanho: pequeno",
"MEDIUM": "5.Tamanho: médio",
"LARGE": "6.Tamanho: grande",
"XTRALARGE": "7.Tamanho: muito grande",
"XXTRALARGE": "8.Tamanho: extragrande"
}
},
"SOCIAL": {
"LIKE": "Componente Like",
"RATING": "Componente de classificação"
},
"TAG": {
"LIST": "Lista de Marcas do Content Services",
"INSERT": "Inserir ID de Nó",
"NODE_LIST": "Lista de marcas por ID de Nó"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Herdar permissão",
"INHERITED_PERMISSIONS_BUTTON": "Permissão herdada"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserir ID do aplicativo",
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número",
"NUMBER_TYPE_ERROR": "O valor deve ser um número",
"NUMBER_GREATER_THAN": "O valor deve ser maior ou igual a {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Iniciando a página"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserir ID do aplicativo",
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número",
"NUMBER_GREATER_THAN": "O valor deve ser maior ou igual a {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Tradução um de título personalizado",
"GROUP-TITLE2-TRANSLATION-KEY": "Tradução dois de título personalizado",
"ERROR_CONTENT": {
"507": {
"TITLE": "Disco ACS cheio",
"DESCRIPTION": "O conteúdo excede o limite de armazenamento geral configurado para a rede ou o sistema",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Voltar para a página inicial"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Personalizar seu filtro"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Personalizar seu filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Seleção única",
"MULTI": "Seleção múltipla",
"PRESELECTED_VALUE": "Pré-seleção: ",
"ROLE": "Funções: ",
"APP_NAME": "Nome do aplicativo",
"APP_FILTER_MODE": "Filtrar por nome do aplicativo",
"ROLE_FILTER_MODE": "Filtrar por função",
"PRESELECT_VALIDATION": "Validação de pré-seleção"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Nome",
"VERSION": "Versão",
"VENDOR": "Fornecedor",
"LICENSE": "Licença",
"RUNTIME": "Tempo de execução",
"DESCRIPTION": "Descrição"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Seleção Múltipla",
"TESTING_MODE": "Modo de Teste",
"SELECTION_MODE": "Modo de Seleção",
"TASK_DETAILS_REDIRECTION": "Exibir detalhes da tarefa ao clicar na tarefa",
"PROCESS_DETAILS_REDIRECTION": "Exibir detalhes do processo ao clicar no processo"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Сведения",
"COMMENTS": "Комментарии",
"PROPERTIES": "Свойства",
"VERSIONS": "Версии"
},
"HOME": {
"TITLE": "Угловые компоненты для Alfresco",
"DOCUMENTATION": "Документация"
},
"LOGOUT": {
"TITLE": "Страница выхода из системы",
"SUB_TITLE": "Вы вышли из системы",
"LOGIN": "Войти",
"HOME": "Домашняя"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Разрешить удаление",
"SHOW_COMMENTS": "Показать комментарии к версиям",
"ALLOW_DOWNLOAD": "Включить загрузку версий",
"READ_ONLY": "Только чтение",
"COMMENTS": "Показать комментарии"
},
"PERSONAL-FILES": "Личные файлы",
"WARN-MULTIPLE-UPLOADS": "Показывать предупреждение для нескольких загрузок.",
"CUSTOM-PERMISSION-MESSAGE": "Включить сообщение о пользовательском разрешении",
"MEDIUM-TIME-FORMAT": "Включить средний формат времени для списка документов",
"SEARCH": {
"RADIO": {
"NONE": "Нет",
"ALL": "Все",
"FOLDER": "Папка",
"DOCUMENT": "Документ"
}
}
},
"title": "Добро пожаловать",
"VERSION": {
"NO_PERMISSION": "У вас нет разрешения на управление версиями этого контента",
"NO_PERMISSION_EVENT": "У вас нет разрешения ${event.permission} на ${event.action} ${event.type}",
"CHOOSE_FILE": "Чтобы просмотреть версии файла, выберите файл",
"DIALOG": {
"CLOSE": "Закрыть",
"TITLE": "Управление версиями"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Закрыть",
"TITLE": "Метаданные"
}
},
"APP_LAYOUT": {
"APP": "Приложение",
"APP_NAME": "Демонстрационное приложение ADF",
"HOME": "Домашняя",
"NODE-SELECTOR": "Селектор узлов",
"SITES": "Сайты",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Иерархия",
"NOTIFICATIONS": "Оповещения",
"TASK_LIST": "Список задач",
"PROCESS_LIST": "Список процессов",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Войти",
"CUSTOM_SOURCES": "Пользовательские источники",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Таблица данных (частичная загрузка)",
"DOCUMENT_LIST": "Список документов",
"TEMPLATE": "Шаблон",
"FORM": "Форма",
"FORM_LIST": "Список форм",
"FORM_LOADING": "Загрузка формы",
"UPLOADER": "Загрузчик",
"WEBSCRIPT": "Webscript",
"TAG": "Метка",
"TRASHCAN": "Корзина",
"SOCIAL": "Социальный",
"SETTINGS": "Параметры",
"CONFIG-EDITOR": "Редактор конфигурации",
"OVERLAY_VIEWER": "Просмотр наложения",
"ABOUT": "О приложении",
"SEARCH": "Расширенный поиск",
"EXTENDED_SEARCH_QUERY_BODY": "Расширенный поиск с использованием тела запроса",
"WORD_TO_SEARCH": "Искать слово",
"SEARCH_CREATED_BY": "Создано пользователем",
"SEARCH_SERVICE_APPROACH": "Установите флажок, чтобы отключить свойство ввода и настроить, используя службу.",
"HEADER_DATA": "Данные заголовка",
"TREE_VIEW": "Иерархическое представление",
"ICONS": "Значки",
"PEOPLE_GROUPS_CLOUD": "Облако пользователей/групп",
"PEOPLE_CLOUD": "Компонент облака «Пользователи»",
"GROUPS_CLOUD": "Компонент облака «Группы»",
"CONFIRM-DIALOG": "Диалоговое окно подтверждения"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Удалить навсегда",
"RESTORE": "Восстановить"
},
"EMPTY_STATE": {
"TITLE": "Корзина пуста",
"FIRST_TEXT": "Элементы, которые вы удаляете, перемещаются в корзину.",
"SECOND_TEXT": "Очистите корзину, чтобы удалить элементы навсегда."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Выбор нескольких вариантов (с флажками)",
"THUMBNAILS": "Включить эскизы",
"ALLOW_DROP_FILES": "Включить перетаскивание файлов в папку",
"MULTIPLE_FILE_UPLOAD": "Загрузка нескольких файлов",
"FOLDER_UPLOAD": "Загрузка папки",
"CUSTOM_FILTER": "Пользовательский фильтр расширений",
"MAX_SIZE": "Фильтр максимального размера",
"ENABLE_VERSIONING": "Включить поддержку версий",
"DESCRIPTION_UPLOAD": "Включить загрузку",
"ENABLE_INFINITE_SCROLL": "Включить бесконечную прокрутку",
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Список последних файлов пуст"
},
"TITLE": "Последние файлы"
},
"COLUMNS": {
"DISPLAY_NAME": "Отображаемое имя",
"IS_LOCKED": "Блокировка",
"TAG": "Метка",
"NODE_ID": "Идентификатор узла",
"CREATED_BY": "Создано пользователем",
"CREATED_ON": "Дата создания",
"CREATED": "Создано",
"SIZE": "Размер",
"DELETED_ON": "Удаленные",
"DELETED_BY": "Удалено пользователем"
},
"TOOLBAR": {
"CARDVIEW": "Режим просмотра карты",
"SHARE_EDIT": "Изменить параметры",
"NEW_FOLDER": "Новая папка",
"EDIT_FOLDER": "Редактировать папку",
"DOWNLOAD": "Скачать",
"DELETE": "Удалить",
"FAVORITES": "Добавить в избранное",
"SHARE": "Открыть доступ",
"THEME": "Выберите тему",
"SHOW_VERSION": "Показать версию",
"HIDE_VERSION": "Скрыть версию",
"LISTVIEW": "Режим просмотра списка",
"CREATE_LIBRARY": "Создание библиотеки"
},
"ACTIONS": {
"VERSIONS": "Управление версиями",
"LOCK": "Блокировка",
"METADATA": "Информация",
"DOWNLOAD": "Скачать",
"PERMISSION": "Право",
"FOLDER": {
"COPY": "Копировать",
"MOVE": "Переместить",
"DELETE": "Удалить"
},
"DOCUMENT": {
"COPY": "Копировать",
"MOVE": "Переместить",
"DELETE": "Удалить",
"PROCESS_ACTION": "Начать процесс"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Установить значение по умолчанию",
"ADD_ROW": "Добавить строку",
"REPLACE_ROWS": "Заменить строки",
"REPLACE_COLUMNS": "Заменить столбцы",
"LOAD_NODE": "Загрузить узел",
"MULTISELECT": "Выбор нескольких вариантов",
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Отчет не выбран. Выберите отчет из списка"
},
"PS-TAB": {
"TASKS-TAB": "Задачи",
"PROCESSES-TAB": "Процесс",
"REPORTS-TAB": "Отчеты",
"SETTINGS-TAB": "Параметры",
"START-TASK": "Начать задачу",
"START-PROCESS": "Начать процесс",
"PROCESS-AUDIT-LOG": "Журнал проверки процесса",
"TASK-AUDIT-LOG": "Журнал проверки задачи",
"TASK-SHOW-HEADER": "Показать подробности заголовка"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Приложение",
"SETTINGS_TAB": "Параметры"
},
"FORM-LIST": {
"STORE": "Хранилище",
"RESTORE": "Восстановить"
},
"FORM-LOADING": {
"FORM_DATA": "Данные формы",
"FORM_DATA_MESSAGE": "Введите значения для заполнения формы",
"TYPEAHEAD_PLACEHOLDER": "Буфер клавиатуры",
"RADIO_PLACEHOLDER": "Селективная кнопка",
"SELECT_PLACEHOLDER": "Раскрывающееся меню"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Нижний колонтитул страницы входа в систему",
"SHOW_REMEMBERME": "Показывать «Запомнить меня»",
"SHOW_SUCCESS_ROUTE": "Показать успешный маршрут",
"CUSTOM_LOGO": "Пользовательский логотип"
},
"SEARCH": {
"RESULTS": "Результаты поиска",
"NO_RESULT": "Результаты не найдены",
"FACET_FIELDS": {
"TYPE": "1: тип",
"SIZE": "2: размер",
"CREATOR": "3: автор",
"MODIFIER": "4: редактор",
"CREATED": "5: создано"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Мои фасетные запросы",
"CREATED_THIS_YEAR": "1. Создано в этом году",
"MIMETYPE": "2. Тип HTML",
"XTRASMALL": "3. Размер: крайне малый",
"SMALL": "4. Размер: малый",
"MEDIUM": "5. Размер: средний",
"LARGE": "6. Размер: большой",
"XTRALARGE": "7. Размер: очень большой",
"XXTRALARGE": "8. Размер: огромный"
}
},
"SOCIAL": {
"LIKE": "Компонент \"Нравится\"",
"RATING": "Компонент \"Рейтинг\""
},
"TAG": {
"LIST": "Список меток Content Services",
"INSERT": "Вставить идентификатор узла",
"NODE_LIST": "Список меток по идентификатору узла"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Наследовать разрешение",
"INHERITED_PERMISSIONS_BUTTON": "Разрешение унаследовано"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом",
"NUMBER_TYPE_ERROR": "Значение должно быть числом",
"NUMBER_GREATER_THAN": "Значение должно быть больше или равно {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Начальная страница"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом",
"NUMBER_GREATER_THAN": "Значение должно быть больше или равно {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Перевод пользовательского заголовка один",
"GROUP-TITLE2-TRANSLATION-KEY": "Перевод пользовательского заголовка два",
"ERROR_CONTENT": {
"507": {
"TITLE": "Диск ACS заполнен",
"DESCRIPTION": "Объем данных превысил максимально допустимое значение, установленное для сети или системы",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Назад на главную"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Настройка фильтра"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Настройка фильтра"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Единичный выбор",
"MULTI": "Групповой выбор",
"PRESELECTED_VALUE": "Предварительный выбор: ",
"ROLE": "Роли: ",
"APP_NAME": "Имя приложения",
"APP_FILTER_MODE": "Фильтровать по имени приложения",
"ROLE_FILTER_MODE": "Фильтровать по роли",
"PRESELECT_VALIDATION": "Проверка предварительного выбора"
},
"ABOUT": {
"TITLE": "Подключаемые модули",
"TABLE_HEADERS": {
"ID": "Идентификатор",
"NAME": "Имя",
"VERSION": "Версия",
"VENDOR": "Поставщик",
"LICENSE": "Лицензия",
"RUNTIME": "Среда выполнения",
"DESCRIPTION": "Описание"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Выбор нескольких",
"TESTING_MODE": "Режим тестирования",
"SELECTION_MODE": "Режим выбора",
"TASK_DETAILS_REDIRECTION": "Отображать подробные сведения о задаче при нажатии на задачу",
"PROCESS_DETAILS_REDIRECTION": "Показывать сведения о процессе при нажатии на процессе"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detaljer",
"COMMENTS": "Kommentarer",
"PROPERTIES": "Egenskaper",
"VERSIONS": "Versioner"
},
"HOME": {
"TITLE": "Angular-komponenter till Alfresco",
"DOCUMENTATION": "Dokumentation"
},
"LOGOUT": {
"TITLE": "Utloggningssida",
"SUB_TITLE": "Du är nu utloggad",
"LOGIN": "Inloggning",
"HOME": "Hem"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Tillåt radering",
"SHOW_COMMENTS": "Visa kommentarer om versioner",
"ALLOW_DOWNLOAD": "Aktivera version nedladdning",
"READ_ONLY": "Skrivskyddad",
"COMMENTS": "Visa kommentarer"
},
"PERSONAL-FILES": "Personliga filer",
"WARN-MULTIPLE-UPLOADS": "Visa varning för flera uppladningar",
"CUSTOM-PERMISSION-MESSAGE": "Aktivera anpassat behörighetersmeddelande",
"MEDIUM-TIME-FORMAT": "Aktivera mellantidsformat för dokumentlista",
"SEARCH": {
"RADIO": {
"NONE": "Ingen",
"ALL": "Alla",
"FOLDER": "Mapp",
"DOCUMENT": "Dokument"
}
}
},
"title": "Välkommen",
"VERSION": {
"NO_PERMISSION": "Du har inte behörighet att hantera versioner av det här innehållet",
"NO_PERMISSION_EVENT": "Du har inte ${event.permission} behörighet att ${event.action} ${event.type}",
"CHOOSE_FILE": "Välj en fil för att se dess versioner",
"DIALOG": {
"CLOSE": "Stäng",
"TITLE": "Hantera versioner"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Stäng",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP": "Program",
"APP_NAME": "ADF-demoprogram",
"HOME": "Hem",
"NODE-SELECTOR": "Nodväljare",
"SITES": "Webbplatser",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Brödsmula",
"NOTIFICATIONS": "Aviseringar",
"TASK_LIST": "Uppgiftslista",
"PROCESS_LIST": "Processlista",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Inloggning",
"CUSTOM_SOURCES": "Anpassade källor",
"DATATABLE": "Datatabell",
"DATATABLE_LAZY": "Datatabell (lat)",
"DOCUMENT_LIST": "Dokumentlista",
"TEMPLATE": "Mall",
"FORM": "Formulär",
"FORM_LIST": "Formulärlista",
"FORM_LOADING": "Formulär läses in",
"UPLOADER": "Uppladdare",
"WEBSCRIPT": "Webbskript",
"TAG": "Tagg",
"TRASHCAN": "Papperskorg",
"SOCIAL": "Social",
"SETTINGS": "Inställningar",
"CONFIG-EDITOR": "Konfigurationseditor",
"OVERLAY_VIEWER": "Överdragsvisare",
"ABOUT": "Om",
"SEARCH": "Utvidgad sökning",
"EXTENDED_SEARCH_QUERY_BODY": "Utvidgad sökning med frågetext",
"WORD_TO_SEARCH": "Sökord",
"SEARCH_CREATED_BY": "Skapad av",
"SEARCH_SERVICE_APPROACH": "Kontrollera den här för att avaktivera indataegenskap och konfigurera genom att använda tjänsten",
"HEADER_DATA": "Sidhuvuddata",
"TREE_VIEW": "Trädvy",
"ICONS": "Ikoner",
"PEOPLE_GROUPS_CLOUD": "Personer/grupp moln",
"PEOPLE_CLOUD": "Personer moln-komponent",
"GROUPS_CLOUD": "Grupper moln-komponent",
"CONFIRM-DIALOG": "Bekräftelsedialog"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Radera permanent",
"RESTORE": "Återställ"
},
"EMPTY_STATE": {
"TITLE": "Papperskorgen är tom",
"FIRST_TEXT": "Objekt du raderar flyttas till papperskorgen.",
"SECOND_TEXT": "Töm papperskorgen för att radera objekt permanent"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Flera val (med kryssrutor)",
"THUMBNAILS": "Aktivera miniatyrbilder",
"ALLOW_DROP_FILES": "Aktivera släpp filer i en mapp",
"MULTIPLE_FILE_UPLOAD": "Uppladdning av flera filer",
"FOLDER_UPLOAD": "Mappuppladdning",
"CUSTOM_FILTER": "Anpassade tilläggsfilter",
"MAX_SIZE": "Maxstorlek filter",
"ENABLE_VERSIONING": "Aktivera versionering",
"DESCRIPTION_UPLOAD": "Aktivera uppladdning",
"ENABLE_INFINITE_SCROLL": "Aktivera oändlig skrollning",
"MULTISELECT_DESCRIPTION": "Använd Cmd (Mac) eller Ctrl (Windows) för att växla val av flera objekt",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Listan med de senaste filerna är tom"
},
"TITLE": "De senaste filerna"
},
"COLUMNS": {
"DISPLAY_NAME": "Visa namn",
"IS_LOCKED": "Lås",
"TAG": "Tagg",
"NODE_ID": "Nod-ID",
"CREATED_BY": "Skapad av",
"CREATED_ON": "Skapad den",
"CREATED": "Skapad",
"SIZE": "Storlek",
"DELETED_ON": "Raderad",
"DELETED_BY": "Raderad av"
},
"TOOLBAR": {
"CARDVIEW": "Kortvyläge",
"SHARE_EDIT": "Redigera inställningar",
"NEW_FOLDER": "Ny mapp",
"EDIT_FOLDER": "Redigera mapp",
"DOWNLOAD": "Ladda ner",
"DELETE": "Radera",
"FAVORITES": "Lägg till favoriter",
"SHARE": "Dela",
"THEME": "Välj ett tema",
"SHOW_VERSION": "Visa version",
"HIDE_VERSION": "Dölj version",
"LISTVIEW": "Listvyläge",
"CREATE_LIBRARY": "Skapa bibliotek"
},
"ACTIONS": {
"VERSIONS": "Hantera versioner",
"LOCK": "Lås",
"METADATA": "Info",
"DOWNLOAD": "Ladda ner",
"PERMISSION": "Behörighet",
"FOLDER": {
"COPY": "Kopiera",
"MOVE": "Flytta",
"DELETE": "Radera"
},
"DOCUMENT": {
"COPY": "Kopiera",
"MOVE": "Flytta",
"DELETE": "Radera",
"PROCESS_ACTION": "Starta process"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Återställ till standard",
"ADD_ROW": "Lägg till rad",
"REPLACE_ROWS": "Ersätt rader",
"REPLACE_COLUMNS": "Ersätt kolumner",
"LOAD_NODE": "Ladda upp nod",
"MULTISELECT": "Flera val",
"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"
},
"PS-TAB": {
"TASKS-TAB": "Uppgifter",
"PROCESSES-TAB": "Process",
"REPORTS-TAB": "Rapporter",
"SETTINGS-TAB": "Inställningar",
"START-TASK": "Starta uppgift",
"START-PROCESS": "Starta process",
"PROCESS-AUDIT-LOG": "Processgranskningslogg",
"TASK-AUDIT-LOG": "Uppgiftsgranskningslogg",
"TASK-SHOW-HEADER": "Visa detaljer rubrik"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Program",
"SETTINGS_TAB": "Inställningar"
},
"FORM-LIST": {
"STORE": "Lagra",
"RESTORE": "Återställ"
},
"FORM-LOADING": {
"FORM_DATA": "Formulärdata",
"FORM_DATA_MESSAGE": "Ange värden för att fylla formuläret",
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
"RADIO_PLACEHOLDER": "Radioknapp",
"SELECT_PLACEHOLDER": "DropDown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Inloggningssidfot",
"SHOW_REMEMBERME": "Visa kom ihåg mig",
"SHOW_SUCCESS_ROUTE": "Visa framgångsväg",
"CUSTOM_LOGO": "Anpassad logotyp"
},
"SEARCH": {
"RESULTS": "Sökresultat",
"NO_RESULT": "Inga resultat hittades",
"FACET_FIELDS": {
"TYPE": "1:Typ",
"SIZE": "2:Storlek",
"CREATOR": "3:Skapat av",
"MODIFIER": "4:Ändrat av",
"CREATED": "5:Skapad den"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mina facet-förfrågningar",
"CREATED_THIS_YEAR": "1.Skapad det här året",
"MIMETYPE": "2.Typ: HTML",
"XTRASMALL": "3.Storlek: extra small",
"SMALL": "4.Storlek: small",
"MEDIUM": "5.Storlek: medium",
"LARGE": "6.Storlek: large",
"XTRALARGE": "7.Storlek: extra large",
"XXTRALARGE": "8.Storlek: XX large"
}
},
"SOCIAL": {
"LIKE": "Som komponent",
"RATING": "Klassificeringskomponent"
},
"TAG": {
"LIST": "Lista taggar Content Services",
"INSERT": "Infoga nod-ID",
"NODE_LIST": "Tagglista per nod-ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Ärv behörighet",
"INHERITED_PERMISSIONS_BUTTON": "Behörighet ärvt"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Infoga program-ID",
"APP_ID_TYPE_ERROR": "Program-ID måste vara ett nummer",
"NUMBER_TYPE_ERROR": "Värdet måste vara ett nummer",
"NUMBER_GREATER_THAN": "Värdet måste vara större än eller lika med {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Startsida"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Infoga program-ID",
"APP_ID_TYPE_ERROR": "Program-ID måste vara ett nummer",
"NUMBER_GREATER_THAN": "Värdet måste vara större än eller lika med {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Anpassad titelöversättning ett",
"GROUP-TITLE2-TRANSLATION-KEY": "Anpassad titelöversättning två",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS disk full",
"DESCRIPTION": "Innehållet överskrider övergripande kvotbegränsning som är konfigurerad för nätverket eller systemet",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Tillbaka hem"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Anpassa ditt filter"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Anpassa ditt filter"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Enskilt val",
"MULTI": "Flerval",
"PRESELECTED_VALUE": "Förvälj: ",
"ROLE": "Roller: ",
"APP_NAME": "Programnamn",
"APP_FILTER_MODE": "Filterera på programnamn",
"ROLE_FILTER_MODE": "Filtrera på roll",
"PRESELECT_VALIDATION": "Förval validering"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Namn",
"VERSION": "Version",
"VENDOR": "Säljare",
"LICENSE": "Licens",
"RUNTIME": "Runtime",
"DESCRIPTION": "Beskrivning"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Flerval",
"TESTING_MODE": "Testläge",
"SELECTION_MODE": "Urvalsläge",
"TASK_DETAILS_REDIRECTION": "Visa uppgiftsdetaljer vid klick på uppgift",
"PROCESS_DETAILS_REDIRECTION": "Visa processinformation vid processklick"
}
}
+324
View File
@@ -0,0 +1,324 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "详细信息",
"COMMENTS": "注释",
"PROPERTIES": "属性",
"VERSIONS": "版本"
},
"HOME": {
"TITLE": "Alfresco 的 Angular 组件",
"DOCUMENTATION": "文档"
},
"LOGOUT": {
"TITLE": "注销页面",
"SUB_TITLE": "您现在已注销",
"LOGIN": "登录",
"HOME": "主页"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "允许删除",
"SHOW_COMMENTS": "显示有关版本的注释",
"ALLOW_DOWNLOAD": "启用版本下载",
"READ_ONLY": "只读",
"COMMENTS": "显示注释"
},
"PERSONAL-FILES": "个人文件",
"WARN-MULTIPLE-UPLOADS": "针对多个上传显示警告。",
"CUSTOM-PERMISSION-MESSAGE": "启用自定义权限消息",
"MEDIUM-TIME-FORMAT": "对文档列表启用中时间格式",
"SEARCH": {
"RADIO": {
"NONE": "无",
"ALL": "全部",
"FOLDER": "文件夹",
"DOCUMENT": "文档"
}
}
},
"title": "欢迎使用",
"VERSION": {
"NO_PERMISSION": "您没有管理此内容版本的权限",
"NO_PERMISSION_EVENT": "您没有${event.action}${event.type}的${event.permission}权限",
"CHOOSE_FILE": "选择一个文件,查看其版本",
"DIALOG": {
"CLOSE": "关闭",
"TITLE": "管理版本"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "关闭",
"TITLE": "元数据"
}
},
"APP_LAYOUT": {
"APP": "APP",
"APP_NAME": "ADF 演示应用程序",
"HOME": "主页",
"NODE-SELECTOR": "节点选择器",
"SITES": "站点",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "面包屑",
"NOTIFICATIONS": "通知",
"TASK_LIST": "任务列表",
"PROCESS_LIST": "流程列表",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "登录",
"CUSTOM_SOURCES": "自定义来源",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable(迟缓)",
"DOCUMENT_LIST": "文档列表",
"TEMPLATE": "模板",
"FORM": "表单",
"FORM_LIST": "表单列表",
"FORM_LOADING": "表单加载",
"UPLOADER": "上传程序",
"WEBSCRIPT": "Webscript",
"TAG": "标签",
"TRASHCAN": "垃圾桶",
"SOCIAL": "社交",
"SETTINGS": "设置",
"CONFIG-EDITOR": "配置编辑器",
"OVERLAY_VIEWER": "重叠查看器",
"ABOUT": "关于",
"SEARCH": "扩展搜索",
"EXTENDED_SEARCH_QUERY_BODY": "包含查询主体的扩展搜索",
"WORD_TO_SEARCH": "搜索词",
"SEARCH_CREATED_BY": "创建者",
"SEARCH_SERVICE_APPROACH": "选中此项以禁用输入属性并使用服务进行配置",
"HEADER_DATA": "标头数据",
"TREE_VIEW": "树视图",
"ICONS": "图标",
"PEOPLE_GROUPS_CLOUD": "人员/一组云",
"PEOPLE_CLOUD": "人员云组件",
"GROUPS_CLOUD": "组云组件",
"CONFIRM-DIALOG": "确认对话"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "永久删除",
"RESTORE": "恢复"
},
"EMPTY_STATE": {
"TITLE": "“垃圾”为空",
"FIRST_TEXT": "删除的项目移动到“垃圾”。",
"SECOND_TEXT": "清空“垃圾”以永久删除项目。"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "多选(含复选框)",
"THUMBNAILS": "启用缩略图",
"ALLOW_DROP_FILES": "在文件夹中启用“文件拖放”",
"MULTIPLE_FILE_UPLOAD": "上传多个文件",
"FOLDER_UPLOAD": "文件夹上传",
"CUSTOM_FILTER": "自定义扩展过滤器",
"MAX_SIZE": "最大大小过滤器",
"ENABLE_VERSIONING": "启用版本控制",
"DESCRIPTION_UPLOAD": "启用上传",
"ENABLE_INFINITE_SCROLL": "启用无限滚动",
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "“最近的文件”列表为空"
},
"TITLE": "最近的文件"
},
"COLUMNS": {
"DISPLAY_NAME": "显示名称",
"IS_LOCKED": "锁定",
"TAG": "标签",
"NODE_ID": "节点 ID",
"CREATED_BY": "创建者",
"CREATED_ON": "创建日期",
"CREATED": "已创建",
"SIZE": "字号(&S)",
"DELETED_ON": "已删除",
"DELETED_BY": "删除人"
},
"TOOLBAR": {
"CARDVIEW": "卡查看模式",
"SHARE_EDIT": "编辑设置",
"NEW_FOLDER": "新建文件夹",
"EDIT_FOLDER": "编辑文件夹",
"DOWNLOAD": "下载",
"DELETE": "删除",
"FAVORITES": "添加到收藏夹",
"SHARE": "共享",
"THEME": "选择主题",
"SHOW_VERSION": "显示版本",
"HIDE_VERSION": "隐藏版本",
"LISTVIEW": "列表视图模式",
"CREATE_LIBRARY": "创建库"
},
"ACTIONS": {
"VERSIONS": "管理版本",
"LOCK": "锁定",
"METADATA": "信息",
"DOWNLOAD": "下载",
"PERMISSION": "权限",
"FOLDER": {
"COPY": "复制",
"MOVE": "移动",
"DELETE": "删除"
},
"DOCUMENT": {
"COPY": "复制",
"MOVE": "移动",
"DELETE": "删除",
"PROCESS_ACTION": "启动流程"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "重设为默认值",
"ADD_ROW": "新增行",
"REPLACE_ROWS": "替换行",
"REPLACE_COLUMNS": "替换列",
"LOAD_NODE": "加载节点",
"MULTISELECT": "多选",
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "未选择报告,请从列表中选择报告"
},
"PS-TAB": {
"TASKS-TAB": "任务",
"PROCESSES-TAB": "流程",
"REPORTS-TAB": "报告",
"SETTINGS-TAB": "设置",
"START-TASK": "启动任务",
"START-PROCESS": "启动流程",
"PROCESS-AUDIT-LOG": "流程审计日志",
"TASK-AUDIT-LOG": "任务审计日志",
"TASK-SHOW-HEADER": "显示详细信息标头"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "APP",
"SETTINGS_TAB": "设置"
},
"FORM-LIST": {
"STORE": "存储",
"RESTORE": "恢复"
},
"FORM-LOADING": {
"FORM_DATA": "表单数据",
"FORM_DATA_MESSAGE": "输入值以填充表单",
"TYPEAHEAD_PLACEHOLDER": "预先输入",
"RADIO_PLACEHOLDER": "单选按钮",
"SELECT_PLACEHOLDER": "下拉列表"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "登录页脚",
"SHOW_REMEMBERME": "显示记住我",
"SHOW_SUCCESS_ROUTE": "显示成功路由",
"CUSTOM_LOGO": "自定义徽标"
},
"SEARCH": {
"RESULTS": "搜索结果",
"NO_RESULT": "未找到结果",
"FACET_FIELDS": {
"TYPE": "1:类型",
"SIZE": "2:字号",
"CREATOR": "3:创建者",
"MODIFIER": "4:修改者",
"CREATED": "5:已创建"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "我的分面查询",
"CREATED_THIS_YEAR": "1. 今年创建",
"MIMETYPE": "2. 类型: HTML",
"XTRASMALL": "3. 字号:超小",
"SMALL": "4. 字号:小",
"MEDIUM": "5. 字号:中等",
"LARGE": "6. 字号:大",
"XTRALARGE": "7. 字号:特大",
"XXTRALARGE": "8. 字号:超大"
}
},
"SOCIAL": {
"LIKE": "点赞组件",
"RATING": "评分组件"
},
"TAG": {
"LIST": "列表标签 Content Services",
"INSERT": "插入节点 ID",
"NODE_LIST": "标签列表(按节点 ID 排序)"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "继承权限",
"INHERITED_PERMISSIONS_BUTTON": "已继承权限"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字",
"NUMBER_TYPE_ERROR": "值必须是数字",
"NUMBER_GREATER_THAN": "值必须大于或等于 {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "开始页面"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字",
"NUMBER_GREATER_THAN": "值必须大于或等于 {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "自定义标题翻译 1",
"GROUP-TITLE2-TRANSLATION-KEY": "自定义标题翻译 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS 磁盘已满",
"DESCRIPTION": "内容超出为网络或系统配置的总存储配额限制",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "返回到主页"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "自定义您的筛选器"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "自定义您的筛选器"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "单个选择",
"MULTI": "多重选择",
"PRESELECTED_VALUE": "预先选择: ",
"ROLE": "角色: ",
"APP_NAME": "应用程序名称",
"APP_FILTER_MODE": "按应用程序名称筛选",
"ROLE_FILTER_MODE": "按角色筛选",
"PRESELECT_VALIDATION": "预先选择验证"
},
"ABOUT": {
"TITLE": "插件",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "名称",
"VERSION": "版本",
"VENDOR": "供应商",
"LICENSE": "许可证",
"RUNTIME": "运行时",
"DESCRIPTION": "说明"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "多重选择",
"TESTING_MODE": "测试模式",
"SELECTION_MODE": "选择模式",
"TASK_DETAILS_REDIRECTION": "单击任务时显示任务详情",
"PROCESS_DETAILS_REDIRECTION": "单击流程时显示流程详细信息"
}
}
+712
View File
@@ -0,0 +1,712 @@
{
"$schema": "../../lib/core/app-config/schema.json",
"ecmHost": "{protocol}//{hostname}{:port}",
"bpmHost": "{protocol}//{hostname}{:port}",
"identityHost": "{protocol}//{hostname}{:port}/auth/realms/alfresco",
"loginRoute": "login",
"providers": "ALL",
"contextRootBpm": "activiti-app",
"authType" : "BASIC",
"locale" : "en",
"notificationDefaultDuration" : 6000,
"auth": {
"withCredentials": false
},
"oauth2": {
"host": "{protocol}//{hostname}{:port}/auth/realms/alfresco",
"clientId": "alfresco",
"scope": "openid",
"secret": "",
"implicitFlow": true,
"silentLogin": true,
"redirectSilentIframeUri": "{protocol}//{hostname}{:port}/assets/silent-refresh.html",
"redirectUri": "/",
"redirectUriLogout": "/logout"
},
"application": {
"storagePrefix": "ADF",
"name": "Alfresco ADF Application",
"copyright": "© 2016 - 2018 Alfresco Software, Inc. All Rights Reserved."
},
"languages": [
{
"key": "en",
"label": "English"
},
{
"key": "fr",
"label": "Français"
},
{
"key": "de",
"label": "Deutsch"
},
{
"key": "it",
"label": "Italiano"
},
{
"key": "es",
"label": "Español"
},
{
"key": "ja",
"label": "日本語"
},
{
"key": "nl",
"label": "Nederlands"
},
{
"key": "pt-BR",
"label": "Português (Brasil)"
},
{
"key": "nb",
"label": "Bokmål"
},
{
"key": "ru",
"label": "Русский"
},
{
"key": "zh-CN",
"label": "中文简体"
},
{
"key": "ar",
"label": "عربى"
},
{
"key": "cz",
"label": "Czech"
},
{
"key": "pl",
"label": "Polish"
},
{
"key": "fi",
"label": "Finnish"
},
{
"key": "da",
"label": "Danish"
},
{
"key": "sv",
"label": "Swedish"
}
],
"search": {
"app:fields": [
"cm:name",
"cm:title",
"cm:description",
"ia:whatEvent",
"ia:descriptionEvent",
"lnk:title",
"lnk:description",
"TEXT",
"TAG"
],
"include": ["path", "allowableOperations"],
"sorting": {
"options": [
{ "key": "name", "label": "Name", "type": "FIELD", "field": "cm:name", "ascending": true },
{ "key": "content.sizeInBytes", "label": "Size", "type": "FIELD", "field": "content.size", "ascending": true },
{ "key": "createdByUser", "label": "Author", "type": "FIELD", "field": "cm:creator", "ascending": true },
{ "key": "createdAt", "label": "Created", "type": "FIELD", "field": "cm:created", "ascending": true },
{ "key": "score", "label": "Relevance", "type": "FIELD", "field": "score", "ascending": false}
],
"defaults": [
{
"key": "score",
"type": "FIELD",
"field": "score",
"ascending": false
}
]
},
"resetButton": true,
"filterQueries": [
{ "query": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
{ "query": "NOT cm:creator:System" }
],
"facetFields": {
"expanded": true,
"fields": [
{ "field": "content.mimetype", "mincount": 1, "label": "SEARCH.FACET_FIELDS.TYPE" },
{ "field": "content.size", "mincount": 1, "label": "SEARCH.FACET_FIELDS.SIZE" },
{ "field": "creator", "mincount": 1, "label": "SEARCH.FACET_FIELDS.CREATOR" },
{ "field": "modifier", "mincount": 1, "label": "SEARCH.FACET_FIELDS.MODIFIER" },
{ "field": "created", "mincount": 1, "label": "SEARCH.FACET_FIELDS.CREATED" }
]
},
"facetQueries": {
"label": "SEARCH.FACET_QUERIES.MY_FACET_QUERIES",
"pageSize": 5,
"expanded": true,
"mincount": 1,
"queries": [
{ "query": "created:2019", "label": "SEARCH.FACET_QUERIES.CREATED_THIS_YEAR" },
{ "query": "content.mimetype:text/html", "label": "SEARCH.FACET_QUERIES.MIMETYPE", "group":"Type facet queries" },
{ "query": "content.size:[0 TO 10240]", "label": "SEARCH.FACET_QUERIES.XTRASMALL", "group":"Size facet queries"},
{ "query": "content.size:[10240 TO 102400]", "label": "SEARCH.FACET_QUERIES.SMALL", "group":"Size facet queries"},
{ "query": "content.size:[102400 TO 1048576]", "label": "SEARCH.FACET_QUERIES.MEDIUM", "group":"Size facet queries" },
{ "query": "content.size:[1048576 TO 16777216]", "label": "SEARCH.FACET_QUERIES.LARGE", "group":"Size facet queries" },
{ "query": "content.size:[16777216 TO 134217728]", "label": "SEARCH.FACET_QUERIES.XTRALARGE", "group":"Size facet queries" },
{ "query": "content.size:[134217728 TO MAX]", "label": "SEARCH.FACET_QUERIES.XXTRALARGE", "group":"Size facet queries" }
]
},
"facetIntervals":{
"expanded": true,
"intervals":[
{
"label":"The Created",
"field":"cm:created",
"sets":[
{ "label":"lastYear", "start":"2018", "end":"2019", "endInclusive":false },
{ "label":"currentYear", "start":"NOW/YEAR", "end":"NOW/YEAR+1YEAR" },
{ "label":"earlier", "start":"*", "end":"2018", "endInclusive":false }
]
},
{
"label":"TheModified",
"field":"cm:modified",
"sets":[
{ "label":"2017", "start":"2017", "end":"2018", "endInclusive":false },
{ "label":"2017-2018", "start":"2017", "end":"2018", "endInclusive":true },
{ "label":"currentYear", "start":"NOW/YEAR", "end":"NOW/YEAR+1YEAR" },
{ "label":"earlierThan2017", "start":"*", "end":"2017", "endInclusive":false }
]
}
]
},
"categories": [
{
"id": "queryName",
"name": "Name",
"enabled": true,
"expanded": true,
"component": {
"selector": "text",
"settings": {
"pattern": "cm:name:'(.*?)'",
"field": "cm:name",
"placeholder": "Enter the name"
}
}
},
{
"id": "checkList",
"name": "Check List",
"enabled": true,
"component": {
"selector": "check-list",
"settings": {
"pageSize": 5,
"operator": "OR",
"options": [
{ "name": "Folder", "value": "TYPE:'cm:folder'" },
{ "name": "Document", "value": "TYPE:'cm:content'" }
]
}
}
},
{
"id": "contentSize",
"name": "Content Size",
"enabled": true,
"component": {
"selector": "slider",
"settings": {
"field": "cm:content.size",
"min": 0,
"max": 18,
"step": 1,
"thumbLabel": true
}
}
},
{
"id": "contentSizeRange",
"name": "Content Size (range)",
"enabled": true,
"component": {
"selector": "number-range",
"settings": {
"field": "cm:content.size",
"format": "[{FROM} TO {TO}]"
}
}
},
{
"id": "createdDateRange",
"name": "Created Date (range)",
"enabled": true,
"component": {
"selector": "date-range",
"settings": {
"field": "cm:created",
"dateFormat": "DD-MMM-YY"
}
}
},
{
"id": "queryType",
"name": "Type",
"enabled": true,
"component": {
"selector": "radio",
"settings": {
"field": null,
"pageSize": 5,
"options": [
{ "name": "APP.SEARCH.RADIO.NONE", "value": "", "default": true },
{ "name": "APP.SEARCH.RADIO.ALL", "value": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
{ "name": "APP.SEARCH.RADIO.FOLDER", "value": "TYPE:'cm:folder'" },
{ "name": "APP.SEARCH.RADIO.DOCUMENT", "value": "TYPE:'cm:content'" }
]
}
}
}
],
"highlight": {
"prefix": " ",
"postfix": " ",
"mergeContiguous": true,
"fields": [
{
"field": "cm:title"
},
{
"field": "description",
"prefix": "(",
"postfix": ")"
}
]
}
},
"pagination": {
"size": 20,
"supportedPageSizes": [ 5, 10, 15, 20 ]
},
"files": {
"excluded": [".DS_Store", "desktop.ini", ".git"],
"match-options": {
"nocase": true
}
},
"logLevel": "trace",
"activiti": {
"rest": {
"fields": [
{
"processId": "0",
"taskId": "7501",
"fieldId": "label10",
"values": [
{
"id": "f1",
"name": "Field 1"
},
{
"id": "f2",
"name": "Field 2"
},
{
"id": "f3",
"name": "Field 3"
}
]
}
]
}
},
"document-list": {
"presets": {
"-trashcan-": [
{
"key": "$thumbnail",
"type": "image",
"srTitle": "ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL",
"sortable": false
},
{
"key": "name",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.NAME",
"cssClass": "full-width ellipsis-cell",
"sortable": true
},
{
"key": "path",
"type": "location",
"title": "ADF-DOCUMENT-LIST.LAYOUT.LOCATION",
"format": "/files",
"sortable": true
},
{
"key": "content.sizeInBytes",
"type": "fileSize",
"title": "ADF-DOCUMENT-LIST.LAYOUT.SIZE",
"sortable": true
},
{
"key": "archivedAt",
"type": "date",
"title": "ADF-DOCUMENT-LIST.LAYOUT.DELETED_ON",
"format": "timeAgo",
"sortable": true
},
{
"key": "archivedByUser.displayName",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.DELETED_BY",
"sortable": true
}
],
"-sites-": [
{
"key": "$thumbnail",
"type": "image",
"srTitle": "ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL",
"sortable": false
},
{
"key": "title",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.NAME",
"cssClass": "full-width ellipsis-cell",
"sortable": true
},
{
"key": "visibility",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.STATUS",
"sortable": true
}
],
"-mysites-": [
{
"key": "$thumbnail",
"type": "image",
"srTitle": "ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL",
"sortable": false
},
{
"key": "title",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.NAME",
"cssClass": "full-width ellipsis-cell",
"sortable": true
},
{
"key": "visibility",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.STATUS",
"sortable": true
}
],
"-favorites-": [
{
"key": "$thumbnail",
"type": "image",
"srTitle": "ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL",
"sortable": false
},
{
"key": "name",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.NAME",
"cssClass": "full-width ellipsis-cell",
"sortable": true
},
{
"key": "path",
"type": "location",
"title": "ADF-DOCUMENT-LIST.LAYOUT.LOCATION",
"format": "/files",
"sortable": true
},
{
"key": "content.sizeInBytes",
"type": "fileSize",
"title": "ADF-DOCUMENT-LIST.LAYOUT.SIZE",
"sortable": true
},
{
"key": "modifiedAt",
"type": "date",
"title": "ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_ON",
"format": "timeAgo",
"sortable": true
},
{
"key": "modifiedByUser.displayName",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_BY",
"sortable": true
}
],
"-recent-": [
{
"key": "$thumbnail",
"type": "image",
"srTitle": "ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL",
"sortable": false
},
{
"key": "name",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.NAME",
"cssClass": "full-width ellipsis-cell",
"sortable": true
},
{
"key": "path",
"type": "location",
"title": "ADF-DOCUMENT-LIST.LAYOUT.LOCATION",
"cssClass": "ellipsis-cell",
"format": "/files",
"sortable": true
},
{
"key": "content.sizeInBytes",
"type": "fileSize",
"title": "ADF-DOCUMENT-LIST.LAYOUT.SIZE",
"sortable": true
},
{
"key": "modifiedAt",
"type": "date",
"title": "ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_ON",
"format": "timeAgo",
"sortable": true
}
],
"-sharedlinks-": [
{
"key": "$thumbnail",
"type": "image",
"srTitle": "ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL",
"sortable": false
},
{
"key": "name",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.NAME",
"cssClass": "full-width ellipsis-cell",
"sortable": true
},
{
"key": "path",
"type": "location",
"title": "ADF-DOCUMENT-LIST.LAYOUT.LOCATION",
"cssClass": "ellipsis-cell",
"format": "/files",
"sortable": true
},
{
"key": "content.sizeInBytes",
"type": "fileSize",
"title": "ADF-DOCUMENT-LIST.LAYOUT.SIZE",
"sortable": true
},
{
"key": "modifiedAt",
"type": "date",
"title": "ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_ON",
"format": "timeAgo",
"sortable": true
},
{
"key": "modifiedByUser.displayName",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_BY",
"sortable": true
},
{
"key": "sharedByUser.displayName",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.SHARED_BY",
"sortable": true
}
],
"default": [
{
"key": "$thumbnail",
"type": "image",
"srTitle": "ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL",
"sortable": false
},
{
"key": "name",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.NAME",
"cssClass": "full-width ellipsis-cell",
"sortable": true
},
{
"key": "content.sizeInBytes",
"type": "fileSize",
"title": "ADF-DOCUMENT-LIST.LAYOUT.SIZE",
"sortable": true
},
{
"key": "modifiedAt",
"type": "date",
"title": "ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_ON",
"format": "timeAgo",
"sortable": true
},
{
"key": "modifiedByUser.displayName",
"type": "text",
"title": "ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_BY",
"sortable": true
}
]
}
},
"adf-start-task": {
"name": "My Task Name"
},
"adf-task-list": {
"presets": {
"default": [
{
"key": "name",
"type": "text",
"title": "ADF_TASK_LIST.PROPERTIES.NAME",
"sortable": true
}
]
}
},
"adf-start-process": {
"name": "My Default Name",
"processDefinitionName": "My default process def name"
},
"adf-process-list": {
"presets": {
"default": [
{
"key": "name",
"type": "text",
"title": "ADF_PROCESS_LIST.PROPERTIES.NAME",
"sortable": true
},
{
"key": "id",
"type": "text",
"title": "ADF_PROCESS_LIST.PROPERTIES.ID",
"sortable": true
}
]
}
},
"adf-edit-task-filter": {
"filterProperties": [ "status", "assignee", "sort", "order" ],
"sortProperties": [ "id", "name", "createdDate", "priority", "processDefinitionId" ],
"actions": [ "save", "saveAs", "delete" ]
},
"adf-edit-process-filter": {
"filterProperties": [ "status", "sort", "order", "processName" ],
"sortProperties": [ "id", "name", "status", "startDate" ],
"actions": ["save", "saveAs", "delete"]
},
"content-metadata": {
"presets": {
"default": {
"exif:exif": "*"
}
},
"multi-value-pipe-separator" : ", "
},
"sideNav": {
"expandedSidenav": true,
"preserveState": true
},
"adf-cloud-task-list": {
"presets": {
"default": [
{
"key": "entry.id",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.ID",
"cssClass": "adf-expand-cell-4",
"sortable": true
},
{
"key": "entry.name",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.NAME",
"sortable": true,
"cssClass": "name-column adf-ellipsis-cell"
},
{
"key": "entry.status",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.STATUS",
"sortable": true
},
{
"key": "entry.priority",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.PRIORITY",
"sortable": true
},
{
"key": "entry.createdDate",
"type": "date",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.CREATED_DATE",
"sortable": true,
"format": "timeAgo"
},
{
"key": "entry.lastModified",
"type": "date",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.LAST_MODIFIED",
"sortable": true,
"format": "timeAgo"
}
]
}
},
"adf-cloud-process-list": {
"presets": {
"default": [
{
"key": "entry.id",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.ID",
"sortable": true
},
{
"key": "entry.name",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.NAME",
"sortable": true
},
{
"key": "entry.status",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.STATUS",
"sortable": true
},
{
"key": "entry.startDate",
"type": "date",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.START_DATE",
"sortable": true,
"format": "timeAgo"
}
]
}
},
"alfresco-deployed-apps": []
}
@@ -0,0 +1,27 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { NgModule } from '@angular/core';
import { AcaMonacoModule } from 'adf-monaco-extension';
@NgModule({
imports: [
AcaMonacoModule
]
})
export class AppExtensionsModule {
}
+4
View File
@@ -0,0 +1,4 @@
<div class="adf-demo-app-container">
<router-outlet></router-outlet>
<router-outlet name="overlay"></router-outlet>
</div>
+28
View File
@@ -0,0 +1,28 @@
router-outlet[name='overlay'] + * {
width: 100%;
height: 100%;
z-index: 999;
position: absolute;
top: 0;
right: 0;
}
.adf-demo-app-container {
height: 100%;
width: 100%;
}
@media (max-width: 425px) {
adf-content-node-selector {
.adf-content-node-selector-content-list {
.adf-datatable-cell {
display: none;
}
.adf-datatable-cell:first-child,
.adf-datatable-cell:nth-child(2) {
display: table-cell;
}
}
}
}
+62
View File
@@ -0,0 +1,62 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import {
AuthenticationService,
AlfrescoApiService,
PageTitleService
} from '@alfresco/adf-core';
import { Router } from '@angular/router';
import { MatDialog } from '@angular/material';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class AppComponent implements OnInit {
constructor(private pageTitleService: PageTitleService,
private alfrescoApiService: AlfrescoApiService,
private authenticationService: AuthenticationService,
private router: Router,
private dialogRef: MatDialog) {
}
ngOnInit() {
this.pageTitleService.setTitle('title');
this.alfrescoApiService.getInstance().on('error', (error) => {
if (error.status === 401) {
if (!this.authenticationService.isLoggedIn()) {
this.dialogRef.closeAll();
this.router.navigate(['/login']);
}
}
if (error.status === 507) {
if (!this.authenticationService.isLoggedIn()) {
this.dialogRef.closeAll();
this.router.navigate(['error/507']);
}
}
});
}
}
+208
View File
@@ -0,0 +1,208 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { FlexLayoutModule } from '@angular/flex-layout';
import { ChartsModule } from 'ng2-charts';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService, CoreModule, CoreAutomationService } from '@alfresco/adf-core';
import { ExtensionsModule } from '@alfresco/adf-extensions';
import { AppComponent } from './app.component';
import { MaterialModule } from './material.module';
import { LoginComponent } from './components/login/login.component';
import { LogoutComponent } from './components/logout/logout.component';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { HomeComponent } from './components/home/home.component';
import { SearchBarComponent } from './components/search/search-bar.component';
import { SearchResultComponent } from './components/search/search-result.component';
import { SearchExtendedComponent } from './components/search/search-extended.component';
import { LogComponent } from './components/log/log.component';
import { FormComponent } from './components/form/form.component';
import { FormListComponent } from './components/form/form-list.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
import { FormViewerComponent } from './components/process-service/form-viewer.component';
import { FormNodeViewerComponent } from './components/process-service/form-node-viewer.component';
import { AppsViewComponent } from './components/process-service/apps-view.component';
import { FilesComponent } from './components/files/files.component';
import { VersionManagerDialogAdapterComponent } from './components/files/version-manager-dialog-adapter.component';
import { MetadataDialogAdapterComponent } from './components/files/metadata-dialog-adapter.component';
import { ThemePickerModule } from './components/theme-picker/theme-picker';
import { routing } from './app.routes';
import { ReactiveFormsModule } from '@angular/forms';
import { TaskAttachmentsComponent } from './components/process-service/task-attachments.component';
import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { PreviewService } from './services/preview.service';
import { ReportIssueComponent } from './components/report-issue/report-issue.component';
import { MonacoEditorModule } from 'ngx-monaco-editor';
import { ContentModule } from '@alfresco/adf-content-services';
import { InsightsModule } from '@alfresco/adf-insights';
import { ProcessModule } from '@alfresco/adf-process-services';
import { AuthBearerInterceptor } from './services';
import { ProcessServicesCloudModule } from '@alfresco/adf-process-services-cloud';
import { AppExtensionsModule } from './app-extension.module';
import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component';
import { CloudLayoutComponent } from './components/cloud/cloud-layout.component';
import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component';
import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component';
import { ProcessesCloudDemoComponent } from './components/cloud/processes-cloud-demo.component';
import { TaskDetailsCloudDemoComponent } from './components/cloud/task-details-cloud-demo.component';
import { CloudViewerComponent } from './components/cloud/cloud-viewer.component';
import { ProcessDetailsCloudDemoComponent } from './components/cloud/process-details-cloud-demo.component';
import { StartTaskCloudDemoComponent } from './components/cloud/start-task-cloud-demo.component';
import { StartProcessCloudDemoComponent } from './components/cloud/start-process-cloud-demo.component';
import { CloudBreadcrumbsComponent } from './components/cloud/cloud-breadcrumb-component';
import { CloudFiltersDemoComponent } from './components/cloud/cloud-filters-demo.component';
import { TemplateDemoComponent } from './components/template-list/template-demo.component';
import { PeopleGroupCloudDemoComponent } from './components/cloud/people-groups-cloud-demo.component';
import { CloudSettingsComponent } from './components/cloud/cloud-settings.component';
import { NestedMenuPositionDirective } from './components/cloud/directives/nested-menu-position.directive';
import { ConfirmDialogExampleComponent } from './components/confirm-dialog/confirm-dialog-example.component';
import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/cloud-form-demo.component';
import { CommunityCloudComponent } from './components/cloud/community/community-cloud.component';
import { CommunityTasksCloudDemoComponent } from './components/cloud/community/community-task-cloud.component';
import { CommunityCloudFiltersDemoComponent } from './components/cloud/community/community-filters.component';
import { CommunityStartProcessCloudDemoComponent } from './components/cloud/community/community-start-process-cloud.component';
import { CommunityStartTaskCloudDemoComponent } from './components/cloud/community/community-start-task-cloud.component';
import { CommunityProcessDetailsCloudDemoComponent } from './components/cloud/community/community-process-details-cloud.component';
import { CommunityProcessesCloudDemoComponent } from './components/cloud/community/community-processes-cloud.component';
import { CommunityTaskDetailsCloudDemoComponent } from './components/cloud/community/community-task-details-cloud.component';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
ReactiveFormsModule,
routing,
FormsModule,
HttpClientModule,
MaterialModule,
AppExtensionsModule,
FlexLayoutModule,
CoreModule.forRoot(),
ContentModule.forRoot(),
InsightsModule.forRoot(),
ProcessModule.forRoot(),
ProcessServicesCloudModule,
ExtensionsModule.forRoot(),
ThemePickerModule,
ChartsModule,
MonacoEditorModule.forRoot()
],
declarations: [
AppComponent,
LoginComponent,
LogoutComponent,
AppLayoutComponent,
HomeComponent,
SearchBarComponent,
SearchResultComponent,
SearchExtendedComponent,
LogComponent,
ProcessServiceComponent,
ShowDiagramComponent,
FormViewerComponent,
FormNodeViewerComponent,
AppsViewComponent,
FilesComponent,
FormComponent,
FormListComponent,
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent,
TaskAttachmentsComponent,
ProcessAttachmentsComponent,
OverlayViewerComponent,
SharedLinkViewComponent,
FormLoadingComponent,
DemoPermissionComponent,
FormLoadingComponent,
ReportIssueComponent,
TreeViewSampleComponent,
CloudLayoutComponent,
AppsCloudDemoComponent,
TasksCloudDemoComponent,
ProcessesCloudDemoComponent,
TaskDetailsCloudDemoComponent,
CloudViewerComponent,
ProcessDetailsCloudDemoComponent,
StartTaskCloudDemoComponent,
StartProcessCloudDemoComponent,
CloudBreadcrumbsComponent,
CloudFiltersDemoComponent,
TemplateDemoComponent,
PeopleGroupCloudDemoComponent,
CloudSettingsComponent,
NestedMenuPositionDirective,
ConfirmDialogExampleComponent,
FormCloudDemoComponent,
ConfirmDialogExampleComponent,
CommunityCloudComponent,
CommunityTasksCloudDemoComponent,
CommunityCloudFiltersDemoComponent,
CommunityProcessesCloudDemoComponent,
CommunityStartProcessCloudDemoComponent,
CommunityStartTaskCloudDemoComponent,
CommunityProcessDetailsCloudDemoComponent,
CommunityTaskDetailsCloudDemoComponent
],
providers: [
{
provide: HTTP_INTERCEPTORS, useClass:
AuthBearerInterceptor, multi: true
},
{ provide: AppConfigService, useClass: DebugAppConfigService }, // not use this service in production
{
provide: TRANSLATION_PROVIDER,
multi: true,
useValue: {
name: 'app',
source: 'resources'
}
},
{
provide: TRANSLATION_PROVIDER,
multi: true,
useValue: {
name: 'lazy-loading',
source: 'resources/lazy-loading'
}
},
PreviewService,
CoreAutomationService
],
entryComponents: [
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent
],
bootstrap: [AppComponent]
})
export class AppModule {
constructor(automationService: CoreAutomationService) {
automationService.setup();
}
}
+451
View File
@@ -0,0 +1,451 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ModuleWithProviders } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm, AuthGuardSsoRoleService } from '@alfresco/adf-core';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { LoginComponent } from './components/login/login.component';
import { HomeComponent } from './components/home/home.component';
import { LogoutComponent } from './components/logout/logout.component';
import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
import { FormViewerComponent } from './components/process-service/form-viewer.component';
import { FormNodeViewerComponent } from './components/process-service/form-node-viewer.component';
import { AppsViewComponent } from './components/process-service/apps-view.component';
import { SearchResultComponent } from './components/search/search-result.component';
import { SearchExtendedComponent } from './components/search/search-extended.component';
import { FilesComponent } from './components/files/files.component';
import { FormComponent } from './components/form/form.component';
import { FormListComponent } from './components/form/form-list.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { ReportIssueComponent } from './components/report-issue/report-issue.component';
import { AppComponent } from './app.component';
import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component';
import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component';
import { PeopleGroupCloudDemoComponent } from './components/cloud/people-groups-cloud-demo.component';
import { CloudLayoutComponent } from './components/cloud/cloud-layout.component';
import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component';
import { ProcessesCloudDemoComponent } from './components/cloud/processes-cloud-demo.component';
import { StartTaskCloudDemoComponent } from './components/cloud/start-task-cloud-demo.component';
import { StartProcessCloudDemoComponent } from './components/cloud/start-process-cloud-demo.component';
import { TaskDetailsCloudDemoComponent } from './components/cloud/task-details-cloud-demo.component';
import { CloudViewerComponent } from './components/cloud/cloud-viewer.component';
import { ProcessDetailsCloudDemoComponent } from './components/cloud/process-details-cloud-demo.component';
import { TemplateDemoComponent } from './components/template-list/template-demo.component';
import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/cloud-form-demo.component';
import { ConfirmDialogExampleComponent } from './components/confirm-dialog/confirm-dialog-example.component';
import { CommunityTasksCloudDemoComponent } from './components/cloud/community/community-task-cloud.component';
import { CommunityCloudComponent } from './components/cloud/community/community-cloud.component';
import { CommunityStartProcessCloudDemoComponent } from './components/cloud/community/community-start-process-cloud.component';
import { CommunityStartTaskCloudDemoComponent } from './components/cloud/community/community-start-task-cloud.component';
import { CommunityProcessDetailsCloudDemoComponent } from './components/cloud/community/community-process-details-cloud.component';
import { CommunityProcessesCloudDemoComponent } from './components/cloud/community/community-processes-cloud.component';
import { CommunityTaskDetailsCloudDemoComponent } from './components/cloud/community/community-task-details-cloud.component';
export const appRoutes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: 'logout', component: LogoutComponent },
{
path: 'settings',
loadChildren: 'app/components/settings/settings.module#AppSettingsModule'
},
{
path: 'files/:nodeId/view',
component: AppComponent,
canActivate: [ AuthGuardEcm ],
canActivateChild: [ AuthGuardEcm ],
outlet: 'overlay',
children: [
{
path: '',
loadChildren: 'app/components/file-view/file-view.module#FileViewModule'
}
]
},
{
path: 'preview/blob',
component: AppComponent,
outlet: 'overlay',
pathMatch: 'full',
children: [
{
path: '',
loadChildren: 'app/components/blob-preview/blob-preview.module#BlobPreviewModule'
}
]
},
{ path: 'preview/s/:id', component: SharedLinkViewComponent },
{
path: '',
component: AppLayoutComponent,
canActivate: [AuthGuard],
children: [
{
path: 'breadcrumb',
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/breadcrumb-demo/breadcrumb-demo.module#AppBreadcrumbModule'
},
{
path: 'notifications',
children: [
{
path: '',
loadChildren: 'app/components/notifications/notifications.module#AppNotificationsModule'
}
]
},
{
path: 'config-editor',
children: [
{
path: '',
loadChildren: 'app/components/config-editor/config-editor.module#AppConfigEditorModule'
}
]
},
{
path: 'card-view',
children: [
{
path: '',
loadChildren: 'app/components/card-view/card-view.module#AppCardViewModule'
}
]
},
{
path: 'sites',
children: [
{
path: '',
loadChildren: 'app/components/sites/sites.module#SitesModule'
}
]
},
{
path: 'header-data',
children: [
{
path: '',
loadChildren: 'app/components/header-data/header-data.module#AppHeaderDataModule'
}
]
},
{
path: '',
component: HomeComponent
},
{
path: 'home',
component: HomeComponent
},
{
path: 'cloud',
canActivate: [AuthGuardSsoRoleService],
data: { roles: ['ACTIVITI_USER'], redirectUrl: '/error/403'},
children: [
{
path: '',
component: AppsCloudDemoComponent
},
{
path: 'people-group-cloud',
component: PeopleGroupCloudDemoComponent
},
{
path: 'community',
component: CommunityCloudComponent,
children: [
{
path: 'tasks',
component: CommunityTasksCloudDemoComponent
},
{
path: 'processes',
component: CommunityProcessesCloudDemoComponent
},
{
path: 'start-task',
component: CommunityStartTaskCloudDemoComponent
},
{
path: 'start-process',
component: CommunityStartProcessCloudDemoComponent
},
{
path: 'task-details/:taskId',
component: CommunityTaskDetailsCloudDemoComponent
},
{
path: 'process-details/:processInstanceId',
component: CommunityProcessDetailsCloudDemoComponent
}
]
},
{
path: ':appName',
canActivate: [AuthGuardSsoRoleService],
data: { clientRoles: ['appName'], roles: ['ACTIVITI_USER'], redirectUrl: '/error/403'},
children: [
{
path: '',
component: CloudLayoutComponent,
children: [
{
path: 'tasks',
component: TasksCloudDemoComponent
},
{
path: 'processes',
component: ProcessesCloudDemoComponent
}
]
},
{
path: 'start-task',
component: StartTaskCloudDemoComponent
},
{
path: 'start-process',
component: StartProcessCloudDemoComponent
},
{
path: 'task-details/:taskId',
component: TaskDetailsCloudDemoComponent
},
{
path: 'task-details/:taskId/files/:nodeId/view',
component: CloudViewerComponent
},
{
path: 'process-details/:processInstanceId',
component: ProcessDetailsCloudDemoComponent
}
]
}
]
},
{
path: 'node-selector',
loadChildren: 'app/components/content-node-selector/content-node-selector.module#AppContentNodeSelectorModule'
},
{
path: 'confirm-dialog',
component: ConfirmDialogExampleComponent
},
{
path: 'settings-layout',
loadChildren: 'app/components/settings/settings.module#AppSettingsModule'
},
{
path: 'trashcan',
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/trashcan/trashcan.module#AppTrashcanModule'
},
{
path: 'files',
component: FilesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'extensions/document-list/presets',
canActivate: [AuthGuardEcm],
loadChildren: './components/document-list/extension-presets/extension-presets.module#ExtensionPresetsModule'
},
{
path: 'files/:id',
component: FilesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'files/:id/display/:mode',
component: FilesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'dl-custom-sources',
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/files/custom-sources.module#AppCustomSourcesModule'
},
{
path: 'datatable',
loadChildren: 'app/components/datatable/datatable.module#AppDataTableModule'
},
{
path: 'datatable/dnd',
loadChildren: './components/datatable/drag-and-drop/datatable-dnd.module#AppDataTableDndModule'
},
{
path: 'search',
component: SearchResultComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'extendedSearch',
component: SearchExtendedComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'activiti',
component: AppsViewComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps',
component: AppsViewComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/tasks',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/tasks/:filterId',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/processes',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/processes/:filterId',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/diagram/:processDefinitionId',
component: ShowDiagramComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/report',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
// TODO: check if needed
{
path: 'activiti/appId/:appId',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
// TODO: check if needed
{
path: 'activiti/tasks/:id',
component: FormViewerComponent,
canActivate: [AuthGuardBpm]
},
// TODO: check if needed
{
/* cspell:disable-next-line */
path: 'activiti/tasksnode/:id',
component: FormNodeViewerComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'webscript',
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/webscript/webscript.module#AppWebScriptModule'
},
{
path: 'tag',
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/tag/tag.module#AppTagModule'
},
{
path: 'social',
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/social/social.module#AppSocialModule'
},
{
path: 'permissions/:id',
component: DemoPermissionComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'treeview',
component: TreeViewSampleComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'about',
loadChildren: 'app/components/about/about.module#AppAboutModule'
},
{
path: 'icons',
loadChildren: './components/icons/icons.module#AppIconsModule'
},
{ path: 'form-cloud', component: FormCloudDemoComponent },
{ path: 'form', component: FormComponent },
{ path: 'form-list', component: FormListComponent },
{ path: 'form-loading', component: FormLoadingComponent },
{
path: 'overlay-viewer',
component: OverlayViewerComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'report-issue',
component: ReportIssueComponent
},
{
path: 'datatable-lazy',
loadChildren: 'app/components/lazy-loading/lazy-loading.module#LazyLoadingModule'
},
{
path: 'copy-content',
loadChildren: 'app/components/datatable/copy-content/datatable.module#AppDataTableCopyModule'
},
{
path: 'template-list',
component: TemplateDemoComponent
},
{
path: 'task-list',
canActivate: [AuthGuardBpm],
loadChildren: 'app/components/task-list-demo/task-list.module#AppTaskListModule'
},
{
path: 'process-list',
canActivate: [AuthGuardBpm],
loadChildren: 'app/components/process-list-demo/process-list.module#AppProcessListModule'
},
{
path: 'error/:id',
component: ErrorContentComponent
},
{
path: 'error/no-authorization',
component: ErrorContentComponent
},
{
path: '**',
redirectTo: 'error/404'
}
]
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes, { initialNavigation: true });
@@ -0,0 +1 @@
<adf-about></adf-about>
@@ -0,0 +1,3 @@
.adf-extension-details-container {
padding: 4px;
}

Some files were not shown because too many files have changed in this diff Show More