mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-16 18:13:06 +00:00
Compare commits
174
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b828a79532 | ||
|
|
137b2a8a54 | ||
|
|
412e17266a | ||
|
|
08cd2b6106 | ||
|
|
4c3bd809bd | ||
|
|
291a9df492 | ||
|
|
b3fc8a202e | ||
|
|
0bc422735e | ||
|
|
9697467a07 | ||
|
|
8260c06cc4 | ||
|
|
07171f07fa | ||
|
|
0a17fb4f4c | ||
|
|
8b5dcf19b9 | ||
|
|
18ff34c6c8 | ||
|
|
af3ca02347 | ||
|
|
972566fb29 | ||
|
|
0e19f53068 | ||
|
|
8d157c262b | ||
|
|
1b3a29fd5f | ||
|
|
bb7369c2ca | ||
|
|
65b991674d | ||
|
|
b7881db56b | ||
|
|
27faf1d2ba | ||
|
|
06699e59d1 | ||
|
|
72cdf514e5 | ||
|
|
82e4196e26 | ||
|
|
7ea446edc6 | ||
|
|
fd0f3c5ed6 | ||
|
|
4787470707 | ||
|
|
2a1691836e | ||
|
|
2961259719 | ||
|
|
0bc5b6d139 | ||
|
|
14e7290466 | ||
|
|
2bd7b3e57f | ||
|
|
802756f2f3 | ||
|
|
fae1177cdf | ||
|
|
fda86fe90d | ||
|
|
5c28c963ed | ||
|
|
9d6f41d83f | ||
|
|
eaded79193 | ||
|
|
d45155bcb2 | ||
|
|
dc7e5c2215 | ||
|
|
e967f20cb6 | ||
|
|
76d4c6a0c5 | ||
|
|
bb036cbf6e | ||
|
|
872fb16b62 | ||
|
|
dd44e492b7 | ||
|
|
91b30630b3 | ||
|
|
86fe8cdc23 | ||
|
|
4ab3040954 | ||
|
|
70c59049c9 | ||
|
|
ad31f8299f | ||
|
|
38426de71c | ||
|
|
c860861d02 | ||
|
|
6d21c933b0 | ||
|
|
fff623be7c | ||
|
|
b58f1c9daa | ||
|
|
3a8ad1a596 | ||
|
|
0278544af1 | ||
|
|
ef2d184578 | ||
|
|
f2d61b680a | ||
|
|
026bbb8f93 | ||
|
|
e052625909 | ||
|
|
d7a3ad9d87 | ||
|
|
cb56c76d1a | ||
|
|
e38daa3e08 | ||
|
|
1cfbeff28c | ||
|
|
d6151308c9 | ||
|
|
7fa92308f0 | ||
|
|
e433c45f62 | ||
|
|
364604836c | ||
|
|
d93dbee150 | ||
|
|
d1d72cb575 | ||
|
|
ce5cdb40a8 | ||
|
|
334f388fcc | ||
|
|
44321b01c5 | ||
|
|
06f16996a4 | ||
|
|
9b850d945d | ||
|
|
a6d6e0f924 | ||
|
|
ea17e4c1e6 | ||
|
|
bdba328dbc | ||
|
|
52e045800e | ||
|
|
9faea5c1e7 | ||
|
|
e6c2152add | ||
|
|
bace3b9dcc | ||
|
|
2b0100466a | ||
|
|
60a9565c71 | ||
|
|
88eb654c30 | ||
|
|
d86d77ad2a | ||
|
|
70a38aecda | ||
|
|
c92d34f2f8 | ||
|
|
b3cef95199 | ||
|
|
89429cbd53 | ||
|
|
23fe4d4486 | ||
|
|
7eb51ef58f | ||
|
|
bf58a190cf | ||
|
|
de391a2a22 | ||
|
|
35543a634a | ||
|
|
b09f4cacf9 | ||
|
|
5461bedb3e | ||
|
|
48e9d56453 | ||
|
|
2d3c6841f0 | ||
|
|
134097fd2c | ||
|
|
6723cd1802 | ||
|
|
b63a68dd37 | ||
|
|
f942e5456c | ||
|
|
697f7d2267 | ||
|
|
60da8634f2 | ||
|
|
afc5830c31 | ||
|
|
7f41675d1c | ||
|
|
7f07024fe3 | ||
|
|
5327181055 | ||
|
|
06ca9bf1da | ||
|
|
c8b81d455f | ||
|
|
86b892c472 | ||
|
|
fc9c82733c | ||
|
|
356260b5d1 | ||
|
|
38ccfa1377 | ||
|
|
ac07a827fd | ||
|
|
beaf86d987 | ||
|
|
b4516bc998 | ||
|
|
056950ce6a | ||
|
|
ab1b54531c | ||
|
|
b575d16e61 | ||
|
|
3078387325 | ||
|
|
3f6b60760f | ||
|
|
76f88a57c3 | ||
|
|
1db68e849f | ||
|
|
82a5dd6e1e | ||
|
|
0747457762 | ||
|
|
028d70a2f1 | ||
|
|
3c1cfb253c | ||
|
|
aa8d4a68ce | ||
|
|
cbb5f14473 | ||
|
|
3adccc132e | ||
|
|
07d68a1e4b | ||
|
|
472671bd50 | ||
|
|
412295306c | ||
|
|
0063d83044 | ||
|
|
9520b2a4e5 | ||
|
|
3111008044 | ||
|
|
278a5ee143 | ||
|
|
c48022daf4 | ||
|
|
35c8093706 | ||
|
|
3ec3e732c0 | ||
|
|
3aabb9420d | ||
|
|
d06c829dac | ||
|
|
db22c6aac9 | ||
|
|
258f01803c | ||
|
|
558ff71878 | ||
|
|
3bcaeef682 | ||
|
|
f07636e297 | ||
|
|
3f1b88a62c | ||
|
|
14df6fce04 | ||
|
|
45840f3282 | ||
|
|
f4a2998288 | ||
|
|
59d3e35702 | ||
|
|
c7677f652d | ||
|
|
15d76a4554 | ||
|
|
f4cd4dc40a | ||
|
|
c93823a16b | ||
|
|
4e232eea6e | ||
|
|
7d6dea6bfe | ||
|
|
a175f92feb | ||
|
|
84c5eea4da | ||
|
|
5d85475782 | ||
|
|
81d6cc418f | ||
|
|
71d6b47d68 | ||
|
|
a8dd5fc5d7 | ||
|
|
de7ca76225 | ||
|
|
a7911338c3 | ||
|
|
ba52074bb5 | ||
|
|
ea71e4cdd1 | ||
|
|
872dae6f2d |
+4
-1
@@ -185,7 +185,10 @@ module.exports = {
|
||||
{
|
||||
files: ['*.html'],
|
||||
extends: ['plugin:@angular-eslint/template/recommended', 'plugin:@angular-eslint/template/accessibility'],
|
||||
rules: {}
|
||||
parser: '@angular-eslint/template-parser',
|
||||
rules: {
|
||||
'@angular-eslint/template/prefer-self-closing-tags': 'error'
|
||||
}
|
||||
},
|
||||
{
|
||||
files: ['*.spec.ts'],
|
||||
|
||||
@@ -20,18 +20,18 @@ runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: get latest tag sha
|
||||
id: tag-sha
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@bd803ea1bf16464eaf9726560c0496b41d15c03f # v7.1.0
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@16272633584df58ea603112c4aac4564c8673cd6 # v8.9.0
|
||||
# CACHE
|
||||
- name: Node Modules cache
|
||||
id: node-modules-cache
|
||||
if: ${{ inputs.enable-node-modules-cache == 'true' }}
|
||||
uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
|
||||
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
|
||||
env:
|
||||
cache-name: node-modules-cache
|
||||
with:
|
||||
@@ -43,7 +43,7 @@ runs:
|
||||
node_modules-${{ runner.os }}-build-
|
||||
node_modules-${{ runner.os }}-
|
||||
- name: pip cache
|
||||
uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
|
||||
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
|
||||
if: ${{ inputs.enable-cache == 'true' }}
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
|
||||
@@ -2,13 +2,13 @@ name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [develop, master]
|
||||
branches: [develop, master, testing_CodeQL_passed_if_change_in_ignored_paths]
|
||||
paths-ignore:
|
||||
- 'e2e/resources/**'
|
||||
- 'docs/**'
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [develop]
|
||||
branches: [develop, testing_CodeQL_passed_if_change_in_ignored_paths]
|
||||
paths-ignore:
|
||||
- 'e2e/resources/**'
|
||||
- 'docs/**'
|
||||
@@ -16,13 +16,42 @@ on:
|
||||
- cron: '0 5 * * 0'
|
||||
|
||||
jobs:
|
||||
check-paths:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
skip_codeql: ${{ steps.check.outputs.skip_codeql }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Check for ignored paths
|
||||
id: check
|
||||
run: |
|
||||
changed_files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }})
|
||||
echo "Changed files: $changed_files"
|
||||
if echo "$changed_files" | grep -qvE '^(e2e/resources/|docs/)'; then
|
||||
echo "CodeQL will run"
|
||||
echo "::set-output name=skip_codeql::true"
|
||||
echo "skip_codeql=false" >> $GITHUB_ENV
|
||||
echo "skip_codeql=false" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "CodeQL will be skipped"
|
||||
echo "::set-output name=skip_codeql::false"
|
||||
echo "skip_codeql=true" >> $GITHUB_ENV
|
||||
echo "skip_codeql=true" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
analyze:
|
||||
name: Analyze
|
||||
needs: check-paths
|
||||
if: needs.check-paths.outputs.skip_codeql == 'false'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
@@ -30,7 +59,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
|
||||
uses: github/codeql-action/init@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
|
||||
# Override language selection by uncommenting this and choosing your languages
|
||||
with:
|
||||
languages: javascript
|
||||
@@ -39,7 +68,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
|
||||
uses: github/codeql-action/autobuild@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -53,4 +82,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
|
||||
uses: github/codeql-action/analyze@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
|
||||
|
||||
@@ -59,13 +59,13 @@ jobs:
|
||||
GITHUB_TOKEN: $BOT_GITHUB_TOKEN
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: "Release tag"
|
||||
|
||||
@@ -8,9 +8,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Pull translations from Crowdin
|
||||
uses: crowdin/github-action@6ed209d411599a981ccb978df3be9dc9b8a81699 # v2.1.1
|
||||
uses: crowdin/github-action@8dfaf9c206381653e3767e3cb5ea5f08b45f02bf # v2.5.0
|
||||
with:
|
||||
upload_sources: false
|
||||
download_translations: true
|
||||
|
||||
@@ -61,10 +61,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: Ensure SHA pinned actions
|
||||
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@0901cf7b71c7ea6261ec69a3dc2bd3f9264f893e # v3.0.12
|
||||
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@c3a2b64f69b7a1542a68f44d9edbd9ec3fc1455e # v3.0.20
|
||||
|
||||
- name: Check package-lock.json version
|
||||
run: |
|
||||
@@ -79,15 +79,15 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get branch name
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@21fb2cdff9e78dae9d11604252d778c2f1af8a43 # v7.1.1
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@16272633584df58ea603112c4aac4564c8673cd6 # v8.9.0
|
||||
|
||||
- name: Save commit message
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@21fb2cdff9e78dae9d11604252d778c2f1af8a43 # v7.1.1
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@16272633584df58ea603112c4aac4564c8673cd6 # v8.9.0
|
||||
|
||||
- name: ci:force flag parser
|
||||
shell: bash
|
||||
@@ -161,7 +161,7 @@ jobs:
|
||||
needs: [check-if-pr-is-approved, pre-checks]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
@@ -170,7 +170,6 @@ jobs:
|
||||
npm ci
|
||||
npx nx run js-api:bundle
|
||||
npx nx run cli:bundle
|
||||
npx nx run testing:bundle
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
unit-tests:
|
||||
@@ -197,7 +196,7 @@ jobs:
|
||||
exclude: "insights,core,extensions,content-services,process-services,eslint-plugin-eslint-angular,js-api"
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
@@ -214,7 +213,7 @@ jobs:
|
||||
needs: [setup]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
@@ -229,13 +228,13 @@ jobs:
|
||||
needs: [setup]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- run: npx nx affected:build $NX_CALCULATION_FLAGS --prod
|
||||
- run: npx nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration=ci --parallel=1
|
||||
- run: NX_REJECT_UNKNOWN_LOCAL_CACHE=0 npx nx affected:build $NX_CALCULATION_FLAGS --prod
|
||||
- run: NX_REJECT_UNKNOWN_LOCAL_CACHE=0 npx nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration=ci --parallel=1
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
PR-forbidden-labels:
|
||||
@@ -244,7 +243,7 @@ jobs:
|
||||
steps:
|
||||
- id: checkoutRepo
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: PR contains forbidden labels
|
||||
@@ -271,14 +270,14 @@ jobs:
|
||||
name: Final Results
|
||||
needs: [check-if-pr-is-approved, pre-checks, setup, unit-tests, lint, build-libs]
|
||||
steps:
|
||||
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- 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@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
|
||||
- uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
|
||||
name: Nofify QA failure
|
||||
if: ${{ github.event_name == 'schedule' && contains(needs.*.result, 'failure') }}
|
||||
env:
|
||||
|
||||
@@ -9,7 +9,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Automatic Rebase
|
||||
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
echo "Set TAG with name: ${TAG_NPM}"
|
||||
echo "TAG_NPM=${TAG_NPM}" >> $GITHUB_ENV
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
@@ -62,7 +62,6 @@ jobs:
|
||||
npm ci
|
||||
npx nx run js-api:bundle
|
||||
npx nx run cli:bundle
|
||||
npx nx run testing:bundle
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
release-npm:
|
||||
@@ -74,7 +73,7 @@ jobs:
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
@@ -101,7 +100,7 @@ jobs:
|
||||
npx nx run-many --target=build --prod --exclude="demoshell" --skip-nx-cache
|
||||
npx nx run-many --target=pretheme
|
||||
npx nx run-many --target=build-schematics
|
||||
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
name: release libraries GH registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
@@ -110,7 +109,7 @@ jobs:
|
||||
- run: npx nx run-many --target=npm-publish --tag=branch|| exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
|
||||
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
name: release libraries Npm registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
@@ -126,5 +125,5 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: ./.github/actions/npm-check-bundle
|
||||
|
||||
@@ -57,7 +57,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
@@ -69,7 +69,6 @@ jobs:
|
||||
npm ci
|
||||
npx nx run js-api:bundle
|
||||
npx nx run cli:bundle
|
||||
npx nx run testing:bundle
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
release-storybook:
|
||||
@@ -79,7 +78,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- run: git fetch --all
|
||||
@@ -109,7 +108,7 @@ jobs:
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
@@ -136,7 +135,7 @@ jobs:
|
||||
npx nx run-many -t build --prod --skip-nx-cache
|
||||
npx nx run-many -t pretheme
|
||||
npx nx run-many -t build-schematics
|
||||
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
name: release libraries GH registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
@@ -145,7 +144,7 @@ jobs:
|
||||
- run: npx nx run-many -t npm-publish --tag=$TAG_NPM || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
|
||||
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
name: release libraries Npm registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
@@ -161,7 +160,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: HxP upstream invoke
|
||||
uses: the-actions-org/workflow-dispatch@3133c5d135c7dbe4be4f9793872b6ef331b53bc7 # v4.0.0
|
||||
with:
|
||||
@@ -182,7 +181,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: ./.github/actions/npm-check-bundle
|
||||
|
||||
push-translation-keys-to-crowdin:
|
||||
@@ -196,10 +195,10 @@ jobs:
|
||||
actions: read
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: Push Source Files to Crowdin
|
||||
uses: crowdin/github-action@6ed209d411599a981ccb978df3be9dc9b8a81699 # v2.1.1
|
||||
uses: crowdin/github-action@8dfaf9c206381653e3767e3cb5ea5f08b45f02bf # v2.5.0
|
||||
with:
|
||||
upload_sources: true
|
||||
upload_sources_args: --delete-obsolete
|
||||
@@ -213,7 +212,7 @@ jobs:
|
||||
needs: [release-storybook, release-npm, npm-check-bundle]
|
||||
steps:
|
||||
|
||||
- uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
|
||||
- uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
|
||||
name: Nofify FE eng-guild-front-end workflow failed
|
||||
if: ${{ contains(toJson(needs.*.result), 'failure') }}
|
||||
env:
|
||||
|
||||
+2
-21
@@ -445,7 +445,6 @@ for more information about installing and using the source code.
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Claim Task Directive](process-services/directives/claim-task.directive.md)  | Claims a task | [Source](../lib/process-services/src/lib/task-list/components/task-form/claim-task.directive.ts) |
|
||||
| [Process Audit Directive](process-services/directives/process-audit.directive.md) | Fetches the Process Audit information in PDF or JSON format. | [Source](../lib/process-services/src/lib/process-list/components/process-audit/process-audit.directive.ts) |
|
||||
| [Task Audit Directive](process-services/directives/task-audit.directive.md) | Fetches the Task Audit information in PDF or JSON format. | [Source](../lib/process-services/src/lib/task-list/components/task-audit/task-audit.directive.ts) |
|
||||
| [Unclaim Task Directive](process-services/directives/unclaim-task.directive.md)  | Unclaims a task | [Source](../lib/process-services/src/lib/task-list/components/task-form/unclaim-task.directive.ts) |
|
||||
|
||||
### Services
|
||||
@@ -475,7 +474,7 @@ for more information about installing and using the source code.
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [App List Cloud Component](process-services-cloud/components/app-list-cloud.component.md)  | Shows all deployed cloud application instances. | [Source](../lib/process-services-cloud/src/lib/app/components/app-list-cloud.component.ts) |
|
||||
| [Edit Process Filter Cloud component](process-services-cloud/components/edit-process-filter-cloud.component.md)  | Shows/edits process filter details. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts) |
|
||||
| [Edit Process Filter Cloud component](process-services-cloud/components/edit-process-filter-cloud.component.md)  | Shows/edits process filter details. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.ts) |
|
||||
| [Edit Task Filter Cloud component](process-services-cloud/components/edit-task-filter-cloud.component.md)  | Edits task filter details. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.ts) |
|
||||
| [Form cloud custom outcomes component](process-services-cloud/components/form-cloud-custom-outcome.component.md) | Supplies custom outcome buttons to be included in Form cloud component. | [Source](../lib/process-services-cloud/src/lib/form/components/form-cloud-custom-outcomes.component.ts) |
|
||||
| [Form cloud component](process-services-cloud/components/form-cloud.component.md) | Shows a form from Process Services. | [Source](../lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts) |
|
||||
@@ -485,32 +484,15 @@ for more information about installing and using the source code.
|
||||
|
||||
Added: v3.0.0
|
||||
Status: Experimental | [Source](<>) |
|
||||
| [Process Filters Cloud Component](process-services-cloud/components/process-filters-cloud.component.md)  | Lists all available process filters and allows to select a filter. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/process-filters-cloud.component.ts) |
|
||||
| [Process Filters Cloud Component](process-services-cloud/components/process-filters-cloud.component.md)  | Lists all available process filters and allows to select a filter. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts) |
|
||||
| [Process Header Cloud Component](process-services-cloud/components/process-header-cloud.component.md)  | Shows all the information related to a process instance. | [Source](../lib/process-services-cloud/src/lib/process/process-header/components/process-header-cloud.component.ts) |
|
||||
| [Process Instance List Cloud component](process-services-cloud/components/process-list-cloud.component.md)  | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts) |
|
||||
| [Start Process Cloud Component](process-services-cloud/components/start-process-cloud.component.md)  | Starts a process. | [Source](../lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts) |
|
||||
| [Start Task Cloud Component](process-services-cloud/components/start-task-cloud.component.md)  | Creates/starts a new task for the specified app. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts) |
|
||||
| [Task Filters Cloud component](process-services-cloud/components/task-filters-cloud.component.md)  | Shows all available filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/task-filters-cloud.component.ts) |
|
||||
| [Form cloud component](process-services-cloud/components/task-form-cloud.component.md) | Shows a form for a task. | [Source](../lib/process-services-cloud/src/lib/task/task-form/components/task-form-cloud.component.ts) |
|
||||
| [Task Header Cloud Component](process-services-cloud/components/task-header-cloud.component.md)  | Shows all the information related to a task. | [Source](../lib/process-services-cloud/src/lib/task/task-header/components/task-header-cloud.component.ts) |
|
||||
| [Task List Cloud component](process-services-cloud/components/task-list-cloud.component.md)  | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts) |
|
||||
|
||||
### Directives
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Cancel Process Directive](process-services-cloud/directives/cancel-process.directive.md)  | Cancels a process | [Source](../lib/process-services-cloud/src/lib/process/directives/cancel-process.directive.ts) |
|
||||
| [Claim Task Cloud Directive](process-services-cloud/directives/claim-task-cloud.directive.md)  | Claims a task | [Source](../lib/process-services-cloud/src/lib/task/directives/claim-task-cloud.directive.ts) |
|
||||
| [Complete Task Directive](process-services-cloud/directives/complete-task.directive.md)  | Completes a task. | [Source](../lib/process-services-cloud/src/lib/task/directives/complete-task.directive.ts) |
|
||||
| [Unclaim Task Cloud Directive](process-services-cloud/directives/unclaim-task-cloud.directive.md)  | Unclaims a task | [Source](../lib/process-services-cloud/src/lib/task/directives/unclaim-task-cloud.directive.ts) |
|
||||
|
||||
### Pipes
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Group initial pipe](process-services-cloud/pipes/group-initial.pipe.md) | Extracts the initial character from a group name. | [Source](../lib/process-services-cloud/src/lib/group/pipe/group-initial.pipe.ts) |
|
||||
| [Process name cloud pipe](process-services-cloud/pipes/process-name-cloud.pipe.md) | When an identifier is specified, the input will be transformed replacing the identifiers with the values of the selected process definition provided. | [Source](../lib/process-services-cloud/src/lib/pipes/process-name-cloud.pipe.ts) |
|
||||
|
||||
### Services
|
||||
|
||||
| Name | Description | Source link |
|
||||
@@ -523,7 +505,6 @@ Status: Experimental | [Source](<>) |
|
||||
| [Process Filter Cloud Service](process-services-cloud/services/process-filter-cloud.service.md)  | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts) |
|
||||
| [Process List Cloud Service](process-services-cloud/services/process-list-cloud.service.md)  | Searches processes. | [Source](../lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts) |
|
||||
| [Start Process Cloud Service](process-services-cloud/services/start-process-cloud.service.md)  | Gets process definitions and starts processes. | [Source](../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
|
||||
| [Start Task Cloud Service](process-services-cloud/services/start-task-cloud.service.md)  | Starts standalone tasks. | [Source](../lib/process-services-cloud/src/lib/task/services/start-task-cloud.service.ts) |
|
||||
| [Task Cloud Service](process-services-cloud/services/task-cloud.service.md)  | Manages task cloud. | [Source](../lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts) |
|
||||
| [Task Filter Cloud Service](process-services-cloud/services/task-filter-cloud.service.md)  | Manages task filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
|
||||
| [Task List Cloud Service](process-services-cloud/services/task-list-cloud.service.md)  | Searches tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Title: Card View component
|
||||
Added: v2.0.0
|
||||
Status: Active
|
||||
Last reviewed: 2018-05-09
|
||||
Last reviewed: 2024-10-29
|
||||
---
|
||||
|
||||
# [Card View component](../../../lib/core/src/lib/card-view/components/card-view/card-view.component.ts "Defined in card-view.component.ts")
|
||||
@@ -353,6 +353,7 @@ const selectItemProperty = new CardViewSelectItemModel(options);
|
||||
| key\* | string | | Identifying key (important when editing the item) |
|
||||
| editable | boolean | false | Toggles whether the item is editable |
|
||||
| value | string | | The original data value for the item |
|
||||
| autocompleteBased | boolean | false | Indicates whether the select item should use autocomplete functionality. If set to true, the select item will provide an autocomplete input field. |
|
||||
| options$\* | [`Observable`](http://reactivex.io/documentation/observable.html)<[`CardViewSelectItemOption`](../../../lib/core/src/lib/card-view/interfaces/card-view-selectitem-properties.interface.ts)\[]> | | The original data value for the item |
|
||||
|
||||
#### Card Array Item
|
||||
|
||||
@@ -65,6 +65,7 @@ Defines column properties for DataTable, Tasklist, Document List and other compo
|
||||
| currencyConfig | `CurrencyConfig` | [Default currency config](#default-currency-config) | Currency configuration to customize the formatting and display of currency values within the component. |
|
||||
| decimalConfig | `DecimalConfig` | [Default decimal config](#default-decimal-config) | Decimal configuration to customize the formatting and display of decimal values within the component. |
|
||||
| dateConfig | `DateConfig` | [Default date config](#default-date-config) | Date configuration to customize the formatting and localization of date values within the component. |
|
||||
| maxTextLength | `number` | 250 | Max length of the text displayed in column before truncation. |
|
||||
|
||||
## Properties configuration
|
||||
|
||||
@@ -467,6 +468,31 @@ const shouldPerformAction = this.columns
|
||||
if (shouldPerformAction) { /* action */}
|
||||
```
|
||||
|
||||
### Specifying max text length in the column
|
||||
|
||||
If you want to restrict max number of characters displayed in the column you can use `maxTextLength` param.
|
||||
|
||||
Example of using `maxTextLength` from a JSON config file:
|
||||
|
||||
```json
|
||||
[
|
||||
{"type": "text", "key": "id", "title": "Id"},
|
||||
{"type": "text", "key": "name", "title": "name", "maxTextLength": 100},
|
||||
]
|
||||
```
|
||||
|
||||
HTML `<data-column>` element example:
|
||||
|
||||
```html
|
||||
...
|
||||
<data-columns>
|
||||
<data-column [maxTextLength]="100" key="name" title="Name"></data-column>
|
||||
...
|
||||
</data-columns>
|
||||
...
|
||||
```
|
||||
|
||||
|
||||
## See also
|
||||
|
||||
- [Document list component](../../content-services/components/document-list.component.md)
|
||||
|
||||
@@ -419,46 +419,48 @@ Learn more about styling your datatable: [Customizing the component's styles](#c
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
|--------------------------|-------------------------------------------------------------------------------------|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| actions | `boolean` | false | Toggles the data actions column. |
|
||||
| actionsPosition | `string` | "right" | Position of the actions dropdown menu. Can be "left" or "right". |
|
||||
| actionsVisibleOnHover | `boolean` | false | Toggles whether the actions dropdown should only be visible if the row is hovered over or the dropdown menu is open. |
|
||||
| allowFiltering | `boolean` | false | Flag that indicate if the datatable allow the use [facet widget](../../../lib/content-services/src/lib/search/models/facet-widget.interface.ts) search for filtering. |
|
||||
| blurOnResize | `boolean` | true | Toggles blur when columns of the datatable are being resized. |
|
||||
| columns | `any[]` | \[] | The columns that the datatable will show. |
|
||||
| contextMenu | `boolean` | false | Toggles custom context menu for the component. |
|
||||
| data | [`DataTableAdapter`](../../../lib/core/src/lib/datatable/data/datatable-adapter.ts) | | Data source for the table |
|
||||
| displayCheckboxesOnHover | `boolean` | false | Enables checkboxes in datatable rows being displayed on hover only. |
|
||||
| fallbackThumbnail | `string` | | Fallback image for rows where the thumbnail is missing. |
|
||||
| isResizingEnabled | `boolean` | false | Flag that indicates if the datatable allows column resizing. |
|
||||
| loading | `boolean` | false | Flag that indicates if the datatable is in loading state and needs to show the loading template (see the docs to learn how to configure a loading template). |
|
||||
| mainTableAction | `boolean` | true | Toggles main data table action column. |
|
||||
| multiselect | `boolean` | false | Toggles multiple row selection, which renders checkboxes at the beginning of each row. |
|
||||
| noPermission | `boolean` | false | Flag that indicates if the datatable should show the "no permission" template. |
|
||||
| resolverFn | `Function` | null | Custom resolver function which is used to parse dynamic column objects see the docs to learn how to configure a resolverFn. |
|
||||
| rowMenuCacheEnabled | `boolean` | true | Should the items for the row actions menu be cached for reuse after they are loaded the first time? |
|
||||
| rowStyle | `Function` | | The inline style to apply to every row. See [NgStyle](https://angular.io/docs/ts/latest/api/common/index/NgStyle-directive.html) docs for more details and usage examples. |
|
||||
| rowStyleClass | `string` | "" | The CSS class to apply to every row. |
|
||||
| rows | `any[]` | \[] | The rows that the datatable will show. |
|
||||
| selectionMode | `string` | "single" | Row selection mode. Can be none, `single` or `multiple`. For `multiple` mode, you can use Cmd (macOS) or Ctrl (Win) modifier key to toggle selection for multiple rows. |
|
||||
| showHeader | `ShowHeaderMode` | | Toggles the header. |
|
||||
| showMainDatatableActions | `boolean` | false | Toggles the main datatable action. |
|
||||
| sorting | `any[]` | \[] | Define the sort order of the datatable. Possible values are : [`created`, `desc`], [`created`, `asc`], [`due`, `desc`], [`due`, `asc`] |
|
||||
| stickyHeader | `boolean` | false | Toggles the sticky header mode. |
|
||||
| Name | Type | Default value | Description |
|
||||
|----------------------------|-------------------------------------------------------------------------------------|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| actions | `boolean` | false | Toggles the data actions column. |
|
||||
| actionsPosition | `string` | "right" | Position of the actions dropdown menu. Can be "left" or "right". |
|
||||
| actionsVisibleOnHover | `boolean` | false | Toggles whether the actions dropdown should only be visible if the row is hovered over or the dropdown menu is open. |
|
||||
| allowFiltering | `boolean` | false | Flag that indicate if the datatable allow the use [facet widget](../../../lib/content-services/src/lib/search/models/facet-widget.interface.ts) search for filtering. |
|
||||
| blurOnResize | `boolean` | true | Toggles blur when columns of the datatable are being resized. |
|
||||
| columns | `any[]` | \[] | The columns that the datatable will show. |
|
||||
| contextMenu | `boolean` | false | Toggles custom context menu for the component. |
|
||||
| data | [`DataTableAdapter`](../../../lib/core/src/lib/datatable/data/datatable-adapter.ts) | | Data source for the table |
|
||||
| displayCheckboxesOnHover | `boolean` | false | Enables checkboxes in datatable rows being displayed on hover only. |
|
||||
| fallbackThumbnail | `string` | | Fallback image for rows where the thumbnail is missing. |
|
||||
| isResizingEnabled | `boolean` | false | Flag that indicates if the datatable allows column resizing. |
|
||||
| loading | `boolean` | false | Flag that indicates if the datatable is in loading state and needs to show the loading template (see the docs to learn how to configure a loading template). |
|
||||
| mainTableAction | `boolean` | true | Toggles main data table action column. |
|
||||
| multiselect | `boolean` | false | Toggles multiple row selection, which renders checkboxes at the beginning of each row. |
|
||||
| noPermission | `boolean` | false | Flag that indicates if the datatable should show the "no permission" template. |
|
||||
| resolverFn | `Function` | null | Custom resolver function which is used to parse dynamic column objects see the docs to learn how to configure a resolverFn. |
|
||||
| rowMenuCacheEnabled | `boolean` | true | Should the items for the row actions menu be cached for reuse after they are loaded the first time? |
|
||||
| rowStyle | `Function` | | The inline style to apply to every row. See [NgStyle](https://angular.io/docs/ts/latest/api/common/index/NgStyle-directive.html) docs for more details and usage examples. |
|
||||
| rowStyleClass | `string` | "" | The CSS class to apply to every row. |
|
||||
| rows | `any[]` | \[] | The rows that the datatable will show. |
|
||||
| selectionMode | `string` | "single" | Row selection mode. Can be none, `single` or `multiple`. For `multiple` mode, you can use Cmd (macOS) or Ctrl (Win) modifier key to toggle selection for multiple rows. |
|
||||
| showHeader | `ShowHeaderMode` | | Toggles the header. |
|
||||
| showMainDatatableActions | `boolean` | false | Toggles the main datatable action. |
|
||||
| sorting | `any[]` | \[] | Define the sort order of the datatable. Possible values are : [`created`, `desc`], [`created`, `asc`], [`due`, `desc`], [`due`, `asc`] |
|
||||
| stickyHeader | `boolean` | false | Toggles the sticky header mode. |
|
||||
| enableDragRows | `boolean` | false | Flag that enables dragging rows. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
|
||||
| columnOrderChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataColumn`](../../../lib/core/src/lib/datatable/data/data-column.model.ts)`<>[]>` | Emitted when the column order is changed. |
|
||||
| columnsWidthChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataColumn`](../../../lib/core/src/lib/datatable/data/data-column.model.ts)`<>[]>` | Emitted when the column width is changed. |
|
||||
| selectedItemsCountChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<number>` | Emitted when the item row count is changed. |
|
||||
| Name | Type | Description |
|
||||
|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
|
||||
| columnOrderChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataColumn`](../../../lib/core/src/lib/datatable/data/data-column.model.ts)`<>[]>` | Emitted when the column order is changed. |
|
||||
| columnsWidthChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataColumn`](../../../lib/core/src/lib/datatable/data/data-column.model.ts)`<>[]>` | Emitted when the column width is changed. |
|
||||
| selectedItemsCountChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<number>` | Emitted when the item row count is changed. |
|
||||
| executeRowAction | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataRowActionEvent`](../../../lib/core/src/lib/datatable/components/data-row-action.event.ts)`>` | Emitted when the user executes a row action. |
|
||||
| rowClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataRowEvent`](../../../lib/core/src/lib/datatable/data/data-row-event.model.ts)`>` | Emitted when the user clicks a row. |
|
||||
| rowDblClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataRowEvent`](../../../lib/core/src/lib/datatable/data/data-row-event.model.ts)`>` | Emitted when the user double-clicks a row. |
|
||||
| showRowActionsMenu | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataCellEvent`](../../../lib/core/src/lib/datatable/components/data-cell.event.ts)`>` | Emitted before the actions menu is displayed for a row. |
|
||||
| showRowContextMenu | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataCellEvent`](../../../lib/core/src/lib/datatable/components/data-cell.event.ts)`>` | Emitted before the context menu is displayed for a row. |
|
||||
| rowClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataRowEvent`](../../../lib/core/src/lib/datatable/data/data-row-event.model.ts)`>` | Emitted when the user clicks a row. |
|
||||
| rowDblClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataRowEvent`](../../../lib/core/src/lib/datatable/data/data-row-event.model.ts)`>` | Emitted when the user double-clicks a row. |
|
||||
| showRowActionsMenu | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataCellEvent`](../../../lib/core/src/lib/datatable/components/data-cell.event.ts)`>` | Emitted before the actions menu is displayed for a row. |
|
||||
| showRowContextMenu | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`DataCellEvent`](../../../lib/core/src/lib/datatable/components/data-cell.event.ts)`>` | Emitted before the context menu is displayed for a row. |
|
||||
| dragDropped | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`{ previousIndex: number; currentIndex: number }]`>` | Emitted when dragged row is dropped. |
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ This component shows dynamic list of chips which render depending on free space.
|
||||
|---------------------|---------------------------------------------------------------------------------|---------------|----------------------------------------------------------------|
|
||||
| limitChipsDisplayed | `boolean` | false | Should limit number of chips displayed. |
|
||||
| showDelete | `boolean` | true | Show delete button. |
|
||||
| disableDelete | `boolean` | false | Disable delete button. |
|
||||
| roundUpChips | `boolean` | false | Round up chips increasing the border radius of a chip to 20px. |
|
||||
| pagination | [`Pagination`](../../../lib/js-api/src/api/content-rest-api/docs/Pagination.md) | | Provide if you want to use paginated chips. |
|
||||
| chips | [`Chip`](../../../lib/core/src/lib/dynamic-chip-list/chip.ts)`[]` | | List of chips to display. |
|
||||
|
||||
@@ -89,6 +89,7 @@ See the [Custom layout](#custom-layout) section for full details of all availabl
|
||||
| urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. |
|
||||
| viewerExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
|
||||
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
|
||||
| nodeMimeType | `string` | undefined | Original node mime type, should be provided when renditiona mime type is different. |
|
||||
|
||||
### Events
|
||||
|
||||
|
||||
@@ -81,6 +81,7 @@ An array of [`DataRow`](../../../lib/core/src/lib/datatable/data/data-row.model.
|
||||
```ts
|
||||
interface DataRow {
|
||||
isSelected: boolean;
|
||||
isSelectable?: boolean;
|
||||
isDropTarget?: boolean;
|
||||
cssClass?: string;
|
||||
hasValue(key: string): boolean;
|
||||
|
||||
@@ -22,6 +22,7 @@ Converts a date to a given format and locale.
|
||||
|--------|--------|---------------|-------------------------------------------------------------------------------------------------------------------------|
|
||||
| format | string | 'medium' | A format to apply to the date value. [Date Pipe Formats.](https://angular.io/api/common/DatePipe#custom-format-options) |
|
||||
| locale | string | 'en-US' | A locale id for the locale format rules to use. |
|
||||
| timezone | string | |(optional) A timezone offset (such as `'+0430'`), or a standard UTC/GMT |
|
||||
|
||||
## Details
|
||||
|
||||
@@ -59,3 +60,30 @@ You can overwrite the default values of this pipe by adding these properties to
|
||||
| defaultLocale | string | The locale id to apply |
|
||||
|
||||
This configuration overwrites the values in the [localized date pipe](../../core/pipes/localized-date.pipe.md) as well as other components to have more consistency across your app. However, you can still overwrite these values any time by using the pipe in your code.
|
||||
|
||||
|
||||
### Eliminates timezone-specific shifts
|
||||
|
||||
When timezone is set to UTC, it eliminates timezone-specific shifts, meaning the date will be displayed in Coordinated Universal Time (UTC) regardless of the local timezone.
|
||||
|
||||
Given the date `2025-01-09T00:00:00.000+0000`, if the local timezone has a negative offset like -6 hours, the local time would be `2025-01-08T18:00:00.000-0600`. Without setting the timezone to UTC, the pipe would display the date as `January 8th, 2025`, because the local time is still on the previous day.
|
||||
|
||||
By setting the timezone to `UTC` in the pipe, the date will be displayed as `January 9th, 2025`, because it ignores the local timezone offset and uses the UTC time instead.
|
||||
|
||||
Usage example:
|
||||
|
||||
```HTML
|
||||
<!-- Local timezone with -6 offset -->
|
||||
<div>
|
||||
Created date: {{ '2025-01-09T00:00:00.000+0000' | adfLocalizedDate: 'mediumDate' }}
|
||||
<!-- Output: Jan 8, 2025 (if local timezone is -6) -->
|
||||
</div>
|
||||
|
||||
<!-- Setting timezone to UTC -->
|
||||
<div>
|
||||
Created date: {{ '2025-01-09T00:00:00.000+0000' | adfLocalizedDate: 'mediumDate' : '' : 'UTC' }}
|
||||
<!-- Output: Jan 9, 2025 (UTC) -->
|
||||
</div>
|
||||
```
|
||||
|
||||
By specifying `UTC` as the timezone, the pipe ensures that the date is displayed consistently in UTC, eliminating any discrepancies caused by local timezone offsets.
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
Title: Truncate pipe
|
||||
Added: v7.0.0-alpha.7
|
||||
Status: Active
|
||||
Last reviewed: 2024-11-28
|
||||
---
|
||||
|
||||
# Truncate Pipe
|
||||
|
||||
Truncates the text when it exceeds specified max length. It also appends provided ellipsis at the end of the string.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
<!-- {% raw %} -->
|
||||
|
||||
```HTML
|
||||
<div>
|
||||
{{ textToTruncate | truncate:100:'***' }}
|
||||
</div>
|
||||
```
|
||||
|
||||
<!-- {% endraw %} -->
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ------------- | -------- | ------------- | ---------------------------------------------------------------------- |
|
||||
| maxTextLength | `number` | 250 | Max length of the text that should be displayed prio to truncating. |
|
||||
| ellipsis | `string` | `...` | String which will be appended to the text when truncating will happen. |
|
||||
@@ -2,7 +2,7 @@
|
||||
Title: Card View Update service
|
||||
Added: v2.0.0
|
||||
Status: Active
|
||||
Last reviewed: 2022-11-25
|
||||
Last reviewed: 2024-10-29
|
||||
---
|
||||
|
||||
# [Card View Update service](../../../lib/core/src/lib/card-view/services/card-view-update.service.ts "Defined in card-view-update.service.ts")
|
||||
@@ -137,6 +137,19 @@ Example
|
||||
this.cardViewUpdateService.updateElement(cardViewBaseItemModel)
|
||||
```
|
||||
|
||||
## Autocomplete Input Value
|
||||
|
||||
The `autocompleteInputValue$` property is a Subject that emits the current value of the autocomplete input field. This can be used to track changes in the input field and respond accordingly.
|
||||
|
||||
### Example
|
||||
|
||||
You can subscribe to `autocompleteInputValue$` to get the current value of the autocomplete input field and update the options accordingly.
|
||||
|
||||
```ts
|
||||
this.cardViewUpdateService.autocompleteInputValue$.subscribe(value => {
|
||||
this.options$ = this.getOptions(value);
|
||||
});
|
||||
```
|
||||
## See also
|
||||
|
||||
- [Card view component](../components/card-view.component.md)
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Active
|
||||
Last reviewed: 2019-07-13
|
||||
---
|
||||
|
||||
# [Identity Group service](../../../lib/process-services-cloud/src/lib/group/services/identity-group.service.ts "Defined in identity-group.service.ts")
|
||||
# Identity Group service
|
||||
|
||||
Performs CRUD operations on identity groups.
|
||||
|
||||
@@ -13,11 +13,10 @@ Performs CRUD operations on identity groups.
|
||||
|
||||
### Methods
|
||||
|
||||
- **search**(name: `string`, filters?: [`IdentityGroupFilterInterface`](../../../lib/process-services-cloud/src/lib/group/services/identity-group-filter.interface.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`IdentityGroupModel`](../../../lib/process-services-cloud/src/lib/group/models/identity-group.model.ts)`[]>`<br/>
|
||||
|
||||
- **search**(name: `string`, filters?: `IdentityGroupFilterInterface`)): `Observable<IdentityGroupModel[]>`
|
||||
- _name:_ `string` -
|
||||
- _filters:_ [`IdentityGroupFilterInterface`](../../../lib/process-services-cloud/src/lib/group/services/identity-group-filter.interface.ts) - (Optional)
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`IdentityGroupModel`](../../../lib/process-services-cloud/src/lib/group/models/identity-group.model.ts)`[]>` -
|
||||
- _filters:_ `IdentityGroupFilterInterface - (Optional)
|
||||
- **Returns** `Observable<IdentityGroupModel[]>` -
|
||||
|
||||
## See also
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Active
|
||||
Last reviewed: 2019-07-12
|
||||
---
|
||||
|
||||
# [Identity user service](../../../lib/process-services-cloud/src/lib/people/services/identity-user.service.ts "Defined in identity-user.service.ts")
|
||||
# Identity User Service
|
||||
|
||||
Gets OAuth2 personal details and roles for users and performs CRUD operations on identity users.
|
||||
|
||||
@@ -13,14 +13,12 @@ Gets OAuth2 personal details and roles for users and performs CRUD operations on
|
||||
|
||||
### Methods
|
||||
|
||||
- **getCurrentUserInfo**(): [`IdentityUserModel`](../../../lib/process-services-cloud/src/lib/people/models/identity-user.model.ts)<br/>
|
||||
Gets the name and other basic details of the current user.
|
||||
- **Returns** [`IdentityUserModel`](../../../lib/process-services-cloud/src/lib/people/models/identity-user.model.ts) - The user's details
|
||||
- **search**(name: `string`, filters?: [`IdentityUserFilterInterface`](../../../lib/process-services-cloud/src/lib/people/services/identity-user-filter.interface.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`IdentityUserModel`](../../../lib/process-services-cloud/src/lib/people/models/identity-user.model.ts)`[]>`<br/>
|
||||
Search users based on name input and filters.
|
||||
- **getCurrentUserInfo**(): `IdentityUserModel` - Gets the name and other basic details of the current user.
|
||||
- **Returns** `IdentityUserMode` - The user's details
|
||||
- **search**(name: `string`, filters?: `IdentityUserFilterInterface`)): `Observable<IdentityUserModel[]>` - Search users based on name input and filters.
|
||||
- _name:_ `string` - Search query string
|
||||
- _filters:_ [`IdentityUserFilterInterface`](../../../lib/process-services-cloud/src/lib/people/services/identity-user-filter.interface.ts) - (Optional)
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`IdentityUserModel`](../../../lib/process-services-cloud/src/lib/people/models/identity-user.model.ts)`[]>` - List of users
|
||||
- _filters:_ `IdentityUserFilterInterface` - (Optional)
|
||||
- **Returns** `Observable<IdentityUserModel[]>` - List of users
|
||||
|
||||
## See also
|
||||
|
||||
|
||||
@@ -89,6 +89,15 @@ Accesses and manipulates ACS document nodes using their node IDs.
|
||||
- _nodeId:_ `string` - ID of the target node
|
||||
- _options:_ `{ includeSource?: boolean; } & NodesIncludeQuery & ContentPagingQuery` - Optional parameters supported by JS-API
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Hold[]`](../../../lib/js-api/src/api/gs-core-rest-api/docs/Hold.md)`>` - List of assigned holds
|
||||
- **initiateFolderSizeCalculation**(nodeId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`JobIdBodyEntry`](../../../lib/js-api/src/api/content-rest-api/docs/NodesApi.md#jobidbodyentry)`>`<br/>
|
||||
Initiate a new request to calculate folder size.
|
||||
- _nodeId:_ `string` - ID of the target node
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`JobIdBodyEntry`](../../../lib/js-api/src/api/content-rest-api/docs/NodesApi.md#jobidbodyentry)`>` - Job id which can be used to track request status
|
||||
- **getFolderSizeInfo**(nodeId: `string`, jobId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SizeDetailsEntry`](../../../lib/js-api/src/api/content-rest-api/docs/NodesApi.md#sizedetailsentry)`>`<br/>
|
||||
Gets the size of a folder.
|
||||
- _nodeId:_ `string` - ID of the target node
|
||||
- _jobId:_ `string` - ID of the job started by the `initiateFolderSizeCalculation` request
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SizeDetailsEntry`](../../../lib/js-api/src/api/content-rest-api/docs/NodesApi.md#sizedetailsentry)`>` - Details of the folder
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ When the saved searches file does not exist, it will be created:
|
||||
|
||||
```typescript
|
||||
this.savedSearchService.createSavedSearchesNode('parent-node-id').subscribe((node) => {
|
||||
console.log('Created saved-searches.json node:', node);
|
||||
console.log('Created config.json node:', node);
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.9 KiB |
@@ -52,3 +52,4 @@ The pages linked below contain the licenses for all third party dependencies of
|
||||
- [ADF 7.0.0-alpha.2](license-info-7.0.0-alpha.2.md)
|
||||
- [ADF 7.0.0-alpha.3](license-info-7.0.0-alpha.3.md)
|
||||
- [ADF 7.0.0-alpha.4](license-info-7.0.0-alpha.4.md)
|
||||
- [ADF 7.0.0-alpha.6](license-info-7.0.0-alpha.6.md)
|
||||
|
||||
@@ -10,7 +10,6 @@ This page lists all third party libraries the project depends on.
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
| [@ampproject/remapping](https://github.com/ampproject/remapping) | 2.2.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [@angular/animations](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/cdk](https://github.com/angular/components) | 15.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/common](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
@@ -23,733 +22,27 @@ This page lists all third party libraries the project depends on.
|
||||
| [@angular/platform-browser](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/router](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@apollo/client](https://github.com/apollographql/apollo-client) | 3.11.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/code-frame](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/compat-data](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/core](https://github.com/babel/babel) | 7.20.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/core](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/generator](https://github.com/babel/babel) | 7.20.14 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/generator](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-annotate-as-pure](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-annotate-as-pure](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-builder-binary-assignment-operator-visitor](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-compilation-targets](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-create-class-features-plugin](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-create-regexp-features-plugin](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-define-polyfill-provider](https://github.com/babel/babel-polyfills) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-define-polyfill-provider](https://github.com/babel/babel-polyfills) | 0.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-environment-visitor](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-function-name](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-member-expression-to-functions](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-module-imports](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-module-transforms](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-optimise-call-expression](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-plugin-utils](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-remap-async-to-generator](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-replace-supers](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-simple-access](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-skip-transparent-expression-wrappers](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-split-export-declaration](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-string-parser](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-validator-identifier](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-validator-option](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-wrap-function](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helpers](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/highlight](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/parser](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-firefox-class-in-computed-class-key](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-safari-class-field-initializer-scope](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-async-generator-functions](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-class-properties](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-class-static-block](https://github.com/babel/babel) | 7.21.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-dynamic-import](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-export-namespace-from](https://github.com/babel/babel) | 7.18.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-json-strings](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-logical-assignment-operators](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-nullish-coalescing-operator](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-numeric-separator](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-optional-catch-binding](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-optional-chaining](https://github.com/babel/babel) | 7.21.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-private-methods](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-private-property-in-object](https://github.com/babel/babel-plugin-proposal-private-property-in-object) | 7.21.0-placeholder-for-preset-env.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-private-property-in-object](https://github.com/babel/babel) | 7.21.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-unicode-property-regex](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-async-generators](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators) | 7.8.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-class-properties](https://github.com/babel/babel) | 7.12.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-class-static-block](https://github.com/babel/babel) | 7.14.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-dynamic-import](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-export-namespace-from](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-export-namespace-from) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-flow](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-import-assertions](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-import-attributes](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-import-meta](https://github.com/babel/babel) | 7.10.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-json-strings](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-jsx](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-logical-assignment-operators](https://github.com/babel/babel) | 7.10.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-nullish-coalescing-operator](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-nullish-coalescing-operator) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-numeric-separator](https://github.com/babel/babel) | 7.10.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-object-rest-spread](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-optional-catch-binding](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-optional-chaining](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-chaining) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-private-property-in-object](https://github.com/babel/babel) | 7.14.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-top-level-await](https://github.com/babel/babel) | 7.14.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-typescript](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-unicode-sets-regex](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-arrow-functions](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-async-generator-functions](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-async-to-generator](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-async-to-generator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-block-scoped-functions](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-block-scoping](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-class-properties](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-class-static-block](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-classes](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-computed-properties](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-destructuring](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-dotall-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-duplicate-keys](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-duplicate-named-capturing-groups-regex](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-dynamic-import](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-exponentiation-operator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-export-namespace-from](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-flow-strip-types](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-for-of](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-function-name](https://github.com/babel/babel) | 7.25.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-json-strings](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-literals](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-logical-assignment-operators](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-member-expression-literals](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-modules-amd](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-modules-commonjs](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-modules-umd](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-named-capturing-groups-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-new-target](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-nullish-coalescing-operator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-numeric-separator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-object-rest-spread](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-object-super](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-optional-catch-binding](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-optional-chaining](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-parameters](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-private-methods](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-private-property-in-object](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-property-literals](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-regenerator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-reserved-words](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-shorthand-properties](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-spread](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-sticky-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-template-literals](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-typeof-symbol](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-typescript](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-unicode-escapes](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-unicode-property-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-unicode-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-unicode-sets-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-env](https://github.com/babel/babel) | 7.20.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-env](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-flow](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-modules](https://github.com/babel/preset-modules) | 0.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-modules](https://github.com/babel/preset-modules) | 0.1.6-no-external-plugins | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-typescript](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/register](https://github.com/babel/babel) | 7.24.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/regjsgen](https://github.com/bnjmnt4n/regjsgen) | 0.8.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/runtime](https://github.com/babel/babel) | 7.20.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/runtime](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/template](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/template](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/template](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/traverse](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/types](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-bundled-dicts](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-pipe](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-resolver](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-service-bus](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-types](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-ada](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-aws](https://github.com/streetsidesoftware/cspell-dict) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-bash](https://github.com/streetsidesoftware/cspell-dicts) | 4.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-companies](https://github.com/streetsidesoftware/cspell-dict) | 3.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-cpp](https://github.com/streetsidesoftware/cspell-dict) | 5.1.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-cryptocurrencies](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-csharp](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-css](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-dart](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-data-science](https://github.com/streetsidesoftware/cspell-dict) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-django](https://github.com/streetsidesoftware/cspell-dicts) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-docker](https://github.com/streetsidesoftware/cspell-dicts) | 1.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-dotnet](https://github.com/streetsidesoftware/cspell-dict) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-elixir](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en-common-misspellings](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en-gb](https://github.com/streetsidesoftware/cspell-dicts) | 1.1.33 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en_us](https://github.com/streetsidesoftware/cspell-dict) | 4.3.23 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-filetypes](https://github.com/streetsidesoftware/cspell-dict) | 3.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fonts](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fsharp](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fullstack](https://github.com/streetsidesoftware/cspell-dict) | 3.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-gaming-terms](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-git](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-golang](https://github.com/streetsidesoftware/cspell-dict) | 6.0.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-haskell](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-html-symbol-entities](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-html](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-java](https://github.com/streetsidesoftware/cspell-dict) | 5.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-k8s](https://github.com/streetsidesoftware/cspell-dict) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-latex](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-lorem-ipsum](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-lua](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-makefile](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-node](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-npm](https://github.com/streetsidesoftware/cspell-dict) | 5.0.18 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-php](https://github.com/streetsidesoftware/cspell-dict) | 4.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-powershell](https://github.com/streetsidesoftware/cspell-dict) | 5.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-public-licenses](https://github.com/streetsidesoftware/cspell-dict) | 2.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-python](https://github.com/streetsidesoftware/cspell-dict) | 4.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-r](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-ruby](https://github.com/streetsidesoftware/cspell-dicts) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-rust](https://github.com/streetsidesoftware/cspell-dict) | 4.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-scala](https://github.com/streetsidesoftware/cspell-dict) | 5.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-software-terms](https://github.com/streetsidesoftware/cspell-dict) | 3.4.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-sql](https://github.com/streetsidesoftware/cspell-dicts) | 2.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-svelte](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-swift](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-typescript](https://github.com/streetsidesoftware/cspell-dict) | 3.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-vue](https://github.com/streetsidesoftware/cspell-dicts) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dynamic-import](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/strong-weak-map](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@esbuild/darwin-arm64](https://github.com/evanw/esbuild) | 0.17.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@esbuild/darwin-arm64](https://github.com/evanw/esbuild) | 0.21.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@graphql-typed-document-node/core](https://github.com/dotansimha/graphql-typed-document-node) | 3.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/gen-mapping](https://github.com/jridgewell/gen-mapping) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/gen-mapping](https://github.com/jridgewell/gen-mapping) | 0.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/resolve-uri](https://github.com/jridgewell/resolve-uri) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/set-array](https://github.com/jridgewell/set-array) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/sourcemap-codec](https://github.com/jridgewell/sourcemap-codec) | 1.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/trace-mapping](https://github.com/jridgewell/trace-mapping) | 0.3.25 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@kurkle/color](https://github.com/kurkle/color) | 0.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@mat-datetimepicker/core](https://github.com/kuhnroyal/mat-datetimepicker) | 11.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/animation](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/auto-init](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/banner](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/base](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/button](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/card](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/checkbox](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/chips](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/circular-progress](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/data-table](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/density](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/dialog](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/dom](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/drawer](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/elevation](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/fab](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/feature-targeting](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/floating-label](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/focus-ring](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/form-field](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/icon-button](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/image-list](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/layout-grid](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/line-ripple](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/linear-progress](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/list](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/menu-surface](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/menu](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/notched-outline](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/progress-indicator](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/radio](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/ripple](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/rtl](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/segmented-button](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/select](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/shape](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/slider](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/snackbar](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/switch](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-bar](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-indicator](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-scroller](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/textfield](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/theme](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tokens](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tooltip](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/top-app-bar](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/touch-target](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/typography](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@ngx-translate/core](https://github.com/ngx-translate/core) | 14.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.scandir](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir) | 2.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.stat](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat) | 2.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.walk](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk) | 1.2.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@pkgr/core](https://github.com/un-ts/pkgr) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@sindresorhus/merge-streams](https://github.com/sindresorhus/merge-streams) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/codemod](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core-server](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/csf](https://github.com/ComponentDriven/csf) | 0.1.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/theming](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/body-parser](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.19.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/connect](https://github.com/DefinitelyTyped/DefinitelyTyped) | 3.4.38 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/cross-spawn](https://github.com/DefinitelyTyped/DefinitelyTyped) | 6.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/emscripten](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.39.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/estree](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/express-serve-static-core](https://github.com/DefinitelyTyped/DefinitelyTyped) | 4.19.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/http-errors](https://github.com/DefinitelyTyped/DefinitelyTyped) | 2.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/mime](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) | 18.19.42 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) | 20.14.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/prop-types](https://github.com/DefinitelyTyped/DefinitelyTyped) | 15.7.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/qs](https://github.com/DefinitelyTyped/DefinitelyTyped) | 6.9.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/range-parser](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.2.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped) | 18.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped) | 7.5.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/send](https://github.com/DefinitelyTyped/DefinitelyTyped) | 0.17.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/serve-static](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.15.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/caches](https://github.com/benjamn/wryware) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/context](https://github.com/benjamn/wryware) | 0.7.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/equality](https://github.com/benjamn/wryware) | 0.5.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/trie](https://github.com/benjamn/wryware) | 0.4.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/trie](https://github.com/benjamn/wryware) | 0.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@yarnpkg/fslib](https://github.com/yarnpkg/berry) | 2.10.3 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [@yarnpkg/libzip](https://github.com/yarnpkg/berry) | 2.3.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [accepts](https://github.com/jshttp/accepts) | 1.3.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [acorn](https://github.com/acornjs/acorn) | 8.12.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components) | 7.0.0-alpha.1 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [angular-oauth2-oidc-jwks](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc) | 13.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-regex](https://github.com/chalk/ansi-regex) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-styles](https://github.com/chalk/ansi-styles) | 3.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-styles](https://github.com/chalk/ansi-styles) | 4.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc) | 15.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [apollo-angular](https://github.com/kamilkisiela/apollo-angular) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [argparse](https://github.com/nodeca/argparse) | 2.0.1 | [Python-2.0](http://www.opensource.org/licenses/Python-2.0) |
|
||||
| [array-flatten](https://github.com/blakeembrey/array-flatten) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [array-timsort](https://github.com/kaelzhang/node-array-timsort) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [asap](https://github.com/kriskowal/asap) | 2.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ast-types](https://github.com/benjamn/ast-types) | 0.16.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [asynckit](https://github.com/alexindigo/asynckit) | 0.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [available-typed-arrays](https://github.com/inspect-js/available-typed-arrays) | 1.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| babel-core | 7.0.0-bridge.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-corejs2](https://github.com/babel/babel-polyfills) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-corejs2](https://github.com/babel/babel-polyfills) | 0.4.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-corejs3](https://github.com/babel/babel-polyfills) | 0.10.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-corejs3](https://github.com/babel/babel-polyfills) | 0.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-regenerator](https://github.com/babel/babel-polyfills) | 0.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-regenerator](https://github.com/babel/babel-polyfills) | 0.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [backo2](https://github.com/mokesmokes/backo) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [balanced-match](https://github.com/juliangruber/balanced-match) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [base64-js](https://github.com/beatgammit/base64-js) | 1.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [bl](https://github.com/rvagg/bl) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [body-parser](https://github.com/expressjs/body-parser) | 1.20.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [brace-expansion](https://github.com/juliangruber/brace-expansion) | 1.1.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [braces](https://github.com/micromatch/braces) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [browser-assert](https://github.com/socialally/browser-assert) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [browserslist](https://github.com/browserslist/browserslist) | 4.21.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [browserslist](https://github.com/browserslist/browserslist) | 4.23.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [buffer-from](https://github.com/LinusU/buffer-from) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [buffer](https://github.com/feross/buffer) | 5.7.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [bytes](https://github.com/visionmedia/bytes.js) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [call-bind](https://github.com/ljharb/call-bind) | 1.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [callsites](https://github.com/sindresorhus/callsites) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | 1.0.30001643 | [CC-BY-4.0](http://creativecommons.org/licenses/by/4.0/legalcode) |
|
||||
| [chalk](https://github.com/chalk/chalk) | 2.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chalk](https://github.com/chalk/chalk) | 4.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | 4.4.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chownr](https://github.com/isaacs/chownr) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [citty](https://github.com/unjs/citty) | 0.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [clear-module](https://github.com/sindresorhus/clear-module) | 4.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cli-cursor](https://github.com/sindresorhus/cli-cursor) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cli-spinners](https://github.com/sindresorhus/cli-spinners) | 2.6.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [clone-deep](https://github.com/jonschlinkert/clone-deep) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [clone](https://github.com/pvorb/node-clone) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-convert](https://github.com/Qix-/color-convert) | 1.9.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-convert](https://github.com/Qix-/color-convert) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-name](https://github.com/dfcreative/color-name) | 1.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-name](https://github.com/colorjs/color-name) | 1.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [combined-stream](https://github.com/felixge/node-combined-stream) | 1.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [commander](https://github.com/tj/commander.js) | 6.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [comment-json](https://github.com/kaelzhang/node-comment-json) | 4.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [commondir](https://github.com/substack/node-commondir) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [component-emitter](https://github.com/sindresorhus/component-emitter) | 1.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [concat-map](https://github.com/substack/node-concat-map) | 0.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [confbox](https://github.com/unjs/confbox) | 0.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [configstore](https://github.com/yeoman/configstore) | 6.0.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [consola](https://github.com/unjs/consola) | 3.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [content-disposition](https://github.com/jshttp/content-disposition) | 0.5.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [content-type](https://github.com/jshttp/content-type) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [convert-source-map](https://github.com/thlorenz/convert-source-map) | 1.9.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [convert-source-map](https://github.com/thlorenz/convert-source-map) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookie-signature](https://github.com/visionmedia/node-cookie-signature) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookie](https://github.com/jshttp/cookie) | 0.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookiejar](https://github.com/bmeck/node-cookiejar) | 2.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [core-js-compat](https://github.com/zloirock/core-js) | 3.37.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [core-util-is](https://github.com/isaacs/core-util-is) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cosmiconfig](https://github.com/davidtheclark/cosmiconfig) | 8.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cropperjs](https://github.com/fengyuanchen/cropperjs) | 1.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cross-spawn](https://github.com/moxystudio/node-cross-spawn) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [crypto-random-string](https://github.com/sindresorhus/crypto-random-string) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-dictionary](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-glob](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-grammar](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-io](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-lib](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-trie-lib](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [csstype](https://github.com/frenic/csstype) | 3.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [d](https://github.com/medikoo/d) | 1.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [date-fns](https://github.com/date-fns/date-fns) | 2.30.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [debug](https://github.com/visionmedia/debug) | 2.6.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [debug](https://github.com/debug-js/debug) | 4.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [defaults](https://github.com/sindresorhus/node-defaults) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [define-data-property](https://github.com/ljharb/define-data-property) | 1.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [defu](https://github.com/unjs/defu) | 6.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [delayed-stream](https://github.com/felixge/node-delayed-stream) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [depd](https://github.com/dougwilson/nodejs-depd) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [destroy](https://github.com/stream-utils/destroy) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [detect-indent](https://github.com/sindresorhus/detect-indent) | 6.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dezalgo](https://github.com/npm/dezalgo) | 1.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [dot-prop](https://github.com/sindresorhus/dot-prop) | 6.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| dotenv-expand | 5.1.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [ee-first](https://github.com/jonathanong/ee-first) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | 1.5.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [encodeurl](https://github.com/pillarjs/encodeurl) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [encoding](https://github.com/andris9/encoding) | 0.1.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [entities](https://github.com/fb55/entities) | 4.5.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [envinfo](https://github.com/tabrindle/envinfo) | 7.13.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [error-ex](https://github.com/qix-/node-error-ex) | 1.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es-define-property](https://github.com/ljharb/es-define-property) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es-errors](https://github.com/ljharb/es-errors) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es5-ext](https://github.com/medikoo/es5-ext) | 0.10.64 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [es6-iterator](https://github.com/medikoo/es6-iterator) | 2.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es6-symbol](https://github.com/medikoo/es6-symbol) | 3.1.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| esbuild-register | 3.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esbuild](https://github.com/evanw/esbuild) | 0.17.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esbuild](https://github.com/evanw/esbuild) | 0.21.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [escalade](https://github.com/lukeed/escalade) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [escape-html](https://github.com/component/escape-html) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [escape-string-regexp](https://github.com/sindresorhus/escape-string-regexp) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esniff](https://github.com/medikoo/esniff) | 2.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [esprima](https://github.com/jquery/esprima) | 4.0.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [estree-walker](https://github.com/Rich-Harris/estree-walker) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esutils](https://github.com/estools/esutils) | 2.0.3 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [etag](https://github.com/jshttp/etag) | 1.8.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [eve-raphael](https://github.com/tomasAlabes/eve) | 0.5.0 | [Apache](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [event-emitter](https://github.com/medikoo/event-emitter) | 0.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [eventemitter3](https://github.com/primus/eventemitter3) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [execa](https://github.com/sindresorhus/execa) | 5.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [execa](https://github.com/sindresorhus/execa) | 8.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [express](https://github.com/expressjs/express) | 4.19.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ext](https://github.com/medikoo/es5-ext.git#ext) | 1.7.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fast-equals](https://github.com/planttheidea/fast-equals) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-equals](https://github.com/planttheidea/fast-equals) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-glob](https://github.com/mrmlnc/fast-glob) | 3.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-safe-stringify](https://github.com/davidmarkclements/fast-safe-stringify) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-sha256](https://github.com/dchest/fast-sha256-js) | 1.3.0 | [Unlicense](http://unlicense.org/) |
|
||||
| [fastq](https://github.com/mcollina/fastq) | 1.17.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fd-package-json](https://github.com/es-tooling/fd-package-json) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fill-range](https://github.com/jonschlinkert/fill-range) | 7.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [finalhandler](https://github.com/pillarjs/finalhandler) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-cache-dir](https://github.com/avajs/find-cache-dir) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-up](https://github.com/sindresorhus/find-up) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-up](https://github.com/sindresorhus/find-up) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-up](https://github.com/sindresorhus/find-up) | 6.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [flow-parser](https://github.com/facebook/flow) | 0.242.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [for-each](https://github.com/Raynos/for-each) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [form-data](https://github.com/form-data/form-data) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [formidable](https://github.com/node-formidable/formidable) | 3.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [forwarded](https://github.com/jshttp/forwarded) | 0.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fresh](https://github.com/jshttp/fresh) | 0.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fs-extra](https://github.com/jprichardson/node-fs-extra) | 11.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fs-minipass](https://github.com/npm/fs-minipass) | 2.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fs.realpath](https://github.com/isaacs/fs.realpath) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [function-bind](https://github.com/Raynos/function-bind) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gensequence](https://github.com/streetsidesoftware/GenSequence) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gensync](https://github.com/loganfsmyth/gensync) | 1.0.0-beta.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-intrinsic](https://github.com/ljharb/get-intrinsic) | 1.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-stream](https://github.com/sindresorhus/get-stream) | 6.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-stream](https://github.com/sindresorhus/get-stream) | 8.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [giget](https://github.com/unjs/giget) | 1.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [glob-parent](https://github.com/gulpjs/glob-parent) | 5.1.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [glob](https://github.com/isaacs/node-glob) | 7.2.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [global-dirs](https://github.com/sindresorhus/global-dirs) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [globals](https://github.com/sindresorhus/globals) | 11.12.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [globby](https://github.com/sindresorhus/globby) | 14.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gopd](https://github.com/ljharb/gopd) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graceful-fs](https://github.com/isaacs/node-graceful-fs) | 4.2.11 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [graphql-tag](https://github.com/apollographql/graphql-tag) | 2.12.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graphql](https://github.com/graphql/graphql-js) | 16.9.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-flag](https://github.com/sindresorhus/has-flag) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-flag](https://github.com/sindresorhus/has-flag) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-own-prop](https://github.com/sindresorhus/has-own-prop) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-property-descriptors](https://github.com/inspect-js/has-property-descriptors) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-proto](https://github.com/inspect-js/has-proto) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-symbols](https://github.com/inspect-js/has-symbols) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-tostringtag](https://github.com/inspect-js/has-tostringtag) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [hasown](https://github.com/inspect-js/hasOwn) | 2.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [hexoid](https://github.com/lukeed/hexoid) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [hoist-non-react-statics](https://github.com/mridgway/hoist-non-react-statics) | 3.3.2 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [http-errors](https://github.com/jshttp/http-errors) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [human-signals](https://github.com/ehmicky/human-signals) | 2.1.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [human-signals](https://github.com/ehmicky/human-signals) | 5.0.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [iconv-lite](https://github.com/ashtuchkin/iconv-lite) | 0.4.24 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [iconv-lite](https://github.com/ashtuchkin/iconv-lite) | 0.6.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ieee754](https://github.com/feross/ieee754) | 1.2.1 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [ignore](https://github.com/kaelzhang/node-ignore) | 5.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [import-fresh](https://github.com/sindresorhus/import-fresh) | 3.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [import-meta-resolve](https://github.com/wooorm/import-meta-resolve) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [imurmurhash](https://github.com/jensyt/imurmurhash-js) | 0.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [inflight](https://github.com/npm/inflight) | 1.0.6 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [inherits](https://github.com/isaacs/inherits) | 2.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ini](https://github.com/isaacs/ini) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ipaddr.js](https://github.com/whitequark/ipaddr.js) | 1.9.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-arguments](https://github.com/inspect-js/is-arguments) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-arrayish](https://github.com/qix-/node-is-arrayish) | 0.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-callable](https://github.com/inspect-js/is-callable) | 1.2.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-core-module](https://github.com/inspect-js/is-core-module) | 2.15.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-extglob](https://github.com/jonschlinkert/is-extglob) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-generator-function](https://github.com/inspect-js/is-generator-function) | 1.0.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-glob](https://github.com/micromatch/is-glob) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-interactive](https://github.com/sindresorhus/is-interactive) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-number](https://github.com/jonschlinkert/is-number) | 7.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-obj](https://github.com/sindresorhus/is-obj) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-plain-object](https://github.com/jonschlinkert/is-plain-object) | 2.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-stream](https://github.com/sindresorhus/is-stream) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-stream](https://github.com/sindresorhus/is-stream) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-typed-array](https://github.com/inspect-js/is-typed-array) | 1.1.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-typedarray](https://github.com/hughsk/is-typedarray) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-unicode-supported](https://github.com/sindresorhus/is-unicode-supported) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [isexe](https://github.com/isaacs/isexe) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [isobject](https://github.com/jonschlinkert/isobject) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [iterall](https://github.com/leebyron/iterall) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [js-tokens](https://github.com/lydell/js-tokens) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [js-yaml](https://github.com/nodeca/js-yaml) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jscodeshift](https://github.com/facebook/jscodeshift) | 0.15.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsesc](https://github.com/mathiasbynens/jsesc) | 0.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsesc](https://github.com/mathiasbynens/jsesc) | 2.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [json-parse-even-better-errors](https://github.com/npm/json-parse-even-better-errors) | 2.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [json5](https://github.com/json5/json5) | 2.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsonfile](https://github.com/jprichardson/node-jsonfile) | 6.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsrsasign](https://github.com/kjur/jsrsasign) | 11.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [kind-of](https://github.com/jonschlinkert/kind-of) | 6.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [kleur](https://github.com/lukeed/kleur) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [leven](https://github.com/sindresorhus/leven) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lines-and-columns](https://github.com/eventualbuddha/lines-and-columns) | 1.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [locate-path](https://github.com/sindresorhus/locate-path) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [locate-path](https://github.com/sindresorhus/locate-path) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [locate-path](https://github.com/sindresorhus/locate-path) | 7.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lodash-es](https://github.com/lodash/lodash) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lodash.debounce](https://github.com/lodash/lodash) | 4.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lodash](https://github.com/lodash/lodash) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [log-symbols](https://github.com/sindresorhus/log-symbols) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [loose-envify](https://github.com/zertosh/loose-envify) | 1.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lru-cache](https://github.com/isaacs/node-lru-cache) | 5.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [lru-cache](https://github.com/isaacs/node-lru-cache) | 6.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [make-dir](https://github.com/sindresorhus/make-dir) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [material-icons](https://github.com/marella/material-icons) | 1.13.12 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [media-typer](https://github.com/jshttp/media-typer) | 0.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [merge-descriptors](https://github.com/component/merge-descriptors) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [merge-stream](https://github.com/grncdr/merge-stream) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [merge2](https://github.com/teambition/merge2) | 1.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [methods](https://github.com/jshttp/methods) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [micromatch](https://github.com/micromatch/micromatch) | 4.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime-db](https://github.com/jshttp/mime-db) | 1.52.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime-types](https://github.com/jshttp/mime-types) | 2.1.35 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime](https://github.com/broofa/node-mime) | 1.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime](https://github.com/broofa/mime) | 2.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mimic-fn](https://github.com/sindresorhus/mimic-fn) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mimic-fn](https://github.com/sindresorhus/mimic-fn) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [minimatch-browser](https://github.com/isaacs/minimatch) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimatch](https://github.com/isaacs/minimatch) | 3.0.5 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimatch](https://github.com/isaacs/minimatch) | 3.1.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minipass](https://github.com/isaacs/minipass) | 3.3.6 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minipass](https://github.com/isaacs/minipass) | 5.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minizlib](https://github.com/isaacs/minizlib) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mkdirp](https://github.com/isaacs/node-mkdirp) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mlly](https://github.com/unjs/mlly) | 1.7.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [monaco-editor](https://github.com/microsoft/monaco-editor) | 0.34.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ms](https://github.com/zeit/ms) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ms](https://github.com/zeit/ms) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ms](https://github.com/vercel/ms) | 2.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [negotiator](https://github.com/jshttp/negotiator) | 0.6.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [neo-async](https://github.com/suguru03/neo-async) | 2.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [next-tick](https://github.com/medikoo/next-tick) | 1.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ng2-charts](https://github.com/valor-software/ng2-charts) | 4.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ngx-monaco-editor-v2](https://github.com/miki995/ngx-monaco-editor-v2) | 15.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [node-dir](https://github.com/fshost/node-dir) | 0.1.17 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [node-fetch-native](https://github.com/unjs/node-fetch-native) | 1.6.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [node-fetch](https://github.com/bitinn/node-fetch) | 2.7.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [node-releases](https://github.com/chicoxyzzy/node-releases) | 2.0.18 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [npm-run-path](https://github.com/sindresorhus/npm-run-path) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [npm-run-path](https://github.com/sindresorhus/npm-run-path) | 5.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [nypm](https://github.com/unjs/nypm) | 0.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [object-assign](https://github.com/sindresorhus/object-assign) | 4.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [object-inspect](https://github.com/inspect-js/object-inspect) | 1.13.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ohash](https://github.com/unjs/ohash) | 1.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [on-finished](https://github.com/jshttp/on-finished) | 2.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [once](https://github.com/isaacs/once) | 1.4.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [onetime](https://github.com/sindresorhus/onetime) | 5.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [onetime](https://github.com/sindresorhus/onetime) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [optimism](https://github.com/benjamn/optimism) | 0.18.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ora](https://github.com/sindresorhus/ora) | 5.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-limit](https://github.com/sindresorhus/p-limit) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-limit](https://github.com/sindresorhus/p-limit) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-limit](https://github.com/sindresorhus/p-limit) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-locate](https://github.com/sindresorhus/p-locate) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-locate](https://github.com/sindresorhus/p-locate) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-locate](https://github.com/sindresorhus/p-locate) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-try](https://github.com/sindresorhus/p-try) | 2.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parent-module](https://github.com/sindresorhus/parent-module) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parent-module](https://github.com/sindresorhus/parent-module) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parse-json](https://github.com/sindresorhus/parse-json) | 5.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parse5](https://github.com/inikulin/parse5) | 7.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parseurl](https://github.com/pillarjs/parseurl) | 1.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-exists](https://github.com/sindresorhus/path-exists) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-exists](https://github.com/sindresorhus/path-exists) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-exists](https://github.com/sindresorhus/path-exists) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-is-absolute](https://github.com/sindresorhus/path-is-absolute) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-key](https://github.com/sindresorhus/path-key) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-key](https://github.com/sindresorhus/path-key) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-parse](https://github.com/jbgutierrez/path-parse) | 1.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-to-regexp](https://github.com/component/path-to-regexp) | 0.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-type](https://github.com/sindresorhus/path-type) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-type](https://github.com/sindresorhus/path-type) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path2d-polyfill](https://github.com/nilzona/path2d-polyfill) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pathe](https://github.com/unjs/pathe) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pdfjs-dist](https://github.com/mozilla/pdfjs-dist) | 3.3.122 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [picocolors](https://github.com/alexeyraspopov/picocolors) | 1.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [picomatch](https://github.com/micromatch/picomatch) | 2.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pify](https://github.com/sindresorhus/pify) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pirates](https://github.com/danez/pirates) | 4.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pkg-dir](https://github.com/sindresorhus/pkg-dir) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pkg-types](https://github.com/unjs/pkg-types) | 1.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [possible-typed-array-names](https://github.com/ljharb/possible-typed-array-names) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [prettier](https://github.com/prettier/prettier) | 3.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [process](https://github.com/shtylman/node-process) | 0.11.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [prompts](https://github.com/terkelg/prompts) | 2.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [prop-types](https://github.com/facebook/prop-types) | 15.8.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [proxy-addr](https://github.com/jshttp/proxy-addr) | 2.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [qs](https://github.com/ljharb/qs) | 6.11.0 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [queue-microtask](https://github.com/feross/queue-microtask) | 1.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [range-parser](https://github.com/jshttp/range-parser) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [raphael](https://github.com/DmitryBaranovskiy/raphael) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [raw-body](https://github.com/stream-utils/raw-body) | 2.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react-dom](https://github.com/facebook/react) | 18.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react-is](https://github.com/facebook/react) | 16.13.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react](https://github.com/facebook/react) | 18.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [readable-stream](https://github.com/nodejs/readable-stream) | 3.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [recast](https://github.com/benjamn/recast) | 0.23.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerate-unicode-properties](https://github.com/mathiasbynens/regenerate-unicode-properties) | 10.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerate](https://github.com/mathiasbynens/regenerate) | 1.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerator-runtime](https://github.com/facebook/regenerator/tree/main/packages/runtime) | 0.13.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerator-runtime](https://github.com/facebook/regenerator/tree/main/packages/runtime) | 0.14.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerator-transform](https://github.com/facebook/regenerator/tree/main/packages/transform) | 0.15.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regexpu-core](https://github.com/mathiasbynens/regexpu-core) | 5.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regjsparser](https://github.com/jviereck/regjsparser) | 0.9.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [rehackt](https://github.com/phryneas/rehackt) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [repeat-string](https://github.com/jonschlinkert/repeat-string) | 1.6.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [resolve-from](https://github.com/sindresorhus/resolve-from) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [resolve-from](https://github.com/sindresorhus/resolve-from) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [resolve](https://github.com/browserify/resolve) | 1.22.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [response-iterator](https://github.com/kmalakoff/response-iterator) | 0.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [restore-cursor](https://github.com/sindresorhus/restore-cursor) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [reusify](https://github.com/mcollina/reusify) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rimraf](https://github.com/isaacs/rimraf) | 2.6.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [run-parallel](https://github.com/feross/run-parallel) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rxjs](https://github.com/reactivex/rxjs) | 7.8.1 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [safe-buffer](https://github.com/feross/safe-buffer) | 5.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [safer-buffer](https://github.com/ChALkeR/safer-buffer) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [safevalues](https://github.com/google/safevalues) | 0.3.4 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [scheduler](https://github.com/facebook/react) | 0.23.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [semver](https://github.com/npm/node-semver) | 5.7.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [semver](https://github.com/npm/node-semver) | 6.3.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [semver](https://github.com/npm/node-semver) | 7.5.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [send](https://github.com/pillarjs/send) | 0.18.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [serve-static](https://github.com/expressjs/serve-static) | 1.15.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [set-function-length](https://github.com/ljharb/set-function-length) | 1.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [setprototypeof](https://github.com/wesleytodd/setprototypeof) | 1.2.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [shallow-clone](https://github.com/jonschlinkert/shallow-clone) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [shebang-command](https://github.com/kevva/shebang-command) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [shebang-regex](https://github.com/sindresorhus/shebang-regex) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [side-channel](https://github.com/ljharb/side-channel) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [signal-exit](https://github.com/tapjs/signal-exit) | 3.0.7 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [signal-exit](https://github.com/tapjs/signal-exit) | 4.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [sisteransi](https://github.com/terkelg/sisteransi) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [slash](https://github.com/sindresorhus/slash) | 5.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [source-map-support](https://github.com/evanw/node-source-map-support) | 0.5.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [source-map](https://github.com/mozilla/source-map) | 0.6.1 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [statuses](https://github.com/jshttp/statuses) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [storybook](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [string_decoder](https://github.com/nodejs/string_decoder) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-ansi](https://github.com/chalk/strip-ansi) | 6.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-final-newline](https://github.com/sindresorhus/strip-final-newline) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-final-newline](https://github.com/sindresorhus/strip-final-newline) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-json-comments](https://github.com/sindresorhus/strip-json-comments) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [subscriptions-transport-ws](https://github.com/apollostack/subscriptions-transport-ws) | 0.11.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [superagent](https://github.com/ladjs/superagent) | 9.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [supports-color](https://github.com/chalk/supports-color) | 5.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [supports-color](https://github.com/chalk/supports-color) | 7.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [supports-preserve-symlinks-flag](https://github.com/inspect-js/node-supports-preserve-symlinks-flag) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [symbol-observable](https://github.com/blesh/symbol-observable) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [symbol-observable](https://github.com/blesh/symbol-observable) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [synckit](https://github.com/un-ts/synckit) | 0.8.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tar](https://github.com/isaacs/node-tar) | 6.2.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [temp-dir](https://github.com/sindresorhus/temp-dir) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [temp](https://github.com/bruce/node-temp) | 0.8.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tempy](https://github.com/sindresorhus/tempy) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tiny-invariant](https://github.com/alexreardon/tiny-invariant) | 1.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [to-fast-properties](https://github.com/sindresorhus/to-fast-properties) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [to-regex-range](https://github.com/micromatch/to-regex-range) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [toidentifier](https://github.com/component/toidentifier) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tr46](https://github.com/Sebmaster/tr46.js) | 0.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-dedent](https://github.com/tamino-martinius/node-ts-dedent) | 2.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-invariant](https://github.com/apollographql/invariant-packages) | 0.10.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 1.14.1 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 2.6.3 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [type-fest](https://github.com/sindresorhus/type-fest) | 1.4.0 | ([MIT](http://www.opensource.org/licenses/MIT) OR [CC0-1.0](http://creativecommons.org/publicdomain/zero/1.0/legalcode)) |
|
||||
| [type-fest](https://github.com/sindresorhus/type-fest) | 2.19.0 | ([MIT](http://www.opensource.org/licenses/MIT) OR [CC0-1.0](http://creativecommons.org/publicdomain/zero/1.0/legalcode)) |
|
||||
| [type-is](https://github.com/jshttp/type-is) | 1.6.18 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [type](https://github.com/medikoo/type) | 2.7.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [typedarray-to-buffer](https://github.com/feross/typedarray-to-buffer) | 3.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ufo](https://github.com/unjs/ufo) | 1.5.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [undici-types](https://github.com/nodejs/undici) | 5.26.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicode-canonical-property-names-ecmascript](https://github.com/mathiasbynens/unicode-canonical-property-names-ecmascript) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicode-match-property-ecmascript](https://github.com/mathiasbynens/unicode-match-property-ecmascript) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicode-match-property-value-ecmascript](https://github.com/mathiasbynens/unicode-match-property-value-ecmascript) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicode-property-aliases-ecmascript](https://github.com/mathiasbynens/unicode-property-aliases-ecmascript) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicorn-magic](https://github.com/sindresorhus/unicorn-magic) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unique-string](https://github.com/sindresorhus/unique-string) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [universalify](https://github.com/RyanZim/universalify) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unpipe](https://github.com/stream-utils/unpipe) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [update-browserslist-db](https://github.com/browserslist/update-db) | 1.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [util-deprecate](https://github.com/TooTallNate/util-deprecate) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [util](https://github.com/browserify/node-util) | 0.12.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [utils-merge](https://github.com/jaredhanson/utils-merge) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vary](https://github.com/jshttp/vary) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vscode-languageserver-textdocument](https://github.com/Microsoft/vscode-languageserver-node) | 1.0.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vscode-uri](https://github.com/microsoft/vscode-uri) | 3.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [walk-up-path](https://github.com/isaacs/walk-up-path) | 3.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [wcwidth](https://github.com/timoxley/wcwidth) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [web-streams-polyfill](https://github.com/MattiasBuelens/web-streams-polyfill) | 3.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [webidl-conversions](https://github.com/jsdom/webidl-conversions) | 3.0.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [whatwg-url](https://github.com/jsdom/whatwg-url) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [which-typed-array](https://github.com/inspect-js/which-typed-array) | 1.1.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [which](https://github.com/isaacs/node-which) | 2.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [wrappy](https://github.com/npm/wrappy) | 1.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [write-file-atomic](https://github.com/iarna/write-file-atomic) | 2.4.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [write-file-atomic](https://github.com/npm/write-file-atomic) | 3.0.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ws](https://github.com/websockets/ws) | 7.5.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ws](https://github.com/websockets/ws) | 8.18.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [xdg-basedir](https://github.com/sindresorhus/xdg-basedir) | 5.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [yallist](https://github.com/isaacs/yallist) | 3.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [yallist](https://github.com/isaacs/yallist) | 4.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [yocto-queue](https://github.com/sindresorhus/yocto-queue) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [yocto-queue](https://github.com/sindresorhus/yocto-queue) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zen-observable-ts](https://github.com/apollographql/zen-observable-ts) | 1.2.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zen-observable](https://github.com/zenparsing/zen-observable) | 0.8.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zone.js](https://github.com/angular/angular) | 0.11.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
|
||||
|
||||
@@ -0,0 +1,520 @@
|
||||
---
|
||||
Title: License info, alfresco-ng2-components 7.0.0-alpha.6
|
||||
---
|
||||
|
||||
# License information for alfresco-ng2-components 7.0.0-alpha.6
|
||||
|
||||
This page lists all third party libraries the project depends on.
|
||||
|
||||
## Libraries
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
| [@adobe/css-tools](https://github.com/adobe/css-tools) | 4.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/animations](https://github.com/angular/angular) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/cdk](https://github.com/angular/components) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/common](https://github.com/angular/angular) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/compiler](https://github.com/angular/angular) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/core](https://github.com/angular/angular) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/forms](https://github.com/angular/angular) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material-date-fns-adapter](https://github.com/angular/components) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material](https://github.com/angular/components) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser](https://github.com/angular/angular) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/router](https://github.com/angular/angular) | 16.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@apollo/client](https://github.com/apollographql/apollo-client) | 3.11.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/code-frame](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-validator-identifier](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/highlight](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/runtime](https://github.com/babel/babel) | 7.22.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-bundled-dicts](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-pipe](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-resolver](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-service-bus](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-types](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-ada](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-aws](https://github.com/streetsidesoftware/cspell-dict) | 4.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-bash](https://github.com/streetsidesoftware/cspell-dict) | 4.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-companies](https://github.com/streetsidesoftware/cspell-dict) | 3.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-cpp](https://github.com/streetsidesoftware/cspell-dict) | 5.1.16 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-cryptocurrencies](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-csharp](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-css](https://github.com/streetsidesoftware/cspell-dict) | 4.0.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-dart](https://github.com/streetsidesoftware/cspell-dict) | 2.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-data-science](https://github.com/streetsidesoftware/cspell-dict) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-django](https://github.com/streetsidesoftware/cspell-dicts) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-docker](https://github.com/streetsidesoftware/cspell-dicts) | 1.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-dotnet](https://github.com/streetsidesoftware/cspell-dict) | 5.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-elixir](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en-common-misspellings](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en-gb](https://github.com/streetsidesoftware/cspell-dicts) | 1.1.33 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en_us](https://github.com/streetsidesoftware/cspell-dict) | 4.3.23 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-filetypes](https://github.com/streetsidesoftware/cspell-dict) | 3.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fonts](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fsharp](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fullstack](https://github.com/streetsidesoftware/cspell-dict) | 3.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-gaming-terms](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-git](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-golang](https://github.com/streetsidesoftware/cspell-dict) | 6.0.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-haskell](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-html-symbol-entities](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-html](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-java](https://github.com/streetsidesoftware/cspell-dict) | 5.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-k8s](https://github.com/streetsidesoftware/cspell-dict) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-latex](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-lorem-ipsum](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-lua](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-makefile](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-node](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-npm](https://github.com/streetsidesoftware/cspell-dict) | 5.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-php](https://github.com/streetsidesoftware/cspell-dict) | 4.0.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-powershell](https://github.com/streetsidesoftware/cspell-dict) | 5.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-public-licenses](https://github.com/streetsidesoftware/cspell-dict) | 2.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-python](https://github.com/streetsidesoftware/cspell-dict) | 4.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-r](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-ruby](https://github.com/streetsidesoftware/cspell-dict) | 5.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-rust](https://github.com/streetsidesoftware/cspell-dict) | 4.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-scala](https://github.com/streetsidesoftware/cspell-dict) | 5.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-software-terms](https://github.com/streetsidesoftware/cspell-dict) | 3.4.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-sql](https://github.com/streetsidesoftware/cspell-dict) | 2.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-svelte](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-swift](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-typescript](https://github.com/streetsidesoftware/cspell-dict) | 3.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-vue](https://github.com/streetsidesoftware/cspell-dicts) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dynamic-import](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/strong-weak-map](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@esbuild/linux-x64](https://github.com/evanw/esbuild) | 0.19.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@graphql-typed-document-node/core](https://github.com/dotansimha/graphql-typed-document-node) | 3.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@kurkle/color](https://github.com/kurkle/color) | 0.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@mapbox/node-pre-gyp](https://github.com/mapbox/node-pre-gyp) | 1.0.11 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [@mat-datetimepicker/core](https://github.com/kuhnroyal/mat-datetimepicker) | 12.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/animation](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/auto-init](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/banner](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/base](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/button](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/card](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/checkbox](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/chips](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/circular-progress](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/data-table](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/density](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/dialog](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/dom](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/drawer](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/elevation](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/fab](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/feature-targeting](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/floating-label](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/focus-ring](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/form-field](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/icon-button](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/image-list](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/layout-grid](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/line-ripple](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/linear-progress](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/list](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/menu-surface](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/menu](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/notched-outline](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/progress-indicator](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/radio](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/ripple](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/rtl](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/segmented-button](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/select](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/shape](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/slider](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/snackbar](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/switch](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-bar](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-indicator](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-scroller](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/textfield](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/theme](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tokens](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tooltip](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/top-app-bar](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/touch-target](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/typography](https://github.com/material-components/material-components-web) | 15.0.0-canary.bc9ae6c9c.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@ngx-translate/core](https://github.com/ngx-translate/core) | 14.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.scandir](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir) | 2.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.stat](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat) | 2.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.walk](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk) | 1.2.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@pkgr/core](https://github.com/un-ts/pkgr) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook) | 8.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core-server](https://github.com/storybookjs/storybook) | 8.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core](https://github.com/storybookjs/storybook) | 8.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/csf](https://github.com/ComponentDriven/csf) | 0.1.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/global](https://github.com/storybookjs/global) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/instrumenter](https://github.com/storybookjs/storybook) | 8.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/test](https://github.com/storybookjs/storybook) | 8.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/theming](https://github.com/storybookjs/storybook) | 8.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | 10.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) | 6.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@testing-library/user-event](https://github.com/testing-library/user-event) | 14.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@ts-morph/common](https://github.com/dsherret/ts-morph) | 0.21.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/aria-query](https://github.com/DefinitelyTyped/DefinitelyTyped) | 5.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/body-parser](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.19.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/connect](https://github.com/DefinitelyTyped/DefinitelyTyped) | 3.4.38 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/estree](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/express-serve-static-core](https://github.com/DefinitelyTyped/DefinitelyTyped) | 4.19.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/http-errors](https://github.com/DefinitelyTyped/DefinitelyTyped) | 2.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/mime](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) | 20.16.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/prop-types](https://github.com/DefinitelyTyped/DefinitelyTyped) | 15.7.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/qs](https://github.com/DefinitelyTyped/DefinitelyTyped) | 6.9.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/range-parser](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.2.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped) | 18.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/send](https://github.com/DefinitelyTyped/DefinitelyTyped) | 0.17.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/serve-static](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.15.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@vitest/expect](https://github.com/vitest-dev/vitest) | 2.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@vitest/pretty-format](https://github.com/vitest-dev/vitest) | 2.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@vitest/spy](https://github.com/vitest-dev/vitest) | 2.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@vitest/utils](https://github.com/vitest-dev/vitest) | 2.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/caches](https://github.com/benjamn/wryware) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/context](https://github.com/benjamn/wryware) | 0.7.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/equality](https://github.com/benjamn/wryware) | 0.5.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/trie](https://github.com/benjamn/wryware) | 0.4.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/trie](https://github.com/benjamn/wryware) | 0.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [abbrev](https://github.com/isaacs/abbrev-js) | 1.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [accepts](https://github.com/jshttp/accepts) | 1.3.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [agent-base](https://github.com/TooTallNate/node-agent-base) | 6.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components) | 7.0.0-alpha.6 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [angular-oauth2-oidc-jwks](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc) | 16.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-regex](https://github.com/chalk/ansi-regex) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-styles](https://github.com/chalk/ansi-styles) | 3.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-styles](https://github.com/chalk/ansi-styles) | 4.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-styles](https://github.com/chalk/ansi-styles) | 5.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [apollo-angular](https://github.com/kamilkisiela/apollo-angular) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [aproba](https://github.com/iarna/aproba) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [are-we-there-yet](https://github.com/npm/are-we-there-yet) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [argparse](https://github.com/nodeca/argparse) | 2.0.1 | [Python-2.0](http://www.opensource.org/licenses/Python-2.0) |
|
||||
| [aria-query](https://github.com/A11yance/aria-query) | 5.3.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [array-flatten](https://github.com/blakeembrey/array-flatten) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [array-timsort](https://github.com/kaelzhang/node-array-timsort) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [asap](https://github.com/kriskowal/asap) | 2.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [assertion-error](https://github.com/chaijs/assertion-error) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ast-types](https://github.com/benjamn/ast-types) | 0.16.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [asynckit](https://github.com/alexindigo/asynckit) | 0.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [available-typed-arrays](https://github.com/inspect-js/available-typed-arrays) | 1.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [backo2](https://github.com/mokesmokes/backo) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [balanced-match](https://github.com/juliangruber/balanced-match) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [body-parser](https://github.com/expressjs/body-parser) | 1.20.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [brace-expansion](https://github.com/juliangruber/brace-expansion) | 1.1.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [brace-expansion](https://github.com/juliangruber/brace-expansion) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [braces](https://github.com/micromatch/braces) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [browser-assert](https://github.com/socialally/browser-assert) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [bytes](https://github.com/visionmedia/bytes.js) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [call-bind](https://github.com/ljharb/call-bind) | 1.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [callsites](https://github.com/sindresorhus/callsites) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [canvas](https://github.com/Automattic/node-canvas) | 2.11.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chai](https://github.com/chaijs/chai) | 5.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chalk](https://github.com/chalk/chalk) | 2.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chalk](https://github.com/chalk/chalk) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chalk](https://github.com/chalk/chalk) | 4.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | 4.4.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [check-error](https://github.com/chaijs/check-error) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chownr](https://github.com/isaacs/chownr) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [clear-module](https://github.com/sindresorhus/clear-module) | 4.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [code-block-writer](https://github.com/dsherret/code-block-writer) | 12.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-convert](https://github.com/Qix-/color-convert) | 1.9.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-convert](https://github.com/Qix-/color-convert) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-name](https://github.com/dfcreative/color-name) | 1.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-name](https://github.com/colorjs/color-name) | 1.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-support](https://github.com/isaacs/color-support) | 1.1.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [combined-stream](https://github.com/felixge/node-combined-stream) | 1.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [comment-json](https://github.com/kaelzhang/node-comment-json) | 4.2.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [component-emitter](https://github.com/sindresorhus/component-emitter) | 1.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [concat-map](https://github.com/substack/node-concat-map) | 0.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [configstore](https://github.com/yeoman/configstore) | 6.0.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [console-control-strings](https://github.com/iarna/console-control-strings) | 1.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [content-disposition](https://github.com/jshttp/content-disposition) | 0.5.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [content-type](https://github.com/jshttp/content-type) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookie-signature](https://github.com/visionmedia/node-cookie-signature) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookie](https://github.com/jshttp/cookie) | 0.7.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookiejar](https://github.com/bmeck/node-cookiejar) | 2.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [core-util-is](https://github.com/isaacs/core-util-is) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cosmiconfig](https://github.com/davidtheclark/cosmiconfig) | 8.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cropperjs](https://github.com/fengyuanchen/cropperjs) | 1.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [crypto-random-string](https://github.com/sindresorhus/crypto-random-string) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-dictionary](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-glob](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-grammar](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-io](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-lib](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-trie-lib](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [css.escape](https://github.com/mathiasbynens/CSS.escape) | 1.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [csstype](https://github.com/frenic/csstype) | 3.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [d](https://github.com/medikoo/d) | 1.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [date-fns](https://github.com/date-fns/date-fns) | 2.30.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [debug](https://github.com/visionmedia/debug) | 2.6.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [debug](https://github.com/debug-js/debug) | 4.3.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [decompress-response](https://github.com/sindresorhus/decompress-response) | 4.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [deep-eql](https://github.com/chaijs/deep-eql) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [define-data-property](https://github.com/ljharb/define-data-property) | 1.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [delayed-stream](https://github.com/felixge/node-delayed-stream) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [delegates](https://github.com/visionmedia/node-delegates) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [depd](https://github.com/dougwilson/nodejs-depd) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dequal](https://github.com/lukeed/dequal) | 2.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [destroy](https://github.com/stream-utils/destroy) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [detect-libc](https://github.com/lovell/detect-libc) | 2.0.3 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [dezalgo](https://github.com/npm/dezalgo) | 1.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [dom-accessibility-api](https://github.com/eps1lon/dom-accessibility-api) | 0.5.16 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dom-accessibility-api](https://github.com/eps1lon/dom-accessibility-api) | 0.6.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dot-prop](https://github.com/sindresorhus/dot-prop) | 6.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| dotenv-expand | 5.1.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [ee-first](https://github.com/jonathanong/ee-first) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [emoji-regex](https://github.com/mathiasbynens/emoji-regex) | 8.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [encodeurl](https://github.com/pillarjs/encodeurl) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [encodeurl](https://github.com/pillarjs/encodeurl) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [encoding](https://github.com/andris9/encoding) | 0.1.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [entities](https://github.com/fb55/entities) | 4.5.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [error-ex](https://github.com/qix-/node-error-ex) | 1.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es-define-property](https://github.com/ljharb/es-define-property) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es-errors](https://github.com/ljharb/es-errors) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es5-ext](https://github.com/medikoo/es5-ext) | 0.10.64 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [es6-iterator](https://github.com/medikoo/es6-iterator) | 2.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es6-symbol](https://github.com/medikoo/es6-symbol) | 3.1.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| esbuild-register | 3.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esbuild](https://github.com/evanw/esbuild) | 0.19.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [escape-html](https://github.com/component/escape-html) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [escape-string-regexp](https://github.com/sindresorhus/escape-string-regexp) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esniff](https://github.com/medikoo/esniff) | 2.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [esprima](https://github.com/jquery/esprima) | 4.0.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [estree-walker](https://github.com/Rich-Harris/estree-walker) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [etag](https://github.com/jshttp/etag) | 1.8.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [eve-raphael](https://github.com/tomasAlabes/eve) | 0.5.0 | [Apache](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [event-emitter](https://github.com/medikoo/event-emitter) | 0.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [eventemitter3](https://github.com/primus/eventemitter3) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [express](https://github.com/expressjs/express) | 4.21.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ext](https://github.com/medikoo/es5-ext.git#ext) | 1.7.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fast-equals](https://github.com/planttheidea/fast-equals) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-equals](https://github.com/planttheidea/fast-equals) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-glob](https://github.com/mrmlnc/fast-glob) | 3.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-safe-stringify](https://github.com/davidmarkclements/fast-safe-stringify) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fastq](https://github.com/mcollina/fastq) | 1.17.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fill-range](https://github.com/jonschlinkert/fill-range) | 7.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [finalhandler](https://github.com/pillarjs/finalhandler) | 1.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-up](https://github.com/sindresorhus/find-up) | 6.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [for-each](https://github.com/Raynos/for-each) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [form-data](https://github.com/form-data/form-data) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [formidable](https://github.com/node-formidable/formidable) | 3.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [forwarded](https://github.com/jshttp/forwarded) | 0.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fresh](https://github.com/jshttp/fresh) | 0.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fs-minipass](https://github.com/npm/fs-minipass) | 2.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fs.realpath](https://github.com/isaacs/fs.realpath) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [function-bind](https://github.com/Raynos/function-bind) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gauge](https://github.com/iarna/gauge) | 3.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [gensequence](https://github.com/streetsidesoftware/GenSequence) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-func-name](https://github.com/chaijs/get-func-name) | 2.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-intrinsic](https://github.com/ljharb/get-intrinsic) | 1.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [glob-parent](https://github.com/gulpjs/glob-parent) | 5.1.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [glob](https://github.com/isaacs/node-glob) | 7.2.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [global-dirs](https://github.com/sindresorhus/global-dirs) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gopd](https://github.com/ljharb/gopd) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graceful-fs](https://github.com/isaacs/node-graceful-fs) | 4.2.11 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [graphql-tag](https://github.com/apollographql/graphql-tag) | 2.12.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graphql](https://github.com/graphql/graphql-js) | 16.9.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-flag](https://github.com/sindresorhus/has-flag) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-flag](https://github.com/sindresorhus/has-flag) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-own-prop](https://github.com/sindresorhus/has-own-prop) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-property-descriptors](https://github.com/inspect-js/has-property-descriptors) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-proto](https://github.com/inspect-js/has-proto) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-symbols](https://github.com/inspect-js/has-symbols) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-tostringtag](https://github.com/inspect-js/has-tostringtag) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-unicode](https://github.com/iarna/has-unicode) | 2.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [hasown](https://github.com/inspect-js/hasOwn) | 2.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [hexoid](https://github.com/lukeed/hexoid) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [hoist-non-react-statics](https://github.com/mridgway/hoist-non-react-statics) | 3.3.2 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [http-errors](https://github.com/jshttp/http-errors) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [iconv-lite](https://github.com/ashtuchkin/iconv-lite) | 0.4.24 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [iconv-lite](https://github.com/ashtuchkin/iconv-lite) | 0.6.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [import-fresh](https://github.com/sindresorhus/import-fresh) | 3.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [import-meta-resolve](https://github.com/wooorm/import-meta-resolve) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [imurmurhash](https://github.com/jensyt/imurmurhash-js) | 0.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [indent-string](https://github.com/sindresorhus/indent-string) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [inflight](https://github.com/npm/inflight) | 1.0.6 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [inherits](https://github.com/isaacs/inherits) | 2.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ini](https://github.com/isaacs/ini) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ipaddr.js](https://github.com/whitequark/ipaddr.js) | 1.9.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-arguments](https://github.com/inspect-js/is-arguments) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-arrayish](https://github.com/qix-/node-is-arrayish) | 0.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-callable](https://github.com/inspect-js/is-callable) | 1.2.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-extglob](https://github.com/jonschlinkert/is-extglob) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-fullwidth-code-point](https://github.com/sindresorhus/is-fullwidth-code-point) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-generator-function](https://github.com/inspect-js/is-generator-function) | 1.0.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-glob](https://github.com/micromatch/is-glob) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-number](https://github.com/jonschlinkert/is-number) | 7.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-obj](https://github.com/sindresorhus/is-obj) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-typed-array](https://github.com/inspect-js/is-typed-array) | 1.1.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-typedarray](https://github.com/hughsk/is-typedarray) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [iterall](https://github.com/leebyron/iterall) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [js-tokens](https://github.com/lydell/js-tokens) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [js-yaml](https://github.com/nodeca/js-yaml) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [json-parse-even-better-errors](https://github.com/npm/json-parse-even-better-errors) | 2.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsrsasign](https://github.com/kjur/jsrsasign) | 11.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lines-and-columns](https://github.com/eventualbuddha/lines-and-columns) | 1.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [locate-path](https://github.com/sindresorhus/locate-path) | 7.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lodash-es](https://github.com/lodash/lodash) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lodash](https://github.com/lodash/lodash) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [loose-envify](https://github.com/zertosh/loose-envify) | 1.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [loupe](https://github.com/chaijs/loupe) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lru-cache](https://github.com/isaacs/node-lru-cache) | 6.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [lz-string](https://github.com/pieroxy/lz-string) | 1.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [make-dir](https://github.com/sindresorhus/make-dir) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [material-icons](https://github.com/marella/material-icons) | 1.13.12 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [media-typer](https://github.com/jshttp/media-typer) | 0.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [merge-descriptors](https://github.com/sindresorhus/merge-descriptors) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [merge2](https://github.com/teambition/merge2) | 1.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [methods](https://github.com/jshttp/methods) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [micromatch](https://github.com/micromatch/micromatch) | 4.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime-db](https://github.com/jshttp/mime-db) | 1.52.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime-types](https://github.com/jshttp/mime-types) | 2.1.35 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime](https://github.com/broofa/node-mime) | 1.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime](https://github.com/broofa/mime) | 2.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mimic-response](https://github.com/sindresorhus/mimic-response) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [min-indent](https://github.com/thejameskyle/min-indent) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [minimatch-browser](https://github.com/isaacs/minimatch) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimatch](https://github.com/isaacs/minimatch) | 3.1.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimatch](https://github.com/isaacs/minimatch) | 7.4.6 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minipass](https://github.com/isaacs/minipass) | 3.3.6 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minipass](https://github.com/isaacs/minipass) | 5.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minizlib](https://github.com/isaacs/minizlib) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mkdirp](https://github.com/isaacs/node-mkdirp) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mkdirp](https://github.com/isaacs/node-mkdirp) | 2.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ms](https://github.com/zeit/ms) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ms](https://github.com/vercel/ms) | 2.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [nan](https://github.com/nodejs/nan) | 2.20.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [negotiator](https://github.com/jshttp/negotiator) | 0.6.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [next-tick](https://github.com/medikoo/next-tick) | 1.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ng2-charts](https://github.com/valor-software/ng2-charts) | 4.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [node-fetch](https://github.com/bitinn/node-fetch) | 2.7.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [nopt](https://github.com/npm/nopt) | 5.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [npmlog](https://github.com/npm/npmlog) | 5.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [object-assign](https://github.com/sindresorhus/object-assign) | 4.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [object-inspect](https://github.com/inspect-js/object-inspect) | 1.13.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [on-finished](https://github.com/jshttp/on-finished) | 2.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [once](https://github.com/isaacs/once) | 1.4.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [optimism](https://github.com/benjamn/optimism) | 0.18.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-limit](https://github.com/sindresorhus/p-limit) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-locate](https://github.com/sindresorhus/p-locate) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parent-module](https://github.com/sindresorhus/parent-module) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parent-module](https://github.com/sindresorhus/parent-module) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parse-json](https://github.com/sindresorhus/parse-json) | 5.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parse5](https://github.com/inikulin/parse5) | 7.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parseurl](https://github.com/pillarjs/parseurl) | 1.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-browserify](https://github.com/browserify/path-browserify) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-exists](https://github.com/sindresorhus/path-exists) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-is-absolute](https://github.com/sindresorhus/path-is-absolute) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-to-regexp](https://github.com/pillarjs/path-to-regexp) | 0.1.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-type](https://github.com/sindresorhus/path-type) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path2d-polyfill](https://github.com/nilzona/path2d-polyfill) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pathval](https://github.com/chaijs/pathval) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pdfjs-dist](https://github.com/mozilla/pdfjs-dist) | 3.3.122 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [picocolors](https://github.com/alexeyraspopov/picocolors) | 1.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [picomatch](https://github.com/micromatch/picomatch) | 2.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [polished](https://github.com/styled-components/polished) | 4.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [possible-typed-array-names](https://github.com/ljharb/possible-typed-array-names) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pretty-format](https://github.com/facebook/jest) | 27.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [process](https://github.com/shtylman/node-process) | 0.11.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [prop-types](https://github.com/facebook/prop-types) | 15.8.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [proxy-addr](https://github.com/jshttp/proxy-addr) | 2.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [qs](https://github.com/ljharb/qs) | 6.13.0 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [queue-microtask](https://github.com/feross/queue-microtask) | 1.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [range-parser](https://github.com/jshttp/range-parser) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [raphael](https://github.com/DmitryBaranovskiy/raphael) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [raw-body](https://github.com/stream-utils/raw-body) | 2.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react-dom](https://github.com/facebook/react) | 18.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react-is](https://github.com/facebook/react) | 16.13.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react-is](https://github.com/facebook/react) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react](https://github.com/facebook/react) | 18.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [readable-stream](https://github.com/nodejs/readable-stream) | 3.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [recast](https://github.com/benjamn/recast) | 0.23.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [redent](https://github.com/sindresorhus/redent) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerator-runtime](https://github.com/facebook/regenerator/tree/main/packages/runtime) | 0.13.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rehackt](https://github.com/phryneas/rehackt) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [repeat-string](https://github.com/jonschlinkert/repeat-string) | 1.6.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [resolve-from](https://github.com/sindresorhus/resolve-from) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [resolve-from](https://github.com/sindresorhus/resolve-from) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [response-iterator](https://github.com/kmalakoff/response-iterator) | 0.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [reusify](https://github.com/mcollina/reusify) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rimraf](https://github.com/isaacs/rimraf) | 3.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [run-parallel](https://github.com/feross/run-parallel) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rxjs](https://github.com/reactivex/rxjs) | 7.8.1 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [safe-buffer](https://github.com/feross/safe-buffer) | 5.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [safer-buffer](https://github.com/ChALkeR/safer-buffer) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [safevalues](https://github.com/google/safevalues) | 0.3.4 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [scheduler](https://github.com/facebook/react) | 0.23.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [semver](https://github.com/npm/node-semver) | 6.3.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [semver](https://github.com/npm/node-semver) | 7.5.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [semver](https://github.com/npm/node-semver) | 7.6.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [send](https://github.com/pillarjs/send) | 0.19.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [serve-static](https://github.com/expressjs/serve-static) | 1.16.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [set-blocking](https://github.com/yargs/set-blocking) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [set-function-length](https://github.com/ljharb/set-function-length) | 1.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [setprototypeof](https://github.com/wesleytodd/setprototypeof) | 1.2.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [side-channel](https://github.com/ljharb/side-channel) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [signal-exit](https://github.com/tapjs/signal-exit) | 3.0.7 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [simple-concat](https://github.com/feross/simple-concat) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [simple-get](https://github.com/feross/simple-get) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [source-map](https://github.com/mozilla/source-map) | 0.6.1 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [statuses](https://github.com/jshttp/statuses) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [storybook](https://github.com/storybookjs/storybook) | 8.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [string-width](https://github.com/sindresorhus/string-width) | 4.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [string_decoder](https://github.com/nodejs/string_decoder) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-ansi](https://github.com/chalk/strip-ansi) | 6.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-indent](https://github.com/sindresorhus/strip-indent) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [subscriptions-transport-ws](https://github.com/apollostack/subscriptions-transport-ws) | 0.11.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [superagent](https://github.com/ladjs/superagent) | 9.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [supports-color](https://github.com/chalk/supports-color) | 5.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [supports-color](https://github.com/chalk/supports-color) | 7.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [symbol-observable](https://github.com/blesh/symbol-observable) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [symbol-observable](https://github.com/blesh/symbol-observable) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [synckit](https://github.com/un-ts/synckit) | 0.8.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tar](https://github.com/isaacs/node-tar) | 6.2.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [tiny-invariant](https://github.com/alexreardon/tiny-invariant) | 1.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tinyrainbow](https://github.com/tinylibs/tinyrainbow) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tinyspy](https://github.com/tinylibs/tinyspy) | 3.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [to-regex-range](https://github.com/micromatch/to-regex-range) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [toidentifier](https://github.com/component/toidentifier) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tr46](https://github.com/Sebmaster/tr46.js) | 0.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-dedent](https://github.com/tamino-martinius/node-ts-dedent) | 2.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-invariant](https://github.com/apollographql/invariant-packages) | 0.10.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-morph](https://github.com/dsherret/ts-morph) | 20.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 2.7.0 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [type-fest](https://github.com/sindresorhus/type-fest) | 1.4.0 | ([MIT](http://www.opensource.org/licenses/MIT) OR [CC0-1.0](http://creativecommons.org/publicdomain/zero/1.0/legalcode)) |
|
||||
| [type-fest](https://github.com/sindresorhus/type-fest) | 2.19.0 | ([MIT](http://www.opensource.org/licenses/MIT) OR [CC0-1.0](http://creativecommons.org/publicdomain/zero/1.0/legalcode)) |
|
||||
| [type-is](https://github.com/jshttp/type-is) | 1.6.18 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [type](https://github.com/medikoo/type) | 2.7.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [typedarray-to-buffer](https://github.com/feross/typedarray-to-buffer) | 3.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [undici-types](https://github.com/nodejs/undici) | 6.19.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unique-string](https://github.com/sindresorhus/unique-string) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unpipe](https://github.com/stream-utils/unpipe) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [util-deprecate](https://github.com/TooTallNate/util-deprecate) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [util](https://github.com/browserify/node-util) | 0.12.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [utils-merge](https://github.com/jaredhanson/utils-merge) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vary](https://github.com/jshttp/vary) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vscode-languageserver-textdocument](https://github.com/Microsoft/vscode-languageserver-node) | 1.0.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vscode-uri](https://github.com/microsoft/vscode-uri) | 3.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [web-streams-polyfill](https://github.com/MattiasBuelens/web-streams-polyfill) | 3.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [webidl-conversions](https://github.com/jsdom/webidl-conversions) | 3.0.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [whatwg-url](https://github.com/jsdom/whatwg-url) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [which-typed-array](https://github.com/inspect-js/which-typed-array) | 1.1.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [wide-align](https://github.com/iarna/wide-align) | 1.1.5 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [wrappy](https://github.com/npm/wrappy) | 1.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [write-file-atomic](https://github.com/npm/write-file-atomic) | 3.0.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ws](https://github.com/websockets/ws) | 7.5.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ws](https://github.com/websockets/ws) | 8.18.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [xdg-basedir](https://github.com/sindresorhus/xdg-basedir) | 5.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [yallist](https://github.com/isaacs/yallist) | 4.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [yocto-queue](https://github.com/sindresorhus/yocto-queue) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zen-observable-ts](https://github.com/apollographql/zen-observable-ts) | 1.2.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zen-observable](https://github.com/zenparsing/zen-observable) | 0.8.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zone.js](https://github.com/angular/angular) | 0.13.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
Title: App List Cloud Component
|
||||
Added: v3.0.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2019-01-08
|
||||
Last reviewed: 2025-01-03
|
||||
---
|
||||
|
||||
# [App List Cloud Component](../../../lib/process-services-cloud/src/lib/app/components/app-list-cloud.component.ts "Defined in app-list-cloud.component.ts")
|
||||
# App List Cloud Component
|
||||
|
||||
`standalone`, `component`
|
||||
|
||||
Shows all deployed cloud application instances.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<adf-cloud-app-list
|
||||
[layoutType]="'GRID'">
|
||||
</adf-cloud-app-list>
|
||||
<adf-cloud-app-list [layoutType]="'GRID'" />
|
||||
```
|
||||
|
||||
### [Transclusions](../../user-guide/transclusion.md)
|
||||
@@ -23,11 +23,10 @@ You can show custom content when there are no apps available by supplying an
|
||||
`<adf-custom-empty-content>` section:
|
||||
|
||||
```html
|
||||
<adf-cloud-app-list
|
||||
[layoutType]="'GRID'">
|
||||
<adf-custom-empty-content>
|
||||
No Apps present
|
||||
</adf-custom-empty-content>
|
||||
<adf-cloud-app-list [layoutType]="'GRID'">
|
||||
<adf-custom-empty-content>
|
||||
No Apps present
|
||||
</adf-custom-empty-content>
|
||||
</adf-cloud-app-list>
|
||||
```
|
||||
|
||||
@@ -38,19 +37,25 @@ If you are generating a project for Activiti 7, you must add the list of apps yo
|
||||
For example :
|
||||
|
||||
```json
|
||||
"alfresco-deployed-apps" : [{"name": "simple-app"}]
|
||||
{
|
||||
"alfresco-deployed-apps": [
|
||||
{
|
||||
"name": "simple-app"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| layoutType | `string` | LAYOUT_GRID | (**required**) Defines the layout of the apps. There are two possible values, "GRID" and "LIST". |
|
||||
| Name | Type | Default value | Description |
|
||||
|------------|----------|---------------|--------------------------------------------------------------------------------------------------|
|
||||
| layoutType | `string` | LAYOUT_GRID | (**required**) Defines the layout of the apps. There are two possible values, "GRID" and "LIST". |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| appClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ApplicationInstanceModel`](../../../lib/process-services-cloud/src/lib/app/models/application-instance.model.ts)`>` | Emitted when an app entry is clicked. |
|
||||
| Name | Type | Description |
|
||||
|----------|------------------------------------------|---------------------------------------|
|
||||
| appClick | `EventEmitter<ApplicationInstanceModel>` | Emitted when an app entry is clicked. |
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Experimental
|
||||
Last reviewed: 2023-04-03
|
||||
---
|
||||
|
||||
# [Edit Process Filter Cloud component](../../../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts "Defined in edit-process-filter-cloud.component.ts")
|
||||
# Edit Process Filter Cloud component
|
||||
|
||||
Shows/edits process filter details.
|
||||
|
||||
@@ -41,27 +41,27 @@ Shows/edits process filter details.
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| actions | `string[]` | DEFAULT_ACTIONS | List of sort actions. |
|
||||
| appName | `string` | "" | The name of the application. |
|
||||
| environmentId | `string` | | [Environment](../../../lib/process-services-cloud/src/lib/common/interface/environment.interface.ts) ID of the application. |
|
||||
| environmentList | [`Environment`](../../../lib/process-services-cloud/src/lib/common/interface/environment.interface.ts)`[]` | \[] | List of environments. |
|
||||
| filterProperties | `string[]` | | List of process filter properties to display |
|
||||
| id | `string` | | Id of the process instance filter. |
|
||||
| role | `string` | "" | roles to filter the apps |
|
||||
| showFilterActions | `boolean` | true | Toggles editing of process filter actions. |
|
||||
| showProcessFilterName | `boolean` | true | Toggles the appearance of the process filter name . |
|
||||
| showTitle | `boolean` | true | Toggles editing of the process filter title. |
|
||||
| sortProperties | `string[]` | | List of sort properties to display. |
|
||||
| processFilter | [`ProcessFilterCloudModel`](../../../lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts) | | Process filter |
|
||||
| Name | Type | Default value | Description |
|
||||
|-----------------------|---------------------------|-----------------|-----------------------------------------------------|
|
||||
| actions | `string[]` | DEFAULT_ACTIONS | List of sort actions. |
|
||||
| appName | `string` | "" | The name of the application. |
|
||||
| environmentId | `string` | | Environment ID of the application. |
|
||||
| environmentList | `Environment[]` | \[] | List of environments. |
|
||||
| filterProperties | `string[]` | | List of process filter properties to display |
|
||||
| id | `string` | | Id of the process instance filter. |
|
||||
| role | `string` | "" | roles to filter the apps |
|
||||
| showFilterActions | `boolean` | true | Toggles editing of process filter actions. |
|
||||
| showProcessFilterName | `boolean` | true | Toggles the appearance of the process filter name . |
|
||||
| showTitle | `boolean` | true | Toggles editing of the process filter title. |
|
||||
| sortProperties | `string[]` | | List of sort properties to display. |
|
||||
| processFilter | `ProcessFilterCloudModel` | | Process filter |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| action | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessFilterAction`](../../../lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts)`>` | Emitted when a filter action occurs i.e Save, SaveAs, Delete. |
|
||||
| filterChange | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessFilterCloudModel`](../../../lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts)`>` | Emitted when a process instance filter property changes. |
|
||||
| Name | Type | Description |
|
||||
|--------------|-----------------------------------------|---------------------------------------------------------------|
|
||||
| action | `EventEmitter<ProcessFilterAction>` | Emitted when a filter action occurs i.e Save, SaveAs, Delete. |
|
||||
| filterChange | `EventEmitter<ProcessFilterCloudModel>` | Emitted when a process instance filter property changes. |
|
||||
|
||||
## Details
|
||||
|
||||
@@ -72,8 +72,8 @@ Use the `appName` and `id` properties to choose which process filter to edit:
|
||||
```html
|
||||
<adf-cloud-edit-process-filter
|
||||
[id]="processFilterId"
|
||||
[appName]="appName">
|
||||
</adf-cloud-edit-process-filter>
|
||||
[appName]="appName"
|
||||
/>
|
||||
```
|
||||
|
||||
### Filter properties
|
||||
@@ -82,18 +82,18 @@ You can supply various _filter properties_ to edit. These will determine
|
||||
which processes are found by a filter. The full set of properties is
|
||||
given below:
|
||||
|
||||
| Name | Description |
|
||||
| ---- | ----------- |
|
||||
| **_appName_** | Name of the app |
|
||||
| **_id_** | Process instance ID |
|
||||
| **_name_** | Process name. |
|
||||
| **_initiator_** | ID of the user who initiated the process |
|
||||
| **_status_** | Execution status of the process. |
|
||||
| **_processDefinitionId_** | Process definition ID |
|
||||
| **_processDefinitionKey_** | Process definition key |
|
||||
| **_lastModified_** | Date the process was last modified. If lastModified defined the component will show the range **_lastModifiedTo_**, **_lastModifiedFrom_** |
|
||||
| **_sort_** | Field on which the filter results will be sorted. Can be "id", "name", "status", "startDate". |
|
||||
| **_order_** | Sort ordering of the filter results (this doesn't participate in the filtering itself) |
|
||||
| Name | Description |
|
||||
|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| **_appName_** | Name of the app |
|
||||
| **_id_** | Process instance ID |
|
||||
| **_name_** | Process name. |
|
||||
| **_initiator_** | ID of the user who initiated the process |
|
||||
| **_status_** | Execution status of the process. |
|
||||
| **_processDefinitionId_** | Process definition ID |
|
||||
| **_processDefinitionKey_** | Process definition key |
|
||||
| **_lastModified_** | Date the process was last modified. If lastModified defined the component will show the range **_lastModifiedTo_**, **_lastModifiedFrom_** |
|
||||
| **_sort_** | Field on which the filter results will be sorted. Can be "id", "name", "status", "startDate". |
|
||||
| **_order_** | Sort ordering of the filter results (this doesn't participate in the filtering itself) |
|
||||
|
||||
By default, the **_status_**, **_sort_** and **_order_** properties are
|
||||
displayed in the editor. However, you can also choose which properties
|
||||
@@ -118,14 +118,15 @@ export class SomeComponent implements OnInit {
|
||||
onAction($event: ProcessFilterAction) {
|
||||
console.log('Clicked action: ', $event);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```html
|
||||
<adf-cloud-edit-process-filter
|
||||
[id]="processFilterId"
|
||||
[appName]="applicationName"
|
||||
[filterProperties]="filterProperties">
|
||||
</adf-cloud-edit-process-filter>
|
||||
[filterProperties]="filterProperties"
|
||||
/>
|
||||
```
|
||||
|
||||
With this configuration, only the four listed properties will be shown.
|
||||
@@ -146,7 +147,8 @@ export class SomeComponent implements OnInit {
|
||||
|
||||
sortProperties: string[] = [
|
||||
"startDate",
|
||||
"lastModified"];
|
||||
"lastModified"
|
||||
];
|
||||
|
||||
onFilterChange(filter: ProcessFilterCloudModel) {
|
||||
console.log('On filter change: ', filter);
|
||||
@@ -155,14 +157,15 @@ export class SomeComponent implements OnInit {
|
||||
onAction($event: ProcessFilterAction) {
|
||||
console.log('Clicked action: ', $event);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```html
|
||||
<adf-cloud-edit-process-filter
|
||||
[id]="processFilterId"
|
||||
[appName]="applicationName"
|
||||
[sortProperties]="sortProperties">
|
||||
</adf-cloud-edit-process-filter>
|
||||
[sortProperties]="sortProperties"
|
||||
/>
|
||||
```
|
||||
|
||||
With this configuration, only the two listed sort properties will be shown.
|
||||
@@ -171,11 +174,11 @@ With this configuration, only the two listed sort properties will be shown.
|
||||
|
||||
You can supply various _actions_ to apply on process filter.
|
||||
|
||||
| Name | Description |
|
||||
| ---- | ----------- |
|
||||
| **_save_** | Save process filter. |
|
||||
| Name | Description |
|
||||
|--------------|-------------------------------|
|
||||
| **_save_** | Save process filter. |
|
||||
| **_saveAs_** | Creates a new process filter. |
|
||||
| **_delete_** | Delete process filter. |
|
||||
| **_delete_** | Delete process filter. |
|
||||
|
||||
By default, the **_save_**, **_saveAs_** and **_delete_** actions are
|
||||
displayed in the editor. However, you can also choose which actions to
|
||||
@@ -194,14 +197,15 @@ export class SomeComponent implements OnInit {
|
||||
onAction($event: ProcessFilterAction) {
|
||||
console.log('Clicked action: ', $event);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```html
|
||||
<adf-cloud-edit-process-filter
|
||||
[id]="processFilterId"
|
||||
[appName]="applicationName"
|
||||
[actions]="actions">
|
||||
</adf-cloud-edit-process-filter>
|
||||
[actions]="actions"
|
||||
/>
|
||||
```
|
||||
|
||||
With this configuration, only the two actions will be shown.
|
||||
@@ -211,7 +215,6 @@ With this configuration, only the two actions will be shown.
|
||||
Users can save a filter if they make any changes to it in an application using the **Save** icon. How it is saved is dictated by the Activiti version used:
|
||||
|
||||
- An Activiti 7 community version stores saved filters in the local browser storage. This restricts a user's custom filters to that single session.
|
||||
|
||||
- An Activiti Enterprise version uses the preference service to store saved filters. This allows for user's custom filters to be available between sessions and between devices.
|
||||
|
||||
## See also
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Experimental
|
||||
Last reviewed: 2023-04-03
|
||||
---
|
||||
|
||||
# [Edit Task Filter Cloud component](../../../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.ts "Defined in edit-task-filter-cloud.component.ts")
|
||||
# Edit Task Filter Cloud component
|
||||
|
||||
Edits task filter details.
|
||||
|
||||
@@ -41,20 +41,20 @@ Edits task filter details.
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------------------------------------------|---------------|--------------------------------------------|
|
||||
| actions | `string[]` | | List of task filter actions. |
|
||||
| appName | `string` | "" | (required) Name of the app. |
|
||||
| environmentList | [`Environment`](../../../lib/process-services-cloud/src/lib/common/interface/environment.interface.ts)`[]` | \[] | List of environments. |
|
||||
| filterProperties | `string[]` | \[] | List of task filter properties to display. |
|
||||
| id | `string` | | (required) ID of the task filter. |
|
||||
| processInstanceId | `string` | | processInstanceId of the task filter. |
|
||||
| role | `string` | "" | user role. |
|
||||
| showFilterActions | `boolean` | true | Toggles the filter actions. |
|
||||
| showTaskFilterName | `boolean` | true | Toggles display of task filter name |
|
||||
| showTitle | `boolean` | true | Toggles the title. |
|
||||
| sortProperties | `string[]` | \[] | List of sort properties to display. |
|
||||
| taskFilter | [`TaskFilterCloudModel`](../../../lib/process-services-cloud/src/lib/task/task-filters/models/filter-cloud.model.ts) | | Task Filter to use. |
|
||||
| Name | Type | Default value | Description |
|
||||
|--------------------|------------------------|---------------|--------------------------------------------|
|
||||
| actions | `string[]` | | List of task filter actions. |
|
||||
| appName | `string` | "" | (required) Name of the app. |
|
||||
| environmentList | `Environment[]` | \[] | List of environments. |
|
||||
| filterProperties | `string[]` | \[] | List of task filter properties to display. |
|
||||
| id | `string` | | (required) ID of the task filter. |
|
||||
| processInstanceId | `string` | | processInstanceId of the task filter. |
|
||||
| role | `string` | "" | user role. |
|
||||
| showFilterActions | `boolean` | true | Toggles the filter actions. |
|
||||
| showTaskFilterName | `boolean` | true | Toggles display of task filter name |
|
||||
| showTitle | `boolean` | true | Toggles the title. |
|
||||
| sortProperties | `string[]` | \[] | List of sort properties to display. |
|
||||
| taskFilter | `TaskFilterCloudModel` | | Task Filter to use. |
|
||||
|
||||
### Events
|
||||
|
||||
@@ -86,14 +86,14 @@ given below:
|
||||
|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| **_appName_** | Name of the app |
|
||||
| **_status_** | Execution state of the task. |
|
||||
| **_assignee_** | [`User`](lib/core/src/lib/pipes/user-initial.pipe.ts) the task is assigned to |
|
||||
| **_assignee_** | `User` the task is assigned to |
|
||||
| **_taskName_** | Name of the task |
|
||||
| **_taskId_** | ID of the task |
|
||||
| **_parentTaskId_** | ID of the task's parent task |
|
||||
| **_priority_** | Task priority |
|
||||
| **_createdDate_** | Date the task was created |
|
||||
| **_standalone_** | Standalone status of the task |
|
||||
| **_owner_** | [`User`](lib/core/src/lib/pipes/user-initial.pipe.ts) ID of the task's owner |
|
||||
| **_owner_** | `User` ID of the task's owner |
|
||||
| **_processDefinitionId_** | Process definition ID |
|
||||
| **_processInstanceId_** | Process instance ID |
|
||||
| **_lastModified_** | Date the task was last modified. If lastModified defined the component will show the range **_lastModifiedFrom_**, **_lastModifiedTo_** |
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Experimental
|
||||
Last reviewed: 2019-01-08
|
||||
---
|
||||
|
||||
# [Process Filters Cloud Component](../../../lib/process-services-cloud/src/lib/process/process-filters/components/process-filters-cloud.component.ts "Defined in process-filters-cloud.component.ts")
|
||||
# Process Filters Cloud Component
|
||||
|
||||
Lists all available process filters and allows to select a filter.
|
||||
|
||||
@@ -14,28 +14,28 @@ Lists all available process filters and allows to select a filter.
|
||||
```html
|
||||
<adf-cloud-process-filters
|
||||
[appName]="currentAppName"
|
||||
[showIcons]="true">
|
||||
</adf-cloud-process-filters>
|
||||
[showIcons]="true"
|
||||
/>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| appName | `string` | "" | (required) The application name |
|
||||
| filterParam | `UserTaskFilterRepresentation` | | (optional) The filter to be selected by default |
|
||||
| showIcons | `boolean` | false | (optional) Toggles showing an icon by the side of each filter |
|
||||
| Name | Type | Default value | Description |
|
||||
|-------------|--------------------------------|---------------|---------------------------------------------------------------|
|
||||
| appName | `string` | "" | (required) The application name |
|
||||
| filterParam | `UserTaskFilterRepresentation` | | (optional) The filter to be selected by default |
|
||||
| showIcons | `boolean` | false | (optional) Toggles showing an icon by the side of each filter |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when any error occurs while loading the filters |
|
||||
| filterClicked | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessFilterCloudModel`](../../../lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts)`>` | Emitted when a filter is being clicked from the UI. |
|
||||
| filterSelected | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessFilterCloudModel`](../../../lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts)`>` | Emitted when a filter is being selected based on the filterParam input. |
|
||||
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when filters are loaded successfully |
|
||||
| Name | Type | Description |
|
||||
|----------------|-----------------------------------------|-------------------------------------------------------------------------|
|
||||
| error | `EventEmitter<any>` | Emitted when any error occurs while loading the filters |
|
||||
| filterClicked | `EventEmitter<ProcessFilterCloudModel>` | Emitted when a filter is being clicked from the UI. |
|
||||
| filterSelected | `EventEmitter<ProcessFilterCloudModel>` | Emitted when a filter is being selected based on the filterParam input. |
|
||||
| success | `EventEmitter<any>` | Emitted when filters are loaded successfully |
|
||||
|
||||
## See also
|
||||
|
||||
|
||||
@@ -80,6 +80,11 @@ when the process list is empty:
|
||||
| stickyHeader | `boolean` | false | Toggles the sticky header mode. |
|
||||
| suspendedFrom | `string` | "" | Filter the processes. Display only process with suspendedFrom equal to the supplied date. |
|
||||
| suspendedTo | `string` | "" | Filter the processes. Display only process with suspendedTo equal to the supplied date. |
|
||||
| searchApiMethod | `'POST' \| 'GET'` | `'GET'` | The HTTP method to use when searching for tasks. 'POST' value is supported from Activiti 8.7.0 forward. |
|
||||
| names | `string[]` | [] | Filter the processes. Display only processes with names matching any of the supplied strings. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
initiators | `string[]` | [] | Filter the processes. Display only processes started by any of the users whose usernames are present in the array. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
| appVersions | `string[]` | [] | Filter the processes. Display only processes present in any of the specified app versions. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
| statuses | `string[]` | [] | Filter the processes. Display only processes with provided statuses. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
|
||||
### Events
|
||||
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
---
|
||||
Title: Start Task Cloud Component
|
||||
Added: v3.0.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2019-03-20
|
||||
---
|
||||
|
||||
# [Start Task Cloud Component](../../../lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts "Defined in start-task-cloud.component.ts")
|
||||
|
||||
Creates/starts a new task for the specified app.
|
||||
|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<adf-cloud-start-task
|
||||
[appName]="YOUR_APP_NAME">
|
||||
</adf-cloud-start-task>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| appName | `string` | "" | (required) Name of the app. |
|
||||
| maxNameLength | `number` | MAX_NAME_LENGTH | Maximum length of the task name. |
|
||||
| name | `string` | "" | Name of the task. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| cancel | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<void>` | Emitted when the cancel button is clicked by the user. |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when an error occurs. |
|
||||
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the task is successfully created. |
|
||||
@@ -5,7 +5,7 @@ Status: Experimental
|
||||
Last reviewed: 2019-01-08
|
||||
---
|
||||
|
||||
# [Task Filters Cloud component](../../../lib/process-services-cloud/src/lib/task/task-filters/components/task-filters-cloud.component.ts "Defined in task-filters-cloud.component.ts")
|
||||
# Task Filters Cloud component
|
||||
|
||||
Shows all available filters.
|
||||
|
||||
@@ -39,13 +39,13 @@ Shows all available filters.
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
|----------------------|---------------------------------------|-------------------------------------------------------------------------|
|
||||
| error | `EventEmitter<any>` | Emitted when an error occurs during loading. |
|
||||
| filterClicked | `EventEmitter<TaskFilterCloudModel>` | Emitted when a filter is being clicked from the UI. |
|
||||
| filterCounterUpdated | `EventEmitter<TaskCloudEngineEvent>` | Emitted when filter counters are updated. |
|
||||
| filterSelected | `EventEmitter`<TaskFilterCloudModel>` | Emitted when a filter is being selected based on the filterParam input. |
|
||||
| success | `EventEmitter<any>` | Emitted when the list is loaded. |
|
||||
| Name | Type | Description |
|
||||
|----------------------|--------------------------------------|-------------------------------------------------------------------------|
|
||||
| error | `EventEmitter<any>` | Emitted when an error occurs during loading. |
|
||||
| filterClicked | `EventEmitter<TaskFilterCloudModel>` | Emitted when a filter is being clicked from the UI. |
|
||||
| filterCounterUpdated | `EventEmitter<TaskCloudEngineEvent>` | Emitted when filter counters are updated. |
|
||||
| filterSelected | `EventEmitter<TaskFilterCloudModel>` | Emitted when a filter is being selected based on the filterParam input. |
|
||||
| success | `EventEmitter<any>` | Emitted when the list is loaded. |
|
||||
|
||||
## Details
|
||||
|
||||
@@ -80,9 +80,7 @@ If you want to disable notification bubbles as task filters change you can chang
|
||||
|
||||
```json
|
||||
{
|
||||
...
|
||||
"notifications": true
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ Status: Active
|
||||
Last reviewed: 2019-04-17
|
||||
---
|
||||
|
||||
# [Task form cloud component](../../../lib/process-services-cloud/src/lib/task/task-form/components/task-form-cloud.component.ts "Defined in task-form-cloud.component.ts")
|
||||
# Task Form Component
|
||||
|
||||
Shows a [`form`](../../../lib/process-services-cloud/src/lib/form/models/form-cloud.model.ts) for a task.
|
||||
Shows a form for a task.
|
||||
|
||||
Shows Cancel, Save, Complete, Claim and Release buttons. Cancel, Save and Complete buttons are always present. Claim and Release buttons are present according to user's permissions and task's condition (Claimed, Completed etc).
|
||||
|
||||
@@ -33,34 +33,34 @@ Save and Complete buttons get disabled when at least one of the form's inputs ar
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| appName | `string` | "" | App id to fetch corresponding form and values. |
|
||||
| readOnly | `boolean` | false | Toggle readonly state of the task. |
|
||||
| showCancelButton | `boolean` | true | Toggle rendering of the `Cancel` button. |
|
||||
| showCompleteButton | `boolean` | true | Toggle rendering of the `Complete` button. |
|
||||
| showRefreshButton | `boolean` | false | Toggle rendering of the `Refresh` button. |
|
||||
| showTitle | `boolean` | true | Toggle rendering of the form title. |
|
||||
| showValidationIcon | `boolean` | true | Toggle rendering of the `Validation` icon. |
|
||||
| taskId | `string` | | Task id to fetch corresponding form and values. |
|
||||
| displayModeConfigurations | [`FormCloudDisplayModeConfiguration`](../../../lib/process-services-cloud/src/lib/services/form-fields.interfaces.ts)`[]` | | The available display configurations for the form |
|
||||
| Name | Type | Default value | Description |
|
||||
|---------------------------|---------------------------------------|---------------|---------------------------------------------------|
|
||||
| appName | `string` | "" | App id to fetch corresponding form and values. |
|
||||
| readOnly | `boolean` | false | Toggle readonly state of the task. |
|
||||
| showCancelButton | `boolean` | true | Toggle rendering of the `Cancel` button. |
|
||||
| showCompleteButton | `boolean` | true | Toggle rendering of the `Complete` button. |
|
||||
| showRefreshButton | `boolean` | false | Toggle rendering of the `Refresh` button. |
|
||||
| showTitle | `boolean` | true | Toggle rendering of the form title. |
|
||||
| showValidationIcon | `boolean` | true | Toggle rendering of the `Validation` icon. |
|
||||
| taskId | `string` | | Task id to fetch corresponding form and values. |
|
||||
| displayModeConfigurations | `FormCloudDisplayModeConfiguration[]` | | The available display configurations for the form |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| cancelClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<string>` | Emitted when the cancel button is clicked. |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when any error occurs. |
|
||||
| executeOutcome | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormOutcomeEvent`](../../../lib/core/src/lib/form/components/widgets/core/form-outcome-event.model.ts)`>` | Emitted when any outcome is executed. Default behaviour can be prevented via `event.preventDefault()`. |
|
||||
| formCompleted | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormModel`](../../../lib/core/src/lib/form/components/widgets/core/form.model.ts)`>` | Emitted when the form is submitted with the `Complete` outcome. |
|
||||
| formContentClicked | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ContentLinkModel`](../../../lib/core/src/lib/form/components/widgets/core/content-link.model.ts)`>` | Emitted when form content is clicked. |
|
||||
| formSaved | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormModel`](../../../lib/core/src/lib/form/components/widgets/core/form.model.ts)`>` | Emitted when the form is saved. |
|
||||
| onTaskLoaded | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` | Emitted when a task is loaded\`. |
|
||||
| taskClaimed | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<string>` | Emitted when the task is claimed. |
|
||||
| taskCompleted | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<string>` | Emitted when the task is completed. |
|
||||
| taskUnclaimed | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<string>` | Emitted when the task is unclaimed. |
|
||||
| displayModeOn | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormCloudDisplayModeConfiguration`](../../../lib/process-services-cloud/src/lib/services/form-fields.interfaces.ts)`>` | Emitted when a display mode configuration is turned on. |
|
||||
| displayModeOff | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormCloudDisplayModeConfiguration`](../../../lib/process-services-cloud/src/lib/services/form-fields.interfaces.ts)`>` | Emitted when a display mode configuration is turned off. |
|
||||
| Name | Type | Description |
|
||||
|--------------------|---------------------------------------------------|--------------------------------------------------------------------------------------------------------|
|
||||
| cancelClick | `EventEmitter<string>` | Emitted when the cancel button is clicked. |
|
||||
| error | `EventEmitter<any>` | Emitted when any error occurs. |
|
||||
| executeOutcome | `EventEmitter<FormOutcomeEvent>` | Emitted when any outcome is executed. Default behaviour can be prevented via `event.preventDefault()`. |
|
||||
| formCompleted | `EventEmitter<FormModel>` | Emitted when the form is submitted with the `Complete` outcome. |
|
||||
| formContentClicked | `EventEmitter<ContentLinkModel>` | Emitted when form content is clicked. |
|
||||
| formSaved | `EventEmitter<FormModel>` | Emitted when the form is saved. |
|
||||
| onTaskLoaded | `EventEmitter<TaskDetailsCloudModel>` | Emitted when a task is loaded. |
|
||||
| taskClaimed | `EventEmitter<string>` | Emitted when the task is claimed. |
|
||||
| taskCompleted | `EventEmitter<string>` | Emitted when the task is completed. |
|
||||
| taskUnclaimed | `EventEmitter<string>` | Emitted when the task is unclaimed. |
|
||||
| displayModeOn | `EventEmitter<FormCloudDisplayModeConfiguration>` | Emitted when a display mode configuration is turned on. |
|
||||
| displayModeOff | `EventEmitter<FormCloudDisplayModeConfiguration>` | Emitted when a display mode configuration is turned off. |
|
||||
|
||||
#### Enabling fullscreen display for the form of the task
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Experimental
|
||||
Last reviewed: 2019-03-25
|
||||
---
|
||||
|
||||
# [Task List Cloud component](../../../lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts "Defined in task-list-cloud.component.ts")
|
||||
# [Task List Cloud component](../../../lib/process-services-cloud/src/lib/task/task-list/components/task-list/task-list-cloud.component.ts "Defined in task-list-cloud.component.ts")
|
||||
|
||||
Renders a list containing all the tasks matched by the parameters specified.
|
||||
|
||||
@@ -87,12 +87,13 @@ when the task list is empty:
|
||||
| standalone | `boolean` | false | Filter the tasks. Display only the tasks that belong to a process in case is false or tasks that doesn't belong to a process in case of true. |
|
||||
| status | `string` | "" | Filter the tasks. Display only tasks with status equal to the supplied value. |
|
||||
| stickyHeader | `boolean` | false | Toggles the sticky header mode. |
|
||||
| names | `string[]` | [] | Filter the tasks. Display only tasks with names matching any of the supplied strings. This input will be used only if `TASK_SEARCH_API_METHOD_TOKEN` is provided with `POST` value. |
|
||||
| processDefinitionNames | `string[]` | [] | Filter the tasks. Display only tasks under provided processes. This input will be used only if `TASK_SEARCH_API_METHOD_TOKEN` is provided with `POST` value. |
|
||||
| statuses | `string[]` | [] | Filter the tasks. Display only tasks with provided statuses. This input will be used only if `TASK_SEARCH_API_METHOD_TOKEN` is provided with `POST` value. |
|
||||
| assignees | `string[]` | [] | Filter the tasks. Display only tasks with assignees whose usernames are present in the array. This input will be used only if `TASK_SEARCH_API_METHOD_TOKEN` is provided with `POST` value. |
|
||||
| priorities | `string[]` | [] | Filter the tasks. Display only tasks with provided priorities. This input will be used only if `TASK_SEARCH_API_METHOD_TOKEN` is provided with `POST` value. |
|
||||
| completedByUsers | `string[]` | [] | Filter the tasks. Display only tasks completed by users whose usernames are present in the array. This input will be used only if `TASK_SEARCH_API_METHOD_TOKEN` is provided with `POST` value. |
|
||||
| searchApiMethod | `'POST' \| 'GET'` | `'GET'` | The HTTP method to use when searching for tasks. 'POST' value is supported from Activiti 8.7.0 forward. |
|
||||
| names | `string[]` | [] | Filter the tasks. Display only tasks with names matching any of the supplied strings. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
| processDefinitionNames | `string[]` | [] | Filter the tasks. Display only tasks under provided processes. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
| statuses | `string[]` | [] | Filter the tasks. Display only tasks with provided statuses. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
| assignees | `string[]` | [] | Filter the tasks. Display only tasks with assignees whose usernames are present in the array. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
| priorities | `string[]` | [] | Filter the tasks. Display only tasks with provided priorities. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
| completedByUsers | `string[]` | [] | Filter the tasks. Display only tasks completed by users whose usernames are present in the array. This input will be used only if `searchApiMethod` input is provided with `POST` value. |
|
||||
|
||||
### Events
|
||||
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
Title: Cancel Process Directive
|
||||
Added: v3.7.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2019-12-09
|
||||
---
|
||||
|
||||
# [Cancel process directive](../../../lib/process-services-cloud/src/lib/process/directives/cancel-process.directive.ts "Defined in cancel-process.directive.ts")
|
||||
|
||||
Cancels a process
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<button adf-cloud-cancel-process (success)="onProcessCancelled()" (error)="onCancelProcessError()">Cancel</button>
|
||||
```
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the process can not be cancelled. |
|
||||
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the process is cancelled. |
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
Title: Claim Task Cloud Directive
|
||||
Added: v3.9.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2020-06-09
|
||||
---
|
||||
|
||||
# [Claim task Cloud directive](../../../lib/process-services-cloud/src/lib/task/directives/claim-task-cloud.directive.ts "Defined in claim-task-cloud.directive.ts")
|
||||
|
||||
Claims a task
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<button adf-cloud-claim-task [appName]="appName" [taskId]="taskId" (success)="onTaskClaimed()">Claim</button>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| appName | `string` | "" | (Required) The name of the application. |
|
||||
| taskId | `string` | | (Required) The id of the task. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the task cannot be completed. |
|
||||
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the task is completed. |
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
Title: Complete Task Directive
|
||||
Added: v3.1.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2019-03-19
|
||||
---
|
||||
|
||||
# [Complete task directive](../../../lib/process-services-cloud/src/lib/task/directives/complete-task.directive.ts "Defined in complete-task.directive.ts")
|
||||
|
||||
Completes a task.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<button adf-cloud-complete-task [appName]="appName" [taskId]="taskId" (success)="onTaskCompleted()">Complete</button>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| appName | `string` | "" | (Required) The name of the application. |
|
||||
| taskId | `string` | | (Required) The id of the task. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the task cannot be completed. |
|
||||
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the task is completed. |
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
Title: Unclaim Task Cloud Directive
|
||||
Added: v3.9.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2020-06-09
|
||||
---
|
||||
|
||||
# [Unclaim Task Cloud directive](../../../lib/process-services-cloud/src/lib/task/directives/unclaim-task-cloud.directive.ts "Defined in unclaim-task-cloud.directive.ts")
|
||||
|
||||
Unclaims a task
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<button adf-cloud-unclaim-task [appName]="appName" [taskId]="taskId" (success)="onTaskUnclaimed()">Unclaim</button>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| appName | `string` | "" | (Required) The name of the application. |
|
||||
| taskId | `string` | "" | (Required) The id of the task. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the task cannot be completed. |
|
||||
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the task is completed. |
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
Title: Group initial pipe
|
||||
Added: v3.0.0
|
||||
Status: Active
|
||||
Last reviewed: 2019-01-17
|
||||
---
|
||||
|
||||
# [Group initial pipe](../../../lib/process-services-cloud/src/lib/group/pipe/group-initial.pipe.ts "Defined in group-initial.pipe.ts")
|
||||
|
||||
Extracts the initial character from a group name.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
<!-- {% raw %} -->
|
||||
|
||||
```HTML
|
||||
<div>
|
||||
Group: {{ currentGroup | groupNameInitial }}
|
||||
</div>
|
||||
```
|
||||
|
||||
<!-- {% endraw %} -->
|
||||
|
||||
## Details
|
||||
|
||||
This pipe takes a [`IdentityGroupModel`](../../../lib/process-services-cloud/src/lib/group/models/identity-group.model.ts)
|
||||
object as its parameter and extracts the initial character from the `name`
|
||||
property. The initial is a handy way to identify the group in lists and
|
||||
other situations where there is limited screen space available.
|
||||
|
||||
## See also
|
||||
|
||||
- [Group cloud component](../components/group-cloud.component.md)
|
||||
@@ -1,49 +0,0 @@
|
||||
---
|
||||
Title: Process name cloud pipe
|
||||
Added: v3.9.0
|
||||
Status: Active
|
||||
Last reviewed: 2020-06-02
|
||||
---
|
||||
|
||||
# [Process name cloud pipe](../../../lib/process-services-cloud/src/lib/pipes/process-name-cloud.pipe.ts "Defined in process-name-cloud.pipe.ts")
|
||||
|
||||
When an identifier is specified, the input will be transformed replacing the identifiers with the values of the selected process definition provided.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
processNameCloudPipe.transform('Example - %{processDefinition} - %{datetime}', new ProcessDefinitionCloud({ name: 'upload-passport'}));
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| processNameFormat | string | undefined | The process name format including the preferred identifiers to be used |
|
||||
| selectedProcessDefinition | [`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts) | undefined | (optional) The selected process definition |
|
||||
|
||||
## Details
|
||||
|
||||
The pipe offers a convenient way to format a process name using a process name format template.
|
||||
|
||||
The supported identifiers that can be used in the process name format are the following:
|
||||
|
||||
- %{processDefinition}
|
||||
- %{datetime}
|
||||
|
||||
When the %{processDefinition} identifier is used, the selected process definition provided
|
||||
will be added and positioned in the same place as the identifier.
|
||||
|
||||
When the %{datetime} identifier is used, the current datetime will be added and positioned in the same place as the identifier.
|
||||
|
||||
Important Notes:
|
||||
|
||||
- All the identifiers are case-insensitive.
|
||||
- The identifiers can be used in any position (beginning, middle, end, custom).
|
||||
- The identifiers can NOT be used more than once each in the same processNameFormat (The second occurrence of each identifier will be ignored
|
||||
and handled as a plain string).
|
||||
|
||||
#### Result
|
||||
|
||||
```ts
|
||||
processNameCloudPipe.transform('Example - %{processDefinition} - %{datetime}', new ProcessDefinitionCloud({ name: 'upload-passport'}));
|
||||
//Returns 'Example - upload passport - June 02, 2020, 12:00:00 AM'
|
||||
```
|
||||
@@ -26,7 +26,7 @@ class MyComponent {
|
||||
|
||||
### Methods
|
||||
|
||||
- **completeTaskForm**(appName: `string`, taskId: `string`, processInstanceId: `string`, formId: `string`, formValues: [`FormValues`](../../../lib/core/src/lib/form/components/widgets/core/form-values.ts), outcome: `string`, version: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **completeTaskForm**(appName: `string`, taskId: `string`, processInstanceId: `string`, formId: `string`, formValues: [`FormValues`](../../../lib/core/src/lib/form/components/widgets/core/form-values.ts), outcome: `string`, version: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Completes a task form.
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the target task
|
||||
@@ -35,7 +35,7 @@ class MyComponent {
|
||||
- _formValues:_ [`FormValues`](../../../lib/core/src/lib/form/components/widgets/core/form-values.ts) - [Form](../../../lib/process-services/src/lib/task-list/models/form.model.ts) values object
|
||||
- _outcome:_ `string` - [Form](../../../lib/process-services/src/lib/task-list/models/form.model.ts) outcome
|
||||
- _version:_ `number` - of the form
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Updated task details
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Updated task details
|
||||
- **createTemporaryRawRelatedContent**(file: `any`, nodeId: `string`, contentHost: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
|
||||
|
||||
- _file:_ `any` -
|
||||
@@ -61,11 +61,11 @@ class MyComponent {
|
||||
- _body:_ `any` -
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FormFieldOption`](../../../lib/core/src/lib/form/components/widgets/core/form-field-option.ts)`[]>` -
|
||||
|
||||
- **getTask**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **getTask**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Gets details of a task
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the target task
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the task
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Details of the task
|
||||
- **getTaskForm**(appName: `string`, taskId: `string`, version?: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
|
||||
Gets the form definition of a task.
|
||||
- _appName:_ `string` - Name of the app
|
||||
@@ -83,14 +83,14 @@ class MyComponent {
|
||||
- _data:_ [`TaskVariableCloud`](../../../lib/process-services-cloud/src/lib/form/models/task-variable-cloud.model.ts)`[]` - (Optional) Values for the form's fields
|
||||
- _readOnly:_ `boolean` - Toggles whether or not the form should be read-only
|
||||
- **Returns** [`FormModel`](../../../lib/core/src/lib/form/components/widgets/core/form.model.ts) - [Form](../../../lib/process-services/src/lib/task-list/models/form.model.ts) created from the JSON specification
|
||||
- **saveTaskForm**(appName: `string`, taskId: `string`, processInstanceId: `string`, formId: `string`, values: [`FormValues`](../../../lib/core/src/lib/form/components/widgets/core/form-values.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **saveTaskForm**(appName: `string`, taskId: `string`, processInstanceId: `string`, formId: `string`, values: [`FormValues`](../../../lib/core/src/lib/form/components/widgets/core/form-values.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Saves a task form.
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the target task
|
||||
- _processInstanceId:_ `string` - ID of processInstance
|
||||
- _formId:_ `string` - ID of the form to save
|
||||
- _values:_ [`FormValues`](../../../lib/core/src/lib/form/components/widgets/core/form-values.ts) - [Form](../../../lib/process-services/src/lib/task-list/models/form.model.ts) values object
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Updated task details
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Updated task details
|
||||
|
||||
## See also
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
---
|
||||
Title: Start Task Cloud Service
|
||||
Added: v3.0.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2019-01-09
|
||||
---
|
||||
|
||||
# [Start Task Cloud Service](../../../lib/process-services-cloud/src/lib/task/services/start-task-cloud.service.ts "Defined in start-task-cloud.service.ts")
|
||||
|
||||
Starts standalone tasks.
|
||||
|
||||
## Class members
|
||||
|
||||
### Methods
|
||||
|
||||
- **createNewTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
(**Deprecated:** in 3.5.0, use TaskCloudService instead. Creates a new standalone task.)
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - Details of the task to create
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the newly created task
|
||||
- **getBasePath**(appName: `string`): `string`<br/>
|
||||
|
||||
- _appName:_ `string` -
|
||||
- **Returns** `string` -
|
||||
|
||||
## Details
|
||||
|
||||
The `createNewTask` method works the same way as the method with the same name in the
|
||||
[Tasklist service](../../process-services/services/tasklist.service.md)
|
||||
but uses the cloud variants of the classes for the parameter and return value. See the
|
||||
[Tasklist service](../../process-services/services/tasklist.service.md) page for usage examples.
|
||||
|
||||
## See also
|
||||
|
||||
- [Tasklist service](../../process-services/services/tasklist.service.md)
|
||||
@@ -13,40 +13,40 @@ Manages task cloud.
|
||||
|
||||
### Methods
|
||||
|
||||
- **assign**(appName: `string`, taskId: `string`, assignee: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **assign**(appName: `string`, taskId: `string`, assignee: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Updates the task assignee.
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the task to update assignee
|
||||
- _assignee:_ `string` - assignee to update current user task assignee
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Updated task details with new assignee
|
||||
- **canClaimTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Updated task details with new assignee
|
||||
- **canClaimTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||
Validate if a task can be claimed.
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - task details object
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts) - task details object
|
||||
- **Returns** `boolean` - Boolean value if the task can be completed
|
||||
- **canCompleteTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||
- **canCompleteTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||
Validate if a task can be completed.
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - task details object
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts) - task details object
|
||||
- **Returns** `boolean` - Boolean value if the task can be completed
|
||||
- **canUnclaimTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||
- **canUnclaimTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||
Validate if a task can be unclaimed.
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - task details object
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts) - task details object
|
||||
- **Returns** `boolean` - Boolean value if the task can be completed
|
||||
- **claimTask**(appName: `string`, taskId: `string`, assignee: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **claimTask**(appName: `string`, taskId: `string`, assignee: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Claims a task for an assignee.
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the task to claim
|
||||
- _assignee:_ `string` - User to assign the task to
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the claimed task
|
||||
- **completeTask**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Details of the claimed task
|
||||
- **completeTask**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Complete a task.
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the task to complete
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the task that was completed
|
||||
- **createNewTask**(startTaskRequest: [`StartTaskCloudRequestModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/start-task-cloud-request.model.ts), appName: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Details of the task that was completed
|
||||
- **createNewTask**(startTaskRequest: [`StartTaskCloudRequestModel`](../../../lib/process-services-cloud/src/lib/task/models/start-task-cloud-request.model.ts), appName: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Creates a new standalone task.
|
||||
- _startTaskRequest:_ [`StartTaskCloudRequestModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/start-task-cloud-request.model.ts) -
|
||||
- _startTaskRequest:_ [`StartTaskCloudRequestModel`](../../../lib/process-services-cloud/src/lib/task/models/start-task-cloud-request.model.ts) -
|
||||
- _appName:_ `string` -
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the newly created task
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Details of the newly created task
|
||||
- **getBasePath**(appName: `string`): `string`<br/>
|
||||
|
||||
- _appName:_ `string` -
|
||||
@@ -71,33 +71,33 @@ Manages task cloud.
|
||||
Gets the process definitions associated with an app.
|
||||
- _appName:_ `string` - Name of the target app
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts)`[]>` - Array of process definitions
|
||||
- **getTaskById**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **getTaskById**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Gets details of a task.
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the task whose details you want
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Task details
|
||||
- **isAssigneePropertyClickable**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts), candidateUsers: [`CardViewArrayItem`](../../../lib/core/src/lib/card-view/models/card-view-arrayitem.model.ts)`[]`, candidateGroups: [`CardViewArrayItem`](../../../lib/core/src/lib/card-view/models/card-view-arrayitem.model.ts)`[]`): `boolean`<br/>
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Task details
|
||||
- **isAssigneePropertyClickable**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts), candidateUsers: [`CardViewArrayItem`](../../../lib/core/src/lib/card-view/models/card-view-arrayitem.model.ts)`[]`, candidateGroups: [`CardViewArrayItem`](../../../lib/core/src/lib/card-view/models/card-view-arrayitem.model.ts)`[]`): `boolean`<br/>
|
||||
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) -
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts) -
|
||||
- _candidateUsers:_ [`CardViewArrayItem`](../../../lib/core/src/lib/card-view/models/card-view-arrayitem.model.ts)`[]` -
|
||||
- _candidateGroups:_ [`CardViewArrayItem`](../../../lib/core/src/lib/card-view/models/card-view-arrayitem.model.ts)`[]` -
|
||||
- **Returns** `boolean` -
|
||||
|
||||
- **isTaskEditable**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||
- **isTaskEditable**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||
Validate if a task is editable.
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - task details object
|
||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts) - task details object
|
||||
- **Returns** `boolean` - Boolean value if the task is editable
|
||||
- **unclaimTask**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **unclaimTask**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Un-claims a task.
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the task to unclaim
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the task that was unclaimed
|
||||
- **updateTask**(appName: `string`, taskId: `string`, payload: `any`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Details of the task that was unclaimed
|
||||
- **updateTask**(appName: `string`, taskId: `string`, payload: `any`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>`<br/>
|
||||
Updates the details (name, description, due date) for a task.
|
||||
- _appName:_ `string` - Name of the app
|
||||
- _taskId:_ `string` - ID of the task to update
|
||||
- _payload:_ `any` - Data to update the task
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Updated task details
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/models/task-details-cloud.model.ts)`>` - Updated task details
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -53,24 +53,3 @@ Shows the details of the task ID passed in as input.
|
||||
| taskCreated | `EventEmitter<TaskRepresentation>` | Emitted when a checklist task is created. |
|
||||
| taskDeleted | `EventEmitter<string>` | Emitted when a checklist task is deleted. |
|
||||
| unClaimedTask | `EventEmitter<string>` | Emitted when a task is unclaimed. |
|
||||
|
||||
## Details
|
||||
|
||||
### Custom 'empty Task Details' template
|
||||
|
||||
By default, the [Task Details component](task-details.component.md) shows "No Tasks" message when there are
|
||||
no details. You can change this by adding a custom HTML template as in the following
|
||||
example:
|
||||
|
||||
```html
|
||||
<adf-task-details [taskId]="taskId">
|
||||
<adf-no-task-details-template>
|
||||
<ng-template>
|
||||
<h1>Sorry, no tasks here</h1>
|
||||
<img src="example.jpg" alt="example">
|
||||
</ng-template>
|
||||
</adf-no-task-details-template>
|
||||
</adf-task-details>
|
||||
```
|
||||
|
||||
Note that you can use any HTML content in the template, including other Angular components.
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
---
|
||||
Title: Task Audit Directive
|
||||
Added: v2.0.0
|
||||
Status: Active
|
||||
Last reviewed: 2019-01-14
|
||||
---
|
||||
|
||||
# [Task Audit Directive](../../../lib/process-services/src/lib/task-list/components/task-audit/task-audit.directive.ts "Defined in task-audit.directive.ts")
|
||||
|
||||
Fetches the Task Audit information in PDF or JSON format.
|
||||
|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<button
|
||||
adf-task-audit
|
||||
[task-id]="taskId"
|
||||
[download]="download"
|
||||
mat-icon-button (clicked)="onAuditClick($event)" (error)="onAuditError($event)" >
|
||||
<mat-icon>assignment_ind</mat-icon>
|
||||
</button>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| download | `boolean` | true | Enables downloading of the audit when the decorated element is clicked. |
|
||||
| fileName | `string` | "Audit" | Name of the downloaded file (for PDF downloads). |
|
||||
| format | `string` | "pdf" | Format of the audit information. Can be "pdf" or "json". |
|
||||
| taskId | `string` | | (**required**) The id of the task. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| clicked | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the decorated element is clicked. |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when an error occurs. |
|
||||
@@ -9,6 +9,7 @@ The first **General Availability** release was v2.0.0.
|
||||
|
||||
## General Availability
|
||||
|
||||
- [7.0.0-alpha.6](RelNote-7.0.0-alpha.6.md)
|
||||
- [7.0.0-alpha.4](RelNote-7.0.0-alpha.4.md)
|
||||
- [7.0.0-alpha.3](RelNote-7.0.0-alpha.3.md)
|
||||
- [7.0.0-alpha.2](RelNote-7.0.0-alpha.2.md)
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
Title: Changelog for alfresco-ng2-components v7.0.0-alpha.6
|
||||
---
|
||||
|
||||
# Changelog
|
||||
|
||||
- [b575d16e61](git@github.com:Alfresco/alfresco-ng2-components/commit/b575d16e61) AAE-28529 Fix process list loading (#10407)
|
||||
- [3078387325](git@github.com:Alfresco/alfresco-ng2-components/commit/3078387325) [ACS-8959] Introduce new `takeUntilDestroyed` operator where possible (#10388)
|
||||
- [3f6b60760f](git@github.com:Alfresco/alfresco-ng2-components/commit/3f6b60760f) AAE-28286 Clean redundant log (#10406)
|
||||
- [cbb5f14473](git@github.com:Alfresco/alfresco-ng2-components/commit/cbb5f14473) [ACS-8994] the upload new version button is not disabled when clicked and the uploading starts (#10391)
|
||||
- [3adccc132e](git@github.com:Alfresco/alfresco-ng2-components/commit/3adccc132e) [ACS-8991] Saved searches potential file conflict fix (#10393)
|
||||
- [472671bd50](git@github.com:Alfresco/alfresco-ng2-components/commit/472671bd50) [ACS-8921][ACA] Data Table / The input field in "Filter by Name" dialog is enormous in comparison with the UI design (#10375)
|
||||
- [412295306c](git@github.com:Alfresco/alfresco-ng2-components/commit/412295306c) [ACS-8955] [ACA] Data Table / Column Pills Drag button is not centered horizontally (#10384)
|
||||
- [0063d83044](git@github.com:Alfresco/alfresco-ng2-components/commit/0063d83044) AAE-28333 Fix search process variabels payload for new API (#10387)
|
||||
- [9520b2a4e5](git@github.com:Alfresco/alfresco-ng2-components/commit/9520b2a4e5) [MNT-24698] Concatenate aspect name to the title when there are duplicated aspect titles (#10374)
|
||||
- [3111008044](git@github.com:Alfresco/alfresco-ng2-components/commit/3111008044) AAE-28286 Show process variables columns in datatable fix (#10383)
|
||||
- [278a5ee143](git@github.com:Alfresco/alfresco-ng2-components/commit/278a5ee143) [ACS-8919] [ACA] Search / Advanced Search Facets / The borders of search facets thickens very slowly when clicked (#10376)
|
||||
- [c48022daf4](git@github.com:Alfresco/alfresco-ng2-components/commit/c48022daf4) [MNT-24689] the add user or group icon is displayed within the folder permissions for a user with the collaborator role (#10373)
|
||||
- [35c8093706](git@github.com:Alfresco/alfresco-ng2-components/commit/35c8093706) [MNT-24614] Fixed APS basic auth login issue with ADF (#10364)
|
||||
- [3ec3e732c0](git@github.com:Alfresco/alfresco-ng2-components/commit/3ec3e732c0) [ACS-8634] Change saved searches config file name (#10370)
|
||||
- [3aabb9420d](git@github.com:Alfresco/alfresco-ng2-components/commit/3aabb9420d) AAE-27309 Update class (#10372)
|
||||
- [d06c829dac](git@github.com:Alfresco/alfresco-ng2-components/commit/d06c829dac) [ACS-8916] [ACA] The calendar button in advanced search filters is placed too low in the date dialog (#10369)
|
||||
- [db22c6aac9](git@github.com:Alfresco/alfresco-ng2-components/commit/db22c6aac9) AAE-27309 Add selectable property to datatable row (#10368)
|
||||
- [258f01803c](git@github.com:Alfresco/alfresco-ng2-components/commit/258f01803c) [MNT-24496] ADW Integration with APS Improvements - Re-assign Tasks (#10350)
|
||||
- [558ff71878](git@github.com:Alfresco/alfresco-ng2-components/commit/558ff71878) Revert mistakenly deleted file (#10367)
|
||||
- [3bcaeef682](git@github.com:Alfresco/alfresco-ng2-components/commit/3bcaeef682) AAE-27327 New process search API (#10365)
|
||||
- [f07636e297](git@github.com:Alfresco/alfresco-ng2-components/commit/f07636e297) [ACS-8956] Introduce new ESLint rule for self-closing tags (#10354)
|
||||
- [f4cd4dc40a](git@github.com:Alfresco/alfresco-ng2-components/commit/f4cd4dc40a) [ACS-8634] Additional fixes (#10351)
|
||||
- [c93823a16b](git@github.com:Alfresco/alfresco-ng2-components/commit/c93823a16b) AAE-25417 Update status to Deployed (#10353)
|
||||
- [a8dd5fc5d7](git@github.com:Alfresco/alfresco-ng2-components/commit/a8dd5fc5d7) AAE-25417 Align app status to follow state machine (#10348)
|
||||
- [de7ca76225](git@github.com:Alfresco/alfresco-ng2-components/commit/de7ca76225) AAE-27234 Skip nx check for build command to fix Invalid Cache Directory for Task js-api:build (#10349)
|
||||
- [a7911338c3](git@github.com:Alfresco/alfresco-ng2-components/commit/a7911338c3) [ACS-8634] "Manage Searches" - a full page list of saved searches (#10307)
|
||||
- [ba52074bb5](git@github.com:Alfresco/alfresco-ng2-components/commit/ba52074bb5) [MNT-24682] Kerberos: do not add authorization header (#10320)
|
||||
- [ea71e4cdd1](git@github.com:Alfresco/alfresco-ng2-components/commit/ea71e4cdd1) AAE-26475 Move error process to simpleapp (#10321)
|
||||
- [872dae6f2d](git@github.com:Alfresco/alfresco-ng2-components/commit/872dae6f2d) Post-release version bump (#10336)
|
||||
@@ -49,3 +49,4 @@ The pages linked below contain the audit for all third party dependencies of ADF
|
||||
- [ADF 7.0.0-alpha.2](audit-info-7.0.0-alpha.2.md)
|
||||
- [ADF 7.0.0-alpha.3](audit-info-7.0.0-alpha.3.md)
|
||||
- [ADF 7.0.0-alpha.4](audit-info-7.0.0-alpha.4.md)
|
||||
- [ADF 7.0.0-alpha.6](audit-info-7.0.0-alpha.6.md)
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
Title: Audit info, alfresco-ng2-components 7.0.0-alpha.6
|
||||
---
|
||||
|
||||
# Audit information for alfresco-ng2-components 7.0.0-alpha.6
|
||||
|
||||
This page lists the security audit of the dependencies this project depends on.
|
||||
|
||||
## Risks
|
||||
|
||||
- Critical risk: 0
|
||||
- High risk: 1
|
||||
- Moderate risk: 0
|
||||
- Low risk: 0
|
||||
|
||||
Dependencies analyzed:
|
||||
|
||||
## Libraries
|
||||
|
||||
| Severity | Module | Vulnerable versions |
|
||||
| --- | --- | --- |
|
||||
|high | pdfjs-dist | "<=4.1.392" |
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -143,7 +143,7 @@ const RESOURCES = {
|
||||
dateTime_id: 'dateandtime',
|
||||
checkbox_id: 'checkbox',
|
||||
dropdown_id: 'dropdown',
|
||||
drofpdown_value: "mat-select[id='dropdown'] span span",
|
||||
dropdown_value: "mat-select[id='dropdown'] span span",
|
||||
radioButtons_id: 'radiobuttons',
|
||||
dynamicTable_id: 'dynamictable'
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"prefer-arrow/prefer-arrow-functions": "off",
|
||||
"@typescript-eslint/no-var-requires": "off",
|
||||
"@typescript-eslint/naming-convention": "warn",
|
||||
"quote-props": "warn",
|
||||
"quote-props": "off",
|
||||
"no-shadow": "warn",
|
||||
"no-restricted-syntax": "off",
|
||||
"no-underscore-dangle": "off",
|
||||
|
||||
Generated
+6
-6
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "@alfresco/adf-cli",
|
||||
"version": "7.0.0-alpha.4",
|
||||
"version": "7.0.0-alpha.7",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@alfresco/adf-cli",
|
||||
"version": "7.0.0-alpha.4",
|
||||
"version": "7.0.0-alpha.7",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@alfresco/js-api": ">=7.8.0",
|
||||
"@alfresco/js-api": ">=8.0.0-alpha.6-0",
|
||||
"commander": "^6.2.1",
|
||||
"ejs": "^3.1.9",
|
||||
"license-checker": "^25.0.1",
|
||||
@@ -30,9 +30,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@alfresco/js-api": {
|
||||
"version": "7.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-7.8.0.tgz",
|
||||
"integrity": "sha512-3y5WwtvsEkwAB3WaFC9Ec+QMzvPmZccJ7Em06lVBDwxtFgZ1F2CisVNepWgZLoCSkCH8Lgm6e4Tr0L93S3AmoQ==",
|
||||
"version": "8.0.0-alpha.6-11937616463",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-8.0.0-alpha.6-11937616463.tgz",
|
||||
"integrity": "sha512-D+VvhGpZXBc/hfeimTf8SMdMANboDiCroJunnm1eiqiSt4nLxeU3NnQOpfCY4dLU1fDIcsl0YRFW25rMvKH+Eg==",
|
||||
"dependencies": {
|
||||
"event-emitter": "^0.3.5",
|
||||
"superagent": "^9.0.1",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@alfresco/adf-cli",
|
||||
"description": "Alfresco ADF cli and utils",
|
||||
"version": "7.0.0-alpha.4",
|
||||
"version": "7.0.0-alpha.7",
|
||||
"author": "Hyland Software, Inc. and its affiliates",
|
||||
"bin": {
|
||||
"adf-cli": "bin/adf-cli",
|
||||
@@ -20,7 +20,7 @@
|
||||
"dist": "rm -rf ../../dist/libs/cli && npm run build && cp -R ./bin ../../dist/libs/cli && cp -R ./resources ../../dist/libs/cli && cp -R ./templates ../../dist/libs/cli && cp ./package.json ../../dist/libs/cli"
|
||||
},
|
||||
"dependencies": {
|
||||
"@alfresco/js-api": ">=8.0.0-alpha.4",
|
||||
"@alfresco/js-api": ">=8.0.0-alpha.6-0",
|
||||
"commander": "^6.2.1",
|
||||
"ejs": "^3.1.9",
|
||||
"license-checker": "^25.0.1",
|
||||
|
||||
@@ -658,7 +658,7 @@ function findFailingApps(deployedApps: any[]): any[] {
|
||||
|
||||
Object.keys(ACTIVITI_CLOUD_APPS).forEach((key) => {
|
||||
const failingApp = deployedApps.filter(
|
||||
(currentApp: any) => ACTIVITI_CLOUD_APPS[key].name === currentApp.entry.name && 'Running' !== currentApp.entry.status
|
||||
(currentApp: any) => ACTIVITI_CLOUD_APPS[key].name === currentApp.entry.name && 'Deployed' !== currentApp.entry.status
|
||||
);
|
||||
|
||||
if (failingApp?.length > 0) {
|
||||
|
||||
@@ -121,7 +121,7 @@ export default async function main() {
|
||||
logger.info('Something went wrong. Was not able to create the users');
|
||||
}
|
||||
} catch (error) {
|
||||
logger.info(`Aps something went wrong. Tenant id ${tenantId}`);
|
||||
logger.error(`Aps something went wrong. Tenant id ${tenantId}`, error);
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
|
||||
+26
-19
@@ -36,6 +36,7 @@ interface PackageInfo {
|
||||
name: string;
|
||||
description: string;
|
||||
version: string;
|
||||
dependencies: Record<string, string>;
|
||||
}
|
||||
|
||||
const nonStandardLicenses = {
|
||||
@@ -45,7 +46,6 @@ const nonStandardLicenses = {
|
||||
};
|
||||
|
||||
const missingRepositories = {
|
||||
'@alfresco/adf-testing': 'https://github.com/Alfresco/alfresco-ng2-components',
|
||||
'@webassemblyjs/helper-api-error': 'https://github.com/xtuc/webassemblyjs',
|
||||
'@webassemblyjs/helper-fsm': 'https://github.com/xtuc/webassemblyjs',
|
||||
'@webassemblyjs/ieee754': 'https://github.com/xtuc/webassemblyjs',
|
||||
@@ -136,6 +136,8 @@ export default function main(_args: string[], workingDir: string) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// eslint-disable-next-line no-console
|
||||
console.info(`Checking ${packagePath}`);
|
||||
const packageJsonFile = getPackageFile(packagePath);
|
||||
const mainDependencies = Object.keys(packageJsonFile.dependencies || {});
|
||||
|
||||
checker.init(
|
||||
{
|
||||
@@ -148,29 +150,34 @@ export default function main(_args: string[], workingDir: string) {
|
||||
console.error(err);
|
||||
reject(err);
|
||||
} else {
|
||||
const filteredPackages = {};
|
||||
|
||||
// eslint-disable-next-line guard-for-in
|
||||
for (const packageName in packages) {
|
||||
const pack = packages[packageName];
|
||||
pack['licenseExp'] = pack['licenses']
|
||||
.toString()
|
||||
.replace(/\*/g, '')
|
||||
.replace(/[a-zA-Z0-9\-.]+/g, (match: string) => {
|
||||
const lowerMatch = match.toLowerCase();
|
||||
|
||||
if (lowerMatch !== 'and' && lowerMatch !== 'or' && lowerMatch !== 'with') {
|
||||
return licenseWithMDLinks(match);
|
||||
} else {
|
||||
return match;
|
||||
}
|
||||
});
|
||||
const lastAtSignPos = packageName.lastIndexOf('@');
|
||||
const basePackageName = packageName.substring(0, lastAtSignPos);
|
||||
|
||||
if (!pack['repository']) {
|
||||
const lastAtSignPos = packageName.lastIndexOf('@');
|
||||
const mainName = packageName.substring(0, lastAtSignPos);
|
||||
if (mainDependencies.includes(basePackageName)) {
|
||||
pack['licenseExp'] = pack['licenses']
|
||||
.toString()
|
||||
.replace(/\*/g, '')
|
||||
.replace(/[a-zA-Z0-9\-.]+/g, (match: string) => {
|
||||
const lowerMatch = match.toLowerCase();
|
||||
if (lowerMatch !== 'and' && lowerMatch !== 'or' && lowerMatch !== 'with') {
|
||||
return licenseWithMDLinks(match);
|
||||
} else {
|
||||
return match;
|
||||
}
|
||||
});
|
||||
|
||||
if (missingRepositories[mainName]) {
|
||||
pack['repository'] = missingRepositories[mainName];
|
||||
}
|
||||
filteredPackages[packageName] = pack;
|
||||
}
|
||||
|
||||
if (!pack['repository'] && missingRepositories[basePackageName]) {
|
||||
pack['repository'] = missingRepositories[basePackageName];
|
||||
filteredPackages[packageName] = pack;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,7 +186,7 @@ export default function main(_args: string[], workingDir: string) {
|
||||
ejs.renderFile(
|
||||
templatePath,
|
||||
{
|
||||
packages,
|
||||
filteredPackages,
|
||||
projVersion: packageJson.version,
|
||||
projName: packageJson.name
|
||||
},
|
||||
|
||||
@@ -19,75 +19,6 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
|
||||
export const ACTIVITI_CLOUD_APPS: any = {
|
||||
SUB_PROCESS_APP: {
|
||||
name: 'subprocessapp',
|
||||
file_location: (TAG = 'develop') =>
|
||||
`https://github.com/Alfresco/alfresco-ng2-components/blob/${TAG}/e2e/resources/activiti7/subprocessapp.zip?raw=true`,
|
||||
processes: {
|
||||
processchild: 'processchild',
|
||||
processparent: 'processparent'
|
||||
},
|
||||
security: [
|
||||
{ role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
|
||||
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser'] },
|
||||
{ role: 'ACTIVITI_USER', groups: ['hr', 'testgroup'], users: ['hruser'] }
|
||||
],
|
||||
variables: {
|
||||
'process-runtime-service': {
|
||||
ALFRESCO_PROCESS_TASKEMAIL_ENABLED: false
|
||||
}
|
||||
}
|
||||
},
|
||||
CANDIDATE_BASE_APP: {
|
||||
name: 'candidatebaseapp',
|
||||
file_location: (TAG = 'develop') =>
|
||||
`https://github.com/Alfresco/alfresco-ng2-components/blob/${TAG}/e2e/resources/activiti7/candidatebaseapp.zip?raw=true`,
|
||||
processes: {
|
||||
candidateUserProcess: 'candidateuserprocess',
|
||||
candidateGroupProcess: 'candidategroupprocess',
|
||||
anotherCandidateGroupProcess: 'anothercandidategroup',
|
||||
uploadFileProcess: 'uploadfileprocess',
|
||||
processwithstarteventform: 'processwithstarteventform',
|
||||
processwithjsonfilemapping: 'processwithjsonfilemapping',
|
||||
assigneeProcess: 'assigneeprocess',
|
||||
errorStartEventProcess: {
|
||||
process_name: 'errorstartevent',
|
||||
error_id: 'Error_END_EVENT',
|
||||
error_code: '123'
|
||||
},
|
||||
errorBoundaryEventProcess: {
|
||||
process_name: 'errorboundaryevent',
|
||||
error_id: 'Error_END_EVENT',
|
||||
error_code: '567'
|
||||
},
|
||||
errorExclusiveGateProcess: {
|
||||
process_name: 'errorexclusivegate',
|
||||
error_id: 'Error_OK',
|
||||
error_code: '200'
|
||||
}
|
||||
},
|
||||
forms: {
|
||||
starteventform: 'starteventform',
|
||||
formtotestvalidations: 'formtotestvalidations',
|
||||
uploadfileform: 'uploadfileform',
|
||||
inputform: 'inputform',
|
||||
outputform: 'outputform'
|
||||
},
|
||||
security: [
|
||||
{ role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
|
||||
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
|
||||
{ role: 'ACTIVITI_USER', groups: ['hr', 'testgroup'], users: ['hruser', 'salesuser'] }
|
||||
],
|
||||
tasks: {
|
||||
uploadFileTask: 'UploadFileTask',
|
||||
candidateUserTask: 'candidateUserTask'
|
||||
},
|
||||
variables: {
|
||||
'process-runtime-service': {
|
||||
ALFRESCO_PROCESS_TASKEMAIL_ENABLED: false
|
||||
}
|
||||
}
|
||||
},
|
||||
SIMPLE_APP: {
|
||||
name: 'simpleapp',
|
||||
file_location: (TAG = 'develop') =>
|
||||
|
||||
@@ -10,12 +10,12 @@ This page lists all third party libraries the project depends on.
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
<% for (var packageName in packages) {
|
||||
<% for (var packageName in filteredPackages) {
|
||||
var lastAtSignPos = packageName.lastIndexOf('@');
|
||||
|
||||
var name = packageName.substring(0, lastAtSignPos);
|
||||
var version = packageName.substring(lastAtSignPos + 1);
|
||||
var pack = packages[packageName];
|
||||
var pack = filteredPackages[packageName];
|
||||
var licenses = pack['licenseExp'] || 'N/A';
|
||||
var repo = pack['repository'];
|
||||
var linkedName = name;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"createDefaultProgram": true
|
||||
},
|
||||
"rules": {
|
||||
"jsdoc/newline-after-description": "warn",
|
||||
"jsdoc/tag-lines": ["error", "any", {"startLines": 1}],
|
||||
"@typescript-eslint/naming-convention": "warn",
|
||||
"@typescript-eslint/consistent-type-assertions": "warn",
|
||||
"@typescript-eslint/prefer-for-of": "warn",
|
||||
@@ -22,12 +22,12 @@
|
||||
}
|
||||
],
|
||||
"no-shadow": "warn",
|
||||
"quote-props": "warn",
|
||||
"quote-props": "off",
|
||||
"object-shorthand": "warn",
|
||||
"prefer-const": "warn",
|
||||
"arrow-body-style": "warn",
|
||||
"@angular-eslint/no-output-native": "off",
|
||||
"space-before-function-paren": "warn",
|
||||
"space-before-function-paren": "off",
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Karma configuration file, see link for more information
|
||||
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
||||
/* eslint-env es6 */
|
||||
const { join } = require('path');
|
||||
const { constants } = require('karma');
|
||||
|
||||
@@ -8,25 +9,25 @@ module.exports = function (config) {
|
||||
basePath: '../../',
|
||||
|
||||
files: [
|
||||
{pattern: 'node_modules/pdfjs-dist/build/pdf.js', included: true, watched: false},
|
||||
{pattern: 'node_modules/pdfjs-dist/build/pdf.worker.js', included: true, watched: false},
|
||||
{pattern: 'node_modules/pdfjs-dist/web/pdf_viewer.js', included: true, watched: false},
|
||||
{ pattern: 'node_modules/pdfjs-dist/build/pdf.js', included: true, watched: false },
|
||||
{ pattern: 'node_modules/pdfjs-dist/build/pdf.worker.js', included: true, watched: false },
|
||||
{ pattern: 'node_modules/pdfjs-dist/web/pdf_viewer.js', included: true, watched: false },
|
||||
{
|
||||
pattern: 'node_modules/@angular/material/prebuilt-themes/indigo-pink.css',
|
||||
included: true,
|
||||
watched: false
|
||||
},
|
||||
{pattern: 'lib/content-services/src/lib/i18n/**/en.json', included: false, served: true, watched: false},
|
||||
{ pattern: 'lib/content-services/src/lib/i18n/**/en.json', included: false, served: true, watched: false },
|
||||
{
|
||||
pattern: 'lib/content-services/src/lib/assets/images/**/*.svg',
|
||||
included: false,
|
||||
served: true,
|
||||
watched: false
|
||||
},
|
||||
{pattern: 'lib/core/src/lib/assets/**/*.svg', included: false, served: true, watched: false},
|
||||
{pattern: 'lib/core/src/lib/i18n/**/en.json', included: false, served: true, watched: false},
|
||||
{pattern: 'lib/content-services/**/*.ts', included: false, served: true, watched: false},
|
||||
{pattern: 'lib/config/app.config.json', included: false, served: true, watched: false}
|
||||
{ pattern: 'lib/core/src/lib/assets/**/*.svg', included: false, served: true, watched: false },
|
||||
{ pattern: 'lib/core/src/lib/i18n/**/en.json', included: false, served: true, watched: false },
|
||||
{ pattern: 'lib/content-services/**/*.ts', included: false, served: true, watched: false },
|
||||
{ pattern: 'lib/config/app.config.json', included: false, served: true, watched: false }
|
||||
],
|
||||
|
||||
frameworks: ['jasmine-ajax', 'jasmine', '@angular-devkit/build-angular'],
|
||||
@@ -38,7 +39,7 @@ module.exports = function (config) {
|
||||
'/assets/adf-content-services/i18n/en.json': '/base/lib/content-services/src/lib/i18n/en.json',
|
||||
'/assets/adf-core/i18n/en.json': '/base/lib/core/src/lib/i18n/en.json',
|
||||
'/assets/adf-core/i18n/en-GB.json': '/base/lib/core/src/lib/i18n/en.json',
|
||||
'/app.config.json': '/base/lib/config/app.config.json',
|
||||
'/app.config.json': '/base/lib/config/app.config.json'
|
||||
},
|
||||
|
||||
plugins: [
|
||||
@@ -58,7 +59,7 @@ module.exports = function (config) {
|
||||
},
|
||||
|
||||
jasmineHtmlReporter: {
|
||||
suppressAll: true, // removes the duplicated traces
|
||||
suppressAll: true // removes the duplicated traces
|
||||
},
|
||||
|
||||
coverageReporter: {
|
||||
@@ -78,12 +79,7 @@ module.exports = function (config) {
|
||||
customLaunchers: {
|
||||
ChromeHeadless: {
|
||||
base: 'Chrome',
|
||||
flags: [
|
||||
'--no-sandbox',
|
||||
'--headless',
|
||||
'--disable-gpu',
|
||||
'--remote-debugging-port=9222'
|
||||
]
|
||||
flags: ['--no-sandbox', '--headless', '--disable-gpu', '--remote-debugging-port=9222']
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@alfresco/adf-content-services",
|
||||
"description": "Alfresco ADF content services",
|
||||
"version": "7.0.0-alpha.4",
|
||||
"version": "7.0.0-alpha.7",
|
||||
"author": "Hyland Software, Inc. and its affiliates",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -21,9 +21,9 @@
|
||||
"@angular/platform-browser": ">=14.1.3",
|
||||
"@angular/platform-browser-dynamic": ">=14.1.3",
|
||||
"@angular/router": ">=14.1.3",
|
||||
"@alfresco/js-api": ">=8.0.0-alpha.4",
|
||||
"@alfresco/js-api": ">=8.0.0-alpha.7-0",
|
||||
"@ngx-translate/core": ">=14.0.0",
|
||||
"@alfresco/adf-core": ">=7.0.0-alpha.4"
|
||||
"@alfresco/adf-core": ">=7.0.0-alpha.7-0"
|
||||
},
|
||||
"keywords": [
|
||||
"content-services",
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
{{'ADF-ASPECT-LIST.DIALOG.SELECTED' | translate}}</p>
|
||||
</div>
|
||||
<mat-dialog-content class="adf-aspect-dialog-content">
|
||||
<adf-aspect-list #aspectList (valueChanged)="onValueChanged($event)" (updateCounter)="onUpdateCounter($event)" [nodeId]="currentNodeId" [excludedAspects]="data.excludedAspects">
|
||||
</adf-aspect-list>
|
||||
<adf-aspect-list #aspectList (valueChanged)="onValueChanged($event)" (updateCounter)="onUpdateCounter($event)" [nodeId]="currentNodeId" [excludedAspects]="data.excludedAspects" />
|
||||
</mat-dialog-content>
|
||||
|
||||
<mat-dialog-actions class="adf-aspect-list-dialog">
|
||||
|
||||
@@ -44,6 +44,6 @@
|
||||
|
||||
<ng-template #loading>
|
||||
<div class="adf-aspect-list-spinner">
|
||||
<mat-progress-spinner mode="indeterminate" id="adf-aspect-spinner"></mat-progress-spinner>
|
||||
<mat-progress-spinner mode="indeterminate" id="adf-aspect-spinner" />
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from '@angular/core';
|
||||
import { Component, DestroyRef, EventEmitter, inject, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';
|
||||
import { NodesApiService } from '../common/services/nodes-api.service';
|
||||
import { Observable, Subject, zip } from 'rxjs';
|
||||
import { concatMap, map, takeUntil, tap } from 'rxjs/operators';
|
||||
import { Observable, zip } from 'rxjs';
|
||||
import { concatMap, map, tap } from 'rxjs/operators';
|
||||
import { AspectListService } from './services/aspect-list.service';
|
||||
import { MatCheckboxChange, MatCheckboxModule } from '@angular/material/checkbox';
|
||||
import { AspectEntry } from '@alfresco/js-api';
|
||||
@@ -27,6 +27,7 @@ import { MatExpansionModule } from '@angular/material/expansion';
|
||||
import { MatTableModule } from '@angular/material/table';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-aspect-list',
|
||||
@@ -36,7 +37,7 @@ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
||||
styleUrls: ['./aspect-list.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class AspectListComponent implements OnInit, OnDestroy {
|
||||
export class AspectListComponent implements OnInit {
|
||||
/** Node Id of the node that we want to update */
|
||||
@Input()
|
||||
nodeId: string = '';
|
||||
@@ -60,15 +61,10 @@ export class AspectListComponent implements OnInit, OnDestroy {
|
||||
notDisplayedAspects: string[] = [];
|
||||
hasEqualAspect: boolean = true;
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
private readonly destroyRef = inject(DestroyRef);
|
||||
|
||||
constructor(private aspectListService: AspectListService, private nodeApiService: NodesApiService) {}
|
||||
|
||||
ngOnDestroy(): void {
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
let aspects$: Observable<AspectEntry[]>;
|
||||
if (this.nodeId) {
|
||||
@@ -89,10 +85,10 @@ export class AspectListComponent implements OnInit, OnDestroy {
|
||||
this.updateCounter.emit(this.nodeAspects.length);
|
||||
}),
|
||||
concatMap(() => this.aspectListService.getAspects()),
|
||||
takeUntil(this.onDestroy$)
|
||||
takeUntilDestroyed(this.destroyRef)
|
||||
);
|
||||
} else {
|
||||
aspects$ = this.aspectListService.getAspects().pipe(takeUntil(this.onDestroy$));
|
||||
aspects$ = this.aspectListService.getAspects().pipe(takeUntilDestroyed(this.destroyRef));
|
||||
}
|
||||
this.aspects$ = aspects$.pipe(map((aspects) => aspects.filter((aspect) => !this.excludedAspects.includes(aspect.entry.id))));
|
||||
}
|
||||
|
||||
@@ -15,15 +15,25 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild, ViewEncapsulation, OnDestroy } from '@angular/core';
|
||||
import {
|
||||
Component,
|
||||
DestroyRef,
|
||||
EventEmitter,
|
||||
inject,
|
||||
Input,
|
||||
OnChanges,
|
||||
OnInit,
|
||||
Output,
|
||||
ViewChild,
|
||||
ViewEncapsulation
|
||||
} from '@angular/core';
|
||||
import { MatSelect, MatSelectModule } from '@angular/material/select';
|
||||
import { Node, PathElement } from '@alfresco/js-api';
|
||||
import { DocumentListComponent } from '../document-list/components/document-list.component';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-breadcrumb',
|
||||
@@ -34,7 +44,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
host: { class: 'adf-breadcrumb' }
|
||||
})
|
||||
export class BreadcrumbComponent implements OnInit, OnChanges, OnDestroy {
|
||||
export class BreadcrumbComponent implements OnInit, OnChanges {
|
||||
/** Active node, builds UI based on folderNode.path.elements collection. */
|
||||
@Input()
|
||||
folderNode: Node = null;
|
||||
@@ -86,7 +96,7 @@ export class BreadcrumbComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
route: PathElement[] = [];
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
private readonly destroyRef = inject(DestroyRef);
|
||||
|
||||
get hasRoot(): boolean {
|
||||
return !!this.root;
|
||||
@@ -104,7 +114,7 @@ export class BreadcrumbComponent implements OnInit, OnChanges, OnDestroy {
|
||||
this.transform = this.transform ? this.transform : null;
|
||||
|
||||
if (this.target) {
|
||||
this.target.$folderNode.pipe(takeUntil(this.onDestroy$)).subscribe((folderNode: Node) => {
|
||||
this.target.$folderNode.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((folderNode: Node) => {
|
||||
this.folderNode = folderNode;
|
||||
this.recalculateNodes();
|
||||
});
|
||||
@@ -201,9 +211,4 @@ export class BreadcrumbComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -63,7 +63,6 @@
|
||||
*ngIf="existingCategoriesLoading"
|
||||
[diameter]="50"
|
||||
class="adf-categories-management-spinner"
|
||||
[attr.aria-label]="'CATEGORIES_MANAGEMENT.LOADING' | translate">
|
||||
</mat-spinner>
|
||||
[attr.aria-label]="'CATEGORIES_MANAGEMENT.LOADING' | translate" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+20
-8
@@ -16,10 +16,22 @@
|
||||
*/
|
||||
|
||||
import { Category } from '@alfresco/js-api';
|
||||
import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import {
|
||||
Component,
|
||||
DestroyRef,
|
||||
ElementRef,
|
||||
EventEmitter,
|
||||
inject,
|
||||
Input,
|
||||
OnDestroy,
|
||||
OnInit,
|
||||
Output,
|
||||
ViewChild,
|
||||
ViewEncapsulation
|
||||
} from '@angular/core';
|
||||
import { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';
|
||||
import { EMPTY, Observable, Subject, timer } from 'rxjs';
|
||||
import { debounce, first, map, takeUntil, tap } from 'rxjs/operators';
|
||||
import { debounce, first, map, tap } from 'rxjs/operators';
|
||||
import { CategoriesManagementMode } from './categories-management-mode';
|
||||
import { CategoryService } from '../services/category.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
@@ -30,6 +42,7 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatListModule } from '@angular/material/list';
|
||||
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
interface CategoryNameControlErrors {
|
||||
duplicatedExistingCategory?: boolean;
|
||||
@@ -66,7 +79,6 @@ export class CategoriesManagementComponent implements OnInit, OnDestroy {
|
||||
|
||||
private existingCategoryLoaded$ = new Subject<void>();
|
||||
private cancelExistingCategoriesLoading$ = new Subject<void>();
|
||||
private onDestroy$ = new Subject<void>();
|
||||
private _categoryNameControl = new FormControl<string>(
|
||||
'',
|
||||
[this.validateIfNotAlreadyAdded.bind(this), this.validateEmptyCategory, Validators.required],
|
||||
@@ -147,6 +159,8 @@ export class CategoriesManagementComponent implements OnInit, OnDestroy {
|
||||
@ViewChild('categoryNameInput')
|
||||
private categoryNameInputElement: ElementRef;
|
||||
|
||||
private readonly destroyRef = inject(DestroyRef);
|
||||
|
||||
constructor(private categoryService: CategoryService) {}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -162,11 +176,11 @@ export class CategoriesManagementComponent implements OnInit, OnDestroy {
|
||||
this.cancelExistingCategoriesLoading$.next();
|
||||
}),
|
||||
debounce((name: string) => (name ? timer(300) : EMPTY)),
|
||||
takeUntil(this.onDestroy$)
|
||||
takeUntilDestroyed(this.destroyRef)
|
||||
)
|
||||
.subscribe((name: string) => this.onNameControlValueChange(name));
|
||||
|
||||
this.categoryNameControl.statusChanges.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.setCategoryNameControlErrorMessageKey());
|
||||
this.categoryNameControl.statusChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.setCategoryNameControlErrorMessageKey());
|
||||
|
||||
this.setCategoryNameControlErrorMessageKey();
|
||||
|
||||
@@ -178,7 +192,7 @@ export class CategoriesManagementComponent implements OnInit, OnDestroy {
|
||||
this._categoryNameControl.removeValidators(Validators.required);
|
||||
this.categories.forEach((category) => this.initialCategories.push(category));
|
||||
if (this.classifiableChanged) {
|
||||
this.classifiableChanged.pipe(takeUntil(this.onDestroy$)).subscribe(() => {
|
||||
this.classifiableChanged.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
||||
this.categories = [];
|
||||
this.categoryNameControlVisible = false;
|
||||
this.categoryNameControlVisibleChange.emit(false);
|
||||
@@ -188,8 +202,6 @@ export class CategoriesManagementComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next();
|
||||
this.onDestroy$.complete();
|
||||
this.cancelExistingCategoriesLoading$.next();
|
||||
this.cancelExistingCategoriesLoading$.complete();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 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.
|
||||
*/
|
||||
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { HttpClientTestingModule } from '@angular/common/http/testing';
|
||||
import { CoreTestingModule, RedirectAuthService } from '@alfresco/adf-core';
|
||||
import { EMPTY, firstValueFrom, of } from 'rxjs';
|
||||
import { JobIdBodyEntry, SizeDetails, SizeDetailsEntry } from '@alfresco/js-api';
|
||||
import { NodesApiService } from './nodes-api.service';
|
||||
import { AlfrescoApiService } from '../../services/alfresco-api.service';
|
||||
import { AlfrescoApiServiceMock } from '../../mock/alfresco-api.service.mock';
|
||||
|
||||
const fakeInitiateFolderSizeResponse: JobIdBodyEntry = {
|
||||
entry: {
|
||||
jobId: 'fake-job-id'
|
||||
}
|
||||
};
|
||||
|
||||
const fakeFolderSizeResponse: SizeDetailsEntry = {
|
||||
entry: {
|
||||
jobId: 'fake-job-id',
|
||||
calculatedAt: new Date().toString(),
|
||||
sizeInBytes: '1234',
|
||||
numberOfFiles: 1,
|
||||
status: SizeDetails.StatusEnum.COMPLETE,
|
||||
id: 'fake-id'
|
||||
}
|
||||
};
|
||||
|
||||
describe('NodesApiService', () => {
|
||||
let nodesApiService: NodesApiService;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [HttpClientTestingModule, CoreTestingModule],
|
||||
providers: [
|
||||
NodesApiService,
|
||||
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
|
||||
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of(), init: () => {} } }
|
||||
]
|
||||
});
|
||||
|
||||
nodesApiService = TestBed.inject(NodesApiService);
|
||||
});
|
||||
|
||||
it('should call initiateFolderSizeCalculation api with nodeId parameter', async () => {
|
||||
spyOn(nodesApiService.nodesApi, 'initiateFolderSizeCalculation').and.returnValue(Promise.resolve(fakeInitiateFolderSizeResponse));
|
||||
await firstValueFrom(nodesApiService.initiateFolderSizeCalculation('fake-node-id'));
|
||||
|
||||
expect(nodesApiService.nodesApi.initiateFolderSizeCalculation).toHaveBeenCalledWith('fake-node-id');
|
||||
});
|
||||
|
||||
it('should call getFolderSizeInfo api with nodeId and jobId parameter', async () => {
|
||||
spyOn(nodesApiService.nodesApi, 'getFolderSizeInfo').and.returnValue(Promise.resolve(fakeFolderSizeResponse));
|
||||
await firstValueFrom(nodesApiService.getFolderSizeInfo('fake-node-id', 'fake-job-id'));
|
||||
|
||||
expect(nodesApiService.nodesApi.getFolderSizeInfo).toHaveBeenCalledWith('fake-node-id', 'fake-job-id');
|
||||
});
|
||||
});
|
||||
@@ -16,7 +16,18 @@
|
||||
*/
|
||||
|
||||
import { UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { ContentPagingQuery, Node, NodeAssignedHold, NodeEntry, NodePaging, NodesApi, NodesIncludeQuery, TrashcanApi } from '@alfresco/js-api';
|
||||
import {
|
||||
ContentPagingQuery,
|
||||
Node,
|
||||
NodeAssignedHold,
|
||||
NodeEntry,
|
||||
NodePaging,
|
||||
NodesApi,
|
||||
NodesIncludeQuery,
|
||||
TrashcanApi,
|
||||
SizeDetailsEntry,
|
||||
JobIdBodyEntry
|
||||
} from '@alfresco/js-api';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { from, Observable, Subject, throwError } from 'rxjs';
|
||||
import { catchError, map } from 'rxjs/operators';
|
||||
@@ -246,6 +257,27 @@ export class NodesApiService {
|
||||
return this.createNodeInsideRoot(name || this.randomNodeName(), nodeType, properties, path);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initiate a new request to calculate folder size.
|
||||
*
|
||||
* @param nodeId Node Id
|
||||
* @returns The job id which can be used to track request status
|
||||
*/
|
||||
initiateFolderSizeCalculation(nodeId: string): Observable<JobIdBodyEntry> {
|
||||
return from(this.nodesApi.initiateFolderSizeCalculation(nodeId));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the size of a folder.
|
||||
*
|
||||
* @param nodeId Node Id
|
||||
* @param jobId Job Id
|
||||
* @returns Folder details
|
||||
*/
|
||||
getFolderSizeInfo(nodeId: string, jobId: string): Observable<SizeDetailsEntry> {
|
||||
return from(this.nodesApi.getFolderSizeInfo(nodeId, jobId));
|
||||
}
|
||||
|
||||
private randomNodeName(): string {
|
||||
return `node_${Date.now()}`;
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ describe('SavedSearchesService', () => {
|
||||
let service: SavedSearchesService;
|
||||
let authService: AuthenticationService;
|
||||
let testUserName: string;
|
||||
let getNodeContentSpy: jasmine.Spy;
|
||||
|
||||
const testNodeId = 'test-node-id';
|
||||
const SAVED_SEARCHES_NODE_ID = 'saved-searches-node-id__';
|
||||
@@ -58,22 +59,23 @@ describe('SavedSearchesService', () => {
|
||||
service = TestBed.inject(SavedSearchesService);
|
||||
authService = TestBed.inject(AuthenticationService);
|
||||
spyOn(service.nodesApi, 'getNode').and.callFake(() => Promise.resolve({ entry: { id: testNodeId } } as NodeEntry));
|
||||
spyOn(service.searchApi, 'search').and.callFake(() => Promise.resolve({ list: { entries: [] } }));
|
||||
spyOn(service.nodesApi, 'createNode').and.callFake(() => Promise.resolve({ entry: { id: 'new-node-id' } }));
|
||||
spyOn(service.nodesApi, 'updateNodeContent').and.callFake(() => Promise.resolve({ entry: {} } as NodeEntry));
|
||||
getNodeContentSpy = spyOn(service.nodesApi, 'getNodeContent').and.callFake(() => createBlob());
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
localStorage.removeItem(SAVED_SEARCHES_NODE_ID + testUserName);
|
||||
});
|
||||
|
||||
it('should retrieve saved searches from the saved-searches.json file', (done) => {
|
||||
it('should retrieve saved searches from the config.json file', (done) => {
|
||||
spyOn(authService, 'getUsername').and.callFake(() => testUserName);
|
||||
spyOn(localStorage, 'getItem').and.callFake(() => testNodeId);
|
||||
spyOn(service.nodesApi, 'getNodeContent').and.callFake(() => createBlob());
|
||||
service.innit();
|
||||
|
||||
service.getSavedSearches().subscribe((searches) => {
|
||||
expect(localStorage.getItem).toHaveBeenCalledWith(SAVED_SEARCHES_NODE_ID + testUserName);
|
||||
expect(service.nodesApi.getNodeContent).toHaveBeenCalledWith(testNodeId);
|
||||
expect(getNodeContentSpy).toHaveBeenCalledWith(testNodeId);
|
||||
expect(searches.length).toBe(2);
|
||||
expect(searches[0].name).toBe('Search 1');
|
||||
expect(searches[1].name).toBe('Search 2');
|
||||
@@ -81,16 +83,16 @@ describe('SavedSearchesService', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should create saved-searches.json file if it does not exist', (done) => {
|
||||
it('should create config.json file if it does not exist', (done) => {
|
||||
const error: Error = { name: 'test', message: '{ "error": { "statusCode": 404 } }' };
|
||||
spyOn(authService, 'getUsername').and.callFake(() => testUserName);
|
||||
spyOn(service.nodesApi, 'createNode').and.callFake(() => Promise.resolve({ entry: { id: 'new-node-id' } }));
|
||||
spyOn(service.nodesApi, 'getNodeContent').and.callFake(() => Promise.resolve(new Blob([''])));
|
||||
service.nodesApi.getNode = jasmine.createSpy().and.returnValue(Promise.reject(error));
|
||||
getNodeContentSpy.and.callFake(() => Promise.resolve(new Blob([''])));
|
||||
service.innit();
|
||||
|
||||
service.getSavedSearches().subscribe((searches) => {
|
||||
expect(service.nodesApi.getNode).toHaveBeenCalledWith('-my-');
|
||||
expect(service.searchApi.search).toHaveBeenCalled();
|
||||
expect(service.nodesApi.createNode).toHaveBeenCalledWith(testNodeId, jasmine.objectContaining({ name: 'saved-searches.json' }));
|
||||
expect(service.nodesApi.getNode).toHaveBeenCalledWith('-my-', { relativePath: 'config.json' });
|
||||
expect(service.nodesApi.createNode).toHaveBeenCalledWith('-my-', jasmine.objectContaining({ name: 'config.json' }));
|
||||
expect(searches.length).toBe(0);
|
||||
done();
|
||||
});
|
||||
@@ -100,9 +102,7 @@ describe('SavedSearchesService', () => {
|
||||
spyOn(authService, 'getUsername').and.callFake(() => testUserName);
|
||||
const nodeId = 'saved-searches-node-id';
|
||||
spyOn(localStorage, 'getItem').and.callFake(() => nodeId);
|
||||
spyOn(service.nodesApi, 'getNodeContent').and.callFake(() => createBlob());
|
||||
const newSearch = { name: 'Search 3', description: 'Description 3', encodedUrl: 'url3' };
|
||||
spyOn(service.nodesApi, 'updateNodeContent').and.callFake(() => Promise.resolve({ entry: {} } as NodeEntry));
|
||||
service.innit();
|
||||
|
||||
service.saveSearch(newSearch).subscribe(() => {
|
||||
@@ -110,7 +110,7 @@ describe('SavedSearchesService', () => {
|
||||
expect(service.savedSearches$).toBeDefined();
|
||||
service.savedSearches$.subscribe((searches) => {
|
||||
expect(searches.length).toBe(3);
|
||||
expect(searches[2].name).toBe('Search 3');
|
||||
expect(searches[2].name).toBe('Search 2');
|
||||
expect(searches[2].order).toBe(2);
|
||||
done();
|
||||
});
|
||||
@@ -120,7 +120,6 @@ describe('SavedSearchesService', () => {
|
||||
it('should emit initial saved searches on subscription', (done) => {
|
||||
const nodeId = 'saved-searches-node-id';
|
||||
spyOn(localStorage, 'getItem').and.returnValue(nodeId);
|
||||
spyOn(service.nodesApi, 'getNodeContent').and.returnValue(createBlob());
|
||||
service.innit();
|
||||
|
||||
service.savedSearches$.pipe().subscribe((searches) => {
|
||||
@@ -135,9 +134,7 @@ describe('SavedSearchesService', () => {
|
||||
it('should emit updated saved searches after saving a new search', (done) => {
|
||||
spyOn(authService, 'getUsername').and.callFake(() => testUserName);
|
||||
spyOn(localStorage, 'getItem').and.callFake(() => testNodeId);
|
||||
spyOn(service.nodesApi, 'getNodeContent').and.callFake(() => createBlob());
|
||||
const newSearch = { name: 'Search 3', description: 'Description 3', encodedUrl: 'url3' };
|
||||
spyOn(service.nodesApi, 'updateNodeContent').and.callFake(() => Promise.resolve({ entry: {} } as NodeEntry));
|
||||
service.innit();
|
||||
|
||||
let emissionCount = 0;
|
||||
@@ -149,11 +146,52 @@ describe('SavedSearchesService', () => {
|
||||
}
|
||||
if (emissionCount === 2) {
|
||||
expect(searches.length).toBe(3);
|
||||
expect(searches[2].name).toBe('Search 3');
|
||||
expect(searches[2].name).toBe('Search 2');
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
service.saveSearch(newSearch).subscribe();
|
||||
});
|
||||
|
||||
it('should edit a search', (done) => {
|
||||
const updatedSearch = { name: 'Search 3', description: 'Description 3', encodedUrl: 'url3', order: 0 };
|
||||
prepareDefaultMock();
|
||||
|
||||
service.editSavedSearch(updatedSearch).subscribe(() => {
|
||||
service.savedSearches$.subscribe((searches) => {
|
||||
expect(searches.length).toBe(2);
|
||||
expect(searches[0].name).toBe('Search 3');
|
||||
expect(searches[0].order).toBe(0);
|
||||
|
||||
expect(searches[1].name).toBe('Search 2');
|
||||
expect(searches[1].order).toBe(1);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should delete a search', (done) => {
|
||||
const searchToDelete = { name: 'Search 1', description: 'Description 1', encodedUrl: 'url1', order: 0 };
|
||||
prepareDefaultMock();
|
||||
|
||||
service.deleteSavedSearch(searchToDelete).subscribe(() => {
|
||||
service.savedSearches$.subscribe((searches) => {
|
||||
expect(searches.length).toBe(1);
|
||||
expect(searches[0].name).toBe('Search 2');
|
||||
expect(searches[0].order).toBe(0);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Prepares default mocks for service
|
||||
*/
|
||||
function prepareDefaultMock(): void {
|
||||
spyOn(authService, 'getUsername').and.callFake(() => testUserName);
|
||||
const nodeId = 'saved-searches-node-id';
|
||||
spyOn(localStorage, 'getItem').and.callFake(() => nodeId);
|
||||
service.innit();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NodesApi, NodeEntry, SearchApi, SEARCH_LANGUAGE, ResultSetPaging } from '@alfresco/js-api';
|
||||
import { NodesApi, NodeEntry } from '@alfresco/js-api';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable, of, from, ReplaySubject, throwError } from 'rxjs';
|
||||
import { catchError, concatMap, first, map, switchMap, take, tap } from 'rxjs/operators';
|
||||
@@ -27,12 +27,6 @@ import { AuthenticationService } from '@alfresco/adf-core';
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class SavedSearchesService {
|
||||
private _searchApi: SearchApi;
|
||||
get searchApi(): SearchApi {
|
||||
this._searchApi = this._searchApi ?? new SearchApi(this.apiService.getInstance());
|
||||
return this._searchApi;
|
||||
}
|
||||
|
||||
private _nodesApi: NodesApi;
|
||||
get nodesApi(): NodesApi {
|
||||
this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
|
||||
@@ -58,10 +52,8 @@ export class SavedSearchesService {
|
||||
*/
|
||||
getSavedSearches(): Observable<SavedSearch[]> {
|
||||
return this.getSavedSearchesNodeId().pipe(
|
||||
concatMap(() => {
|
||||
return from(
|
||||
this.nodesApi.getNodeContent(this.savedSearchFileNodeId).then((content) => this.mapFileContentToSavedSearches(content))
|
||||
).pipe(
|
||||
concatMap(() =>
|
||||
from(this.nodesApi.getNodeContent(this.savedSearchFileNodeId).then((content) => this.mapFileContentToSavedSearches(content))).pipe(
|
||||
catchError((error) => {
|
||||
if (!this.createFileAttempt) {
|
||||
this.createFileAttempt = true;
|
||||
@@ -70,29 +62,139 @@ export class SavedSearchesService {
|
||||
}
|
||||
return throwError(() => error);
|
||||
})
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves a new search into state and updates state. If there are less than 5 searches,
|
||||
* it will be pushed on first place, if more it will be pushed to 6th place.
|
||||
*
|
||||
* @param newSaveSearch object { name: string, description: string, encodedUrl: string }
|
||||
* @returns NodeEntry
|
||||
*/
|
||||
saveSearch(newSaveSearch: Pick<SavedSearch, 'name' | 'description' | 'encodedUrl'>): Observable<NodeEntry> {
|
||||
return this.getSavedSearches().pipe(
|
||||
take(1),
|
||||
switchMap((savedSearches: SavedSearch[]) => {
|
||||
let updatedSavedSearches: SavedSearch[] = [];
|
||||
|
||||
if (savedSearches.length < 5) {
|
||||
updatedSavedSearches = [{ ...newSaveSearch, order: 0 }, ...savedSearches];
|
||||
} else {
|
||||
const firstFiveSearches = savedSearches.slice(0, 5);
|
||||
const restOfSearches = savedSearches.slice(5);
|
||||
|
||||
updatedSavedSearches = [...firstFiveSearches, { ...newSaveSearch, order: 5 }, ...restOfSearches];
|
||||
}
|
||||
|
||||
updatedSavedSearches = updatedSavedSearches.map((search, index) => ({
|
||||
...search,
|
||||
order: index
|
||||
}));
|
||||
|
||||
return from(this.nodesApi.updateNodeContent(this.savedSearchFileNodeId, JSON.stringify(updatedSavedSearches))).pipe(
|
||||
tap(() => this.savedSearches$.next(updatedSavedSearches))
|
||||
);
|
||||
}),
|
||||
catchError((error) => {
|
||||
console.error('Error saving new search:', error);
|
||||
return throwError(() => error);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a list of saved searches by user.
|
||||
* Replace Save Search with new one and also updates the state.
|
||||
*
|
||||
* @param newSaveSearch object { name: string, description: string, encodedUrl: string }
|
||||
* @returns Adds and saves search also updating current saved search state
|
||||
* @param updatedSavedSearch - updated Save Search
|
||||
* @returns NodeEntry
|
||||
*/
|
||||
saveSearch(newSaveSearch: Pick<SavedSearch, 'name' | 'description' | 'encodedUrl'>): Observable<NodeEntry> {
|
||||
return this.getSavedSearches().pipe(
|
||||
editSavedSearch(updatedSavedSearch: SavedSearch): Observable<NodeEntry> {
|
||||
let previousSavedSearches: SavedSearch[];
|
||||
return this.savedSearches$.pipe(
|
||||
take(1),
|
||||
switchMap((savedSearches: Array<SavedSearch>) => {
|
||||
const updatedSavedSearches = [...savedSearches, { ...newSaveSearch, order: savedSearches.length }];
|
||||
return from(this.nodesApi.updateNodeContent(this.savedSearchFileNodeId, JSON.stringify(updatedSavedSearches))).pipe(
|
||||
tap(() => this.savedSearches$.next(updatedSavedSearches))
|
||||
);
|
||||
map((savedSearches: SavedSearch[]) => {
|
||||
previousSavedSearches = [...savedSearches];
|
||||
return savedSearches.map((search) => (search.order === updatedSavedSearch.order ? updatedSavedSearch : search));
|
||||
}),
|
||||
tap((updatedSearches: SavedSearch[]) => {
|
||||
this.savedSearches$.next(updatedSearches);
|
||||
}),
|
||||
switchMap((updatedSearches: SavedSearch[]) =>
|
||||
from(this.nodesApi.updateNodeContent(this.savedSearchFileNodeId, JSON.stringify(updatedSearches)))
|
||||
),
|
||||
catchError((error) => {
|
||||
this.savedSearches$.next(previousSavedSearches);
|
||||
return throwError(() => error);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes Save Search and update state.
|
||||
*
|
||||
* @param deletedSavedSearch - Save Search to delete
|
||||
* @returns NodeEntry
|
||||
*/
|
||||
deleteSavedSearch(deletedSavedSearch: SavedSearch): Observable<NodeEntry> {
|
||||
let previousSavedSearchesOrder: SavedSearch[];
|
||||
return this.savedSearches$.pipe(
|
||||
take(1),
|
||||
map((savedSearches: SavedSearch[]) => {
|
||||
previousSavedSearchesOrder = [...savedSearches];
|
||||
const updatedSearches = savedSearches.filter((search) => search.order !== deletedSavedSearch.order);
|
||||
return updatedSearches.map((search, index) => ({
|
||||
...search,
|
||||
order: index
|
||||
}));
|
||||
}),
|
||||
tap((updatedSearches: SavedSearch[]) => {
|
||||
this.savedSearches$.next(updatedSearches);
|
||||
}),
|
||||
switchMap((updatedSearches: SavedSearch[]) =>
|
||||
from(this.nodesApi.updateNodeContent(this.savedSearchFileNodeId, JSON.stringify(updatedSearches)))
|
||||
),
|
||||
catchError((error) => {
|
||||
this.savedSearches$.next(previousSavedSearchesOrder);
|
||||
return throwError(() => error);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reorders saved search place
|
||||
*
|
||||
* @param previousIndex - previous index of saved search
|
||||
* @param currentIndex - new index of saved search
|
||||
*/
|
||||
changeOrder(previousIndex: number, currentIndex: number): void {
|
||||
let previousSavedSearchesOrder: SavedSearch[];
|
||||
this.savedSearches$
|
||||
.pipe(
|
||||
take(1),
|
||||
map((savedSearches: SavedSearch[]) => {
|
||||
previousSavedSearchesOrder = [...savedSearches];
|
||||
const [movedSearch] = savedSearches.splice(previousIndex, 1);
|
||||
savedSearches.splice(currentIndex, 0, movedSearch);
|
||||
return savedSearches.map((search, index) => ({
|
||||
...search,
|
||||
order: index
|
||||
}));
|
||||
}),
|
||||
tap((savedSearches: SavedSearch[]) => this.savedSearches$.next(savedSearches)),
|
||||
switchMap((updatedSearches: SavedSearch[]) =>
|
||||
from(this.nodesApi.updateNodeContent(this.savedSearchFileNodeId, JSON.stringify(updatedSearches)))
|
||||
),
|
||||
catchError((error) => {
|
||||
this.savedSearches$.next(previousSavedSearchesOrder);
|
||||
return throwError(() => error);
|
||||
})
|
||||
)
|
||||
.subscribe();
|
||||
}
|
||||
|
||||
private getSavedSearchesNodeId(): Observable<string> {
|
||||
const localStorageKey = this.getLocalStorageKey();
|
||||
if (this.currentUserLocalStorageKey && this.currentUserLocalStorageKey !== localStorageKey) {
|
||||
@@ -101,45 +203,37 @@ export class SavedSearchesService {
|
||||
this.currentUserLocalStorageKey = localStorageKey;
|
||||
let savedSearchesNodeId = localStorage.getItem(this.currentUserLocalStorageKey) ?? '';
|
||||
if (savedSearchesNodeId === '') {
|
||||
return from(this.nodesApi.getNode('-my-')).pipe(
|
||||
return from(this.nodesApi.getNode('-my-', { relativePath: 'config.json' })).pipe(
|
||||
first(),
|
||||
map((node) => node.entry.id),
|
||||
concatMap((parentNodeId) =>
|
||||
from(
|
||||
this.searchApi.search({
|
||||
query: {
|
||||
language: SEARCH_LANGUAGE.AFTS,
|
||||
query: `cm:name:"saved-searches.json" AND PARENT:"${parentNodeId}"`
|
||||
}
|
||||
})
|
||||
).pipe(
|
||||
first(),
|
||||
concatMap((searchResult: ResultSetPaging) => {
|
||||
if (searchResult.list.entries.length > 0) {
|
||||
savedSearchesNodeId = searchResult.list.entries[0].entry.id;
|
||||
localStorage.setItem(this.currentUserLocalStorageKey, savedSearchesNodeId);
|
||||
} else {
|
||||
return this.createSavedSearchesNode(parentNodeId).pipe(
|
||||
first(),
|
||||
map((node) => {
|
||||
localStorage.setItem(this.currentUserLocalStorageKey, node.entry.id);
|
||||
return node.entry.id;
|
||||
})
|
||||
);
|
||||
}
|
||||
this.savedSearchFileNodeId = savedSearchesNodeId;
|
||||
return savedSearchesNodeId;
|
||||
})
|
||||
)
|
||||
)
|
||||
concatMap((configNode) => {
|
||||
savedSearchesNodeId = configNode.entry.id;
|
||||
localStorage.setItem(this.currentUserLocalStorageKey, savedSearchesNodeId);
|
||||
this.savedSearchFileNodeId = savedSearchesNodeId;
|
||||
return savedSearchesNodeId;
|
||||
}),
|
||||
catchError((error) => {
|
||||
const errorStatusCode = JSON.parse(error.message).error.statusCode;
|
||||
if (errorStatusCode === 404) {
|
||||
return this.createSavedSearchesNode('-my-').pipe(
|
||||
first(),
|
||||
map((node) => {
|
||||
localStorage.setItem(this.currentUserLocalStorageKey, node.entry.id);
|
||||
return node.entry.id;
|
||||
})
|
||||
);
|
||||
} else {
|
||||
return throwError(() => error);
|
||||
}
|
||||
})
|
||||
);
|
||||
} else {
|
||||
this.savedSearchFileNodeId = savedSearchesNodeId;
|
||||
return of(savedSearchesNodeId);
|
||||
}
|
||||
}
|
||||
|
||||
private createSavedSearchesNode(parentNodeId: string): Observable<NodeEntry> {
|
||||
return from(this.nodesApi.createNode(parentNodeId, { name: 'saved-searches.json', nodeType: 'cm:content' }));
|
||||
return from(this.nodesApi.createNode(parentNodeId, { name: 'config.json', nodeType: 'cm:content' }));
|
||||
}
|
||||
|
||||
private async mapFileContentToSavedSearches(blob: Blob): Promise<Array<SavedSearch>> {
|
||||
|
||||
+1
-2
@@ -11,8 +11,7 @@
|
||||
[preset]="preset"
|
||||
[displayTags]="displayTags"
|
||||
[displayCategories]="displayCategories"
|
||||
[customPanels]="customPanels">
|
||||
</adf-content-metadata>
|
||||
[customPanels]="customPanels" />
|
||||
</mat-card-content>
|
||||
<mat-card-footer class="adf-content-metadata-card-footer adf-content-metadata-card-view-footer">
|
||||
<div>
|
||||
|
||||
+10
-16
@@ -52,8 +52,7 @@
|
||||
[displayEmpty]="displayEmpty"
|
||||
[copyToClipboardAction]="copyToClipboardAction"
|
||||
[useChipsForMultiValueProperty]="useChipsForMultiValueProperty"
|
||||
[multiValueSeparator]="multiValueSeparator">
|
||||
</adf-card-view>
|
||||
[multiValueSeparator]="multiValueSeparator" />
|
||||
</mat-expansion-panel>
|
||||
|
||||
<ng-container *ngIf="displayTags">
|
||||
@@ -99,10 +98,9 @@
|
||||
</div>
|
||||
</adf-content-metadata-header>
|
||||
</mat-expansion-panel-header>
|
||||
<div *ngIf="currentPanel.panelTitle === DefaultPanels.TAGS && !editing" class="adf-metadata-properties-tags">
|
||||
<mat-chip-set>
|
||||
<mat-chip *ngFor="let tag of tags" [disableRipple]="true" class="metadata-properties-tag-chip" data-automation-id="metadata-properties-tag-chip">{{ tag }}</mat-chip>
|
||||
</mat-chip-set>
|
||||
<div *ngIf="currentPanel.panelTitle === DefaultPanels.TAGS && !editing"
|
||||
class="adf-metadata-properties-tags">
|
||||
<adf-dynamic-chip-list [chips]="tagsToDisplay" [showDelete]="false" />
|
||||
</div>
|
||||
<div *ngIf="showEmptyTagMessage" class="adf-metadata-no-item-added">
|
||||
{{ 'METADATA.BASIC.NO_TAGS_ADDED' | translate }}
|
||||
@@ -114,8 +112,7 @@
|
||||
(tagsChange)="storeTagsToAssign($event)"
|
||||
[mode]="tagsCreatorMode"
|
||||
[tags]="assignedTags"
|
||||
[disabledTagsRemoving]="saving">
|
||||
</adf-tags-creator>
|
||||
[disabledTagsRemoving]="saving" />
|
||||
</mat-expansion-panel>
|
||||
</ng-container>
|
||||
|
||||
@@ -178,8 +175,7 @@
|
||||
[categories]="categories"
|
||||
[managementMode]="categoriesManagementMode"
|
||||
[classifiableChanged]="classifiableChanged"
|
||||
(categoriesChange)="storeCategoriesToAssign($event)">
|
||||
</adf-categories-management>
|
||||
(categoriesChange)="storeCategoriesToAssign($event)" />
|
||||
</mat-expansion-panel>
|
||||
</ng-container>
|
||||
|
||||
@@ -196,10 +192,9 @@
|
||||
<adf-content-metadata-header
|
||||
class="adf-metadata-custom-panel-title"
|
||||
[title]="customPanel.panelTitle"
|
||||
[expanded]="currentPanel.panelTitle === customPanel.panelTitle && currentPanel.expanded">
|
||||
</adf-content-metadata-header>
|
||||
[expanded]="currentPanel.panelTitle === customPanel.panelTitle && currentPanel.expanded" />
|
||||
</mat-expansion-panel-header>
|
||||
<adf-dynamic-component [id]="customPanel.component" [data]="{ node }"></adf-dynamic-component>
|
||||
<adf-dynamic-component [id]="customPanel.component" [data]="{ node }" />
|
||||
</mat-expansion-panel>
|
||||
|
||||
<ng-container *ngIf="groupedProperties$ | async; else loading; let groupedProperties">
|
||||
@@ -257,13 +252,12 @@
|
||||
[copyToClipboardAction]="copyToClipboardAction"
|
||||
[useChipsForMultiValueProperty]="useChipsForMultiValueProperty"
|
||||
[multiValueSeparator]="multiValueSeparator"
|
||||
[displayLabelForChips]="true">
|
||||
</adf-card-view>
|
||||
[displayLabelForChips]="true" />
|
||||
</mat-expansion-panel>
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
<ng-template #loading>
|
||||
<mat-progress-bar mode="indeterminate" [attr.aria-label]="'DATA_LOADING' | translate"> </mat-progress-bar>
|
||||
<mat-progress-bar mode="indeterminate" [attr.aria-label]="'DATA_LOADING' | translate" />
|
||||
</ng-template>
|
||||
</mat-accordion>
|
||||
|
||||
+2
-12
@@ -84,18 +84,8 @@ $panel-properties-height: 56px !default;
|
||||
}
|
||||
|
||||
&-tags {
|
||||
adf-tags-creator {
|
||||
.adf-tags-creation {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
&.adf-creator-with-existing-tags-panel {
|
||||
background: var(--adf-theme-background-dialog-color);
|
||||
}
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
visibility: hidden;
|
||||
.adf-dynamic-chip-list-chip {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+50
-19
@@ -15,28 +15,28 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { ComponentFixture, discardPeriodicTasks, fakeAsync, flush, TestBed, tick } from '@angular/core/testing';
|
||||
import { SimpleChange } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { Category, CategoryPaging, ClassesApi, Node, Tag, TagBody, TagEntry, TagPaging, TagPagingList } from '@alfresco/js-api';
|
||||
import { ContentMetadataComponent } from './content-metadata.component';
|
||||
import { ContentMetadataService } from '../../services/content-metadata.service';
|
||||
import { AppConfigService, CardViewBaseItemModel, CardViewComponent, NotificationService, UpdateNotification } from '@alfresco/adf-core';
|
||||
import { NodesApiService } from '../../../common/services/nodes-api.service';
|
||||
import { EMPTY, of, throwError } from 'rxjs';
|
||||
import { CardViewContentUpdateService } from '../../../common/services/card-view-content-update.service';
|
||||
import { PropertyGroup } from '../../interfaces/property-group.interface';
|
||||
import { PropertyDescriptorsService } from '../../services/property-descriptors.service';
|
||||
import { MatExpansionPanel } from '@angular/material/expansion';
|
||||
import { MatDialogModule } from '@angular/material/dialog';
|
||||
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
||||
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
|
||||
import { MatChipHarness } from '@angular/material/chips/testing';
|
||||
import { MatDialogModule } from '@angular/material/dialog';
|
||||
import { MatExpansionPanel } from '@angular/material/expansion';
|
||||
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
||||
import { EMPTY, of, throwError } from 'rxjs';
|
||||
import { CategoriesManagementComponent, CategoriesManagementMode } from '../../../category';
|
||||
import { TagsCreatorComponent, TagsCreatorMode } from '../../../tag';
|
||||
import { ContentTestingModule } from '../../../testing/content.testing.module';
|
||||
import { PropertyGroup } from '../../interfaces/property-group.interface';
|
||||
import { PropertyDescriptorsService } from '../../services/property-descriptors.service';
|
||||
import { TagService } from '../../../tag/services/tag.service';
|
||||
import { CategoryService } from '../../../category/services/category.service';
|
||||
import { TagsCreatorComponent, TagsCreatorMode } from '../../../tag';
|
||||
import { CategoriesManagementComponent, CategoriesManagementMode } from '../../../category';
|
||||
import { ContentTestingModule } from '../../../testing/content.testing.module';
|
||||
import { CardViewContentUpdateService } from '../../../common/services/card-view-content-update.service';
|
||||
import { ComponentFixture, discardPeriodicTasks, fakeAsync, flush, TestBed, tick } from '@angular/core/testing';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { SimpleChange } from '@angular/core';
|
||||
|
||||
describe('ContentMetadataComponent', () => {
|
||||
let component: ContentMetadataComponent;
|
||||
@@ -71,11 +71,16 @@ describe('ContentMetadataComponent', () => {
|
||||
|
||||
const category1 = new Category({ id: 'test', name: 'testCat' });
|
||||
const category2 = new Category({ id: 'test2', name: 'testCat2' });
|
||||
const categoryPagingResponse: CategoryPaging = { list: { pagination: {}, entries: [{ entry: category1 }, { entry: category2 }] } };
|
||||
const categoryPagingResponse: CategoryPaging = {
|
||||
list: {
|
||||
pagination: {},
|
||||
entries: [{ entry: category1 }, { entry: category2 }]
|
||||
}
|
||||
};
|
||||
|
||||
const findTagElements = async (): Promise<string[]> => {
|
||||
const matChipHarnessList = await TestbedHarnessEnvironment.loader(fixture).getAllHarnesses(
|
||||
MatChipHarness.with({ selector: '[data-automation-id="metadata-properties-tag-chip"]' })
|
||||
MatChipHarness.with({ selector: '.adf-dynamic-chip-list-chip' })
|
||||
);
|
||||
const tags = [];
|
||||
for (const matChip of matChipHarnessList) {
|
||||
@@ -269,7 +274,11 @@ describe('ContentMetadataComponent', () => {
|
||||
}));
|
||||
|
||||
it('nodeAspectUpdate', fakeAsync(() => {
|
||||
const fakeNode = { id: 'fake-minimal-node', aspectNames: ['ft:a', 'ft:b', 'ft:c'], name: 'fake-node' } as Node;
|
||||
const fakeNode = {
|
||||
id: 'fake-minimal-node',
|
||||
aspectNames: ['ft:a', 'ft:b', 'ft:c'],
|
||||
name: 'fake-node'
|
||||
} as Node;
|
||||
getGroupedPropertiesSpy.and.stub();
|
||||
spyOn(contentMetadataService, 'getBasicProperties').and.stub();
|
||||
updateService.updateNodeAspect(fakeNode);
|
||||
@@ -380,6 +389,27 @@ describe('ContentMetadataComponent', () => {
|
||||
flush();
|
||||
}));
|
||||
|
||||
it('should revert changes on unsuccessful save', fakeAsync(() => {
|
||||
component.readOnly = false;
|
||||
const property = { key: 'properties.property-key', value: 'original-value' } as CardViewBaseItemModel;
|
||||
spyOn(nodesApiService, 'updateNode').and.returnValue(throwError(new Error('error message')));
|
||||
spyOn(component, 'revertChanges').and.callThrough();
|
||||
updateService.update(property, 'new-value');
|
||||
tick(600);
|
||||
|
||||
fixture.detectChanges();
|
||||
toggleEditModeForGeneralInfo();
|
||||
tick(100);
|
||||
clickOnGeneralInfoSave();
|
||||
tick(100);
|
||||
|
||||
expect(component.revertChanges).toHaveBeenCalled();
|
||||
expect(component.changedProperties).toEqual({});
|
||||
expect(component.hasMetadataChanged).toBeFalse();
|
||||
discardPeriodicTasks();
|
||||
flush();
|
||||
}));
|
||||
|
||||
it('should open the confirm dialog when content type is changed', fakeAsync(() => {
|
||||
component.readOnly = false;
|
||||
const property = { key: 'nodeType', value: 'ft:sbiruli' } as CardViewBaseItemModel;
|
||||
@@ -731,7 +761,7 @@ describe('ContentMetadataComponent', () => {
|
||||
const expectedProperties = [];
|
||||
component.expanded = true;
|
||||
|
||||
getGroupedPropertiesSpy.and.returnValue(of([{ properties: expectedProperties } as any]));
|
||||
getGroupedPropertiesSpy.and.returnValue(of([{ properties: expectedProperties }]));
|
||||
spyOn(component, 'showGroup').and.returnValue(true);
|
||||
|
||||
component.ngOnChanges({ node: new SimpleChange(node, expectedNode, false) });
|
||||
@@ -745,7 +775,7 @@ describe('ContentMetadataComponent', () => {
|
||||
component.expanded = true;
|
||||
component.displayEmpty = false;
|
||||
|
||||
getGroupedPropertiesSpy.and.returnValue(of([{ properties: [] } as any]));
|
||||
getGroupedPropertiesSpy.and.returnValue(of([{ properties: [] }]));
|
||||
spyOn(component, 'showGroup').and.returnValue(true);
|
||||
|
||||
component.ngOnChanges({ node: new SimpleChange(node, expectedNode, false) });
|
||||
@@ -1321,7 +1351,8 @@ describe('ContentMetadataComponent', () => {
|
||||
|
||||
toggleEditModeForTags();
|
||||
fixture.detectChanges();
|
||||
expect(await findTagElements()).toHaveSize(0);
|
||||
const noEditableTagsContainer = fixture.debugElement.query(By.css('div.adf-metadata-properties-tags'));
|
||||
expect(noEditableTagsContainer).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
+29
-22
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewEncapsulation } from '@angular/core';
|
||||
import { Component, DestroyRef, inject, Input, OnChanges, OnInit, SimpleChanges, ViewEncapsulation } from '@angular/core';
|
||||
import { Category, CategoryEntry, CategoryLinkBody, CategoryPaging, Node, TagBody, TagEntry, TagPaging } from '@alfresco/js-api';
|
||||
import { forkJoin, Observable, of, Subject, zip } from 'rxjs';
|
||||
import {
|
||||
@@ -23,13 +23,15 @@ import {
|
||||
CardViewBaseItemModel,
|
||||
CardViewComponent,
|
||||
CardViewItem,
|
||||
Chip,
|
||||
DynamicChipListComponent,
|
||||
NotificationService,
|
||||
TranslationService,
|
||||
UpdateNotification
|
||||
} from '@alfresco/adf-core';
|
||||
import { ContentMetadataService } from '../../services/content-metadata.service';
|
||||
import { CardViewGroup, PresetConfig, ContentMetadataCustomPanel, ContentMetadataPanel } from '../../interfaces/content-metadata.interfaces';
|
||||
import { catchError, debounceTime, map, takeUntil } from 'rxjs/operators';
|
||||
import { CardViewGroup, ContentMetadataCustomPanel, ContentMetadataPanel, PresetConfig } from '../../interfaces/content-metadata.interfaces';
|
||||
import { catchError, debounceTime, map } from 'rxjs/operators';
|
||||
import { CardViewContentUpdateService } from '../../../common/services/card-view-content-update.service';
|
||||
import { NodesApiService } from '../../../common/services/nodes-api.service';
|
||||
import { TagsCreatorMode } from '../../../tag/tags-creator/tags-creator-mode';
|
||||
@@ -39,16 +41,17 @@ import { CategoriesManagementMode } from '../../../category/categories-managemen
|
||||
import { AllowableOperationsEnum } from '../../../common/models/allowable-operations.enum';
|
||||
import { ContentService } from '../../../common/services/content.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatExpansionModule } from '@angular/material/expansion';
|
||||
import { ContentMetadataHeaderComponent } from './content-metadata-header.component';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatChipsModule } from '@angular/material/chips';
|
||||
import { CategoriesManagementComponent } from '../../../category';
|
||||
import { MatExpansionModule } from '@angular/material/expansion';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { DynamicExtensionComponent } from '@alfresco/adf-extensions';
|
||||
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
||||
import { TagsCreatorComponent } from '../../../tag';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ContentMetadataHeaderComponent } from './content-metadata-header.component';
|
||||
import { CategoriesManagementComponent } from '../../../category/categories-management/categories-management.component';
|
||||
|
||||
const DEFAULT_SEPARATOR = ', ';
|
||||
|
||||
@@ -73,16 +76,15 @@ enum DefaultPanels {
|
||||
DynamicExtensionComponent,
|
||||
MatProgressBarModule,
|
||||
TagsCreatorComponent,
|
||||
CardViewComponent
|
||||
CardViewComponent,
|
||||
DynamicChipListComponent
|
||||
],
|
||||
templateUrl: './content-metadata.component.html',
|
||||
styleUrls: ['./content-metadata.component.scss'],
|
||||
host: { class: 'adf-content-metadata' },
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
protected onDestroy$ = new Subject<boolean>();
|
||||
|
||||
export class ContentMetadataComponent implements OnChanges, OnInit {
|
||||
/** (required) The node entity to fetch metadata about */
|
||||
@Input()
|
||||
node: Node;
|
||||
@@ -154,6 +156,7 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
basicProperties$: Observable<CardViewItem[]>;
|
||||
groupedProperties$: Observable<CardViewGroup[]>;
|
||||
|
||||
tagsToDisplay: Chip[];
|
||||
changedProperties = {};
|
||||
hasMetadataChanged = false;
|
||||
assignedCategories: Category[] = [];
|
||||
@@ -167,6 +170,8 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
panelTitle: ''
|
||||
};
|
||||
|
||||
private readonly destroyRef = inject(DestroyRef);
|
||||
|
||||
constructor(
|
||||
private contentMetadataService: ContentMetadataService,
|
||||
private cardViewContentUpdateService: CardViewContentUpdateService,
|
||||
@@ -185,14 +190,14 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
|
||||
ngOnInit() {
|
||||
this.cardViewContentUpdateService.itemUpdated$
|
||||
.pipe(debounceTime(500), takeUntil(this.onDestroy$))
|
||||
.pipe(debounceTime(500), takeUntilDestroyed(this.destroyRef))
|
||||
.subscribe((updatedNode: UpdateNotification) => {
|
||||
this.hasMetadataChanged = true;
|
||||
this.targetProperty = updatedNode.target;
|
||||
this.updateChanges(updatedNode.changed);
|
||||
});
|
||||
|
||||
this.cardViewContentUpdateService.updatedAspect$.pipe(debounceTime(500), takeUntil(this.onDestroy$)).subscribe((node) => {
|
||||
this.cardViewContentUpdateService.updatedAspect$.pipe(debounceTime(500), takeUntilDestroyed(this.destroyRef)).subscribe((node) => {
|
||||
this.node.aspectNames = node?.aspectNames;
|
||||
this.loadProperties(node);
|
||||
});
|
||||
@@ -214,6 +219,11 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
return this._assignedTags;
|
||||
}
|
||||
|
||||
set tags(tags: string[]) {
|
||||
this._tags = tags;
|
||||
this.tagsToDisplay = this.tags.map((tag) => ({ id: tag, name: tag }));
|
||||
}
|
||||
|
||||
get tags(): string[] {
|
||||
return this._tags;
|
||||
}
|
||||
@@ -274,11 +284,6 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
|
||||
updateChanges(updatedNodeChanges) {
|
||||
Object.keys(updatedNodeChanges).map((propertyGroup: string) => {
|
||||
if (typeof updatedNodeChanges[propertyGroup] === 'object') {
|
||||
@@ -313,7 +318,8 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
* @param tags array of tags to register, they are not saved yet until we click save button.
|
||||
*/
|
||||
storeTagsToAssign(tags: string[]) {
|
||||
this._tags = tags;
|
||||
this.tags = tags;
|
||||
this._assignedTags = tags;
|
||||
this.hasMetadataChanged = true;
|
||||
}
|
||||
|
||||
@@ -403,6 +409,7 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
this.cardViewContentUpdateService.updateElement(this.targetProperty);
|
||||
this.handleUpdateError(err);
|
||||
this._saving = false;
|
||||
this.revertChanges();
|
||||
this.loadProperties(this.node);
|
||||
return of(null);
|
||||
})
|
||||
@@ -516,8 +523,8 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
private loadTagsForNode(id: string) {
|
||||
this.tagService.getTagsByNodeId(id).subscribe((tagPaging) => {
|
||||
this.assignedTagsEntries = tagPaging.list.entries;
|
||||
this._tags = tagPaging.list.entries.map((tagEntry) => tagEntry.entry.tag);
|
||||
this._assignedTags = [...this._tags];
|
||||
this.tags = tagPaging.list.entries.map((tagEntry) => tagEntry.entry.tag);
|
||||
this._assignedTags = [...this.tags];
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ export class BasicPropertiesService {
|
||||
key: 'properties.cm:name',
|
||||
editable: true,
|
||||
validators: [
|
||||
new CardViewItemMatchValidator('[\\/\\*\\\\"\\\\]')
|
||||
new CardViewItemMatchValidator('[\\/\\*\\\\"\\\\:]')
|
||||
]
|
||||
}),
|
||||
new CardViewTextItemModel({
|
||||
|
||||
+74
-3
@@ -18,11 +18,12 @@
|
||||
import { AppConfigService } from '@alfresco/adf-core';
|
||||
import { ClassesApi, Node } from '@alfresco/js-api';
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { ContentMetadataService } from './content-metadata.service';
|
||||
import { of } from 'rxjs';
|
||||
import { PropertyGroup } from '../interfaces/property-group.interface';
|
||||
import { ContentTypePropertiesService } from './content-type-property.service';
|
||||
import { ContentTestingModule } from '../../testing/content.testing.module';
|
||||
import { OrganisedPropertyGroup } from '../interfaces/content-metadata.interfaces';
|
||||
import { PropertyGroup } from '../interfaces/property-group.interface';
|
||||
import { ContentMetadataService } from './content-metadata.service';
|
||||
import { ContentTypePropertiesService } from './content-type-property.service';
|
||||
import { PropertyDescriptorsService } from './property-descriptors.service';
|
||||
|
||||
const fakeNode: Node = {
|
||||
@@ -130,6 +131,62 @@ describe('ContentMetaDataService', () => {
|
||||
}
|
||||
};
|
||||
|
||||
const aspect1Group: OrganisedPropertyGroup = {
|
||||
name: 'test:aspect1',
|
||||
title: 'Test Aspect',
|
||||
properties: [
|
||||
{
|
||||
title: 'Property 1',
|
||||
name: 'test:property1',
|
||||
dataType: 'd:text',
|
||||
mandatory: false,
|
||||
multiValued: false
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
const aspect2Group: OrganisedPropertyGroup = {
|
||||
name: 'test:aspect2',
|
||||
title: 'Test Aspect',
|
||||
properties: [
|
||||
{
|
||||
title: 'Property 2',
|
||||
name: 'test:property2',
|
||||
dataType: 'd:text',
|
||||
mandatory: false,
|
||||
multiValued: false
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
const aspect3Group: OrganisedPropertyGroup = {
|
||||
name: 'test:aspect3',
|
||||
title: undefined,
|
||||
properties: [
|
||||
{
|
||||
title: 'Property 3',
|
||||
name: 'test:property3',
|
||||
dataType: 'd:text',
|
||||
mandatory: false,
|
||||
multiValued: false
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
const aspect4Group: OrganisedPropertyGroup = {
|
||||
name: 'test:aspect4',
|
||||
title: 'test:aspect3',
|
||||
properties: [
|
||||
{
|
||||
title: 'Property 4',
|
||||
name: 'test:property4',
|
||||
dataType: 'd:text',
|
||||
mandatory: false,
|
||||
multiValued: false
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
const setConfig = (presetName, presetConfig) => {
|
||||
appConfig.config['content-metadata'] = {
|
||||
presets: {
|
||||
@@ -176,6 +233,20 @@ describe('ContentMetaDataService', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should distinguish aspects with same title', () => {
|
||||
const groupedProperties = service.setTitleToNameIfNotSet([aspect1Group, aspect2Group]);
|
||||
expect(groupedProperties.length).toEqual(2);
|
||||
expect(groupedProperties[0].title).toEqual('Test Aspect');
|
||||
expect(groupedProperties[1].title).toEqual('Test Aspect (test:aspect2)');
|
||||
});
|
||||
|
||||
it('should distinguish aspect without title from other aspect with title equals to its name', () => {
|
||||
const groupedProperties = service.setTitleToNameIfNotSet([aspect3Group, aspect4Group]);
|
||||
expect(groupedProperties.length).toEqual(2);
|
||||
expect(groupedProperties[0].title).toEqual('test:aspect3');
|
||||
expect(groupedProperties[1].title).toEqual('test:aspect3 (test:aspect4)');
|
||||
});
|
||||
|
||||
describe('AspectOriented preset', () => {
|
||||
it('should return response with exif property', async () => {
|
||||
setConfig('default', { 'exif:exif': '*' });
|
||||
|
||||
+25
-13
@@ -30,15 +30,15 @@ import { ContentTypePropertiesService } from './content-type-property.service';
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class ContentMetadataService {
|
||||
|
||||
error = new Subject<{ statusCode: number; message: string }>();
|
||||
|
||||
constructor(private basicPropertiesService: BasicPropertiesService,
|
||||
private contentMetadataConfigFactory: ContentMetadataConfigFactory,
|
||||
private propertyGroupTranslatorService: PropertyGroupTranslatorService,
|
||||
private propertyDescriptorsService: PropertyDescriptorsService,
|
||||
private contentTypePropertyService: ContentTypePropertiesService) {
|
||||
}
|
||||
constructor(
|
||||
private basicPropertiesService: BasicPropertiesService,
|
||||
private contentMetadataConfigFactory: ContentMetadataConfigFactory,
|
||||
private propertyGroupTranslatorService: PropertyGroupTranslatorService,
|
||||
private propertyDescriptorsService: PropertyDescriptorsService,
|
||||
private contentTypePropertyService: ContentTypePropertiesService
|
||||
) {}
|
||||
|
||||
getBasicProperties(node: Node): Observable<CardViewItem[]> {
|
||||
return of(this.basicPropertiesService.getProperties(node));
|
||||
@@ -63,9 +63,7 @@ export class ContentMetadataService {
|
||||
contentMetadataConfig = this.contentMetadataConfigFactory.createConfig(preset);
|
||||
}
|
||||
|
||||
const groupNames = node.aspectNames
|
||||
.concat(node.nodeType)
|
||||
.filter((groupName) => contentMetadataConfig.isGroupAllowed(groupName));
|
||||
const groupNames = node.aspectNames.concat(node.nodeType).filter((groupName) => contentMetadataConfig.isGroupAllowed(groupName));
|
||||
|
||||
if (groupNames.length > 0) {
|
||||
groupedProperties = this.propertyDescriptorsService.load(groupNames).pipe(
|
||||
@@ -74,7 +72,8 @@ export class ContentMetadataService {
|
||||
() => contentMetadataConfig.isIncludeAllEnabled(),
|
||||
of(contentMetadataConfig.appendAllPreset(groups).concat(contentMetadataConfig.reorganiseByConfig(groups))),
|
||||
of(contentMetadataConfig.reorganiseByConfig(groups))
|
||||
)),
|
||||
)
|
||||
),
|
||||
map((groups) => contentMetadataConfig.filterExcludedPreset(groups)),
|
||||
map((groups) => this.filterEmptyPreset(groups)),
|
||||
map((groups) => this.setTitleToNameIfNotSet(groups)),
|
||||
@@ -87,13 +86,26 @@ export class ContentMetadataService {
|
||||
}
|
||||
|
||||
setTitleToNameIfNotSet(propertyGroups: OrganisedPropertyGroup[]): OrganisedPropertyGroup[] {
|
||||
const propertyGroupsTitles = [];
|
||||
propertyGroups.map((propertyGroup) => {
|
||||
propertyGroup.title = propertyGroup.title || propertyGroup.name;
|
||||
const title = propertyGroup.title;
|
||||
const name = propertyGroup.name;
|
||||
if (title) {
|
||||
if (propertyGroupsTitles.includes(title)) {
|
||||
propertyGroup.title = name ? `${title} (${name})` : title;
|
||||
} else {
|
||||
propertyGroup.title = title;
|
||||
}
|
||||
propertyGroupsTitles.push(title);
|
||||
} else {
|
||||
propertyGroup.title = name;
|
||||
propertyGroupsTitles.push(name);
|
||||
}
|
||||
});
|
||||
return propertyGroups;
|
||||
}
|
||||
|
||||
filterEmptyPreset(propertyGroups: OrganisedPropertyGroup[]): OrganisedPropertyGroup[] {
|
||||
filterEmptyPreset(propertyGroups: OrganisedPropertyGroup[]): OrganisedPropertyGroup[] {
|
||||
return propertyGroups.filter((props) => props.properties.length);
|
||||
}
|
||||
}
|
||||
|
||||
+22
-15
@@ -15,27 +15,27 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { inject, Injectable } from '@angular/core';
|
||||
import { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';
|
||||
import {
|
||||
CardViewItemProperties,
|
||||
CardViewItem,
|
||||
CardViewTextItemModel,
|
||||
AppConfigService,
|
||||
CardViewBoolItemModel,
|
||||
CardViewDateItemModel,
|
||||
CardViewSelectItemModel,
|
||||
CardViewDatetimeItemModel,
|
||||
CardViewIntItemModel,
|
||||
CardViewLongItemModel,
|
||||
CardViewFloatItemModel,
|
||||
MultiValuePipe,
|
||||
AppConfigService,
|
||||
CardViewIntItemModel,
|
||||
CardViewItem,
|
||||
CardViewItemProperties,
|
||||
CardViewLongItemModel,
|
||||
CardViewSelectItemModel,
|
||||
CardViewTextItemModel,
|
||||
DecimalNumberPipe,
|
||||
LogService,
|
||||
MultiValuePipe,
|
||||
UserPreferencesService
|
||||
} from '@alfresco/adf-core';
|
||||
import { Property, CardViewGroup, OrganisedPropertyGroup } from '../interfaces/content-metadata.interfaces';
|
||||
import { CardViewGroup, OrganisedPropertyGroup, Property } from '../interfaces/content-metadata.interfaces';
|
||||
import { of } from 'rxjs';
|
||||
import { Definition, Constraint, Property as PropertyBase } from '@alfresco/js-api';
|
||||
import { Constraint, Definition, Property as PropertyBase } from '@alfresco/js-api';
|
||||
|
||||
const D_TEXT = 'd:text';
|
||||
const D_MLTEXT = 'd:mltext';
|
||||
@@ -59,6 +59,8 @@ export class PropertyGroupTranslatorService {
|
||||
|
||||
valueSeparator: string;
|
||||
|
||||
private readonly injector = inject(Injector);
|
||||
|
||||
constructor() {
|
||||
this.valueSeparator = this.appConfig.get<string>('content-metadata.multi-value-pipe-separator');
|
||||
}
|
||||
@@ -156,10 +158,7 @@ export class PropertyGroupTranslatorService {
|
||||
cardViewItemProperty = new CardViewFloatItemModel(
|
||||
Object.assign(propertyDefinition, {
|
||||
multivalued: isMultiValued,
|
||||
pipes: [
|
||||
{ pipe: new DecimalNumberPipe(this.userPreferenceService, this.appConfig) },
|
||||
{ pipe: new MultiValuePipe(), params: [this.valueSeparator] }
|
||||
]
|
||||
pipes: [{ pipe: this.getDecimalNumberPipe() }, { pipe: new MultiValuePipe(), params: [this.valueSeparator] }]
|
||||
})
|
||||
);
|
||||
break;
|
||||
@@ -218,4 +217,12 @@ export class PropertyGroupTranslatorService {
|
||||
private isEmpty(value: any): boolean {
|
||||
return value === undefined || value === null || value === '';
|
||||
}
|
||||
|
||||
private getDecimalNumberPipe(): DecimalNumberPipe {
|
||||
let decimalNumberPipe: DecimalNumberPipe;
|
||||
runInInjectionContext(this.injector, () => {
|
||||
decimalNumberPipe = new DecimalNumberPipe(this.userPreferenceService, this.appConfig);
|
||||
});
|
||||
return decimalNumberPipe;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-11
@@ -34,8 +34,7 @@
|
||||
[hideMyFiles]="dropdownHideMyFiles"
|
||||
[siteList]="dropdownSiteList"
|
||||
[value]="startSiteGuid"
|
||||
data-automation-id="content-node-selector-sites-combo">
|
||||
</adf-sites-dropdown>
|
||||
data-automation-id="content-node-selector-sites-combo" />
|
||||
<button *ngIf="hasCustomModels()"
|
||||
data-automation-id="adf-toggle-search-panel-button"
|
||||
mat-icon-button
|
||||
@@ -44,7 +43,7 @@
|
||||
{{ 'SEARCH.SEARCH_HEADER.TITLE' | translate }}
|
||||
</button>
|
||||
<div class="adf-content-node-selector-search-panel-container">
|
||||
<adf-search-panel *ngIf="searchPanelExpanded"></adf-search-panel>
|
||||
<adf-search-panel *ngIf="searchPanelExpanded" />
|
||||
<div class="adf-content-node-selector-document-list-container">
|
||||
<adf-toolbar>
|
||||
<adf-toolbar-title>
|
||||
@@ -59,9 +58,8 @@
|
||||
[transform]="breadcrumbTransform"
|
||||
[folderNode]="breadcrumbFolderNode"
|
||||
[root]="breadcrumbFolderTitle"
|
||||
data-automation-id="content-node-selector-content-breadcrumb">
|
||||
</adf-dropdown-breadcrumb>
|
||||
<ng-container *ngIf="showNodeCounter" [adf-node-counter]="getSelectedCount()"></ng-container>
|
||||
data-automation-id="content-node-selector-content-breadcrumb" />
|
||||
<ng-container *ngIf="showNodeCounter" [adf-node-counter]="getSelectedCount()" />
|
||||
</adf-toolbar-title>
|
||||
</adf-toolbar>
|
||||
|
||||
@@ -98,15 +96,15 @@
|
||||
</adf-custom-empty-content-template>
|
||||
|
||||
<data-columns>
|
||||
<data-column key="$thumbnail" type="image"></data-column>
|
||||
<data-column key="$thumbnail" type="image" />
|
||||
<data-column key="name" type="text" title="ADF-DOCUMENT-LIST.LAYOUT.NAME" class="adf-full-width adf-ellipsis-cell">
|
||||
<ng-template let-context>
|
||||
<adf-name-location-cell [row]="context.row"></adf-name-location-cell>
|
||||
<adf-name-location-cell [row]="context.row" />
|
||||
</ng-template>
|
||||
</data-column>
|
||||
<data-column key="modifiedAt" type="date" title="ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_ON" format="timeAgo" class="adf-content-selector-modified-cell"></data-column>
|
||||
<data-column key="createdByUser.displayName" type="text" title="ADF-DOCUMENT-LIST.LAYOUT.CREATED_BY" class="adf-content-selector-modifier-cell"></data-column>
|
||||
<data-column key="visibility" type="text" title="ADF-DOCUMENT-LIST.LAYOUT.STATUS" class="adf-content-selector-visibility-cell"></data-column>
|
||||
<data-column key="modifiedAt" type="date" title="ADF-DOCUMENT-LIST.LAYOUT.MODIFIED_ON" format="timeAgo" class="adf-content-selector-modified-cell" />
|
||||
<data-column key="createdByUser.displayName" type="text" title="ADF-DOCUMENT-LIST.LAYOUT.CREATED_BY" class="adf-content-selector-modifier-cell" />
|
||||
<data-column key="visibility" type="text" title="ADF-DOCUMENT-LIST.LAYOUT.STATUS" class="adf-content-selector-visibility-cell" />
|
||||
</data-columns>
|
||||
|
||||
</adf-document-list>
|
||||
|
||||
+13
@@ -437,6 +437,19 @@ describe('ContentNodeSelectorPanelComponent', () => {
|
||||
expect(fakeNodePage.list.pagination.hasMoreItems).toBe(false);
|
||||
});
|
||||
|
||||
it('should not update chosen node if currently selected location is within the DISABLE_ACTION_FOLDER_LIST property', () => {
|
||||
const fakeNode = new Node({
|
||||
id: 'fake-node',
|
||||
path: { elements: [{ nodeType: 'st:site', name: 'fake-site' }] }
|
||||
});
|
||||
component.chosenNode = [fakeNode];
|
||||
component.documentList.currentFolderId = '-mysites-';
|
||||
component.documentList.folderNode = fakeFolderNode;
|
||||
component.onFolderLoaded(nodePage);
|
||||
expect(component.chosenNode).not.toEqual([fakeFolderNode]);
|
||||
expect(component.chosenNode).toEqual([fakeNode]);
|
||||
});
|
||||
|
||||
describe('in the case when isSelectionValid is a custom function for checking permissions,', () => {
|
||||
beforeEach(() => {
|
||||
component.isSelectionValid = returnHasPermission;
|
||||
|
||||
+35
-32
@@ -15,32 +15,31 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, EventEmitter, Input, OnInit, Output, ViewChild, ViewEncapsulation, OnDestroy } from '@angular/core';
|
||||
import { Component, DestroyRef, EventEmitter, inject, Input, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import {
|
||||
CustomEmptyContentTemplateDirective,
|
||||
DataColumnComponent,
|
||||
DataColumnListComponent,
|
||||
DataSorting,
|
||||
HighlightDirective,
|
||||
UserPreferencesService,
|
||||
UserPreferenceValues,
|
||||
InfinitePaginationComponent,
|
||||
PaginatedComponent,
|
||||
DataSorting,
|
||||
ShowHeaderMode,
|
||||
ToolbarTitleComponent,
|
||||
ToolbarComponent,
|
||||
DataColumnListComponent,
|
||||
DataColumnComponent,
|
||||
CustomEmptyContentTemplateDirective
|
||||
ToolbarTitleComponent,
|
||||
UserPreferencesService,
|
||||
UserPreferenceValues
|
||||
} from '@alfresco/adf-core';
|
||||
import { NodesApiService, UploadService, FileUploadCompleteEvent, FileUploadDeleteEvent, SitesService } from '../../common';
|
||||
import { FileUploadCompleteEvent, FileUploadDeleteEvent, NodesApiService, SitesService, UploadService } from '../../common';
|
||||
import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
|
||||
import { Node, NodePaging, Pagination, SiteEntry, SitePaging, NodeEntry, SearchRequest, RequestScope } from '@alfresco/js-api';
|
||||
import { Node, NodeEntry, NodePaging, Pagination, RequestScope, SearchRequest, SiteEntry, SitePaging } from '@alfresco/js-api';
|
||||
import { DocumentListComponent } from '../../document-list/components/document-list.component';
|
||||
import { RowFilter } from '../../document-list/data/row-filter.model';
|
||||
import { ImageResolver } from '../../document-list/data/image-resolver.model';
|
||||
import { CustomResourcesService } from '../../document-list/services/custom-resources.service';
|
||||
import { ShareDataRow } from '../../document-list/data/share-data-row.model';
|
||||
import { NodeEntryEvent } from '../../document-list/components/node.event';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import { Subject } from 'rxjs';
|
||||
import { debounceTime } from 'rxjs/operators';
|
||||
import { ContentNodeSelectorPanelService } from './content-node-selector-panel.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
@@ -55,6 +54,7 @@ import { NameLocationCellComponent } from '../name-location-cell/name-location-c
|
||||
import { DropdownBreadcrumbComponent } from '../../breadcrumb/dropdown-breadcrumb.component';
|
||||
import { SearchQueryBuilderService } from '../../search/services/search-query-builder.service';
|
||||
import { SearchPanelComponent } from '../../search/components/search-panel/search-panel.component';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
export type ValidationFunction = (entry: Node) => boolean;
|
||||
|
||||
@@ -92,13 +92,15 @@ export const defaultValidation = () => true;
|
||||
host: { class: 'adf-content-node-selector-panel' },
|
||||
providers: [SearchQueryBuilderService]
|
||||
})
|
||||
export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
export class ContentNodeSelectorPanelComponent implements OnInit {
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
DEFAULT_PAGINATION: Pagination = new Pagination({
|
||||
maxItems: 25,
|
||||
skipCount: 0
|
||||
});
|
||||
|
||||
readonly disableActionFolderList = ['-mysites-'];
|
||||
|
||||
private showSiteList = true;
|
||||
private showSearchField = true;
|
||||
private showCounter = false;
|
||||
@@ -303,7 +305,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
|
||||
searchPanelExpanded: boolean = false;
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
private readonly destroyRef = inject(DestroyRef);
|
||||
|
||||
constructor(
|
||||
private customResourcesService: CustomResourcesService,
|
||||
@@ -333,13 +335,15 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.searchInput.valueChanges.pipe(debounceTime(this.debounceSearch), takeUntil(this.onDestroy$)).subscribe((searchValue: string) => {
|
||||
this.searchTerm = searchValue;
|
||||
this.queryBuilderService.userQuery = searchValue.length > 0 ? `${searchValue}*` : searchValue;
|
||||
this.queryBuilderService.update();
|
||||
});
|
||||
this.searchInput.valueChanges
|
||||
.pipe(debounceTime(this.debounceSearch), takeUntilDestroyed(this.destroyRef))
|
||||
.subscribe((searchValue: string) => {
|
||||
this.searchTerm = searchValue;
|
||||
this.queryBuilderService.userQuery = searchValue.length > 0 ? `${searchValue}*` : searchValue;
|
||||
this.queryBuilderService.update();
|
||||
});
|
||||
|
||||
this.queryBuilderService.updated.pipe(takeUntil(this.onDestroy$)).subscribe((searchRequest) => {
|
||||
this.queryBuilderService.updated.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((searchRequest) => {
|
||||
if (searchRequest) {
|
||||
this.hasValidQuery = true;
|
||||
this.prepareDialogForNewSearch(searchRequest);
|
||||
@@ -351,7 +355,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
});
|
||||
|
||||
this.queryBuilderService.executed.pipe(takeUntil(this.onDestroy$)).subscribe((results: NodePaging) => {
|
||||
this.queryBuilderService.executed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((results: NodePaging) => {
|
||||
if (this.hasValidQuery) {
|
||||
this.showSearchResults(results);
|
||||
}
|
||||
@@ -359,7 +363,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
|
||||
this.userPreferencesService
|
||||
.select(UserPreferenceValues.PaginationSize)
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.pipe(takeUntilDestroyed(this.destroyRef))
|
||||
.subscribe((pagSize) => (this.pageSize = pagSize));
|
||||
|
||||
this.target = this.documentList;
|
||||
@@ -380,16 +384,11 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
this.resetPagination();
|
||||
this.setSearchScopeToNodes();
|
||||
|
||||
this.documentList.$folderNode.pipe(takeUntil(this.onDestroy$)).subscribe((currentNode: Node) => {
|
||||
this.documentList.$folderNode.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((currentNode: Node) => {
|
||||
this.currentFolder.emit(currentNode);
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
|
||||
toggleSearchPanel() {
|
||||
this.searchPanelExpanded = !this.searchPanelExpanded;
|
||||
}
|
||||
@@ -400,7 +399,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
|
||||
private onFileUploadEvent() {
|
||||
this.uploadService.fileUploadComplete
|
||||
.pipe(debounceTime(500), takeUntil(this.onDestroy$))
|
||||
.pipe(debounceTime(500), takeUntilDestroyed(this.destroyRef))
|
||||
.subscribe((fileUploadEvent: FileUploadCompleteEvent) => {
|
||||
this.currentUploadBatch.push(fileUploadEvent.data);
|
||||
if (!this.uploadService.isUploading()) {
|
||||
@@ -412,7 +411,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
private onFileUploadDeletedEvent() {
|
||||
this.uploadService.fileUploadDeleted.pipe(takeUntil(this.onDestroy$)).subscribe((deletedFileEvent: FileUploadDeleteEvent) => {
|
||||
this.uploadService.fileUploadDeleted.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((deletedFileEvent: FileUploadDeleteEvent) => {
|
||||
this.documentList.unselectRowFromNodeId(deletedFileEvent.file.data.entry.id);
|
||||
this.documentList.reloadWithoutResettingSelection();
|
||||
});
|
||||
@@ -441,7 +440,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
|
||||
private isExcludedSiteContent(row: ShareDataRow): boolean {
|
||||
const entry = row.node.entry;
|
||||
if (this._excludeSiteContent?.length && entry && entry.properties?.['st:componentId']) {
|
||||
if (this._excludeSiteContent?.length && entry?.properties?.['st:componentId']) {
|
||||
const excludedItem = this._excludeSiteContent.find((id: string) => entry.properties['st:componentId'] === id);
|
||||
return !!excludedItem;
|
||||
}
|
||||
@@ -635,11 +634,15 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
* @param entry node entry
|
||||
*/
|
||||
private attemptNodeSelection(entry: Node): void {
|
||||
if (entry && this.isSelectionValid(entry)) {
|
||||
if (entry && this.isSelectionValid(entry) && !this.isActionDisabledForFolder(this.documentList.currentFolderId)) {
|
||||
this.chosenNode = [entry];
|
||||
}
|
||||
}
|
||||
|
||||
private isActionDisabledForFolder(folderId: string): boolean {
|
||||
return this.disableActionFolderList.includes(folderId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears the chosen node
|
||||
*/
|
||||
|
||||
+6
-8
@@ -4,7 +4,7 @@
|
||||
mat-align-tabs="start"
|
||||
(selectedIndexChange)="onTabSelectionChange($event)">
|
||||
<mat-tab label="{{ 'NODE_SELECTOR.REPOSITORY' | translate }}">
|
||||
<ng-container *ngTemplateOutlet='contentNodePanel'></ng-container>
|
||||
<ng-container *ngTemplateOutlet='contentNodePanel' />
|
||||
</mat-tab>
|
||||
<mat-tab [disabled]="isNotAllowedToUpload()">
|
||||
<div class="adf-content-node-selector-local-upload-container">
|
||||
@@ -17,8 +17,8 @@
|
||||
[rootId]="data?.currentFolderId"
|
||||
[readOnly]="true"
|
||||
data-automation-id="content-node-selector-upload-breadcrumb"
|
||||
></adf-dropdown-breadcrumb>
|
||||
<ng-container *ngIf="isCounterVisible()" [adf-node-counter]="getSelectedCount()"></ng-container>
|
||||
/>
|
||||
<ng-container *ngIf="isCounterVisible()" [adf-node-counter]="getSelectedCount()" />
|
||||
</adf-toolbar-title>
|
||||
</adf-toolbar>
|
||||
<ng-template mat-tab-label>
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="adf-content-node-selector-local-upload-content">
|
||||
<adf-upload-drag-area [rootFolderId]="currentDirectoryId">
|
||||
<div [class.adf-upload-dialog-container]="uploadStarted">
|
||||
<adf-file-uploading-dialog [alwaysVisible]="true"></adf-file-uploading-dialog>
|
||||
<adf-file-uploading-dialog [alwaysVisible]="true" />
|
||||
</div>
|
||||
<adf-empty-list data-automation-id="adf-empty-list" *ngIf="!uploadStarted">
|
||||
<div class="adf-empty-list_template adf-empty-folder">
|
||||
@@ -71,8 +71,7 @@
|
||||
(select)="onSelect($event)"
|
||||
(showingSearch)="onShowingSearch($event)"
|
||||
(siteChange)="onSiteChange($event)"
|
||||
(navigationChange)="onNavigationChange($event)">
|
||||
</adf-content-node-selector-panel>
|
||||
(navigationChange)="onNavigationChange($event)" />
|
||||
</ng-template>
|
||||
|
||||
|
||||
@@ -84,8 +83,7 @@
|
||||
[multipleFiles]="isMultipleSelection()"
|
||||
[rootFolderId]="currentDirectoryId"
|
||||
[disabled]="isNotAllowedToUpload()"
|
||||
(error)="onError($event)">
|
||||
</adf-upload-button>
|
||||
(error)="onError($event)" />
|
||||
</ng-container>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
+16
-16
@@ -15,9 +15,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, Inject, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { Component, DestroyRef, inject, Inject, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
|
||||
import { TranslationService, NotificationService, ToolbarTitleComponent, ToolbarComponent, EmptyListComponent } from '@alfresco/adf-core';
|
||||
import {
|
||||
EmptyListComponent,
|
||||
NotificationService,
|
||||
ToolbarComponent,
|
||||
ToolbarTitleComponent,
|
||||
TranslationService
|
||||
} from '@alfresco/adf-core';
|
||||
import { Node } from '@alfresco/js-api';
|
||||
import { AllowableOperationsEnum } from '../common/models/allowable-operations.enum';
|
||||
import { ContentService } from '../common/services/content.service';
|
||||
@@ -26,8 +32,6 @@ import { ContentNodeSelectorComponentData } from './content-node-selector.compon
|
||||
import { NodeEntryEvent } from '../document-list/components/node.event';
|
||||
import { NodeAction } from '../document-list/models/node-action.enum';
|
||||
import { OverlayContainer } from '@angular/cdk/overlay';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
@@ -39,6 +43,7 @@ import { FileUploadingDialogComponent } from '../upload/components/file-uploadin
|
||||
import { ContentNodeSelectorPanelComponent } from './content-node-selector-panel/content-node-selector-panel.component';
|
||||
import { UploadButtonComponent } from '../upload/components/upload-button.component';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-content-node-selector',
|
||||
@@ -64,8 +69,7 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
styleUrls: ['./content-node-selector.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ContentNodeSelectorComponent implements OnInit, OnDestroy {
|
||||
private onDestroy$ = new Subject<void>();
|
||||
export class ContentNodeSelectorComponent implements OnInit {
|
||||
|
||||
title: string;
|
||||
action: NodeAction;
|
||||
@@ -81,6 +85,8 @@ export class ContentNodeSelectorComponent implements OnInit, OnDestroy {
|
||||
emptyFolderImageUrl: string = './assets/images/empty_doc_lib.svg';
|
||||
breadcrumbFolderNode: Node;
|
||||
|
||||
private readonly destroyRef = inject(DestroyRef);
|
||||
|
||||
constructor(
|
||||
private translation: TranslationService,
|
||||
private contentService: ContentService,
|
||||
@@ -99,7 +105,7 @@ export class ContentNodeSelectorComponent implements OnInit, OnDestroy {
|
||||
ngOnInit() {
|
||||
this.dialog
|
||||
.keydownEvents()
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.pipe(takeUntilDestroyed(this.destroyRef))
|
||||
.subscribe((event) => {
|
||||
if (event?.key === 'Escape') {
|
||||
event.preventDefault();
|
||||
@@ -110,28 +116,22 @@ export class ContentNodeSelectorComponent implements OnInit, OnDestroy {
|
||||
|
||||
this.dialog
|
||||
.backdropClick()
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.pipe(takeUntilDestroyed(this.destroyRef))
|
||||
.subscribe(() => {
|
||||
this.close();
|
||||
});
|
||||
|
||||
this.dialog
|
||||
.afterOpened()
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.pipe(takeUntilDestroyed(this.destroyRef))
|
||||
.subscribe(() => {
|
||||
this.overlayContainer.getContainerElement().setAttribute('role', 'main');
|
||||
});
|
||||
|
||||
this.uploadService.fileUploadStarting.pipe(takeUntil(this.onDestroy$)).subscribe(() => {
|
||||
this.uploadService.fileUploadStarting.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
||||
this.uploadStarted = true;
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next();
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
|
||||
close() {
|
||||
this.dialog.close();
|
||||
this.overlayContainer.getContainerElement().setAttribute('role', 'region');
|
||||
|
||||
@@ -24,8 +24,7 @@
|
||||
data-automation-id="adf-expire-toggle"
|
||||
aria-label="{{ 'SHARE.EXPIRES' | translate }}"
|
||||
[checked]="!!time.value"
|
||||
(change)="onToggleExpirationDate($event)">
|
||||
</mat-slide-toggle>
|
||||
(change)="onToggleExpirationDate($event)" />
|
||||
</div>
|
||||
<div
|
||||
[style.display]="isExpiryDateToggleChecked ? 'block' : 'none'"
|
||||
@@ -37,12 +36,10 @@
|
||||
[disabled]="time.disabled"
|
||||
[for]="datePicker"
|
||||
matSuffix
|
||||
class="adf-share-link__icon adf-share-link__calender-icon">
|
||||
</mat-datepicker-toggle>
|
||||
class="adf-share-link__icon adf-share-link__calender-icon" />
|
||||
<mat-datepicker
|
||||
#datePicker
|
||||
(closed)="onDatePickerClosed()">
|
||||
</mat-datepicker>
|
||||
(closed)="onDatePickerClosed()" />
|
||||
<input
|
||||
class="adf-share-link__input"
|
||||
#datePickerInput
|
||||
@@ -67,8 +64,7 @@
|
||||
aria-label="{{ 'SHARE.TITLE' | translate }}"
|
||||
[checked]="isFileShared"
|
||||
[disabled]="!canUpdate || isDisabled"
|
||||
(change)="onSlideShareChange($event)">
|
||||
</mat-slide-toggle>
|
||||
(change)="onSlideShareChange($event)" />
|
||||
<div class="adf-share-link__label adf-sharable-link">{{ 'SHARE.SHARABLE-LINK-CREATED' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -15,18 +15,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, Inject, OnInit, ViewEncapsulation, ViewChild, OnDestroy } from '@angular/core';
|
||||
import { Component, Inject, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA, MatDialog, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
|
||||
import { MatSlideToggleChange, MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
||||
import { Subject } from 'rxjs';
|
||||
import { ContentService } from '../common/services/content.service';
|
||||
import { SharedLinksApiService } from './services/shared-links-api.service';
|
||||
import { SharedLinkBodyCreate } from '@alfresco/js-api';
|
||||
import { ClipboardDirective, ConfirmDialogComponent } from '@alfresco/adf-core';
|
||||
import { ContentNodeShareSettings } from './content-node-share.settings';
|
||||
import { RenditionService } from '../common/services/rendition.service';
|
||||
import { format, add, endOfDay, isBefore } from 'date-fns';
|
||||
import { add, endOfDay, format, isBefore } from 'date-fns';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
@@ -61,7 +60,7 @@ interface SharedDialogFormProps {
|
||||
host: { class: 'adf-share-dialog' },
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ShareDialogComponent implements OnInit, OnDestroy {
|
||||
export class ShareDialogComponent implements OnInit {
|
||||
private minDateValidator = (control: FormControl<Date>): any =>
|
||||
isBefore(endOfDay(new Date(control.value)), this.minDate) ? { invalidDate: true } : null;
|
||||
|
||||
@@ -80,9 +79,6 @@ export class ShareDialogComponent implements OnInit, OnDestroy {
|
||||
|
||||
@ViewChild('slideToggleExpirationDate', { static: true })
|
||||
slideToggleExpirationDate;
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
|
||||
constructor(
|
||||
private sharedLinksApiService: SharedLinksApiService,
|
||||
private dialogRef: MatDialogRef<ShareDialogComponent>,
|
||||
@@ -121,12 +117,6 @@ export class ShareDialogComponent implements OnInit, OnDestroy {
|
||||
get time(): FormControl<Date> {
|
||||
return this.form.controls['time'];
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
|
||||
onSlideShareChange(event: MatSlideToggleChange) {
|
||||
if (event.checked) {
|
||||
this.createSharedLinks(this.data.node.entry.id);
|
||||
|
||||
@@ -15,21 +15,21 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Directive, Input, HostListener, OnChanges, NgZone, OnDestroy } from '@angular/core';
|
||||
import { DestroyRef, Directive, HostListener, inject, Input, NgZone, OnChanges } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { NodeEntry, NodesApi } from '@alfresco/js-api';
|
||||
|
||||
import { ShareDialogComponent } from './content-node-share.dialog';
|
||||
import { Observable, from, Subject } from 'rxjs';
|
||||
import { from, Observable } from 'rxjs';
|
||||
import { AlfrescoApiService } from '../services/alfresco-api.service';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Directive({
|
||||
selector: '[adf-share]',
|
||||
standalone: true,
|
||||
exportAs: 'adfShare'
|
||||
})
|
||||
export class NodeSharedDirective implements OnChanges, OnDestroy {
|
||||
export class NodeSharedDirective implements OnChanges {
|
||||
isFile: boolean = false;
|
||||
isShared: boolean = false;
|
||||
|
||||
@@ -42,7 +42,6 @@ export class NodeSharedDirective implements OnChanges, OnDestroy {
|
||||
@Input()
|
||||
baseShareUrl: string;
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
|
||||
_nodesApi: NodesApi;
|
||||
get nodesApi(): NodesApi {
|
||||
@@ -50,13 +49,9 @@ export class NodeSharedDirective implements OnChanges, OnDestroy {
|
||||
return this._nodesApi;
|
||||
}
|
||||
|
||||
private readonly destroyRef = inject(DestroyRef);
|
||||
|
||||
constructor(private dialog: MatDialog, private zone: NgZone, private alfrescoApiService: AlfrescoApiService) {}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
|
||||
shareNode(nodeEntry: NodeEntry) {
|
||||
if (nodeEntry?.entry?.isFile) {
|
||||
// shared and favorite
|
||||
@@ -92,7 +87,7 @@ export class NodeSharedDirective implements OnChanges, OnDestroy {
|
||||
}
|
||||
|
||||
ngOnChanges() {
|
||||
this.zone.onStable.pipe(takeUntil(this.onDestroy$)).subscribe(() => {
|
||||
this.zone.onStable.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
||||
if (this.node?.entry) {
|
||||
this.isFile = this.node.entry.isFile;
|
||||
this.isShared = this.node.entry.properties ? this.node.entry.properties['qshare:sharedId'] : false;
|
||||
|
||||
+1
-2
@@ -7,8 +7,7 @@
|
||||
(categoriesChange)="categories = $event"
|
||||
[categoryNameControlVisible]="true"
|
||||
[managementMode]="categoriesManagementMode"
|
||||
[multiSelect]="multiSelect">
|
||||
</adf-categories-management>
|
||||
[multiSelect]="multiSelect" />
|
||||
</mat-dialog-content>
|
||||
<mat-dialog-actions align="end">
|
||||
<button
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<h1 matDialogTitle>{{ 'CORE.DIALOG.DOWNLOAD_ZIP.TITLE' | translate }}</h1>
|
||||
<div mat-dialog-content class="adf-dialog-content">
|
||||
<mat-progress-bar value="{{ percentageDone }}" color="primary" mode="determinate"></mat-progress-bar>
|
||||
<mat-progress-bar value="{{ percentageDone }}" color="primary" mode="determinate" />
|
||||
<div class="adf-dialog-content-progress-text">
|
||||
<span class="adf-dialog-content-progress-text-percentage">
|
||||
{{ percentageDone }}%
|
||||
|
||||
@@ -15,21 +15,21 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Observable, Subject } from 'rxjs';
|
||||
import { Component, OnInit, Output, EventEmitter, OnDestroy, ViewEncapsulation } from '@angular/core';
|
||||
import { Observable } from 'rxjs';
|
||||
import { Component, DestroyRef, EventEmitter, inject, OnInit, Output, ViewEncapsulation } from '@angular/core';
|
||||
import {
|
||||
UntypedFormBuilder,
|
||||
UntypedFormGroup,
|
||||
Validators,
|
||||
UntypedFormControl,
|
||||
AbstractControl,
|
||||
FormsModule,
|
||||
ReactiveFormsModule,
|
||||
FormsModule
|
||||
UntypedFormBuilder,
|
||||
UntypedFormControl,
|
||||
UntypedFormGroup,
|
||||
Validators
|
||||
} from '@angular/forms';
|
||||
import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';
|
||||
import { QueriesApi, SiteBodyCreate, SiteEntry, SitePaging } from '@alfresco/js-api';
|
||||
import { NotificationService } from '@alfresco/adf-core';
|
||||
import { debounceTime, finalize, mergeMap, takeUntil } from 'rxjs/operators';
|
||||
import { debounceTime, finalize, mergeMap } from 'rxjs/operators';
|
||||
import { SitesService } from '../../common/services/sites.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
@@ -39,6 +39,7 @@ import { AutoFocusDirective } from '../../directives';
|
||||
import { MatRadioModule } from '@angular/material/radio';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { AlfrescoApiService } from '../../services';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-library-dialog',
|
||||
@@ -60,7 +61,7 @@ import { AlfrescoApiService } from '../../services';
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
host: { class: 'adf-library-dialog' }
|
||||
})
|
||||
export class LibraryDialogComponent implements OnInit, OnDestroy {
|
||||
export class LibraryDialogComponent implements OnInit {
|
||||
/** Emitted when an error occurs. */
|
||||
@Output()
|
||||
error: EventEmitter<any> = new EventEmitter<any>();
|
||||
@@ -73,8 +74,6 @@ export class LibraryDialogComponent implements OnInit, OnDestroy {
|
||||
@Output()
|
||||
success: EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
onDestroy$: Subject<boolean> = new Subject<boolean>();
|
||||
|
||||
createTitle = 'LIBRARY.DIALOG.CREATE_TITLE';
|
||||
libraryTitleExists = false;
|
||||
form: UntypedFormGroup;
|
||||
@@ -96,6 +95,8 @@ export class LibraryDialogComponent implements OnInit, OnDestroy {
|
||||
return this._queriesApi;
|
||||
}
|
||||
|
||||
private readonly destroyRef = inject(DestroyRef);
|
||||
|
||||
constructor(
|
||||
private alfrescoApiService: AlfrescoApiService,
|
||||
private sitesService: SitesService,
|
||||
@@ -126,7 +127,7 @@ export class LibraryDialogComponent implements OnInit, OnDestroy {
|
||||
(title) => this.checkLibraryNameExists(title),
|
||||
(title) => title
|
||||
),
|
||||
takeUntil(this.onDestroy$)
|
||||
takeUntilDestroyed(this.destroyRef)
|
||||
)
|
||||
.subscribe((title: string) => {
|
||||
if (!this.form.controls['id'].dirty && this.canGenerateId(title)) {
|
||||
@@ -136,11 +137,6 @@ export class LibraryDialogComponent implements OnInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
}
|
||||
|
||||
get title(): string {
|
||||
const { title } = this.form.value;
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
<br />
|
||||
|
||||
<mat-form-field *ngIf="form.value?.isTimeLock">
|
||||
<mat-datetimepicker-toggle [for]="datetimePicker" matSuffix></mat-datetimepicker-toggle>
|
||||
<mat-datetimepicker #datetimePicker type="datetime" [openOnFocus]="true" [timeInterval]="1"></mat-datetimepicker>
|
||||
<mat-datetimepicker-toggle [for]="datetimePicker" matSuffix />
|
||||
<mat-datetimepicker #datetimePicker type="datetime" [openOnFocus]="true" [timeInterval]="1" />
|
||||
<input matInput [formControlName]="'time'" [matDatetimepicker]="datetimePicker" required autocomplete="false">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
@@ -95,7 +95,6 @@ export class CheckAllowableOperationDirective implements OnChanges {
|
||||
/**
|
||||
* Enables decorated element
|
||||
*
|
||||
* @memberof CheckAllowableOperationDirective
|
||||
*/
|
||||
enableElement(): void {
|
||||
this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');
|
||||
@@ -104,7 +103,6 @@ export class CheckAllowableOperationDirective implements OnChanges {
|
||||
/**
|
||||
* Disables decorated element
|
||||
*
|
||||
* @memberof CheckAllowableOperationDirective
|
||||
*/
|
||||
disableElement(): void {
|
||||
this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', 'true');
|
||||
|
||||
@@ -35,8 +35,7 @@
|
||||
<adf-filter-header
|
||||
[currentFolderId]="currentFolderId"
|
||||
[value]="filterValue"
|
||||
(filterSelection)="onFilterSelectionChange($event)">
|
||||
</adf-filter-header>
|
||||
(filterSelection)="onFilterSelectionChange($event)" />
|
||||
</div>
|
||||
|
||||
<adf-no-content-template>
|
||||
@@ -71,8 +70,7 @@
|
||||
class="adf-document-list-loading-margin"
|
||||
[attr.aria-label]="'ADF-DOCUMENT-LIST.LOADER_LABEL' | translate"
|
||||
[color]="'primary'"
|
||||
[mode]="'indeterminate'">
|
||||
</mat-progress-spinner>
|
||||
[mode]="'indeterminate'" />
|
||||
</div>
|
||||
<ng-content select="adf-custom-loading-content-template"></ng-content>
|
||||
</ng-template>
|
||||
@@ -85,8 +83,7 @@
|
||||
[mainMenuTrigger]="mainMenuTrigger"
|
||||
[columnsSorting]="false"
|
||||
[maxColumnsVisible]="maxColumnsVisible"
|
||||
(submitColumnsVisibility)="onColumnsVisibilityChange($event)">
|
||||
</adf-datatable-column-selector>
|
||||
(submitColumnsVisibility)="onColumnsVisibilityChange($event)" />
|
||||
</ng-template>
|
||||
</adf-main-menu-datatable-template>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user