mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-16 18:13:06 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c9c5576ba | ||
|
|
f7d83195f9 | ||
|
|
60605b482a | ||
|
|
b98d67e816 | ||
|
|
3af4e79424 | ||
|
|
a5332bf808 | ||
|
|
83d470ab23 | ||
|
|
bd9a9bb901 | ||
|
|
672f70ac43 | ||
|
|
f7dcab7adb | ||
|
|
872abc3dc0 | ||
|
|
71ef7b940a | ||
|
|
ca6b596741 | ||
|
|
7e68ed9ceb | ||
|
|
e20f8536cb | ||
|
|
86710eb589 | ||
|
|
b5b3ff6674 | ||
|
|
37d96e4507 | ||
|
|
d7fa4143bf | ||
|
|
34a399e398 | ||
|
|
4c75a6748c | ||
|
|
9b0104fcf5 | ||
|
|
1331a6d7ce | ||
|
|
05d23bc8a5 | ||
|
|
40d64d299f | ||
|
|
a8d547c7b4 | ||
|
|
8d5f3c9884 | ||
|
|
1d3a7b1573 | ||
|
|
6468298bb0 | ||
|
|
16005ef298 | ||
|
|
300d46dc7e | ||
|
|
213a73fc36 | ||
|
|
8363d09e79 | ||
|
|
31073805e7 | ||
|
|
1b3b419f72 | ||
|
|
2175b4bdab | ||
|
|
378b125993 | ||
|
|
8df2113ce8 | ||
|
|
58f4be437d | ||
|
|
c1d933ee96 | ||
|
|
01b6bc6417 | ||
|
|
cddbcc0700 | ||
|
|
6d93d011c9 | ||
|
|
9343fe65a6 | ||
|
|
a893fafa07 | ||
|
|
7238df106c | ||
|
|
186dab3a4c | ||
|
|
590f5e2af5 | ||
|
|
f262baaea2 | ||
|
|
81332c62e8 | ||
|
|
92f511624a | ||
|
|
d12aab3e7e | ||
|
|
efd8e8d0ed | ||
|
|
47d1165d5f | ||
|
|
311be13f95 | ||
|
|
81c17da099 | ||
|
|
cb7f4ffda2 | ||
|
|
9e05baf4a7 | ||
|
|
a54b2bd450 | ||
|
|
3aaf8f1fe5 | ||
|
|
2e4afa07fe | ||
|
|
9473f7681b | ||
|
|
3b2da78617 | ||
|
|
2c627f1166 | ||
|
|
5ec8228504 | ||
|
|
69f24a17ff | ||
|
|
d61c20cf13 | ||
|
|
a7e7934505 | ||
|
|
2c0ad7137a | ||
|
|
62bc8423a3 |
@@ -26,7 +26,7 @@ runs:
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: get latest tag sha
|
||||
id: tag-sha
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@e75b58f8772ae86fc67fe2d48ff05392d9021393 # v5.11.1
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@469ed8f7c8198c4f8476392d944b2568e4043c5a # v5.13.1
|
||||
# CACHE
|
||||
- name: Node Modules cache
|
||||
id: node-modules-cache
|
||||
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@e5f05b81d5b6ff8cfa111c80c22c5fd02a384118 # v3.23.0
|
||||
uses: github/codeql-action/init@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0
|
||||
# Override language selection by uncommenting this and choosing your languages
|
||||
with:
|
||||
languages: javascript
|
||||
@@ -39,7 +39,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@e5f05b81d5b6ff8cfa111c80c22c5fd02a384118 # v3.23.0
|
||||
uses: github/codeql-action/autobuild@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -53,4 +53,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@e5f05b81d5b6ff8cfa111c80c22c5fd02a384118 # v3.23.0
|
||||
uses: github/codeql-action/analyze@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0
|
||||
|
||||
@@ -91,7 +91,7 @@ jobs:
|
||||
needs: release
|
||||
timeout-minutes: 20
|
||||
name: "Release tag"
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GITHUB_TOKEN: $BOT_GITHUB_TOKEN
|
||||
steps:
|
||||
|
||||
@@ -95,7 +95,7 @@ env:
|
||||
|
||||
jobs:
|
||||
pre-checks:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
@@ -113,7 +113,7 @@ jobs:
|
||||
fi
|
||||
|
||||
check-if-pr-is-approved:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
@@ -121,10 +121,10 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get branch name
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@e75b58f8772ae86fc67fe2d48ff05392d9021393 # v5.11.1
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@469ed8f7c8198c4f8476392d944b2568e4043c5a # v5.13.1
|
||||
|
||||
- name: Save commit message
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@e75b58f8772ae86fc67fe2d48ff05392d9021393 # v5.11.1
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@469ed8f7c8198c4f8476392d944b2568e4043c5a # v5.13.1
|
||||
|
||||
- name: ci:force flag parser
|
||||
shell: bash
|
||||
@@ -195,7 +195,7 @@ jobs:
|
||||
# long timeout required when cache has to be recreated
|
||||
timeout-minutes: 30
|
||||
name: "Setup"
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
needs: [check-if-pr-is-approved, pre-checks]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
@@ -214,7 +214,7 @@ jobs:
|
||||
unit-tests:
|
||||
timeout-minutes: 30
|
||||
name: "Unit tests: ${{ matrix.unit-tests.name }}"
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
needs: [setup]
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -248,7 +248,7 @@ jobs:
|
||||
# long timeout required when cache has to be recreated
|
||||
timeout-minutes: 30
|
||||
name: "Lint"
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
needs: [setup]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
@@ -263,7 +263,7 @@ jobs:
|
||||
# long timeout required when cache has to be recreated
|
||||
timeout-minutes: 30
|
||||
name: "Build libs"
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
needs: [setup]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
@@ -281,7 +281,7 @@ jobs:
|
||||
timeout-minutes: 20
|
||||
name: "e2e: storybook"
|
||||
needs: [build-libs, lint, unit-tests]
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
@@ -300,7 +300,7 @@ jobs:
|
||||
timeout-minutes: 90
|
||||
name: "e2e: ${{ matrix.e2e-test.description }}"
|
||||
needs: [build-libs, lint, unit-tests]
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
# max-parallel: 4
|
||||
@@ -498,7 +498,7 @@ jobs:
|
||||
uses: ./.github/actions/slack-group-area
|
||||
with:
|
||||
affected: ${{ steps.e2e-result.outputs.result }}
|
||||
- uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 # v1.24.0
|
||||
- uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 # v1.25.0
|
||||
name: Nofify QA failure
|
||||
if: ${{ github.event_name == 'schedule' && contains(needs.*.result, 'failure') }}
|
||||
env:
|
||||
|
||||
@@ -78,7 +78,7 @@ jobs:
|
||||
setup:
|
||||
timeout-minutes: 20
|
||||
name: "Setup"
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: set TAG_NPM BRANCH
|
||||
shell: bash
|
||||
@@ -104,7 +104,7 @@ jobs:
|
||||
release-npm:
|
||||
needs: [setup]
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
@@ -150,7 +150,7 @@ jobs:
|
||||
npm-check-bundle:
|
||||
needs: [release-npm]
|
||||
timeout-minutes: 15
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
|
||||
@@ -16,6 +16,10 @@ on:
|
||||
- develop-patch*
|
||||
- master-patch*
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
@@ -85,7 +89,7 @@ jobs:
|
||||
timeout-minutes: 20
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
name: "Setup"
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
@@ -106,7 +110,7 @@ jobs:
|
||||
needs: [setup]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
@@ -132,7 +136,7 @@ jobs:
|
||||
needs: [setup]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
@@ -159,7 +163,7 @@ jobs:
|
||||
needs: [setup]
|
||||
timeout-minutes: 30
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
@@ -206,7 +210,7 @@ jobs:
|
||||
needs: [release-npm]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
@@ -219,7 +223,7 @@ jobs:
|
||||
needs: [release-demoshell, release-storybook, release-npm, npm-check-bundle]
|
||||
steps:
|
||||
|
||||
- uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 # v1.24.0
|
||||
- uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 # v1.25.0
|
||||
name: Nofify FE eng-guild-front-end workflow failed
|
||||
if: ${{ contains(toJson(needs.*.result), 'failure') }}
|
||||
env:
|
||||
|
||||
+3
-2
@@ -77,7 +77,6 @@
|
||||
"lastname",
|
||||
"listgrid",
|
||||
"mapitem",
|
||||
"markdownlint",
|
||||
"mimetype",
|
||||
"mincount",
|
||||
"minlength",
|
||||
@@ -142,7 +141,9 @@
|
||||
"Whitespaces",
|
||||
"xdescribe",
|
||||
"xsrf",
|
||||
"BPMECM"
|
||||
"BPMECM",
|
||||
"berseria",
|
||||
"zestiria"
|
||||
],
|
||||
"dictionaries": [
|
||||
"html",
|
||||
|
||||
@@ -49,7 +49,7 @@ npm start
|
||||
|
||||
This command compiles and starts the project in watch mode.
|
||||
Browser will automatically reload upon changes.
|
||||
Upon start you can navigate to `http://localhost:3000` with your preferred browser.
|
||||
Upon start, you can navigate to `http://localhost:3000` with your preferred browser.
|
||||
|
||||
### Important notes
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Alfresco-ADF-Angular-Demo",
|
||||
"description": "Demo shell for Alfresco Angular components",
|
||||
"version": "6.6.0",
|
||||
"version": "6.7.0",
|
||||
"author": "Hyland Software, Inc. and its affiliates",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -114,17 +114,17 @@ export class CardViewComponent implements OnInit, OnDestroy {
|
||||
}),
|
||||
new CardViewDateItemModel({
|
||||
label: 'CardView Date Item',
|
||||
value: new Date(1983, 11, 24, 10, 0, 30),
|
||||
value: new Date('1983-11-24T00:00:00Z'),
|
||||
key: 'date',
|
||||
default: new Date(1983, 11, 24, 10, 0, 30),
|
||||
default: new Date('1983-11-24T00:00:00Z'),
|
||||
format: 'shortDate',
|
||||
editable: this.isEditable
|
||||
}),
|
||||
new CardViewDateItemModel({
|
||||
label: 'CardView Date Item - Multivalue (chips)',
|
||||
value: [new Date(1983, 11, 24, 10, 0, 30)],
|
||||
value: [new Date('1983-11-24T00:00:00Z')],
|
||||
key: 'date',
|
||||
default: new Date(1983, 11, 24, 10, 0, 30),
|
||||
default: new Date('1983-11-24T00:00:00Z'),
|
||||
format: 'shortDate',
|
||||
editable: this.isEditable,
|
||||
multivalued: true
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
"features": {
|
||||
"viewer": {
|
||||
"content": []
|
||||
"extensions": []
|
||||
},
|
||||
|
||||
"documentList": {
|
||||
|
||||
@@ -93,6 +93,7 @@ for more information about installing and using the source code.
|
||||
| [Comments Component](core/components/comments.component.md) | Displays comments from users involved in a specified environment and allows an involved user to add a comment to a environment. | [Source](../lib/core/src/lib/comments/comments.component.ts) |
|
||||
| [Data Column Component](core/components/data-column.component.md) | Defines column properties for DataTable, Tasklist, Document List and other components. | [Source](../lib/core/src/lib/datatable/data-column/data-column.component.ts) |
|
||||
| [DataTable component](core/components/datatable.component.md) | Displays data as a table with customizable columns and presentation. | [Source](../lib/core/src/lib/datatable/components/datatable/datatable.component.ts) |
|
||||
| [Dynamic Chip List component](core/components/dynamic-chip-list.component.md) | This component shows dynamic list of chips which render depending on free space. | [Source](../lib/core/src/lib/dynamic-chip-list/dynamic-chip-list.component.ts) |
|
||||
| [Empty Content Component](core/components/empty-content.component.md) | Provides a generic "Empty Content" placeholder for components. | [Source](../lib/core/src/lib/templates/empty-content/empty-content.component.ts) |
|
||||
| [Empty list component](core/components/empty-list.component.md) | Displays a message indicating that a list is empty. | [Source](../lib/core/src/lib/datatable/components/empty-list/empty-list.component.ts) |
|
||||
| [Error Content Component](core/components/error-content.component.md) | Displays info about a specific error. | [Source](../lib/core/src/lib/templates/error-content/error-content.component.ts) |
|
||||
@@ -144,6 +145,7 @@ for more information about installing and using the source code.
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Edit JSON Dialog](core/dialogs/edit-json.dialog.md) | Allows a user to preview or edit a JSON content in a dialog. | [Source](../lib/testing/src/lib/core/dialog/edit-json-dialog.ts) |
|
||||
| [Unsaved Changes Dialog](core/dialogs/unsaved-changes-dialog.component.md) | Dialog which informs about unsaved changes. Allows discard them and proceed or close dialog and stop proceeding. | [Source](../lib/core/src/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.ts) |
|
||||
|
||||
### Interfaces
|
||||
|
||||
@@ -238,6 +240,7 @@ The model to update the DataTable require the ID of the row you want change and
|
||||
| [Storage service](core/services/storage.service.md) | Stores items in the form of key-value pairs. | [Source](../lib/core/src/lib/common/services/storage.service.ts) |
|
||||
| [Thumbnail service](core/services/thumbnail.service.md) | Retrieves an SVG thumbnail image to represent a document type. | [Source](../lib/core/src/lib/common/services/thumbnail.service.ts) |
|
||||
| [Translation service](core/services/translation.service.md) | Supports localisation. | [Source](../lib/core/src/lib/translation/translation.service.ts) |
|
||||
| [Unsaved Changes guard](core/services/unsaved-changes.guard.md) | This guard prevents deactivating route if page has any unsaved changes. User needs intentionally discard changes through displayed modal to leave actual route. | [Source](../lib/core/src/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.ts) |
|
||||
| [Upload Service](core/services/upload.service.md) | Provides access to various APIs related to file upload features. | [Source](../lib/content-services/src/lib/common/services/upload.service.ts) |
|
||||
| [User access service](core/services/user-access.service.md) | Checks the global and application access of a user | [Source](../lib/core/src/lib/auth/services/user-access.service.ts) |
|
||||
| [User Preferences Service](core/services/user-preferences.service.md) | Stores preferences for the app and for individual components. | [Source](../lib/core/src/lib/common/services/user-preferences.service.ts) |
|
||||
@@ -387,6 +390,7 @@ for more information about installing and using the source code.
|
||||
| [Document Actions service](content-services/services/document-actions.service.md) | Implements the document menu actions for the Document List component. | [Source](../lib/content-services/src/lib/document-list/services/document-actions.service.ts) |
|
||||
| [Document List service](content-services/services/document-list.service.md) | Implements node operations used by the Document List component. | [Source](../lib/content-services/src/lib/document-list/services/document-list.service.ts) |
|
||||
| [Folder Actions service](content-services/services/folder-actions.service.md) | Implements the folder menu actions for the Document List component. | [Source](../lib/content-services/src/lib/document-list/services/folder-actions.service.ts) |
|
||||
| [Group Service](content-services/services/group.service.md) | Manages groups. | [Source](../lib/content-services/src/lib/group/services/group.service.ts) |
|
||||
| [New Version Uploader service](content-services/services/new-version-uploader.dialog.service.md) | Display a dialog that allows to upload new file version or to manage the current node versions. | [Source](../lib/content-services/src/lib/new-version-uploader/new-version-uploader.service.ts) |
|
||||
| [Node Comments Service](content-services/services/node-comments.service.md) | Adds and retrieves comments for nodes in Content Services. | [Source](../lib/content-services/src/lib/node-comments/services/node-comments.service.ts) |
|
||||
| [Node permission dialog service](content-services/services/node-permission-dialog.service.md) | Displays dialogs to let the user set node permissions. | [Source](../lib/content-services/src/lib/permission-manager/services/node-permission-dialog.service.ts) |
|
||||
|
||||
@@ -237,47 +237,48 @@ The Viewer supports dynamically-loaded viewer preview extensions, to know more a
|
||||
|
||||
#### Code extension mechanism]
|
||||
|
||||
You can define your own custom handler to handle other file formats that are not yet supported by
|
||||
You can define your own custom handler to override supported file formats or handle other file formats that are not yet supported by
|
||||
the [Alfresco Viewer component](viewer.component.md). Below is an example that shows how to use the `adf-viewer-extension`
|
||||
to handle 3D data files:
|
||||
|
||||
```html
|
||||
<adf-alfresco-viewer [nodeId]="nodeId">
|
||||
|
||||
<adf-viewer-extension [supportedExtensions]="['obj','3ds']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" let-extension="extension">
|
||||
<threed-viewer
|
||||
[urlFile]="urlFileContent"
|
||||
[extension]="extension">
|
||||
</threed-viewer>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
|
||||
<ng-template #viewerExtensions>
|
||||
<adf-viewer-extension [supportedExtensions]="['obj','3ds']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" let-extension="extension">
|
||||
<threed-viewer
|
||||
[urlFile]="urlFileContent"
|
||||
[extension]="extension">
|
||||
</threed-viewer>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
</ng-template>
|
||||
</adf-alfresco-viewer>
|
||||
```
|
||||
|
||||
Note: you need to add the `ng2-3d-editor` dependency to your `package.json` file to make the example above work.
|
||||
|
||||
You can define multiple `adf-viewer-extension` templates if required:
|
||||
You need to keep all instances of `adf-viewer-extension` inside `viewerExtensions` template, also you can define multiple `adf-viewer-extension` templates if required:
|
||||
|
||||
```html
|
||||
<adf-alfresco-viewer [nodeId]="nodeId">
|
||||
<ng-template #viewerExtensions>
|
||||
<adf-viewer-extension [supportedExtensions]="['xls','xlsx']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent">
|
||||
<my-custom-xls-component
|
||||
urlFileContent="urlFileContent">
|
||||
</my-custom-xls-component>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
|
||||
<adf-viewer-extension [supportedExtensions]="['xls','xlsx']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent">
|
||||
<my-custom-xls-component
|
||||
urlFileContent="urlFileContent">
|
||||
</my-custom-xls-component>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
|
||||
<adf-viewer-extension [supportedExtensions]="['txt']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" >
|
||||
<my-custom-txt-component
|
||||
urlFileContent="urlFileContent">
|
||||
</my-custom-txt-component>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
<adf-viewer-extension [supportedExtensions]="['txt']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" >
|
||||
<my-custom-txt-component
|
||||
urlFileContent="urlFileContent">
|
||||
</my-custom-txt-component>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
</ng-template>
|
||||
</adf-alfresco-viewer>
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
Title: Infinite Scroll Datasource
|
||||
Added: v6.6.0
|
||||
Status: Active
|
||||
Last reviewed: 2024-01-15
|
||||
---
|
||||
|
||||
# [Infinite Scroll Datasource](../../../lib/content-services/src/lib/infinite-scroll-datasource/infinite-scroll-datasource.ts "Defined in infinite-scroll-datasource.ts")
|
||||
|
||||
Contains abstract class acting as a baseline for various datasources for infinite scrolls.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
First step to use infinite scroll datasource in any component is creating a datasource class extending `InfiniteScrollDatasource` using specific source of data e.g. one of the content endpoints.
|
||||
```ts
|
||||
export class VersionListDataSource extends InfiniteScrollDatasource<VersionEntry> {
|
||||
constructor(private versionsApi: VersionsApi, private node: Node) {
|
||||
super();
|
||||
}
|
||||
|
||||
getNextBatch(pagingOptions: ContentPagingQuery): Observable<VersionEntry[]> {
|
||||
return from(this.versionsApi.listVersionHistory(this.node.id, pagingOptions)).pipe(
|
||||
take(1),
|
||||
map((versionPaging) => versionPaging.list.entries)
|
||||
);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Then in component that will have the infinite scroll define the datasource as instance of a class created in previous step, optionally you can set custom size of the items batch or listen to loading state changes:
|
||||
```ts
|
||||
this.versionsDataSource = new VersionListDataSource(this.versionsApi, this.node);
|
||||
this.versionsDataSource.batchSize = 50;
|
||||
this.versionsDataSource.isLoading.pipe(takeUntil(this.onDestroy$)).subscribe((isLoading) => this.isLoading = isLoading);
|
||||
```
|
||||
|
||||
Final step is to add the [CdkVirtualScrollViewport](https://material.angular.io/cdk/scrolling/api#CdkVirtualScrollViewport) with [CdkVirtualFor](https://material.angular.io/cdk/scrolling/api#CdkVirtualForOf) loop displaying items from the datasource.
|
||||
```html
|
||||
<cdk-virtual-scroll-viewport appendOnly itemSize="88">
|
||||
<div *cdkVirtualFor="let version of versionsDataSource"></div>
|
||||
</cdk-virtual-scroll-viewport>
|
||||
```
|
||||
|
||||
When user will scroll down to the bottom of the list next batch of items will be fetched until all items are visible.
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| batchSize | `number` | 100 | Determines how much items will be fetched within one batch. |
|
||||
| firstItem | `T` | | Returns the first item ever fetched. |
|
||||
| isLoading | [`Observable`](https://rxjs.dev/api/index/class/Observable)`<boolean>` | | Observable representing the state of loading the first batch. |
|
||||
| itemsCount | `number` | | Number of items fetched so far. |
|
||||
|
||||
### Methods
|
||||
|
||||
- **connect**(collectionViewer: [`CollectionViewer`](https://material.angular.io/cdk/collections/api)): [`Observable`](https://rxjs.dev/api/index/class/Observable)`<T>`<br/>
|
||||
Called by the virtual scroll viewport to receive a stream that emits the data array that should be rendered.
|
||||
- collectionViewer:_ [`CollectionViewer`](https://material.angular.io/cdk/collections/api) - collection viewer providing view changes that are listened to so that next batch can be fetched
|
||||
- **Returns** [`Observable`](https://rxjs.dev/api/index/class/Observable)`<T>` - Data stream containing fetched items.
|
||||
- **disconnect**(): void<br/>
|
||||
Called when viewport is destroyed, disconnects the datasource, unsubscribes from the view changes.
|
||||
- **reset**(): void<br/>
|
||||
Resets the datasource by fetching the first batch.
|
||||
@@ -33,7 +33,7 @@ Shows tags for a node.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| results | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when a tag is selected. |
|
||||
| results | [`EventEmitter`](https://angular.io/api/core/EventEmitter)[`<TagEntry>`](../../../lib/js-api/src/api/content-rest-api/model/tagEntry.ts)`[]` | Emitted when a tag is selected. |
|
||||
|
||||
## Details
|
||||
|
||||
@@ -49,3 +49,7 @@ To limit number of tags initially displayed set `limitTagsDisplayed` to `true`.
|
||||
```
|
||||
|
||||
Now when tag chips will exceed the size of the container number of displayed chips will be limited to as much as fits together with view more button. At least one tag will always be displayed, when one tag and view more button won't fit into one line the button will be displayed under the tag.
|
||||
|
||||
## See Also
|
||||
|
||||
- [Dynamic Chip List component](../../core/components/dynamic-chip-list.component.md)
|
||||
|
||||
@@ -12,8 +12,7 @@ Specifies required properties for custom metadata panel to be displayed in [Cont
|
||||
## Basic usage
|
||||
|
||||
```ts
|
||||
export interface ContentMetadataCustomPanel {
|
||||
panelTitle: string;
|
||||
export interface ContentMetadataCustomPanel extends ContentMetadataPanel {
|
||||
component: string;
|
||||
}
|
||||
```
|
||||
@@ -22,10 +21,10 @@ export interface ContentMetadataCustomPanel {
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| panelTitle | `string` | | Title for the panel the will be displayed in expansion panel header. |
|
||||
| component | `string` | | Id of the registered [Dynamic component](../../extensions/components/dynamic.component.md) to be displayed inside expansion panel. |
|
||||
|
||||
## See also
|
||||
|
||||
- [ContentMetadataCardComponent](../components/content-metadata-card.component.md)
|
||||
- [Dynamic Component](../../extensions/components/dynamic.component.md)
|
||||
- [Content Metadata Panel intergace](./content-metadata-panel.interface.md)
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
Title: Content Metadata Panel interface
|
||||
Added: v6.7.0
|
||||
Status: Active
|
||||
Last reviewed: 2024-02-22
|
||||
---
|
||||
|
||||
# [Content Metadata Panel interface](../../../lib/content-services/src/lib/content-metadata/interfaces/content-metadata-panel.interface.ts "Defined in content-metadata-panel.interface.ts")
|
||||
|
||||
Specifies required properties for metadata panel to be displayed in [ContentMetadataCardComponent](../components/content-metadata-card.component.md).
|
||||
|
||||
## Basic usage
|
||||
|
||||
```ts
|
||||
export interface ContentMetadataPanel {
|
||||
panelTitle: string;
|
||||
expanded?: boolean;
|
||||
}
|
||||
```
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| panelTitle | `string` | | Title for the panel the will be displayed in expansion panel header. |
|
||||
| expanded | `boolean` | | Specifies if given panel is expanded. |
|
||||
|
||||
## See also
|
||||
|
||||
- [ContentMetadataCardComponent](../components/content-metadata-card.component.md)
|
||||
- [Dynamic Component](../../extensions/components/dynamic.component.md)
|
||||
- [Content Metadata Custom panel interface](./content-metadata-custom-panel.interface.md)
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
Title: Group Service
|
||||
Added: v6.6.0
|
||||
Status: Active
|
||||
Last reviewed: 2024-02-07
|
||||
---
|
||||
|
||||
# [Group Service](../../../lib/content-services/src/lib/group/services/group.service.ts "Defined in group.service.ts")
|
||||
|
||||
Manages groups.
|
||||
|
||||
## Class members
|
||||
|
||||
### Methods
|
||||
|
||||
- **getGroup**(id: `string`, opts?: [`ContentIncludeQuery`](../../../lib/js-api/src/api/content-rest-api/api/types.ts)): [`Observable`](https://rxjs.dev/guide/observable)`<`[`GroupEntry`](../../../lib/js-api/src/api/content-rest-api/model/groupEntry.ts)`>`<br/>
|
||||
Returns group for specified id.
|
||||
- _id:_ `string` - id of group to return.
|
||||
- _opts:_ [`ContentIncludeQuery`](../../../lib/js-api/src/api/content-rest-api/api/types.ts) - additional query parameters.
|
||||
- **Returns** [`Observable`](https://rxjs.dev/guide/observable)`<`[`GroupEntry`](../../../lib/js-api/src/api/content-rest-api/model/groupEntry.ts)`>` - group for specified id.
|
||||
- **updateGroup**(group: [`Group`](../../../lib/js-api/src/api/content-rest-api/docs/Group.md), opts?: [`ContentIncludeQuery`](../../../lib/js-api/src/api/content-rest-api/api/types.ts)): [`Observable`](https://rxjs.dev/guide/observable)`<`[`GroupEntry`](../../../lib/js-api/src/api/content-rest-api/model/groupEntry.ts)`>`<br/>
|
||||
Updates specified group.
|
||||
- _group:_ [`Group`](../../../lib/js-api/src/api/content-rest-api/docs/Group.md) - group to update.
|
||||
- _opts:_ [`ContentIncludeQuery`](../../../lib/js-api/src/api/content-rest-api/api/types.ts) - additional query parameters.
|
||||
- **Returns** [`Observable`](https://rxjs.dev/guide/observable)`<`[`GroupEntry`](../../../lib/js-api/src/api/content-rest-api/model/groupEntry.ts)`>` - updated group.
|
||||
@@ -48,6 +48,7 @@ Defines column properties for DataTable, Tasklist, Document List and other compo
|
||||
| cssClass | `string` | | Additional CSS class to be applied to column (header and cells). |
|
||||
| customData | `any` | | You can specify any custom data which can be used by any specific feature |
|
||||
| draggable | `boolean` | false | Enable drag and drop for header column |
|
||||
| resizable | `boolean` | true | Enable column resizing |
|
||||
| editable | `boolean` | false | Toggles the editing support of the column data. |
|
||||
| focus | `boolean` | true | Enable or disable cell focus |
|
||||
| format | `string` | | Value format (if supported by the parent component), for example format of the date. |
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
Title: Dynamic Chip List component
|
||||
Added: v6.6.0
|
||||
Status: Active
|
||||
Last reviewed: 2024-02-06
|
||||
---
|
||||
|
||||
# [Dynamic Chip List component](../../../lib/core/src/lib/dynamic-chip-list/dynamic-chip-list.component.ts "Defined in dynamic-chip-list.component.ts")
|
||||
|
||||
This component shows dynamic list of chips which render depending on free space.
|
||||
|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<adf-dynamic-chip-list
|
||||
[chips]="chips"
|
||||
[limitChipsDisplayed]="true"
|
||||
[showDelete]="true"
|
||||
(displayNext)="onDisplayNext()"
|
||||
(removedChip)="onRemovedChip($event)">
|
||||
</adf-dynamic-chip-list>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
|---------------------|---------------------------------------------------------------------------------|---------------|---------------------------------------------|
|
||||
| limitChipsDisplayed | `boolean` | false | Should limit number of chips displayed. |
|
||||
| showDelete | `boolean` | true | Show delete button. |
|
||||
| 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. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
|-------------|----------------------------------------------------------------------|-----------------------------------------------|
|
||||
| displayNext | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<void>` | Emitted when button for view more is clicked. |
|
||||
| removedChip | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<string>` | Emitted when any chip is removed. |
|
||||
|
||||
## Details
|
||||
|
||||
### Limit number of chips displayed initially
|
||||
|
||||
To limit number of chips initially displayed set `limitChipsDisplayed` to `true`.
|
||||
|
||||
```html
|
||||
<adf-dynamic-chip-list
|
||||
[chips]="chips"
|
||||
[limitChipsDisplayed]="true">
|
||||
</adf-dynamic-chip-list>
|
||||
```
|
||||
|
||||
Now when chips will exceed the size of the container number of displayed chips will be limited to as much as fits together with view more button. At least one chip will always be displayed, when one chip and view more button won't fit into one line the button will be displayed under the chip.
|
||||
@@ -195,7 +195,6 @@ You can access an external provider to get an auth token for a user:
|
||||
{
|
||||
"oauth2" : {
|
||||
"host": "http://myhost.com",
|
||||
"authPath": "/my-custom-auth/token",
|
||||
"clientId": "my-client-id",
|
||||
"secret": ""
|
||||
}
|
||||
|
||||
@@ -62,6 +62,7 @@ Using with file [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob):
|
||||
| thumbnailsTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the pdf thumbnails. |
|
||||
| tracks | [`Track`](../../../lib/core/src/lib/viewer/models/viewer.model.ts)`[]` | \[] | media subtitles for the media player |
|
||||
| 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. |
|
||||
| viewerTemplateExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
|
||||
|
||||
### Events
|
||||
|
||||
@@ -200,34 +201,13 @@ The [Viewer render component](viewer.component.md) should now be able to display
|
||||
|
||||
The Viewer supports dynamically-loaded viewer preview extensions, to know more about it [Preview Extension component](../../extensions/components/preview-extension.component.md). This
|
||||
|
||||
#### Code extension mechanism]
|
||||
#### Code extension mechanism
|
||||
|
||||
You can define your own custom handler to handle other file formats that are not yet supported by
|
||||
the [Viewer render component](viewer.component.md). Below is an example that shows how to use the `adf-viewer-render-extension`
|
||||
to handle 3D data files:
|
||||
|
||||
```html
|
||||
<adf-viewer-render [nodeId]="nodeId">
|
||||
|
||||
<adf-viewer-extension [supportedExtensions]="['obj','3ds']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" let-extension="extension">
|
||||
<threed-viewer
|
||||
[urlFile]="urlFileContent"
|
||||
[extension]="extension">
|
||||
</threed-viewer>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
|
||||
</adf-viewer-render>
|
||||
```
|
||||
|
||||
Note: you need to add the `ng2-3d-editor` dependency to your `package.json` file to make the example above work.
|
||||
|
||||
You can define multiple `adf-viewer-render-extension` templates if required:
|
||||
|
||||
```html
|
||||
<adf-viewer-render [nodeId]="nodeId">
|
||||
You can define your own custom handler to override supported file formats or handle other file formats that are not yet supported by
|
||||
the [Viewer render component](viewer.component.md). In order to do that first you need to define a template containing at least one `adf-viewer-extension`:
|
||||
|
||||
```html
|
||||
<ng-template #viewerExtensions>
|
||||
<adf-viewer-extension [supportedExtensions]="['xls','xlsx']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent">
|
||||
<my-custom-xls-component
|
||||
@@ -243,6 +223,22 @@ You can define multiple `adf-viewer-render-extension` templates if required:
|
||||
</my-custom-txt-component>
|
||||
</ng-template>
|
||||
</adf-viewer-render-extension>
|
||||
</ng-template>
|
||||
```
|
||||
|
||||
Next in your component you need to get a reference of created template
|
||||
|
||||
```ts
|
||||
@ViewChild('viewerExtensions')
|
||||
viewerTemplateExtensions: TemplateRef<any>;
|
||||
```
|
||||
|
||||
and pass it via `viewerTemplateExtensions` input:
|
||||
|
||||
```html
|
||||
<adf-viewer-render>
|
||||
...
|
||||
[viewerTemplateExtensions]="viewerTemplateExtensions"
|
||||
</adf-viewer-render>
|
||||
```
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ See the [Custom layout](#custom-layout) section for full details of all availabl
|
||||
| sidebarRightTemplateContext | | null | Context object available for binding by the local sidebarRightTemplate with let declarations. |
|
||||
| tracks | [`Track`](../../../lib/core/src/lib/viewer/models/viewer.model.ts)`[]` | \[] | media subtitles for the media player |
|
||||
| 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. |
|
||||
|
||||
### Events
|
||||
|
||||
@@ -209,47 +210,47 @@ The Viewer supports dynamically-loaded viewer preview extensions, to know more a
|
||||
|
||||
#### Code extension mechanism]
|
||||
|
||||
You can define your own custom handler to handle other file formats that are not yet supported by
|
||||
You can define your own custom handler to override supported file formats or handle other file formats that are not yet supported by
|
||||
the [Viewer component](viewer.component.md). Below is an example that shows how to use the `adf-viewer-extension`
|
||||
to handle 3D data files:
|
||||
|
||||
```html
|
||||
<adf-viewer [urlFile]="urlFile">
|
||||
|
||||
<adf-viewer-extension [supportedExtensions]="['obj','3ds']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" let-extension="extension">
|
||||
<threed-viewer
|
||||
[urlFile]="urlFileContent"
|
||||
[extension]="extension">
|
||||
</threed-viewer>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
|
||||
<ng-template #viewerExtensions>
|
||||
<adf-viewer-extension [supportedExtensions]="['obj','3ds']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" let-extension="extension">
|
||||
<threed-viewer
|
||||
[urlFile]="urlFileContent"
|
||||
[extension]="extension">
|
||||
</threed-viewer>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
</ng-template>
|
||||
</adf-viewer>
|
||||
```
|
||||
|
||||
Note: you need to add the `ng2-3d-editor` dependency to your `package.json` file to make the example above work.
|
||||
|
||||
You can define multiple `adf-viewer-extension` templates if required:
|
||||
|
||||
You need to keep all instances of `adf-viewer-extension` inside `viewerExtensions` template, also you can define multiple `adf-viewer-extension` templates if required:
|
||||
```html
|
||||
<adf-viewer [urlFile]="urlFile">
|
||||
<ng-template #viewerExtensions>
|
||||
<adf-viewer-extension [supportedExtensions]="['xls','xlsx']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent">
|
||||
<my-custom-xls-component
|
||||
urlFileContent="urlFileContent">
|
||||
</my-custom-xls-component>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
|
||||
<adf-viewer-extension [supportedExtensions]="['xls','xlsx']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent">
|
||||
<my-custom-xls-component
|
||||
urlFileContent="urlFileContent">
|
||||
</my-custom-xls-component>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
|
||||
<adf-viewer-extension [supportedExtensions]="['txt']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" >
|
||||
<my-custom-txt-component
|
||||
urlFileContent="urlFileContent">
|
||||
</my-custom-txt-component>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
<adf-viewer-extension [supportedExtensions]="['txt']" #extension>
|
||||
<ng-template let-urlFileContent="urlFileContent" >
|
||||
<my-custom-txt-component
|
||||
urlFileContent="urlFileContent">
|
||||
</my-custom-txt-component>
|
||||
</ng-template>
|
||||
</adf-viewer-extension>
|
||||
</ng-template>
|
||||
</adf-viewer>
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
Title: Unsaved Changes Dialog component
|
||||
Added: v6.6.0
|
||||
Status: Active
|
||||
Last reviewed: 2024-02-06
|
||||
---
|
||||
|
||||
# [Unsaved Changes Dialog component](../../../lib/core/src/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.ts "Defined in unsaved-changes-dialog.component.ts")
|
||||
|
||||
Dialog which informs about unsaved changes. Allows discard them and proceed or close dialog and stop proceeding.
|
||||
|
||||

|
||||
|
||||
## Basic Usage
|
||||
|
||||
```ts
|
||||
this.dialog.open(UnsavedChangesDialogComponent);
|
||||
```
|
||||
## Details
|
||||
|
||||
### Detecting if changes should be discarded.
|
||||
|
||||
To detect if changes should be discarded you need to check value passed on dialog's close. If value is true then changes should be discard, false otherwise.
|
||||
|
||||
## See also
|
||||
|
||||
- [Unsaved Changes guard](../services/unsaved-changes.guard.md)
|
||||
@@ -35,10 +35,10 @@ Get the data value from a specific table cell.
|
||||
|
||||
`getSorting():`[`DataSorting`](../../../lib/core/src/lib/datatable/data/data-sorting.model.ts)`;`<br/>
|
||||
`setSorting(sorting: DataSorting): void;`<br/>
|
||||
Get/set the sorting key and direction (ascending or descending).
|
||||
Get/set the sorting key, direction (ascending or descending) and options (eg. numeric).
|
||||
|
||||
`sort(key?: string, direction?: string): void;`<br/>
|
||||
Sort the table with a specified key and direction (ascending or descending).
|
||||
`sort(key?: string, direction?: string, options?: Intl.CollatorOptions): void;`<br/>
|
||||
Sort the table with a specified key, direction (ascending or descending) and options (eg. numeric).
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
Title: Unsaved Changes guard
|
||||
Added: v6.6.0
|
||||
Status: Active
|
||||
Last reviewed: 2024-02-06
|
||||
---
|
||||
|
||||
# [Unsaved Changes guard](../../../lib/core/src/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.ts "Defined in unsaved-changes.guard.ts")
|
||||
|
||||
This guard prevents deactivating route if page has any unsaved changes. User needs intentionally discard changes through displayed modal to leave actual route.
|
||||
|
||||
## Class members
|
||||
|
||||
### Methods
|
||||
|
||||
- **canDeactivate**(): `boolean` | [`Observable`](https://rxjs.dev/guide/observable)`<boolean>`<br/>
|
||||
Allows to deactivate route when there is no unsaved changes, otherwise displays dialog to confirm discarding changes.
|
||||
- **Returns** `boolean` | [`Observable`](https://rxjs.dev/guide/observable)`<boolean>` - true when there is no unsaved changes or changes can be discarded, false otherwise.
|
||||
|
||||
## See also
|
||||
|
||||
- [Unsaved Changes Dialog component](../dialogs/unsaved-changes-dialog.component.md)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 65 KiB |
@@ -45,3 +45,4 @@ The pages linked below contain the licenses for all third party dependencies of
|
||||
- [ADF 6.5.1](license-info-6.5.1.md)
|
||||
- [ADF 6.5.2](license-info-6.5.2.md)
|
||||
- [ADF 6.6.0](license-info-6.6.0.md)
|
||||
- [ADF 6.7.0](license-info-6.7.0.md)
|
||||
|
||||
@@ -0,0 +1,570 @@
|
||||
---
|
||||
Title: License info, alfresco-ng2-components 6.7.0
|
||||
---
|
||||
|
||||
# License information for alfresco-ng2-components 6.7.0
|
||||
|
||||
This page lists all third party libraries the project depends on.
|
||||
|
||||
## Libraries
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
| [@alfresco/js-api](https://github.com/Alfresco/alfresco-js-api) | 7.2.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [@angular/animations](https://github.com/angular/angular) | 14.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/cdk](https://github.com/angular/components) | 14.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/common](https://github.com/angular/angular) | 14.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/compiler](https://github.com/angular/angular) | 14.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/core](https://github.com/angular/angular) | 14.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/forms](https://github.com/angular/angular) | 14.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material-date-fns-adapter](https://github.com/angular/components) | 14.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material](https://github.com/angular/components) | 14.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | 14.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser](https://github.com/angular/angular) | 14.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/router](https://github.com/angular/angular) | 14.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@apollo/client](https://github.com/apollographql/apollo-client) | 3.8.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@aw-web-design/x-default-browser](https://github.com/The-Code-Monkey/TechStack) | 1.4.126 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/code-frame](https://github.com/babel/babel) | 7.22.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/generator](https://github.com/babel/babel) | 7.23.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/generator](https://github.com/babel/babel) | 7.23.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-environment-visitor](https://github.com/babel/babel) | 7.22.20 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-function-name](https://github.com/babel/babel) | 7.23.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-hoist-variables](https://github.com/babel/babel) | 7.22.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-split-export-declaration](https://github.com/babel/babel) | 7.22.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-string-parser](https://github.com/babel/babel) | 7.23.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-validator-identifier](https://github.com/babel/babel) | 7.22.20 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/highlight](https://github.com/babel/babel) | 7.22.20 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/parser](https://github.com/babel/babel) | 7.23.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/runtime](https://github.com/babel/babel) | 7.21.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/template](https://github.com/babel/babel) | 7.22.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/traverse](https://github.com/babel/babel) | 7.23.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/types](https://github.com/babel/babel) | 7.23.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@colors/colors](https://github.com/DABH/colors.js) | 1.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-bundled-dicts](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-pipe](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-resolver](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-service-bus](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-types](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [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-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-bash](https://github.com/streetsidesoftware/cspell-dicts) | 4.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-companies](https://github.com/streetsidesoftware/cspell-dicts) | 3.0.24 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-cpp](https://github.com/streetsidesoftware/cspell-dicts) | 5.0.5 | [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.9 | [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-dicts) | 1.0.11 | [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-dicts) | 5.0.0 | [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-dicts) | 4.3.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-filetypes](https://github.com/streetsidesoftware/cspell-dicts) | 3.0.1 | [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.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fullstack](https://github.com/streetsidesoftware/cspell-dicts) | 3.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-gaming-terms](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.4 | [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-dicts) | 6.0.2 | [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.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-java](https://github.com/streetsidesoftware/cspell-dicts) | 5.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-k8s](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.1 | [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.1 | [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-dicts) | 5.0.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-php](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-powershell](https://github.com/streetsidesoftware/cspell-dicts) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-public-licenses](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-python](https://github.com/streetsidesoftware/cspell-dicts) | 4.1.8 | [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.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-rust](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-scala](https://github.com/streetsidesoftware/cspell-dicts) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-software-terms](https://github.com/streetsidesoftware/cspell-dicts) | 3.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-sql](https://github.com/streetsidesoftware/cspell-dicts) | 2.1.1 | [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-dicts) | 3.1.2 | [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.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/strong-weak-map](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@discoveryjs/json-ext](https://github.com/discoveryjs/json-ext) | 0.5.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@esbuild/darwin-arm64](https://github.com/evanw/esbuild) | 0.18.20 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| @fal-works/esbuild-plugin-global-externals | 2.1.2 | [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) |
|
||||
| [@isaacs/cliui](https://github.com/yargs/cliui) | 8.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [@jridgewell/gen-mapping](https://github.com/jridgewell/gen-mapping) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/resolve-uri](https://github.com/jridgewell/resolve-uri) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/set-array](https://github.com/jridgewell/set-array) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/sourcemap-codec](https://github.com/jridgewell/sourcemap-codec) | 1.4.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/trace-mapping](https://github.com/jridgewell/trace-mapping) | 0.3.22 | [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) | 10.1.1 | [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) |
|
||||
| [@pkgjs/parseargs](https://github.com/pkgjs/parseargs) | 0.11.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@pkgr/utils](https://github.com/un-ts/pkgr) | 2.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/builder-manager](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/channels](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/client-logger](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core-common](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core-events](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core-server](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/csf-tools](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/csf](https://github.com/ComponentDriven/csf) | 0.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/docs-mdx](https://github.com/storybookjs/docs-mdx) | 0.1.0 | [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/manager](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/node-logger](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/preview-api](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/telemetry](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/types](https://github.com/storybookjs/storybook) | 7.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/babel__core](https://github.com/DefinitelyTyped/DefinitelyTyped) | 7.20.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/babel__generator](https://github.com/DefinitelyTyped/DefinitelyTyped) | 7.6.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/babel__template](https://github.com/DefinitelyTyped/DefinitelyTyped) | 7.4.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/babel__traverse](https://github.com/DefinitelyTyped/DefinitelyTyped) | 7.20.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/body-parser](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.19.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/connect](https://github.com/DefinitelyTyped/DefinitelyTyped) | 3.4.35 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/detect-port](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/ejs](https://github.com/DefinitelyTyped/DefinitelyTyped) | 3.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/estree](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/express-serve-static-core](https://github.com/DefinitelyTyped/DefinitelyTyped) | 4.17.34 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped) | 4.17.17 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/find-cache-dir](https://github.com/DefinitelyTyped/DefinitelyTyped) | 3.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/mime](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/node-fetch](https://github.com/DefinitelyTyped/DefinitelyTyped) | 2.6.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) | 18.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/normalize-package-data](https://github.com/DefinitelyTyped/DefinitelyTyped) | 2.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/pretty-hrtime](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/qs](https://github.com/DefinitelyTyped/DefinitelyTyped) | 6.9.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/range-parser](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped) | 7.3.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/send](https://github.com/DefinitelyTyped/DefinitelyTyped) | 0.17.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/serve-static](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.15.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/context](https://github.com/benjamn/wryware) | 0.7.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/equality](https://github.com/benjamn/wryware) | 0.5.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/trie](https://github.com/benjamn/wryware) | 0.4.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@yarnpkg/esbuild-plugin-pnp](https://github.com/yarnpkg/berry) | 3.0.0-rc.15 | [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) |
|
||||
| [address](https://github.com/node-modules/address) | 1.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components) | 6.7.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [angular-oauth2-oidc-jwks](https://github.com/manfredsteyer/angular-oauth2-oidc) | 15.0.1 | [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-regex](https://github.com/chalk/ansi-regex) | 6.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) | 6.2.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) |
|
||||
| [app-root-dir](https://github.com/philidem/node-app-root-dir) | 1.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) |
|
||||
| [array-union](https://github.com/sindresorhus/array-union) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [asap](https://github.com/kriskowal/asap) | 2.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [assert](https://github.com/browserify/commonjs-assert) | 2.1.0 | [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) |
|
||||
| [async](https://github.com/caolan/async) | 3.2.4 | [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.5 | [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) |
|
||||
| [better-opn](https://github.com/ExiaSR/better-opn) | 3.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [big-integer](https://github.com/peterolson/BigInteger.js) | 1.6.52 | [Unlicense](http://unlicense.org/) |
|
||||
| [body-parser](https://github.com/expressjs/body-parser) | 1.20.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [bplist-parser](https://github.com/nearinfinity/node-bplist-parser) | 0.2.0 | [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.2 | [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) |
|
||||
| [bundle-name](https://github.com/sindresorhus/bundle-name) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [bytes](https://github.com/visionmedia/bytes.js) | 3.0.0 | [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.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [callsites](https://github.com/sindresorhus/callsites) | 3.1.0 | [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) | 4.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | 4.3.0 | [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-table3](https://github.com/cli-table/cli-table3) | 0.6.3 | [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) |
|
||||
| [comment-json](https://github.com/kaelzhang/node-comment-json) | 4.2.3 | [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/component/emitter) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [compressible](https://github.com/jshttp/compressible) | 2.0.18 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [compression](https://github.com/expressjs/compression) | 1.7.4 | [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) |
|
||||
| [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.5.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-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.5.13 | [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.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-glob](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-grammar](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-io](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-lib](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-trie-lib](https://github.com/streetsidesoftware/cspell) | 7.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [d](https://github.com/medikoo/d) | 1.0.1 | [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.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [default-browser-id](https://github.com/sindresorhus/default-browser-id) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [default-browser](https://github.com/sindresorhus/default-browser) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [define-lazy-prop](https://github.com/sindresorhus/define-lazy-prop) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [define-lazy-prop](https://github.com/sindresorhus/define-lazy-prop) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [define-properties](https://github.com/ljharb/define-properties) | 1.2.0 | [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) |
|
||||
| [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-package-manager](https://github.com/egoist/detect-package-manager) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [detect-port](https://github.com/node-modules/detect-port) | 1.5.1 | [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/) |
|
||||
| [dir-glob](https://github.com/kevva/dir-glob) | 3.0.1 | [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](https://github.com/motdotla/dotenv-expand) | 10.0.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| dotenv-expand | 5.1.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [dotenv](https://github.com/motdotla/dotenv) | 16.1.3 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [eastasianwidth](https://github.com/komagata/eastasianwidth) | 0.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ee-first](https://github.com/jonathanong/ee-first) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ejs](https://github.com/mde/ejs) | 3.1.9 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [emoji-regex](https://github.com/mathiasbynens/emoji-regex) | 8.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [emoji-regex](https://github.com/mathiasbynens/emoji-regex) | 9.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [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) |
|
||||
| [error-ex](https://github.com/qix-/node-error-ex) | 1.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es5-ext](https://github.com/medikoo/es5-ext) | 0.10.62 | [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.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [esbuild-plugin-alias](https://github.com/igoradamenko/esbuild-plugin-alias) | 0.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| esbuild-register | 3.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esbuild](https://github.com/evanw/esbuild) | 0.14.49 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esbuild](https://github.com/evanw/esbuild) | 0.18.20 | [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) |
|
||||
| [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) |
|
||||
| [execa](https://github.com/sindresorhus/execa) | 5.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [execa](https://github.com/sindresorhus/execa) | 7.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [express](https://github.com/expressjs/express) | 4.18.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.2.12 | [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) |
|
||||
| [fast-sha256](https://github.com/dchest/fast-sha256-js) | 1.3.0 | [Unlicense](http://unlicense.org/) |
|
||||
| [fastq](https://github.com/mcollina/fastq) | 1.15.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fetch-retry](https://github.com/jonbern/fetch-retry) | 5.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [file-system-cache](https://github.com/philcockfield/file-system-cache) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [filelist](https://github.com/mde/filelist) | 1.0.4 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [fill-range](https://github.com/jonschlinkert/fill-range) | 7.0.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) | 3.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-up](https://github.com/sindresorhus/find-up) | 4.1.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) |
|
||||
| [for-each](https://github.com/Raynos/for-each) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [foreground-child](https://github.com/tapjs/foreground-child) | 3.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [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) | 2.1.2 | [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.1.1 | [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) |
|
||||
| [function-bind](https://github.com/Raynos/function-bind) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gensequence](https://github.com/streetsidesoftware/GenSequence) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-intrinsic](https://github.com/ljharb/get-intrinsic) | 1.2.0 | [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) |
|
||||
| [glob-parent](https://github.com/gulpjs/glob-parent) | 5.1.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [glob-to-regexp](https://github.com/fitzgen/glob-to-regexp) | 0.4.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [glob](https://github.com/isaacs/node-glob) | 10.3.10 | [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) | 11.1.0 | [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.8.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [handlebars](https://github.com/wycats/handlebars.js) | 4.7.7 | [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.0 | [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.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has](https://github.com/tarruda/has) | 1.0.3 | [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) |
|
||||
| [hosted-git-info](https://github.com/npm/hosted-git-info) | 2.8.9 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [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) | 4.3.1 | [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) |
|
||||
| [ignore](https://github.com/kaelzhang/node-ignore) | 5.2.4 | [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.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [imurmurhash](https://github.com/jensyt/imurmurhash-js) | 0.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [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/) |
|
||||
| [ip](https://github.com/indutny/node-ip) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [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.12.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-docker](https://github.com/sindresorhus/is-docker) | 2.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-docker](https://github.com/sindresorhus/is-docker) | 3.0.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-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-inside-container](https://github.com/sindresorhus/is-inside-container) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-nan](https://github.com/es-shims/is-nan) | 1.3.2 | [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-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.10 | [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-wsl](https://github.com/sindresorhus/is-wsl) | 2.2.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/) |
|
||||
| [iterall](https://github.com/leebyron/iterall) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jackspeak](https://github.com/isaacs/jackspeak) | 2.3.6 | BlueOak-1.0.0 |
|
||||
| [jake](https://github.com/jakejs/jake) | 10.8.7 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [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) |
|
||||
| [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) |
|
||||
| [jsonfile](https://github.com/jprichardson/node-jsonfile) | 6.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsrsasign](https://github.com/kjur/jsrsasign) | 10.8.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [kleur](https://github.com/lukeed/kleur) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lazy-universal-dotenv](https://github.com/storybooks/lazy-universal-dotenv) | 4.0.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [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) | 5.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](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) |
|
||||
| [lru-cache](https://github.com/isaacs/node-lru-cache) | 10.0.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) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [map-or-similar](https://github.com/thinkloop/map-or-similar) | 1.5.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) |
|
||||
| [memoizerific](https://github.com/thinkloop/memoizerific) | 1.11.3 | [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.5 | [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.1.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimatch](https://github.com/isaacs/minimatch) | 5.1.6 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimatch](https://github.com/isaacs/minimatch) | 9.0.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimist](https://github.com/minimistjs/minimist) | 1.2.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [minipass](https://github.com/isaacs/minipass) | 7.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [monaco-editor](https://github.com/microsoft/monaco-editor) | 0.33.0 | [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) | 14.0.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) |
|
||||
| [normalize-package-data](https://github.com/npm/normalize-package-data) | 2.5.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [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.1.0 | [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.12.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [object-is](https://github.com/es-shims/object-is) | 1.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [object-keys](https://github.com/ljharb/object-keys) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [object.assign](https://github.com/ljharb/object.assign) | 4.1.4 | [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) |
|
||||
| [on-headers](https://github.com/jshttp/on-headers) | 1.0.2 | [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) |
|
||||
| [open](https://github.com/sindresorhus/open) | 8.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [open](https://github.com/sindresorhus/open) | 9.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [optimism](https://github.com/benjamn/optimism) | 0.17.5 | [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) | 4.1.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) | 5.1.1 | [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) | 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-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-scurry](https://github.com/isaacs/path-scurry) | 1.10.1 | BlueOak-1.0.0 |
|
||||
| [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) |
|
||||
| [path2d-polyfill](https://github.com/nilzona/path2d-polyfill) | 2.0.1 | [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.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) |
|
||||
| [pkg-dir](https://github.com/sindresorhus/pkg-dir) | 4.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pkg-dir](https://github.com/sindresorhus/pkg-dir) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pretty-hrtime](https://github.com/robrich/pretty-hrtime) | 1.0.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) |
|
||||
| [qs](https://github.com/ljharb/qs) | 6.11.1 | [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) |
|
||||
| [ramda](https://github.com/ramda/ramda) | 0.29.0 | [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.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react-dom](https://github.com/facebook/react) | 16.14.0 | [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) | 16.14.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [read-pkg-up](https://github.com/sindresorhus/read-pkg-up) | 7.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [read-pkg](https://github.com/sindresorhus/read-pkg) | 5.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [recast](https://github.com/benjamn/recast) | 0.23.4 | [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) |
|
||||
| [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) |
|
||||
| [reusify](https://github.com/mcollina/reusify) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [run-applescript](https://github.com/sindresorhus/run-applescript) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [run-parallel](https://github.com/feross/run-parallel) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rxjs](https://github.com/reactivex/rxjs) | 6.6.6 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [safe-buffer](https://github.com/feross/safe-buffer) | 5.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [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) |
|
||||
| [scheduler](https://github.com/facebook/react) | 0.19.1 | [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.3.7 | [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/) |
|
||||
| [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) |
|
||||
| [setprototypeof](https://github.com/wesleytodd/setprototypeof) | 1.2.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [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.4 | [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) | 3.0.0 | [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) |
|
||||
| [spdx-correct](https://github.com/jslicense/spdx-correct.js) | 3.2.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [spdx-exceptions](https://github.com/kemitchell/spdx-exceptions.json) | 2.3.0 | [CC-BY-3.0](http://creativecommons.org/licenses/by/3.0/legalcode) |
|
||||
| [spdx-expression-parse](https://github.com/jslicense/spdx-expression-parse.js) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [spdx-license-ids](https://github.com/jslicense/spdx-license-ids) | 3.0.13 | [CC0-1.0](http://creativecommons.org/publicdomain/zero/1.0/legalcode) |
|
||||
| [statuses](https://github.com/jshttp/statuses) | 2.0.1 | [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-width](https://github.com/sindresorhus/string-width) | 5.1.2 | [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-ansi](https://github.com/chalk/strip-ansi) | 7.1.0 | [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) |
|
||||
| [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) | 8.1.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) |
|
||||
| [synchronous-promise](https://github.com/fluffynuts/synchronous-promise) | 2.0.17 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [synckit](https://github.com/un-ts/synckit) | 0.8.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [telejson](https://github.com/storybookjs/telejson) | 7.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tiny-invariant](https://github.com/alexreardon/tiny-invariant) | 1.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [titleize](https://github.com/sindresorhus/titleize) | 3.0.0 | [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.2 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [type-fest](https://github.com/sindresorhus/type-fest) | 0.6.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) | 0.8.1 | ([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) | 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) | 1.2.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [type](https://github.com/medikoo/type) | 2.7.2 | [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) |
|
||||
| [uglify-js](https://github.com/mishoo/UglifyJS) | 3.17.4 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [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.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) |
|
||||
| [untildify](https://github.com/sindresorhus/untildify) | 4.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) |
|
||||
| [validate-npm-package-license](https://github.com/kemitchell/validate-npm-package-license.js) | 3.0.4 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [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.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vscode-uri](https://github.com/microsoft/vscode-uri) | 3.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [watchpack](https://github.com/webpack/watchpack) | 2.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [web-streams-polyfill](https://github.com/MattiasBuelens/web-streams-polyfill) | 3.2.1 | [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.9 | [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/) |
|
||||
| [wordwrap](https://github.com/substack/node-wordwrap) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [wrap-ansi](https://github.com/chalk/wrap-ansi) | 7.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [wrap-ansi](https://github.com/chalk/wrap-ansi) | 8.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [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.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ws](https://github.com/websockets/ws) | 8.13.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) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [yocto-queue](https://github.com/sindresorhus/yocto-queue) | 1.0.0 | [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) |
|
||||
|
||||
@@ -60,19 +60,15 @@ Manages Task Instances.
|
||||
Fetches the Task Audit information in PDF format.
|
||||
- _taskId:_ `string` - ID of the target task
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)`>` - Binary PDF data
|
||||
- **findAllTaskByState**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts), state?: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/src/lib/task-list/models/task-list.model.ts)`>`<br/>
|
||||
- **findAllTasksByState**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts), state?: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/src/lib/task-list/models/task-list.model.ts)`>`<br/>
|
||||
Gets all tasks matching a query and state value.
|
||||
- _requestNode:_ [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts) - Query to search for tasks.
|
||||
- _state:_ `string` - (Optional) Task state. Can be "open" or "completed".
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/src/lib/task-list/models/task-list.model.ts)`>` - List of tasks
|
||||
- **findAllTasksWithoutState**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/src/lib/task-list/models/task-list.model.ts)`>`<br/>
|
||||
Gets all tasks matching the supplied query but ignoring the task state.
|
||||
- _requestNode:_ [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts) - Query to search for tasks
|
||||
- _state:_ `string` - (Optional) Task state. Can be "open" or "completed". State "all" applies to both "active" and "completed" tasks.
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/src/lib/task-list/models/task-list.model.ts)`>` - List of tasks
|
||||
- **findTasksByState**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts), state?: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/src/lib/task-list/models/task-list.model.ts)`>`<br/>
|
||||
Gets tasks matching a query and state value.
|
||||
- _requestNode:_ [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts) - Query to search for tasks
|
||||
- _state:_ `string` - (Optional) Task state. Can be "open" or "completed".
|
||||
- _state:_ `string` - (Optional) Task state. Can be "open" or "completed". State "all" applies to both "active" and "completed" tasks.
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/src/lib/task-list/models/task-list.model.ts)`>` - List of tasks
|
||||
- **getFilterForTaskById**(taskId: `string`, filterList: [`FilterRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts)`[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/src/lib/task-list/models/filter.model.ts)`>`<br/>
|
||||
Gets all the filters in the list that belong to a task.
|
||||
|
||||
@@ -9,6 +9,7 @@ The first **General Availability** release was v2.0.0.
|
||||
|
||||
## General Availability
|
||||
|
||||
- [6.7.0](RelNote-6.7.0.md)
|
||||
- [6.6.0](RelNote-6.6.0.md)
|
||||
- [6.5.2](RelNote-6.5.2.md)
|
||||
- [6.5.1](RelNote-6.5.1.md)
|
||||
|
||||
@@ -46,50 +46,50 @@ For a complete list of changes, supported browsers and new feature please refer
|
||||
|
||||
## Changelog
|
||||
|
||||
- [727365025](git@github.com:Alfresco/alfresco-ng2-components/commit/727365025) [ACS-5310] Removed dead link from angular.json for demo-shell (#8596)
|
||||
- [735521603](git@github.com:Alfresco/alfresco-ng2-components/commit/735521603) [AAE-14759] Fixed image viewer when going to full screen mode (#8609)
|
||||
- [46efc4f7e](git@github.com:Alfresco/alfresco-ng2-components/commit/46efc4f7e) [AAE-14850] Fix outcome buttons position (#8610)
|
||||
- [be9a0a08a](git@github.com:Alfresco/alfresco-ng2-components/commit/be9a0a08a) [ADF-5544] Missing Vulnerabilities in adf-cli audit (#8604)
|
||||
- [32f244d93](git@github.com:Alfresco/alfresco-ng2-components/commit/32f244d93) [ADF-5517] Reverted extra bug fixes changes (#8605)
|
||||
- [3ee2b387a](git@github.com:Alfresco/alfresco-ng2-components/commit/3ee2b387a) [AAE-14030] Fix header custom color (#8595)
|
||||
- [2f8b7b2bd](git@github.com:Alfresco/alfresco-ng2-components/commit/2f8b7b2bd) [ADF-5532] ADF Upgrade guide(upgrade411-50.md) (#8516)
|
||||
- [2429bb426](git@github.com:Alfresco/alfresco-ng2-components/commit/2429bb426) [AAE-14030] Custom header text color is not working on apa (#8592)
|
||||
- [507c6498a](git@github.com:Alfresco/alfresco-ng2-components/commit/507c6498a) [AAE-14376] Spinner is not aligned after opening task details (#8591)
|
||||
- [a799743bb](git@github.com:Alfresco/alfresco-ng2-components/commit/a799743bb) [ADF-5540] Enable C277288 e2e (#8587)
|
||||
- [3660f7347](git@github.com:Alfresco/alfresco-ng2-components/commit/3660f7347) [AAE-14168] Fixed outcome buttons position in start process (#8586)
|
||||
- [5abb6fbee](git@github.com:Alfresco/alfresco-ng2-components/commit/5abb6fbee) [AAE-14061] Fix spinner disappearing too early in task lists (#8577)
|
||||
- [e4965ece6](git@github.com:Alfresco/alfresco-ng2-components/commit/e4965ece6) [ADF-5517] Add unit test to test clicking anywhere on a row in a datatable (#8287)
|
||||
- [65dfd446f](git@github.com:Alfresco/alfresco-ng2-components/commit/65dfd446f) [ADF-5542] Update JS-API and ADF libs versions to use caret (#8570)
|
||||
- [b3e824143](git@github.com:Alfresco/alfresco-ng2-components/commit/b3e824143) [ACS-5272] security fixes for ADF CLI (#8567)
|
||||
- [7e1ff2006](git@github.com:Alfresco/alfresco-ng2-components/commit/7e1ff2006) Update datatable.component.md documentation (#8525)
|
||||
- [c431d0c6f](git@github.com:Alfresco/alfresco-ng2-components/commit/c431d0c6f) [ACS-5171] Facets section - UI changes (#8563)
|
||||
- [b10a4370c](git@github.com:Alfresco/alfresco-ng2-components/commit/b10a4370c) [AAE-14032] - fixed style for attach button (#8566)
|
||||
- [b5d410b75](git@github.com:Alfresco/alfresco-ng2-components/commit/b5d410b75) [ACS-5137] Fixed navigation between images (#8534)
|
||||
- [3b1842f03](git@github.com:Alfresco/alfresco-ng2-components/commit/3b1842f03) [ADF-5505] deprecate angular flex layout library (#8562)
|
||||
- [7e2a7f5b2](git@github.com:Alfresco/alfresco-ng2-components/commit/7e2a7f5b2) [AAE-14332] Fix export in FormCloudModule (#8565)
|
||||
- [baf010db6](git@github.com:Alfresco/alfresco-ng2-components/commit/baf010db6) cleanup ADF readme (#8543)
|
||||
- [d0b74cfbc](git@github.com:Alfresco/alfresco-ng2-components/commit/d0b74cfbc) [ACS-5165] Remove old upstream workflow (#8559)
|
||||
- [4bd05bb46](git@github.com:Alfresco/alfresco-ng2-components/commit/4bd05bb46) [AAE-12764] simpleapp widget name fix (#8560)
|
||||
- [d24726c88](git@github.com:Alfresco/alfresco-ng2-components/commit/d24726c88) [AAE-13661] Modify init-aae-env file to accept env parameter (#8489)
|
||||
- [a729852f3](git@github.com:Alfresco/alfresco-ng2-components/commit/a729852f3) [AAE-12764] Add new process and form to simpleapp (#8558)
|
||||
- [d5e1ca45f](git@github.com:Alfresco/alfresco-ng2-components/commit/d5e1ca45f) fix JS-API peer dependencies for libs (#8551)
|
||||
- [3dc1f1149](git@github.com:Alfresco/alfresco-ng2-components/commit/3dc1f1149) [ACS-5155] tags message about required field displayed after discarding changes (#8550)
|
||||
- [42322f8a9](git@github.com:Alfresco/alfresco-ng2-components/commit/42322f8a9) [AAE-13566] changed select input's position (#8471)
|
||||
- [2b8f81dfe](git@github.com:Alfresco/alfresco-ng2-components/commit/2b8f81dfe) [AAE-11270] replaced error message with shorter version (#8487)
|
||||
- [5d5fb299e](git@github.com:Alfresco/alfresco-ng2-components/commit/5d5fb299e) [AAE-12763] Unit test - C588832 Should not be able to upload a file … (#8512)
|
||||
- [50f9a2776](git@github.com:Alfresco/alfresco-ng2-components/commit/50f9a2776) [AAE-13971] changed color to accent contrast (#8501)
|
||||
- [00ede54e3](git@github.com:Alfresco/alfresco-ng2-components/commit/00ede54e3) [AAE-14184] App key as parameter when fetching roles (#8541)
|
||||
- [88d4408db](git@github.com:Alfresco/alfresco-ng2-components/commit/88d4408db) [ADF-5509] fix core dependency on datetimepicker (#8539)
|
||||
- [9cf166c3a](git@github.com:Alfresco/alfresco-ng2-components/commit/9cf166c3a) [ACS-5148] Corrected first tag position and removed extra scrollbar when spinner is visible (#8535)
|
||||
- [23149cae5](git@github.com:Alfresco/alfresco-ng2-components/commit/23149cae5) [AAE-13800] - Avoid reloading task/process list when column visibility changes (#8499)
|
||||
- [94c23171d](git@github.com:Alfresco/alfresco-ng2-components/commit/94c23171d) [ADF-5509] Migrate to Node 18 (#8531)
|
||||
- [42a2a3cd1](git@github.com:Alfresco/alfresco-ng2-components/commit/42a2a3cd1) [AAE-14166] - fixing script for version (#8532)
|
||||
- [5d6a1ea6a](git@github.com:Alfresco/alfresco-ng2-components/commit/5d6a1ea6a) [ACS-5143] Tree component expand/collapse fix (#8528)
|
||||
- [895d4189f](git@github.com:Alfresco/alfresco-ng2-components/commit/895d4189f) [AAE-14166] - fixing dependencies for editorjs (#8526)
|
||||
- [4966bb2d4](git@github.com:Alfresco/alfresco-ng2-components/commit/4966bb2d4) [HXOR-200] Standardize dry run flags as dry-run-flag: ${{ inputs.dry-run-flag }} (#8506)
|
||||
- [74a33e9d8](git@github.com:Alfresco/alfresco-ng2-components/commit/74a33e9d8) ACS-5147 Fixed typo (#8522)
|
||||
- [2d55bbf58](git@github.com:Alfresco/alfresco-ng2-components/commit/2d55bbf58) AAE-12240: Form save button enable/disable management (#8502)
|
||||
- [bcd0b66c9](git@github.com:Alfresco/alfresco-ng2-components/commit/bcd0b66c9) [ACS-5135] Tree component emit pagination only when top level entries change (#8519)
|
||||
- [727365025](https://github.com/Alfresco/alfresco-ng2-components/commit/727365025) [ACS-5310] Removed dead link from angular.json for demo-shell (#8596)
|
||||
- [735521603](https://github.com/Alfresco/alfresco-ng2-components/commit/735521603) [AAE-14759] Fixed image viewer when going to full screen mode (#8609)
|
||||
- [46efc4f7e](https://github.com/Alfresco/alfresco-ng2-components/commit/46efc4f7e) [AAE-14850] Fix outcome buttons position (#8610)
|
||||
- [be9a0a08a](https://github.com/Alfresco/alfresco-ng2-components/commit/be9a0a08a) [ADF-5544] Missing Vulnerabilities in adf-cli audit (#8604)
|
||||
- [32f244d93](https://github.com/Alfresco/alfresco-ng2-components/commit/32f244d93) [ADF-5517] Reverted extra bug fixes changes (#8605)
|
||||
- [3ee2b387a](https://github.com/Alfresco/alfresco-ng2-components/commit/3ee2b387a) [AAE-14030] Fix header custom color (#8595)
|
||||
- [2f8b7b2bd](https://github.com/Alfresco/alfresco-ng2-components/commit/2f8b7b2bd) [ADF-5532] ADF Upgrade guide(upgrade411-50.md) (#8516)
|
||||
- [2429bb426](https://github.com/Alfresco/alfresco-ng2-components/commit/2429bb426) [AAE-14030] Custom header text color is not working on apa (#8592)
|
||||
- [507c6498a](https://github.com/Alfresco/alfresco-ng2-components/commit/507c6498a) [AAE-14376] Spinner is not aligned after opening task details (#8591)
|
||||
- [a799743bb](https://github.com/Alfresco/alfresco-ng2-components/commit/a799743bb) [ADF-5540] Enable C277288 e2e (#8587)
|
||||
- [3660f7347](https://github.com/Alfresco/alfresco-ng2-components/commit/3660f7347) [AAE-14168] Fixed outcome buttons position in start process (#8586)
|
||||
- [5abb6fbee](https://github.com/Alfresco/alfresco-ng2-components/commit/5abb6fbee) [AAE-14061] Fix spinner disappearing too early in task lists (#8577)
|
||||
- [e4965ece6](https://github.com/Alfresco/alfresco-ng2-components/commit/e4965ece6) [ADF-5517] Add unit test to test clicking anywhere on a row in a datatable (#8287)
|
||||
- [65dfd446f](https://github.com/Alfresco/alfresco-ng2-components/commit/65dfd446f) [ADF-5542] Update JS-API and ADF libs versions to use caret (#8570)
|
||||
- [b3e824143](https://github.com/Alfresco/alfresco-ng2-components/commit/b3e824143) [ACS-5272] security fixes for ADF CLI (#8567)
|
||||
- [7e1ff2006](https://github.com/Alfresco/alfresco-ng2-components/commit/7e1ff2006) Update datatable.component.md documentation (#8525)
|
||||
- [c431d0c6f](https://github.com/Alfresco/alfresco-ng2-components/commit/c431d0c6f) [ACS-5171] Facets section - UI changes (#8563)
|
||||
- [b10a4370c](https://github.com/Alfresco/alfresco-ng2-components/commit/b10a4370c) [AAE-14032] - fixed style for attach button (#8566)
|
||||
- [b5d410b75](https://github.com/Alfresco/alfresco-ng2-components/commit/b5d410b75) [ACS-5137] Fixed navigation between images (#8534)
|
||||
- [3b1842f03](https://github.com/Alfresco/alfresco-ng2-components/commit/3b1842f03) [ADF-5505] deprecate angular flex layout library (#8562)
|
||||
- [7e2a7f5b2](https://github.com/Alfresco/alfresco-ng2-components/commit/7e2a7f5b2) [AAE-14332] Fix export in FormCloudModule (#8565)
|
||||
- [baf010db6](https://github.com/Alfresco/alfresco-ng2-components/commit/baf010db6) cleanup ADF readme (#8543)
|
||||
- [d0b74cfbc](https://github.com/Alfresco/alfresco-ng2-components/commit/d0b74cfbc) [ACS-5165] Remove old upstream workflow (#8559)
|
||||
- [4bd05bb46](https://github.com/Alfresco/alfresco-ng2-components/commit/4bd05bb46) [AAE-12764] simpleapp widget name fix (#8560)
|
||||
- [d24726c88](https://github.com/Alfresco/alfresco-ng2-components/commit/d24726c88) [AAE-13661] Modify init-aae-env file to accept env parameter (#8489)
|
||||
- [a729852f3](https://github.com/Alfresco/alfresco-ng2-components/commit/a729852f3) [AAE-12764] Add new process and form to simpleapp (#8558)
|
||||
- [d5e1ca45f](https://github.com/Alfresco/alfresco-ng2-components/commit/d5e1ca45f) fix JS-API peer dependencies for libs (#8551)
|
||||
- [3dc1f1149](https://github.com/Alfresco/alfresco-ng2-components/commit/3dc1f1149) [ACS-5155] tags message about required field displayed after discarding changes (#8550)
|
||||
- [42322f8a9](https://github.com/Alfresco/alfresco-ng2-components/commit/42322f8a9) [AAE-13566] changed select input's position (#8471)
|
||||
- [2b8f81dfe](https://github.com/Alfresco/alfresco-ng2-components/commit/2b8f81dfe) [AAE-11270] replaced error message with shorter version (#8487)
|
||||
- [5d5fb299e](https://github.com/Alfresco/alfresco-ng2-components/commit/5d5fb299e) [AAE-12763] Unit test - C588832 Should not be able to upload a file … (#8512)
|
||||
- [50f9a2776](https://github.com/Alfresco/alfresco-ng2-components/commit/50f9a2776) [AAE-13971] changed color to accent contrast (#8501)
|
||||
- [00ede54e3](https://github.com/Alfresco/alfresco-ng2-components/commit/00ede54e3) [AAE-14184] App key as parameter when fetching roles (#8541)
|
||||
- [88d4408db](https://github.com/Alfresco/alfresco-ng2-components/commit/88d4408db) [ADF-5509] fix core dependency on datetimepicker (#8539)
|
||||
- [9cf166c3a](https://github.com/Alfresco/alfresco-ng2-components/commit/9cf166c3a) [ACS-5148] Corrected first tag position and removed extra scrollbar when spinner is visible (#8535)
|
||||
- [23149cae5](https://github.com/Alfresco/alfresco-ng2-components/commit/23149cae5) [AAE-13800] - Avoid reloading task/process list when column visibility changes (#8499)
|
||||
- [94c23171d](https://github.com/Alfresco/alfresco-ng2-components/commit/94c23171d) [ADF-5509] Migrate to Node 18 (#8531)
|
||||
- [42a2a3cd1](https://github.com/Alfresco/alfresco-ng2-components/commit/42a2a3cd1) [AAE-14166] - fixing script for version (#8532)
|
||||
- [5d6a1ea6a](https://github.com/Alfresco/alfresco-ng2-components/commit/5d6a1ea6a) [ACS-5143] Tree component expand/collapse fix (#8528)
|
||||
- [895d4189f](https://github.com/Alfresco/alfresco-ng2-components/commit/895d4189f) [AAE-14166] - fixing dependencies for editorjs (#8526)
|
||||
- [4966bb2d4](https://github.com/Alfresco/alfresco-ng2-components/commit/4966bb2d4) [HXOR-200] Standardize dry run flags as dry-run-flag: ${{ inputs.dry-run-flag }} (#8506)
|
||||
- [74a33e9d8](https://github.com/Alfresco/alfresco-ng2-components/commit/74a33e9d8) ACS-5147 Fixed typo (#8522)
|
||||
- [2d55bbf58](https://github.com/Alfresco/alfresco-ng2-components/commit/2d55bbf58) AAE-12240: Form save button enable/disable management (#8502)
|
||||
- [bcd0b66c9](https://github.com/Alfresco/alfresco-ng2-components/commit/bcd0b66c9) [ACS-5135] Tree component emit pagination only when top level entries change (#8519)
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -49,82 +49,82 @@ For a complete list of changes, supported browsers and new feature please refer
|
||||
|
||||
## Changelog
|
||||
|
||||
- [620911cf7](git@github.com:Alfresco/alfresco-ng2-components/commit/620911cf7) Protractor cleanup for demo shell (#9019)
|
||||
- [fa7eb8722](git@github.com:Alfresco/alfresco-ng2-components/commit/fa7eb8722) fix linting for ADF (#9036)
|
||||
- [b84738324](git@github.com:Alfresco/alfresco-ng2-components/commit/b84738324) [ACS-6222] Fixed missing display name for groups (#9034)
|
||||
- [2d3175ef4](git@github.com:Alfresco/alfresco-ng2-components/commit/2d3175ef4) [ACS-6227] cleanup error handling and fix typing issues (#9035)
|
||||
- [53ad9f729](git@github.com:Alfresco/alfresco-ng2-components/commit/53ad9f729) AAE-15874 enable local development option for simpleapp (#9031)
|
||||
- [ba96ed14b](git@github.com:Alfresco/alfresco-ng2-components/commit/ba96ed14b) [ACS-6196] await-thenable rule for ESLint, fix issues (#9027)
|
||||
- [7ebdce787](git@github.com:Alfresco/alfresco-ng2-components/commit/7ebdce787) [APPS-2108] break direct dependency on moment.js (#9032)
|
||||
- [abf369bc3](git@github.com:Alfresco/alfresco-ng2-components/commit/abf369bc3) [ACS-6189] Moved date adapter from module to component (#9029)
|
||||
- [67f1a4c50](git@github.com:Alfresco/alfresco-ng2-components/commit/67f1a4c50) [ACS-6189] broken decision table dates after deprecation of moment date adapter 3 (#9026)
|
||||
- [e6bc457d2](git@github.com:Alfresco/alfresco-ng2-components/commit/e6bc457d2) [ACS-5831] Adding generic error to Library Modal. (#9025)
|
||||
- [8bd24dbb7](git@github.com:Alfresco/alfresco-ng2-components/commit/8bd24dbb7) [ACS-6190] prefer-promise-reject-errors rule and fixes (#9021)
|
||||
- [a73e72fac](git@github.com:Alfresco/alfresco-ng2-components/commit/a73e72fac) [ACS-6189] Corrected date format (#9016)
|
||||
- [f366cf7c0](git@github.com:Alfresco/alfresco-ng2-components/commit/f366cf7c0) [ACS-5645] metadata fixes for encapsulation and host classes (#9018)
|
||||
- [879c5a6d2](git@github.com:Alfresco/alfresco-ng2-components/commit/879c5a6d2) [ACS-5645] card view dateitem parse fix (#9017)
|
||||
- [36c6e6d8e](git@github.com:Alfresco/alfresco-ng2-components/commit/36c6e6d8e) [ACS-5566] - Add configurable columns to document list (#8968)
|
||||
- [3912a652d](git@github.com:Alfresco/alfresco-ng2-components/commit/3912a652d) [AAE-16369] use layout-bp mixin where applicable (#8945)
|
||||
- [f6f74f466](git@github.com:Alfresco/alfresco-ng2-components/commit/f6f74f466) [AAE-16982] Add default ui with custom theme to simpleapp (#9014)
|
||||
- [33f114767](git@github.com:Alfresco/alfresco-ng2-components/commit/33f114767) [AAE-16962] Handle number data table column type (#9013)
|
||||
- [7c4304a1e](git@github.com:Alfresco/alfresco-ng2-components/commit/7c4304a1e) Fix AAE-16968 BC (#9010)
|
||||
- [6644f539f](git@github.com:Alfresco/alfresco-ng2-components/commit/6644f539f) [AAE-16964] Handle amount data table cloumn type (#8984)
|
||||
- [962a2be69](git@github.com:Alfresco/alfresco-ng2-components/commit/962a2be69) [ACS-6126] Fixed accessibility issues (#9007)
|
||||
- [d13db2560](git@github.com:Alfresco/alfresco-ng2-components/commit/d13db2560) [ACS-6136] cleanup e2e files (protractor) (#9009)
|
||||
- [b49c86fda](git@github.com:Alfresco/alfresco-ng2-components/commit/b49c86fda) [AAE-16968] Add boolean type (#8972)
|
||||
- [cda12730f](git@github.com:Alfresco/alfresco-ng2-components/commit/cda12730f) [APPS-2255] documentation on date adapters (#9008)
|
||||
- [d500bc67d](git@github.com:Alfresco/alfresco-ng2-components/commit/d500bc67d) [ACS-5831] Added Generic Error to Library Dialog. (#9005)
|
||||
- [678df4298](git@github.com:Alfresco/alfresco-ng2-components/commit/678df4298) [APPS-2108] migrate cardview and task filters to date-fns (#9006)
|
||||
- [7d5fbecf3](git@github.com:Alfresco/alfresco-ng2-components/commit/7d5fbecf3) [APPS-2136] migrate search-datetime-range to date-fns (#9004)
|
||||
- [e6d625253](git@github.com:Alfresco/alfresco-ng2-components/commit/e6d625253) [APPS-2132] migrate components to date-fns (#9001)
|
||||
- [f7b054417](git@github.com:Alfresco/alfresco-ng2-components/commit/f7b054417) [ACS-6019] Added node-fetch to adf-cli package.json (#9003)
|
||||
- [ef285a1f1](git@github.com:Alfresco/alfresco-ng2-components/commit/ef285a1f1) [ACS-6019] [ACS-6021] [ACS-6023] Replaced request with node-fetch (#8999)
|
||||
- [82fafff11](git@github.com:Alfresco/alfresco-ng2-components/commit/82fafff11) Remove demo shell protractor TreeView e2e (#9000)
|
||||
- [462166293](git@github.com:Alfresco/alfresco-ng2-components/commit/462166293) Remove useless protractor tests (#8998)
|
||||
- [2f36da576](git@github.com:Alfresco/alfresco-ng2-components/commit/2f36da576) [APPS-2108] date-fns adapter for datetime pickers, many datetime parsing and validation fixes (#8992)
|
||||
- [c637f3eb2](git@github.com:Alfresco/alfresco-ng2-components/commit/c637f3eb2) [ACS-5611] Add the option to initially expand custom panel (#8986)
|
||||
- [96d0a617a](git@github.com:Alfresco/alfresco-ng2-components/commit/96d0a617a) [APPS-2108] migrate unit tests to date-fns (#8991)
|
||||
- [03a52dc10](git@github.com:Alfresco/alfresco-ng2-components/commit/03a52dc10) [APPS-2108] migrate form field validators to date-fns (#8988)
|
||||
- [2f28ec9b6](git@github.com:Alfresco/alfresco-ng2-components/commit/2f28ec9b6) [ACS-5877] Migrate widget-visibility service do date-fns (#8870)
|
||||
- [a86b9e625](git@github.com:Alfresco/alfresco-ng2-components/commit/a86b9e625) [APPS-2108] migrate analytics report to date-fns (#8985)
|
||||
- [f6d48cb85](git@github.com:Alfresco/alfresco-ng2-components/commit/f6d48cb85) [ACS-5348] Fixed accessibility issues for the Date facet (#8982)
|
||||
- [ce549249e](git@github.com:Alfresco/alfresco-ng2-components/commit/ce549249e) [APPS-2108] ADF date-fns adapter implementation (#8983)
|
||||
- [4cc4498b0](git@github.com:Alfresco/alfresco-ng2-components/commit/4cc4498b0) [ACS-5611] Add custom metadata side panels to metadata card component (#8974)
|
||||
- [3a374ad2a](git@github.com:Alfresco/alfresco-ng2-components/commit/3a374ad2a) [APPS-2108] migrate date widget to Angular date picker (#8975)
|
||||
- [e42e0869b](git@github.com:Alfresco/alfresco-ng2-components/commit/e42e0869b) [APPS-2108] Switch search date range to the material date adapter (#8973)
|
||||
- [93f45062f](git@github.com:Alfresco/alfresco-ng2-components/commit/93f45062f) migrate node lock dialog to date-fns (#8970)
|
||||
- [ea6575666](git@github.com:Alfresco/alfresco-ng2-components/commit/ea6575666) [APPS-2157][APPS-2158][APPS-2161][APPS-2162][APPS-2165] Migration from moment to date-fns (#8965)
|
||||
- [ecbee581a](git@github.com:Alfresco/alfresco-ng2-components/commit/ecbee581a) [APPS-2133] migration of dependency from moment to date-fns in start-task.component (#8844)
|
||||
- [93fe29503](git@github.com:Alfresco/alfresco-ng2-components/commit/93fe29503) [ACS-6002] Add permissions displaying Site Permissions outside of Sites (#8952)
|
||||
- [11b4f5186](git@github.com:Alfresco/alfresco-ng2-components/commit/11b4f5186) [AAE-16969] Remove force casting of all types to text (#8963)
|
||||
- [43242b118](git@github.com:Alfresco/alfresco-ng2-components/commit/43242b118) pre angular 15 cleanup (#8961)
|
||||
- [e638b54fc](git@github.com:Alfresco/alfresco-ng2-components/commit/e638b54fc) [MNT-23648] Clicking on Load More button no longer causes scroll position to reset to top (#8951)
|
||||
- [034e9574d](git@github.com:Alfresco/alfresco-ng2-components/commit/034e9574d) [AAE-16884] revert request removal (#8959)
|
||||
- [94baaf7d3](git@github.com:Alfresco/alfresco-ng2-components/commit/94baaf7d3) [AAE-16884] init aae script fixes (#8957)
|
||||
- [e21ad3ca0](git@github.com:Alfresco/alfresco-ng2-components/commit/e21ad3ca0) [AAE-15316] - Refactored UserInfoComponent to get typography from theme (#8937)
|
||||
- [21a029163](git@github.com:Alfresco/alfresco-ng2-components/commit/21a029163) [ACS-5878] implemented migration using the convertor approach (#8953)
|
||||
- [d72eb5ebd](git@github.com:Alfresco/alfresco-ng2-components/commit/d72eb5ebd) [ACS-6071] fix jsdoc warnings and errors (#8948)
|
||||
- [501516c8f](git@github.com:Alfresco/alfresco-ng2-components/commit/501516c8f) [ACS-6003] - waitRendition in rendition.service.ts not working (#8936)
|
||||
- [d78dcd215](git@github.com:Alfresco/alfresco-ng2-components/commit/d78dcd215) [ACS-6071] fix docs for process cloud (#8947)
|
||||
- [a48438e1c](git@github.com:Alfresco/alfresco-ng2-components/commit/a48438e1c) [ACS-5613] Renamed name to task name (#8946)
|
||||
- [b03011c3d](git@github.com:Alfresco/alfresco-ng2-components/commit/b03011c3d) [ACS-6071] documentation fixes for process lib (#8943)
|
||||
- [016e5ec08](git@github.com:Alfresco/alfresco-ng2-components/commit/016e5ec08) Revert "[AAE-16369] use layout-bp mixin where applicable" (#8944)
|
||||
- [65d70bffb](git@github.com:Alfresco/alfresco-ng2-components/commit/65d70bffb) [ACS-6071] fix JSDoc issues for Core lib (#8942)
|
||||
- [d7e0bb6cd](git@github.com:Alfresco/alfresco-ng2-components/commit/d7e0bb6cd) [AAE-16369] use layout-bp mixin where applicable (#8896)
|
||||
- [a0c79e6c6](git@github.com:Alfresco/alfresco-ng2-components/commit/a0c79e6c6) [ACS-5601] Add getProcessesAndTasksOnContent to process content service (#8940)
|
||||
- [094acf77c](git@github.com:Alfresco/alfresco-ng2-components/commit/094acf77c) [ACS-5613] process preview on popup displaying the details of selected running process on the popup (#8933)
|
||||
- [44694c0ee](git@github.com:Alfresco/alfresco-ng2-components/commit/44694c0ee) [ACS-5748] The file gets unshared when setting the past expiration date (#8876)
|
||||
- [4786a2632](git@github.com:Alfresco/alfresco-ng2-components/commit/4786a2632) Revert "[APPS-2157] [APPS-2158] [APPS-2161] [APPS-2162] [APPS-2165] migration of e2e test cases from moment to date-fns (#8864)" (#8938)
|
||||
- [8f684a9f6](git@github.com:Alfresco/alfresco-ng2-components/commit/8f684a9f6) [ACS-5987] improved security for shell scripts (#8889)
|
||||
- [83b2d9f8b](git@github.com:Alfresco/alfresco-ng2-components/commit/83b2d9f8b) [APPS-2202] Added custom utils for syncing moment and date-fns formats (#8934)
|
||||
- [0933e2dad](git@github.com:Alfresco/alfresco-ng2-components/commit/0933e2dad) [APPS-2159] [APPS-2163] Replaced from moment.js to date-fns (#8878)
|
||||
- [926347b8f](git@github.com:Alfresco/alfresco-ng2-components/commit/926347b8f) [ACS-5878] Migrated moment occurrences to date-fns equivalent in ProcessService (#8879)
|
||||
- [3638ed06e](git@github.com:Alfresco/alfresco-ng2-components/commit/3638ed06e) [APPS-2157] [APPS-2158] [APPS-2161] [APPS-2162] [APPS-2165] migration of e2e test cases from moment to date-fns (#8864)
|
||||
- [f48852075](git@github.com:Alfresco/alfresco-ng2-components/commit/f48852075) [APPS-2164] migration of dependency from moment to date-fns in task-list-properties.e2e.ts (#8873)
|
||||
- [ef551a9c7](git@github.com:Alfresco/alfresco-ng2-components/commit/ef551a9c7) Improved ESLint configuration, integrated spellcheck and error fixes (#8931)
|
||||
- [8370a3de6](git@github.com:Alfresco/alfresco-ng2-components/commit/8370a3de6) [MNT-23560] TIFF PDF Renderer Error (#8921)
|
||||
- [534583874](git@github.com:Alfresco/alfresco-ng2-components/commit/534583874) [AAE-16353] - Refactoring error component to get typography from theme (#8932)
|
||||
- [16ab6e330](git@github.com:Alfresco/alfresco-ng2-components/commit/16ab6e330) [ACS-5271] - replace deprecated 'request' library (#8916)
|
||||
- [620911cf7](https://github.com/Alfresco/alfresco-ng2-components/commit/620911cf7) Protractor cleanup for demo shell (#9019)
|
||||
- [fa7eb8722](https://github.com/Alfresco/alfresco-ng2-components/commit/fa7eb8722) fix linting for ADF (#9036)
|
||||
- [b84738324](https://github.com/Alfresco/alfresco-ng2-components/commit/b84738324) [ACS-6222] Fixed missing display name for groups (#9034)
|
||||
- [2d3175ef4](https://github.com/Alfresco/alfresco-ng2-components/commit/2d3175ef4) [ACS-6227] cleanup error handling and fix typing issues (#9035)
|
||||
- [53ad9f729](https://github.com/Alfresco/alfresco-ng2-components/commit/53ad9f729) AAE-15874 enable local development option for simpleapp (#9031)
|
||||
- [ba96ed14b](https://github.com/Alfresco/alfresco-ng2-components/commit/ba96ed14b) [ACS-6196] await-thenable rule for ESLint, fix issues (#9027)
|
||||
- [7ebdce787](https://github.com/Alfresco/alfresco-ng2-components/commit/7ebdce787) [APPS-2108] break direct dependency on moment.js (#9032)
|
||||
- [abf369bc3](https://github.com/Alfresco/alfresco-ng2-components/commit/abf369bc3) [ACS-6189] Moved date adapter from module to component (#9029)
|
||||
- [67f1a4c50](https://github.com/Alfresco/alfresco-ng2-components/commit/67f1a4c50) [ACS-6189] broken decision table dates after deprecation of moment date adapter 3 (#9026)
|
||||
- [e6bc457d2](https://github.com/Alfresco/alfresco-ng2-components/commit/e6bc457d2) [ACS-5831] Adding generic error to Library Modal. (#9025)
|
||||
- [8bd24dbb7](https://github.com/Alfresco/alfresco-ng2-components/commit/8bd24dbb7) [ACS-6190] prefer-promise-reject-errors rule and fixes (#9021)
|
||||
- [a73e72fac](https://github.com/Alfresco/alfresco-ng2-components/commit/a73e72fac) [ACS-6189] Corrected date format (#9016)
|
||||
- [f366cf7c0](https://github.com/Alfresco/alfresco-ng2-components/commit/f366cf7c0) [ACS-5645] metadata fixes for encapsulation and host classes (#9018)
|
||||
- [879c5a6d2](https://github.com/Alfresco/alfresco-ng2-components/commit/879c5a6d2) [ACS-5645] card view dateitem parse fix (#9017)
|
||||
- [36c6e6d8e](https://github.com/Alfresco/alfresco-ng2-components/commit/36c6e6d8e) [ACS-5566] - Add configurable columns to document list (#8968)
|
||||
- [3912a652d](https://github.com/Alfresco/alfresco-ng2-components/commit/3912a652d) [AAE-16369] use layout-bp mixin where applicable (#8945)
|
||||
- [f6f74f466](https://github.com/Alfresco/alfresco-ng2-components/commit/f6f74f466) [AAE-16982] Add default ui with custom theme to simpleapp (#9014)
|
||||
- [33f114767](https://github.com/Alfresco/alfresco-ng2-components/commit/33f114767) [AAE-16962] Handle number data table column type (#9013)
|
||||
- [7c4304a1e](https://github.com/Alfresco/alfresco-ng2-components/commit/7c4304a1e) Fix AAE-16968 BC (#9010)
|
||||
- [6644f539f](https://github.com/Alfresco/alfresco-ng2-components/commit/6644f539f) [AAE-16964] Handle amount data table cloumn type (#8984)
|
||||
- [962a2be69](https://github.com/Alfresco/alfresco-ng2-components/commit/962a2be69) [ACS-6126] Fixed accessibility issues (#9007)
|
||||
- [d13db2560](https://github.com/Alfresco/alfresco-ng2-components/commit/d13db2560) [ACS-6136] cleanup e2e files (protractor) (#9009)
|
||||
- [b49c86fda](https://github.com/Alfresco/alfresco-ng2-components/commit/b49c86fda) [AAE-16968] Add boolean type (#8972)
|
||||
- [cda12730f](https://github.com/Alfresco/alfresco-ng2-components/commit/cda12730f) [APPS-2255] documentation on date adapters (#9008)
|
||||
- [d500bc67d](https://github.com/Alfresco/alfresco-ng2-components/commit/d500bc67d) [ACS-5831] Added Generic Error to Library Dialog. (#9005)
|
||||
- [678df4298](https://github.com/Alfresco/alfresco-ng2-components/commit/678df4298) [APPS-2108] migrate cardview and task filters to date-fns (#9006)
|
||||
- [7d5fbecf3](https://github.com/Alfresco/alfresco-ng2-components/commit/7d5fbecf3) [APPS-2136] migrate search-datetime-range to date-fns (#9004)
|
||||
- [e6d625253](https://github.com/Alfresco/alfresco-ng2-components/commit/e6d625253) [APPS-2132] migrate components to date-fns (#9001)
|
||||
- [f7b054417](https://github.com/Alfresco/alfresco-ng2-components/commit/f7b054417) [ACS-6019] Added node-fetch to adf-cli package.json (#9003)
|
||||
- [ef285a1f1](https://github.com/Alfresco/alfresco-ng2-components/commit/ef285a1f1) [ACS-6019] [ACS-6021] [ACS-6023] Replaced request with node-fetch (#8999)
|
||||
- [82fafff11](https://github.com/Alfresco/alfresco-ng2-components/commit/82fafff11) Remove demo shell protractor TreeView e2e (#9000)
|
||||
- [462166293](https://github.com/Alfresco/alfresco-ng2-components/commit/462166293) Remove useless protractor tests (#8998)
|
||||
- [2f36da576](https://github.com/Alfresco/alfresco-ng2-components/commit/2f36da576) [APPS-2108] date-fns adapter for datetime pickers, many datetime parsing and validation fixes (#8992)
|
||||
- [c637f3eb2](https://github.com/Alfresco/alfresco-ng2-components/commit/c637f3eb2) [ACS-5611] Add the option to initially expand custom panel (#8986)
|
||||
- [96d0a617a](https://github.com/Alfresco/alfresco-ng2-components/commit/96d0a617a) [APPS-2108] migrate unit tests to date-fns (#8991)
|
||||
- [03a52dc10](https://github.com/Alfresco/alfresco-ng2-components/commit/03a52dc10) [APPS-2108] migrate form field validators to date-fns (#8988)
|
||||
- [2f28ec9b6](https://github.com/Alfresco/alfresco-ng2-components/commit/2f28ec9b6) [ACS-5877] Migrate widget-visibility service do date-fns (#8870)
|
||||
- [a86b9e625](https://github.com/Alfresco/alfresco-ng2-components/commit/a86b9e625) [APPS-2108] migrate analytics report to date-fns (#8985)
|
||||
- [f6d48cb85](https://github.com/Alfresco/alfresco-ng2-components/commit/f6d48cb85) [ACS-5348] Fixed accessibility issues for the Date facet (#8982)
|
||||
- [ce549249e](https://github.com/Alfresco/alfresco-ng2-components/commit/ce549249e) [APPS-2108] ADF date-fns adapter implementation (#8983)
|
||||
- [4cc4498b0](https://github.com/Alfresco/alfresco-ng2-components/commit/4cc4498b0) [ACS-5611] Add custom metadata side panels to metadata card component (#8974)
|
||||
- [3a374ad2a](https://github.com/Alfresco/alfresco-ng2-components/commit/3a374ad2a) [APPS-2108] migrate date widget to Angular date picker (#8975)
|
||||
- [e42e0869b](https://github.com/Alfresco/alfresco-ng2-components/commit/e42e0869b) [APPS-2108] Switch search date range to the material date adapter (#8973)
|
||||
- [93f45062f](https://github.com/Alfresco/alfresco-ng2-components/commit/93f45062f) migrate node lock dialog to date-fns (#8970)
|
||||
- [ea6575666](https://github.com/Alfresco/alfresco-ng2-components/commit/ea6575666) [APPS-2157][APPS-2158][APPS-2161][APPS-2162][APPS-2165] Migration from moment to date-fns (#8965)
|
||||
- [ecbee581a](https://github.com/Alfresco/alfresco-ng2-components/commit/ecbee581a) [APPS-2133] migration of dependency from moment to date-fns in start-task.component (#8844)
|
||||
- [93fe29503](https://github.com/Alfresco/alfresco-ng2-components/commit/93fe29503) [ACS-6002] Add permissions displaying Site Permissions outside of Sites (#8952)
|
||||
- [11b4f5186](https://github.com/Alfresco/alfresco-ng2-components/commit/11b4f5186) [AAE-16969] Remove force casting of all types to text (#8963)
|
||||
- [43242b118](https://github.com/Alfresco/alfresco-ng2-components/commit/43242b118) pre angular 15 cleanup (#8961)
|
||||
- [e638b54fc](https://github.com/Alfresco/alfresco-ng2-components/commit/e638b54fc) [MNT-23648] Clicking on Load More button no longer causes scroll position to reset to top (#8951)
|
||||
- [034e9574d](https://github.com/Alfresco/alfresco-ng2-components/commit/034e9574d) [AAE-16884] revert request removal (#8959)
|
||||
- [94baaf7d3](https://github.com/Alfresco/alfresco-ng2-components/commit/94baaf7d3) [AAE-16884] init aae script fixes (#8957)
|
||||
- [e21ad3ca0](https://github.com/Alfresco/alfresco-ng2-components/commit/e21ad3ca0) [AAE-15316] - Refactored UserInfoComponent to get typography from theme (#8937)
|
||||
- [21a029163](https://github.com/Alfresco/alfresco-ng2-components/commit/21a029163) [ACS-5878] implemented migration using the convertor approach (#8953)
|
||||
- [d72eb5ebd](https://github.com/Alfresco/alfresco-ng2-components/commit/d72eb5ebd) [ACS-6071] fix jsdoc warnings and errors (#8948)
|
||||
- [501516c8f](https://github.com/Alfresco/alfresco-ng2-components/commit/501516c8f) [ACS-6003] - waitRendition in rendition.service.ts not working (#8936)
|
||||
- [d78dcd215](https://github.com/Alfresco/alfresco-ng2-components/commit/d78dcd215) [ACS-6071] fix docs for process cloud (#8947)
|
||||
- [a48438e1c](https://github.com/Alfresco/alfresco-ng2-components/commit/a48438e1c) [ACS-5613] Renamed name to task name (#8946)
|
||||
- [b03011c3d](https://github.com/Alfresco/alfresco-ng2-components/commit/b03011c3d) [ACS-6071] documentation fixes for process lib (#8943)
|
||||
- [016e5ec08](https://github.com/Alfresco/alfresco-ng2-components/commit/016e5ec08) Revert "[AAE-16369] use layout-bp mixin where applicable" (#8944)
|
||||
- [65d70bffb](https://github.com/Alfresco/alfresco-ng2-components/commit/65d70bffb) [ACS-6071] fix JSDoc issues for Core lib (#8942)
|
||||
- [d7e0bb6cd](https://github.com/Alfresco/alfresco-ng2-components/commit/d7e0bb6cd) [AAE-16369] use layout-bp mixin where applicable (#8896)
|
||||
- [a0c79e6c6](https://github.com/Alfresco/alfresco-ng2-components/commit/a0c79e6c6) [ACS-5601] Add getProcessesAndTasksOnContent to process content service (#8940)
|
||||
- [094acf77c](https://github.com/Alfresco/alfresco-ng2-components/commit/094acf77c) [ACS-5613] process preview on popup displaying the details of selected running process on the popup (#8933)
|
||||
- [44694c0ee](https://github.com/Alfresco/alfresco-ng2-components/commit/44694c0ee) [ACS-5748] The file gets unshared when setting the past expiration date (#8876)
|
||||
- [4786a2632](https://github.com/Alfresco/alfresco-ng2-components/commit/4786a2632) Revert "[APPS-2157] [APPS-2158] [APPS-2161] [APPS-2162] [APPS-2165] migration of e2e test cases from moment to date-fns (#8864)" (#8938)
|
||||
- [8f684a9f6](https://github.com/Alfresco/alfresco-ng2-components/commit/8f684a9f6) [ACS-5987] improved security for shell scripts (#8889)
|
||||
- [83b2d9f8b](https://github.com/Alfresco/alfresco-ng2-components/commit/83b2d9f8b) [APPS-2202] Added custom utils for syncing moment and date-fns formats (#8934)
|
||||
- [0933e2dad](https://github.com/Alfresco/alfresco-ng2-components/commit/0933e2dad) [APPS-2159] [APPS-2163] Replaced from moment.js to date-fns (#8878)
|
||||
- [926347b8f](https://github.com/Alfresco/alfresco-ng2-components/commit/926347b8f) [ACS-5878] Migrated moment occurrences to date-fns equivalent in ProcessService (#8879)
|
||||
- [3638ed06e](https://github.com/Alfresco/alfresco-ng2-components/commit/3638ed06e) [APPS-2157] [APPS-2158] [APPS-2161] [APPS-2162] [APPS-2165] migration of e2e test cases from moment to date-fns (#8864)
|
||||
- [f48852075](https://github.com/Alfresco/alfresco-ng2-components/commit/f48852075) [APPS-2164] migration of dependency from moment to date-fns in task-list-properties.e2e.ts (#8873)
|
||||
- [ef551a9c7](https://github.com/Alfresco/alfresco-ng2-components/commit/ef551a9c7) Improved ESLint configuration, integrated spellcheck and error fixes (#8931)
|
||||
- [8370a3de6](https://github.com/Alfresco/alfresco-ng2-components/commit/8370a3de6) [MNT-23560] TIFF PDF Renderer Error (#8921)
|
||||
- [534583874](https://github.com/Alfresco/alfresco-ng2-components/commit/534583874) [AAE-16353] - Refactoring error component to get typography from theme (#8932)
|
||||
- [16ab6e330](https://github.com/Alfresco/alfresco-ng2-components/commit/16ab6e330) [ACS-5271] - replace deprecated 'request' library (#8916)
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -15,11 +15,11 @@ You can find release artifacts on [GitHub](https://github.com/Alfresco/alfresco-
|
||||
|
||||
## Changelog
|
||||
|
||||
- [f2df3c414](git@github.com:Alfresco/alfresco-ng2-components/commit/f2df3c414) [AAE-17909][AAE-17964] fix silent-refresh url is not set with the value - fix background image set to undefined (#9080)
|
||||
- [168bb0b6c](git@github.com:Alfresco/alfresco-ng2-components/commit/168bb0b6c) [AAE-17258] Update storybook for datatable and datacolumn (#9052)
|
||||
- [c0194029c](git@github.com:Alfresco/alfresco-ng2-components/commit/c0194029c) [AAE-17865] Remove few already covered e2es from ADF (#9078)
|
||||
- [625cf2b85](git@github.com:Alfresco/alfresco-ng2-components/commit/625cf2b85) [ADF-5561] Remove unused dep (#9064)
|
||||
- [f0a11fdab](git@github.com:Alfresco/alfresco-ng2-components/commit/f0a11fdab) [ACS-6140] migrate tests to harness (#9071)
|
||||
- [f2df3c414](https://github.com/Alfresco/alfresco-ng2-components/commit/f2df3c414) [AAE-17909][AAE-17964] fix silent-refresh url is not set with the value - fix background image set to undefined (#9080)
|
||||
- [168bb0b6c](https://github.com/Alfresco/alfresco-ng2-components/commit/168bb0b6c) [AAE-17258] Update storybook for datatable and datacolumn (#9052)
|
||||
- [c0194029c](https://github.com/Alfresco/alfresco-ng2-components/commit/c0194029c) [AAE-17865] Remove few already covered e2es from ADF (#9078)
|
||||
- [625cf2b85](https://github.com/Alfresco/alfresco-ng2-components/commit/625cf2b85) [ADF-5561] Remove unused dep (#9064)
|
||||
- [f0a11fdab](https://github.com/Alfresco/alfresco-ng2-components/commit/f0a11fdab) [ACS-6140] migrate tests to harness (#9071)
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@ You can find release artifacts on [GitHub](https://github.com/Alfresco/alfresco-
|
||||
|
||||
## Changelog
|
||||
|
||||
- [22d3179a5](git@github.com:Alfresco/alfresco-ng2-components/commit/22d3179a5) Revert "[AAE-18105] Fix release workflow: release-npm step doesn't publish al…" (#9092)
|
||||
- [17323b0ab](git@github.com:Alfresco/alfresco-ng2-components/commit/17323b0ab) [AAE-18105] Fix release workflow: release-npm step doesn't publish all the packages (#9091)
|
||||
- [81787d520](git@github.com:Alfresco/alfresco-ng2-components/commit/81787d520) [MNT-23166] Add resize flag to document list with option to disable blur (#9090)
|
||||
- [e5ca7d206](git@github.com:Alfresco/alfresco-ng2-components/commit/e5ca7d206) [AAE-18057] Fix token is not refreshed after silent-refresh is called. Get another token from the auth server. (#9089)
|
||||
- [6787ef458](git@github.com:Alfresco/alfresco-ng2-components/commit/6787ef458) [ACS-6225] Removed extra gray area around share link dialog (#9086)
|
||||
- [6988c1f45](git@github.com:Alfresco/alfresco-ng2-components/commit/6988c1f45) [ACS-6067] viewer thumbnails not refresh on file change (#9075)
|
||||
- [15fdbc7e2](git@github.com:Alfresco/alfresco-ng2-components/commit/15fdbc7e2) [ACS-4794] ES query migration changes (#8773)
|
||||
- [22d3179a5](https://github.com/Alfresco/alfresco-ng2-components/commit/22d3179a5) Revert "[AAE-18105] Fix release workflow: release-npm step doesn't publish al…" (#9092)
|
||||
- [17323b0ab](https://github.com/Alfresco/alfresco-ng2-components/commit/17323b0ab) [AAE-18105] Fix release workflow: release-npm step doesn't publish all the packages (#9091)
|
||||
- [81787d520](https://github.com/Alfresco/alfresco-ng2-components/commit/81787d520) [MNT-23166] Add resize flag to document list with option to disable blur (#9090)
|
||||
- [e5ca7d206](https://github.com/Alfresco/alfresco-ng2-components/commit/e5ca7d206) [AAE-18057] Fix token is not refreshed after silent-refresh is called. Get another token from the auth server. (#9089)
|
||||
- [6787ef458](https://github.com/Alfresco/alfresco-ng2-components/commit/6787ef458) [ACS-6225] Removed extra gray area around share link dialog (#9086)
|
||||
- [6988c1f45](https://github.com/Alfresco/alfresco-ng2-components/commit/6988c1f45) [ACS-6067] viewer thumbnails not refresh on file change (#9075)
|
||||
- [15fdbc7e2](https://github.com/Alfresco/alfresco-ng2-components/commit/15fdbc7e2) [ACS-4794] ES query migration changes (#8773)
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -4,88 +4,88 @@ Title: Changelog for alfresco-ng2-components v6.6.0
|
||||
|
||||
# Changelog
|
||||
|
||||
- [fdab441d45](git@github.com:Alfresco/alfresco-ng2-components/commit/fdab441d45) [AAE-19610] Submit query on change event for search date range tabbed widget (#9256)
|
||||
- [720fbb98ca](git@github.com:Alfresco/alfresco-ng2-components/commit/720fbb98ca) [AAE-19708] Fix breaking change for actions/upload-artifact v4.1.0 (#9270)
|
||||
- [4ec8ca9aa5](git@github.com:Alfresco/alfresco-ng2-components/commit/4ec8ca9aa5) [AAE-18281] Update uat-be-default-app with subprocess-parallel (#9253)
|
||||
- [ca38f05f30](git@github.com:Alfresco/alfresco-ng2-components/commit/ca38f05f30) [ACS-6584] Added validation for illegal characters when creating a tag (#9251)
|
||||
- [e1fcaed12d](git@github.com:Alfresco/alfresco-ng2-components/commit/e1fcaed12d) [AAE-19610] Add specific date range settings to search filter (#9250)
|
||||
- [b46d468f76](git@github.com:Alfresco/alfresco-ng2-components/commit/b46d468f76) [ACS-6212] Fix overlaping labels and incorrect color for warning (#9219)
|
||||
- [7a40a614a4](git@github.com:Alfresco/alfresco-ng2-components/commit/7a40a614a4) [ACS-6596] - verify ticket on app loading (#9244)
|
||||
- [d95e46e485](git@github.com:Alfresco/alfresco-ng2-components/commit/d95e46e485) [AAE-19621] Fix icon cut off in attach file button (#9249)
|
||||
- [9c570701e2](git@github.com:Alfresco/alfresco-ng2-components/commit/9c570701e2) [AAE-19604] fix unwanted notification error (#9246)
|
||||
- [bbd41715b0](git@github.com:Alfresco/alfresco-ng2-components/commit/bbd41715b0) [AAE-17674] Solve deprecation warning in the theme creation (#9247)
|
||||
- [e982b7db71](git@github.com:Alfresco/alfresco-ng2-components/commit/e982b7db71) [AAE-19343] Fix attach file widget advanced properties are not properly displayed (#9225)
|
||||
- [bb3dd978d2](git@github.com:Alfresco/alfresco-ng2-components/commit/bb3dd978d2) [AAE-17674] Solve deprecation warning in the theme creation (#9222)
|
||||
- [4e328ea726](git@github.com:Alfresco/alfresco-ng2-components/commit/4e328ea726) Revert "[AAE-19372] fix assignee input not being clickable" (#9230)
|
||||
- [f685f92a62](git@github.com:Alfresco/alfresco-ng2-components/commit/f685f92a62) [AAE-19372] fix assignee input not being clickable (#9228)
|
||||
- [daa8183598](git@github.com:Alfresco/alfresco-ng2-components/commit/daa8183598) [AAE-19365] Fix for changelog generation (#9226)
|
||||
- [9515e0e879](git@github.com:Alfresco/alfresco-ng2-components/commit/9515e0e879) [AAE-19325] Update uat-be-default-app (#9223)
|
||||
- [9c421a8858](git@github.com:Alfresco/alfresco-ng2-components/commit/9c421a8858) [AAE-14726] apply design tokens for ProcessHeaderCloudComponent (#9189)
|
||||
- [03647f6697](git@github.com:Alfresco/alfresco-ng2-components/commit/03647f6697) [AAE-15206] apply design tokens for TaskAssignmentFilterCloudComponent (#9172)
|
||||
- [551bfeb841](git@github.com:Alfresco/alfresco-ng2-components/commit/551bfeb841) [AAE-15294] applied design tokens for GroupCloudComponent (#9168)
|
||||
- [595856cb8d](git@github.com:Alfresco/alfresco-ng2-components/commit/595856cb8d) [ADF-5556] Compatibility matrix document update. (#9205)
|
||||
- [4ff46642fb](git@github.com:Alfresco/alfresco-ng2-components/commit/4ff46642fb) [ADF-5563][ADF-5565][ADF-5566]Removed !important from 'task-form','cloud-form-demo' and 'add-permission-panel' component (#9187)
|
||||
- [d4d731b275](git@github.com:Alfresco/alfresco-ng2-components/commit/d4d731b275) [ADF-5562][ADF-5564]Removed !important from from and version list component (#9142)
|
||||
- [5054679f6c](git@github.com:Alfresco/alfresco-ng2-components/commit/5054679f6c) [ACS-6211] Fixed UI alignment issues in create rules screen (CardView and child components) (#9101)
|
||||
- [bd5e3799f0](git@github.com:Alfresco/alfresco-ng2-components/commit/bd5e3799f0) [ADF-5568] Removed important property from 'card-view-dateitem.component.scss' in ADF (#9206)
|
||||
- [b0dae85689](git@github.com:Alfresco/alfresco-ng2-components/commit/b0dae85689) [ADF-5567] Removed important property from 'permission-list.component.scss' in ADF (#9184)
|
||||
- [e65b5430a1](git@github.com:Alfresco/alfresco-ng2-components/commit/e65b5430a1) [MNT-23433] configure position for close button on Viewer (#9143)
|
||||
- [6549235dae](git@github.com:Alfresco/alfresco-ng2-components/commit/6549235dae) [ACS-6412] - Some operations are broken when executed on file created from template (#9207)
|
||||
- [a1b4c54b16](git@github.com:Alfresco/alfresco-ng2-components/commit/a1b4c54b16) Allow to use extension value in addition to passing JSON file name (#9192)
|
||||
- [e9c769bc30](git@github.com:Alfresco/alfresco-ng2-components/commit/e9c769bc30) [ACS-6399] - ACA search properties facet clear button do not clear search filter (#9191)
|
||||
- [b9d3065810](git@github.com:Alfresco/alfresco-ng2-components/commit/b9d3065810) [ADF-5569] removed important (#9190)
|
||||
- [c4d5f5dae1](git@github.com:Alfresco/alfresco-ng2-components/commit/c4d5f5dae1) [ACS-6325] Persisting configuration of document list columns size, visibility and order (#9170)
|
||||
- [a900dd2551](git@github.com:Alfresco/alfresco-ng2-components/commit/a900dd2551) [ACS-5645] Property Panel Feature (#8995)
|
||||
- [0191860950](git@github.com:Alfresco/alfresco-ng2-components/commit/0191860950) [AAE-15295] added design tokens to PeopleCloudComponent (#9162)
|
||||
- [7c924e0e28](git@github.com:Alfresco/alfresco-ng2-components/commit/7c924e0e28) [AAE-19026] Fix app permissions (#9171)
|
||||
- [0932a3ed10](git@github.com:Alfresco/alfresco-ng2-components/commit/0932a3ed10) [AAE-18459] Fix invalidateSession is called when auth is not initilized by js-api (#9152)
|
||||
- [1f5af31ad0](git@github.com:Alfresco/alfresco-ng2-components/commit/1f5af31ad0) [AAE-19026] Fix app permissions (#9169)
|
||||
- [2ca1c75b76](git@github.com:Alfresco/alfresco-ng2-components/commit/2ca1c75b76) [AAE-19005] Pin 18.18.2 node version (#9167)
|
||||
- [6e848d129b](git@github.com:Alfresco/alfresco-ng2-components/commit/6e848d129b) Revert "Revert "build(deps): bump actions/setup-node in /.github/actions/setup (#9125)" (#9165)" (#9166)
|
||||
- [7121e72f83](git@github.com:Alfresco/alfresco-ng2-components/commit/7121e72f83) Revert "Check js api unit test issue (#9163)" (#9164)
|
||||
- [ce93a7cc04](git@github.com:Alfresco/alfresco-ng2-components/commit/ce93a7cc04) Revert "build(deps): bump actions/setup-node in /.github/actions/setup (#9125)" (#9165)
|
||||
- [25418c22cd](git@github.com:Alfresco/alfresco-ng2-components/commit/25418c22cd) Check js api unit test issue (#9163)
|
||||
- [6d4197412f](git@github.com:Alfresco/alfresco-ng2-components/commit/6d4197412f) [AAE-18893] Update application by process sequentialusertask (#9160)
|
||||
- [bed9e4b1f8](git@github.com:Alfresco/alfresco-ng2-components/commit/bed9e4b1f8) [MNT-24098] fixes for pdf with HTTP (#9155)
|
||||
- [468c32691d](git@github.com:Alfresco/alfresco-ng2-components/commit/468c32691d) [AAE-17666] Remove date cell e2es covered by unit tests (#9153)
|
||||
- [cd33bb6c92](git@github.com:Alfresco/alfresco-ng2-components/commit/cd33bb6c92) [ACS-6323] dynamic content list changing columns order with drag drop (#9146)
|
||||
- [064c1fd216](git@github.com:Alfresco/alfresco-ng2-components/commit/064c1fd216) [MNT-23166] Make tasks and processes lists resizeable (#9145)
|
||||
- [f47fb2a7e9](git@github.com:Alfresco/alfresco-ng2-components/commit/f47fb2a7e9) [ACS-6107] Replaced SearchDateRange component with SearchDateRangeAdvanced Component (#9023)
|
||||
- [88ab336d05](git@github.com:Alfresco/alfresco-ng2-components/commit/88ab336d05) [AAE-18450] fixed form value not updating instantly on radio change (#9141)
|
||||
- [8fa37a54a7](git@github.com:Alfresco/alfresco-ng2-components/commit/8fa37a54a7) [ACS-6031] Minimum width and tooltip added for column header (#9093)
|
||||
- [a3fa0f316b](git@github.com:Alfresco/alfresco-ng2-components/commit/a3fa0f316b) [ADF-5570][ADF-5571]Removed important property from 'toolbar.component.scss' and 'pagination.component.scss' in ADF (#9134)
|
||||
- [e78bc460de](git@github.com:Alfresco/alfresco-ng2-components/commit/e78bc460de) [AAE-17481] Fix mapping for process leave-request (#9140)
|
||||
- [db9c3d4cb4](git@github.com:Alfresco/alfresco-ng2-components/commit/db9c3d4cb4) [AAE-17481] Fix processes for the new tests (#9137)
|
||||
- [e0260d821f](git@github.com:Alfresco/alfresco-ng2-components/commit/e0260d821f) [AAE-17475] Fix processes for Call Activities tests (#9136)
|
||||
- [c1ad165ef9](git@github.com:Alfresco/alfresco-ng2-components/commit/c1ad165ef9) [AAE-18541] - OAuth - redirect does not work (#9135)
|
||||
- [065829ef01](git@github.com:Alfresco/alfresco-ng2-components/commit/065829ef01) [ACS-5600] AlfrescoViewerComponent shows the original mimetype (#9095)
|
||||
- [8a184efc6c](git@github.com:Alfresco/alfresco-ng2-components/commit/8a184efc6c) [AAE-8556] Convert attach file manual test case to unit test (#9108)
|
||||
- [500c5581f6](git@github.com:Alfresco/alfresco-ng2-components/commit/500c5581f6) [AAE-18541] - OAuth - redirect does not work (#9133)
|
||||
- [7793aba89e](git@github.com:Alfresco/alfresco-ng2-components/commit/7793aba89e) [ACS-6252] support disabling the tags and categories feature in the applications (#9106)
|
||||
- [979bf3ac59](git@github.com:Alfresco/alfresco-ng2-components/commit/979bf3ac59) [ACS-6396] cleanup unused CLI code (#9132)
|
||||
- [7300f74add](git@github.com:Alfresco/alfresco-ng2-components/commit/7300f74add) Fix dependabot.yml (#9120)
|
||||
- [38a7dc6cb7](git@github.com:Alfresco/alfresco-ng2-components/commit/38a7dc6cb7) ADF release - Notify correct channel (#9116)
|
||||
- [4313869127](git@github.com:Alfresco/alfresco-ng2-components/commit/4313869127) [ACS-6370] fix js-api version bump (#9119)
|
||||
- [3daecb1b1c](git@github.com:Alfresco/alfresco-ng2-components/commit/3daecb1b1c) [AAE-18117] Use SHA for GitHub actions (#9113)
|
||||
- [3cf2ffa7bd](git@github.com:Alfresco/alfresco-ng2-components/commit/3cf2ffa7bd) [AAE-18464] fix bundle check for js-api (#9117)
|
||||
- [2824b7be50](git@github.com:Alfresco/alfresco-ng2-components/commit/2824b7be50) bump js-api version to 7.4.0 (#9115)
|
||||
- [3677bfb78e](git@github.com:Alfresco/alfresco-ng2-components/commit/3677bfb78e) [ACS-6370] switch js-api builds to original node.js (#9114)
|
||||
- [dbe3a7c7db](git@github.com:Alfresco/alfresco-ng2-components/commit/dbe3a7c7db) [ACS-6370] temporary pin ADF cli to js-api 7.2.0 (#9112)
|
||||
- [869f0296d0](git@github.com:Alfresco/alfresco-ng2-components/commit/869f0296d0) Trigger a new release (#9111)
|
||||
- [2a7fd89af0](git@github.com:Alfresco/alfresco-ng2-components/commit/2a7fd89af0) [PRODENG-211] fix js-api version bump (#9110)
|
||||
- [6759e2e9bb](git@github.com:Alfresco/alfresco-ng2-components/commit/6759e2e9bb) [AAE-16041] Removing unneeded tests (#9109)
|
||||
- [3309ea63f6](git@github.com:Alfresco/alfresco-ng2-components/commit/3309ea63f6) [PRODENG-211] improved ADF CLI compilation (#9105)
|
||||
- [e97333aabd](git@github.com:Alfresco/alfresco-ng2-components/commit/e97333aabd) [PRODENG-211] reworked version updating (#9104)
|
||||
- [aa05fc28b5](git@github.com:Alfresco/alfresco-ng2-components/commit/aa05fc28b5) [AAE-18175] Unable to Import Descriptor in HXP Environment (#9097)
|
||||
- [4b3e101586](git@github.com:Alfresco/alfresco-ng2-components/commit/4b3e101586) [PRODENG-211] update npm bundle check (#9103)
|
||||
- [8687e86cf6](git@github.com:Alfresco/alfresco-ng2-components/commit/8687e86cf6) [PRODENG-211] update js-api deps (#9102)
|
||||
- [8839c9563a](git@github.com:Alfresco/alfresco-ng2-components/commit/8839c9563a) bump local js-api to 7.3.0
|
||||
- [ea2c0ce229](git@github.com:Alfresco/alfresco-ng2-components/commit/ea2c0ce229) [PRODENG-211] integrate JS-API with monorepo (part 1) (#9081)
|
||||
- [804fa2ffd4](git@github.com:Alfresco/alfresco-ng2-components/commit/804fa2ffd4) [AAE-17480] update application (#9100)
|
||||
- [d14c116747](git@github.com:Alfresco/alfresco-ng2-components/commit/d14c116747) [MNT-22836] - support PKCE code flow in SSO (#8884)
|
||||
- [eb8aaecef6](git@github.com:Alfresco/alfresco-ng2-components/commit/eb8aaecef6) [ACS-6328] fix oauth config loading (#9098)
|
||||
- [001d6ee83d](git@github.com:Alfresco/alfresco-ng2-components/commit/001d6ee83d) [AAE-17859] Convert manual C309872 to unit test (#9077)
|
||||
- [606abdb4fd](git@github.com:Alfresco/alfresco-ng2-components/commit/606abdb4fd) [AAE-17103] Handle icon type (#9012)
|
||||
- [4af945123b](git@github.com:Alfresco/alfresco-ng2-components/commit/4af945123b) Revert "[ACS-5311] Notification History Bug Fix (#9011)" (#9096)
|
||||
- [fdab441d45](https://github.com/Alfresco/alfresco-ng2-components/commit/fdab441d45) [AAE-19610] Submit query on change event for search date range tabbed widget (#9256)
|
||||
- [720fbb98ca](https://github.com/Alfresco/alfresco-ng2-components/commit/720fbb98ca) [AAE-19708] Fix breaking change for actions/upload-artifact v4.1.0 (#9270)
|
||||
- [4ec8ca9aa5](https://github.com/Alfresco/alfresco-ng2-components/commit/4ec8ca9aa5) [AAE-18281] Update uat-be-default-app with subprocess-parallel (#9253)
|
||||
- [ca38f05f30](https://github.com/Alfresco/alfresco-ng2-components/commit/ca38f05f30) [ACS-6584] Added validation for illegal characters when creating a tag (#9251)
|
||||
- [e1fcaed12d](https://github.com/Alfresco/alfresco-ng2-components/commit/e1fcaed12d) [AAE-19610] Add specific date range settings to search filter (#9250)
|
||||
- [b46d468f76](https://github.com/Alfresco/alfresco-ng2-components/commit/b46d468f76) [ACS-6212] Fix overlaping labels and incorrect color for warning (#9219)
|
||||
- [7a40a614a4](https://github.com/Alfresco/alfresco-ng2-components/commit/7a40a614a4) [ACS-6596] - verify ticket on app loading (#9244)
|
||||
- [d95e46e485](https://github.com/Alfresco/alfresco-ng2-components/commit/d95e46e485) [AAE-19621] Fix icon cut off in attach file button (#9249)
|
||||
- [9c570701e2](https://github.com/Alfresco/alfresco-ng2-components/commit/9c570701e2) [AAE-19604] fix unwanted notification error (#9246)
|
||||
- [bbd41715b0](https://github.com/Alfresco/alfresco-ng2-components/commit/bbd41715b0) [AAE-17674] Solve deprecation warning in the theme creation (#9247)
|
||||
- [e982b7db71](https://github.com/Alfresco/alfresco-ng2-components/commit/e982b7db71) [AAE-19343] Fix attach file widget advanced properties are not properly displayed (#9225)
|
||||
- [bb3dd978d2](https://github.com/Alfresco/alfresco-ng2-components/commit/bb3dd978d2) [AAE-17674] Solve deprecation warning in the theme creation (#9222)
|
||||
- [4e328ea726](https://github.com/Alfresco/alfresco-ng2-components/commit/4e328ea726) Revert "[AAE-19372] fix assignee input not being clickable" (#9230)
|
||||
- [f685f92a62](https://github.com/Alfresco/alfresco-ng2-components/commit/f685f92a62) [AAE-19372] fix assignee input not being clickable (#9228)
|
||||
- [daa8183598](https://github.com/Alfresco/alfresco-ng2-components/commit/daa8183598) [AAE-19365] Fix for changelog generation (#9226)
|
||||
- [9515e0e879](https://github.com/Alfresco/alfresco-ng2-components/commit/9515e0e879) [AAE-19325] Update uat-be-default-app (#9223)
|
||||
- [9c421a8858](https://github.com/Alfresco/alfresco-ng2-components/commit/9c421a8858) [AAE-14726] apply design tokens for ProcessHeaderCloudComponent (#9189)
|
||||
- [03647f6697](https://github.com/Alfresco/alfresco-ng2-components/commit/03647f6697) [AAE-15206] apply design tokens for TaskAssignmentFilterCloudComponent (#9172)
|
||||
- [551bfeb841](https://github.com/Alfresco/alfresco-ng2-components/commit/551bfeb841) [AAE-15294] applied design tokens for GroupCloudComponent (#9168)
|
||||
- [595856cb8d](https://github.com/Alfresco/alfresco-ng2-components/commit/595856cb8d) [ADF-5556] Compatibility matrix document update. (#9205)
|
||||
- [4ff46642fb](https://github.com/Alfresco/alfresco-ng2-components/commit/4ff46642fb) [ADF-5563][ADF-5565][ADF-5566]Removed !important from 'task-form','cloud-form-demo' and 'add-permission-panel' component (#9187)
|
||||
- [d4d731b275](https://github.com/Alfresco/alfresco-ng2-components/commit/d4d731b275) [ADF-5562][ADF-5564]Removed !important from from and version list component (#9142)
|
||||
- [5054679f6c](https://github.com/Alfresco/alfresco-ng2-components/commit/5054679f6c) [ACS-6211] Fixed UI alignment issues in create rules screen (CardView and child components) (#9101)
|
||||
- [bd5e3799f0](https://github.com/Alfresco/alfresco-ng2-components/commit/bd5e3799f0) [ADF-5568] Removed important property from 'card-view-dateitem.component.scss' in ADF (#9206)
|
||||
- [b0dae85689](https://github.com/Alfresco/alfresco-ng2-components/commit/b0dae85689) [ADF-5567] Removed important property from 'permission-list.component.scss' in ADF (#9184)
|
||||
- [e65b5430a1](https://github.com/Alfresco/alfresco-ng2-components/commit/e65b5430a1) [MNT-23433] configure position for close button on Viewer (#9143)
|
||||
- [6549235dae](https://github.com/Alfresco/alfresco-ng2-components/commit/6549235dae) [ACS-6412] - Some operations are broken when executed on file created from template (#9207)
|
||||
- [a1b4c54b16](https://github.com/Alfresco/alfresco-ng2-components/commit/a1b4c54b16) Allow to use extension value in addition to passing JSON file name (#9192)
|
||||
- [e9c769bc30](https://github.com/Alfresco/alfresco-ng2-components/commit/e9c769bc30) [ACS-6399] - ACA search properties facet clear button do not clear search filter (#9191)
|
||||
- [b9d3065810](https://github.com/Alfresco/alfresco-ng2-components/commit/b9d3065810) [ADF-5569] removed important (#9190)
|
||||
- [c4d5f5dae1](https://github.com/Alfresco/alfresco-ng2-components/commit/c4d5f5dae1) [ACS-6325] Persisting configuration of document list columns size, visibility and order (#9170)
|
||||
- [a900dd2551](https://github.com/Alfresco/alfresco-ng2-components/commit/a900dd2551) [ACS-5645] Property Panel Feature (#8995)
|
||||
- [0191860950](https://github.com/Alfresco/alfresco-ng2-components/commit/0191860950) [AAE-15295] added design tokens to PeopleCloudComponent (#9162)
|
||||
- [7c924e0e28](https://github.com/Alfresco/alfresco-ng2-components/commit/7c924e0e28) [AAE-19026] Fix app permissions (#9171)
|
||||
- [0932a3ed10](https://github.com/Alfresco/alfresco-ng2-components/commit/0932a3ed10) [AAE-18459] Fix invalidateSession is called when auth is not initilized by js-api (#9152)
|
||||
- [1f5af31ad0](https://github.com/Alfresco/alfresco-ng2-components/commit/1f5af31ad0) [AAE-19026] Fix app permissions (#9169)
|
||||
- [2ca1c75b76](https://github.com/Alfresco/alfresco-ng2-components/commit/2ca1c75b76) [AAE-19005] Pin 18.18.2 node version (#9167)
|
||||
- [6e848d129b](https://github.com/Alfresco/alfresco-ng2-components/commit/6e848d129b) Revert "Revert "build(deps): bump actions/setup-node in /.github/actions/setup (#9125)" (#9165)" (#9166)
|
||||
- [7121e72f83](https://github.com/Alfresco/alfresco-ng2-components/commit/7121e72f83) Revert "Check js api unit test issue (#9163)" (#9164)
|
||||
- [ce93a7cc04](https://github.com/Alfresco/alfresco-ng2-components/commit/ce93a7cc04) Revert "build(deps): bump actions/setup-node in /.github/actions/setup (#9125)" (#9165)
|
||||
- [25418c22cd](https://github.com/Alfresco/alfresco-ng2-components/commit/25418c22cd) Check js api unit test issue (#9163)
|
||||
- [6d4197412f](https://github.com/Alfresco/alfresco-ng2-components/commit/6d4197412f) [AAE-18893] Update application by process sequentialusertask (#9160)
|
||||
- [bed9e4b1f8](https://github.com/Alfresco/alfresco-ng2-components/commit/bed9e4b1f8) [MNT-24098] fixes for pdf with HTTP (#9155)
|
||||
- [468c32691d](https://github.com/Alfresco/alfresco-ng2-components/commit/468c32691d) [AAE-17666] Remove date cell e2es covered by unit tests (#9153)
|
||||
- [cd33bb6c92](https://github.com/Alfresco/alfresco-ng2-components/commit/cd33bb6c92) [ACS-6323] dynamic content list changing columns order with drag drop (#9146)
|
||||
- [064c1fd216](https://github.com/Alfresco/alfresco-ng2-components/commit/064c1fd216) [MNT-23166] Make tasks and processes lists resizeable (#9145)
|
||||
- [f47fb2a7e9](https://github.com/Alfresco/alfresco-ng2-components/commit/f47fb2a7e9) [ACS-6107] Replaced SearchDateRange component with SearchDateRangeAdvanced Component (#9023)
|
||||
- [88ab336d05](https://github.com/Alfresco/alfresco-ng2-components/commit/88ab336d05) [AAE-18450] fixed form value not updating instantly on radio change (#9141)
|
||||
- [8fa37a54a7](https://github.com/Alfresco/alfresco-ng2-components/commit/8fa37a54a7) [ACS-6031] Minimum width and tooltip added for column header (#9093)
|
||||
- [a3fa0f316b](https://github.com/Alfresco/alfresco-ng2-components/commit/a3fa0f316b) [ADF-5570][ADF-5571]Removed important property from 'toolbar.component.scss' and 'pagination.component.scss' in ADF (#9134)
|
||||
- [e78bc460de](https://github.com/Alfresco/alfresco-ng2-components/commit/e78bc460de) [AAE-17481] Fix mapping for process leave-request (#9140)
|
||||
- [db9c3d4cb4](https://github.com/Alfresco/alfresco-ng2-components/commit/db9c3d4cb4) [AAE-17481] Fix processes for the new tests (#9137)
|
||||
- [e0260d821f](https://github.com/Alfresco/alfresco-ng2-components/commit/e0260d821f) [AAE-17475] Fix processes for Call Activities tests (#9136)
|
||||
- [c1ad165ef9](https://github.com/Alfresco/alfresco-ng2-components/commit/c1ad165ef9) [AAE-18541] - OAuth - redirect does not work (#9135)
|
||||
- [065829ef01](https://github.com/Alfresco/alfresco-ng2-components/commit/065829ef01) [ACS-5600] AlfrescoViewerComponent shows the original mimetype (#9095)
|
||||
- [8a184efc6c](https://github.com/Alfresco/alfresco-ng2-components/commit/8a184efc6c) [AAE-8556] Convert attach file manual test case to unit test (#9108)
|
||||
- [500c5581f6](https://github.com/Alfresco/alfresco-ng2-components/commit/500c5581f6) [AAE-18541] - OAuth - redirect does not work (#9133)
|
||||
- [7793aba89e](https://github.com/Alfresco/alfresco-ng2-components/commit/7793aba89e) [ACS-6252] support disabling the tags and categories feature in the applications (#9106)
|
||||
- [979bf3ac59](https://github.com/Alfresco/alfresco-ng2-components/commit/979bf3ac59) [ACS-6396] cleanup unused CLI code (#9132)
|
||||
- [7300f74add](https://github.com/Alfresco/alfresco-ng2-components/commit/7300f74add) Fix dependabot.yml (#9120)
|
||||
- [38a7dc6cb7](https://github.com/Alfresco/alfresco-ng2-components/commit/38a7dc6cb7) ADF release - Notify correct channel (#9116)
|
||||
- [4313869127](https://github.com/Alfresco/alfresco-ng2-components/commit/4313869127) [ACS-6370] fix js-api version bump (#9119)
|
||||
- [3daecb1b1c](https://github.com/Alfresco/alfresco-ng2-components/commit/3daecb1b1c) [AAE-18117] Use SHA for GitHub actions (#9113)
|
||||
- [3cf2ffa7bd](https://github.com/Alfresco/alfresco-ng2-components/commit/3cf2ffa7bd) [AAE-18464] fix bundle check for js-api (#9117)
|
||||
- [2824b7be50](https://github.com/Alfresco/alfresco-ng2-components/commit/2824b7be50) bump js-api version to 7.4.0 (#9115)
|
||||
- [3677bfb78e](https://github.com/Alfresco/alfresco-ng2-components/commit/3677bfb78e) [ACS-6370] switch js-api builds to original node.js (#9114)
|
||||
- [dbe3a7c7db](https://github.com/Alfresco/alfresco-ng2-components/commit/dbe3a7c7db) [ACS-6370] temporary pin ADF cli to js-api 7.2.0 (#9112)
|
||||
- [869f0296d0](https://github.com/Alfresco/alfresco-ng2-components/commit/869f0296d0) Trigger a new release (#9111)
|
||||
- [2a7fd89af0](https://github.com/Alfresco/alfresco-ng2-components/commit/2a7fd89af0) [PRODENG-211] fix js-api version bump (#9110)
|
||||
- [6759e2e9bb](https://github.com/Alfresco/alfresco-ng2-components/commit/6759e2e9bb) [AAE-16041] Removing unneeded tests (#9109)
|
||||
- [3309ea63f6](https://github.com/Alfresco/alfresco-ng2-components/commit/3309ea63f6) [PRODENG-211] improved ADF CLI compilation (#9105)
|
||||
- [e97333aabd](https://github.com/Alfresco/alfresco-ng2-components/commit/e97333aabd) [PRODENG-211] reworked version updating (#9104)
|
||||
- [aa05fc28b5](https://github.com/Alfresco/alfresco-ng2-components/commit/aa05fc28b5) [AAE-18175] Unable to Import Descriptor in HXP Environment (#9097)
|
||||
- [4b3e101586](https://github.com/Alfresco/alfresco-ng2-components/commit/4b3e101586) [PRODENG-211] update npm bundle check (#9103)
|
||||
- [8687e86cf6](https://github.com/Alfresco/alfresco-ng2-components/commit/8687e86cf6) [PRODENG-211] update js-api deps (#9102)
|
||||
- [8839c9563a](https://github.com/Alfresco/alfresco-ng2-components/commit/8839c9563a) bump local js-api to 7.3.0
|
||||
- [ea2c0ce229](https://github.com/Alfresco/alfresco-ng2-components/commit/ea2c0ce229) [PRODENG-211] integrate JS-API with monorepo (part 1) (#9081)
|
||||
- [804fa2ffd4](https://github.com/Alfresco/alfresco-ng2-components/commit/804fa2ffd4) [AAE-17480] update application (#9100)
|
||||
- [d14c116747](https://github.com/Alfresco/alfresco-ng2-components/commit/d14c116747) [MNT-22836] - support PKCE code flow in SSO (#8884)
|
||||
- [eb8aaecef6](https://github.com/Alfresco/alfresco-ng2-components/commit/eb8aaecef6) [ACS-6328] fix oauth config loading (#9098)
|
||||
- [001d6ee83d](https://github.com/Alfresco/alfresco-ng2-components/commit/001d6ee83d) [AAE-17859] Convert manual C309872 to unit test (#9077)
|
||||
- [606abdb4fd](https://github.com/Alfresco/alfresco-ng2-components/commit/606abdb4fd) [AAE-17103] Handle icon type (#9012)
|
||||
- [4af945123b](https://github.com/Alfresco/alfresco-ng2-components/commit/4af945123b) Revert "[ACS-5311] Notification History Bug Fix (#9011)" (#9096)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
Title: Changelog for alfresco-ng2-components v6.7.0
|
||||
---
|
||||
|
||||
# Changelog
|
||||
|
||||
- [bd9a9bb90](https://github.com/Alfresco/alfresco-ng2-components/commit/bd9a9bb90) [AAE-19610] Fix duplicated buttons for date-time filter widget (#9382)
|
||||
- [672f70ac4](https://github.com/Alfresco/alfresco-ng2-components/commit/672f70ac4) AAE-20791 fix task from spinner misaligned to the left (#9381)
|
||||
- [f7dcab7ad](https://github.com/Alfresco/alfresco-ng2-components/commit/f7dcab7ad) [ACS-6831] Property panel refactoring (#9372)
|
||||
- [71ef7b940](https://github.com/Alfresco/alfresco-ng2-components/commit/71ef7b940) AAE-20791 fixed task form spinner alignment (#9369)
|
||||
- [7e68ed9ce](https://github.com/Alfresco/alfresco-ng2-components/commit/7e68ed9ce) [ACS-6817] Size and Modified by is not displayed after editing file/folder properties (#9367)
|
||||
- [e20f8536c](https://github.com/Alfresco/alfresco-ng2-components/commit/e20f8536c) [MNT-22836] -Docs for Support of PKCE (#9368)
|
||||
- [86710eb58](https://github.com/Alfresco/alfresco-ng2-components/commit/86710eb58) AAE-14726 add missing style file link (#9359)
|
||||
- [b5b3ff667](https://github.com/Alfresco/alfresco-ng2-components/commit/b5b3ff667) [ACS-6812] Add new chip only when input value is valid (#9358)
|
||||
- [37d96e450](https://github.com/Alfresco/alfresco-ng2-components/commit/37d96e450) AAE-19565 add a new custom UI in simpleapp to test GitHub action HylandSoftware/hx-studio-customui-action (#9347)
|
||||
- [d7fa4143b](https://github.com/Alfresco/alfresco-ng2-components/commit/d7fa4143b) [ACS-5994] perform node deletion in order (#9357)
|
||||
- [34a399e39](https://github.com/Alfresco/alfresco-ng2-components/commit/34a399e39) [ACS-6565] ADW - Document List View Header - UX Bugs - icon fix (#9349)
|
||||
- [4c75a6748](https://github.com/Alfresco/alfresco-ng2-components/commit/4c75a6748) Linting fixes (#9348)
|
||||
- [9b0104fcf](https://github.com/Alfresco/alfresco-ng2-components/commit/9b0104fcf) (#9307) Fix filterExcludedPreset of adf-content-metadata-card configuration to include all excluded properties (#9309)
|
||||
- [1331a6d7c](https://github.com/Alfresco/alfresco-ng2-components/commit/1331a6d7c) AAE-20420 Update package.json for editor.js (#9344)
|
||||
- [05d23bc8a](https://github.com/Alfresco/alfresco-ng2-components/commit/05d23bc8a) AAE-20140 Removing material locators from unit tests part 1 (#9345)
|
||||
- [40d64d299](https://github.com/Alfresco/alfresco-ng2-components/commit/40d64d299) [HXCS-2818] - fix issues with ERROR RangeError: Invalid time value (#9340)
|
||||
- [a8d547c7b](https://github.com/Alfresco/alfresco-ng2-components/commit/a8d547c7b) [ACS-6722] aca custom aspect property of d date type breaks application (#9331)
|
||||
- [8d5f3c988](https://github.com/Alfresco/alfresco-ng2-components/commit/8d5f3c988) [ACS-6805] getNodeContent allows adding additional options (#9343)
|
||||
- [1d3a7b157](https://github.com/Alfresco/alfresco-ng2-components/commit/1d3a7b157) [ACS-6804] Fix upload API file placement when relative path is undefined (#9342)
|
||||
- [6468298bb](https://github.com/Alfresco/alfresco-ng2-components/commit/6468298bb) AAE-20420 - Use latest editorjs and fix storybook (#9336)
|
||||
- [16005ef29](https://github.com/Alfresco/alfresco-ng2-components/commit/16005ef29) Create a new widget for decimal type (#9335)
|
||||
- [300d46dc7](https://github.com/Alfresco/alfresco-ng2-components/commit/300d46dc7) [MNT-24151] - ADW: Users can see some actions Edit Offline" and "Upload New Version" for the declared record - fix (#9339)
|
||||
- [213a73fc3](https://github.com/Alfresco/alfresco-ng2-components/commit/213a73fc3) [ACS-5483] group details view general info and list of assigned users (#9329)
|
||||
- [8363d09e7](https://github.com/Alfresco/alfresco-ng2-components/commit/8363d09e7) [ACS-6585] - [ACC] Removing a to be created tag, while the create tag input field has a 'Tag already exists' error, removes the error (#9338)
|
||||
- [31073805e](https://github.com/Alfresco/alfresco-ng2-components/commit/31073805e) [AAE-19913] Add data table process to simpleapp (#9337)
|
||||
- [1b3b419f7](https://github.com/Alfresco/alfresco-ng2-components/commit/1b3b419f7) AAE-20282 fix submit button enabled when required people/groups widget empty (#9334)
|
||||
- [2175b4bda](https://github.com/Alfresco/alfresco-ng2-components/commit/2175b4bda) [AAE-20428] - Admin application - header is missing name of the app and user menu (#9333)
|
||||
- [378b12599](https://github.com/Alfresco/alfresco-ng2-components/commit/378b12599) [ACS-6140] - search-tab-content does not show when changing tab multiple times (#9332)
|
||||
- [8df2113ce](https://github.com/Alfresco/alfresco-ng2-components/commit/8df2113ce) [AAE-20250] fixed label overlapping input for readonly cardview textitem (#9312)
|
||||
- [58f4be437](https://github.com/Alfresco/alfresco-ng2-components/commit/58f4be437) [AAE-18758] Consistency with deploy payload in be uats (#9330)
|
||||
- [c1d933ee9](https://github.com/Alfresco/alfresco-ng2-components/commit/c1d933ee9) [ACS-6643] remove constant max-width value (#9310)
|
||||
- [01b6bc641](https://github.com/Alfresco/alfresco-ng2-components/commit/01b6bc641) [ACS-5704][Community request] ObjectDataTableAdapter sorting (#9272)
|
||||
- [cddbcc070](https://github.com/Alfresco/alfresco-ng2-components/commit/cddbcc070) Updated links in release notes doc to be browsable via Web (#9316)
|
||||
- [6d93d011c](https://github.com/Alfresco/alfresco-ng2-components/commit/6d93d011c) [ACS-6140] - Remove references to internal Angular Material CSS classes (#9271)
|
||||
- [9343fe65a](https://github.com/Alfresco/alfresco-ng2-components/commit/9343fe65a) [AAE-19968] Field visibility condition using Integer and greater than not working (#9305)
|
||||
- [a893fafa0](https://github.com/Alfresco/alfresco-ng2-components/commit/a893fafa0) [AAE-19762] Add nonceStateSeparator to authConfig (#9311)
|
||||
- [7238df106](https://github.com/Alfresco/alfresco-ng2-components/commit/7238df106) [MNT-24151] - ADW: Users can see some actions Edit Offline" and "Upload New Version" for the declared record (#9295)
|
||||
- [186dab3a4](https://github.com/Alfresco/alfresco-ng2-components/commit/186dab3a4) Add concurrency on release (#9306)
|
||||
- [efd8e8d0e](https://github.com/Alfresco/alfresco-ng2-components/commit/efd8e8d0e) [HXCS-2818] CardViewDateItem component ignore timezone when displaying dates (#9304)
|
||||
- [47d1165d5](https://github.com/Alfresco/alfresco-ng2-components/commit/47d1165d5) [AAE-19928] Add storage prefix factory (#9303)
|
||||
- [311be13f9](https://github.com/Alfresco/alfresco-ng2-components/commit/311be13f9) [AAE-20016] ADF CVE-2024-21626 - update to GHA to use ubuntu-latest (#9297)
|
||||
- [81c17da09](https://github.com/Alfresco/alfresco-ng2-components/commit/81c17da09) [ACS-6565] ADW - Document List View Header - UX Bugs (#9269)
|
||||
- [cb7f4ffda](https://github.com/Alfresco/alfresco-ng2-components/commit/cb7f4ffda) [AAE-13305] remove unused authpath (#9294)
|
||||
- [9e05baf4a](https://github.com/Alfresco/alfresco-ng2-components/commit/9e05baf4a) [AAE-17971] removed unused dep (#9292)
|
||||
- [a54b2bd45](https://github.com/Alfresco/alfresco-ng2-components/commit/a54b2bd45) [AAE-15294] add missing token class to cloud group component (#9293)
|
||||
- [3aaf8f1fe](https://github.com/Alfresco/alfresco-ng2-components/commit/3aaf8f1fe) [AAE-15206] add missing label to task assignment filter (#9291)
|
||||
- [2e4afa07f](https://github.com/Alfresco/alfresco-ng2-components/commit/2e4afa07f) [HXCS-2988] fix dates in CardViweDateItemComponent (#9276)
|
||||
- [9473f7681](https://github.com/Alfresco/alfresco-ng2-components/commit/9473f7681) [AAE-15298] added tokens to HeaderLayout (#9074)
|
||||
- [3b2da7861](https://github.com/Alfresco/alfresco-ng2-components/commit/3b2da7861) [APPS-2230] fix documentation tools builds (#9277)
|
||||
- [2c627f116](https://github.com/Alfresco/alfresco-ng2-components/commit/2c627f116) [ACS-6620] Proper viewer extension template projection to viewer renderer (#9273)
|
||||
- [5ec822850](https://github.com/Alfresco/alfresco-ng2-components/commit/5ec822850) [ACS-6659] cleanup unused docs utils (#9274)
|
||||
- [69f24a17f](https://github.com/Alfresco/alfresco-ng2-components/commit/69f24a17f) AAE-19600 Inconsistency between UI model name and name stored in json file (#9252)
|
||||
- [d61c20cf1](https://github.com/Alfresco/alfresco-ng2-components/commit/d61c20cf1) ACS-5975 change getting tasks in tasklist component and service (#8987)
|
||||
- [a7e793450](https://github.com/Alfresco/alfresco-ng2-components/commit/a7e793450) [ACA-4729] Add infinite scroll to version list (#9248)
|
||||
- [2c0ad7137](https://github.com/Alfresco/alfresco-ng2-components/commit/2c0ad7137) [ACS-6489] Add resizable option for column data model (#9220)
|
||||
- [62bc8423a](https://github.com/Alfresco/alfresco-ng2-components/commit/62bc8423a) [AAE-19542] Fix infinite loop when code flow is enabled (#9193)
|
||||
@@ -12,6 +12,7 @@ backend services have been tested with each released version of ADF.
|
||||
|
||||
## Versions
|
||||
|
||||
- [v6.7.0](#v670)
|
||||
- [v6.4.0](#v640)
|
||||
- [v6.2.0](#v620)
|
||||
- [v6.1.0](#v610)
|
||||
@@ -44,6 +45,17 @@ backend services have been tested with each released version of ADF.
|
||||
- [v2.1.0](#v210)
|
||||
- [v2.0.0](#v200)
|
||||
|
||||
## v6.7.0
|
||||
|
||||
<!--670 start-->
|
||||
|
||||
- [Dynamic Chip List component](core/components/dynamic-chip-list.component.md)
|
||||
- [Unsaved Changes Dialog component](core/dialogs/unsaved-changes-dialog.component.md)
|
||||
- [Unsaved Changes guard](core/services/unsaved-changes.guard.md)
|
||||
- [Group Service](content-services/services/group.service.md)
|
||||
|
||||
<!--670 end-->
|
||||
|
||||
## v6.4.0
|
||||
|
||||
<!--v640 start-->
|
||||
|
||||
@@ -42,3 +42,4 @@ The pages linked below contain the audit for all third party dependencies of ADF
|
||||
- [ADF 6.5.1](audit-info-6.5.1.md)
|
||||
- [ADF 6.5.2](audit-info-6.5.2.md)
|
||||
- [ADF 6.6.0](audit-info-6.6.0.md)
|
||||
- [ADF 6.7.0](audit-info-6.7.0.md)
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
Title: Audit info, alfresco-ng2-components 6.7.0
|
||||
---
|
||||
|
||||
# Audit information for alfresco-ng2-components 6.7.0
|
||||
|
||||
This page lists the security audit of the dependencies this project depends on.
|
||||
|
||||
## Risks
|
||||
|
||||
- Critical risk: 0
|
||||
- High risk: 2
|
||||
- Moderate risk: 1
|
||||
- Low risk: 0
|
||||
|
||||
Dependencies analyzed:
|
||||
|
||||
## Libraries
|
||||
|
||||
| Severity | Module | Vulnerable versions |
|
||||
| --- | --- | --- |
|
||||
|high | angular-oauth2-oidc-jwks | "*" |
|
||||
|high | jsrsasign | "<11.0.0" |
|
||||
|moderate | semver | "7.0.0 - 7.5.1" |
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Generated
+29
-9
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "@alfresco/adf-cli",
|
||||
"version": "6.6.0",
|
||||
"version": "6.7.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@alfresco/adf-cli",
|
||||
"version": "6.6.0",
|
||||
"version": "6.7.0",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@alfresco/js-api": ">=7.2.0",
|
||||
"@alfresco/js-api": ">=7.5.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.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-7.2.0.tgz",
|
||||
"integrity": "sha512-/Tr88IO1s1cV8RC6X9EZ2jixPJ5IQQZWR6heN406l0/eqHxroXUGShRfNZxNLZBkMn0b3uiqnAxjNo2HmB+xug==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-7.5.0.tgz",
|
||||
"integrity": "sha512-zDjqeEF5zX8DfnSAjM/e+uOf0PdVb67vDWF0Zv/lWjxtezerRdLW/P6BHjxqTscE1VAeGUdALzX5R7e+RZcHDw==",
|
||||
"dependencies": {
|
||||
"event-emitter": "^0.3.5",
|
||||
"superagent": "^8.0.9",
|
||||
@@ -267,13 +267,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/es5-ext": {
|
||||
"version": "0.10.62",
|
||||
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
|
||||
"integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
|
||||
"version": "0.10.63",
|
||||
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.63.tgz",
|
||||
"integrity": "sha512-hUCZd2Byj/mNKjfP9jXrdVZ62B8KuA/VoK7X8nUh5qT+AxDmcbvZz041oDVZdbIN1qW6XY9VDNwzkvKnZvK2TQ==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"es6-iterator": "^2.0.3",
|
||||
"es6-symbol": "^3.1.3",
|
||||
"esniff": "^2.0.1",
|
||||
"next-tick": "^1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -307,6 +308,25 @@
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/esniff": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
|
||||
"integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
|
||||
"dependencies": {
|
||||
"d": "^1.0.1",
|
||||
"es5-ext": "^0.10.62",
|
||||
"event-emitter": "^0.3.5",
|
||||
"type": "^2.7.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/esniff/node_modules/type": {
|
||||
"version": "2.7.2",
|
||||
"resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
|
||||
"integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
|
||||
},
|
||||
"node_modules/event-emitter": {
|
||||
"version": "0.3.5",
|
||||
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@alfresco/adf-cli",
|
||||
"description": "Alfresco ADF cli and utils",
|
||||
"version": "6.6.0",
|
||||
"version": "6.7.0",
|
||||
"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": ">=7.5.0",
|
||||
"@alfresco/js-api": ">=7.6.0",
|
||||
"commander": "^6.2.1",
|
||||
"ejs": "^3.1.9",
|
||||
"license-checker": "^25.0.1",
|
||||
|
||||
@@ -214,7 +214,7 @@ export const ACTIVITI_CLOUD_APPS: any = {
|
||||
},
|
||||
security: [
|
||||
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['processadminuser'] },
|
||||
{ role: 'ACTIVITI_USER', groups: [], users: ['hruser', 'salesuser', 'testadmin', 'testuser'] }
|
||||
{ role: 'ACTIVITI_USER', groups: ['sales', 'testgroup'], users: ['hruser', 'salesuser', 'testadmin', 'testuser'] }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@alfresco/adf-content-services",
|
||||
"description": "Alfresco ADF content services",
|
||||
"version": "6.6.0",
|
||||
"version": "6.7.0",
|
||||
"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": ">=7.5.0",
|
||||
"@alfresco/js-api": ">=7.6.0",
|
||||
"@ngx-translate/core": ">=14.0.0",
|
||||
"@alfresco/adf-core": ">=6.6.0"
|
||||
"@alfresco/adf-core": ">=6.7.0"
|
||||
},
|
||||
"keywords": [
|
||||
"content-services",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</adf-aspect-list>
|
||||
</mat-dialog-content>
|
||||
|
||||
<mat-dialog-actions>
|
||||
<mat-dialog-actions class="adf-aspect-list-dialog">
|
||||
<div>
|
||||
<button mat-button (click)="aspectList.reset()" id="aspect-list-dialog-actions-reset"
|
||||
data-automation-id="aspect-list-dialog-actions-reset">{{
|
||||
|
||||
@@ -19,21 +19,25 @@
|
||||
}
|
||||
|
||||
&-aspect-list-dialog {
|
||||
.mat-dialog-actions {
|
||||
justify-content: space-between;
|
||||
}
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
&-aspect-dialog-content {
|
||||
padding-top: 3px;
|
||||
|
||||
.adf-aspect-property-table {
|
||||
.mat-cell {
|
||||
.adf-aspect-property-table-cell {
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.mat-column-name {
|
||||
width: 30%;
|
||||
.adf-aspect-property-table-column {
|
||||
&-name {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
&-title {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
<div id="aspect-list-container" class="adf-aspect-list-container" *ngIf="aspects$ | async as aspects; else loading">
|
||||
<mat-accordion class="adf-accordion-aspect-list">
|
||||
<mat-expansion-panel *ngFor="let aspect of aspects; let colIndex = index" [id]="'aspect-list-'+getId(aspect)">
|
||||
<mat-expansion-panel-header [id]="'aspect-list-'+(getId(aspect))+'header'">
|
||||
<mat-panel-title>
|
||||
<mat-expansion-panel *ngFor="let aspect of aspects; let colIndex = index"
|
||||
[id]="'aspect-list-'+getId(aspect)"
|
||||
class="adf-accordion-aspect-list-expansion-panel">
|
||||
<mat-expansion-panel-header class='adf-accordion-aspect-list-expansion-panel-header'
|
||||
[id]="'aspect-list-'+(getId(aspect))+'header'">
|
||||
<mat-panel-title class="adf-accordion-aspect-list-expansion-panel-header-title">
|
||||
<mat-checkbox class="adf-aspect-list-check-button" [id]="'aspect-list-'+colIndex+'-check'"
|
||||
[checked]="nodeAspects?.includes(aspect?.entry?.id)"
|
||||
(click)="onCheckBoxClick($event)"
|
||||
@@ -10,8 +13,10 @@
|
||||
<p class="adf-aspect-list-element-title">{{getTitle(aspect)}}</p>
|
||||
</mat-checkbox>
|
||||
</mat-panel-title>
|
||||
<mat-panel-description [id]="'aspect-list-'+colIndex+'-title'"
|
||||
[matTooltip]="getTitle(aspect)">
|
||||
<mat-panel-description
|
||||
class="adf-accordion-aspect-list-expansion-panel-header-description"
|
||||
[id]="'aspect-list-'+colIndex+'-title'"
|
||||
[matTooltip]="getTitle(aspect)">
|
||||
{{getTitle(aspect)}}
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
@@ -19,16 +24,16 @@
|
||||
|
||||
<table mat-table [dataSource]="aspect?.entry?.properties" *ngIf="aspect?.entry?.properties?.length > 0" class="adf-aspect-property-table" [id]="'aspect-list-'+colIndex+'-properties-table'">
|
||||
<ng-container matColumnDef="name">
|
||||
<th mat-header-cell *matHeaderCellDef> {{'ADF-ASPECT-LIST.PROPERTY_NAME' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let property"> {{property.id}} </td>
|
||||
<th class="adf-aspect-property-table-column-name" mat-header-cell *matHeaderCellDef> {{'ADF-ASPECT-LIST.PROPERTY_NAME' | translate}} </th>
|
||||
<td class="adf-aspect-property-table-column-name adf-aspect-property-table-cell" mat-cell *matCellDef="let property"> {{property.id}} </td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="title">
|
||||
<th mat-header-cell *matHeaderCellDef> {{'ADF-ASPECT-LIST.DESCRIPTION' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let property"> {{property.title}} </td>
|
||||
<th class="adf-aspect-property-table-column-title" mat-header-cell *matHeaderCellDef> {{'ADF-ASPECT-LIST.DESCRIPTION' | translate}} </th>
|
||||
<td class="adf-aspect-property-table-column-title adf-aspect-property-table-cell" mat-cell *matCellDef="let property"> {{property.title}} </td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="dataType">
|
||||
<th mat-header-cell *matHeaderCellDef> {{'ADF-ASPECT-LIST.DATA_TYPE' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let property"> {{property.dataType}} </td>
|
||||
<th class="adf-aspect-property-table-column-data-type" mat-header-cell *matHeaderCellDef> {{'ADF-ASPECT-LIST.DATA_TYPE' | translate}} </th>
|
||||
<td class="adf-aspect-property-table-column-data-type adf-aspect-property-table-cell" mat-cell *matCellDef="let property"> {{property.dataType}} </td>
|
||||
</ng-container>
|
||||
<tr mat-header-row *matHeaderRowDef="propertyColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: propertyColumns;"></tr>
|
||||
|
||||
@@ -23,20 +23,18 @@
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.adf-accordion-aspect-list {
|
||||
.mat-expansion-panel-spacing {
|
||||
margin: 0;
|
||||
}
|
||||
.adf-accordion-aspect-list-expansion-panel {
|
||||
margin: 0;
|
||||
|
||||
.mat-expansion-panel-header {
|
||||
&-header {
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.mat-expansion-panel-header-title {
|
||||
&-header-title {
|
||||
flex: 1 1 0;
|
||||
}
|
||||
|
||||
.mat-expansion-panel-header-description {
|
||||
&-header-description {
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
flex: 1 1 0;
|
||||
@@ -50,17 +48,19 @@
|
||||
&-aspect-property-table {
|
||||
width: 100%;
|
||||
|
||||
.mat-column-name {
|
||||
width: 15%;
|
||||
}
|
||||
.adf-aspect-property-table-column {
|
||||
&-name {
|
||||
width: 15%;
|
||||
}
|
||||
|
||||
.mat-column-description {
|
||||
width: 65%;
|
||||
}
|
||||
&-title {
|
||||
width: 65%;
|
||||
}
|
||||
|
||||
.mat-column-type {
|
||||
width: 20%;
|
||||
padding-left: 10px;
|
||||
&-data-type {
|
||||
width: 20%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,10 +23,6 @@
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
margin-top: 35px;
|
||||
|
||||
&.mat-select {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&-trigger {
|
||||
@@ -100,18 +96,6 @@
|
||||
font-size: var(--theme-adf-icon-1-font-size);
|
||||
}
|
||||
|
||||
&.mat-primary {
|
||||
color: var(--theme-primary-color);
|
||||
}
|
||||
|
||||
&.mat-accent {
|
||||
color: var(--theme-accent-color);
|
||||
}
|
||||
|
||||
&.mat-warn {
|
||||
color: var(--theme-warn-color);
|
||||
}
|
||||
|
||||
&-anchor {
|
||||
box-sizing: border-box;
|
||||
color: inherit;
|
||||
@@ -122,7 +106,7 @@
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
flex: 0 1 auto;
|
||||
padding: 0 2px;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
|
||||
&:focus {
|
||||
|
||||
@@ -9,15 +9,16 @@
|
||||
(click)="open()"
|
||||
[attr.aria-label]="'BREADCRUMB.ARIA-LABEL.DROPDOWN' | translate"
|
||||
data-automation-id="dropdown-breadcrumb-trigger">
|
||||
<mat-icon [class.adf-isRoot]="!hasPreviousNodes()">folder</mat-icon>
|
||||
<mat-icon class="adf-dropdown-breadcrumb-icon" [class.adf-isRoot]="!hasPreviousNodes()">folder</mat-icon>
|
||||
</button>
|
||||
|
||||
<mat-icon class="adf-dropdown-breadcrumb-item-chevron">chevron_right</mat-icon>
|
||||
<mat-icon class="adf-dropdown-breadcrumb-icon adf-dropdown-breadcrumb-item-chevron">chevron_right</mat-icon>
|
||||
|
||||
<div class="adf-dropdown-breadcrumb-path">
|
||||
<mat-select
|
||||
#dropdown
|
||||
*ngIf="hasPreviousNodes()"
|
||||
class="adf-dropdown-breadcrumb-path-select"
|
||||
tabindex="-1"
|
||||
data-automation-id="dropdown-breadcrumb-path"
|
||||
aria-labelledby="dropdown-breadcrumb-button">
|
||||
@@ -26,7 +27,7 @@
|
||||
*ngFor="let node of previousNodes;"
|
||||
(click)="onRoutePathClick(node, $event)"
|
||||
(onSelectionChange)="onRouteClick(node)"
|
||||
class="adf-dropdown-breadcrumb-path-option"
|
||||
class="adf-dropdown-breadcrumb-path-option adf-dropdown-breadcrumb-path-option-node"
|
||||
data-automation-class="dropdown-breadcrumb-path-option"
|
||||
[disabled]="readOnly">
|
||||
{{ node.name | translate }}
|
||||
|
||||
@@ -12,7 +12,7 @@ $dropdown-horizontal-offset: 30px;
|
||||
overflow: hidden;
|
||||
margin-top: 10px;
|
||||
|
||||
.mat-icon {
|
||||
&-icon {
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ $dropdown-horizontal-offset: 30px;
|
||||
overflow: hidden;
|
||||
margin-top: 35px;
|
||||
|
||||
&.mat-select {
|
||||
&-select {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
@@ -63,18 +63,18 @@ $dropdown-horizontal-offset: 30px;
|
||||
color: var(--adf-theme-foreground-text-color);
|
||||
}
|
||||
|
||||
&-dropdown-breadcrumb-path-option.mat-option {
|
||||
&-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node {
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
padding: 0 12px;
|
||||
font-size: var(--theme-caption-font-size);
|
||||
}
|
||||
|
||||
&-dropdown-breadcrumb-path-option.mat-option:first-child {
|
||||
&-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:first-child {
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
&-dropdown-breadcrumb-path-option.mat-option:last-child {
|
||||
&-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:last-child {
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
+7
-6
@@ -43,24 +43,25 @@
|
||||
<p class="adf-existing-categories-label">
|
||||
{{ existingCategoriesMsg | translate }}
|
||||
</p>
|
||||
<mat-selection-list
|
||||
<mat-list
|
||||
[disabled]="isCRUDMode"
|
||||
(selectionChange)="addCategoryToAssign($event)">
|
||||
<mat-list-option
|
||||
class="adf-categories-management-list">
|
||||
<mat-list-item
|
||||
*ngFor="let category of existingCategories"
|
||||
class="adf-category"
|
||||
[value]="category">
|
||||
(click)='addCategoryToAssign(category)'>
|
||||
{{ category.name }}
|
||||
</mat-list-option>
|
||||
</mat-list-item>
|
||||
<p *ngIf="!existingCategories?.length && !existingCategoriesLoading"
|
||||
data-automation-id="no-categories-message">
|
||||
{{ 'CATEGORIES_MANAGEMENT.NO_EXISTING_CATEGORIES' | translate }}
|
||||
</p>
|
||||
</mat-selection-list>
|
||||
</mat-list>
|
||||
</ng-container>
|
||||
<mat-spinner
|
||||
*ngIf="existingCategoriesLoading"
|
||||
[diameter]="50"
|
||||
class="adf-categories-management-spinner"
|
||||
[attr.aria-label]="'CATEGORIES_MANAGEMENT.LOADING' | translate">
|
||||
</mat-spinner>
|
||||
</div>
|
||||
|
||||
+6
-12
@@ -37,26 +37,20 @@
|
||||
}
|
||||
|
||||
.adf-categories-list {
|
||||
.mat-list-base .mat-list-item,
|
||||
.mat-list-base .mat-list-option {
|
||||
.adf-categories-management-list .adf-category {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
overflow-wrap: anywhere;
|
||||
padding: 5px 0;
|
||||
font-size: 14px;
|
||||
|
||||
&.mat-list-item-disabled {
|
||||
background-color: inherit;
|
||||
color: inherit;
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
background: var(--adf-theme-mat-grey-color-a200);
|
||||
}
|
||||
|
||||
.mat-list-item-content,
|
||||
.mat-list-item-content-reverse {
|
||||
& span {
|
||||
padding: 0;
|
||||
|
||||
.mat-pseudo-checkbox {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +60,7 @@
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
mat-spinner {
|
||||
.adf-categories-management-spinner {
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-9
@@ -19,7 +19,7 @@ import { Category, CategoryPaging, ResultNode, ResultSetPaging } from '@alfresco
|
||||
import { ComponentFixture, discardPeriodicTasks, fakeAsync, flush, TestBed, tick } from '@angular/core/testing';
|
||||
import { Validators } from '@angular/forms';
|
||||
import { MatError } from '@angular/material/form-field';
|
||||
import { MatListOption, MatSelectionList } from '@angular/material/list';
|
||||
import { MatList } from '@angular/material/list';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { of, Subject } from 'rxjs';
|
||||
@@ -91,8 +91,8 @@ describe('CategoriesManagementComponent', () => {
|
||||
*
|
||||
* @returns list of material option element
|
||||
*/
|
||||
function getExistingCategoriesList(): MatListOption[] {
|
||||
return fixture.debugElement.queryAll(By.directive(MatListOption))?.map((debugElem) => debugElem.componentInstance);
|
||||
function getExistingCategoriesList(): HTMLElement[] {
|
||||
return fixture.debugElement.queryAll(By.css('.adf-category'))?.map((debugElem) => debugElem.nativeElement);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -129,8 +129,8 @@ describe('CategoriesManagementComponent', () => {
|
||||
*
|
||||
* @returns material selection list
|
||||
*/
|
||||
function getSelectionList(): MatSelectionList {
|
||||
return fixture.debugElement.query(By.directive(MatSelectionList)).componentInstance;
|
||||
function getSelectionList(): MatList {
|
||||
return fixture.debugElement.query(By.directive(MatList)).componentInstance;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +159,7 @@ describe('CategoriesManagementComponent', () => {
|
||||
* @returns native element
|
||||
*/
|
||||
function getCreateCategoryLabel(): HTMLSpanElement {
|
||||
return fixture.debugElement.query(By.css('.adf-existing-categories-panel span'))?.nativeElement;
|
||||
return fixture.debugElement.query(By.css('.adf-create-category-label'))?.nativeElement;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -323,7 +323,7 @@ describe('CategoriesManagementComponent', () => {
|
||||
|
||||
it('should not display create category label', fakeAsync(() => {
|
||||
typeCategory('test');
|
||||
|
||||
fixture.detectChanges();
|
||||
expect(getCreateCategoryLabel()).toBeUndefined();
|
||||
}));
|
||||
|
||||
@@ -338,7 +338,7 @@ describe('CategoriesManagementComponent', () => {
|
||||
typeCategory('test');
|
||||
const options = getExistingCategoriesList();
|
||||
// eslint-disable-next-line no-underscore-dangle
|
||||
options[0]._handleClick();
|
||||
options[0].click();
|
||||
|
||||
expect(component.categories.length).toBe(3);
|
||||
expect(component.categories[2].name).toBe('testCat');
|
||||
@@ -352,7 +352,7 @@ describe('CategoriesManagementComponent', () => {
|
||||
typeCategory('test');
|
||||
const options = getExistingCategoriesList();
|
||||
// eslint-disable-next-line no-underscore-dangle
|
||||
options[0]._handleClick();
|
||||
options[0].click();
|
||||
fixture.detectChanges();
|
||||
|
||||
const categoriesChangeSpy = spyOn(component.categoriesChange, 'emit').and.callThrough();
|
||||
|
||||
+3
-4
@@ -18,7 +18,6 @@
|
||||
import { Category } from '@alfresco/js-api';
|
||||
import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import { FormControl, Validators } from '@angular/forms';
|
||||
import { MatSelectionListChange } from '@angular/material/list';
|
||||
import { EMPTY, Observable, Subject, timer } from 'rxjs';
|
||||
import { debounce, first, map, takeUntil, tap } from 'rxjs/operators';
|
||||
import { CategoriesManagementMode } from './categories-management-mode';
|
||||
@@ -229,10 +228,10 @@ export class CategoriesManagementComponent implements OnInit, OnDestroy {
|
||||
/**
|
||||
* Adds existing category to categories list and removes it from existing categories list.
|
||||
*
|
||||
* @param change - selection list change containing selected category
|
||||
* @param category - selection list change containing selected category
|
||||
*/
|
||||
addCategoryToAssign(change: MatSelectionListChange) {
|
||||
const selectedCategory: Category = change.options[0].value;
|
||||
addCategoryToAssign(category: Category) {
|
||||
const selectedCategory: Category = category;
|
||||
this.categories.push(selectedCategory);
|
||||
this._existingCategories.splice(this._existingCategories.indexOf(selectedCategory), 1);
|
||||
this.categoryNameControl.updateValueAndValidity();
|
||||
|
||||
@@ -133,23 +133,25 @@ describe('ContentService', () => {
|
||||
describe('Node Icons', () => {
|
||||
let node: Node;
|
||||
|
||||
node = {
|
||||
isFolder: true,
|
||||
isFile: false,
|
||||
createdByUser: { id: 'admin', displayName: 'Administrator' },
|
||||
modifiedAt: new Date('2017-05-24T15:08:55.640Z'),
|
||||
nodeType: 'cm:content',
|
||||
content: {
|
||||
mimeType: 'application/rtf',
|
||||
mimeTypeName: 'Rich Text Format',
|
||||
sizeInBytes: 14530
|
||||
},
|
||||
createdAt: new Date('2017-05-24T15:08:55.640Z'),
|
||||
modifiedByUser: { id: 'admin', displayName: 'Administrator' },
|
||||
name: 'b_txt_file.rtf',
|
||||
id: 'test node 1',
|
||||
aspectNames: ['']
|
||||
} as Node;
|
||||
beforeEach(() => {
|
||||
node = {
|
||||
isFolder: true,
|
||||
isFile: false,
|
||||
createdByUser: { id: 'admin', displayName: 'Administrator' },
|
||||
modifiedAt: new Date('2017-05-24T15:08:55.640Z'),
|
||||
nodeType: 'cm:content',
|
||||
content: {
|
||||
mimeType: 'application/rtf',
|
||||
mimeTypeName: 'Rich Text Format',
|
||||
sizeInBytes: 14530
|
||||
},
|
||||
createdAt: new Date('2017-05-24T15:08:55.640Z'),
|
||||
modifiedByUser: { id: 'admin', displayName: 'Administrator' },
|
||||
name: 'b_txt_file.rtf',
|
||||
id: 'test node 1',
|
||||
aspectNames: ['']
|
||||
} as Node;
|
||||
});
|
||||
|
||||
it('should resolve folder icon', () => {
|
||||
expect(contentService.getNodeIcon(node)).toContain('assets/images/ft_ic_folder.svg');
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
<mat-card *ngIf="node">
|
||||
<mat-card-content>
|
||||
<mat-card *ngIf="node" class="adf-content-metadata-card-view">
|
||||
<mat-card-content class="adf-content-metadata-card-view-content">
|
||||
<adf-content-metadata
|
||||
[displayDefaultProperties]="displayDefaultProperties"
|
||||
[expanded]="expanded"
|
||||
@@ -14,7 +14,7 @@
|
||||
[customPanels]="customPanels">
|
||||
</adf-content-metadata>
|
||||
</mat-card-content>
|
||||
<mat-card-footer class="adf-content-metadata-card-footer">
|
||||
<mat-card-footer class="adf-content-metadata-card-footer adf-content-metadata-card-view-footer">
|
||||
<div>
|
||||
<button *ngIf="isEditAspectSupported()"
|
||||
mat-icon-button
|
||||
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
.adf-content-metadata-card {
|
||||
.mat-card {
|
||||
.adf-content-metadata-card-view {
|
||||
padding: 0;
|
||||
|
||||
.mat-card-content {
|
||||
.adf-content-metadata-card-view-content {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&-footer.mat-card-footer {
|
||||
&-footer.adf-content-metadata-card-view-footer {
|
||||
margin: 0;
|
||||
padding: 8px 12px;
|
||||
border-top: 1px solid var(--adf-theme-foreground-text-color-007);
|
||||
|
||||
+5
-2
@@ -31,10 +31,13 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
adf-content-metadata-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adf-metadata-properties-title {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: 700;
|
||||
font-size: 15px;
|
||||
padding-left: 12px;
|
||||
@@ -44,7 +47,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
template: `
|
||||
<ng-container>
|
||||
<mat-icon>{{ expanded ? 'expand_more' : 'chevron_right' }}</mat-icon>
|
||||
<mat-panel-title *ngIf="title" class="adf-metadata-properties-title">{{ title | translate }}</mat-panel-title>
|
||||
<mat-panel-title *ngIf="title" class="adf-metadata-properties-title" [title]="title | translate">{{ title | translate }}</mat-panel-title>
|
||||
<ng-content></ng-content>
|
||||
</ng-container>
|
||||
`
|
||||
|
||||
+151
-109
@@ -2,43 +2,53 @@
|
||||
<mat-expansion-panel
|
||||
*ngIf="displayDefaultProperties"
|
||||
class="adf-content-metadata-panel"
|
||||
[(expanded)]="isGeneralPanelExpanded"
|
||||
[expanded]="currentPanel.panelTitle === DefaultPanels.PROPERTIES && currentPanel.expanded"
|
||||
(opened)="expandPanel(DefaultPanels.PROPERTIES)"
|
||||
(closed)="closePanel(DefaultPanels.PROPERTIES)"
|
||||
[attr.data-automation-id]="'adf-metadata-group-properties'"
|
||||
hideToggle>
|
||||
<mat-expansion-panel-header>
|
||||
<adf-content-metadata-header [title]="'CORE.METADATA.BASIC.HEADER'" [expanded]="isGeneralPanelExpanded">
|
||||
<button *ngIf="canEditGeneralInfo"
|
||||
mat-icon-button
|
||||
(click)="onToggleGeneralInfoEdit($event)"
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"
|
||||
[attr.aria-label]="'CORE.METADATA.ACCESSIBILITY.EDIT' | translate"
|
||||
data-automation-id="meta-data-general-info-edit"
|
||||
class="adf-edit-icon-buttons">
|
||||
<mat-expansion-panel-header
|
||||
class="adf-metadata-properties-header"
|
||||
[class.adf-metadata-properties-header-expanded]="currentPanel.panelTitle === DefaultPanels.PROPERTIES && currentPanel.expanded">
|
||||
<adf-content-metadata-header
|
||||
[title]="'CORE.METADATA.BASIC.HEADER'"
|
||||
[expanded]="currentPanel.panelTitle === DefaultPanels.PROPERTIES && currentPanel.expanded">
|
||||
<button
|
||||
*ngIf="!readOnly && !isPanelEditing(DefaultPanels.PROPERTIES)"
|
||||
mat-icon-button
|
||||
(click)="toggleGroupEditing(DefaultPanels.PROPERTIES, $event)"
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"
|
||||
[attr.aria-label]="'CORE.METADATA.ACCESSIBILITY.EDIT' | translate"
|
||||
data-automation-id="meta-data-general-info-edit"
|
||||
class="adf-edit-icon-buttons">
|
||||
<mat-icon>mode_edit</mat-icon>
|
||||
</button>
|
||||
<div *ngIf="isEditingGeneralInfo" class="adf-metadata-action-buttons">
|
||||
<button mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.CANCEL' | translate"
|
||||
(click)="onCancelGeneralInfoEdit($event)"
|
||||
data-automation-id="reset-metadata"
|
||||
class="adf-metadata-action-buttons-clear">
|
||||
<div *ngIf="isPanelEditing(DefaultPanels.PROPERTIES)" class="adf-metadata-action-buttons">
|
||||
<button
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.CANCEL' | translate"
|
||||
(click)="cancelGroupEditing(DefaultPanels.PROPERTIES, $event)"
|
||||
data-automation-id="reset-metadata"
|
||||
class="adf-metadata-action-buttons-clear">
|
||||
<mat-icon>clear</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.SAVE' | translate"
|
||||
(click)="onSaveGeneralInfoChanges($event)"
|
||||
color="primary"
|
||||
data-automation-id="save-general-info-metadata"
|
||||
[disabled]="!hasMetadataChanged">
|
||||
<button
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.SAVE' | translate"
|
||||
(click)="saveChanges($event)"
|
||||
color="primary"
|
||||
data-automation-id="save-general-info-metadata"
|
||||
[disabled]="!hasMetadataChanged">
|
||||
<mat-icon>check</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</adf-content-metadata-header>
|
||||
</mat-expansion-panel-header>
|
||||
<adf-card-view
|
||||
class="adf-metadata-properties-expansion-panel"
|
||||
(keydown)="keyDown($event)"
|
||||
[properties]="basicProperties$ | async"
|
||||
[editable]="isEditingModeGeneralInfo"
|
||||
[editable]="!readOnly && isPanelEditing(DefaultPanels.PROPERTIES)"
|
||||
[displayEmpty]="displayEmpty"
|
||||
[copyToClipboardAction]="copyToClipboardAction"
|
||||
[useChipsForMultiValueProperty]="useChipsForMultiValueProperty"
|
||||
@@ -47,47 +57,58 @@
|
||||
</mat-expansion-panel>
|
||||
|
||||
<ng-container *ngIf="displayTags">
|
||||
<mat-expansion-panel hideToggle [(expanded)]="isTagPanelExpanded" class="adf-content-metadata-panel">
|
||||
<mat-expansion-panel-header>
|
||||
<adf-content-metadata-header [title]="'METADATA.BASIC.TAGS'" [expanded]="isTagPanelExpanded">
|
||||
<button *ngIf="canEditTags"
|
||||
mat-icon-button
|
||||
(click)="onToggleTagsEdit($event)"
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"
|
||||
[attr.aria-label]="'CORE.METADATA.ACCESSIBILITY.EDIT' | translate"
|
||||
data-automation-id="showing-tag-input-button"
|
||||
class="adf-edit-icon-buttons">
|
||||
<mat-expansion-panel
|
||||
hideToggle
|
||||
[expanded]="currentPanel.panelTitle === DefaultPanels.TAGS && currentPanel.expanded"
|
||||
(opened)="expandPanel(DefaultPanels.TAGS)"
|
||||
(closed)="closePanel(DefaultPanels.TAGS)"
|
||||
class="adf-content-metadata-panel"
|
||||
data-automation-id="adf-content-metadata-tags-panel">
|
||||
<mat-expansion-panel-header
|
||||
class="adf-metadata-properties-header"
|
||||
[class.adf-metadata-properties-header-expanded]="currentPanel.panelTitle === DefaultPanels.TAGS && currentPanel.expanded">
|
||||
<adf-content-metadata-header [title]="'METADATA.BASIC.TAGS'" [expanded]="currentPanel.panelTitle === DefaultPanels.TAGS && currentPanel.expanded">
|
||||
<button
|
||||
*ngIf="!readOnly && !isPanelEditing(DefaultPanels.TAGS)"
|
||||
mat-icon-button
|
||||
(click)="toggleGroupEditing(DefaultPanels.TAGS, $event)"
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"
|
||||
[attr.aria-label]="'CORE.METADATA.ACCESSIBILITY.EDIT' | translate"
|
||||
data-automation-id="showing-tag-input-button"
|
||||
class="adf-edit-icon-buttons">
|
||||
<mat-icon>mode_edit</mat-icon>
|
||||
</button>
|
||||
<div *ngIf="isEditingTags" class="adf-metadata-action-buttons">
|
||||
<button mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.CANCEL' | translate"
|
||||
(click)="onCancelTagsEdit($event)"
|
||||
data-automation-id="reset-tags-metadata"
|
||||
class="adf-metadata-action-buttons-clear">
|
||||
<div *ngIf="isPanelEditing(DefaultPanels.TAGS)" class="adf-metadata-action-buttons">
|
||||
<button
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.CANCEL' | translate"
|
||||
(click)="cancelGroupEditing(DefaultPanels.TAGS, $event)"
|
||||
data-automation-id="reset-tags-metadata"
|
||||
class="adf-metadata-action-buttons-clear">
|
||||
<mat-icon>clear</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.SAVE' | translate"
|
||||
(click)="onSaveTagsChanges($event)"
|
||||
color="primary"
|
||||
data-automation-id="save-tags-metadata"
|
||||
[disabled]="!hasMetadataChanged">
|
||||
<button
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.SAVE' | translate"
|
||||
(click)="saveChanges($event)"
|
||||
color="primary"
|
||||
data-automation-id="save-tags-metadata"
|
||||
[disabled]="!hasMetadataChanged">
|
||||
<mat-icon>check</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</adf-content-metadata-header>
|
||||
</adf-content-metadata-header>
|
||||
</mat-expansion-panel-header>
|
||||
<div *ngIf="!isEditingModeTags" class="adf-metadata-properties-tags">
|
||||
<div *ngIf="currentPanel.panelTitle === DefaultPanels.TAGS && !editing" class="adf-metadata-properties-tags">
|
||||
<span *ngFor="let tag of tags" class="adf-metadata-properties-tag">{{ tag }}</span>
|
||||
</div>
|
||||
<div *ngIf="showEmptyTagMessage" class="adf-metadata-no-item-added">
|
||||
{{ 'METADATA.BASIC.NO_TAGS_ADDED' | translate }}
|
||||
</div>
|
||||
<adf-tags-creator
|
||||
*ngIf="isEditingModeTags"
|
||||
*ngIf="!readOnly && isPanelEditing(DefaultPanels.TAGS)"
|
||||
class="adf-metadata-properties-tags"
|
||||
[tagNameControlVisible]="tagNameControlVisible"
|
||||
[tagNameControlVisible]="editing"
|
||||
(tagsChange)="storeTagsToAssign($event)"
|
||||
[mode]="tagsCreatorMode"
|
||||
[tags]="assignedTags"
|
||||
@@ -97,47 +118,60 @@
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="displayCategories">
|
||||
<mat-expansion-panel hideToggle [(expanded)]="isCategoriesPanelExpanded" class="adf-content-metadata-panel">
|
||||
<mat-expansion-panel-header>
|
||||
<adf-content-metadata-header [title]="'CATEGORIES_MANAGEMENT.CATEGORIES_TITLE'" [expanded]="isCategoriesPanelExpanded">
|
||||
<button *ngIf="canEditCategories"
|
||||
mat-icon-button
|
||||
(click)="onToggleCategoriesEdit($event)"
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"
|
||||
[attr.aria-label]="'CORE.METADATA.ACCESSIBILITY.EDIT' | translate"
|
||||
data-automation-id="meta-data-categories-edit"
|
||||
class="adf-categories-button adf-edit-icon-buttons">
|
||||
<mat-expansion-panel
|
||||
hideToggle
|
||||
[expanded]="currentPanel.panelTitle === DefaultPanels.CATEGORIES && currentPanel.expanded"
|
||||
(opened)="expandPanel(DefaultPanels.CATEGORIES)"
|
||||
(closed)="closePanel(DefaultPanels.CATEGORIES)"
|
||||
class="adf-content-metadata-panel"
|
||||
data-automation-id="adf-content-metadata-categories-panel">
|
||||
<mat-expansion-panel-header
|
||||
class="adf-metadata-properties-header"
|
||||
[class.adf-metadata-properties-header-expanded]="currentPanel.panelTitle === DefaultPanels.CATEGORIES && currentPanel.expanded">
|
||||
<adf-content-metadata-header
|
||||
[title]="'CATEGORIES_MANAGEMENT.CATEGORIES_TITLE'"
|
||||
[expanded]="currentPanel.panelTitle === DefaultPanels.CATEGORIES && currentPanel.expanded">
|
||||
<button
|
||||
*ngIf="!readOnly && !isPanelEditing(DefaultPanels.CATEGORIES)"
|
||||
mat-icon-button
|
||||
(click)="toggleGroupEditing(DefaultPanels.CATEGORIES, $event)"
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"
|
||||
[attr.aria-label]="'CORE.METADATA.ACCESSIBILITY.EDIT' | translate"
|
||||
data-automation-id="meta-data-categories-edit"
|
||||
class="adf-categories-button adf-edit-icon-buttons">
|
||||
<mat-icon>mode_edit</mat-icon>
|
||||
</button>
|
||||
<div *ngIf="isEditingCategories" class="adf-metadata-action-buttons">
|
||||
<button mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.CANCEL' | translate"
|
||||
(click)="onCancelCategoriesEdit($event)"
|
||||
data-automation-id="reset-metadata"
|
||||
class="adf-metadata-action-buttons-clear">
|
||||
<div *ngIf="isPanelEditing(DefaultPanels.CATEGORIES)" class="adf-metadata-action-buttons">
|
||||
<button
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.CANCEL' | translate"
|
||||
(click)="cancelGroupEditing(DefaultPanels.CATEGORIES, $event)"
|
||||
data-automation-id="reset-metadata"
|
||||
class="adf-metadata-action-buttons-clear">
|
||||
<mat-icon>clear</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.SAVE' | translate"
|
||||
(click)="onSaveCategoriesChanges($event)"
|
||||
color="primary"
|
||||
data-automation-id="save-categories-metadata"
|
||||
[disabled]="!hasMetadataChanged">
|
||||
<button
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.SAVE' | translate"
|
||||
(click)="saveChanges($event)"
|
||||
color="primary"
|
||||
data-automation-id="save-categories-metadata"
|
||||
[disabled]="!hasMetadataChanged">
|
||||
<mat-icon>check</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</adf-content-metadata-header>
|
||||
</mat-expansion-panel-header>
|
||||
<div *ngIf="!isEditingModeCategories">
|
||||
<div *ngIf="currentPanel.panelTitle === DefaultPanels.CATEGORIES && !editing">
|
||||
<p *ngFor="let category of categories" class="adf-metadata-categories">{{ category.name }}</p>
|
||||
</div>
|
||||
<div *ngIf="showEmptyCategoryMessage" class="adf-metadata-no-item-added">
|
||||
{{ 'CATEGORIES_MANAGEMENT.NO_CATEGORIES_ADDED' | translate }}
|
||||
</div>
|
||||
<adf-categories-management
|
||||
*ngIf="isEditingModeCategories"
|
||||
*ngIf="!readOnly && isPanelEditing(DefaultPanels.CATEGORIES)"
|
||||
class="adf-metadata-categories-header"
|
||||
[(categoryNameControlVisible)]="categoryControlVisible"
|
||||
[categoryNameControlVisible]="editing"
|
||||
[disableRemoval]="saving"
|
||||
[categories]="categories"
|
||||
[managementMode]="categoriesManagementMode"
|
||||
@@ -149,65 +183,74 @@
|
||||
|
||||
<mat-expansion-panel
|
||||
*ngFor="let customPanel of customPanels"
|
||||
[expanded]="canExpandTheCard(customPanel.panelTitle)"
|
||||
(opened)="customPanel.expanded = true"
|
||||
(closed)="customPanel.expanded = false"
|
||||
[expanded]="currentPanel.panelTitle === customPanel.panelTitle && currentPanel.expanded"
|
||||
(opened)="expandPanel(customPanel.panelTitle)"
|
||||
(closed)="closePanel(customPanel.panelTitle)"
|
||||
class="adf-content-metadata-panel"
|
||||
hideToggle>
|
||||
<mat-expansion-panel-header>
|
||||
<adf-content-metadata-header class="adf-metadata-custom-panel-title" [title]="customPanel.panelTitle" [expanded]="customPanel.expanded">
|
||||
<mat-expansion-panel-header
|
||||
class="adf-metadata-properties-header"
|
||||
[class.adf-metadata-properties-header-expanded]="currentPanel.panelTitle === customPanel.panelTitle && currentPanel.expanded">
|
||||
<adf-content-metadata-header
|
||||
class="adf-metadata-custom-panel-title"
|
||||
[title]="customPanel.panelTitle"
|
||||
[expanded]="currentPanel.panelTitle === customPanel.panelTitle && currentPanel.expanded">
|
||||
</adf-content-metadata-header>
|
||||
</mat-expansion-panel-header>
|
||||
<adf-dynamic-component [id]="customPanel.component" [data]="{ node }"></adf-dynamic-component>
|
||||
</mat-expansion-panel>
|
||||
|
||||
<ng-container *ngIf="groupedProperties$ | async; else loading; let groupedProperties">
|
||||
<div *ngFor="let group of groupedProperties; let first = first;"
|
||||
class="adf-metadata-grouped-properties-container">
|
||||
<div *ngFor="let group of groupedProperties; let first = first" class="adf-metadata-grouped-properties-container">
|
||||
<mat-expansion-panel
|
||||
[attr.data-automation-id]="'adf-metadata-group-' + group.title"
|
||||
[expanded]="canExpandTheCard(group.title) || !displayDefaultProperties && first || group.expanded"
|
||||
(opened)="group.expanded = true"
|
||||
(closed)="group.expanded = false"
|
||||
[expanded]="currentPanel.panelTitle === group.title && currentPanel.expanded"
|
||||
(opened)="expandPanel(group.title)"
|
||||
(closed)="closePanel(group.title)"
|
||||
class="adf-content-metadata-panel"
|
||||
hideToggle>
|
||||
<mat-expansion-panel-header>
|
||||
<adf-content-metadata-header [title]="group.title" [expanded]="group.expanded">
|
||||
<button *ngIf="hasGroupToggleEdit(group)"
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"
|
||||
[attr.aria-label]="'CORE.METADATA.ACCESSIBILITY.EDIT' | translate"
|
||||
data-automation-id="meta-data-card-toggle-edit"
|
||||
class="adf-edit-icon-buttons"
|
||||
(click)="onToggleGroupEdit(group, $event)">
|
||||
<mat-expansion-panel-header
|
||||
class="adf-metadata-properties-header"
|
||||
[class.adf-metadata-properties-header-expanded]="currentPanel.panelTitle === group.title && currentPanel.expanded">
|
||||
<adf-content-metadata-header [title]="group.title" [expanded]="currentPanel.panelTitle === group.title && currentPanel.expanded">
|
||||
<button
|
||||
*ngIf="group.editable && !this.readOnly && !isPanelEditing(group.title)"
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"
|
||||
[attr.aria-label]="'CORE.METADATA.ACCESSIBILITY.EDIT' | translate"
|
||||
data-automation-id="meta-data-card-toggle-edit"
|
||||
class="adf-edit-icon-buttons"
|
||||
(click)="toggleGroupEditing(group.title, $event)">
|
||||
<mat-icon>mode_edit</mat-icon>
|
||||
</button>
|
||||
<div class="adf-metadata-action-buttons" *ngIf="isGroupToggleEditing(group)">
|
||||
<button mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.CANCEL' | translate"
|
||||
(click)="onCancelGroupEdit(group, $event)"
|
||||
data-automation-id="reset-metadata"
|
||||
class="adf-metadata-action-buttons-clear">
|
||||
<div class="adf-metadata-action-buttons" *ngIf="group.editable && isPanelEditing(group.title)">
|
||||
<button
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.CANCEL' | translate"
|
||||
(click)="cancelGroupEditing(group.title, $event)"
|
||||
data-automation-id="reset-metadata"
|
||||
class="adf-metadata-action-buttons-clear">
|
||||
<mat-icon>clear</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.SAVE' | translate"
|
||||
(click)="onSaveGroupChanges(group, $event)"
|
||||
color="primary"
|
||||
data-automation-id="save-metadata"
|
||||
[disabled]="!hasMetadataChanged">
|
||||
<button
|
||||
mat-icon-button
|
||||
[attr.title]="'CORE.METADATA.ACTIONS.SAVE' | translate"
|
||||
(click)="saveChanges($event)"
|
||||
color="primary"
|
||||
data-automation-id="save-metadata"
|
||||
[disabled]="!hasMetadataChanged">
|
||||
<mat-icon>check</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</adf-content-metadata-header>
|
||||
</mat-expansion-panel-header>
|
||||
<div *ngIf="!showGroup(group) && !group.editable" class="adf-metadata-no-item-added">
|
||||
{{ 'METADATA.BASIC.NO_ITEMS_MESSAGE' | translate: { groupTitle: group.title | translate } }}
|
||||
{{ 'METADATA.BASIC.NO_ITEMS_MESSAGE' | translate : { groupTitle: group.title | translate } }}
|
||||
</div>
|
||||
<adf-card-view
|
||||
(keydown)="keyDown($event)"
|
||||
[properties]="group.properties"
|
||||
[editable]="group.editable"
|
||||
[editable]="!readOnly && group.editable && isPanelEditing(group.title)"
|
||||
[displayEmpty]="displayEmpty"
|
||||
[copyToClipboardAction]="copyToClipboardAction"
|
||||
[useChipsForMultiValueProperty]="useChipsForMultiValueProperty"
|
||||
@@ -219,7 +262,6 @@
|
||||
</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"> </mat-progress-bar>
|
||||
</ng-template>
|
||||
</mat-accordion>
|
||||
|
||||
+6
-17
@@ -9,36 +9,25 @@ $panel-properties-height: 56px !default;
|
||||
margin: 12px;
|
||||
|
||||
.adf-property-list .adf-property .adf-property-field {
|
||||
.mat-input-element {
|
||||
.adf-property-value:not(.adf-card-view-selectitem .adf-property-value) {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.mat-form-field-label {
|
||||
transform: translateY(-1.3437em) scale(1);
|
||||
label {
|
||||
font-size: 19px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mat-expansion-panel-header {
|
||||
.adf-metadata-properties-header {
|
||||
height: $panel-properties-height;
|
||||
padding: 0 12px;
|
||||
border-radius: 12px 12px 0 0;
|
||||
|
||||
&.mat-expanded {
|
||||
height: $panel-properties-height;
|
||||
&.adf-metadata-properties-header-expanded {
|
||||
border-bottom: 1px solid var(--adf-metadata-property-panel-border-color);
|
||||
}
|
||||
|
||||
.mat-content {
|
||||
display: contents;
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.mat-expansion-panel-content {
|
||||
.mat-expansion-panel-body {
|
||||
padding: 0 12px 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.adf-edit-icon-buttons {
|
||||
|
||||
+283
-267
File diff suppressed because it is too large
Load Diff
+72
-203
@@ -35,7 +35,7 @@ import {
|
||||
UpdateNotification
|
||||
} from '@alfresco/adf-core';
|
||||
import { ContentMetadataService } from '../../services/content-metadata.service';
|
||||
import { CardViewGroup, PresetConfig, ContentMetadataCustomPanel } from '../../interfaces/content-metadata.interfaces';
|
||||
import { CardViewGroup, PresetConfig, ContentMetadataCustomPanel, ContentMetadataPanel } from '../../interfaces/content-metadata.interfaces';
|
||||
import { catchError, debounceTime, map, takeUntil } from 'rxjs/operators';
|
||||
import { CardViewContentUpdateService } from '../../../common/services/card-view-content-update.service';
|
||||
import { NodesApiService } from '../../../common/services/nodes-api.service';
|
||||
@@ -48,6 +48,12 @@ import { ContentService } from '../../../common/services/content.service';
|
||||
|
||||
const DEFAULT_SEPARATOR = ', ';
|
||||
|
||||
enum DefaultPanels {
|
||||
PROPERTIES = 'Properties',
|
||||
TAGS = 'Tags',
|
||||
CATEGORIES = 'Categories'
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'adf-content-metadata',
|
||||
templateUrl: './content-metadata.component.html',
|
||||
@@ -124,26 +130,23 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
private classifiableChangedSubject = new Subject<void>();
|
||||
private _saving = false;
|
||||
|
||||
DefaultPanels = DefaultPanels;
|
||||
multiValueSeparator: string;
|
||||
basicProperties$: Observable<CardViewItem[]>;
|
||||
groupedProperties$: Observable<CardViewGroup[]>;
|
||||
|
||||
changedProperties = {};
|
||||
hasMetadataChanged = false;
|
||||
tagNameControlVisible = false;
|
||||
assignedCategories: Category[] = [];
|
||||
categories: Category[] = [];
|
||||
categoriesManagementMode = CategoriesManagementMode.ASSIGN;
|
||||
categoryControlVisible = false;
|
||||
classifiableChanged = this.classifiableChangedSubject.asObservable();
|
||||
isGeneralPanelExpanded = true;
|
||||
isTagPanelExpanded: boolean;
|
||||
isCategoriesPanelExpanded: boolean;
|
||||
currentGroup: CardViewGroup;
|
||||
|
||||
isEditingModeGeneralInfo = false;
|
||||
isEditingModeTags = false;
|
||||
isEditingModeCategories = false;
|
||||
editing = false;
|
||||
editedPanelTitle = '';
|
||||
currentPanel: ContentMetadataPanel = {
|
||||
expanded: false,
|
||||
panelTitle: ''
|
||||
};
|
||||
|
||||
constructor(
|
||||
private contentMetadataService: ContentMetadataService,
|
||||
@@ -180,9 +183,8 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
this.loadProperties(this.node);
|
||||
this.verifyAllowableOperations();
|
||||
|
||||
if (this.displayAspect === 'Properties') {
|
||||
this.isGeneralPanelExpanded = true;
|
||||
}
|
||||
this.currentPanel.panelTitle = this.displayAspect ?? this.DefaultPanels.PROPERTIES;
|
||||
this.currentPanel.expanded = true;
|
||||
}
|
||||
|
||||
private verifyAllowableOperations() {
|
||||
@@ -207,6 +209,10 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
return this._saving;
|
||||
}
|
||||
|
||||
isPanelEditing(panelTitle: string): boolean {
|
||||
return this.editing && ((this.currentPanel.panelTitle === panelTitle && this.editedPanelTitle === panelTitle) || this.editedPanelTitle === panelTitle);
|
||||
}
|
||||
|
||||
protected handleUpdateError(error: Error) {
|
||||
let statusCode = 0;
|
||||
|
||||
@@ -230,10 +236,17 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
if (changes.node && !changes.node.firstChange) {
|
||||
this.loadProperties(changes.node.currentValue);
|
||||
}
|
||||
if(changes?.readOnly && changes?.readOnly?.currentValue) {
|
||||
this.cancelEditing();
|
||||
this.groupedProperties$ = this.contentMetadataService.getGroupedProperties(this.node, this.preset);
|
||||
|
||||
if (changes.readOnly?.currentValue) {
|
||||
this.resetEditing();
|
||||
this.loadProperties(this.node);
|
||||
}
|
||||
|
||||
if (changes.displayAspect?.currentValue) {
|
||||
this.currentPanel.panelTitle = changes.displayAspect.currentValue;
|
||||
this.currentPanel.expanded = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
@@ -254,35 +267,10 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
private onSave(event?: MouseEvent) {
|
||||
saveChanges(event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
this.onSaveChanges();
|
||||
this.cancelEditing();
|
||||
}
|
||||
|
||||
onSaveGeneralInfoChanges(event?: MouseEvent) {
|
||||
this.onSave(event);
|
||||
}
|
||||
|
||||
onSaveTagsChanges(event?: MouseEvent) {
|
||||
this.onSave(event);
|
||||
}
|
||||
|
||||
onSaveCategoriesChanges(event?: MouseEvent) {
|
||||
this.onSave(event);
|
||||
}
|
||||
|
||||
onSaveGroupChanges(group: CardViewGroup, event?: MouseEvent) {
|
||||
this.onSave(event);
|
||||
|
||||
group.editable = false;
|
||||
}
|
||||
|
||||
private onSaveChanges() {
|
||||
this.resetEditing();
|
||||
this._saving = true;
|
||||
this.tagNameControlVisible = false;
|
||||
this.categoryControlVisible = false;
|
||||
|
||||
if (this.hasContentTypeChanged(this.changedProperties)) {
|
||||
this.contentMetadataService.openConfirmDialog(this.changedProperties).subscribe(() => {
|
||||
@@ -318,172 +306,52 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
revertChanges() {
|
||||
this.changedProperties = {};
|
||||
this.hasMetadataChanged = false;
|
||||
this.tagNameControlVisible = false;
|
||||
this.categoryControlVisible = false;
|
||||
}
|
||||
|
||||
// Returns the editing state of the panel
|
||||
isEditingPanel(): boolean {
|
||||
return (
|
||||
(this.isEditingModeGeneralInfo || this.isEditingModeTags || this.isEditingModeCategories || this.currentGroup?.editable) && this.hasMetadataChanged
|
||||
);
|
||||
}
|
||||
|
||||
onToggleGeneralInfoEdit(event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
if (this.isEditingPanel()) {
|
||||
this.notificationService.showError('METADATA.BASIC.SAVE_OR_DISCARD_CHANGES');
|
||||
return;
|
||||
}
|
||||
|
||||
const currentMode = this.isEditingModeGeneralInfo;
|
||||
this.cancelEditing();
|
||||
this.isEditingModeGeneralInfo = !currentMode;
|
||||
this.isGeneralPanelExpanded = true;
|
||||
this.groupedProperties$ = this.contentMetadataService.getGroupedProperties(this.node, this.preset);
|
||||
}
|
||||
|
||||
onToggleTagsEdit(event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
if (this.isEditingPanel()) {
|
||||
this.notificationService.showError('METADATA.BASIC.SAVE_OR_DISCARD_CHANGES');
|
||||
return;
|
||||
}
|
||||
|
||||
const currentValue = this.isEditingModeTags;
|
||||
this.cancelEditing();
|
||||
this.isEditingModeTags = !currentValue;
|
||||
this.isTagPanelExpanded = this.isEditingModeTags;
|
||||
this.tagNameControlVisible = true;
|
||||
this.groupedProperties$ = this.contentMetadataService.getGroupedProperties(this.node, this.preset);
|
||||
}
|
||||
|
||||
private cancelEditing() {
|
||||
this.isEditingModeGeneralInfo = false;
|
||||
this.isEditingModeCategories = false;
|
||||
this.isEditingModeTags = false;
|
||||
}
|
||||
|
||||
onCancelGeneralInfoEdit(event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
this.cancelEditing();
|
||||
this.revertChanges();
|
||||
|
||||
this.basicProperties$ = this.getProperties(this.node);
|
||||
}
|
||||
|
||||
onCancelCategoriesEdit(event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
this.cancelEditing();
|
||||
this.revertChanges();
|
||||
|
||||
this.loadCategoriesForNode(this.node.id);
|
||||
|
||||
const aspectNames = this.node.aspectNames || [];
|
||||
if (!aspectNames.includes('generalclassifiable')) {
|
||||
this.categories = [];
|
||||
this.classifiableChangedSubject.next();
|
||||
}
|
||||
}
|
||||
|
||||
onCancelTagsEdit(event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
this.cancelEditing();
|
||||
this.revertChanges();
|
||||
|
||||
this.basicProperties$ = this.getProperties(this.node);
|
||||
this.loadTagsForNode(this.node.id);
|
||||
}
|
||||
|
||||
onCancelGroupEdit(group: CardViewGroup, event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
this.cancelEditing();
|
||||
this.revertChanges();
|
||||
|
||||
group.editable = false;
|
||||
this.groupedProperties$ = this.contentMetadataService.getGroupedProperties(this.node, this.preset);
|
||||
}
|
||||
|
||||
onToggleCategoriesEdit(event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
if (this.isEditingPanel()) {
|
||||
this.notificationService.showError('METADATA.BASIC.SAVE_OR_DISCARD_CHANGES');
|
||||
return;
|
||||
}
|
||||
|
||||
const currentValue = this.isEditingModeCategories;
|
||||
this.cancelEditing();
|
||||
this.isEditingModeCategories = !currentValue;
|
||||
this.isCategoriesPanelExpanded = this.isEditingModeCategories;
|
||||
this.categoryControlVisible = true;
|
||||
this.groupedProperties$ = this.contentMetadataService.getGroupedProperties(this.node, this.preset);
|
||||
}
|
||||
|
||||
onToggleGroupEdit(group: CardViewGroup, event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
|
||||
if (this.isEditingPanel()) {
|
||||
this.notificationService.showError('METADATA.BASIC.SAVE_OR_DISCARD_CHANGES');
|
||||
return;
|
||||
}
|
||||
this.cancelEditing();
|
||||
|
||||
if (this.currentGroup && this.currentGroup.title !== group.title) {
|
||||
this.currentGroup.editable = false;
|
||||
}
|
||||
|
||||
group.editable = !group.editable;
|
||||
this.currentGroup = group.editable ? group : null;
|
||||
if (group.editable) {
|
||||
group.expanded = true;
|
||||
}
|
||||
}
|
||||
|
||||
get showEmptyTagMessage(): boolean {
|
||||
return this.tags?.length === 0 && !this.isEditingModeTags;
|
||||
return this.tags?.length === 0 && this.currentPanel.panelTitle === 'Tags' && !this.editing;
|
||||
}
|
||||
|
||||
get showEmptyCategoryMessage(): boolean {
|
||||
return this.categories?.length === 0 && !this.isEditingModeCategories;
|
||||
return this.categories?.length === 0 && this.currentPanel.panelTitle === 'Categories' && !this.editing;
|
||||
}
|
||||
|
||||
get canEditGeneralInfo(): boolean {
|
||||
return !this.isEditingModeGeneralInfo && !this.readOnly;
|
||||
toggleGroupEditing(panelTitle: string, event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
if (this.editing && this.hasMetadataChanged) {
|
||||
this.notificationService.showError('METADATA.BASIC.SAVE_OR_DISCARD_CHANGES');
|
||||
return;
|
||||
}
|
||||
this.editing = true;
|
||||
this.editedPanelTitle = panelTitle;
|
||||
this.expandPanel(panelTitle);
|
||||
}
|
||||
|
||||
get isEditingGeneralInfo(): boolean {
|
||||
return this.isEditingModeGeneralInfo && !this.readOnly;
|
||||
cancelGroupEditing(panelTitle: string, event?: MouseEvent) {
|
||||
event?.stopPropagation();
|
||||
this.resetEditing();
|
||||
this.revertChanges();
|
||||
const loadBasicProps = panelTitle === this.DefaultPanels.PROPERTIES;
|
||||
const loadTags = panelTitle === this.DefaultPanels.TAGS;
|
||||
const loadCategories = panelTitle === this.DefaultPanels.CATEGORIES;
|
||||
const loadGroupedProps = !loadBasicProps && !loadTags && !loadCategories;
|
||||
this.loadProperties(this.node, loadBasicProps, loadGroupedProps, loadTags, loadCategories);
|
||||
}
|
||||
|
||||
get canEditTags(): boolean {
|
||||
return !this.isEditingModeTags && !this.readOnly;
|
||||
expandPanel(panelTitle: string) {
|
||||
this.currentPanel.panelTitle = panelTitle;
|
||||
this.currentPanel.expanded = true;
|
||||
}
|
||||
|
||||
get isEditingTags(): boolean {
|
||||
return this.isEditingModeTags && !this.readOnly;
|
||||
closePanel(panelTitle: string) {
|
||||
if (this.currentPanel.panelTitle === panelTitle) {
|
||||
this.currentPanel.expanded = false;
|
||||
}
|
||||
}
|
||||
|
||||
get canEditCategories(): boolean {
|
||||
return !this.isEditingModeCategories && !this.readOnly;
|
||||
}
|
||||
|
||||
get isEditingCategories(): boolean {
|
||||
return this.isEditingModeCategories && !this.readOnly;
|
||||
}
|
||||
|
||||
hasGroupToggleEdit(group: CardViewGroup): boolean {
|
||||
return !group.editable && !this.readOnly;
|
||||
}
|
||||
|
||||
isGroupToggleEditing(group: CardViewGroup): boolean {
|
||||
return group.editable && !this.readOnly;
|
||||
resetEditing() {
|
||||
this.editing = false;
|
||||
this.editedPanelTitle = '';
|
||||
}
|
||||
|
||||
showGroup(group: CardViewGroup): boolean {
|
||||
@@ -492,10 +360,6 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
return properties.length > 0;
|
||||
}
|
||||
|
||||
canExpandTheCard(groupTitle: string): boolean {
|
||||
return groupTitle === this.displayAspect;
|
||||
}
|
||||
|
||||
keyDown(event: KeyboardEvent) {
|
||||
if (event.keyCode === 37 || event.keyCode === 39) { // ArrowLeft && ArrowRight
|
||||
event.stopPropagation();
|
||||
@@ -513,6 +377,7 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
this.cardViewContentUpdateService.updateElement(this.targetProperty);
|
||||
this.handleUpdateError(err);
|
||||
this._saving = false;
|
||||
this.loadProperties(this.node);
|
||||
return of(null);
|
||||
})
|
||||
)
|
||||
@@ -548,16 +413,20 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
private loadProperties(node: Node) {
|
||||
private loadProperties(node: Node, loadBasicProps = true, loadGroupedProps = true, loadTags = true, loadCategories = true) {
|
||||
if (node) {
|
||||
this.basicProperties$ = this.getProperties(node);
|
||||
this.groupedProperties$ = this.contentMetadataService.getGroupedProperties(node, this.preset);
|
||||
if (loadBasicProps) {
|
||||
this.basicProperties$ = this.getProperties(node);
|
||||
}
|
||||
if (loadGroupedProps) {
|
||||
this.groupedProperties$ = this.contentMetadataService.getGroupedProperties(node, this.preset);
|
||||
}
|
||||
|
||||
if (this.displayTags) {
|
||||
if (this.displayTags && loadTags) {
|
||||
this.loadTagsForNode(node.id);
|
||||
}
|
||||
|
||||
if (this.displayCategories) {
|
||||
if (this.displayCategories && loadCategories) {
|
||||
this.loadCategoriesForNode(node.id);
|
||||
|
||||
const aspectNames = node.aspectNames || [];
|
||||
|
||||
+1
-1
@@ -20,6 +20,6 @@ import { CardViewItem } from '@alfresco/adf-core';
|
||||
export interface CardViewGroup {
|
||||
title: string;
|
||||
properties: CardViewItem[];
|
||||
editable?: boolean;
|
||||
editable: boolean;
|
||||
expanded?: boolean;
|
||||
}
|
||||
|
||||
+3
-3
@@ -15,8 +15,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export interface ContentMetadataCustomPanel {
|
||||
panelTitle: string;
|
||||
import { ContentMetadataPanel } from './content-metadata-panel.interface';
|
||||
|
||||
export interface ContentMetadataCustomPanel extends ContentMetadataPanel {
|
||||
component: string;
|
||||
expanded?: boolean;
|
||||
}
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export interface ContentMetadataPanel {
|
||||
panelTitle: string;
|
||||
expanded?: boolean;
|
||||
}
|
||||
+1
@@ -25,3 +25,4 @@ export * from './indifferent-config.interface';
|
||||
export * from './layout-oriented-config.interface';
|
||||
export * from './preset-config.interface';
|
||||
export * from './content-metadata-custom-panel.interface';
|
||||
export * from './content-metadata-panel.interface';
|
||||
|
||||
+70
-66
@@ -16,21 +16,14 @@
|
||||
*/
|
||||
|
||||
import { LayoutOrientedConfigService } from './layout-oriented-config.service';
|
||||
import {
|
||||
LayoutOrientedConfig,
|
||||
Property,
|
||||
OrganisedPropertyGroup,
|
||||
PropertyGroupContainer
|
||||
} from '../../interfaces/content-metadata.interfaces';
|
||||
import { LayoutOrientedConfig, Property, OrganisedPropertyGroup, PropertyGroupContainer } from '../../interfaces/content-metadata.interfaces';
|
||||
|
||||
describe('LayoutOrientedConfigService', () => {
|
||||
|
||||
let configService: LayoutOrientedConfigService;
|
||||
|
||||
const createConfigService = (configObj: LayoutOrientedConfig) => new LayoutOrientedConfigService(configObj);
|
||||
|
||||
describe('isGroupAllowed', () => {
|
||||
|
||||
const testCases = [
|
||||
{
|
||||
config: [],
|
||||
@@ -48,11 +41,15 @@ describe('LayoutOrientedConfigService', () => {
|
||||
groupNameToQuery: 'berseria'
|
||||
},
|
||||
{
|
||||
config: [{
|
||||
title: 'Deamons', items: [
|
||||
{ aspect: 'zestiria', properties: '*' }, { aspect: 'berseria', properties: '*' }
|
||||
]
|
||||
}],
|
||||
config: [
|
||||
{
|
||||
title: 'Deamons',
|
||||
items: [
|
||||
{ aspect: 'zestiria', properties: '*' },
|
||||
{ aspect: 'berseria', properties: '*' }
|
||||
]
|
||||
}
|
||||
],
|
||||
expectation: true,
|
||||
groupNameToQuery: 'berseria'
|
||||
},
|
||||
@@ -73,9 +70,7 @@ describe('LayoutOrientedConfigService', () => {
|
||||
groupNameToQuery: 'phantasia'
|
||||
},
|
||||
{
|
||||
config: [
|
||||
{ title: 'Deamons', includeAll: true, items: [{ aspect: 'zestiria', properties: '*' }] }
|
||||
],
|
||||
config: [{ title: 'Deamons', includeAll: true, items: [{ aspect: 'zestiria', properties: '*' }] }],
|
||||
expectation: true,
|
||||
groupNameToQuery: 'phantasia'
|
||||
}
|
||||
@@ -93,7 +88,6 @@ describe('LayoutOrientedConfigService', () => {
|
||||
});
|
||||
|
||||
describe('reorganiseByConfig', () => {
|
||||
|
||||
interface TestCase {
|
||||
name: string;
|
||||
config: LayoutOrientedConfig;
|
||||
@@ -123,94 +117,81 @@ describe('LayoutOrientedConfigService', () => {
|
||||
name: 'First property of a group in one item',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
{ aspect: 'berseria', properties: ['property1'] }
|
||||
]
|
||||
title: 'First group',
|
||||
items: [{ aspect: 'berseria', properties: ['property1'] }]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
{ title: 'First group', properties: [property1] }
|
||||
]
|
||||
expectations: [{ title: 'First group', properties: [property1] }]
|
||||
},
|
||||
{
|
||||
name: 'Second property of a group in one item',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
{ aspect: 'berseria', properties: ['property2'] }
|
||||
]
|
||||
title: 'First group',
|
||||
items: [{ aspect: 'berseria', properties: ['property2'] }]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
{ title: 'First group', properties: [property2] }
|
||||
]
|
||||
expectations: [{ title: 'First group', properties: [property2] }]
|
||||
},
|
||||
{
|
||||
name: 'Properties with editable flag',
|
||||
config: [
|
||||
{
|
||||
title: 'Editable property', items: [
|
||||
title: 'Editable property',
|
||||
items: [
|
||||
{ aspect: 'otherTales', properties: ['property5'], editable: true },
|
||||
{ aspect: 'otherTales', properties: ['property6'], editable: false }
|
||||
|
||||
]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
{ title: 'Editable property', properties: [property5, property6] }
|
||||
]
|
||||
expectations: [{ title: 'Editable property', properties: [property5, property6] }]
|
||||
},
|
||||
{
|
||||
name: 'More properties from one group in one item',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
{ aspect: 'berseria', properties: ['property2', 'property1'] }
|
||||
]
|
||||
title: 'First group',
|
||||
items: [{ aspect: 'berseria', properties: ['property2', 'property1'] }]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
{ title: 'First group', properties: [property2, property1] }
|
||||
]
|
||||
expectations: [{ title: 'First group', properties: [property2, property1] }]
|
||||
},
|
||||
{
|
||||
name: 'First property of the second group in one item',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
{ aspect: 'zestiria', properties: ['property4'] }
|
||||
]
|
||||
title: 'First group',
|
||||
items: [{ aspect: 'zestiria', properties: ['property4'] }]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
{ title: 'First group', properties: [property4] }
|
||||
]
|
||||
expectations: [{ title: 'First group', properties: [property4] }]
|
||||
},
|
||||
{
|
||||
name: 'One-one properties from multiple groups in one item',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
title: 'First group',
|
||||
items: [
|
||||
{ aspect: 'zestiria', properties: ['property4'] },
|
||||
{ aspect: 'berseria', properties: ['property1'] }
|
||||
]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
{ title: 'First group', properties: [property4, property1] }
|
||||
]
|
||||
expectations: [{ title: 'First group', properties: [property4, property1] }]
|
||||
},
|
||||
{
|
||||
name: 'Multiple properties mixed from multiple groups in multiple items',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
title: 'First group',
|
||||
items: [
|
||||
{ aspect: 'zestiria', properties: ['property4'] },
|
||||
{ type: 'berseria', properties: ['property1'] }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'Second group', items: [
|
||||
title: 'Second group',
|
||||
items: [
|
||||
{ aspect: 'zestiria', properties: ['property3'] },
|
||||
{ type: 'berseria', properties: ['property2', 'property1'] },
|
||||
{ aspect: 'zestiria', properties: ['property4'] }
|
||||
@@ -226,15 +207,15 @@ describe('LayoutOrientedConfigService', () => {
|
||||
name: 'Multiple properties mixed from multiple groups in multiple items with "*"',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
title: 'First group',
|
||||
items: [
|
||||
{ aspect: 'zestiria', properties: '*' },
|
||||
{ type: 'berseria', properties: ['property1'] }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'Second group', items: [
|
||||
{ type: 'berseria', properties: ['property2', 'property1'] }
|
||||
]
|
||||
title: 'Second group',
|
||||
items: [{ type: 'berseria', properties: ['property2', 'property1'] }]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
@@ -246,22 +227,22 @@ describe('LayoutOrientedConfigService', () => {
|
||||
name: 'Not existing property',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
title: 'First group',
|
||||
items: [
|
||||
{ aspect: 'zestiria', properties: '*' },
|
||||
{ type: 'berseria', properties: ['not-existing-property'] },
|
||||
{ type: 'berseria', properties: ['property2'] }
|
||||
]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
{ title: 'First group', properties: [property3, property4, property2] }
|
||||
]
|
||||
expectations: [{ title: 'First group', properties: [property3, property4, property2] }]
|
||||
},
|
||||
{
|
||||
name: 'Not existing group',
|
||||
config: [
|
||||
{
|
||||
title: 'First group', items: [
|
||||
title: 'First group',
|
||||
items: [
|
||||
{ aspect: 'zestiria', properties: '*' },
|
||||
{ type: 'not-existing-group', properties: '*' },
|
||||
{ type: 'berseria', properties: ['property2'] },
|
||||
@@ -269,9 +250,7 @@ describe('LayoutOrientedConfigService', () => {
|
||||
]
|
||||
}
|
||||
],
|
||||
expectations: [
|
||||
{ title: 'First group', properties: [property3, property4, property2] }
|
||||
]
|
||||
expectations: [{ title: 'First group', properties: [property3, property4, property2] }]
|
||||
},
|
||||
{
|
||||
name: 'Custom Title',
|
||||
@@ -297,7 +276,6 @@ describe('LayoutOrientedConfigService', () => {
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
];
|
||||
|
||||
testCases.forEach((testCase) => {
|
||||
@@ -308,7 +286,7 @@ describe('LayoutOrientedConfigService', () => {
|
||||
|
||||
expect(organisedPropertyGroups.length).toBe(testCase.expectations.length, 'Group count should match');
|
||||
testCase.expectations.forEach((expectation, i) => {
|
||||
expect(organisedPropertyGroups[i].title).toBe(expectation.title, 'Group\'s title should match');
|
||||
expect(organisedPropertyGroups[i].title).toBe(expectation.title, 'Group title should match');
|
||||
expect(organisedPropertyGroups[i].properties.length).toBe(
|
||||
expectation.properties.length,
|
||||
`Property count for "${organisedPropertyGroups[i].title}" group should match.`
|
||||
@@ -320,5 +298,31 @@ describe('LayoutOrientedConfigService', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should include all exclusions passed to filterExcludedPreset', () => {
|
||||
const properties: OrganisedPropertyGroup[] = [
|
||||
{
|
||||
name: 'propGroup',
|
||||
title: 'propGroup',
|
||||
properties: [
|
||||
{ name: 'property1', title: 'Custom title', editable: true } as Property,
|
||||
{ name: 'property2', title: 'Custom title', editable: true } as Property,
|
||||
{ name: 'property3', title: 'Custom title', editable: true } as Property,
|
||||
{ name: 'property4', title: 'Custom title', editable: true } as Property
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
configService = createConfigService([
|
||||
{ title: 'Property group', items: [{ aspect: 'berseria', properties: ['property1', 'property2', 'property3', 'property4'] }] },
|
||||
{ title: 'Exclude group 1', items: [{ exclude: ['property1'], properties: [] }] },
|
||||
{ title: 'Exclude group 2', items: [{ exclude: ['property2'], properties: [] }] },
|
||||
{ title: 'Exclude group 3', items: [{ exclude: ['property3'], properties: [] }] }
|
||||
]);
|
||||
|
||||
const result = configService.filterExcludedPreset(properties);
|
||||
|
||||
expect(result.length).toBe(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
+2
-1
@@ -75,7 +75,8 @@ export class LayoutOrientedConfigService implements ContentMetadataConfig {
|
||||
public filterExcludedPreset(propertyGroups: OrganisedPropertyGroup[]): OrganisedPropertyGroup[] {
|
||||
let excludedConfig = this.config
|
||||
.map((config) => config.exclude)
|
||||
.find((exclude) => exclude !== undefined);
|
||||
.filter((exclude) => exclude !== undefined)
|
||||
.flat();
|
||||
|
||||
if (excludedConfig === undefined) {
|
||||
excludedConfig = [];
|
||||
|
||||
+17
-11
@@ -84,7 +84,8 @@ describe('PropertyGroupTranslatorService', () => {
|
||||
dataType: 'd:text',
|
||||
defaultValue: 'defaultValue',
|
||||
mandatory: false,
|
||||
multiValued: false
|
||||
multiValued: false,
|
||||
editable: true
|
||||
},
|
||||
{
|
||||
name: 'FAS:ALOY',
|
||||
@@ -98,10 +99,11 @@ describe('PropertyGroupTranslatorService', () => {
|
||||
|
||||
propertyValues = { 'FAS:PLAGUE': 'The Chariot Line' };
|
||||
|
||||
const cardViewGroup = service.translateToCardViewGroups(propertyGroups, propertyValues, null);
|
||||
expect(cardViewGroup[0].properties.length).toBe(2);
|
||||
expect(cardViewGroup[0].properties[0] instanceof CardViewTextItemModel).toBeTruthy('First property should be instance of CardViewTextItemModel');
|
||||
expect(cardViewGroup[0].properties[1] instanceof CardViewTextItemModel).toBeTruthy('Second property should be instance of CardViewTextItemModel');
|
||||
const cardViewGroup = service.translateToCardViewGroups(propertyGroups, propertyValues, null)[0];
|
||||
expect(cardViewGroup.properties.length).toBe(2);
|
||||
expect(cardViewGroup.properties[0] instanceof CardViewTextItemModel).toBeTruthy('First property should be instance of CardViewTextItemModel');
|
||||
expect(cardViewGroup.properties[1] instanceof CardViewTextItemModel).toBeTruthy('Second property should be instance of CardViewTextItemModel');
|
||||
expect(cardViewGroup.editable).toBeTrue();
|
||||
});
|
||||
|
||||
it('should translate EVERY property in EVERY group properly', () => {
|
||||
@@ -113,7 +115,8 @@ describe('PropertyGroupTranslatorService', () => {
|
||||
dataType: 'd:text',
|
||||
defaultValue: 'defaultvalue',
|
||||
mandatory: false,
|
||||
multiValued: false
|
||||
multiValued: false,
|
||||
editable: false
|
||||
}]
|
||||
}),
|
||||
Object.assign({}, propertyGroup, {
|
||||
@@ -123,17 +126,20 @@ describe('PropertyGroupTranslatorService', () => {
|
||||
dataType: 'd:text',
|
||||
defaultValue: 'defaultvalue',
|
||||
mandatory: false,
|
||||
multiValued: false
|
||||
multiValued: false,
|
||||
editable: false
|
||||
}]
|
||||
})
|
||||
);
|
||||
|
||||
propertyValues = { 'FAS:PLAGUE': 'The Chariot Line' };
|
||||
|
||||
const cardViewGroup = service.translateToCardViewGroups(propertyGroups, propertyValues, null);
|
||||
expect(cardViewGroup.length).toBe(2);
|
||||
expect(cardViewGroup[0].properties[0] instanceof CardViewTextItemModel).toBeTruthy('First group\'s property should be instance of CardViewTextItemModel');
|
||||
expect(cardViewGroup[1].properties[0] instanceof CardViewTextItemModel).toBeTruthy('Second group\'s property should be instance of CardViewTextItemModel');
|
||||
const cardViewGroups = service.translateToCardViewGroups(propertyGroups, propertyValues, null);
|
||||
expect(cardViewGroups.length).toBe(2);
|
||||
const firstCardViewGroup = cardViewGroups[0];
|
||||
expect(firstCardViewGroup.properties[0] instanceof CardViewTextItemModel).toBeTruthy('First group\'s property should be instance of CardViewTextItemModel');
|
||||
expect(cardViewGroups[1].properties[0] instanceof CardViewTextItemModel).toBeTruthy('Second group\'s property should be instance of CardViewTextItemModel');
|
||||
expect(firstCardViewGroup.editable).toBeFalse();
|
||||
});
|
||||
|
||||
it('should log an error if unrecognised type is found', () => {
|
||||
|
||||
+1
@@ -64,6 +64,7 @@ export class PropertyGroupTranslatorService {
|
||||
return propertyGroups.map((propertyGroup) => {
|
||||
const translatedPropertyGroup: any = Object.assign({}, propertyGroup);
|
||||
translatedPropertyGroup.properties = this.translateArray(propertyGroup.properties, propertyValues, definition);
|
||||
translatedPropertyGroup.editable = translatedPropertyGroup.properties.some((property) => property.editable);
|
||||
return translatedPropertyGroup;
|
||||
});
|
||||
}
|
||||
|
||||
+9
-15
@@ -13,12 +13,11 @@ h2.adf-search-results-label {
|
||||
color: var(--adf-theme-foreground-text-color-087);
|
||||
}
|
||||
|
||||
.adf-toolbar .mat-toolbar {
|
||||
max-height: 48px;
|
||||
border-bottom-width: 0;
|
||||
font-size: var(--theme-body-1-font-size);
|
||||
|
||||
&.mat-toolbar-single-row {
|
||||
.adf-content-node-selector-panel {
|
||||
.adf-toolbar .adf-toolbar-container.adf-toolbar-container-row {
|
||||
max-height: 48px;
|
||||
border-bottom-width: 0;
|
||||
font-size: var(--theme-body-1-font-size);
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
@@ -48,13 +47,8 @@ h2.adf-search-results-label {
|
||||
}
|
||||
}
|
||||
|
||||
.mat-form-field-underline .mat-form-field-ripple {
|
||||
height: 1px;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.adf-site-dropdown-container {
|
||||
.mat-form-field {
|
||||
.adf-sites-dropdown-form-field {
|
||||
display: block;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
@@ -64,7 +58,7 @@ h2.adf-search-results-label {
|
||||
width: 100%;
|
||||
margin-bottom: 0;
|
||||
|
||||
.mat-select-trigger {
|
||||
.adf-sites-dropdown-select-trigger {
|
||||
font-size: var(--theme-body-1-font-size);
|
||||
}
|
||||
}
|
||||
@@ -73,7 +67,7 @@ h2.adf-search-results-label {
|
||||
.adf-dropdown-breadcrumb-trigger {
|
||||
outline: none;
|
||||
|
||||
.mat-icon {
|
||||
.adf-dropdown-breadcrumb-icon {
|
||||
color: var(--adf-theme-foreground-base-color-045);
|
||||
|
||||
&:hover {
|
||||
@@ -81,7 +75,7 @@ h2.adf-search-results-label {
|
||||
}
|
||||
}
|
||||
|
||||
&:focus .mat-icon {
|
||||
&:focus .adf-dropdown-breadcrumb-icon {
|
||||
color: var(--theme-primary-color);
|
||||
}
|
||||
}
|
||||
|
||||
+76
-71
@@ -1,77 +1,82 @@
|
||||
<h1 mat-dialog-title data-automation-id="content-node-selector-title">{{title}}</h1>
|
||||
<mat-tab-group class="adf-content-node-selector-dialog-content"
|
||||
mat-align-tabs="start"
|
||||
(selectedIndexChange)="onTabSelectionChange($event)"
|
||||
[class.adf-content-node-selector-headless-tabs]="!canPerformLocalUpload()">
|
||||
<mat-tab label="{{ 'NODE_SELECTOR.REPOSITORY' | translate }}">
|
||||
<adf-content-node-selector-panel
|
||||
[currentFolderId]="data?.currentFolderId"
|
||||
[restrictRootToCurrentFolderId]="data?.restrictRootToCurrentFolderId"
|
||||
[dropdownHideMyFiles]="data?.dropdownHideMyFiles"
|
||||
[dropdownSiteList]="data?.dropdownSiteList"
|
||||
[rowFilter]="data?.rowFilter"
|
||||
[imageResolver]="data?.imageResolver"
|
||||
[isSelectionValid]="data?.isSelectionValid"
|
||||
[breadcrumbTransform]="data?.breadcrumbTransform"
|
||||
[excludeSiteContent]="data?.excludeSiteContent"
|
||||
[selectionMode]="data?.selectionMode"
|
||||
[where]="data?.where"
|
||||
[showSearch]="data?.showSearch"
|
||||
[showDropdownSiteList]="data?.showDropdownSiteList"
|
||||
[showFilesInResult]="data?.showFilesInResult"
|
||||
[showNodeCounter]="isCounterVisible()"
|
||||
(currentFolder)="onCurrentFolder($event)"
|
||||
(folderLoaded)="onFolderLoaded()"
|
||||
(select)="onSelect($event)"
|
||||
(showingSearch)="onShowingSearch($event)"
|
||||
(siteChange)="onSiteChange($event)"
|
||||
(navigationChange)="onNavigationChange($event)">
|
||||
</adf-content-node-selector-panel>
|
||||
</mat-tab>
|
||||
<mat-tab *ngIf="canPerformLocalUpload()"
|
||||
[disabled]="isNotAllowedToUpload()">
|
||||
<div class="adf-content-node-selector-local-upload-container">
|
||||
<div class="adf-content-node-selector-local-upload-header">
|
||||
<adf-toolbar>
|
||||
<adf-toolbar-title>
|
||||
<adf-dropdown-breadcrumb
|
||||
class="adf-content-node-selector-content-breadcrumb"
|
||||
[folderNode]="breadcrumbFolderNode"
|
||||
[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>
|
||||
</adf-toolbar-title>
|
||||
</adf-toolbar>
|
||||
<ng-template mat-tab-label>
|
||||
{{ 'NODE_SELECTOR.UPLOAD_FROM_DEVICE' | translate }}
|
||||
<mat-icon *ngIf="hasUploadError()"
|
||||
data-automation-id="adf-content-node-selector-disabled-tab-info-icon"
|
||||
matTooltip="{{ getWarningMessage() | translate }}">info
|
||||
</mat-icon>
|
||||
</ng-template>
|
||||
</div>
|
||||
<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>
|
||||
</div>
|
||||
<adf-empty-list data-automation-id="adf-empty-list" *ngIf="!uploadStarted">
|
||||
<div class="adf-empty-list_template adf-empty-folder">
|
||||
<div class="adf-empty-folder-drag-drop">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate }}</div>
|
||||
<div class="adf-empty-folder-any-files-here-to-add">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate }}</div>
|
||||
<img [alt]="'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate" class="adf-empty-folder-image"
|
||||
[src]="emptyFolderImageUrl">
|
||||
<h1 mat-dialog-title class="adf-content-node-selector-dialog-title" data-automation-id="content-node-selector-title">{{title}}</h1>
|
||||
<ng-container *ngIf="canPerformLocalUpload(); else contentNodePanel">
|
||||
<mat-tab-group class="adf-content-node-selector-dialog-content"
|
||||
mat-align-tabs="start"
|
||||
(selectedIndexChange)="onTabSelectionChange($event)">
|
||||
<mat-tab label="{{ 'NODE_SELECTOR.REPOSITORY' | translate }}">
|
||||
<ng-container *ngTemplateOutlet='contentNodePanel'></ng-container>
|
||||
</mat-tab>
|
||||
<mat-tab [disabled]="isNotAllowedToUpload()">
|
||||
<div class="adf-content-node-selector-local-upload-container">
|
||||
<div class="adf-content-node-selector-local-upload-header">
|
||||
<adf-toolbar>
|
||||
<adf-toolbar-title>
|
||||
<adf-dropdown-breadcrumb
|
||||
class="adf-content-node-selector-content-breadcrumb"
|
||||
[folderNode]="breadcrumbFolderNode"
|
||||
[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>
|
||||
</adf-toolbar-title>
|
||||
</adf-toolbar>
|
||||
<ng-template mat-tab-label>
|
||||
{{ 'NODE_SELECTOR.UPLOAD_FROM_DEVICE' | translate }}
|
||||
<mat-icon *ngIf="hasUploadError()"
|
||||
data-automation-id="adf-content-node-selector-disabled-tab-info-icon"
|
||||
matTooltip="{{ getWarningMessage() | translate }}">info
|
||||
</mat-icon>
|
||||
</ng-template>
|
||||
</div>
|
||||
<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>
|
||||
</div>
|
||||
</adf-empty-list>
|
||||
</adf-upload-drag-area>
|
||||
<adf-empty-list data-automation-id="adf-empty-list" *ngIf="!uploadStarted">
|
||||
<div class="adf-empty-list_template adf-empty-folder">
|
||||
<div class="adf-empty-folder-drag-drop">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate }}</div>
|
||||
<div class="adf-empty-folder-any-files-here-to-add">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate }}</div>
|
||||
<img [alt]="'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate" class="adf-empty-folder-image"
|
||||
[src]="emptyFolderImageUrl">
|
||||
</div>
|
||||
</adf-empty-list>
|
||||
</adf-upload-drag-area>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
</ng-container>
|
||||
|
||||
<mat-dialog-actions>
|
||||
<ng-template #contentNodePanel>
|
||||
<adf-content-node-selector-panel
|
||||
[currentFolderId]="data?.currentFolderId"
|
||||
[restrictRootToCurrentFolderId]="data?.restrictRootToCurrentFolderId"
|
||||
[dropdownHideMyFiles]="data?.dropdownHideMyFiles"
|
||||
[dropdownSiteList]="data?.dropdownSiteList"
|
||||
[rowFilter]="data?.rowFilter"
|
||||
[imageResolver]="data?.imageResolver"
|
||||
[isSelectionValid]="data?.isSelectionValid"
|
||||
[breadcrumbTransform]="data?.breadcrumbTransform"
|
||||
[excludeSiteContent]="data?.excludeSiteContent"
|
||||
[selectionMode]="data?.selectionMode"
|
||||
[where]="data?.where"
|
||||
[showSearch]="data?.showSearch"
|
||||
[showDropdownSiteList]="data?.showDropdownSiteList"
|
||||
[showFilesInResult]="data?.showFilesInResult"
|
||||
[showNodeCounter]="isCounterVisible()"
|
||||
(currentFolder)="onCurrentFolder($event)"
|
||||
(folderLoaded)="onFolderLoaded()"
|
||||
(select)="onSelect($event)"
|
||||
(showingSearch)="onShowingSearch($event)"
|
||||
(siteChange)="onSiteChange($event)"
|
||||
(navigationChange)="onNavigationChange($event)">
|
||||
</adf-content-node-selector-panel>
|
||||
</ng-template>
|
||||
|
||||
|
||||
<mat-dialog-actions class="adf-content-node-selector-dialog-actions">
|
||||
<div>
|
||||
<ng-container *ngIf="isUploadEnabled()">
|
||||
<adf-upload-button
|
||||
|
||||
+6
-29
@@ -1,10 +1,4 @@
|
||||
adf-content-node-selector {
|
||||
.adf-content-node-selector-headless-tabs {
|
||||
.mat-tab-header {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.adf-upload-dialog {
|
||||
box-shadow: none;
|
||||
|
||||
@@ -46,14 +40,7 @@ adf-content-node-selector {
|
||||
}
|
||||
|
||||
.adf-content-node-selector-dialog {
|
||||
&-content {
|
||||
padding-left: 24px;
|
||||
padding-right: 24px;
|
||||
}
|
||||
|
||||
.mat-dialog-title {
|
||||
margin-left: 24px;
|
||||
margin-right: 24px;
|
||||
.adf-content-node-selector-dialog-title {
|
||||
font-size: var(--theme-title-font-size);
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
@@ -68,17 +55,7 @@ adf-content-node-selector {
|
||||
}
|
||||
}
|
||||
|
||||
.mat-dialog-container {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.mat-dialog-content {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mat-dialog-actions {
|
||||
.adf-content-node-selector-dialog-actions {
|
||||
padding: 8px;
|
||||
height: 61px;
|
||||
background-color: var(--theme-background-color);
|
||||
@@ -102,10 +79,10 @@ adf-content-node-selector {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.mat-dialog-container {
|
||||
height: 100vh;
|
||||
}
|
||||
@media screen and (max-width: 768px) {
|
||||
.adf-content-node-selector-dialog {
|
||||
height: 100vh;
|
||||
}
|
||||
}
|
||||
|
||||
+42
-38
@@ -35,6 +35,9 @@ import { NodeAction } from '../document-list/models/node-action.enum';
|
||||
import { SitesService } from '../common/services/sites.service';
|
||||
import { NodesApiService } from '../common/services/nodes-api.service';
|
||||
import { ContentService } from '../common/services/content.service';
|
||||
import { HarnessLoader } from '@angular/cdk/testing';
|
||||
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
|
||||
import { MatTabGroupHarness } from '@angular/material/tabs/testing';
|
||||
|
||||
describe('ContentNodeSelectorComponent', () => {
|
||||
let component: ContentNodeSelectorComponent;
|
||||
@@ -42,6 +45,7 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
let data: any;
|
||||
let uploadService: UploadService;
|
||||
let dialog: MatDialogRef<ContentNodeSelectorComponent>;
|
||||
let loader: HarnessLoader;
|
||||
|
||||
beforeEach(() => {
|
||||
data = {
|
||||
@@ -86,6 +90,7 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
|
||||
fixture = TestBed.createComponent(ContentNodeSelectorComponent);
|
||||
component = fixture.componentInstance;
|
||||
loader = TestbedHarnessEnvironment.loader(fixture);
|
||||
|
||||
const contentService = TestBed.inject(ContentService);
|
||||
spyOn(contentService, 'hasAllowableOperations').and.returnValue(true);
|
||||
@@ -121,13 +126,11 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
component.isLoading = false;
|
||||
};
|
||||
|
||||
const getTabLabel = (idx: number) => fixture.debugElement.queryAll(By.css('.mat-tab-label'))[idx];
|
||||
const selectTabByIndex = async (tabIndex: number): Promise<void> => {
|
||||
const tabGroup = await loader.getHarness(MatTabGroupHarness.with({ selector: '.adf-content-node-selector-dialog-content' }));
|
||||
const tabToSelect = (await tabGroup.getTabs())[tabIndex];
|
||||
|
||||
const selectTabByIndex = (tabIndex: number) => {
|
||||
const uploadFromLocalTab = getTabLabel(tabIndex);
|
||||
const attributes = uploadFromLocalTab.nativeNode.attributes as NamedNodeMap;
|
||||
const tabPositionInSet = Number(attributes.getNamedItem('aria-posinset').value) - 1;
|
||||
component.onTabSelectionChange(tabPositionInSet);
|
||||
return tabToSelect.select();
|
||||
};
|
||||
|
||||
describe('Data injecting with the "Material dialog way"', () => {
|
||||
@@ -260,39 +263,38 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
describe('Upload button', () => {
|
||||
const getUploadButton = () => fixture.debugElement.query(By.css('adf-upload-button button'))?.nativeElement as HTMLButtonElement;
|
||||
|
||||
it('Should not be able to upload a file whilst a search is still running', () => {
|
||||
it('Should not be able to upload a file whilst a search is still running', async () => {
|
||||
enableLocalUpload();
|
||||
fixture.detectChanges();
|
||||
|
||||
const tabGroup = await loader.getHarness(MatTabGroupHarness.with({ selector: '.adf-content-node-selector-dialog-content' }));
|
||||
const uploadFromLocalTab = (await tabGroup.getTabs())[1];
|
||||
let infoMatIcon = getTabInfoButton();
|
||||
let uploadFromLocalTab = getTabLabel(1);
|
||||
|
||||
expect(uploadFromLocalTab.nativeElement.getAttribute('aria-disabled')).toBe('false');
|
||||
expect(await uploadFromLocalTab.isDisabled()).toBeFalse();
|
||||
expect(infoMatIcon).toBeFalsy();
|
||||
|
||||
component.showingSearch = true;
|
||||
fixture.detectChanges();
|
||||
|
||||
uploadFromLocalTab = getTabLabel(1);
|
||||
infoMatIcon = getTabInfoButton();
|
||||
|
||||
expect(uploadFromLocalTab.nativeElement.getAttribute('aria-disabled')).toBe('true');
|
||||
expect(await uploadFromLocalTab.isDisabled()).toBeTrue();
|
||||
expect(infoMatIcon).toBeTruthy();
|
||||
expect(component.getWarningMessage()).toEqual('NODE_SELECTOR.UPLOAD_BUTTON_SEARCH_WARNING_MESSAGE');
|
||||
|
||||
component.showingSearch = false;
|
||||
fixture.detectChanges();
|
||||
|
||||
uploadFromLocalTab = getTabLabel(1);
|
||||
infoMatIcon = getTabInfoButton();
|
||||
|
||||
expect(uploadFromLocalTab.nativeElement.getAttribute('aria-disabled')).toBe('false');
|
||||
expect(await uploadFromLocalTab.isDisabled()).toBeFalse();
|
||||
expect(infoMatIcon).toBeFalsy();
|
||||
});
|
||||
|
||||
it('should be able to show upload button if showLocalUploadButton set to true', async () => {
|
||||
enableLocalUpload();
|
||||
selectTabByIndex(1);
|
||||
await selectTabByIndex(1);
|
||||
|
||||
fixture.detectChanges();
|
||||
const adfUploadButton = fixture.debugElement.query(By.css('adf-upload-button'));
|
||||
@@ -301,8 +303,8 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
expect(adfUploadButton.nativeElement.textContent).toEqual('file_uploadFORM.FIELD.UPLOAD');
|
||||
});
|
||||
|
||||
it('should be able to disable UploadButton if showingSearch set to true', () => {
|
||||
selectTabByIndex(1);
|
||||
it('should be able to disable UploadButton if showingSearch set to true', async () => {
|
||||
await selectTabByIndex(1);
|
||||
component.showingSearch = true;
|
||||
component.hasAllowableOperations = true;
|
||||
|
||||
@@ -313,8 +315,8 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
expect(adfUploadButton.disabled).toBe(true);
|
||||
});
|
||||
|
||||
it('should be able to enable UploadButton if showingSearch set to false', () => {
|
||||
selectTabByIndex(1);
|
||||
it('should be able to enable UploadButton if showingSearch set to false', async () => {
|
||||
await selectTabByIndex(1);
|
||||
component.showingSearch = false;
|
||||
component.hasAllowableOperations = true;
|
||||
|
||||
@@ -325,11 +327,11 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
expect(adfUploadButton.disabled).toBe(false);
|
||||
});
|
||||
|
||||
it('should be able to show warning message while searching', () => {
|
||||
it('should be able to show warning message while searching', async () => {
|
||||
component.data.showLocalUploadButton = true;
|
||||
component.showingSearch = true;
|
||||
component.hasAllowableOperations = false;
|
||||
selectTabByIndex(1);
|
||||
await selectTabByIndex(1);
|
||||
|
||||
fixture.detectChanges();
|
||||
const infoMatIcon = getTabInfoButton();
|
||||
@@ -351,9 +353,11 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
expect(warningMessage).toBeNull();
|
||||
});
|
||||
|
||||
it('should be able to disable UploadButton if user does not have allowable operations', () => {
|
||||
it('should be able to disable UploadButton if user does not have allowable operations', async () => {
|
||||
component.hasAllowableOperations = false;
|
||||
selectTabByIndex(1);
|
||||
|
||||
await selectTabByIndex(1);
|
||||
component.onTabSelectionChange(1);
|
||||
|
||||
fixture.detectChanges();
|
||||
const adfUploadButton = getUploadButton();
|
||||
@@ -362,8 +366,8 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
expect(adfUploadButton.disabled).toBe(true);
|
||||
});
|
||||
|
||||
it('should be able to enable UploadButton if user has allowable operations', () => {
|
||||
selectTabByIndex(1);
|
||||
it('should be able to enable UploadButton if user has allowable operations', async () => {
|
||||
await selectTabByIndex(1);
|
||||
component.hasAllowableOperations = true;
|
||||
|
||||
fixture.detectChanges();
|
||||
@@ -373,21 +377,21 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
expect(adfUploadButton.disabled).toBe(false);
|
||||
});
|
||||
|
||||
it('should not be able to show warning message if user has allowable operations', () => {
|
||||
it('should not be able to show warning message if user has allowable operations', async () => {
|
||||
enableLocalUpload();
|
||||
selectTabByIndex(1);
|
||||
await selectTabByIndex(1);
|
||||
fixture.detectChanges();
|
||||
const warningMessage = fixture.debugElement.query(By.css('.adf-content-node-upload-button-warning-message span'));
|
||||
|
||||
expect(warningMessage).toBeNull();
|
||||
});
|
||||
|
||||
it('should be able to show warning message if user does not have allowable operations', () => {
|
||||
it('should be able to show warning message if user does not have allowable operations', async () => {
|
||||
component.data.showLocalUploadButton = true;
|
||||
component.hasAllowableOperations = false;
|
||||
component.showingSearch = false;
|
||||
component.isLoading = false;
|
||||
selectTabByIndex(1);
|
||||
await selectTabByIndex(1);
|
||||
|
||||
fixture.detectChanges();
|
||||
const infoMatIcon = getTabInfoButton();
|
||||
@@ -412,15 +416,15 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
});
|
||||
|
||||
describe('Tabs', () => {
|
||||
it('should isFileServerTabSelected return true when tabIndex 0 is selected', () => {
|
||||
selectTabByIndex(0);
|
||||
it('should isFileServerTabSelected return true when tabIndex 0 is selected', async () => {
|
||||
await selectTabByIndex(0);
|
||||
|
||||
expect(component.isFileServerTabSelected()).toEqual(true);
|
||||
});
|
||||
|
||||
it('should isLocalUploadTabSelected return true when tabIndex 1 is selected', () => {
|
||||
it('should isLocalUploadTabSelected return true when tabIndex 1 is selected', async () => {
|
||||
enableLocalUpload();
|
||||
selectTabByIndex(1);
|
||||
await selectTabByIndex(1);
|
||||
|
||||
expect(component.isLocalUploadTabSelected()).toEqual(true);
|
||||
});
|
||||
@@ -428,9 +432,11 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
it('should tabs be headless when local upload is not enabled', () => {
|
||||
component.data.showLocalUploadButton = false;
|
||||
fixture.detectChanges();
|
||||
const tabGroup = fixture.debugElement.queryAll(By.css('.adf-content-node-selector-headless-tabs'))[0];
|
||||
const tabGroup = fixture.debugElement.queryAll(By.css('.adf-content-node-selector-dialog-content'))[0];
|
||||
const nodePanel = fixture.debugElement.queryAll(By.css('.adf-content-node-selector-panel'))[0];
|
||||
|
||||
expect(tabGroup).not.toBe(undefined);
|
||||
expect(tabGroup).toBeUndefined();
|
||||
expect(nodePanel).not.toBeUndefined();
|
||||
});
|
||||
|
||||
it('should tabs show headers when local upload is enabled', () => {
|
||||
@@ -458,8 +464,7 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
|
||||
it('should show drag and drop area with the empty list template when no upload has started', async () => {
|
||||
enableLocalUpload();
|
||||
const uploadFromLocalTab = getTabLabel(1);
|
||||
uploadFromLocalTab.nativeElement.click();
|
||||
await selectTabByIndex(1);
|
||||
|
||||
fixture.detectChanges();
|
||||
await fixture.whenRenderingDone();
|
||||
@@ -473,8 +478,7 @@ describe('ContentNodeSelectorComponent', () => {
|
||||
|
||||
it('should not show the empty list template when an upload has started', async () => {
|
||||
enableLocalUpload();
|
||||
const uploadFromLocalTab = getTabLabel(1);
|
||||
uploadFromLocalTab.nativeElement.click();
|
||||
await selectTabByIndex(1);
|
||||
|
||||
component.uploadStarted = true;
|
||||
fixture.detectChanges();
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
</form>
|
||||
<hr class="adf-share-link__separation-line" />
|
||||
</mat-dialog-content>
|
||||
<div mat-dialog-actions>
|
||||
<div class="adf-share-link__actions" mat-dialog-actions>
|
||||
<button data-automation-id="adf-share-dialog-close" mat-button color="primary" mat-dialog-close>
|
||||
{{ 'SHARE.CLOSE' | translate }}
|
||||
</button>
|
||||
|
||||
@@ -97,20 +97,14 @@
|
||||
|
||||
.adf-full-width {
|
||||
width: 100%;
|
||||
background-color: var(--theme-grey-text-background-color);
|
||||
border-radius: 6px;
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
.adf-sharable-link {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.mat-form-field-infix {
|
||||
border-top: unset;
|
||||
}
|
||||
|
||||
.mat-dialog-actions {
|
||||
.adf-share-link__actions {
|
||||
justify-content: flex-end;
|
||||
padding: 0;
|
||||
margin: 8px 0 0;
|
||||
@@ -121,37 +115,4 @@
|
||||
margin-right: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.mat-form-field-flex {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.mat-dialog-container {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.mat-form-field-appearance-legacy .mat-form-field-underline {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
|
||||
padding-bottom: 8px;
|
||||
margin-right: 8px;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 380px) {
|
||||
.mat-dialog-container {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.mat-dialog-actions {
|
||||
margin-bottom: 0;
|
||||
padding: 2px 0;
|
||||
}
|
||||
|
||||
.mat-form-field-suffix {
|
||||
padding-left: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
.adf {
|
||||
&-content-type-dialog {
|
||||
.mat-expansion-panel {
|
||||
margin-bottom: 10px;
|
||||
& .adf-content-type-accordion {
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
&-content-type-accordion {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
&-content-type-dialog-title {
|
||||
font-size: large;
|
||||
font-weight: 200;
|
||||
|
||||
@@ -24,6 +24,10 @@ import { ContentTypeDialogComponent } from './content-type-dialog.component';
|
||||
import { ContentTypeService } from './content-type.service';
|
||||
import { ContentTypeDialogComponentData } from './content-type-metadata.interface';
|
||||
import { TypeEntry } from '@alfresco/js-api';
|
||||
import { HarnessLoader } from '@angular/cdk/testing';
|
||||
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
|
||||
import { MatExpansionPanelHarness } from '@angular/material/expansion/testing';
|
||||
import { MatTableHarness } from '@angular/material/table/testing';
|
||||
|
||||
const elementCustom: TypeEntry = {
|
||||
entry: {
|
||||
@@ -82,6 +86,7 @@ describe('Content Type Dialog Component', () => {
|
||||
let fixture: ComponentFixture<ContentTypeDialogComponent>;
|
||||
let contentTypeService: ContentTypeService;
|
||||
let data: ContentTypeDialogComponentData;
|
||||
let loader: HarnessLoader;
|
||||
|
||||
beforeEach(async () => {
|
||||
data = {
|
||||
@@ -116,6 +121,7 @@ describe('Content Type Dialog Component', () => {
|
||||
contentTypeService = TestBed.inject(ContentTypeService);
|
||||
spyOn(contentTypeService, 'getContentTypeByPrefix').and.returnValue(of(elementCustom));
|
||||
fixture = TestBed.createComponent(ContentTypeDialogComponent);
|
||||
loader = TestbedHarnessEnvironment.loader(fixture);
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
@@ -147,13 +153,11 @@ describe('Content Type Dialog Component', () => {
|
||||
});
|
||||
|
||||
it('should show the property with the aspect prefix not the inherited ones', async () => {
|
||||
const showPropertyAccordion: HTMLButtonElement = fixture.nativeElement.querySelector('.adf-content-type-accordion .mat-expansion-panel-header');
|
||||
expect(showPropertyAccordion).toBeDefined();
|
||||
showPropertyAccordion.click();
|
||||
fixture.detectChanges();
|
||||
await fixture.whenStable();
|
||||
const propertyShowed: NodeList = fixture.nativeElement.querySelectorAll('.adf-content-type-table .mat-row');
|
||||
expect(propertyShowed.length).toBe(3);
|
||||
await (await loader.getHarness(MatExpansionPanelHarness)).toggle();
|
||||
|
||||
const table = await loader.getHarness(MatTableHarness.with({ selector: '.adf-content-type-table' }));
|
||||
|
||||
expect((await table.getRows()).length).toBe(3);
|
||||
});
|
||||
|
||||
it('should emit true when apply is clicked', (done) => {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<span *ngIf="showName" id="adf-userinfo-ecm-name-display" class="adf-userinfo-name">
|
||||
{{ecmUser | fullName}}
|
||||
</span>
|
||||
<button mat-button [matMenuTriggerFor]="menu" class="adf-userinfo-menu_button"
|
||||
<button mat-button [matMenuTriggerFor]="menu" class="adf-userinfo-menu_button adf-content-userinfo-button"
|
||||
data-automation-id="adf-user-profile">
|
||||
<div class="adf-userinfo-button-profile" id="user-profile">
|
||||
<div *ngIf="identityUser; else showEcmUserImage" id="identity-user-image">
|
||||
@@ -38,72 +38,64 @@
|
||||
|
||||
<mat-menu #menu="matMenu" id="user-profile-lists" [xPosition]="menuPositionX" [yPosition]="menuPositionY"
|
||||
[overlapTrigger]="false" class="adf-userinfo-menu">
|
||||
<mat-tab-group id="tab-group-env" (click)="stopClosing($event)" selectedIndex="0" role="menuitem"
|
||||
class="adf-userinfo-tab adf-hide-tab">
|
||||
<mat-tab label="{{ 'USER_PROFILE.TAB.CS' | translate }}" role="dialog"
|
||||
*ngIf="mode === userInfoMode.CONTENT">
|
||||
<mat-card class="adf-userinfo-card">
|
||||
<mat-card-header class="adf-userinfo-card-header"
|
||||
[style.background-image]="'url(' + ecmBackgroundImage + ')'">
|
||||
<div *ngIf="ecmUser.avatarId; else initialTemplate"
|
||||
class="adf-userinfo-profile-container adf-hide-small">
|
||||
<img class="adf-userinfo-profile-picture" id="ecm-user-detail-image"
|
||||
alt="ecm-profile-image" [src]="getEcmAvatar(ecmUser.avatarId)"/>
|
||||
</div>
|
||||
<ng-template #initialTemplate>
|
||||
<div
|
||||
[outerHTML]="ecmUser | usernameInitials:'adf-userinfo-profile-initials adf-hide-small'"></div>
|
||||
</ng-template>
|
||||
<mat-card *ngIf="mode === userInfoMode.CONTENT" class="adf-userinfo-card adf-content-userinfo-card">
|
||||
<mat-card-header class="adf-userinfo-card-header"
|
||||
[style.background-image]="'url(' + ecmBackgroundImage + ')'">
|
||||
<div *ngIf="ecmUser.avatarId; else initialTemplate"
|
||||
class="adf-userinfo-profile-container adf-hide-small">
|
||||
<img class="adf-userinfo-profile-picture" id="ecm-user-detail-image"
|
||||
alt="ecm-profile-image" [src]="getEcmAvatar(ecmUser.avatarId)"/>
|
||||
</div>
|
||||
<ng-template #initialTemplate>
|
||||
<div
|
||||
[outerHTML]="ecmUser | usernameInitials:'adf-userinfo-profile-initials adf-hide-small'"></div>
|
||||
</ng-template>
|
||||
|
||||
<div class="mat-title" id="ecm-username">{{ecmUser | fullName}}</div>
|
||||
</mat-card-header>
|
||||
<mat-card-content>
|
||||
<div class="adf-userinfo-supporting-text">
|
||||
<div class="adf-userinfo-detail">
|
||||
<h2 id="ecm-full-name"
|
||||
class="adf-userinfo__detail-title">{{ecmUser | fullName}}</h2>
|
||||
<span id="ecm-email"> {{ecmUser.email}} </span>
|
||||
<a href="#/profile">
|
||||
{{ 'USER_PROFILE.LABELS.MY_PROFILE' | translate }}</a>
|
||||
</div>
|
||||
<div class="adf-userinfo-detail">
|
||||
<div class="mat-title" id="ecm-username">{{ecmUser | fullName}}</div>
|
||||
</mat-card-header>
|
||||
<mat-card-content>
|
||||
<div class="adf-userinfo-supporting-text">
|
||||
<div class="adf-userinfo-detail">
|
||||
<h2 id="ecm-full-name"
|
||||
class="adf-userinfo__detail-title">{{ecmUser | fullName}}</h2>
|
||||
<span id="ecm-email"> {{ecmUser.email}} </span>
|
||||
<a href="#/profile">
|
||||
{{ 'USER_PROFILE.LABELS.MY_PROFILE' | translate }}</a>
|
||||
</div>
|
||||
<div class="adf-userinfo-detail">
|
||||
<span class="adf-userinfo__secondary-info" id="ecm-job-title-label">
|
||||
{{ 'USER_PROFILE.LABELS.ECM.JOB_TITLE' | translate }}
|
||||
<span id="ecm-job-title"> {{ ecmUser.jobTitle ? ecmUser.jobTitle : 'N/A' }} </span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
</mat-tab>
|
||||
<mat-tab id="identity-panel" role="dialog" *ngIf="mode === userInfoMode.CONTENT_SSO">
|
||||
<mat-card class="adf-userinfo-card">
|
||||
<mat-card-header class="adf-userinfo-card-header"
|
||||
[style.background-image]="'url(' + bpmBackgroundImage + ')'">
|
||||
<div *ngIf="ecmUser.avatarId; else initialTemplate"
|
||||
class="adf-userinfo-profile-container adf-hide-small">
|
||||
<img class="adf-userinfo-profile-picture" id="ecm-user-detail-image"
|
||||
alt="ecm-profile-image" [src]="getEcmAvatar(ecmUser.avatarId)"/>
|
||||
</div>
|
||||
<ng-template #initialTemplate>
|
||||
<div
|
||||
[outerHTML]="identityUser | usernameInitials:'adf-userinfo-profile-initials adf-hide-small'"></div>
|
||||
</ng-template>
|
||||
<div class="mat-title" id="identity-username">{{identityUser | fullName}}</div>
|
||||
</mat-card-header>
|
||||
<mat-card-content>
|
||||
<div class="adf-userinfo-supporting-text">
|
||||
<div class="adf-userinfo-detail">
|
||||
<h2 id="identity-full-name"
|
||||
class="adf-userinfo__detail-title">{{identityUser | fullName}}</h2>
|
||||
<span id="identity-email"> {{identityUser.email}} </span>
|
||||
<a href="#/profile">
|
||||
{{ 'USER_PROFILE.LABELS.MY_PROFILE' | translate }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
</div>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<mat-card *ngIf="mode === userInfoMode.CONTENT_SSO" class="adf-userinfo-card adf-content-userinfo-card">
|
||||
<mat-card-header class="adf-userinfo-card-header"
|
||||
[style.background-image]="'url(' + bpmBackgroundImage + ')'">
|
||||
<div *ngIf="ecmUser.avatarId; else initialTemplate"
|
||||
class="adf-userinfo-profile-container adf-hide-small">
|
||||
<img class="adf-userinfo-profile-picture" id="ecm-user-detail-image"
|
||||
alt="ecm-profile-image" [src]="getEcmAvatar(ecmUser.avatarId)"/>
|
||||
</div>
|
||||
<ng-template #initialTemplate>
|
||||
<div
|
||||
[outerHTML]="identityUser | usernameInitials:'adf-userinfo-profile-initials adf-hide-small'"></div>
|
||||
</ng-template>
|
||||
<div class="mat-title" id="identity-username">{{identityUser | fullName}}</div>
|
||||
</mat-card-header>
|
||||
<mat-card-content>
|
||||
<div class="adf-userinfo-supporting-text">
|
||||
<div class="adf-userinfo-detail">
|
||||
<h2 id="identity-full-name"
|
||||
class="adf-userinfo__detail-title">{{identityUser | fullName}}</h2>
|
||||
<span id="identity-email"> {{identityUser.email}} </span>
|
||||
<a href="#/profile">
|
||||
{{ 'USER_PROFILE.LABELS.MY_PROFILE' | translate }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
</mat-menu>
|
||||
</div>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&-userinfo-menu_button.mat-button {
|
||||
&-userinfo-menu_button.adf-content-userinfo-button {
|
||||
margin-right: 0;
|
||||
border-radius: 90%;
|
||||
padding: 0;
|
||||
@@ -57,21 +57,6 @@
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
&-userinfo-tab .mat-tab-header {
|
||||
align-self: center;
|
||||
width: 100%;
|
||||
min-width: 250px;
|
||||
}
|
||||
|
||||
&-userinfo-tab .mat-tab-label {
|
||||
flex: auto;
|
||||
font-weight: 500;
|
||||
font-size: var(--theme-body-1-font-size);
|
||||
text-transform: uppercase;
|
||||
line-height: 48px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&-userinfo-card-header {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
@@ -81,7 +66,7 @@
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
&-userinfo-card.mat-card {
|
||||
&-userinfo-card.adf-content-userinfo-card {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@@ -146,14 +131,10 @@
|
||||
&-userinfo-detail {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&-hide-tab .mat-tab-label-active {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-device-width: 480px) {
|
||||
.mat-menu-panel.adf-userinfo-menu {
|
||||
.adf-content-userinfo-menu.adf-userinfo-menu {
|
||||
max-height: 450px;
|
||||
min-width: 450px;
|
||||
overflow: auto;
|
||||
@@ -161,6 +142,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.mat-menu-panel.adf-userinfo-menu .mat-menu-content {
|
||||
.adf-content-userinfo-menu.adf-userinfo-menu > div {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@@ -217,14 +217,6 @@ describe('ContentUserInfoComponent', () => {
|
||||
expect(ecmJobTitle.nativeElement.textContent).toContain('N/A');
|
||||
});
|
||||
|
||||
it('should not show the tabs', () => {
|
||||
const imageButton = element.querySelector<HTMLButtonElement>('[data-automation-id="user-initials-image"]');
|
||||
imageButton.click();
|
||||
fixture.detectChanges();
|
||||
const tabHeader = fixture.debugElement.query(By.css('#tab-group-env'));
|
||||
expect(tabHeader.classes['adf-hide-tab']).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should display the current user Initials if the user dose not have avatarId', () => {
|
||||
fixture.detectChanges();
|
||||
const pipe = new InitialUsernamePipe(new FakeSanitizer());
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
</mat-dialog-content>
|
||||
<mat-dialog-actions>
|
||||
<span class="adf-dialog-spacer" data-automation-id="adf-confirm-dialog-spacer"></span>
|
||||
<button id="adf-confirm-accept" mat-button color="primary" data-automation-id="adf-confirm-dialog-confirmation"
|
||||
<button id="adf-confirm-accept" class="adf-confirm-dialog-button" mat-button color="primary" data-automation-id="adf-confirm-dialog-confirmation"
|
||||
[mat-dialog-close]="true">{{ yesLabel | translate }}</button>
|
||||
<button id="adf-confirm-all" mat-button *ngIf="thirdOptionLabel" [mat-dialog-close]="thirdOptionLabel" data-automation-id="adf-confirm-dialog-confirm-all">{{ thirdOptionLabel | translate }}</button>
|
||||
<button id="adf-confirm-cancel" mat-button [mat-dialog-close]="false" data-automation-id="adf-confirm-dialog-reject"
|
||||
<button id="adf-confirm-all" class="adf-confirm-dialog-button" mat-button *ngIf="thirdOptionLabel" [mat-dialog-close]="thirdOptionLabel" data-automation-id="adf-confirm-dialog-confirm-all">{{ thirdOptionLabel | translate }}</button>
|
||||
<button id="adf-confirm-cancel" class="adf-confirm-dialog-button" mat-button [mat-dialog-close]="false" data-automation-id="adf-confirm-dialog-reject"
|
||||
cdkFocusInitial>{{ noLabel | translate }}</button>
|
||||
</mat-dialog-actions>
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.adf-confirm-dialog .mat-dialog-actions .mat-button-wrapper {
|
||||
text-transform: uppercase;
|
||||
.adf-confirm-dialog {
|
||||
& .adf-confirm-dialog-button {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<mat-progress-bar color="primary" mode="indeterminate"></mat-progress-bar>
|
||||
</div>
|
||||
<mat-dialog-actions align="end">
|
||||
<button mat-button color="primary" id="cancel-button" (click)="cancelDownload()">
|
||||
<button class="adf-download-zip-dialog-button" mat-button color="primary" id="cancel-button" (click)="cancelDownload()">
|
||||
{{ 'CORE.DIALOG.DOWNLOAD_ZIP.ACTIONS.CANCEL' | translate }}
|
||||
</button>
|
||||
</mat-dialog-actions>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
.adf-download-zip-dialog .mat-dialog-actions .mat-button-wrapper {
|
||||
.adf-download-zip-dialog-button {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { DownloadBodyCreate, DownloadEntry, Node } from '@alfresco/js-api';
|
||||
import { DownloadBodyCreate, DownloadEntry, DownloadsApi, Node } from '@alfresco/js-api';
|
||||
import { from, Observable, of, ReplaySubject, Subject } from 'rxjs';
|
||||
import { catchError } from 'rxjs/internal/operators/catchError';
|
||||
import { zipNode, downloadEntry } from './download-zip-data.mock';
|
||||
@@ -40,7 +40,7 @@ class AlfrescoApiMock {
|
||||
}
|
||||
|
||||
export class ContentApiMock {
|
||||
getContentUrl = (_: string, _1?: boolean, _2?: string): string => zipNode.entry.contentUrl;
|
||||
getContentUrl = (): string => zipNode.entry.contentUrl;
|
||||
}
|
||||
|
||||
class CoreMock {
|
||||
@@ -49,19 +49,19 @@ class CoreMock {
|
||||
}
|
||||
|
||||
export class NodesApiMock {
|
||||
getNode = (_: string, _2?: any): any => of(zipNode.entry);
|
||||
getNode = (): any => of(zipNode.entry);
|
||||
}
|
||||
|
||||
class DownloadsApiMock {
|
||||
createDownload = (_: DownloadBodyCreate, _2?: any): Promise<DownloadEntry> => Promise.resolve(downloadEntry);
|
||||
class DownloadsApiMock extends DownloadsApi {
|
||||
createDownload = (): Promise<DownloadEntry> => Promise.resolve(downloadEntry);
|
||||
|
||||
getDownload = (_: string, _2?: any): Promise<DownloadEntry> => Promise.resolve(downloadEntry);
|
||||
cancelDownload(_: string) {}
|
||||
getDownload = (): Promise<DownloadEntry> => Promise.resolve(downloadEntry);
|
||||
cancelDownload = () => Promise.resolve(true);
|
||||
}
|
||||
|
||||
export class DownloadZipMockService {
|
||||
private _downloadsApi: DownloadsApiMock;
|
||||
get downloadsApi(): DownloadsApiMock {
|
||||
private _downloadsApi: DownloadsApi;
|
||||
get downloadsApi(): DownloadsApi {
|
||||
this._downloadsApi = this._downloadsApi ?? new DownloadsApiMock();
|
||||
return this._downloadsApi;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<h2 data-automation-id="adf-folder-dialog-title" mat-dialog-title>
|
||||
<h2 data-automation-id="adf-folder-dialog-title" class="adf-folder-dialog-title" mat-dialog-title>
|
||||
{{ (editing ? editTitle : createTitle) | translate }}
|
||||
</h2>
|
||||
|
||||
|
||||
@@ -6,21 +6,6 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adf-lock-file-name {
|
||||
.mat-checkbox-layout {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mat-checkbox-label {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mat-checkbox-inner-container {
|
||||
margin: auto 8px auto 0;
|
||||
}
|
||||
}
|
||||
|
||||
.adf-dialog-buttons button {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
@@ -34,11 +19,7 @@
|
||||
}
|
||||
|
||||
@media screen and (max-width: 380px) {
|
||||
.mat-form-field {
|
||||
font-size: 6px;
|
||||
}
|
||||
|
||||
.mat-dialog-title {
|
||||
.adf-folder-dialog-title {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<mat-dialog-content>
|
||||
<form novalidate [formGroup]="form" (submit)="submit()">
|
||||
<mat-form-field>
|
||||
<mat-form-field class="adf-library-dialog-form-field">
|
||||
<input
|
||||
placeholder="{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}"
|
||||
required
|
||||
@@ -28,7 +28,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-form-field class="adf-library-dialog-form-field">
|
||||
<input
|
||||
required
|
||||
placeholder="{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}"
|
||||
@@ -46,7 +46,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-form-field class="adf-library-dialog-form-field">
|
||||
<textarea
|
||||
matInput
|
||||
placeholder="{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}"
|
||||
@@ -60,12 +60,14 @@
|
||||
</mat-form-field>
|
||||
|
||||
<mat-radio-group
|
||||
class="adf-library-dialog-radio-group"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
[(ngModel)]="visibilityOption"
|
||||
(change)="visibilityChangeHandler($event)"
|
||||
>
|
||||
<mat-radio-button
|
||||
color="primary"
|
||||
class="adf-library-dialog-radio-group-button"
|
||||
[disabled]="option.disabled"
|
||||
*ngFor="let option of visibilityOptions"
|
||||
[attr.data-automation-id]="option.value"
|
||||
@@ -79,12 +81,13 @@
|
||||
</mat-dialog-content>
|
||||
|
||||
<mat-dialog-actions class="adf-action-buttons">
|
||||
<button mat-button mat-dialog-close data-automation-id="cancel-library-id">
|
||||
<button class="adf-action-button" mat-button mat-dialog-close data-automation-id="cancel-library-id">
|
||||
{{ 'LIBRARY.DIALOG.CANCEL' | translate }}
|
||||
</button>
|
||||
|
||||
<button
|
||||
color="primary"
|
||||
class="adf-action-button"
|
||||
mat-button
|
||||
(click)="submit()"
|
||||
[disabled]="!form.valid || disableCreateButton"
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
.adf-library-dialog {
|
||||
.mat-radio-group {
|
||||
.adf-library-dialog-radio-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 0 20px;
|
||||
}
|
||||
|
||||
.mat-radio-group .mat-radio-button {
|
||||
.adf-library-dialog-radio-group .adf-library-dialog-radio-group-button {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.mat-form-field {
|
||||
.adf-library-dialog-form-field {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
mat-form-field {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
@@ -22,7 +19,7 @@
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
|
||||
.mat-button {
|
||||
.adf-action-button {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ export class LibraryDialogComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
private handleError(error: any): any {
|
||||
let errorMessage = 'CORE.MESSAGES.ERRORS.GENERIC';
|
||||
const errorMessage = 'CORE.MESSAGES.ERRORS.GENERIC';
|
||||
|
||||
try {
|
||||
const {
|
||||
|
||||
+4
-4
@@ -912,15 +912,15 @@ describe('DocumentList', () => {
|
||||
documentList.dataTable.columnsWidthChanged.emit(newColumnWidth as DataColumn[]);
|
||||
|
||||
expect(documentList.onColumnsWidthChange).toHaveBeenCalledWith(newColumnWidth);
|
||||
expect(documentList.columnsWidthChanged.emit).toHaveBeenCalledWith({'tag': 65, 'name': 77});
|
||||
expect(documentList.columnsWidthChanged.emit).toHaveBeenCalledWith({tag: 65, name: 77});
|
||||
});
|
||||
|
||||
it('should emit new columns visibility', () => {
|
||||
const newColumnsVisisbility = [{key: 'key', type: 'text', id: 'tag', isHidden: true}, {key: 'key1', type: 'text', id: 'name'}];
|
||||
const newColumnsVisibility = [{key: 'key', type: 'text', id: 'tag', isHidden: true}, {key: 'key1', type: 'text', id: 'name'}];
|
||||
spyOn(documentList.columnsVisibilityChanged, 'emit');
|
||||
documentList.onColumnsVisibilityChange(newColumnsVisisbility as DataColumn[]);
|
||||
documentList.onColumnsVisibilityChange(newColumnsVisibility as DataColumn[]);
|
||||
|
||||
expect(documentList.columnsVisibilityChanged.emit).toHaveBeenCalledWith({'tag': false});
|
||||
expect(documentList.columnsVisibilityChanged.emit).toHaveBeenCalledWith({tag: false});
|
||||
});
|
||||
|
||||
it('should perform folder navigation on single click', () => {
|
||||
|
||||
@@ -108,7 +108,7 @@ export class ShareDataRow implements DataRow {
|
||||
}
|
||||
|
||||
getValue(key: string): any {
|
||||
if (this.cache[key] !== undefined) {
|
||||
if (this.cache[key]) {
|
||||
return this.cache[key];
|
||||
}
|
||||
return ObjectUtils.getValue(this.obj.entry, key);
|
||||
|
||||
@@ -101,7 +101,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
|
||||
}
|
||||
const dataRow = row as ShareDataRow;
|
||||
const value: any = row.getValue(col.key);
|
||||
if (dataRow.cache[col.key] !== undefined) {
|
||||
if (dataRow.cache[col.key]) {
|
||||
return dataRow.cache[col.key];
|
||||
}
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ export class CustomResourcesService {
|
||||
language: 'afts'
|
||||
},
|
||||
filterQueries,
|
||||
include: ['path', 'properties', 'allowableOperations'],
|
||||
include: ['path', 'properties', 'allowableOperations', 'aspectNames'],
|
||||
sort: [
|
||||
{
|
||||
type: 'FIELD',
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { ContentTestingModule } from '../../testing/content.testing.module';
|
||||
import { GroupService } from '@alfresco/adf-content-services';
|
||||
import { ContentIncludeQuery, GroupEntry } from '@alfresco/js-api';
|
||||
|
||||
describe('GroupService', () => {
|
||||
let service: GroupService;
|
||||
let group: GroupEntry;
|
||||
let returnedGroup: GroupEntry;
|
||||
let opts: ContentIncludeQuery;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [ContentTestingModule]
|
||||
});
|
||||
service = TestBed.inject(GroupService);
|
||||
group = {
|
||||
entry: {
|
||||
id: 'some id',
|
||||
displayName: 'some name',
|
||||
description: 'some description'
|
||||
}
|
||||
};
|
||||
returnedGroup = JSON.parse(JSON.stringify(group));
|
||||
opts = {
|
||||
include: ['description']
|
||||
};
|
||||
});
|
||||
|
||||
describe('getGroup', () => {
|
||||
it('should return group returned by GroupsApi', (done) => {
|
||||
spyOn(service.groupsApi, 'getGroup').and.returnValue(Promise.resolve(returnedGroup));
|
||||
|
||||
service.getGroup(group.entry.id, opts).subscribe((groupEntry) => {
|
||||
expect(groupEntry).toBe(returnedGroup);
|
||||
expect(service.groupsApi.getGroup).toHaveBeenCalledWith(group.entry.id, {
|
||||
include: ['description']
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should return group returned by GroupsApi when description is not supplied', (done) => {
|
||||
returnedGroup.entry.description = undefined;
|
||||
spyOn(service.groupsApi, 'getGroup').and.returnValue(Promise.resolve(returnedGroup));
|
||||
|
||||
service.getGroup(group.entry.id, opts).subscribe((groupEntry) => {
|
||||
expect(groupEntry).toEqual({
|
||||
entry: {
|
||||
id: returnedGroup.entry.id,
|
||||
displayName: returnedGroup.entry.displayName,
|
||||
description: ''
|
||||
}
|
||||
});
|
||||
expect(service.groupsApi.getGroup).toHaveBeenCalledWith(group.entry.id, {
|
||||
include: ['description']
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('updateGroup', () => {
|
||||
it('should return updated Group', (done) => {
|
||||
spyOn(service.groupsApi, 'updateGroup').and.returnValue(Promise.resolve(returnedGroup));
|
||||
|
||||
service.updateGroup(group.entry, opts).subscribe((groupEntry) => {
|
||||
expect(groupEntry).toEqual(returnedGroup);
|
||||
expect(service.groupsApi.updateGroup).toHaveBeenCalledWith(group.entry.id, {
|
||||
displayName: group.entry.displayName,
|
||||
description: group.entry.description
|
||||
}, {
|
||||
include: ['description']
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should return updated Group when description is not supplied', (done) => {
|
||||
returnedGroup.entry.description = undefined;
|
||||
spyOn(service.groupsApi, 'updateGroup').and.returnValue(Promise.resolve(returnedGroup));
|
||||
|
||||
service.updateGroup(group.entry, opts).subscribe((groupEntry) => {
|
||||
expect(groupEntry).toEqual({
|
||||
entry: {
|
||||
id: returnedGroup.entry.id,
|
||||
displayName: returnedGroup.entry.displayName,
|
||||
description: ''
|
||||
}
|
||||
});
|
||||
expect(service.groupsApi.updateGroup).toHaveBeenCalledWith(group.entry.id, {
|
||||
displayName: group.entry.displayName,
|
||||
description: group.entry.description
|
||||
}, {
|
||||
include: ['description']
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should allow to update only description', (done) => {
|
||||
spyOn(service.groupsApi, 'updateGroup').and.returnValue(Promise.resolve(returnedGroup));
|
||||
group.entry.displayName = undefined;
|
||||
|
||||
service.updateGroup(group.entry, opts).subscribe((groupEntry) => {
|
||||
expect(groupEntry).toEqual(returnedGroup);
|
||||
expect(service.groupsApi.updateGroup).toHaveBeenCalledWith(group.entry.id, {
|
||||
displayName: group.entry.displayName,
|
||||
description: group.entry.description
|
||||
}, {
|
||||
include: ['description']
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user