mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-16 18:13:06 +00:00
Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0447a30b38 | ||
|
|
b6e6237b45 | ||
|
|
6dd3fc61fc |
-193
@@ -1,193 +0,0 @@
|
||||
path = require('path');
|
||||
module.exports = {
|
||||
root: true,
|
||||
ignorePatterns: [
|
||||
'projects/**/*',
|
||||
'**/node_modules/**/*',
|
||||
'lib/cli/node_modules/**/*',
|
||||
'**/node_modules',
|
||||
'**/docker',
|
||||
'**/assets',
|
||||
'**/scripts',
|
||||
'**/docs'
|
||||
],
|
||||
overrides: [
|
||||
{
|
||||
files: [
|
||||
'*.ts'
|
||||
],
|
||||
parserOptions: {
|
||||
project: [
|
||||
path.join(__dirname, 'tsconfig.json'),
|
||||
path.join(__dirname, 'e2e/tsconfig.e2e.json')
|
||||
],
|
||||
createDefaultProgram: true
|
||||
},
|
||||
extends: [
|
||||
'plugin:@angular-eslint/ng-cli-compat',
|
||||
'plugin:@angular-eslint/ng-cli-compat--formatting-add-on',
|
||||
'plugin:@angular-eslint/template/process-inline-templates'
|
||||
],
|
||||
plugins: [
|
||||
'eslint-plugin-unicorn',
|
||||
'eslint-plugin-rxjs',
|
||||
'ban',
|
||||
'license-header'
|
||||
],
|
||||
rules: {
|
||||
'ban/ban': [
|
||||
'error',
|
||||
{ name: 'eval', message: 'Calls to eval is not allowed.' },
|
||||
{ name: 'fdescribe', message: 'Calls to fdescribe is not allowed' },
|
||||
{ name: 'fit', message: 'Calls to fit is not allowed' },
|
||||
{ name: 'xit', message: 'Calls to xit is not allowed' },
|
||||
{ name: 'xdescribe', message: 'Calls to xdescribe is not allowed' },
|
||||
{ name: ['test', 'only'], message: 'Calls to test.only is not allowed' },
|
||||
{ name: ['describe', 'only'], message: 'Calls to describe.only is not allowed' }
|
||||
],
|
||||
'@angular-eslint/component-selector': [
|
||||
'error',
|
||||
{
|
||||
type: 'element',
|
||||
prefix: [
|
||||
'adf',
|
||||
'app'
|
||||
],
|
||||
style: 'kebab-case'
|
||||
}
|
||||
],
|
||||
'@angular-eslint/directive-selector': [
|
||||
'error',
|
||||
{
|
||||
type: [
|
||||
'element',
|
||||
'attribute'
|
||||
],
|
||||
prefix: [
|
||||
'adf',
|
||||
'app'
|
||||
],
|
||||
style: 'kebab-case'
|
||||
}
|
||||
],
|
||||
'@angular-eslint/no-host-metadata-property': 'off',
|
||||
'@angular-eslint/no-input-prefix': 'error',
|
||||
'@typescript-eslint/consistent-type-definitions': 'error',
|
||||
'@typescript-eslint/dot-notation': 'off',
|
||||
'@typescript-eslint/explicit-member-accessibility': [
|
||||
'off',
|
||||
{
|
||||
accessibility: 'explicit'
|
||||
}
|
||||
],
|
||||
'@typescript-eslint/no-inferrable-types': 'off',
|
||||
'@typescript-eslint/no-require-imports': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'error',
|
||||
'@typescript-eslint/naming-convention': [
|
||||
'error',
|
||||
{
|
||||
selector: [
|
||||
'classProperty',
|
||||
'objectLiteralProperty',
|
||||
'typeProperty',
|
||||
'classMethod',
|
||||
'objectLiteralMethod',
|
||||
'typeMethod',
|
||||
'accessor',
|
||||
'enumMember'
|
||||
],
|
||||
format: null,
|
||||
modifiers: ['requiresQuotes']
|
||||
}
|
||||
],
|
||||
'@typescript-eslint/member-ordering': 'off',
|
||||
'prefer-arrow/prefer-arrow-functions': 'off',
|
||||
|
||||
'brace-style': [
|
||||
'error',
|
||||
'1tbs'
|
||||
],
|
||||
'comma-dangle': 'error',
|
||||
'default-case': 'error',
|
||||
'import/order': 'off',
|
||||
'max-len': [
|
||||
'error',
|
||||
{
|
||||
code: 240
|
||||
}
|
||||
],
|
||||
'no-bitwise': 'off',
|
||||
'no-console': [
|
||||
'error',
|
||||
{
|
||||
allow: [
|
||||
'warn',
|
||||
'dir',
|
||||
'timeLog',
|
||||
'assert',
|
||||
'clear',
|
||||
'count',
|
||||
'countReset',
|
||||
'group',
|
||||
'groupEnd',
|
||||
'table',
|
||||
'dirxml',
|
||||
'error',
|
||||
'groupCollapsed',
|
||||
'Console',
|
||||
'profile',
|
||||
'profileEnd',
|
||||
'timeStamp',
|
||||
'context'
|
||||
]
|
||||
}
|
||||
],
|
||||
'no-duplicate-imports': 'error',
|
||||
'no-multiple-empty-lines': 'error',
|
||||
'no-redeclare': 'error',
|
||||
'no-return-await': 'error',
|
||||
'rxjs/no-create': 'error',
|
||||
'rxjs/no-subject-unsubscribe': 'error',
|
||||
'rxjs/no-subject-value': 'error',
|
||||
'rxjs/no-unsafe-takeuntil': 'error',
|
||||
'unicorn/filename-case': 'error',
|
||||
'@typescript-eslint/no-unused-expressions': [
|
||||
'error',
|
||||
{
|
||||
allowShortCircuit: true,
|
||||
allowTernary: true
|
||||
}
|
||||
],
|
||||
'license-header/header': ['error',
|
||||
[
|
||||
'/*!',
|
||||
' * @license',
|
||||
' * 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.',
|
||||
' */'
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
files: [
|
||||
'*.html'
|
||||
],
|
||||
extends: [
|
||||
'plugin:@angular-eslint/template/recommended'
|
||||
],
|
||||
rules: {}
|
||||
}
|
||||
]
|
||||
}
|
||||
+173
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"root": true,
|
||||
"ignorePatterns": [
|
||||
"projects/**/*",
|
||||
"**/node_modules/**/*",
|
||||
"lib/cli/node_modules/**/*",
|
||||
"**/node_modules",
|
||||
"**/docker",
|
||||
"**/assets",
|
||||
"**/scripts",
|
||||
"**/docs"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts"
|
||||
],
|
||||
"parserOptions": {
|
||||
"project": [
|
||||
"tsconfig.json",
|
||||
"e2e/tsconfig.e2e.json"
|
||||
],
|
||||
"createDefaultProgram": true
|
||||
},
|
||||
"extends": [
|
||||
"plugin:@angular-eslint/ng-cli-compat",
|
||||
"plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
|
||||
"plugin:@angular-eslint/template/process-inline-templates"
|
||||
],
|
||||
"plugins": [
|
||||
"eslint-plugin-unicorn",
|
||||
"eslint-plugin-rxjs",
|
||||
"ban",
|
||||
"license-header"
|
||||
],
|
||||
"rules": {
|
||||
"ban/ban": [
|
||||
"error",
|
||||
{ "name": "eval", "message": "Calls to eval is not allowed." },
|
||||
{ "name": "fdescribe", "message": "Calls to fdescribe is not allowed" },
|
||||
{ "name": "fit", "message": "Calls to fit is not allowed" },
|
||||
{ "name": "xit", "message": "Calls to xit is not allowed" },
|
||||
{ "name": "xdescribe", "message": "Calls to xdescribe is not allowed" },
|
||||
{ "name": ["test", "only"], "message": "Calls to test.only is not allowed" },
|
||||
{ "name": ["describe", "only"], "message": "Calls to describe.only is not allowed" }
|
||||
],
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
"type": "element",
|
||||
"prefix": [
|
||||
"adf",
|
||||
"app"
|
||||
],
|
||||
"style": "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/directive-selector": [
|
||||
"error",
|
||||
{
|
||||
"type": [
|
||||
"element",
|
||||
"attribute"
|
||||
],
|
||||
"prefix": [
|
||||
"adf",
|
||||
"app"
|
||||
],
|
||||
"style": "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/no-host-metadata-property": "off",
|
||||
"@angular-eslint/no-input-prefix": "error",
|
||||
"@typescript-eslint/consistent-type-definitions": "error",
|
||||
"@typescript-eslint/dot-notation": "off",
|
||||
"@typescript-eslint/explicit-member-accessibility": [
|
||||
"off",
|
||||
{
|
||||
"accessibility": "explicit"
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-inferrable-types": "off",
|
||||
"@typescript-eslint/no-require-imports": "off",
|
||||
"@typescript-eslint/no-var-requires": "error",
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
{
|
||||
"selector": [
|
||||
"classProperty",
|
||||
"objectLiteralProperty",
|
||||
"typeProperty",
|
||||
"classMethod",
|
||||
"objectLiteralMethod",
|
||||
"typeMethod",
|
||||
"accessor",
|
||||
"enumMember"
|
||||
],
|
||||
"format": null,
|
||||
"modifiers": ["requiresQuotes"]
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/member-ordering": "off",
|
||||
"prefer-arrow/prefer-arrow-functions": "off",
|
||||
|
||||
"brace-style": [
|
||||
"error",
|
||||
"1tbs"
|
||||
],
|
||||
"comma-dangle": "error",
|
||||
"default-case": "error",
|
||||
"import/order": "off",
|
||||
"max-len": [
|
||||
"error",
|
||||
{
|
||||
"code": 240
|
||||
}
|
||||
],
|
||||
"no-bitwise": "off",
|
||||
"no-console": [
|
||||
"error",
|
||||
{
|
||||
"allow": [
|
||||
"warn",
|
||||
"dir",
|
||||
"timeLog",
|
||||
"assert",
|
||||
"clear",
|
||||
"count",
|
||||
"countReset",
|
||||
"group",
|
||||
"groupEnd",
|
||||
"table",
|
||||
"dirxml",
|
||||
"error",
|
||||
"groupCollapsed",
|
||||
"Console",
|
||||
"profile",
|
||||
"profileEnd",
|
||||
"timeStamp",
|
||||
"context"
|
||||
]
|
||||
}
|
||||
],
|
||||
"no-duplicate-imports": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"rxjs/no-create": "error",
|
||||
"rxjs/no-subject-unsubscribe": "error",
|
||||
"rxjs/no-subject-value": "error",
|
||||
"rxjs/no-unsafe-takeuntil": "error",
|
||||
"unicorn/filename-case": "error",
|
||||
"@typescript-eslint/no-unused-expressions": [
|
||||
"error",
|
||||
{
|
||||
"allowShortCircuit": true,
|
||||
"allowTernary": true
|
||||
}
|
||||
],
|
||||
"license-header/header": ["error", "./license-community.txt"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.html"
|
||||
],
|
||||
"extends": [
|
||||
"plugin:@angular-eslint/template/recommended"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
name: Append content to Artifact
|
||||
description: 'Allow the user to append content to an existing artifact'
|
||||
|
||||
inputs:
|
||||
artifact-name:
|
||||
description: 'The name of the artifact'
|
||||
required: true
|
||||
type: string
|
||||
file-name:
|
||||
description: 'The name of the file with extension created in the artifact'
|
||||
required: true
|
||||
type: string
|
||||
content:
|
||||
description: 'The content to append'
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
||||
steps:
|
||||
- run: echo "Artifact Append"
|
||||
shell: bash
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ inputs.artifact-name }}
|
||||
- run: ls
|
||||
shell: bash
|
||||
- name: Append content
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
contentFile: ${{ inputs.content }}
|
||||
fileName: ${{ inputs.file-name }}
|
||||
with:
|
||||
script: |
|
||||
const fs = require('fs');
|
||||
|
||||
const affectedLib = process.env.contentFile;
|
||||
const fileName = process.env.fileName;
|
||||
core.info(`Input Filename: ${fileName}`);
|
||||
core.info(`Input content: ${affectedLib}`);
|
||||
|
||||
const content = read(fileName)
|
||||
core.info(`File content: ${content}`);
|
||||
appendContent(content, affectedLib);
|
||||
|
||||
function read(filename) {
|
||||
try {
|
||||
const contentFile = fs.readFileSync(filename, 'utf8').replace('\n','');
|
||||
return contentFile;
|
||||
} catch (err) {
|
||||
core.error(err);
|
||||
}
|
||||
}
|
||||
|
||||
function write(filename, content) {
|
||||
try {
|
||||
fs.writeFileSync(filename, content);
|
||||
} catch (err) {
|
||||
core.error(err);
|
||||
}
|
||||
}
|
||||
|
||||
function appendContent(content, append) {
|
||||
let changedContent;
|
||||
const libs = content.split(' ');
|
||||
if (libs?.length>0) {
|
||||
if (libs.length === 1 && libs[0] === '') {
|
||||
libs[0] = append;
|
||||
changedContent = libs[0];
|
||||
}
|
||||
else if (!libs.includes(append)) {
|
||||
libs.push(append);
|
||||
changedContent = libs.join(' ');
|
||||
} else {
|
||||
core.info(`Lib ${append} already affected`);
|
||||
}
|
||||
}
|
||||
if (changedContent != undefined){
|
||||
core.info(`File content append: ${changedContent}`)
|
||||
write(fileName, changedContent);
|
||||
}
|
||||
}
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ inputs.artifact-name }}
|
||||
path: ${{ inputs.file-name }}
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
name: Extract Artifact
|
||||
description: 'Allow the user to extract content from an artifact'
|
||||
|
||||
inputs:
|
||||
artifact-name:
|
||||
description: 'The name of the artifact'
|
||||
required: true
|
||||
type: string
|
||||
file-name:
|
||||
description: 'The name of the file with extension created in the artifact'
|
||||
required: true
|
||||
type: string
|
||||
content:
|
||||
description: 'The init content the file should have'
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
outputs:
|
||||
result:
|
||||
description: "the value extrated from the file inside the artifact"
|
||||
value: ${{ steps.extract.outputs.result }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- run: echo "Artifact Extract"
|
||||
shell: bash
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ inputs.artifact-name }}
|
||||
- id: extract
|
||||
shell: bash
|
||||
run: |
|
||||
value=`cat ${{ inputs.file-name }}`
|
||||
echo "print $value"
|
||||
echo "result=$value" >> $GITHUB_OUTPUT
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
name: Initialize Artifact
|
||||
description: 'Allow the user to initialize an empty artifact used globally'
|
||||
|
||||
inputs:
|
||||
artifact-name:
|
||||
description: 'The name of the artifact'
|
||||
required: true
|
||||
type: string
|
||||
file-name:
|
||||
description: 'The name of the file with extension created in the artifact'
|
||||
required: true
|
||||
type: string
|
||||
content:
|
||||
description: 'The init content the file should have'
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Create empty artifact
|
||||
shell: bash
|
||||
run:
|
||||
echo "${{inputs.content}}" > ${{ inputs.file-name }}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ inputs.artifact-name }}
|
||||
path: ${{ inputs.file-name }}
|
||||
@@ -36,6 +36,14 @@ runs:
|
||||
echo "Setting up CI to run with commit flag [affected:*] flag."
|
||||
echo "BREAK_ACTION=true" >> $GITHUB_ENV
|
||||
|
||||
- name: ci:force flag parser
|
||||
shell: bash
|
||||
if: ${{ contains(github.event.head_commit.message , '[ci:force]') }}
|
||||
run: |
|
||||
echo "Forcing CI to run with commit flag [ci:force]."
|
||||
echo CI_FORCE_RUN=true >> $GITHUB_ENV
|
||||
echo "BREAK_ACTION=true" >> $GITHUB_ENV
|
||||
|
||||
- name: PULL_REQUEST event
|
||||
if: ${{ env.BREAK_ACTION == false && github.event_name == 'pull_request' && !github.event.pull_request.merged }}
|
||||
shell: bash
|
||||
|
||||
@@ -38,37 +38,16 @@ inputs:
|
||||
apa-proxy: #
|
||||
description: "proxy host"
|
||||
required: true
|
||||
deps:
|
||||
description: "Library dependencies"
|
||||
required: false
|
||||
default: ""
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Determine if affected
|
||||
shell: bash
|
||||
id: determine-affected
|
||||
run: |
|
||||
isAffected=false
|
||||
affectedLibs=$(npx nx print-affected --type=lib --select=projects ${NX_CALCULATION_FLAGS} --plain)
|
||||
if [[ $affectedLibs =~ "${{ inputs.e2e-test-id }}" ]]; then
|
||||
isAffected=true
|
||||
fi;
|
||||
echo "Determine if ${{ inputs.e2e-test-id }} is affected: $isAffected";
|
||||
echo "isAffected=$isAffected" >> $GITHUB_OUTPUT
|
||||
- name: print value
|
||||
shell: bash
|
||||
run: |
|
||||
echo "value: ${{ steps.determine-affected.outputs.isAffected }}"
|
||||
- name: use APA as PROXY host if apa-proxy is set
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ -n "${{ inputs.apa-proxy }}" ]]; then
|
||||
echo "APA proxy set."
|
||||
echo "PROXY_HOST_BPM=${E2E_HOST_APA}" >> $GITHUB_ENV
|
||||
echo "PROXY_HOST_ECM=${E2E_IDENTITY_HOST_APA}" >> $GITHUB_ENV
|
||||
echo "HOST_SSO=${E2E_IDENTITY_HOST_APA}" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: install aws cli
|
||||
@@ -91,9 +70,8 @@ runs:
|
||||
|
||||
- name: check EXTERNAL-CS is UP
|
||||
shell: bash
|
||||
if: ${{ inputs.check-external-cs-env == 'true' && steps.determine-affected.outputs.isAffected == 'true' }}
|
||||
if: ${{ inputs.check-external-cs-env == 'true' }}
|
||||
run: |
|
||||
echo "running: check EXTERNAL-CS is UP"
|
||||
set -u;
|
||||
./node_modules/@alfresco/adf-cli/bin/adf-cli \
|
||||
check-cs-env \
|
||||
@@ -103,9 +81,8 @@ runs:
|
||||
|
||||
- name: Check CS is UP
|
||||
shell: bash
|
||||
if: ${{ inputs.check-cs-env == 'true' && steps.determine-affected.outputs.isAffected == 'true' }}
|
||||
if: ${{ inputs.check-cs-env == 'true' }}
|
||||
run: |
|
||||
echo "Running: Check CS is UP"
|
||||
set -u;
|
||||
./node_modules/@alfresco/adf-cli/bin/adf-cli \
|
||||
check-cs-env \
|
||||
@@ -115,9 +92,8 @@ runs:
|
||||
|
||||
- name: check PS is UP
|
||||
shell: bash
|
||||
if: ${{ inputs.check-ps-env == 'true' && steps.determine-affected.outputs.isAffected == 'true' }}
|
||||
if: ${{ inputs.check-ps-env == 'true' }}
|
||||
run: |
|
||||
echo "Running: check PS is UP"
|
||||
set -u;
|
||||
./node_modules/@alfresco/adf-cli/bin/adf-cli init-aps-env \
|
||||
--host "$E2E_HOST" \
|
||||
@@ -127,12 +103,11 @@ runs:
|
||||
|
||||
- name: check PS-CLOUD is UP
|
||||
shell: bash
|
||||
if: ${{ inputs.check-ps-cloud-env == 'true' && steps.determine-affected.outputs.isAffected == 'true' }}
|
||||
if: ${{ inputs.check-ps-cloud-env == 'true' }}
|
||||
run: |
|
||||
echo "running: check PS-CLOUD is UP"
|
||||
set -u;
|
||||
./node_modules/@alfresco/adf-cli/bin/adf-cli init-aae-env \
|
||||
--oauth "$E2E_IDENTITY_HOST_APA" \
|
||||
--oauth "$E2E_HOST" \
|
||||
--host "$E2E_HOST_APA" \
|
||||
--modelerUsername "$E2E_MODELER_USERNAME" \
|
||||
--modelerPassword "$E2E_MODELER_PASSWORD" \
|
||||
@@ -140,50 +115,47 @@ runs:
|
||||
--devopsPassword "$E2E_DEVOPS_PASSWORD" \
|
||||
--clientId 'alfresco' || exit 1
|
||||
|
||||
- name: variables sanitization
|
||||
- name: variables sanification
|
||||
env:
|
||||
FOLDER: "${{ inputs.e2e-test-folder }}"
|
||||
PROVIDER: "${{ inputs.e2e-test-provider }}"
|
||||
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
|
||||
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
|
||||
DEPS: "${{ inputs.deps }}"
|
||||
shell: bash
|
||||
run: |
|
||||
set -u;
|
||||
echo $PROXY_HOST_BPM
|
||||
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
|
||||
|
||||
- name: run test
|
||||
id: e2e_run
|
||||
if: ${{ steps.determine-affected.outputs.isAffected == 'true' }}
|
||||
- name: run test with retries
|
||||
id: retry_run
|
||||
env:
|
||||
FOLDER: "${{ inputs.e2e-test-folder }}"
|
||||
PROVIDER: "${{ inputs.e2e-test-provider }}"
|
||||
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
|
||||
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
|
||||
DEPS: "${{ inputs.deps }}"
|
||||
shell: bash
|
||||
run: |
|
||||
set -u;
|
||||
if [[ ${{ inputs.e2e-test-folder }} == 'content-services/upload' ]]; then
|
||||
export DISPLAY=:99
|
||||
chromedriver --url-base=/wd/hub &
|
||||
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
|
||||
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "$DEPS" "browser" || exit 1
|
||||
else
|
||||
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "$DEPS" || exit 1
|
||||
fi
|
||||
- name: Trace failing e2e
|
||||
if: ${{ steps.determine-affected.outputs.isAffected == 'true' && github.event_name == 'schedule' && failure() }}
|
||||
uses: ./.github/actions/artifact-append
|
||||
|
||||
uses: nick-fields/retry@v2.8.2
|
||||
with:
|
||||
artifact-name: global-e2e-result
|
||||
file-name: e2e-failures.txt
|
||||
content: "${{ inputs.e2e-test-id }}"
|
||||
timeout_minutes: 40
|
||||
max_attempts: 2
|
||||
retry_wait_seconds: 30
|
||||
shell: bash
|
||||
command: |
|
||||
set -u;
|
||||
export GH_ACTION_RETRY_COUNT=$(cat ${GITHUB_OUTPUT} | grep -E '^[0-9]{1,2}$' | tail -n1)
|
||||
echo "RETRY GH_ACTION_RETRY_COUNT = <$GH_ACTION_RETRY_COUNT>"
|
||||
if [[ ${{ inputs.e2e-test-folder }} == 'content-services/upload' ]]; then
|
||||
export DISPLAY=:99
|
||||
chromedriver --url-base=/wd/hub &
|
||||
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
|
||||
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "browser" || exit 1
|
||||
else
|
||||
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" || exit 1
|
||||
fi
|
||||
|
||||
- name: upload artifacts on gh
|
||||
id: upload_gh
|
||||
if: ${{ steps.determine-affected.outputs.isAffected == 'true' }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: e2e-artifact-output
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
name: "print affected libs"
|
||||
description: "Retrive the affected libs based on the based and head input"
|
||||
inputs:
|
||||
base:
|
||||
description: 'the base sha'
|
||||
required: true
|
||||
type: string
|
||||
default: main
|
||||
head:
|
||||
description: 'the head sha'
|
||||
required: true
|
||||
type: string
|
||||
default: HEAD
|
||||
output:
|
||||
affected:
|
||||
description: 'the affected libs of the repo'
|
||||
affected_is_empty:
|
||||
description: 'true or false accondingly'
|
||||
runs:
|
||||
using: "node16"
|
||||
main: 'dist/index.js'
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-476
@@ -1,476 +0,0 @@
|
||||
{
|
||||
"name": "print-affected-libs",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "print-affected-libs",
|
||||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.10.0",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/github": "^5.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vercel/ncc": "^0.36.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/core": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
|
||||
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
|
||||
"dependencies": {
|
||||
"@actions/http-client": "^2.0.1",
|
||||
"uuid": "^8.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/exec": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
|
||||
"integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
|
||||
"dependencies": {
|
||||
"@actions/io": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/github": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz",
|
||||
"integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==",
|
||||
"dependencies": {
|
||||
"@actions/http-client": "^2.0.1",
|
||||
"@octokit/core": "^3.6.0",
|
||||
"@octokit/plugin-paginate-rest": "^2.17.0",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^5.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/http-client": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz",
|
||||
"integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==",
|
||||
"dependencies": {
|
||||
"tunnel": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/io": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
|
||||
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
|
||||
},
|
||||
"node_modules/@octokit/auth-token": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
|
||||
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/core": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
|
||||
"integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
|
||||
"dependencies": {
|
||||
"@octokit/auth-token": "^2.4.4",
|
||||
"@octokit/graphql": "^4.5.8",
|
||||
"@octokit/request": "^5.6.3",
|
||||
"@octokit/request-error": "^2.0.5",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"before-after-hook": "^2.2.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/endpoint": {
|
||||
"version": "6.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
|
||||
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/graphql": {
|
||||
"version": "4.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
|
||||
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
|
||||
"dependencies": {
|
||||
"@octokit/request": "^5.6.0",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/openapi-types": {
|
||||
"version": "12.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
|
||||
"integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ=="
|
||||
},
|
||||
"node_modules/@octokit/plugin-paginate-rest": {
|
||||
"version": "2.21.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz",
|
||||
"integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.40.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@octokit/core": ">=2"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "5.16.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz",
|
||||
"integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.39.0",
|
||||
"deprecation": "^2.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@octokit/core": ">=3"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/request": {
|
||||
"version": "5.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
|
||||
"integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
|
||||
"dependencies": {
|
||||
"@octokit/endpoint": "^6.0.1",
|
||||
"@octokit/request-error": "^2.1.0",
|
||||
"@octokit/types": "^6.16.1",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"node-fetch": "^2.6.7",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/request-error": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
|
||||
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"deprecation": "^2.0.0",
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/types": {
|
||||
"version": "6.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
|
||||
"integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
|
||||
"dependencies": {
|
||||
"@octokit/openapi-types": "^12.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vercel/ncc": {
|
||||
"version": "0.36.1",
|
||||
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.36.1.tgz",
|
||||
"integrity": "sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"ncc": "dist/ncc/cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/before-after-hook": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
|
||||
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
|
||||
},
|
||||
"node_modules/deprecation": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
|
||||
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
|
||||
},
|
||||
"node_modules/is-plain-object": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.11",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
|
||||
"integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
|
||||
"dependencies": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "4.x || >=6.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"encoding": "^0.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"encoding": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||
"dependencies": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"node_modules/tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"node_modules/tunnel": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
||||
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
|
||||
"engines": {
|
||||
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
||||
}
|
||||
},
|
||||
"node_modules/universal-user-agent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
|
||||
},
|
||||
"node_modules/whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||
"dependencies": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/core": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
|
||||
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
|
||||
"requires": {
|
||||
"@actions/http-client": "^2.0.1",
|
||||
"uuid": "^8.3.2"
|
||||
}
|
||||
},
|
||||
"@actions/exec": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
|
||||
"integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
|
||||
"requires": {
|
||||
"@actions/io": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"@actions/github": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz",
|
||||
"integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==",
|
||||
"requires": {
|
||||
"@actions/http-client": "^2.0.1",
|
||||
"@octokit/core": "^3.6.0",
|
||||
"@octokit/plugin-paginate-rest": "^2.17.0",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^5.13.0"
|
||||
}
|
||||
},
|
||||
"@actions/http-client": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz",
|
||||
"integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==",
|
||||
"requires": {
|
||||
"tunnel": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"@actions/io": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
|
||||
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
|
||||
},
|
||||
"@octokit/auth-token": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
|
||||
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"@octokit/core": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
|
||||
"integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
|
||||
"requires": {
|
||||
"@octokit/auth-token": "^2.4.4",
|
||||
"@octokit/graphql": "^4.5.8",
|
||||
"@octokit/request": "^5.6.3",
|
||||
"@octokit/request-error": "^2.0.5",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"before-after-hook": "^2.2.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/endpoint": {
|
||||
"version": "6.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
|
||||
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/graphql": {
|
||||
"version": "4.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
|
||||
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
|
||||
"requires": {
|
||||
"@octokit/request": "^5.6.0",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/openapi-types": {
|
||||
"version": "12.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
|
||||
"integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ=="
|
||||
},
|
||||
"@octokit/plugin-paginate-rest": {
|
||||
"version": "2.21.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz",
|
||||
"integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.40.0"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "5.16.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz",
|
||||
"integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.39.0",
|
||||
"deprecation": "^2.3.1"
|
||||
}
|
||||
},
|
||||
"@octokit/request": {
|
||||
"version": "5.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
|
||||
"integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
|
||||
"requires": {
|
||||
"@octokit/endpoint": "^6.0.1",
|
||||
"@octokit/request-error": "^2.1.0",
|
||||
"@octokit/types": "^6.16.1",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"node-fetch": "^2.6.7",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/request-error": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
|
||||
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"deprecation": "^2.0.0",
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"@octokit/types": {
|
||||
"version": "6.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
|
||||
"integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^12.11.0"
|
||||
}
|
||||
},
|
||||
"@vercel/ncc": {
|
||||
"version": "0.36.1",
|
||||
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.36.1.tgz",
|
||||
"integrity": "sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==",
|
||||
"dev": true
|
||||
},
|
||||
"before-after-hook": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
|
||||
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
|
||||
},
|
||||
"deprecation": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
|
||||
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
|
||||
},
|
||||
"is-plain-object": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.11",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
|
||||
"integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
|
||||
"requires": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"tunnel": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
||||
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
|
||||
},
|
||||
"universal-user-agent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
|
||||
},
|
||||
"uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||
},
|
||||
"webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
|
||||
},
|
||||
"whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||
"requires": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"name": "print-affected-libs",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"build": "ncc build src/index.js -o dist --source-map"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.10.0",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/github": "^5.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vercel/ncc": "^0.36.1"
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
const core = require('@actions/core');
|
||||
const exec = require('@actions/exec');
|
||||
|
||||
async function run() {
|
||||
const base = core.getInput('base', {required: false }) || '5288597580';
|
||||
core.setOutput('affected_is_empty', 'true');
|
||||
|
||||
let affected = '';
|
||||
let myError = '';
|
||||
|
||||
const options = {};
|
||||
options.listeners = {
|
||||
stdout: (data) => {
|
||||
affected += data.toString()
|
||||
},
|
||||
stderr: (data) => {
|
||||
myError += data.toString();
|
||||
}
|
||||
};
|
||||
|
||||
await exec.exec(`npx nx print-affected --target=build --select=tasks.target.project --base=${base} --head=${head}`, [], options)
|
||||
|
||||
const affectedTrimmed = affected.trim();
|
||||
if (affectedTrimmed !== '') {
|
||||
core.setOutput('affected_is_empty', 'false');
|
||||
}
|
||||
core.notice(`Retriving affected libs: ${affectedTrimmed}`);
|
||||
|
||||
core.setOutput('affected', affectedTrimmed);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -7,7 +7,7 @@ runs:
|
||||
- name: Install google chrome
|
||||
shell: bash
|
||||
run: |
|
||||
wget -q https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_114.0.5735.133-1_amd64.deb
|
||||
sudo apt install -y --allow-downgrades ./google-chrome-stable_114.0.5735.133-1_amd64.deb
|
||||
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
||||
sudo apt install ./google-chrome-stable_current_amd64.deb
|
||||
sudo ln -s /usr/bin/google-chrome /usr/bin/chrome
|
||||
chrome --version
|
||||
@@ -22,7 +22,7 @@ runs:
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
node-version: 14
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: get latest tag sha
|
||||
id: tag-sha
|
||||
@@ -56,3 +56,6 @@ runs:
|
||||
uses: ./.github/actions/before-install
|
||||
with:
|
||||
act: ${{ inputs.act }}
|
||||
- name: link nx executable
|
||||
run: sudo ln -s $(npm bin)/nx /usr/bin/nx
|
||||
shell: bash
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
name: Identify the slack group
|
||||
description: 'Identify the slack group area based on the affected'
|
||||
|
||||
inputs:
|
||||
affected:
|
||||
description: 'The name of the affected lib'
|
||||
required: true
|
||||
type: string
|
||||
|
||||
outputs:
|
||||
groups:
|
||||
description: "the slack groups"
|
||||
value: ${{ steps.group.outputs.result }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
||||
steps:
|
||||
- name: Append group
|
||||
id: group
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
affectedLib: ${{ inputs.affected }}
|
||||
with:
|
||||
script: |
|
||||
const affectedLib = process.env.affectedLib;
|
||||
core.info(`Input ${affectedLib}`);
|
||||
|
||||
const slackGroups = new Set();
|
||||
const AlfrescoQAGroup = '@alfresco-testing-qa';
|
||||
const HxpQAGroup = '@hxp-studio-qa-group';
|
||||
|
||||
const libs = affectedLib.split(' ')
|
||||
|
||||
if (libs.includes('content-services') || libs.includes('process-services')) {
|
||||
slackGroups.add(AlfrescoQAGroup);
|
||||
}
|
||||
if (libs.includes('process-services-cloud')) {
|
||||
slackGroups.add(HxpQAGroup);
|
||||
}
|
||||
if (libs.includes('core')) {
|
||||
slackGroups.add(AlfrescoQAGroup);
|
||||
slackGroups.add(HxpQAGroup);
|
||||
}
|
||||
|
||||
const result = Array.from(slackGroups.values()).join(' ');
|
||||
core.info(`Result ${result}`);
|
||||
return result;
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
name: "upstream adf"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo_to_update:
|
||||
description: Repository to update
|
||||
type: string
|
||||
required: false
|
||||
default: alfresco-applications
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
cluster_operation:
|
||||
description: trigger adf test
|
||||
type: choice
|
||||
required: true
|
||||
options:
|
||||
- TRIGGER_ALPHA_ADF
|
||||
default: TRIGGER_ALPHA_ADF
|
||||
repo_to_update:
|
||||
description: Repository to update
|
||||
type: choice
|
||||
required: true
|
||||
options:
|
||||
- all
|
||||
- alfresco-content-app
|
||||
- alfresco-applications
|
||||
- alfresco-apps
|
||||
default: all
|
||||
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
|
||||
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
USERNAME_ADF: ${{ secrets.E2E_USERNAME }}
|
||||
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
|
||||
URL_HOST_ADF: ${{ secrets.URL_HOST_ADF }}
|
||||
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
|
||||
HOST_SSO: ${{ secrets.HOST_SSO }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
E2E_LOG_LEVEL: "ERROR"
|
||||
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
|
||||
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
|
||||
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
|
||||
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
|
||||
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
|
||||
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
|
||||
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
|
||||
HR_USER: ${{ secrets.HR_USER }}
|
||||
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
|
||||
NPM_REGISTRY_ADDRESS: ${{ secrets.NPM_REGISTRY_ADDRESS }}
|
||||
NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
GH_PACKAGES_READ_ONLY_TOKEN: ${{ secrets.HYLAND_GH_PACKAGES_READ_ONLY_TOKEN }}
|
||||
|
||||
jobs:
|
||||
trigger_adf:
|
||||
name: trigger adf
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
cache-dependency-path: package-lock.json
|
||||
# - name: Debug on failure
|
||||
# uses: mxschmitt/action-tmate@v3
|
||||
# with:
|
||||
# timeout-minutes: 60
|
||||
# limit-access-to-actor: true
|
||||
- name: Trigger Alpha ADF child build
|
||||
shell: bash
|
||||
if: ${{ contains(github.event.head_commit.message, '[trigger adf]') || inputs.cluster_operation == 'TRIGGER_ALPHA_ADF' || github.event.schedule == '0 12 * * *' }}
|
||||
run: |
|
||||
npm install github-api
|
||||
./scripts/github/update/update-project.sh -p $GH_BUILD_NUMBER -t $GH_TOKEN -v alpha -c $GH_COMMIT -r ${{ inputs.repo_to_update }}
|
||||
@@ -1,9 +1,8 @@
|
||||
name: "cron e2e daily"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 12 * * 1-5' #At 12:00 on every day-of-week from Monday through Friday.
|
||||
- cron: '0 12 * * *'
|
||||
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
@@ -19,7 +18,6 @@ env:
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
|
||||
@@ -69,19 +67,7 @@ env:
|
||||
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
|
||||
|
||||
jobs:
|
||||
init-artifact:
|
||||
runs-on: ubuntu-latest
|
||||
name: Initialize artifacts
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ./.github/actions/artifact-initialize
|
||||
with:
|
||||
artifact-name: global-e2e-result
|
||||
file-name: e2e-failures.txt
|
||||
|
||||
run-e2e:
|
||||
name: run e2e
|
||||
uses: ./.github/workflows/pull-request.yml
|
||||
with:
|
||||
cron-run: true
|
||||
secrets: inherit
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
name: "cron upstream daily"
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 12 * * *'
|
||||
|
||||
jobs:
|
||||
adf-upstream-alpha-alfresco-aca:
|
||||
name: trigger upstream alpha for alfresco-content-app
|
||||
uses: ./.github/workflows/adf_alpha.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
repo_to_update: alfresco-content-app
|
||||
|
||||
adf-upstream-alpha-alfresco-apps:
|
||||
name: trigger upstream alpha for alfresco-applications
|
||||
uses: ./.github/workflows/adf_alpha.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
repo_to_update: alfresco-applications
|
||||
|
||||
adf-upstream-alpha-hxp:
|
||||
name: trigger upstream alpha for hxp monorepo
|
||||
uses: ./.github/workflows/adf_alpha.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
repo_to_update: alfresco-apps
|
||||
@@ -0,0 +1,16 @@
|
||||
name: pr-workflow
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "devops/*"
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
adf-upstream-alpha-hxp:
|
||||
name: trigger upstream alpha for hxp monorepo
|
||||
uses: ./.github/workflows/adf_alpha.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
repo_to_update: alfresco-apps
|
||||
@@ -3,7 +3,7 @@ name: "git-tag"
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
dry-run-flag:
|
||||
dry-run-release:
|
||||
description: 'enable dry-run on artifact push'
|
||||
required: false
|
||||
type: boolean
|
||||
@@ -26,7 +26,6 @@ env:
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
@@ -62,7 +61,7 @@ env:
|
||||
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
|
||||
NPM_REGISTRY_ADDRESS: ${{ secrets.NPM_REGISTRY_ADDRESS }}
|
||||
NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
BOT_GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
DEMO_SHELL_DIR: "./dist/demo-shell"
|
||||
@@ -85,7 +84,7 @@ jobs:
|
||||
uses: ./.github/workflows/release.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
dry-run-flag: false
|
||||
dry-run-release: false
|
||||
|
||||
setup:
|
||||
needs: release
|
||||
@@ -93,18 +92,18 @@ jobs:
|
||||
name: "Release tag"
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
GITHUB_TOKEN: $BOT_GITHUB_TOKEN
|
||||
GITHUB_TOKEN: $GH_TOKEN
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
dry-run-flag: ${{ inputs.dry-run-release }}
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
node-version: 14
|
||||
- name: "Release tag"
|
||||
run: |
|
||||
git fetch --all --quiet
|
||||
|
||||
@@ -1,29 +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: Dispatch event to monorepo
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
github-token: ${{ secrets.PAT_WRITE_PKG }}
|
||||
retries: 3
|
||||
script: |
|
||||
const payload = {
|
||||
package_name: "${{ github.event.registry_package.name }}",
|
||||
package_version: "${{ github.event.registry_package.package_version.name }}"
|
||||
};
|
||||
|
||||
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`);
|
||||
@@ -3,7 +3,7 @@ name: "pull-request"
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
dry-run-flag:
|
||||
dry-run-release:
|
||||
description: 'enable dry-run on artifact push'
|
||||
required: false
|
||||
type: boolean
|
||||
@@ -13,11 +13,6 @@ on:
|
||||
required: false
|
||||
type: string
|
||||
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:
|
||||
@@ -43,7 +38,6 @@ env:
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
@@ -93,20 +87,21 @@ env:
|
||||
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
|
||||
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
|
||||
|
||||
|
||||
|
||||
jobs:
|
||||
check-package-lock:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Check package-lock.json version
|
||||
run: |
|
||||
if [[ $(jq '.lockfileVersion == 3' package-lock.json) == "true" ]] ; then
|
||||
echo "package-lock.json has a correct version"
|
||||
else
|
||||
echo "package-lock must be version 3"
|
||||
if [[ $(jq '.lockfileVersion == 2' package-lock.json) == "true" ]] ; then
|
||||
echo -e "\033[31mpackage-lock must be version 1\033[0m"
|
||||
exit 1
|
||||
else
|
||||
echo -e "\033[32mpackage-lock.json has a correct version\033[0m"
|
||||
fi
|
||||
|
||||
check-if-pr-is-approved:
|
||||
@@ -114,52 +109,18 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get branch name
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@v1.36.0
|
||||
|
||||
- name: Save commit message
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@v1.36.0
|
||||
|
||||
- name: ci:force flag parser
|
||||
shell: bash
|
||||
run: |
|
||||
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.actor }}" == "dependabot[bot]" ]; then
|
||||
echo -e "\033[32mci:force check can be skipped\033[0m"
|
||||
skip_check="true"
|
||||
elif [[ "$COMMIT_MESSAGE" == *"[ci:force]"* ]]; then
|
||||
echo -e "\033[32m[ci:force] flag detected. No need for approval.\033[0m"
|
||||
skip_check="true"
|
||||
fi
|
||||
|
||||
- name: Get PR number
|
||||
- name: Check if PR is approved
|
||||
id: action
|
||||
if: ${{ github.event_name != 'schedule' }}
|
||||
uses: kamatama41/get-pr-number-action@5c77b38a1b4974ebf8a9521a689f38a5898eadd6
|
||||
id: action
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: show pr number
|
||||
shell: bash
|
||||
run: |
|
||||
echo "PR: ${{ steps.action.outputs.number }}"
|
||||
|
||||
- name: check if pr is approved
|
||||
env:
|
||||
DEVEL_FLAG: ${{ inputs.devel }}
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
skip_check: "false"
|
||||
run: |
|
||||
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.actor }}" == "dependabot[bot]" ]; then
|
||||
echo -e "\033[32mci:force check can be skipped\033[0m"
|
||||
skip_check="true"
|
||||
elif [[ "$COMMIT_MESSAGE" == *"[ci:force]"* ]]; then
|
||||
echo -e "\033[32m[ci:force] flag detected. No need for approval.\033[0m"
|
||||
skip_check="true"
|
||||
fi
|
||||
|
||||
if [ "${{ github.actor }}" == "dependabot[bot]" ] || [ "${{ github.actor }}" == "alfresco-build" ]; then
|
||||
echo -e "\033[32mCommit by ${{ github.actor }}. No need for approval.\033[0m"
|
||||
skip_check="true"
|
||||
@@ -178,8 +139,7 @@ jobs:
|
||||
if [ "$skip_check" == "false" ]; then
|
||||
echo "Checking PR approval"
|
||||
prNumber=${{ steps.action.outputs.number }}
|
||||
echo "PR: $prNumber"
|
||||
checkApproval=$(gh api /repos/$GITHUB_REPOSITORY/pulls/$prNumber/reviews | jq '.[] | select(.state == "APPROVED") | .user.login')
|
||||
checkApproval=$(gh api /repos/Alfresco/alfresco-ng2-components/pulls/$prNumber/reviews | jq '.[] | select(.state == "APPROVED") | .user.login')
|
||||
if [[ $checkApproval ]]; then
|
||||
echo -e "\033[32mPR approved\033[0m"
|
||||
else
|
||||
@@ -203,9 +163,9 @@ jobs:
|
||||
- name: install
|
||||
run: |
|
||||
npm ci
|
||||
npx nx run cli:bundle
|
||||
npx nx run testing:bundle
|
||||
- run: npx nx print-affected $NX_CALCULATION_FLAGS
|
||||
nx run cli:bundle
|
||||
nx run testing:bundle
|
||||
- run: nx print-affected $NX_CALCULATION_FLAGS
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
unit-tests:
|
||||
@@ -219,15 +179,13 @@ jobs:
|
||||
matrix:
|
||||
unit-tests:
|
||||
- name: content-services
|
||||
exclude: "insights,core,extensions,process-services,process-services-cloud,eslint-plugin-eslint-angular"
|
||||
exclude: "insights,core,extensions,process-services,process-services-cloud"
|
||||
- name: core
|
||||
exclude: "insights,content-services,process-services,process-services-cloud,eslint-plugin-eslint-angular"
|
||||
- name: insights
|
||||
exclude: "core,extensions,content-services,process-services-cloud,process-services,eslint-plugin-eslint-angular"
|
||||
- name: process-services
|
||||
exclude: "core,extensions,content-services,process-services-cloud,insights,eslint-plugin-eslint-angular"
|
||||
exclude: "insights,content-services,process-services,process-services-cloud"
|
||||
- name: insights and process-services
|
||||
exclude: "core,extensions,content-services,process-services-cloud"
|
||||
- name: process-cloud
|
||||
exclude: "insights,core,extensions,content-services,process-services,eslint-plugin-eslint-angular"
|
||||
exclude: "insights,core,extensions,content-services,process-services"
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
@@ -237,7 +195,7 @@ jobs:
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: Run unit tests
|
||||
run: |
|
||||
/usr/bin/xvfb-run --auto-servernum npx nx affected:test $NX_CALCULATION_FLAGS --exclude=${{ matrix.unit-tests.exclude }}
|
||||
/usr/bin/xvfb-run --auto-servernum nx affected:test $NX_CALCULATION_FLAGS --exclude=${{ matrix.unit-tests.exclude }}
|
||||
|
||||
lint:
|
||||
# long timeout required when cache has to be recreated
|
||||
@@ -252,7 +210,7 @@ jobs:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- run: npx nx affected --target=lint $NX_CALCULATION_FLAGS
|
||||
- run: nx affected --target=lint $NX_CALCULATION_FLAGS
|
||||
|
||||
build-libs:
|
||||
# long timeout required when cache has to be recreated
|
||||
@@ -267,9 +225,9 @@ jobs:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- run: npx nx affected:build $NX_CALCULATION_FLAGS --prod
|
||||
- run: npx nx build demoshell --configuration production
|
||||
- run: npx nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration=ci --parallel=1
|
||||
- run: nx affected:build $NX_CALCULATION_FLAGS --prod
|
||||
- run: nx build demoshell --configuration production
|
||||
- run: nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration ci
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
e2e-storybook:
|
||||
@@ -308,49 +266,42 @@ jobs:
|
||||
auth: "OAUTH"
|
||||
check-cs-env: "true"
|
||||
check-ps-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Content: Components"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/components"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Content: Directives"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/directives"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Content: Document List"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/document-list"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Content: Metadata"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/metadata"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Content: Upload and Versioning"
|
||||
test-id: "content-services"
|
||||
folder: "content-services/upload"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Search"
|
||||
test-id: "content-services"
|
||||
folder: "search"
|
||||
provider: "ECM"
|
||||
auth: "BASIC"
|
||||
check-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process: Form"
|
||||
test-id: "process-services"
|
||||
folder: "process-services/form"
|
||||
@@ -358,7 +309,6 @@ jobs:
|
||||
auth: "OAUTH"
|
||||
check-ps-env: "true"
|
||||
check-external-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process: Process"
|
||||
test-id: "process-services"
|
||||
folder: "process-services/process"
|
||||
@@ -366,7 +316,6 @@ jobs:
|
||||
auth: "OAUTH"
|
||||
check-ps-env: "true"
|
||||
check-external-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process: Tasks"
|
||||
test-id: "process-services"
|
||||
folder: "process-services/tasks"
|
||||
@@ -374,7 +323,6 @@ jobs:
|
||||
auth: "OAUTH"
|
||||
check-ps-env: "true"
|
||||
check-external-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process: Widget"
|
||||
test-id: "process-services"
|
||||
folder: "process-services/widgets"
|
||||
@@ -382,7 +330,6 @@ jobs:
|
||||
auth: "OAUTH"
|
||||
check-ps-env: "true"
|
||||
check-external-cs-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process Cloud: Form"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/form-field"
|
||||
@@ -391,7 +338,6 @@ jobs:
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process Cloud: People"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/people"
|
||||
@@ -400,7 +346,6 @@ jobs:
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process Cloud: Process"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/process"
|
||||
@@ -409,7 +354,6 @@ jobs:
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process Cloud: Start Task"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/start-task"
|
||||
@@ -418,7 +362,6 @@ jobs:
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
deps: "testing"
|
||||
- description: "Process Cloud: Tasks List"
|
||||
test-id: "process-services-cloud"
|
||||
folder: "process-services-cloud/task-list"
|
||||
@@ -427,7 +370,6 @@ jobs:
|
||||
apa-proxy: true
|
||||
check-cs-env: "true"
|
||||
check-ps-cloud-env: "true"
|
||||
deps: "testing"
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
@@ -453,63 +395,13 @@ jobs:
|
||||
check-ps-cloud-env: ${{ matrix.e2e-test.check-ps-cloud-env }}
|
||||
check-external-cs-env: ${{ matrix.e2e-test.check-external-cs-env }}
|
||||
apa-proxy: ${{ matrix.e2e-test.apa-proxy }}
|
||||
deps: ${{ matrix.e2e-test.deps }}
|
||||
|
||||
PR-forbidden-labels:
|
||||
if: ${{ inputs.cron-run == '' || inputs.cron-run == 'false' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- id: checkoutRepo
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: PR contains forbidden labels
|
||||
id: pr-forbidden
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
const issueHasLabels = require('./scripts/github/update/check-issue-has-label.js');
|
||||
const checkLabels = ['next version ➡️', 'do not merge🙅🏻♂️'];
|
||||
|
||||
const hasLabel = await issueHasLabels({github, context, checkLabels})
|
||||
|
||||
if(hasLabel) {
|
||||
core.setFailed('The PR contains a forbidden label! You are not allowed to merge until the label is there.');
|
||||
}
|
||||
- name: Check value after
|
||||
run: |
|
||||
echo "result ${{ toJson(steps.pr-forbidden.*.result) }}" && echo "result ${{ steps.pr-forbidden.*.result }}"
|
||||
echo "result ${{ contains(toJson(steps.pr-forbidden.*.result), 'failure') }}"
|
||||
|
||||
finalize:
|
||||
if: ${{ always() }}
|
||||
runs-on: ubuntu-latest
|
||||
name: Final Results
|
||||
needs: [check-if-pr-is-approved, check-package-lock, setup, unit-tests, lint, build-libs, e2e, e2e-storybook]
|
||||
needs: [check-if-pr-is-approved, check-package-lock, unit-tests, build-libs, e2e, e2e-storybook]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Log e2e result
|
||||
id: e2e-result
|
||||
if: ${{ github.event_name == 'schedule' }}
|
||||
uses: ./.github/actions/artifact-extract
|
||||
with:
|
||||
artifact-name: global-e2e-result
|
||||
file-name: e2e-failures.txt
|
||||
- name: identify-slack-group
|
||||
id: groups
|
||||
if: ${{ github.event_name == 'schedule' }}
|
||||
uses: ./.github/actions/slack-group-area
|
||||
with:
|
||||
affected: ${{ steps.e2e-result.outputs.result }}
|
||||
- uses: slackapi/slack-github-action@v1.23.0
|
||||
name: Nofify QA failure
|
||||
if: ${{ github.event_name == 'schedule' && contains(needs.*.result, 'failure') }}
|
||||
env:
|
||||
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
|
||||
with:
|
||||
channel-id: 'C016SMNNL8L' #guild-channel
|
||||
slack-message: "🔴 Warning: The daily ADF cronjob failed\nWorkflow run : <https://github.com/Alfresco/alfresco-ng2-components/actions/runs/${{ github.run_id }}| here>\nDetails: ${{ steps.e2e-result.outputs.result }}\nArea: ${{ steps.groups.outputs.groups}}"
|
||||
- name: workflow failure
|
||||
run: exit 1
|
||||
if: ${{ contains(needs.*.result, 'failure') }}
|
||||
@@ -519,4 +411,3 @@ jobs:
|
||||
- name: workflow success
|
||||
run: exit 0
|
||||
if: ${{ contains(needs.*.result, 'success') }}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ name: "release"
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
dry-run-flag:
|
||||
dry-run-release:
|
||||
description: 'enable dry-run on artifact push'
|
||||
required: false
|
||||
type: boolean
|
||||
@@ -29,7 +29,6 @@ env:
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
|
||||
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
|
||||
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
|
||||
E2E_HOST: ${{ secrets.E2E_HOST }}
|
||||
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
@@ -83,7 +82,7 @@ env:
|
||||
jobs:
|
||||
setup:
|
||||
timeout-minutes: 20
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
if: github.event.pull_request.merged || ${{ inputs.dry-run-release }}
|
||||
name: "Setup"
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
@@ -98,14 +97,14 @@ jobs:
|
||||
- name: install
|
||||
run: |
|
||||
npm ci
|
||||
npx nx run cli:bundle
|
||||
npx nx run testing:bundle
|
||||
nx run cli:bundle
|
||||
nx run testing:bundle
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
release-demoshell:
|
||||
needs: [setup]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
if: github.event.pull_request.merged || ${{ inputs.dry-run-release }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
@@ -116,7 +115,7 @@ jobs:
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
dry-run-flag: ${{ inputs.dry-run-release }}
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
@@ -124,14 +123,14 @@ jobs:
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: release Demoshell docker
|
||||
run: |
|
||||
npx nx build demoshell --configuration production
|
||||
nx build demoshell --configuration production
|
||||
. ./scripts/github/release/docker-tag.sh
|
||||
./scripts/github/release/release-demoshell-docker.sh ${{ steps.set-dryrun.outputs.dryrun }}
|
||||
|
||||
release-storybook:
|
||||
needs: [setup]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
if: github.event.pull_request.merged || ${{ inputs.dry-run-release }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
@@ -142,23 +141,23 @@ jobs:
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
dry-run-flag: ${{ inputs.dry-run-release }}
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
act: ${{ inputs.dry-run-flag }}
|
||||
act: ${{ inputs.dry-run-release }}
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: release Storybook docker
|
||||
run: |
|
||||
npx nx run stories:build-storybook --configuration ci
|
||||
nx run stories:build-storybook --configuration ci
|
||||
. ./scripts/github/release/docker-tag.sh
|
||||
./scripts/github/release/release-storybook-docker.sh ${{ steps.set-dryrun.outputs.dryrun }}
|
||||
|
||||
release-npm:
|
||||
needs: [setup]
|
||||
timeout-minutes: 30
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || ${{ inputs.dry-run-release }}
|
||||
runs-on: ubuntu-22.04
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -175,11 +174,11 @@ jobs:
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
dry-run-flag: ${{ inputs.dry-run-release }}
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: check PR number
|
||||
id: action
|
||||
uses: kamatama41/get-pr-number-action@5c77b38a1b4974ebf8a9521a689f38a5898eadd6
|
||||
uses: kamatama41/get-pr-number-action@v0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: save PR number
|
||||
@@ -192,49 +191,33 @@ jobs:
|
||||
run: |
|
||||
set -u;
|
||||
./scripts/github/build/bumpversion.sh
|
||||
npx nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
|
||||
npx nx affected $NX_CALCULATION_FLAGS --target=pretheme
|
||||
nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
|
||||
nx affected $NX_CALCULATION_FLAGS --target=pretheme
|
||||
- uses: actions/setup-node@v3
|
||||
name: release libraries GH registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
node-version: 14
|
||||
registry-url: 'https://npm.pkg.github.com'
|
||||
scope: '@alfresco'
|
||||
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
|
||||
- run: nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/setup-node@v3
|
||||
name: release libraries Npm registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
node-version: 14
|
||||
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
|
||||
scope: '@alfresco'
|
||||
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
|
||||
- run: nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
|
||||
npm-check-bundle:
|
||||
needs: [release-npm]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
if: github.event.pull_request.merged == true || ${{ inputs.dry-run-release }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
- uses: ./.github/actions/npm-check-bundle
|
||||
|
||||
finalize:
|
||||
if: always()
|
||||
runs-on: ubuntu-latest
|
||||
name: Final Results
|
||||
needs: [release-demoshell, release-storybook, release-npm, npm-check-bundle]
|
||||
steps:
|
||||
|
||||
- uses: slackapi/slack-github-action@v1.23.0
|
||||
name: Nofify FE hxp-front-end-apps workflow failed
|
||||
if: ${{ contains(toJson(needs.*.result), 'failure') }}
|
||||
env:
|
||||
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
|
||||
with:
|
||||
channel-id: 'C04N93XU491' #hxp-front-end-apps
|
||||
slack-message: "🔴 Warning: The release workflow of alfresco-ng2-components pipe failed\n Author: name:${{ github.event.pusher.name }}\n Workflow run : <https://github.com/Alfresco/alfresco-ng2-components/actions/runs/${{ github.run_id }}| here>\n>"
|
||||
|
||||
@@ -1,214 +0,0 @@
|
||||
name: Upstream js
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 */3 * * *' # “At minute 0 past every 3rd hour.”
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag_version:
|
||||
description: image tag
|
||||
type: choice
|
||||
required: true
|
||||
options:
|
||||
- alpha
|
||||
- latest
|
||||
default: alpha
|
||||
|
||||
jobs:
|
||||
upstream:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
hasAtLeastOneNewVersion: ${{ steps.fetchLatestPkg.outputs.hasAtLeastOneNewVersion }}
|
||||
hasNewVersionAvailableJS: ${{ steps.fetchLatestPkg.outputs.hasVersionNewJS }}
|
||||
latestVersionAvailableJS: ${{ steps.fetchLatestPkg.outputs.latestVersionJS }}
|
||||
hasAtLeastOneNewVersionWithoutPR: ${{ steps.checkPrAlreadyExist.outputs.hasAtLeastOneNewVersionWithoutPR }}
|
||||
steps:
|
||||
- id: checkoutRepo
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- id: fetchLatestPkg
|
||||
name: Fetch the latest package version
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
TAG_VERSION: ${{ inputs.tag_version }}
|
||||
with:
|
||||
github-token: ${{ secrets.PAT_WRITE_PKG }}
|
||||
script: |
|
||||
const tagVersion = process.env.TAG_VERSION;
|
||||
console.log('tagVersion:',tagVersion);
|
||||
const getLatestVersionOf = require('./scripts/github/update/latest-version-of.js');
|
||||
|
||||
const { hasVersionNew: hasVersionNewJS, latestVersion: latestVersionJS } = await getLatestVersionOf({github, context, dependencyName: 'js-api', tagVersion});
|
||||
console.log('hasVersionNewJS', hasVersionNewJS)
|
||||
console.log('latestVersionJS', latestVersionJS)
|
||||
|
||||
if (hasVersionNewJS === 'true' ) {
|
||||
core.setOutput('hasAtLeastOneNewVersion', 'true');
|
||||
core.setOutput('hasVersionNewJS', 'true');
|
||||
core.setOutput('latestVersionJS', latestVersionJS);
|
||||
} else {
|
||||
core.setOutput('hasAtLeastOneNewVersion', 'false');
|
||||
console.log('No new version available, skipping upstream!')
|
||||
}
|
||||
|
||||
- name: Check value after
|
||||
run: |
|
||||
echo "The value hasAtLeastOneNewVersion is: ${{ steps.fetchLatestPkg.outputs.hasAtLeastOneNewVersion }}"
|
||||
echo "The value hasVersionNewJS is: ${{ steps.fetchLatestPkg.outputs.hasVersionNewJS }}"
|
||||
echo "The value latestVersionJS is: ${{ steps.fetchLatestPkg.outputs.latestVersionJS }}"
|
||||
|
||||
- id: checkPrAlreadyExist
|
||||
name: Check PR with latest already exist
|
||||
if: ${{ steps.fetchLatestPkg.outputs.hasAtLeastOneNewVersion == 'true' }}
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
HAS_NEW_JS_VERSION: ${{ steps.fetchLatestPkg.outputs.hasVersionNewJS }}
|
||||
LATEST_JS_VERSION: ${{ steps.fetchLatestPkg.outputs.latestVersionJS }}
|
||||
with:
|
||||
github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
script: |
|
||||
const hasVersionNewJS = process.env.HAS_NEW_JS_VERSION;
|
||||
const latestVersionJS = process.env.LATEST_JS_VERSION;
|
||||
|
||||
const checkPRAlreadyExist = require('./scripts/github/update/check-pr-already-exist.js');
|
||||
let isPRWithLatestJSAlreadyAvailable = false;
|
||||
|
||||
if (hasVersionNewJS === 'true') {
|
||||
isPRWithLatestJSAlreadyAvailable = await checkPRAlreadyExist({github, context, version: latestVersionJS});
|
||||
console.log('isPRWithLatestJSAlreadyAvailable', isPRWithLatestJSAlreadyAvailable);
|
||||
}
|
||||
|
||||
if (isPRWithLatestJSAlreadyAvailable) {
|
||||
console.log('Warning: Upstream PR already exist, stop the migration execution!');
|
||||
core.setOutput('hasAtLeastOneNewVersionWithoutPR', 'false');
|
||||
} else {
|
||||
core.setOutput('hasAtLeastOneNewVersionWithoutPR', 'true');
|
||||
}
|
||||
|
||||
migrate:
|
||||
if: ${{ needs.upstream.outputs.hasAtLeastOneNewVersionWithoutPR == 'true' }}
|
||||
runs-on: ubuntu-latest
|
||||
needs: upstream
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
fetch-depth: 1
|
||||
- name: setup NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: "General :: dbpci-install"
|
||||
run: |
|
||||
npm ci --ignore-scripts
|
||||
- name: Migration
|
||||
shell: bash
|
||||
env:
|
||||
IS_JS_AFFECTED: ${{ needs.upstream.outputs.hasNewVersionAvailableJS }}
|
||||
PACKAGE_VERSION_JS: ${{ needs.upstream.outputs.latestVersionAvailableJS }}
|
||||
BRANCH_TO_CREATE: "upstream-dependencies"
|
||||
run: |
|
||||
|
||||
migrateDependenciesJS() {
|
||||
echo "Update JS dependencies to: ${PACKAGE_VERSION_JS}"
|
||||
echo "Calling migration JS"
|
||||
npx nx migrate @alfresco/js-api@${PACKAGE_VERSION_JS}
|
||||
echo "Migration JS done"
|
||||
}
|
||||
|
||||
migrateLibDependenciesJS() {
|
||||
eval projects=( "cli"
|
||||
"core"
|
||||
"content-services"
|
||||
"process-services"
|
||||
"process-services-cloud"
|
||||
"insights"
|
||||
"testing"
|
||||
"extensions" )
|
||||
|
||||
projectslength=${#projects[@]}
|
||||
for (( i=0; i<${projectslength}; i++ ));
|
||||
do
|
||||
echo "Update JS dependencies in adf-${projects[$i]} to: ${PACKAGE_VERSION_JS}"
|
||||
DESTDIR="lib/${projects[$i]}"
|
||||
sed -i "${sedi[@]}" "s/\"@alfresco\/js-api\": \".*\"/\"@alfresco\/js-api\": \">=${PACKAGE_VERSION_JS}\"/g" ${DESTDIR}/package.json
|
||||
done
|
||||
}
|
||||
|
||||
regeneratePackageLock() {
|
||||
echo "Regenerate lock"
|
||||
npm i --package-lock-only
|
||||
echo "Package-lock done."
|
||||
}
|
||||
|
||||
if git checkout ${BRANCH_TO_CREATE} 2>/dev/null ; then
|
||||
git reset --hard origin/develop
|
||||
echo "Reset branch"
|
||||
fi
|
||||
|
||||
if [[ "$IS_JS_AFFECTED" == "true" ]]; then
|
||||
migrateDependenciesJS
|
||||
migrateLibDependenciesJS
|
||||
fi
|
||||
|
||||
regeneratePackageLock
|
||||
|
||||
- name: Commit Code
|
||||
if: ${{ needs.upstream.outputs.hasAtLeastOneNewVersion == 'true' }}
|
||||
uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: "[ci:force][auto-commit] Update dependencies JS:${{ needs.upstream.outputs.latestVersionAvailableJS }}"
|
||||
branch: upstream-dependencies
|
||||
push_options: '--force'
|
||||
create_branch: true
|
||||
|
||||
- name: Create a Pull request
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
PACKAGE_VERSION_JS: ${{ needs.upstream.outputs.latestVersionAvailableJS }}
|
||||
with:
|
||||
github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
script: |
|
||||
const { PACKAGE_VERSION_JS } = process.env
|
||||
const BRANCH_TO_CREATE = 'upstream-dependencies';
|
||||
|
||||
const { data: prs } = await github.rest.pulls.list({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
state: 'open',
|
||||
head: `${context.repo.owner}:${BRANCH_TO_CREATE}`,
|
||||
base: 'develop'
|
||||
});
|
||||
|
||||
if (prs.length < 1) {
|
||||
const payloadPullRequest = {
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
title: `GH Auto: Upstream dependencies JS-API:${PACKAGE_VERSION_JS}`,
|
||||
head: `${context.repo.owner}:${BRANCH_TO_CREATE}`,
|
||||
base: 'develop',
|
||||
body: `Automatic PR`
|
||||
};
|
||||
|
||||
console.log('Payload: ',payloadPullRequest);
|
||||
|
||||
const { data: pr } = await github.rest.pulls.create(payloadPullRequest);
|
||||
return pr.number;
|
||||
} else {
|
||||
const upstreamPrOpen = prs[0];
|
||||
|
||||
// override the title to contains the latest js dep number
|
||||
const payloadUpdatePullRequest = {
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: upstreamPrOpen.number,
|
||||
title: `GH Auto: Upstream dependencies JS-API:${PACKAGE_VERSION_JS}`,
|
||||
};
|
||||
|
||||
await github.rest.pulls.update(payloadUpdatePullRequest);
|
||||
return upstreamPrOpen.number;
|
||||
}
|
||||
console.log(`Trigger a dispatch event for the monorepo`);
|
||||
+2
-3
@@ -7,8 +7,7 @@ workspace.xml
|
||||
*.iml
|
||||
.env.*
|
||||
.env
|
||||
dist
|
||||
!./.github/actions/**/dist
|
||||
dist/
|
||||
e2e/.env.cloud
|
||||
tmp
|
||||
temp
|
||||
@@ -33,5 +32,5 @@ out-tsc
|
||||
e2e-result-*
|
||||
licenses.txt
|
||||
.DS_Store
|
||||
|
||||
.angular
|
||||
NX
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
|
||||
version: v1.14.1
|
||||
ignore: {}
|
||||
# patches apply the minimum changes required to fix a vulnerability
|
||||
patch:
|
||||
SNYK-JS-HTTPSPROXYAGENT-469131:
|
||||
- '@alfresco/adf-cli > npm-registry-fetch > make-fetch-happen > https-proxy-agent':
|
||||
patched: '2019-11-20T10:48:59.194Z'
|
||||
- '@alfresco/js-api > @alfresco/adf-cli > npm-registry-fetch > make-fetch-happen > https-proxy-agent':
|
||||
patched: '2019-11-20T10:48:59.194Z'
|
||||
SNYK-JS-TREEKILL-536781:
|
||||
- snyk > snyk-sbt-plugin > tree-kill:
|
||||
patched: '2019-12-12T00:35:06.820Z'
|
||||
SNYK-JS-LODASH-567746:
|
||||
- snyk > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > @snyk/dep-graph > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > inquirer > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > snyk-config > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > snyk-mvn-plugin > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > snyk-nodejs-lockfile-parser > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > snyk-nuget-plugin > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > @snyk/dep-graph > graphlib > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > snyk-go-plugin > graphlib > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > snyk-nodejs-lockfile-parser > graphlib > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > @snyk/snyk-cocoapods-plugin > @snyk/dep-graph > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > snyk-nuget-plugin > dotnet-deps-parser > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > snyk-php-plugin > @snyk/composer-lockfile-parser > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > @snyk/snyk-cocoapods-plugin > @snyk/dep-graph > graphlib > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > @snyk/snyk-cocoapods-plugin > @snyk/cocoapods-lockfile-parser > @snyk/ruby-semver > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
- snyk > @snyk/snyk-cocoapods-plugin > @snyk/cocoapods-lockfile-parser > @snyk/dep-graph > graphlib > lodash:
|
||||
patched: '2020-05-01T00:35:43.233Z'
|
||||
@@ -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.
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
# 1. Generate licenses
|
||||
|
||||
FROM node:18.16-alpine3.17 AS builder
|
||||
FROM node:16.13-alpine3.14 AS builder
|
||||
WORKDIR /usr/src/alfresco
|
||||
COPY package.json package.json
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -0,0 +1,11 @@
|
||||
# Prerequisites for building and running apps with the Alfresco Application Development Framework
|
||||
|
||||
See our tutorial
|
||||
[Creating your first ADF Application](docs/tutorials/creating-your-first-adf-application.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.
|
||||
|
||||
@@ -1,29 +1,34 @@
|
||||
# Alfresco Application Development Framework (ADF)
|
||||
|
||||
| branch | status |
|
||||
| --- | --- |
|
||||
| master | [](https://github.com/Alfresco/alfresco-ng2-components/actions/workflows/git-tag.yml) |
|
||||
| develop | [](https://github.com/Alfresco/alfresco-ng2-components/actions/workflows/cron.yml)|
|
||||
|
||||
[](https://www.codacy.com/app/Alfresco/alfresco-ng2-components?utm_source=github.com&utm_medium=referral&utm_content=Alfresco/alfresco-ng2-components&utm_campaign=badger)
|
||||
[](https://gitter.im/Alfresco/alfresco-ng2-components?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
<p>
|
||||
<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)
|
||||
Before you start using this development framework, make sure you have installed all required software and done all the necessary configuration. see the prerequisites section in [creating your first ADF Application](./docs/tutorials/creating-your-first-adf-application.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.
|
||||
|
||||
Full documentation for all components is available at the
|
||||
[ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
|
||||
|
||||
## Libraries
|
||||
|
||||
@@ -42,18 +47,28 @@ 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.
|
||||
|
||||
## Application generator for Yeoman
|
||||
## Yeoman generators
|
||||
|
||||
To speed up the development, you can use the
|
||||
[Generator for Yeoman](https://github.com/Alfresco/generator-ng2-alfresco-app).
|
||||
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.
|
||||
|
||||
+40
-95
@@ -56,6 +56,11 @@
|
||||
"input": "demo-shell/src/app/components/lazy-loading/i18n",
|
||||
"output": "/resources/lazy-loading/i18n"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "dist/libs/core/lib/prebuilt-themes",
|
||||
"output": ""
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "lib/core/src/lib/assets",
|
||||
@@ -108,7 +113,7 @@
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/monaco-editor",
|
||||
"input": "node_modules/ngx-monaco-editor/assets/monaco",
|
||||
"output": "/assets/monaco/"
|
||||
}
|
||||
],
|
||||
@@ -158,6 +163,7 @@
|
||||
"input": "lib/core/src/lib/styles/prebuilt/adf-purple-green.scss",
|
||||
"bundleName": "adf-purple-green"
|
||||
},
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
@@ -266,7 +272,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx cspell 'demo-shell/**/*.ts'"
|
||||
"command": "$(npm bin)/cspell 'demo-shell/**/*.ts'"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -303,7 +309,7 @@
|
||||
"core": {
|
||||
"projectType": "library",
|
||||
"root": "lib/core",
|
||||
"sourceRoot": "lib/core",
|
||||
"sourceRoot": "lib/core/src",
|
||||
"prefix": "adf",
|
||||
"architect": {
|
||||
"build": {
|
||||
@@ -327,13 +333,12 @@
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "lib/core/test.ts",
|
||||
"main": "lib/core/src/test.ts",
|
||||
"tsConfig": "lib/core/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/core/karma.conf.js",
|
||||
"sourceMap": true,
|
||||
"codeCoverage": true,
|
||||
"styles": [
|
||||
"demo-shell/src/styles.scss"
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css"
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -348,9 +353,7 @@
|
||||
"lib/core/auth/**/*.ts",
|
||||
"lib/core/auth/**/*.html",
|
||||
"lib/core/shell/**/*.ts",
|
||||
"lib/core/shell/**/*.html",
|
||||
"lib/core/breadcrumbs/**/*.ts",
|
||||
"lib/core/breadcrumbs/**/*.html"
|
||||
"lib/core/shell/**/*.html"
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -362,6 +365,7 @@
|
||||
"configDir": "lib/core/.storybook",
|
||||
"compodoc": false,
|
||||
"styles": [
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
@@ -383,6 +387,7 @@
|
||||
"outputDir": "dist/storybook/core",
|
||||
"compodoc": false,
|
||||
"styles": [
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
@@ -401,7 +406,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx cspell 'lib/core/**/*.ts'"
|
||||
"command": "$(npm bin)/cspell 'lib/core/**/*.ts'"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -411,7 +416,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx stylelint lib/core/**/*.scss --config stylelint-config.json"
|
||||
"command": "$(npm bin)/stylelint lib/core/**/*.scss --config stylelint-config.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -421,7 +426,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx license-checker --production --failOn 'GPL;GPL-2.0' > licenses.txt"
|
||||
"command": "$(npm bin)/license-checker --production --failOn 'GPL;GPL-2.0' > licenses.txt"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -431,7 +436,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx webpack -- --config ./lib/config/webpack.style.js --progress --profile --bail"
|
||||
"command": "$(npm bin)/webpack -- --config ./lib/config/webpack.style.js --progress --profile --bail"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -479,8 +484,7 @@
|
||||
"main": "lib/content-services/src/test.ts",
|
||||
"tsConfig": "lib/content-services/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/content-services/karma.conf.js",
|
||||
"sourceMap": true,
|
||||
"codeCoverage": true
|
||||
"sourceMap": true
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
@@ -500,6 +504,7 @@
|
||||
"configDir": "lib/content-services/.storybook",
|
||||
"compodoc": false,
|
||||
"styles": [
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
@@ -521,6 +526,7 @@
|
||||
"outputDir": "dist/storybook/content-services",
|
||||
"compodoc": false,
|
||||
"styles": [
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
@@ -539,7 +545,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx cspell 'lib/content-services/**/*.ts'"
|
||||
"command": "$(npm bin)/cspell 'lib/content-services/**/*.ts'"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -549,7 +555,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx stylelint lib/content-services/**/*.scss --config stylelint-config.json"
|
||||
"command": "$(npm bin)/stylelint lib/content-services/**/*.scss --config stylelint-config.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -597,8 +603,7 @@
|
||||
"main": "lib/process-services/src/test.ts",
|
||||
"tsConfig": "lib/process-services/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/process-services/karma.conf.js",
|
||||
"sourceMap": true,
|
||||
"codeCoverage": true
|
||||
"sourceMap": true
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
@@ -615,7 +620,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx cspell 'lib/process-services/**/*.ts'"
|
||||
"command": "$(npm bin)/cspell 'lib/process-services/**/*.ts'"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -624,7 +629,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx stylelint lib/process-services/**/*.scss --config stylelint-config.json"
|
||||
"command": "$(npm bin)/stylelint lib/process-services/**/*.scss --config stylelint-config.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -635,7 +640,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx stylelint lib/process-services-cloud/**/*.scss --config stylelint-config.json"
|
||||
"command": "$(npm bin)/stylelint lib/process-services-cloud/**/*.scss --config stylelint-config.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -683,8 +688,7 @@
|
||||
"main": "lib/process-services-cloud/src/test.ts",
|
||||
"tsConfig": "lib/process-services-cloud/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/process-services-cloud/karma.conf.js",
|
||||
"sourceMap": true,
|
||||
"codeCoverage": true
|
||||
"sourceMap": true
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
@@ -704,6 +708,7 @@
|
||||
"configDir": "lib/process-services-cloud/.storybook",
|
||||
"compodoc": false,
|
||||
"styles": [
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
@@ -725,6 +730,7 @@
|
||||
"outputDir": "dist/storybook/process-services-cloud",
|
||||
"compodoc": false,
|
||||
"styles": [
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
@@ -744,7 +750,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx playwright test --config='e2e-playwright/playwright.config.ts'"
|
||||
"command": "$(npm bin)/playwright test --config='e2e-playwright/playwright.config.ts'"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -754,7 +760,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx cspell 'lib/process-services-cloud/**/*.ts'"
|
||||
"command": "$(npm bin)/cspell 'lib/process-services-cloud/**/*.ts'"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -764,7 +770,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx stylelint lib/process-services-cloud/**/*.scss --config stylelint-config.json"
|
||||
"command": "$(npm bin)/stylelint lib/process-services-cloud/**/*.scss --config stylelint-config.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -812,8 +818,7 @@
|
||||
"main": "lib/insights/src/test.ts",
|
||||
"tsConfig": "lib/insights/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/insights/karma.conf.js",
|
||||
"sourceMap": true,
|
||||
"codeCoverage": true
|
||||
"sourceMap": true
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
@@ -830,7 +835,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx cspell 'lib/insights/**/*.ts'"
|
||||
"command": "$(npm bin)/cspell 'lib/insights/**/*.ts'"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -840,7 +845,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx stylelint lib/insights/**/*.scss --config stylelint-config.json"
|
||||
"command": "$(npm bin)/stylelint lib/insights/**/*.scss --config stylelint-config.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -887,8 +892,7 @@
|
||||
"main": "lib/extensions/src/test.ts",
|
||||
"tsConfig": "lib/extensions/tsconfig.spec.json",
|
||||
"karmaConfig": "lib/extensions/karma.conf.js",
|
||||
"sourceMap": true,
|
||||
"codeCoverage": true
|
||||
"sourceMap": true
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
@@ -906,7 +910,7 @@
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx cspell 'lib/extensions/**/*.ts'"
|
||||
"command": "$(npm bin)/cspell 'lib/extensions/**/*.ts'"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1015,67 +1019,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"eslint-angular": {
|
||||
"root": "lib/eslint-angular",
|
||||
"sourceRoot": "lib/eslint-angular/src",
|
||||
"projectType": "library",
|
||||
"prefix": "adf",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@nrwl/node:webpack",
|
||||
"options": {
|
||||
"projectRoot": "lib/eslint-angular",
|
||||
"outputPath": "dist/libs/eslint-plugin-eslint-angular",
|
||||
"main": "lib/eslint-angular/index.ts",
|
||||
"generatePackageJson" : true,
|
||||
"tsConfig": "lib/eslint-angular/tsconfig.lib.prod.json"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"projectRoot": "lib/eslint-angular",
|
||||
"outputPath": "dist/libs/eslint-plugin-eslint-angular",
|
||||
"main": "lib/eslint-angular/index.ts",
|
||||
"generatePackageJson" : true,
|
||||
"tsConfig": "lib/eslint-angular/tsconfig.lib.prod.json"
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "production"
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@nrwl/linter:eslint",
|
||||
"options": {
|
||||
"lintFilePatterns": [
|
||||
"lib/eslint-angular/**/*.ts"
|
||||
]
|
||||
}
|
||||
},
|
||||
"bundle": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "echo testing bundle created"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"npm-publish": {
|
||||
"executor": "nx:run-commands",
|
||||
"dependsOn": [
|
||||
"build"
|
||||
],
|
||||
"options": {
|
||||
"cwd": "dist/libs/eslint-plugin-eslint-angular",
|
||||
"commands": [
|
||||
{
|
||||
"command": "npm publish --tag {args.tag}",
|
||||
"forwardAllArgs": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"cli": {
|
||||
"root": "lib/cli",
|
||||
"sourceRoot": "lib/cli",
|
||||
@@ -1164,6 +1107,7 @@
|
||||
"configDir": "lib/stories/.storybook",
|
||||
"compodoc": false,
|
||||
"styles": [
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
@@ -1185,6 +1129,7 @@
|
||||
"outputDir": "dist/storybook/stories",
|
||||
"compodoc": false,
|
||||
"styles": [
|
||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||
"demo-shell/src/styles.scss",
|
||||
"demo-shell/src/custom-style-dev.scss",
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
"activiti",
|
||||
"adhoc",
|
||||
"afts",
|
||||
"appkey",
|
||||
"Arial",
|
||||
"arrowdown",
|
||||
"arrowup",
|
||||
@@ -63,7 +62,6 @@
|
||||
"hardend",
|
||||
"highlightable",
|
||||
"hotfix",
|
||||
"Hyland",
|
||||
"imgpreview",
|
||||
"Inplace",
|
||||
"intitem",
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
path = require('path');
|
||||
module.exports = {
|
||||
extends: '../.eslintrc.js',
|
||||
ignorePatterns: [
|
||||
'!**/*'
|
||||
],
|
||||
overrides: [
|
||||
{
|
||||
files: [
|
||||
'*.ts'
|
||||
],
|
||||
parserOptions: {
|
||||
project: [
|
||||
path.join(__dirname, 'tsconfig.app.json'),
|
||||
path.join(__dirname, 'src/tsconfig.spec.json'),
|
||||
path.join(__dirname, 'e2e/tsconfig.e2e.json')
|
||||
],
|
||||
createDefaultProgram: true
|
||||
},
|
||||
plugins: [
|
||||
'eslint-plugin-unicorn',
|
||||
'eslint-plugin-rxjs'
|
||||
],
|
||||
rules: {
|
||||
'@angular-eslint/component-selector': [
|
||||
'error',
|
||||
{
|
||||
type: 'element',
|
||||
prefix: [
|
||||
'adf',
|
||||
'app'
|
||||
],
|
||||
style: 'kebab-case'
|
||||
}
|
||||
],
|
||||
'@angular-eslint/directive-selector': [
|
||||
'error',
|
||||
{
|
||||
type: [
|
||||
'element',
|
||||
'attribute'
|
||||
],
|
||||
prefix: [
|
||||
'adf',
|
||||
'app'
|
||||
],
|
||||
style: 'kebab-case'
|
||||
}
|
||||
],
|
||||
'@angular-eslint/no-host-metadata-property': 'off',
|
||||
'@angular-eslint/no-input-prefix': 'error',
|
||||
'@typescript-eslint/consistent-type-definitions': 'error',
|
||||
'@typescript-eslint/dot-notation': 'off',
|
||||
'@typescript-eslint/explicit-member-accessibility': [
|
||||
'off',
|
||||
{
|
||||
accessibility: 'explicit'
|
||||
}
|
||||
],
|
||||
'@typescript-eslint/no-inferrable-types': 'off',
|
||||
'@typescript-eslint/no-require-imports': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'error',
|
||||
'brace-style': [
|
||||
'error',
|
||||
'1tbs'
|
||||
],
|
||||
'comma-dangle': 'error',
|
||||
'default-case': 'error',
|
||||
'import/order': 'off',
|
||||
'max-len': [
|
||||
'error',
|
||||
{
|
||||
code: 240
|
||||
}
|
||||
],
|
||||
'no-bitwise': 'off',
|
||||
'no-duplicate-imports': 'error',
|
||||
'no-multiple-empty-lines': 'error',
|
||||
'no-redeclare': 'error',
|
||||
'no-return-await': 'error',
|
||||
'rxjs/no-create': 'error',
|
||||
'rxjs/no-subject-unsubscribe': 'error',
|
||||
'rxjs/no-subject-value': 'error',
|
||||
'rxjs/no-unsafe-takeuntil': 'error',
|
||||
'unicorn/filename-case': 'error'
|
||||
}
|
||||
},
|
||||
{
|
||||
files: [
|
||||
'*.html'
|
||||
],
|
||||
rules: {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"extends": "../.eslintrc.json",
|
||||
"ignorePatterns": [
|
||||
"!**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts"
|
||||
],
|
||||
"parserOptions": {
|
||||
"project": [
|
||||
"demo-shell/tsconfig.app.json",
|
||||
"demo-shell/src/tsconfig.spec.json",
|
||||
"demo-shell/e2e/tsconfig.e2e.json"
|
||||
],
|
||||
"createDefaultProgram": true
|
||||
},
|
||||
"plugins": [
|
||||
"eslint-plugin-unicorn",
|
||||
"eslint-plugin-rxjs"
|
||||
],
|
||||
"rules": {
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
"type": "element",
|
||||
"prefix": [
|
||||
"adf",
|
||||
"app"
|
||||
],
|
||||
"style": "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/directive-selector": [
|
||||
"error",
|
||||
{
|
||||
"type": [
|
||||
"element",
|
||||
"attribute"
|
||||
],
|
||||
"prefix": [
|
||||
"adf",
|
||||
"app"
|
||||
],
|
||||
"style": "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/no-host-metadata-property": "off",
|
||||
"@angular-eslint/no-input-prefix": "error",
|
||||
"@typescript-eslint/consistent-type-definitions": "error",
|
||||
"@typescript-eslint/dot-notation": "off",
|
||||
"@typescript-eslint/explicit-member-accessibility": [
|
||||
"off",
|
||||
{
|
||||
"accessibility": "explicit"
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-inferrable-types": "off",
|
||||
"@typescript-eslint/no-require-imports": "off",
|
||||
"@typescript-eslint/no-var-requires": "error",
|
||||
"brace-style": [
|
||||
"error",
|
||||
"1tbs"
|
||||
],
|
||||
"comma-dangle": "error",
|
||||
"default-case": "error",
|
||||
"import/order": "off",
|
||||
"max-len": [
|
||||
"error",
|
||||
{
|
||||
"code": 240
|
||||
}
|
||||
],
|
||||
"no-bitwise": "off",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"rxjs/no-create": "error",
|
||||
"rxjs/no-subject-unsubscribe": "error",
|
||||
"rxjs/no-subject-value": "error",
|
||||
"rxjs/no-unsafe-takeuntil": "error",
|
||||
"unicorn/filename-case": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.html"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "Alfresco-ADF-Angular-Demo",
|
||||
"description": "Demo shell for Alfresco Angular components",
|
||||
"version": "6.2.0",
|
||||
"author": "Hyland Software, Inc. and its affiliates",
|
||||
"version": "6.0.0-A.3",
|
||||
"author": "Alfresco Software, Ltd.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Alfresco/alfresco-ng2-components.git"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "نوع المصادقة",
|
||||
"BASIC": "مصادقة أساسية",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "تدفق ضمني",
|
||||
"PROVIDER": "موفر",
|
||||
"REQUIRED": "هذا الحقل مطلوب",
|
||||
"CS_URL_ERROR": "لا يتطابق عنوان Content Services مع تنسيق URL",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "استخدم نموذج مخصص للرأس 'المستخدم'",
|
||||
"CUSTOM_COLUMN_HEADER": "قالب رأس المستخدم المخصص"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "لم يتم تحديد تقرير. اختر تقريرًا من القائمة"
|
||||
},
|
||||
"PS-TAB": {
|
||||
"TASKS-TAB": "المهام",
|
||||
"PROCESSES-TAB": "العملية",
|
||||
"REPORTS-TAB": "تقارير",
|
||||
"SETTINGS-TAB": "إعدادات",
|
||||
"START-TASK": "بدء مهمة",
|
||||
"START-PROCESS": "بدء العملية",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "افتراضي",
|
||||
"OPEN_DIALOG": "فتح الحوار",
|
||||
"SHOW_LIST_LABEL": "انقر لعرض القائمة"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Typ ověřování",
|
||||
"BASIC": "Základní ověřování",
|
||||
"SSO": "Jednotné přihlášení",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Implicitní tok",
|
||||
"PROVIDER": "Poskytovatel",
|
||||
"REQUIRED": "Toto pole je povinné",
|
||||
"CS_URL_ERROR": "Adresa Content Services neodpovídá formátu adresy URL",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Použít vlastní šablonu pro záhlaví ,Uživatel‘",
|
||||
"CUSTOM_COLUMN_HEADER": "Vlastní šablona záhlaví Uživatel"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Výchozí",
|
||||
"OPEN_DIALOG": "Otevřít dialogové okno",
|
||||
"SHOW_LIST_LABEL": "Na seznam pro zobrazení klikněte"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Godkendelsestype",
|
||||
"BASIC": "Grundlæggende godkendelse",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Implicit flow",
|
||||
"PROVIDER": "Udbyder",
|
||||
"REQUIRED": "Dette felt er påkrævet",
|
||||
"CS_URL_ERROR": "Content Services-adressen matcher ikke URL-formatet",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Brug tilpasset skabelon til overskrift 'Bruger'",
|
||||
"CUSTOM_COLUMN_HEADER": "Tilpasset brugeroverskriftskabelon"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Standard",
|
||||
"OPEN_DIALOG": "Åbn dialog",
|
||||
"SHOW_LIST_LABEL": "Klik for at vise listen"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Authentifizierungstyp",
|
||||
"BASIC": "Basisauthentifizierung",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Impliziter Fluss",
|
||||
"PROVIDER": "Provider",
|
||||
"REQUIRED": "Dieses Feld ist erforderlich",
|
||||
"CS_URL_ERROR": "Content Services-Adresse nicht im richtigen URL-Format",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Benutzerdefinierte Vorlage für 'Benutzer'-Kopfzeile verwenden",
|
||||
"CUSTOM_COLUMN_HEADER": "Benutzerdefinierte Vorlage für Benutzer-Kopfzeile"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Standard",
|
||||
"OPEN_DIALOG": "Dialog öffnen",
|
||||
"SHOW_LIST_LABEL": "Klicken Sie, um die Liste anzuzeigen"
|
||||
}
|
||||
}
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Use custom template for 'User' header",
|
||||
"CUSTOM_COLUMN_HEADER": "Custom User Header Template"
|
||||
},
|
||||
"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",
|
||||
|
||||
@@ -1,28 +1,5 @@
|
||||
{
|
||||
"APP": {
|
||||
"HOST_SETTINGS": {
|
||||
"TYPE-AUTH": "Tipo de autenticación",
|
||||
"BASIC": "Autenticación básica",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"PROVIDER": "Proveedor",
|
||||
"REQUIRED": "Este campo es obligatorio",
|
||||
"CS_URL_ERROR": "La dirección de Content Services no coincide con el formato de la URL",
|
||||
"PS_URL_ERROR": "La dirección de Process Services no coincide con el formato de la URL",
|
||||
"TITLE": "Configuración",
|
||||
"CS-HOST": "URL de Content Services",
|
||||
"BP-HOST": "URL de Process Services",
|
||||
"BACK": "Volver",
|
||||
"APPLY": "Aplicar",
|
||||
"NOT_VALID": "http(s)://host|ip:port(/path) no reconocido; pruebe con una URL diferente.",
|
||||
"REDIRECT": "URI de redireccionamiento",
|
||||
"REDIRECT_LOGOUT": "Cierre de sesión de URI de redireccionamiento",
|
||||
"SILENT": "Inicio de sesión silencioso",
|
||||
"SCOPE": "Ámbito",
|
||||
"CLIENT": "ID de cliente",
|
||||
"PUBLIC_URLS": "URL públicas para inicio de sesión silencioso",
|
||||
"SECRET": "Secreto"
|
||||
},
|
||||
"ABOUT": {
|
||||
"DEVELOPMENT": "Modo Dev"
|
||||
},
|
||||
@@ -107,7 +84,7 @@
|
||||
"UPLOADER": "Cargador",
|
||||
"WEBSCRIPT": "Webscript",
|
||||
"TAG": "Etiqueta",
|
||||
"PIPES": "Pipes",
|
||||
"PIPES": "Tubos",
|
||||
"TRASHCAN": "Papelera",
|
||||
"SOCIAL": "Social",
|
||||
"SETTINGS": "Configuración",
|
||||
@@ -167,7 +144,7 @@
|
||||
"TITLE": "Ficheros recientes"
|
||||
},
|
||||
"COLUMNS": {
|
||||
"DISPLAY_NAME": "Mostrar nombre",
|
||||
"DISPLAY_NAME": "Nombre a mostrar",
|
||||
"IS_LOCKED": "Bloquear",
|
||||
"TAG": "Etiqueta",
|
||||
"NODE_ID": "ID de nodo",
|
||||
@@ -224,9 +201,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Utilizar una plantilla personalizada para el encabezado 'Usuario'",
|
||||
"CUSTOM_COLUMN_HEADER": "Plantilla de encabezado de usuario personalizado"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +366,4 @@
|
||||
"DEFAULT_SEARCH": "Predeterminado",
|
||||
"OPEN_DIALOG": "Abrir cuadro de diálogo",
|
||||
"SHOW_LIST_LABEL": "Hacer clic para mostrar la lista"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Todennustyyppi",
|
||||
"BASIC": "Perustodennus",
|
||||
"SSO": "Kertakirjautuminen",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Epäsuora kulku",
|
||||
"PROVIDER": "Palvelu",
|
||||
"REQUIRED": "Tämä kenttä on pakollinen",
|
||||
"CS_URL_ERROR": "Content Services -osoite ei täsmää URL-muodon kanssa",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Käytä mukautettua mallia \"Käyttäjä\"-otsikolle",
|
||||
"CUSTOM_COLUMN_HEADER": "Mukautettu käyttäjäotsikon malli"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Oletus",
|
||||
"OPEN_DIALOG": "Avaa valintaikkuna",
|
||||
"SHOW_LIST_LABEL": "Näytä luettelo napsauttamalla"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Type d'authentification",
|
||||
"BASIC": "Authentification de base",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Flux implicite",
|
||||
"PROVIDER": "Fournisseur",
|
||||
"REQUIRED": "Ce champ est obligatoire",
|
||||
"CS_URL_ERROR": "L'adresse Content Services ne correspond pas au format d'URL",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Utiliser un modèle personnalisé pour l'en-tête 'Utilisateur'",
|
||||
"CUSTOM_COLUMN_HEADER": "Modèle d'en-tête Utilisateur personnalisé"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Par défaut",
|
||||
"OPEN_DIALOG": "Boîte de dialogue Ouvrir",
|
||||
"SHOW_LIST_LABEL": "Cliquer pour afficher la liste"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Tipo di autenticazione",
|
||||
"BASIC": "Autenticazione di base",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Flusso implicito",
|
||||
"PROVIDER": "Fornitore",
|
||||
"REQUIRED": "Questo campo è obbligatorio",
|
||||
"CS_URL_ERROR": "L'indirizzo Content Services non corrisponde al formato dell'URL",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Usa il modello personalizzato per l'intestazione \"Utente\"",
|
||||
"CUSTOM_COLUMN_HEADER": "Modello personalizzato per intestazione Utente"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Predefinito",
|
||||
"OPEN_DIALOG": "Apri finestra di dialogo",
|
||||
"SHOW_LIST_LABEL": "Fai clic per mostrare l'elenco"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "認証タイプ",
|
||||
"BASIC": "基本認証",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "暗黙的フロー",
|
||||
"PROVIDER": "プロバイダ",
|
||||
"REQUIRED": "このフィールドは必須です",
|
||||
"CS_URL_ERROR": "Content Services のアドレスが URL 形式と一致しません",
|
||||
@@ -189,7 +189,7 @@
|
||||
"SHARE": "共有",
|
||||
"THEME": "テーマを選択してください",
|
||||
"SHOW_VERSION": "バージョンを表示する",
|
||||
"HIDE_VERSION": "バージョンの非表示",
|
||||
"HIDE_VERSION": "バージョンを隠す",
|
||||
"LISTVIEW": "一覧表示モード",
|
||||
"CREATE_LIBRARY": "ライブラリの作成"
|
||||
},
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "「ユーザー」ヘッダーにカスタムテンプレートを使用",
|
||||
"CUSTOM_COLUMN_HEADER": "カスタムユーザーヘッダーテンプレート"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "レポートが選択されていません。リストからレポートを選択してください。"
|
||||
},
|
||||
"PS-TAB": {
|
||||
"TASKS-TAB": "タスク",
|
||||
"PROCESSES-TAB": "プロセス",
|
||||
"REPORTS-TAB": "レポート",
|
||||
"SETTINGS-TAB": "設定",
|
||||
"START-TASK": "タスクの開始",
|
||||
"START-PROCESS": "プロセスの開始",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "デフォルト",
|
||||
"OPEN_DIALOG": "ダイアログを開く",
|
||||
"SHOW_LIST_LABEL": "クリックしてリストを表示"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Godkjenningstype",
|
||||
"BASIC": "Grunnleggende godkjenning",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Implisitt flyt",
|
||||
"PROVIDER": "Leverandør",
|
||||
"REQUIRED": "Dette feltet er påkrevd",
|
||||
"CS_URL_ERROR": "Adressen til innholdstjenesten stemmer ikke med URL-formatet",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Bruk egendefinert mal for toppteksten 'bruker'",
|
||||
"CUSTOM_COLUMN_HEADER": "Egendefinert topptekst for bruker"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Standard",
|
||||
"OPEN_DIALOG": "Åpne dialog",
|
||||
"SHOW_LIST_LABEL": "Klikk for å vise listen"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Verificatietype",
|
||||
"BASIC": "Basisverificatie",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Impliciete stroom",
|
||||
"PROVIDER": "Provider",
|
||||
"REQUIRED": "Dit veld is vereist",
|
||||
"CS_URL_ERROR": "Content Services-adres komt niet overeen met de URL-indeling",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Aangepaste sjabloon voor 'User'-koptekst gebruiken",
|
||||
"CUSTOM_COLUMN_HEADER": "Aangepaste sjabloon voor User-koptekst"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Standaard",
|
||||
"OPEN_DIALOG": "Dialoogvenster Openen",
|
||||
"SHOW_LIST_LABEL": "Klik om de lijst weer te geven"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Typ uwierzytelnienia",
|
||||
"BASIC": "Uwierzytelnienie podstawowe",
|
||||
"SSO": "Logowanie jednokrotne",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Niejawny przepływ",
|
||||
"PROVIDER": "Dostawca",
|
||||
"REQUIRED": "To pole jest wymagane.",
|
||||
"CS_URL_ERROR": "Adres usług Content Services jest niezgodny z formatem adresu URL.",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Użyj szablonu niestandardowego dla nagłówka 'Użytkownik'",
|
||||
"CUSTOM_COLUMN_HEADER": "Szablon niestandardowy nagłówka Użytkownik"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Domyślne",
|
||||
"OPEN_DIALOG": "Otwórz okno dialogowe",
|
||||
"SHOW_LIST_LABEL": "Kliknij, aby wyświetlić listę"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Tipo de autenticação",
|
||||
"BASIC": "Autenticação básica",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Fluxo implícito",
|
||||
"PROVIDER": "Provedor",
|
||||
"REQUIRED": "Este campo é obrigatório",
|
||||
"CS_URL_ERROR": "O endereço do Content Services não corresponde ao formato de URL",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Usar modelo personalizado para o cabeçalho 'Usuário'",
|
||||
"CUSTOM_COLUMN_HEADER": "Modelo personalizado do cabeçalho Usuário"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Padrão",
|
||||
"OPEN_DIALOG": "Abrir caixa de diálogo",
|
||||
"SHOW_LIST_LABEL": "Clique para mostrar a lista"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Тип авторизации",
|
||||
"BASIC": "Базовая авторизация",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Неявный поток",
|
||||
"PROVIDER": "Поставщик",
|
||||
"REQUIRED": "Поле обязательно для заполнения",
|
||||
"CS_URL_ERROR": "Адрес Content Services не соответствует формату URL",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Использовать пользовательский шаблон для заголовка «Пользователь»",
|
||||
"CUSTOM_COLUMN_HEADER": "Пользовательский шаблон заголовка пользователя"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "Отчет не выбран. Выберите отчет из списка"
|
||||
},
|
||||
"PS-TAB": {
|
||||
"TASKS-TAB": "Задачи",
|
||||
"PROCESSES-TAB": "Процесс",
|
||||
"REPORTS-TAB": "Отчеты",
|
||||
"SETTINGS-TAB": "Параметры",
|
||||
"START-TASK": "Начать задачу",
|
||||
"START-PROCESS": "Начать процесс",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "По умолчанию",
|
||||
"OPEN_DIALOG": "Открыть диалог",
|
||||
"SHOW_LIST_LABEL": "Нажмите для отображения списка"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "Autentiseringstyp",
|
||||
"BASIC": "Grundläggande autentisering",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "Implicit flöde",
|
||||
"PROVIDER": "Leverantör",
|
||||
"REQUIRED": "Detta fält krävs",
|
||||
"CS_URL_ERROR": "Content Services-adressen matchar inte URL-formatet",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "Använd anpassad mall för \"Användare\"-rubrik",
|
||||
"CUSTOM_COLUMN_HEADER": "Anpassad användarhuvudmall"
|
||||
},
|
||||
"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",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "Standard",
|
||||
"OPEN_DIALOG": "Öppna dialogruta",
|
||||
"SHOW_LIST_LABEL": "Klicka för att visa listan"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"TYPE-AUTH": "身份验证类型",
|
||||
"BASIC": "基本身份验证",
|
||||
"SSO": "SSO",
|
||||
"IMPLICIT-FLOW": "Implicit Flow",
|
||||
"IMPLICIT-FLOW": "隐式流",
|
||||
"PROVIDER": "提供程序",
|
||||
"REQUIRED": "此字段为必填字段",
|
||||
"CS_URL_ERROR": "Content Services 地址与 URL 格式不匹配",
|
||||
@@ -187,7 +187,7 @@
|
||||
"DELETE": "删除",
|
||||
"FAVORITES": "添加到收藏夹",
|
||||
"SHARE": "共享",
|
||||
"THEME": "选择一个主题",
|
||||
"THEME": "选择主题",
|
||||
"SHOW_VERSION": "显示版本",
|
||||
"HIDE_VERSION": "隐藏版本",
|
||||
"LISTVIEW": "列表视图模式",
|
||||
@@ -224,9 +224,13 @@
|
||||
"USE_CUSTOM_COLUMN_HEADER": "为“用户”标题使用自定义模板",
|
||||
"CUSTOM_COLUMN_HEADER": "自定义用户标题模板"
|
||||
},
|
||||
"ANALYTICS_REPORT": {
|
||||
"NO_REPORT_MESSAGE": "未选择报告,请从列表中选择报告"
|
||||
},
|
||||
"PS-TAB": {
|
||||
"TASKS-TAB": "任务",
|
||||
"PROCESSES-TAB": "流程",
|
||||
"REPORTS-TAB": "报告",
|
||||
"SETTINGS-TAB": "设置",
|
||||
"START-TASK": "启动任务",
|
||||
"START-PROCESS": "启动流程",
|
||||
@@ -385,4 +389,4 @@
|
||||
"DEFAULT_SEARCH": "默认值",
|
||||
"OPEN_DIALOG": "打开对话框",
|
||||
"SHOW_LIST_LABEL": "单击以显示列表"
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@
|
||||
"application": {
|
||||
"storagePrefix": "ADF",
|
||||
"name": "Alfresco ADF Application",
|
||||
"copyright": "© 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved."
|
||||
"copyright": "© 2016 - 2021 Alfresco Software, Inc. All Rights Reserved."
|
||||
},
|
||||
"notifications": true,
|
||||
"search": [{
|
||||
@@ -322,23 +322,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "createdModifiedDateRange",
|
||||
"name": "Date",
|
||||
"enabled": true,
|
||||
"component": {
|
||||
"selector": "date-range-advanced",
|
||||
"settings": {
|
||||
"dateFormat": "dd-MMM-yy",
|
||||
"maxDate": "today",
|
||||
"field": "cm:created, cm:modified",
|
||||
"displayedLabelsByField": {
|
||||
"cm:created": "Created Date",
|
||||
"cm:modified": "Modified Date"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "queryType",
|
||||
"name": "Type",
|
||||
@@ -1450,16 +1433,13 @@
|
||||
],
|
||||
"alfresco-deployed-apps": [
|
||||
{
|
||||
"name": "candidatebaseapp",
|
||||
"displayName": "candidatebaseapp"
|
||||
"name": "candidatebaseapp"
|
||||
},
|
||||
{
|
||||
"name": "simpleapp",
|
||||
"displayName": "simpleapp"
|
||||
"name": "simpleapp"
|
||||
},
|
||||
{
|
||||
"name": "subprocessapp",
|
||||
"displayName": "subprocessapp"
|
||||
"name": "subprocessapp"
|
||||
}
|
||||
],
|
||||
"aspect-visible": {
|
||||
@@ -1496,13 +1476,5 @@
|
||||
"ai:labels",
|
||||
"ai:textLines"
|
||||
]
|
||||
},
|
||||
"viewer": {
|
||||
"enableDownloadPrompt": false,
|
||||
"enableDownloadPromptReminder": false,
|
||||
"downloadPromptDelay": 50,
|
||||
"downloadPromptReminderDelay": 30,
|
||||
"enableFileAutoDownload": true,
|
||||
"fileAutoDownloadSizeThresholdInMB": 15
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -18,17 +18,18 @@
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { NgChartsModule } from 'ng2-charts';
|
||||
import { FlexLayoutModule } from '@angular/flex-layout';
|
||||
import { ChartsModule } from 'ng2-charts';
|
||||
import { HttpClientModule } from '@angular/common/http';
|
||||
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import {
|
||||
AppConfigService,
|
||||
TRANSLATION_PROVIDER,
|
||||
DebugAppConfigService,
|
||||
CoreModule,
|
||||
CoreAutomationService,
|
||||
AuthModule,
|
||||
provideTranslations
|
||||
AuthModule
|
||||
} from '@alfresco/adf-core';
|
||||
import { ExtensionsModule } from '@alfresco/adf-extensions';
|
||||
import { AppComponent } from './app.component';
|
||||
@@ -59,7 +60,7 @@ import { TaskAttachmentsComponent } from './components/process-service/task-atta
|
||||
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 { MonacoEditorModule } from 'ngx-monaco-editor-v2';
|
||||
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';
|
||||
@@ -143,6 +144,7 @@ registerLocaleData(localeSv);
|
||||
FormsModule,
|
||||
HttpClientModule,
|
||||
MaterialModule,
|
||||
FlexLayoutModule,
|
||||
TranslateModule.forRoot(),
|
||||
CoreModule.forRoot(),
|
||||
ContentModule.forRoot(),
|
||||
@@ -151,7 +153,7 @@ registerLocaleData(localeSv);
|
||||
ProcessServicesCloudModule.forRoot(),
|
||||
ExtensionsModule.forRoot(),
|
||||
ThemePickerModule,
|
||||
NgChartsModule,
|
||||
ChartsModule,
|
||||
AppCloudSharedModule,
|
||||
MonacoEditorModule.forRoot()
|
||||
],
|
||||
@@ -211,8 +213,22 @@ registerLocaleData(localeSv);
|
||||
],
|
||||
providers: [
|
||||
{ provide: AppConfigService, useClass: DebugAppConfigService }, // not use this service in production
|
||||
provideTranslations('app', 'resources'),
|
||||
provideTranslations('lazy-loading', 'resources/lazy-loading'),
|
||||
{
|
||||
provide: TRANSLATION_PROVIDER,
|
||||
multi: true,
|
||||
useValue: {
|
||||
name: 'app',
|
||||
source: 'resources'
|
||||
}
|
||||
},
|
||||
{
|
||||
provide: TRANSLATION_PROVIDER,
|
||||
multi: true,
|
||||
useValue: {
|
||||
name: 'lazy-loading',
|
||||
source: 'resources/lazy-loading'
|
||||
}
|
||||
},
|
||||
AppNotificationsService,
|
||||
{
|
||||
provide: APP_INITIALIZER,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { AppExtensionService, ExtensionRef } from '@alfresco/adf-extensions';
|
||||
import { AuthenticationService, BpmProductVersionModel, RepositoryInfo } from '@alfresco/adf-core';
|
||||
import { DiscoveryApiService } from '@alfresco/adf-content-services';
|
||||
import { AuthenticationService, BpmProductVersionModel, DiscoveryApiService, RepositoryInfo } from '@alfresco/adf-core';
|
||||
import pkg from '../../../../../package.json';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
@@ -35,32 +34,32 @@ export class AboutComponent implements OnInit {
|
||||
bpmVersion: BpmProductVersionModel = null;
|
||||
|
||||
constructor(
|
||||
private authenticationService: AuthenticationService,
|
||||
private appExtensionService: AppExtensionService,
|
||||
private discoveryApiService: DiscoveryApiService
|
||||
private authService: AuthenticationService,
|
||||
private appExtensions: AppExtensionService,
|
||||
private discovery: DiscoveryApiService
|
||||
) {
|
||||
this.pkg = pkg;
|
||||
this.extensions$ = this.appExtensionService.references$;
|
||||
this.extensions$ = this.appExtensions.references$;
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.authenticationService.isEcmLoggedIn()) {
|
||||
if (this.authService.isEcmLoggedIn()) {
|
||||
this.setECMInfo();
|
||||
}
|
||||
|
||||
if (this.authenticationService.isBpmLoggedIn()) {
|
||||
if (this.authService.isBpmLoggedIn()) {
|
||||
this.setBPMInfo();
|
||||
}
|
||||
}
|
||||
|
||||
setECMInfo() {
|
||||
this.discoveryApiService.getEcmProductInfo().subscribe((repository) => {
|
||||
this.discovery.getEcmProductInfo().subscribe((repository) => {
|
||||
this.repository = repository as RepositoryInfo;
|
||||
});
|
||||
}
|
||||
|
||||
setBPMInfo() {
|
||||
this.discoveryApiService.getBpmProductInfo().subscribe((bpmVersion) => {
|
||||
this.discovery.getBpmProductInfo().subscribe((bpmVersion) => {
|
||||
this.bpmVersion = bpmVersion;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="app-layout-menu-spacer"></div>
|
||||
|
||||
<app-search-bar></app-search-bar>
|
||||
<app-search-bar fxFlex="0 1 auto"></app-search-bar>
|
||||
|
||||
<div class="app-header-delimiexpandedSidenavter"></div>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -138,7 +138,7 @@ export class AppLayoutComponent implements OnInit, OnDestroy {
|
||||
this.headerService.headerTextColor
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(headerTextColor => {
|
||||
document.documentElement.style.setProperty('--theme-header-text-color', headerTextColor);
|
||||
document.documentElement.style.setProperty('--theme-primary-color-default-contrast', headerTextColor);
|
||||
});
|
||||
|
||||
this.headerService.logo
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -15,9 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { EcmUserModel, PeopleContentService } from '@alfresco/adf-content-services';
|
||||
import { BpmUserModel, PeopleProcessService } from '@alfresco/adf-process-services';
|
||||
import { AuthenticationService, IdentityUserModel, IdentityUserService, UserInfoMode } from '@alfresco/adf-core';
|
||||
import { AuthenticationService, BpmUserModel, BpmUserService, EcmUserModel, IdentityUserModel, IdentityUserService, PeopleContentService, UserInfoMode } from '@alfresco/adf-core';
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { MenuPositionX, MenuPositionY } from '@angular/material/menu';
|
||||
import { Observable, of } from 'rxjs';
|
||||
@@ -44,7 +42,7 @@ export class UserInfoComponent implements OnInit {
|
||||
userInfoMode = UserInfoMode;
|
||||
|
||||
constructor(private peopleContentService: PeopleContentService,
|
||||
private peopleProcessService: PeopleProcessService,
|
||||
private bpmUserService: BpmUserService,
|
||||
private identityUserService: IdentityUserService,
|
||||
private authService: AuthenticationService) {
|
||||
}
|
||||
@@ -88,7 +86,7 @@ export class UserInfoComponent implements OnInit {
|
||||
}
|
||||
|
||||
private loadBpmUserInfo() {
|
||||
this.bpmUser$ = this.peopleProcessService.getCurrentUserInfo();
|
||||
this.bpmUser$ = this.bpmUserService.getCurrentUserInfo();
|
||||
}
|
||||
|
||||
private loadIdentityUserInfo() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -58,25 +58,28 @@
|
||||
</small>
|
||||
|
||||
<adf-toolbar class="app-full-content-toolbar">
|
||||
<adf-toolbar-title>
|
||||
<adf-toolbar-title fxFlex="0 1 auto">
|
||||
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
|
||||
</adf-breadcrumb>
|
||||
</adf-toolbar-title>
|
||||
<adf-toolbar-divider></adf-toolbar-divider>
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.NEW_FOLDER_LABEL' | translate">
|
||||
<mat-icon>create_new_folder</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.EDIT_NODE_LABEL' | translate">
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.DELETE_NODE_LABEL' | translate">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider>
|
||||
<div fxFlex="0 0 auto">
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.NEW_FOLDER_LABEL' | translate">
|
||||
<mat-icon>create_new_folder</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.EDIT_NODE_LABEL' | translate">
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.DELETE_NODE_LABEL' | translate">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</adf-toolbar>
|
||||
|
||||
<h2>6. Dropdown Breadcrumb</h2>
|
||||
|
||||
<adf-dropdown-breadcrumb class="app-files-breadcrumb"
|
||||
<adf-dropdown-breadcrumb fxHide fxShow.lt-sm="true"
|
||||
class="app-files-breadcrumb"
|
||||
[target]="documentList">
|
||||
</adf-dropdown-breadcrumb>
|
||||
|
||||
|
||||
@@ -1,21 +1,13 @@
|
||||
app-breadcrumb-demo {
|
||||
.app-breadcrumb-container-restricted {
|
||||
width: 800px;
|
||||
max-width: 800px;
|
||||
border: 1px solid lightgray;
|
||||
}
|
||||
.app-breadcrumb-container-restricted {
|
||||
width: 800px;
|
||||
max-width: 800px;
|
||||
border: 1px solid lightgray;
|
||||
}
|
||||
|
||||
.app-content {
|
||||
margin: 10px 0;
|
||||
}
|
||||
.app-content {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.app-full-content-toolbar .app-toolbar-title .app-breadcrumb {
|
||||
width: 0;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 600px) {
|
||||
.app-files-breadcrumb {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.app-full-content-toolbar .app-toolbar-title .app-breadcrumb {
|
||||
width: 0;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -15,13 +15,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-breadcrumb-demo',
|
||||
templateUrl: './breadcrumb-demo.component.html',
|
||||
styleUrls: [`./breadcrumb-demo.component.scss`],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
styleUrls: [`./breadcrumb-demo.component.scss`]
|
||||
})
|
||||
export class BreadcrumbDemoComponent {
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
<adf-toolbar>
|
||||
<div class="app-crumb">{{appName + ' >'}} </div>
|
||||
<div class="app-filter-crumb"> {{filterName | translate}}</div>
|
||||
<div fxLayout="column" fxLayoutAlign="center">
|
||||
<div fxLayout="row">
|
||||
<div class="app-crumb">{{appName + ' >'}} </div>
|
||||
<div class="app-filter-crumb"> {{filterName | translate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</adf-toolbar>
|
||||
|
||||
@@ -1,14 +1,8 @@
|
||||
app-cloud-breadcrumbs {
|
||||
.app-app-crumb {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.app-app-crumb {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.app-filter-crumb {
|
||||
opacity: 0.8;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
adf-toolbar {
|
||||
display: flex;
|
||||
}
|
||||
.app-filter-crumb {
|
||||
opacity: 0.8;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -15,14 +15,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-cloud-breadcrumbs',
|
||||
templateUrl: './cloud-breadcrumb-component.html',
|
||||
styleUrls: ['./cloud-breadcrumb-component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
styleUrls: ['./cloud-breadcrumb-component.scss']
|
||||
})
|
||||
export class CloudBreadcrumbsComponent implements OnInit {
|
||||
appName: string;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,37 +1,39 @@
|
||||
<mat-tab-group class="app-cloud-layout-tab-body">
|
||||
<mat-tab-group fxFill class="app-cloud-layout-tab-body">
|
||||
<mat-tab label="{{'PS_CLOUD_TAB.APPS_TAB' | translate}}">
|
||||
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
|
||||
<adf-sidenav-layout-header>
|
||||
<ng-template>
|
||||
<app-cloud-breadcrumbs></app-cloud-breadcrumbs>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-header>
|
||||
<adf-sidenav-layout-navigation>
|
||||
<ng-template>
|
||||
<adf-sidebar-action-menu [expanded]="true" [width]="205" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
|
||||
<mat-icon adf-sidebar-menu-title-icon>arrow_drop_down</mat-icon>
|
||||
<div adf-sidebar-menu-options>
|
||||
<button mat-menu-item data-automation-id="btn-start-task" (click)="onStartTask()">
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_TASK' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div adf-sidebar-menu-options>
|
||||
<button mat-menu-item data-automation-id="btn-start-process" (click)="onStartProcess()">
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_PROCESS' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</adf-sidebar-action-menu>
|
||||
<app-cloud-filters-demo [appName]="appName"></app-cloud-filters-demo>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-navigation>
|
||||
<adf-sidenav-layout-content>
|
||||
<ng-template>
|
||||
<router-outlet></router-outlet>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-content>
|
||||
</adf-sidenav-layout>
|
||||
<div fxFill fxLayout>
|
||||
<adf-sidenav-layout fxFlex [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
|
||||
<adf-sidenav-layout-header>
|
||||
<ng-template>
|
||||
<app-cloud-breadcrumbs></app-cloud-breadcrumbs>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-header>
|
||||
<adf-sidenav-layout-navigation>
|
||||
<ng-template>
|
||||
<adf-sidebar-action-menu [expanded]="true" [width]="205" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
|
||||
<mat-icon adf-sidebar-menu-title-icon>arrow_drop_down</mat-icon>
|
||||
<div adf-sidebar-menu-options>
|
||||
<button mat-menu-item data-automation-id="btn-start-task" (click)="onStartTask()">
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_TASK' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div adf-sidebar-menu-options>
|
||||
<button mat-menu-item data-automation-id="btn-start-process" (click)="onStartProcess()">
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_PROCESS' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</adf-sidebar-action-menu>
|
||||
<app-cloud-filters-demo [appName]="appName"></app-cloud-filters-demo>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-navigation>
|
||||
<adf-sidenav-layout-content>
|
||||
<ng-template>
|
||||
<router-outlet></router-outlet>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-content>
|
||||
</adf-sidenav-layout>
|
||||
</div>
|
||||
</mat-tab>
|
||||
<mat-tab label="{{'PS_CLOUD_TAB.SETTINGS_TAB' | translate}}">
|
||||
<app-cloud-settings></app-cloud-settings>
|
||||
|
||||
@@ -5,18 +5,3 @@
|
||||
.app-cloud-layout-tab-body .mat-tab-body-wrapper {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
app-cloud-layout {
|
||||
.app-cloud-layout-tab-body {
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
width: 100%;
|
||||
|
||||
adf-sidenav-layout {
|
||||
flex-direction: row;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,34 +1,36 @@
|
||||
<mat-tab-group class="app-cloud-layout-tab-body">
|
||||
<mat-tab label="{{'PS_CLOUD_TAB.APPS_TAB' | translate}}">
|
||||
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
|
||||
<adf-sidenav-layout-navigation>
|
||||
<ng-template>
|
||||
<adf-sidebar-action-menu [expanded]="true" [width]="205" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
|
||||
<mat-icon adf-sidebar-menu-title-icon>arrow_drop_down</mat-icon>
|
||||
<div adf-sidebar-menu-options>
|
||||
<button mat-menu-item data-automation-id="btn-start-task" (click)="onStartTask()">
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_TASK' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div adf-sidebar-menu-options>
|
||||
<button mat-menu-item data-automation-id="btn-start-process" (click)="onStartProcess()">
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_PROCESS' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</adf-sidebar-action-menu>
|
||||
<app-community-cloud-filters-demo></app-community-cloud-filters-demo>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-navigation>
|
||||
<adf-sidenav-layout-content>
|
||||
<ng-template>
|
||||
<router-outlet></router-outlet>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-content>
|
||||
</adf-sidenav-layout>
|
||||
</mat-tab>
|
||||
<mat-tab label="{{'PS_CLOUD_TAB.SETTINGS_TAB' | translate}}">
|
||||
<app-cloud-settings></app-cloud-settings>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
<mat-tab-group fxFill class="app-cloud-layout-tab-body">
|
||||
<mat-tab label="{{'PS_CLOUD_TAB.APPS_TAB' | translate}}">
|
||||
<div fxFill fxLayout>
|
||||
<adf-sidenav-layout fxFlex [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
|
||||
<adf-sidenav-layout-navigation>
|
||||
<ng-template>
|
||||
<adf-sidebar-action-menu [expanded]="true" [width]="205" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
|
||||
<mat-icon adf-sidebar-menu-title-icon>arrow_drop_down</mat-icon>
|
||||
<div adf-sidebar-menu-options>
|
||||
<button mat-menu-item data-automation-id="btn-start-task" (click)="onStartTask()">
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_TASK' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div adf-sidebar-menu-options>
|
||||
<button mat-menu-item data-automation-id="btn-start-process" (click)="onStartProcess()">
|
||||
<mat-icon>assessment</mat-icon>
|
||||
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_PROCESS' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</adf-sidebar-action-menu>
|
||||
<app-community-cloud-filters-demo></app-community-cloud-filters-demo>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-navigation>
|
||||
<adf-sidenav-layout-content>
|
||||
<ng-template>
|
||||
<router-outlet></router-outlet>
|
||||
</ng-template>
|
||||
</adf-sidenav-layout-content>
|
||||
</adf-sidenav-layout>
|
||||
</div>
|
||||
</mat-tab>
|
||||
<mat-tab label="{{'PS_CLOUD_TAB.SETTINGS_TAB' | translate}}">
|
||||
<app-cloud-settings></app-cloud-settings>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
.app-cloud-layout-overflow {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.app-cloud-layout-tab-body {
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
width: 100%;
|
||||
|
||||
.mat-tab-body-wrapper {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
adf-sidenav-layout {
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -21,7 +21,14 @@ import { CloudLayoutService } from '../services/cloud-layout.service';
|
||||
|
||||
@Component({
|
||||
templateUrl: './community-cloud.component.html',
|
||||
styleUrls: ['./community-cloud.component.scss'],
|
||||
styles: [`.app-cloud-layout-overflow {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.app-cloud-layout-tab-body .mat-tab-body-wrapper {
|
||||
height: 100% !important;
|
||||
}
|
||||
`],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class CommunityCloudComponent implements OnInit {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
+3
-1
@@ -8,9 +8,11 @@
|
||||
<div class="app-process-cloud-container">
|
||||
|
||||
<adf-cloud-task-list
|
||||
fxFlex
|
||||
class="app-cloud-layout-overflow"
|
||||
[processInstanceId]="processInstanceId"
|
||||
(rowClick)="onRowClick($event)">
|
||||
(rowClick)="onRowClick($event)"
|
||||
#taskCloud>
|
||||
</adf-cloud-task-list>
|
||||
|
||||
<adf-cloud-process-header
|
||||
|
||||
+10
-13
@@ -1,17 +1,14 @@
|
||||
app-community-process-details-cloud {
|
||||
.app {
|
||||
&-process-cloud-container {
|
||||
display: flex;
|
||||
}
|
||||
.app {
|
||||
&-process-cloud-container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
&-cloud-layout-overflow {
|
||||
width: 67%;
|
||||
flex: 1;
|
||||
}
|
||||
&-cloud-layout-overflow {
|
||||
width: 67%;
|
||||
}
|
||||
|
||||
&-process-cloud-header {
|
||||
margin-left: 10px;
|
||||
width: 25%;
|
||||
}
|
||||
&-process-cloud-header {
|
||||
margin-left: 10px;
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-5
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -15,14 +15,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { Component } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-community-process-details-cloud',
|
||||
templateUrl: './community-process-details-cloud.component.html',
|
||||
styleUrls: ['./community-process-details-cloud.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
styleUrls: ['./community-process-details-cloud.component.scss']
|
||||
})
|
||||
export class CommunityProcessDetailsCloudDemoComponent {
|
||||
|
||||
|
||||
+40
-40
@@ -1,42 +1,42 @@
|
||||
<adf-cloud-edit-process-filter
|
||||
[id]="filterId"
|
||||
[filterProperties]="processFilterProperties.filterProperties"
|
||||
[sortProperties]="processFilterProperties.sortProperties"
|
||||
[actions]="processFilterProperties.actions"
|
||||
(filterChange)="onFilterChange($event)"
|
||||
(action)="onProcessFilterAction($event)">
|
||||
</adf-cloud-edit-process-filter>
|
||||
<div
|
||||
class="app-cloud-process-list-container"
|
||||
*ngIf="editedFilter">
|
||||
<adf-cloud-process-list
|
||||
#processCloud
|
||||
class="app-cloud-layout-overflow"
|
||||
[initiator]="editedFilter.initiator"
|
||||
[processDefinitionId]="editedFilter.processDefinitionId"
|
||||
[processDefinitionKey]="editedFilter.processDefinitionKey"
|
||||
[id]="editedFilter.processInstanceId"
|
||||
[status]="editedFilter.status"
|
||||
[name]="editedFilter.processName"
|
||||
[businessKey]="editedFilter['businessKey']"
|
||||
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
|
||||
[lastModifiedTo]="editedFilter.lastModifiedTo"
|
||||
[sorting]="sortArray"
|
||||
[selectionMode]="selectionMode"
|
||||
[multiselect]="multiselect"
|
||||
(rowClick)="onRowClick($event)"
|
||||
(rowsSelected)="onRowsSelected($event)">
|
||||
</adf-cloud-process-list>
|
||||
<adf-pagination
|
||||
[target]="processCloud"
|
||||
(changePageSize)="onChangePageSize($event)"
|
||||
(nextPage)="resetSelectedRows()"
|
||||
(prevPage)="resetSelectedRows()">
|
||||
</adf-pagination>
|
||||
<div *ngIf="testingMode">
|
||||
Selected rows:
|
||||
<ul>
|
||||
<li *ngFor="let row of selectedRows">{{ row.id }}</li>
|
||||
</ul>
|
||||
<div fxLayout="column" fxFill fxLayoutGap="2px">
|
||||
<adf-cloud-edit-process-filter
|
||||
[id]="filterId"
|
||||
[filterProperties]="processFilterProperties.filterProperties"
|
||||
[sortProperties]="processFilterProperties.sortProperties"
|
||||
[actions]="processFilterProperties.actions"
|
||||
(filterChange)="onFilterChange($event)"
|
||||
(action)="onProcessFilterAction($event)">
|
||||
</adf-cloud-edit-process-filter>
|
||||
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter">
|
||||
<adf-cloud-process-list #processCloud
|
||||
fxFlex
|
||||
class="app-cloud-layout-overflow"
|
||||
[initiator]="editedFilter.initiator"
|
||||
[processDefinitionId]="editedFilter.processDefinitionId"
|
||||
[processDefinitionKey]="editedFilter.processDefinitionKey"
|
||||
[id]="editedFilter.processInstanceId"
|
||||
[status]="editedFilter.status"
|
||||
[name]="editedFilter.processName"
|
||||
[businessKey]="editedFilter['businessKey']"
|
||||
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
|
||||
[lastModifiedTo]="editedFilter.lastModifiedTo"
|
||||
[sorting]="sortArray"
|
||||
[selectionMode]="selectionMode"
|
||||
[multiselect]="multiselect"
|
||||
(rowClick)="onRowClick($event)"
|
||||
(rowsSelected)="onRowsSelected($event)">
|
||||
</adf-cloud-process-list>
|
||||
<adf-pagination
|
||||
[target]="processCloud"
|
||||
(changePageSize)="onChangePageSize($event)"
|
||||
(nextPage)="resetSelectedRows()"
|
||||
(prevPage)="resetSelectedRows()">
|
||||
</adf-pagination>
|
||||
<div *ngIf="testingMode">
|
||||
Selected rows:
|
||||
<ul>
|
||||
<li *ngFor="let row of selectedRows">{{ row.id }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
app-community-processes-cloud-demo {
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
width: 100%;
|
||||
|
||||
.app-cloud-process-list-container {
|
||||
place-content: stretch space-between;
|
||||
align-items: stretch;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
&, .app-cloud-process-list-container {
|
||||
flex-direction: column;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.app-cloud-layout-overflow, .app-cloud-process-list-container {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
+8
-11
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -15,17 +15,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import { Component, ViewChild, OnInit, OnDestroy } from '@angular/core';
|
||||
import {
|
||||
ProcessFilterCloudModel,
|
||||
ProcessFilterCloudService,
|
||||
ProcessFiltersCloudComponent,
|
||||
ProcessListCloudComponent,
|
||||
ProcessListCloudSortingModel
|
||||
ProcessFilterCloudModel,
|
||||
ProcessListCloudSortingModel,
|
||||
ProcessFiltersCloudComponent,
|
||||
ProcessFilterCloudService
|
||||
} from '@alfresco/adf-process-services-cloud';
|
||||
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { AppConfigService, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { UserPreferencesService, AppConfigService } from '@alfresco/adf-core';
|
||||
import { CloudLayoutService } from '../services/cloud-layout.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
@@ -35,10 +35,7 @@ const PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter';
|
||||
const ACTION_SAVE_AS = 'saveAs';
|
||||
|
||||
@Component({
|
||||
selector: 'app-community-processes-cloud-demo',
|
||||
templateUrl: './community-processes-cloud.component.html',
|
||||
styleUrls: ['./community-processes-cloud.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
templateUrl: './community-processes-cloud.component.html'
|
||||
})
|
||||
export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
@ViewChild('processCloud')
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
<adf-cloud-edit-task-filter
|
||||
[id]="filterId"
|
||||
[filterProperties]="taskFilterProperties.filterProperties"
|
||||
[sortProperties]="taskFilterProperties.sortProperties"
|
||||
[actions]="taskFilterProperties.actions"
|
||||
(action)="onTaskFilterAction($event)"
|
||||
(filterChange)="onFilterChange($event)">
|
||||
</adf-cloud-edit-task-filter>
|
||||
<div
|
||||
class="app-cloud-task-list-container"
|
||||
*ngIf="editedFilter">
|
||||
<adf-cloud-task-list
|
||||
#taskCloud
|
||||
class="app-cloud-layout-overflow"
|
||||
[processDefinitionId]="editedFilter.processDefinitionId"
|
||||
[processInstanceId]="editedFilter.processInstanceId"
|
||||
[name]="editedFilter.taskName"
|
||||
[id]="editedFilter.taskId"
|
||||
[parentTaskId]="editedFilter.parentTaskId"
|
||||
[priority]="editedFilter.priority"
|
||||
[owner]="editedFilter.owner"
|
||||
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
|
||||
[lastModifiedTo]="editedFilter.lastModifiedTo"
|
||||
[status]="editedFilter.status"
|
||||
[assignee]="editedFilter.assignee"
|
||||
[createdDate]="editedFilter.createdDate"
|
||||
[dueDate]="editedFilter.dueDate"
|
||||
[sorting]="sortArray"
|
||||
[multiselect]="multiselect"
|
||||
[selectionMode]="selectionMode"
|
||||
(rowClick)="onRowClick($event)"
|
||||
(rowsSelected)="onRowsSelected($event)">
|
||||
</adf-cloud-task-list>
|
||||
<adf-pagination
|
||||
[target]="taskCloud"
|
||||
(changePageSize)="onChangePageSize($event)"
|
||||
(nextPage)="resetSelectedRows()"
|
||||
(prevPage)="resetSelectedRows()">
|
||||
</adf-pagination>
|
||||
<div *ngIf="testingMode">
|
||||
Selected rows:
|
||||
<ul>
|
||||
<li *ngFor="let row of selectedRows" [attr.data-automation-id]="row.id">{{ row.name }}</li>
|
||||
</ul>
|
||||
<div fxLayout="column" fxFill fxLayoutGap="2px">
|
||||
<adf-cloud-edit-task-filter
|
||||
[id]="filterId"
|
||||
[filterProperties]="taskFilterProperties.filterProperties"
|
||||
[sortProperties]="taskFilterProperties.sortProperties"
|
||||
[actions]="taskFilterProperties.actions"
|
||||
(action)="onTaskFilterAction($event)"
|
||||
(filterChange)="onFilterChange($event)">
|
||||
</adf-cloud-edit-task-filter>
|
||||
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter">
|
||||
<adf-cloud-task-list #taskCloud
|
||||
fxFlex
|
||||
class="app-cloud-layout-overflow"
|
||||
[processDefinitionId]="editedFilter.processDefinitionId"
|
||||
[processInstanceId]="editedFilter.processInstanceId"
|
||||
[name]="editedFilter.taskName"
|
||||
[id]="editedFilter.taskId"
|
||||
[parentTaskId]="editedFilter.parentTaskId"
|
||||
[priority]="editedFilter.priority"
|
||||
[owner]="editedFilter.owner"
|
||||
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
|
||||
[lastModifiedTo]="editedFilter.lastModifiedTo"
|
||||
[status]="editedFilter.status"
|
||||
[assignee]="editedFilter.assignee"
|
||||
[createdDate]="editedFilter.createdDate"
|
||||
[dueDate]="editedFilter.dueDate"
|
||||
[sorting]="sortArray"
|
||||
[multiselect]="multiselect"
|
||||
[selectionMode]="selectionMode"
|
||||
(rowClick)="onRowClick($event)"
|
||||
(rowsSelected)="onRowsSelected($event)">
|
||||
</adf-cloud-task-list>
|
||||
<adf-pagination
|
||||
[target]="taskCloud"
|
||||
(changePageSize)="onChangePageSize($event)"
|
||||
(nextPage)="resetSelectedRows()"
|
||||
(prevPage)="resetSelectedRows()">
|
||||
</adf-pagination>
|
||||
<div *ngIf="testingMode">
|
||||
Selected rows:
|
||||
<ul>
|
||||
<li *ngFor="let row of selectedRows" [attr.data-automation-id]="row.id">{{ row.name }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
app-community-tasks-cloud-demo {
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
width: 100%;
|
||||
|
||||
.adf-cloud-layout-tab-body {
|
||||
.mat-tab-body-wrapper {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.app-cloud-task-list-container {
|
||||
place-content: stretch space-between;
|
||||
align-items: stretch;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
&, .app-cloud-task-list-container {
|
||||
flex-direction: column;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.app-cloud-layout-overflow, .app-cloud-task-list-container {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
* 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.
|
||||
@@ -15,14 +15,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import {
|
||||
TaskFilterCloudModel,
|
||||
TaskFilterCloudService,
|
||||
TaskListCloudComponent,
|
||||
TaskListCloudSortingModel
|
||||
} from '@alfresco/adf-process-services-cloud';
|
||||
import { AppConfigService, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { Component, ViewChild, OnInit, OnDestroy } from '@angular/core';
|
||||
import { TaskListCloudComponent, TaskListCloudSortingModel, TaskFilterCloudModel, TaskFilterCloudService } from '@alfresco/adf-process-services-cloud';
|
||||
import { UserPreferencesService, AppConfigService } from '@alfresco/adf-core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { CloudLayoutService } from '../services/cloud-layout.service';
|
||||
import { Subject } from 'rxjs';
|
||||
@@ -33,10 +28,8 @@ const ACTION_SAVE_AS = 'saveAs';
|
||||
const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
|
||||
|
||||
@Component({
|
||||
selector: 'app-community-tasks-cloud-demo',
|
||||
templateUrl: './community-task-cloud.component.html',
|
||||
styleUrls: ['./community-task-cloud.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
styles: [`.adf-cloud-layout-tab-body .mat-tab-body-wrapper { height: 100%; }`]
|
||||
})
|
||||
export class CommunityTasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||
@ViewChild('taskCloud')
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user