mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-16 18:13:06 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c3961dd82 | ||
|
|
92881d063a | ||
|
|
0a717d612f | ||
|
|
13fc92e62c | ||
|
|
a21dc4d6a0 | ||
|
|
dcaa736a0c | ||
|
|
27a536434a | ||
|
|
261d35b805 | ||
|
|
bc8305b15e | ||
|
|
d9258e88ed | ||
|
|
8abc6d495d | ||
|
|
16e851e6b5 | ||
|
|
ad9c1a0ce0 | ||
|
|
fd32667c1a | ||
|
|
7506c109d8 | ||
|
|
e617333f00 | ||
|
|
b60797e3b1 | ||
|
|
166325d703 | ||
|
|
5d5c1ac527 | ||
|
|
a86b23f8a1 | ||
|
|
a238442d93 | ||
|
|
4821c19760 | ||
|
|
564b3f4931 | ||
|
|
7d7843bc47 | ||
|
|
598d494b0f | ||
|
|
15d3f468d4 | ||
|
|
0f3098d9f0 | ||
|
|
14e34c8b47 | ||
|
|
635760b678 | ||
|
|
af3099bbae | ||
|
|
49ccf6f694 | ||
|
|
ebf6e01185 | ||
|
|
fa4c6468bf | ||
|
|
4fd62acdec | ||
|
|
beae4054f2 | ||
|
|
8a60a26701 | ||
|
|
3993001664 | ||
|
|
be3a4b44b7 | ||
|
|
7be2e8fd96 | ||
|
|
bed18d8453 | ||
|
|
efaa35db47 | ||
|
|
6d2c5421a5 | ||
|
|
c876058c51 | ||
|
|
aeee07d82a | ||
|
|
0433ada548 | ||
|
|
7910cd96c4 | ||
|
|
26daed958f | ||
|
|
ac317f82d1 | ||
|
|
ea2042e0ff | ||
|
|
9caf9d2fc3 | ||
|
|
54ab9575d3 | ||
|
|
f6e72f8a6f | ||
|
|
18d81f6307 | ||
|
|
158baa7cc9 | ||
|
|
706428d356 | ||
|
|
884e6b7a36 | ||
|
|
075589c9d0 | ||
|
|
a535e846c4 | ||
|
|
a17ab17901 | ||
|
|
4a18be06b1 | ||
|
|
b1f59facf3 | ||
|
|
b13e95b8ee | ||
|
|
94787b5705 | ||
|
|
61faf92d41 | ||
|
|
e91ba575a7 | ||
|
|
4124efd4a0 | ||
|
|
8d7ea71711 | ||
|
|
291d5c826b | ||
|
|
00304c1931 | ||
|
|
d56988b6a7 | ||
|
|
04e2b16f66 | ||
|
|
4807f10827 | ||
|
|
cd9dc4d8c2 | ||
|
|
075e63d693 | ||
|
|
c3c84f7c0d | ||
|
|
e949b75da8 | ||
|
|
234ca01856 | ||
|
|
6c4af486be | ||
|
|
a08af0bb9d | ||
|
|
4d512cb1a4 | ||
|
|
8a91945d0a | ||
|
|
6d6ef29c73 | ||
|
|
ddd508ba60 | ||
|
|
2890e4856c | ||
|
|
9336ce625f | ||
|
|
c62f34c804 | ||
|
|
0843263ce3 | ||
|
|
206f2e02ea | ||
|
|
bf7f202b91 | ||
|
|
176330537f | ||
|
|
6bbf81d833 | ||
|
|
92575004eb | ||
|
|
0a37e81d1d | ||
|
|
ff52f8f286 | ||
|
|
58484dd907 | ||
|
|
9527f067a3 | ||
|
|
6801249798 | ||
|
|
88137608ee | ||
|
|
344594f910 | ||
|
|
93f9e80348 | ||
|
|
0277376c79 | ||
|
|
1cd86a582e | ||
|
|
554218d11e | ||
|
|
7d741c2634 | ||
|
|
bffa1c878b | ||
|
|
9966cf4405 | ||
|
|
80a70cf789 | ||
|
|
834405d197 | ||
|
|
db97f05f28 | ||
|
|
98a18a2a7a | ||
|
|
810e596686 | ||
|
|
b42bd9a30a | ||
|
|
70c2783a17 | ||
|
|
9a7ffe5e53 | ||
|
|
d38e782fe3 | ||
|
|
f88ff10f30 | ||
|
|
5930a27bbd | ||
|
|
794eee144d | ||
|
|
b355b17ffa | ||
|
|
cb0b072b1e | ||
|
|
3406341859 | ||
|
|
c2bdce8d89 | ||
|
|
3b637819c8 | ||
|
|
c9b8059b47 | ||
|
|
cc6e679f76 | ||
|
|
50ed385af2 | ||
|
|
f02aca02eb | ||
|
|
f508fe49d0 | ||
|
|
ff4a1afd4c | ||
|
|
e29b41af2d | ||
|
|
4f8ede9819 | ||
|
|
15f21c2adf | ||
|
|
98fcbff636 | ||
|
|
1be927108f | ||
|
|
b1fd1574d3 | ||
|
|
701113b3b1 | ||
|
|
67a39e243d | ||
|
|
90066e7be2 | ||
|
|
979ded6c8f | ||
|
|
686c7108d8 | ||
|
|
6d649a8678 | ||
|
|
d2b0fab677 | ||
|
|
394d064f37 | ||
|
|
0712edd79f | ||
|
|
ef85b1a2d0 |
@@ -22,7 +22,7 @@ runs:
|
||||
- run: echo "Artifact Append"
|
||||
shell: bash
|
||||
- name: Download artifact
|
||||
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
|
||||
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
|
||||
with:
|
||||
name: ${{ inputs.artifact-name }}
|
||||
pattern: ${{ inputs.artifact-name }}-*
|
||||
@@ -85,7 +85,7 @@ runs:
|
||||
}
|
||||
}
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
|
||||
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
|
||||
with:
|
||||
name: ${{ inputs.artifact-name }}
|
||||
path: ${{ inputs.file-name }}
|
||||
|
||||
@@ -28,7 +28,7 @@ runs:
|
||||
- run: echo "Artifact Extract"
|
||||
shell: bash
|
||||
- name: Download artifact
|
||||
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
|
||||
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
|
||||
with:
|
||||
name: ${{ inputs.artifact-name }}
|
||||
pattern: ${{ inputs.artifact-name }}-*
|
||||
|
||||
@@ -26,7 +26,7 @@ runs:
|
||||
echo "${{inputs.content}}" > ${{ inputs.file-name }}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
|
||||
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
|
||||
with:
|
||||
name: ${{ inputs.artifact-name }}
|
||||
path: ${{ inputs.file-name }}
|
||||
|
||||
@@ -188,7 +188,7 @@ runs:
|
||||
- name: upload artifacts on gh
|
||||
id: upload_gh
|
||||
if: ${{ steps.determine-affected.outputs.isAffected == 'true' }}
|
||||
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
|
||||
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
|
||||
with:
|
||||
name: e2e-artifact-output-${{inputs.e2e-artifact-id}}
|
||||
path: /home/runner/work/alfresco-ng2-components/alfresco-ng2-components/e2e-output-*
|
||||
|
||||
@@ -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@76affd16a4dd9a440cf66bf42656b1d826e8dfc2 # v5.34.0
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@209bb4275688720e13dc0703dbd17826bf677c5c # v6.1.0
|
||||
# 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@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15
|
||||
uses: github/codeql-action/init@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
|
||||
# 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@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15
|
||||
uses: github/codeql-action/autobuild@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
|
||||
|
||||
# ℹ️ 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@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15
|
||||
uses: github/codeql-action/analyze@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
|
||||
|
||||
@@ -101,7 +101,7 @@ jobs:
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
|
||||
- name: Ensure SHA pinned actions
|
||||
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@b88cd0aad2c36a63e42c71f81cb1958fed95ac87 # v3.0.10
|
||||
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@3c16e895bb662b4d7e284f032cbe8835a57773cc # v3.0.11
|
||||
|
||||
- name: Check package-lock.json version
|
||||
run: |
|
||||
@@ -121,10 +121,10 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get branch name
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@76affd16a4dd9a440cf66bf42656b1d826e8dfc2 # v5.34.0
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@209bb4275688720e13dc0703dbd17826bf677c5c # v6.1.0
|
||||
|
||||
- name: Save commit message
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@76affd16a4dd9a440cf66bf42656b1d826e8dfc2 # v5.34.0
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@209bb4275688720e13dc0703dbd17826bf677c5c # v6.1.0
|
||||
|
||||
- name: ci:force flag parser
|
||||
shell: bash
|
||||
@@ -505,7 +505,7 @@ jobs:
|
||||
uses: ./.github/actions/slack-group-area
|
||||
with:
|
||||
affected: ${{ steps.e2e-result.outputs.result }}
|
||||
- uses: slackapi/slack-github-action@70cd7be8e40a46e8b0eced40b0de447bdb42f68e # v1.26.0
|
||||
- uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
|
||||
name: Nofify QA failure
|
||||
if: ${{ github.event_name == 'schedule' && contains(needs.*.result, 'failure') }}
|
||||
env:
|
||||
|
||||
@@ -123,12 +123,21 @@ jobs:
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: build libraries
|
||||
- name: Set libraries versions
|
||||
run: |
|
||||
set -u;
|
||||
./scripts/update-version.sh -gnu || exit 1;
|
||||
- name: Set migrations
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
with:
|
||||
script: |
|
||||
const setMigrations = require('./scripts/github/release/set-migrations.js');
|
||||
setMigrations();
|
||||
- name: Build libraries
|
||||
run: |
|
||||
npx nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
|
||||
npx nx affected $NX_CALCULATION_FLAGS --target=pretheme
|
||||
npx nx affected $NX_CALCULATION_FLAGS --target=build-schematics
|
||||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
|
||||
name: release libraries GH registry
|
||||
with:
|
||||
|
||||
@@ -182,12 +182,21 @@ jobs:
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: build libraries
|
||||
- name: Set libraries versions
|
||||
run: |
|
||||
set -u;
|
||||
./scripts/github/build/bumpversion.sh
|
||||
- name: Set migrations
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
with:
|
||||
script: |
|
||||
const setMigrations = require('./scripts/github/release/set-migrations.js');
|
||||
setMigrations();
|
||||
- name: build libraries
|
||||
run: |
|
||||
npx nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
|
||||
npx nx affected $NX_CALCULATION_FLAGS --target=pretheme
|
||||
npx nx affected $NX_CALCULATION_FLAGS --target=build-schematics
|
||||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
|
||||
name: release libraries GH registry
|
||||
with:
|
||||
@@ -244,11 +253,11 @@ jobs:
|
||||
needs: [release-demoshell, release-storybook, release-npm, npm-check-bundle]
|
||||
steps:
|
||||
|
||||
- uses: slackapi/slack-github-action@70cd7be8e40a46e8b0eced40b0de447bdb42f68e # v1.26.0
|
||||
- uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
|
||||
name: Nofify FE eng-guild-front-end workflow failed
|
||||
if: ${{ contains(toJson(needs.*.result), 'failure') }}
|
||||
env:
|
||||
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
|
||||
with:
|
||||
channel-id: 'C016SMNNL8L' #eng-guild-front-end
|
||||
slack-message: "🔴 Warning: The release workflow of alfresco-ng2-components pipe failed\n Author: name:${{ github.event.pusher.name }} username:${{ github.event.pusher.username }}\n Workflow run : <https://github.com/Alfresco/alfresco-ng2-components/actions/runs/${{ github.run_id }}| here>\n>"
|
||||
slack-message: "🔴 Warning: The release workflow of alfresco-ng2-components pipe failed\n Author username: ${{ github.event.pull_request.user.login }}\n Workflow run <https://github.com/Alfresco/alfresco-ng2-components/actions/runs/${{ github.run_id }}| here>\n>"
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"*.{ts,js}": ["prettier --write", "eslint"],
|
||||
"*.{css,scss}": ["prettier --write", "stylelint"]
|
||||
"*.{css,scss}": ["prettier --write", "stylelint --fix"]
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Alfresco-ADF-Angular-Demo",
|
||||
"description": "Demo shell for Alfresco Angular components",
|
||||
"version": "6.9.0",
|
||||
"version": "7.0.0-alpha.2",
|
||||
"author": "Hyland Software, Inc. and its affiliates",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
import { NgModule } from '@angular/core';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { NgChartsModule } from 'ng2-charts';
|
||||
import { HttpClientModule } from '@angular/common/http';
|
||||
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
@@ -25,114 +24,36 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
import { AppConfigService, DebugAppConfigService, CoreModule, AuthModule, provideTranslations } from '@alfresco/adf-core';
|
||||
import { ExtensionsModule } from '@alfresco/adf-extensions';
|
||||
import { AppComponent } from './app.component';
|
||||
import { MaterialModule } from './material.module';
|
||||
import { LogoutComponent } from './components/logout/logout.component';
|
||||
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
|
||||
import { SearchBarComponent } from './components/search/search-bar.component';
|
||||
import { SearchResultComponent } from './components/search/search-result.component';
|
||||
import { FormComponent } from './components/form/form.component';
|
||||
import { ProcessServiceComponent } from './components/process-service/process-service.component';
|
||||
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
|
||||
import { FormViewerComponent } from './components/process-service/form-viewer.component';
|
||||
import { FormNodeViewerComponent } from './components/process-service/form-node-viewer.component';
|
||||
import { AppsViewComponent } from './components/process-service/apps-view.component';
|
||||
import { FilesComponent } from './components/files/files.component';
|
||||
import { VersionManagerDialogAdapterComponent } from './components/files/version-manager-dialog-adapter.component';
|
||||
import { appRoutes } from './app.routes';
|
||||
import { TaskAttachmentsComponent } from './components/process-service/task-attachments.component';
|
||||
import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component';
|
||||
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
|
||||
import { MonacoEditorModule } from 'ngx-monaco-editor-v2';
|
||||
import { ContentModule } from '@alfresco/adf-content-services';
|
||||
import { InsightsModule } from '@alfresco/adf-insights';
|
||||
import { ProcessModule } from '@alfresco/adf-process-services';
|
||||
import { CloudLayoutComponent } from './components/cloud/cloud-layout.component';
|
||||
import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component';
|
||||
import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component';
|
||||
import { ProcessesCloudDemoComponent } from './components/cloud/processes-cloud-demo.component';
|
||||
import { TaskDetailsCloudDemoComponent } from './components/cloud/task-details-cloud-demo.component';
|
||||
import { CloudViewerComponent } from './components/cloud/cloud-viewer.component';
|
||||
import { ProcessDetailsCloudDemoComponent } from './components/cloud/process-details-cloud-demo.component';
|
||||
import { StartTaskCloudDemoComponent } from './components/cloud/start-task-cloud-demo.component';
|
||||
import { StartProcessCloudDemoComponent } from './components/cloud/start-process-cloud-demo.component';
|
||||
import { CloudFiltersDemoComponent } from './components/cloud/cloud-filters-demo.component';
|
||||
import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/cloud-form-demo.component';
|
||||
import { environment } from '../environments/environment';
|
||||
import { AppCloudSharedModule } from './components/cloud/shared/cloud.shared.module';
|
||||
import { DemoErrorComponent } from './components/error/demo-error.component';
|
||||
import { ProcessServicesCloudModule } from '@alfresco/adf-process-services-cloud';
|
||||
import { RouterModule } from '@angular/router';
|
||||
import { ProcessCloudLayoutComponent } from './components/cloud/process-cloud-layout.component';
|
||||
import { CustomEditorComponent, CustomWidgetComponent } from './components/cloud/custom-form-components/custom-editor.component';
|
||||
import { SearchFilterChipsComponent } from './components/search/search-filter-chips.component';
|
||||
import { UserInfoComponent } from './components/app-layout/user-info/user-info.component';
|
||||
import { FolderDirectiveModule } from './folder-directive';
|
||||
import { ContentUserInfoModule } from './components/app-layout/user-info/content-user-info';
|
||||
import { PROCESS_USER_INFO_DIRECTIVES } from './components/app-layout/user-info/process-user-info';
|
||||
import { CoreAutomationService } from '../testing/automation.service';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
BrowserModule,
|
||||
environment.e2e ? NoopAnimationsModule : BrowserAnimationsModule,
|
||||
ReactiveFormsModule,
|
||||
RouterModule.forRoot(appRoutes, { useHash: true }),
|
||||
AuthModule.forRoot({ useHash: true }),
|
||||
FormsModule,
|
||||
HttpClientModule,
|
||||
MaterialModule,
|
||||
TranslateModule.forRoot(),
|
||||
CoreModule.forRoot(),
|
||||
ContentModule.forRoot(),
|
||||
InsightsModule.forRoot(),
|
||||
ProcessModule.forRoot(),
|
||||
ProcessServicesCloudModule.forRoot(),
|
||||
ExtensionsModule.forRoot(),
|
||||
NgChartsModule,
|
||||
AppCloudSharedModule,
|
||||
MonacoEditorModule.forRoot(),
|
||||
FolderDirectiveModule,
|
||||
ShowDiagramComponent,
|
||||
ContentUserInfoModule,
|
||||
...PROCESS_USER_INFO_DIRECTIVES
|
||||
],
|
||||
declarations: [
|
||||
AppComponent,
|
||||
LogoutComponent,
|
||||
AppLayoutComponent,
|
||||
UserInfoComponent,
|
||||
SearchBarComponent,
|
||||
SearchResultComponent,
|
||||
ProcessServiceComponent,
|
||||
FormViewerComponent,
|
||||
FormNodeViewerComponent,
|
||||
AppsViewComponent,
|
||||
FilesComponent,
|
||||
FormComponent,
|
||||
VersionManagerDialogAdapterComponent,
|
||||
TaskAttachmentsComponent,
|
||||
ProcessAttachmentsComponent,
|
||||
DemoPermissionComponent,
|
||||
DemoErrorComponent,
|
||||
CloudLayoutComponent,
|
||||
AppsCloudDemoComponent,
|
||||
TasksCloudDemoComponent,
|
||||
ProcessesCloudDemoComponent,
|
||||
TaskDetailsCloudDemoComponent,
|
||||
CloudViewerComponent,
|
||||
ProcessDetailsCloudDemoComponent,
|
||||
StartTaskCloudDemoComponent,
|
||||
StartProcessCloudDemoComponent,
|
||||
CloudFiltersDemoComponent,
|
||||
FormCloudDemoComponent,
|
||||
CustomEditorComponent,
|
||||
CustomWidgetComponent,
|
||||
ProcessCloudLayoutComponent,
|
||||
SearchFilterChipsComponent
|
||||
MonacoEditorModule.forRoot()
|
||||
],
|
||||
declarations: [AppComponent],
|
||||
providers: [
|
||||
{ provide: AppConfigService, useClass: DebugAppConfigService }, // not use this service in production
|
||||
provideTranslations('app', 'resources')
|
||||
provideTranslations('app', 'resources'),
|
||||
provideTranslations('adf-insights', 'assets/adf-insights')
|
||||
],
|
||||
bootstrap: [AppComponent]
|
||||
})
|
||||
|
||||
@@ -27,7 +27,7 @@ import { FormNodeViewerComponent } from './components/process-service/form-node-
|
||||
import { AppsViewComponent } from './components/process-service/apps-view.component';
|
||||
import { SearchResultComponent } from './components/search/search-result.component';
|
||||
import { FilesComponent } from './components/files/files.component';
|
||||
import { FormComponent } from './components/form/form.component';
|
||||
import { AppFormComponent } from './components/form/app-form.component';
|
||||
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
|
||||
import { AppComponent } from './app.component';
|
||||
import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component';
|
||||
@@ -42,14 +42,20 @@ import { ProcessDetailsCloudDemoComponent } from './components/cloud/process-det
|
||||
import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/cloud-form-demo.component';
|
||||
import { DemoErrorComponent } from './components/error/demo-error.component';
|
||||
import { ProcessCloudLayoutComponent } from './components/cloud/process-cloud-layout.component';
|
||||
import { SearchFilterChipsComponent } from './components/search/search-filter-chips.component';
|
||||
import { AppSearchFilterChipsComponent } from './components/search/search-filter-chips.component';
|
||||
import { FileViewComponent } from './components/file-view/file-view.component';
|
||||
import { SettingsComponent } from './components/settings/settings.component';
|
||||
import { AppLoginComponent } from './components/login/login.component';
|
||||
import { TaskListDemoComponent } from './components/task-list-demo/task-list-demo.component';
|
||||
import { ProcessListDemoComponent } from './components/process-list-demo/process-list-demo.component';
|
||||
import { AppCardViewComponent } from './components/card-view/card-view.component';
|
||||
|
||||
export const appRoutes: Routes = [
|
||||
{ path: 'login', loadChildren: () => import('./components/login/login.module').then(m => m.AppLoginModule) },
|
||||
{ path: 'login', component: AppLoginComponent },
|
||||
{ path: 'logout', component: LogoutComponent },
|
||||
{
|
||||
path: 'settings',
|
||||
loadChildren: () => import('./components/settings/settings.module').then(m => m.AppSettingsModule)
|
||||
component: SettingsComponent
|
||||
},
|
||||
{
|
||||
path: 'files/:nodeId/view',
|
||||
@@ -57,7 +63,12 @@ export const appRoutes: Routes = [
|
||||
canActivate: [AuthGuardEcm],
|
||||
canActivateChild: [AuthGuardEcm],
|
||||
outlet: 'overlay',
|
||||
loadChildren: () => import('./components/file-view/file-view.module').then(m => m.FileViewModule)
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: FileViewComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'files/:nodeId/:versionId/view',
|
||||
@@ -65,14 +76,24 @@ export const appRoutes: Routes = [
|
||||
canActivate: [AuthGuardEcm],
|
||||
canActivateChild: [AuthGuardEcm],
|
||||
outlet: 'overlay',
|
||||
loadChildren: () => import('./components/file-view/file-view.module').then(m => m.FileViewModule)
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: FileViewComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'preview/blob',
|
||||
component: AppComponent,
|
||||
outlet: 'overlay',
|
||||
pathMatch: 'full',
|
||||
loadChildren: () => import('./components/file-view/file-view.module').then(m => m.FileViewModule)
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: FileViewComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '',
|
||||
@@ -86,7 +107,12 @@ export const appRoutes: Routes = [
|
||||
},
|
||||
{
|
||||
path: 'card-view',
|
||||
loadChildren: () => import('./components/card-view/card-view.module').then(m => m.AppCardViewModule)
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: AppCardViewComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '',
|
||||
@@ -146,14 +172,13 @@ export const appRoutes: Routes = [
|
||||
path: 'process-details/:processInstanceId',
|
||||
component: ProcessDetailsCloudDemoComponent
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'settings-layout',
|
||||
loadChildren: () => import('./components/settings/settings.module').then(m => m.AppSettingsModule)
|
||||
component: SettingsComponent
|
||||
},
|
||||
{
|
||||
path: 'files',
|
||||
@@ -177,7 +202,7 @@ export const appRoutes: Routes = [
|
||||
},
|
||||
{
|
||||
path: 'search-filter-chips',
|
||||
component: SearchFilterChipsComponent,
|
||||
component: AppSearchFilterChipsComponent,
|
||||
canActivate: [AuthGuardEcm]
|
||||
},
|
||||
{
|
||||
@@ -245,16 +270,34 @@ export const appRoutes: Routes = [
|
||||
canActivate: [AuthGuardEcm]
|
||||
},
|
||||
{ path: 'form-cloud', component: FormCloudDemoComponent },
|
||||
{ path: 'form', component: FormComponent },
|
||||
{ path: 'form', component: AppFormComponent },
|
||||
{
|
||||
path: 'task-list',
|
||||
canActivate: [AuthGuardBpm],
|
||||
loadChildren: () => import('./components/task-list-demo/task-list.module').then(m => m.AppTaskListModule)
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: TaskListDemoComponent
|
||||
},
|
||||
{
|
||||
path: ':id',
|
||||
component: TaskListDemoComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'process-list',
|
||||
canActivate: [AuthGuardBpm],
|
||||
loadChildren: () => import('./components/process-list-demo/process-list.module').then(m => m.AppProcessListModule)
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: ProcessListDemoComponent
|
||||
},
|
||||
{
|
||||
path: ':id',
|
||||
component: ProcessListDemoComponent
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'error/no-authorization',
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<ng-container *ngFor="let link of links">
|
||||
<ng-container *ngIf="link.children">
|
||||
<mat-list-item (click)="trigger.openMenu()" [attr.data-automation-id]="link.title | translate" class="app-sidenav-link">
|
||||
<mat-icon matListIcon>{{link.icon}}</mat-icon>
|
||||
<mat-icon matListItemIcon>{{link.icon}}</mat-icon>
|
||||
<span matLine>{{ link.title | translate }}</span>
|
||||
<mat-icon class="app-sidenav-link__expand-button" [matMenuTriggerData]="{links: link.children}"
|
||||
rippleTrigger mat-icon-button #trigger="matMenuTrigger"
|
||||
@@ -52,14 +52,14 @@
|
||||
<mat-list-item [routerLink]="link.href"
|
||||
routerLinkActive="app-sidenav-link--active" [routerLinkActiveOptions]="{ exact: true }"
|
||||
[attr.data-automation-id]="link.title | translate" class="app-sidenav-link">
|
||||
<mat-icon matListIcon >{{link.icon}}</mat-icon>
|
||||
<mat-icon matListItemIcon >{{link.icon}}</mat-icon>
|
||||
<span matLine>{{link.title | translate }}</span>
|
||||
</mat-list-item>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
<mat-list-item adf-logout [enableRedirect]="enableRedirect" redirectUri="/logout" class="app-sidenav-link" data-automation-id="Logout" >
|
||||
<mat-icon matListIcon>exit_to_app</mat-icon>
|
||||
<mat-icon matListItemIcon>exit_to_app</mat-icon>
|
||||
<span matLine>Logout</span>
|
||||
</mat-list-item>
|
||||
</mat-nav-list>
|
||||
@@ -84,7 +84,7 @@
|
||||
[routerLink]="link.href"
|
||||
[routerLinkActiveOptions]="{ exact: true }">
|
||||
|
||||
<mat-icon matListIcon>{{link.icon}}</mat-icon>
|
||||
<mat-icon matListItemIcon>{{link.icon}}</mat-icon>
|
||||
{{ link.title | translate }}
|
||||
</button>
|
||||
</ng-template>
|
||||
|
||||
@@ -16,9 +16,49 @@
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import {
|
||||
AvatarComponent,
|
||||
HeaderLayoutComponent,
|
||||
LogoutDirective,
|
||||
SidenavLayoutComponent,
|
||||
SidenavLayoutContentDirective,
|
||||
SidenavLayoutHeaderDirective,
|
||||
SidenavLayoutNavigationDirective
|
||||
} from '@alfresco/adf-core';
|
||||
import { SearchBarComponent } from '../search/search-bar.component';
|
||||
import { UserInfoComponent } from './user-info/user-info.component';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { MatListModule } from '@angular/material/list';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatLineModule } from '@angular/material/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';
|
||||
import { AlfrescoApiService, FileUploadingDialogComponent } from '@alfresco/adf-content-services';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
SidenavLayoutComponent,
|
||||
SidenavLayoutHeaderDirective,
|
||||
HeaderLayoutComponent,
|
||||
SearchBarComponent,
|
||||
UserInfoComponent,
|
||||
AvatarComponent,
|
||||
MatMenuModule,
|
||||
SidenavLayoutNavigationDirective,
|
||||
MatListModule,
|
||||
TranslateModule,
|
||||
MatIconModule,
|
||||
MatLineModule,
|
||||
RouterLink,
|
||||
RouterLinkActive,
|
||||
LogoutDirective,
|
||||
SidenavLayoutContentDirective,
|
||||
RouterOutlet,
|
||||
FileUploadingDialogComponent
|
||||
],
|
||||
templateUrl: './app-layout.component.html',
|
||||
styleUrls: ['./app-layout.component.scss'],
|
||||
host: { class: 'app-layout' },
|
||||
@@ -31,16 +71,24 @@ export class AppLayoutComponent {
|
||||
{ href: '/card-view', icon: 'view_headline', title: 'CardView' },
|
||||
{ href: '/task-list', icon: 'assignment', title: 'Task List' },
|
||||
{
|
||||
href: '/cloud', icon: 'cloud', title: 'Process Cloud', children: [
|
||||
href: '/cloud',
|
||||
icon: 'cloud',
|
||||
title: 'Process Cloud',
|
||||
children: [
|
||||
{ href: '/cloud/', icon: 'cloud', title: 'Home' },
|
||||
{ href: '/form-cloud', icon: 'poll', title: 'Form' }
|
||||
]
|
||||
},
|
||||
{ href: '/activiti', icon: 'device_hub', title: 'Process Services', children: [
|
||||
{ href: '/activiti', icon: 'vpn_key', title: 'App' },
|
||||
{ href: '/process-list', icon: 'assignment', title: 'Process List' },
|
||||
{ href: '/form', icon: 'poll', title: 'Form' }
|
||||
]},
|
||||
{
|
||||
href: '/activiti',
|
||||
icon: 'device_hub',
|
||||
title: 'Process Services',
|
||||
children: [
|
||||
{ href: '/activiti', icon: 'vpn_key', title: 'App' },
|
||||
{ href: '/process-list', icon: 'assignment', title: 'Process List' },
|
||||
{ href: '/form', icon: 'poll', title: 'Form' }
|
||||
]
|
||||
},
|
||||
{ href: '/login', icon: 'vpn_key', title: 'Login' },
|
||||
{ href: '/settings-layout', icon: 'settings', title: 'Settings' }
|
||||
];
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
</adf-cloud-form>
|
||||
</div>
|
||||
|
||||
<div class="app-console" #console>
|
||||
<div class="app-console">
|
||||
<h3>Error log:</h3>
|
||||
<p *ngFor="let error of errorFields">Error {{ error.name }} {{error.validationSummary.message | translate}}</p>
|
||||
</div>
|
||||
|
||||
+3
-3
@@ -33,9 +33,9 @@
|
||||
}
|
||||
|
||||
.app-form-editor-buttons {
|
||||
& > #{$mat-raised-button} {
|
||||
margin-right: 5px;
|
||||
}
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
column-gap: 4px;
|
||||
}
|
||||
|
||||
.app-upload-config-button {
|
||||
|
||||
+10
-1
@@ -17,13 +17,22 @@
|
||||
|
||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||
import { FormFieldModel, FormModel, FormRenderingService, NotificationService } from '@alfresco/adf-core';
|
||||
import { CloudFormRenderingService, FormCloudService } from '@alfresco/adf-process-services-cloud';
|
||||
import { CloudFormRenderingService, FormCloudModule, FormCloudService } from '@alfresco/adf-process-services-cloud';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { CustomEditorComponent, CustomWidgetComponent } from '../../../cloud/custom-form-components/custom-editor.component';
|
||||
import { CoreAutomationService } from '../../../../../testing/automation.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { MonacoEditorModule } from 'ngx-monaco-editor-v2';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
|
||||
@Component({
|
||||
templateUrl: './cloud-form-demo.component.html',
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatTabsModule, FormCloudModule, MonacoEditorModule, TranslateModule, FormsModule, MatButtonModule, MatIconModule],
|
||||
styleUrls: ['./cloud-form-demo.component.scss'],
|
||||
providers: [{ provide: FormRenderingService, useClass: CloudFormRenderingService }]
|
||||
})
|
||||
|
||||
+2
-4
@@ -41,8 +41,7 @@
|
||||
<mat-menu #menu="matMenu" id="user-profile-lists" [xPosition]="menuPositionX" [yPosition]="menuPositionY"
|
||||
[overlapTrigger]="false" class="adf-userinfo-menu">
|
||||
<mat-card appearance="outlined" *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 + ')'">
|
||||
<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"
|
||||
@@ -61,8 +60,7 @@
|
||||
<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>
|
||||
<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">
|
||||
|
||||
-282
@@ -1,282 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { IdentityUserModel, InitialUsernamePipe, UserInfoMode } from '@alfresco/adf-core';
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { By, DomSanitizer } from '@angular/platform-browser';
|
||||
import { fakeEcmUser, ContentTestingModule } from '@alfresco/adf-content-services';
|
||||
import { ContentUserInfoComponent } from './content-user-info.component';
|
||||
|
||||
const fakeEcmEditedUser = {
|
||||
id: 'fake-id',
|
||||
firstName: null,
|
||||
lastName: 'fake-last-name',
|
||||
description: 'i am a fake user for test',
|
||||
avatarId: 'fake-avatar-id',
|
||||
email: 'fakeEcm@ecmUser.com',
|
||||
skypeId: 'fake-skype-id',
|
||||
googleId: 'fake-googleId-id',
|
||||
instantMessageId: 'fake-instantMessageId-id',
|
||||
company: null,
|
||||
jobTitle: 'test job',
|
||||
location: 'fake location',
|
||||
mobile: '000000000',
|
||||
telephone: '11111111',
|
||||
statusUpdatedAt: 'fake-date',
|
||||
userStatus: 'active',
|
||||
enabled: true,
|
||||
emailNotificationsEnabled: true
|
||||
};
|
||||
|
||||
export const fakeEcmUserNoImage = {
|
||||
id: 'fake-id',
|
||||
firstName: 'fake-first-name',
|
||||
lastName: 'fake-last-name',
|
||||
description: 'i am a fake user for test',
|
||||
avatarId: null,
|
||||
email: 'fakeEcm@ecmUser.com',
|
||||
skypeId: 'fake-skype-id',
|
||||
googleId: 'fake-googleId-id',
|
||||
instantMessageId: 'fake-instantMessageId-id',
|
||||
company: null,
|
||||
jobTitle: null,
|
||||
location: 'fake location',
|
||||
mobile: '000000000',
|
||||
telephone: '11111111',
|
||||
statusUpdatedAt: 'fake-date',
|
||||
userStatus: 'active',
|
||||
enabled: true,
|
||||
emailNotificationsEnabled: true
|
||||
};
|
||||
|
||||
class FakeSanitizer extends DomSanitizer {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
sanitize(html) {
|
||||
return html;
|
||||
}
|
||||
|
||||
bypassSecurityTrustHtml(value: string): any {
|
||||
return value;
|
||||
}
|
||||
|
||||
bypassSecurityTrustStyle(): any {
|
||||
return null;
|
||||
}
|
||||
|
||||
bypassSecurityTrustScript(): any {
|
||||
return null;
|
||||
}
|
||||
|
||||
bypassSecurityTrustUrl(): any {
|
||||
return null;
|
||||
}
|
||||
|
||||
bypassSecurityTrustResourceUrl(): any {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
describe('ContentUserInfoComponent', () => {
|
||||
const profilePictureUrl = 'alfresco-logo.svg';
|
||||
|
||||
let component: ContentUserInfoComponent;
|
||||
let fixture: ComponentFixture<ContentUserInfoComponent>;
|
||||
let element: HTMLElement;
|
||||
|
||||
const identityUserMock = { firstName: 'fake-identity-first-name', lastName: 'fake-identity-last-name', email: 'fakeIdentity@email.com' };
|
||||
const identityUserWithOutLastNameMock = { firstName: 'fake-identity-first-name', lastName: null, email: 'fakeIdentity@email.com' };
|
||||
|
||||
const openUserInfo = () => {
|
||||
fixture.detectChanges();
|
||||
const imageButton = element.querySelector<HTMLButtonElement>('#logged-user-img');
|
||||
imageButton.click();
|
||||
fixture.detectChanges();
|
||||
};
|
||||
|
||||
const whenFixtureReady = async () => {
|
||||
fixture.detectChanges();
|
||||
await fixture.whenStable();
|
||||
fixture.detectChanges();
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [ContentTestingModule, MatMenuModule]
|
||||
});
|
||||
fixture = TestBed.createComponent(ContentUserInfoComponent);
|
||||
component = fixture.componentInstance;
|
||||
element = fixture.nativeElement;
|
||||
|
||||
spyOn(window, 'requestAnimationFrame').and.returnValue(1);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
fixture.destroy();
|
||||
});
|
||||
|
||||
it('should not show any image if the user is not logged in', () => {
|
||||
expect(element.querySelector('#userinfo_container')).toBeDefined();
|
||||
expect(element.querySelector('#logged-user-img')).toBeNull();
|
||||
});
|
||||
|
||||
it('should NOT have users immediately after ngOnInit', () => {
|
||||
expect(element.querySelector('#userinfo_container')).toBeDefined();
|
||||
expect(element.querySelector('#ecm_username')).toBeNull();
|
||||
expect(element.querySelector('#user-profile-lists')).toBeNull();
|
||||
});
|
||||
|
||||
describe('when user is logged on ecm', () => {
|
||||
beforeEach(() => {
|
||||
component.ecmUser = fakeEcmUser as any;
|
||||
component.isLoggedIn = true;
|
||||
});
|
||||
|
||||
describe('ui', () => {
|
||||
it('should show ecm only last name when user first name is null ', async () => {
|
||||
component.ecmUser = fakeEcmEditedUser as any;
|
||||
await whenFixtureReady();
|
||||
|
||||
openUserInfo();
|
||||
expect(element.querySelector('#userinfo_container')).toBeDefined();
|
||||
const ecmUsername = fixture.debugElement.query(By.css('#ecm-username'));
|
||||
expect(ecmUsername).toBeDefined();
|
||||
expect(ecmUsername).not.toBeNull();
|
||||
expect(ecmUsername.nativeElement.textContent).not.toContain('fake-ecm-first-name');
|
||||
expect(ecmUsername.nativeElement.textContent).not.toContain('null');
|
||||
});
|
||||
|
||||
it('should show the username when showName attribute is true', async () => {
|
||||
await whenFixtureReady();
|
||||
expect(component.showName).toBeTruthy();
|
||||
expect(element.querySelector('#adf-userinfo-ecm-name-display')).not.toBeNull();
|
||||
});
|
||||
|
||||
it('should hide the username when showName attribute is false', async () => {
|
||||
component.showName = false;
|
||||
await whenFixtureReady();
|
||||
expect(element.querySelector('#adf-userinfo-ecm-name-display')).toBeNull();
|
||||
});
|
||||
|
||||
it('should have the defined class to show the name on the right side', async () => {
|
||||
await whenFixtureReady();
|
||||
expect(element.querySelector('#userinfo_container').classList).toContain('adf-userinfo-name-right');
|
||||
});
|
||||
|
||||
it('should not have the defined class to show the name on the left side', async () => {
|
||||
component.namePosition = 'left';
|
||||
await whenFixtureReady();
|
||||
expect(element.querySelector('#userinfo_container').classList).not.toContain('adf-userinfo-name-right');
|
||||
});
|
||||
|
||||
describe('and has image', () => {
|
||||
beforeEach(async () => {
|
||||
component.ecmUser = fakeEcmUser as any;
|
||||
component.isLoggedIn = true;
|
||||
spyOn(component, 'getEcmAvatar').and.returnValue(profilePictureUrl);
|
||||
await whenFixtureReady();
|
||||
});
|
||||
|
||||
it('should get the ecm current user image', async () => {
|
||||
openUserInfo();
|
||||
const loggedImage = fixture.debugElement.query(By.css('#logged-user-img'));
|
||||
|
||||
expect(element.querySelector('#userinfo_container')).not.toBeNull();
|
||||
expect(loggedImage).not.toBeNull();
|
||||
expect(loggedImage.properties.src).toContain(profilePictureUrl);
|
||||
});
|
||||
|
||||
it('should display the current user image if user has avatarId', () => {
|
||||
openUserInfo();
|
||||
const loggedImage = fixture.debugElement.query(By.css('#logged-user-img'));
|
||||
expect(component.ecmUser).toBeDefined();
|
||||
expect(component.ecmUser.avatarId).toBe('fake-avatar-id');
|
||||
expect(element.querySelector('#userinfo_container')).not.toBeNull();
|
||||
expect(loggedImage).not.toBeNull();
|
||||
expect(loggedImage.properties.src).toContain(profilePictureUrl);
|
||||
});
|
||||
|
||||
it('should get the ecm user information', async () => {
|
||||
openUserInfo();
|
||||
const ecmImage = fixture.debugElement.query(By.css('#ecm-user-detail-image'));
|
||||
const ecmFullName = fixture.debugElement.query(By.css('#ecm-full-name'));
|
||||
const ecmJobTitle = fixture.debugElement.query(By.css('#ecm-job-title-label'));
|
||||
|
||||
expect(element.querySelector('#userinfo_container')).not.toBeNull();
|
||||
expect(fixture.debugElement.query(By.css('#ecm-username'))).not.toBeNull();
|
||||
expect(ecmImage).not.toBeNull();
|
||||
expect(ecmImage.properties.src).toContain(profilePictureUrl);
|
||||
expect(ecmFullName.nativeElement.textContent).toContain('fake-ecm-first-name fake-ecm-last-name');
|
||||
expect(ecmJobTitle.nativeElement.textContent).toContain('USER_PROFILE.LABELS.ECM.JOB_TITLE');
|
||||
});
|
||||
});
|
||||
|
||||
describe('and has no image', () => {
|
||||
beforeEach(async () => {
|
||||
component.ecmUser = fakeEcmUserNoImage as any;
|
||||
component.isLoggedIn = true;
|
||||
await whenFixtureReady();
|
||||
});
|
||||
|
||||
it('should show N/A when the job title is null', () => {
|
||||
const imageButton = element.querySelector<HTMLButtonElement>('[data-automation-id="user-initials-image"]');
|
||||
imageButton.click();
|
||||
fixture.detectChanges();
|
||||
expect(element.querySelector('#userinfo_container')).not.toBeNull();
|
||||
const ecmJobTitle = fixture.debugElement.query(By.css('#ecm-job-title'));
|
||||
expect(ecmJobTitle).not.toBeNull();
|
||||
expect(ecmJobTitle).not.toBeNull();
|
||||
expect(ecmJobTitle.nativeElement.textContent).toContain('N/A');
|
||||
});
|
||||
|
||||
it('should display the current user Initials if the user dose not have avatarId', () => {
|
||||
fixture.detectChanges();
|
||||
const pipe = new InitialUsernamePipe(new FakeSanitizer());
|
||||
const expected = pipe.transform({
|
||||
firstName: 'Wilbur',
|
||||
lastName: 'Adams',
|
||||
email: 'wilbur@app.com'
|
||||
});
|
||||
expect(expected).toBe('<div data-automation-id="user-initials-image" class="">WA</div>');
|
||||
expect(component.ecmUser).toBeDefined();
|
||||
expect(component.ecmUser.avatarId).toBeNull();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('when identity user is logged in', () => {
|
||||
beforeEach(() => {
|
||||
component.ecmUser = fakeEcmUser as any;
|
||||
component.identityUser = identityUserMock as unknown as IdentityUserModel;
|
||||
component.isLoggedIn = true;
|
||||
component.mode = UserInfoMode.CONTENT_SSO;
|
||||
});
|
||||
|
||||
it('should not show initials if the user have avatar and provider is ECM', async () => {
|
||||
component.identityUser = identityUserWithOutLastNameMock as unknown as IdentityUserModel;
|
||||
await whenFixtureReady();
|
||||
|
||||
expect(element.querySelector('.adf-userinfo-pic')).toBeNull();
|
||||
expect(element.querySelector('.adf-userinfo-profile-image')).toBeDefined();
|
||||
expect(element.querySelector('.adf-userinfo-profile-image')).not.toBeNull();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
+8
-2
@@ -15,14 +15,20 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { IdentityUserModel, UserInfoMode } from '@alfresco/adf-core';
|
||||
import { FullNamePipe, IdentityUserModel, InitialUsernamePipe, UserInfoMode } from '@alfresco/adf-core';
|
||||
import { Component, Input, OnDestroy, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import { MatMenuTrigger, MenuPositionX, MenuPositionY } from '@angular/material/menu';
|
||||
import { MatMenuModule, MatMenuTrigger, MenuPositionX, MenuPositionY } from '@angular/material/menu';
|
||||
import { Subject } from 'rxjs';
|
||||
import { EcmUserModel, PeopleContentService } from '@alfresco/adf-content-services';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatCardModule } from '@angular/material/card';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-content-user-info',
|
||||
standalone: true,
|
||||
imports: [CommonModule, FullNamePipe, MatMenuModule, MatButtonModule, InitialUsernamePipe, MatCardModule, TranslateModule],
|
||||
templateUrl: './content-user-info.component.html',
|
||||
styleUrls: ['./content-user-info.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { ContentUserInfoComponent } from './content-user-info.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { FullNamePipe, InitialUsernamePipe, PipeModule } from '@alfresco/adf-core';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { MatCardModule } from '@angular/material/card';
|
||||
|
||||
@NgModule({
|
||||
declarations: [ContentUserInfoComponent],
|
||||
imports: [
|
||||
CommonModule,
|
||||
MatButtonModule,
|
||||
MatMenuModule,
|
||||
MatTabsModule,
|
||||
MatCardModule,
|
||||
TranslateModule,
|
||||
PipeModule,
|
||||
InitialUsernamePipe,
|
||||
FullNamePipe
|
||||
],
|
||||
exports: [ContentUserInfoComponent]
|
||||
})
|
||||
export class ContentUserInfoModule {}
|
||||
@@ -16,5 +16,3 @@
|
||||
*/
|
||||
|
||||
export * from './content-user-info.component';
|
||||
|
||||
export * from './content-user-info.module';
|
||||
|
||||
@@ -15,7 +15,4 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { ProcessUserInfoComponent } from './process-user-info.component';
|
||||
|
||||
export * from './process-user-info.component';
|
||||
export const PROCESS_USER_INFO_DIRECTIVES = [ProcessUserInfoComponent] as const;
|
||||
|
||||
@@ -17,14 +17,26 @@
|
||||
|
||||
import { EcmUserModel, PeopleContentService } from '@alfresco/adf-content-services';
|
||||
import { PeopleProcessService } from '@alfresco/adf-process-services';
|
||||
import { AuthenticationService, BasicAlfrescoAuthService, IdentityUserModel, IdentityUserService, UserInfoMode } from '@alfresco/adf-core';
|
||||
import {
|
||||
AuthenticationService,
|
||||
BasicAlfrescoAuthService,
|
||||
IdentityUserInfoComponent,
|
||||
IdentityUserModel,
|
||||
IdentityUserService,
|
||||
UserInfoMode
|
||||
} from '@alfresco/adf-core';
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { MenuPositionX, MenuPositionY } from '@angular/material/menu';
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { UserRepresentation } from '@alfresco/js-api';
|
||||
import { ContentUserInfoComponent } from './content-user-info';
|
||||
import { ProcessUserInfoComponent } from './process-user-info';
|
||||
|
||||
@Component({
|
||||
selector: 'app-shell-user-info',
|
||||
standalone: true,
|
||||
imports: [CommonModule, ContentUserInfoComponent, IdentityUserInfoComponent, ProcessUserInfoComponent],
|
||||
templateUrl: './user-info.component.html'
|
||||
})
|
||||
export class UserInfoComponent implements OnInit {
|
||||
|
||||
@@ -29,16 +29,22 @@ import {
|
||||
CardViewMapItemModel,
|
||||
UpdateNotification,
|
||||
DecimalNumberPipe,
|
||||
CardViewArrayItemModel
|
||||
CardViewArrayItemModel,
|
||||
CardViewComponent
|
||||
} from '@alfresco/adf-core';
|
||||
import { of, Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatSlideToggleModule, MatButtonModule, CardViewComponent],
|
||||
templateUrl: './card-view.component.html',
|
||||
styleUrls: ['./card-view.component.scss']
|
||||
})
|
||||
export class CardViewComponent implements OnInit, OnDestroy {
|
||||
export class AppCardViewComponent implements OnInit, OnDestroy {
|
||||
isEditable = true;
|
||||
properties: any;
|
||||
logs: string[];
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CardViewComponent } from './card-view.component';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: CardViewComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule,
|
||||
RouterModule.forChild(routes)
|
||||
],
|
||||
declarations: [CardViewComponent]
|
||||
})
|
||||
export class AppCardViewModule {}
|
||||
@@ -18,18 +18,18 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
import { AppListCloudModule } from '@alfresco/adf-process-services-cloud';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
imports: [AppListCloudModule],
|
||||
templateUrl: './apps-cloud-demo.component.html'
|
||||
})
|
||||
|
||||
export class AppsCloudDemoComponent {
|
||||
|
||||
constructor(private router: Router, private cloudLayoutService: CloudLayoutService) {
|
||||
}
|
||||
constructor(private router: Router, private cloudLayoutService: CloudLayoutService) {}
|
||||
|
||||
onAppClick(app) {
|
||||
this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'});
|
||||
this.cloudLayoutService.setCurrentTaskFilterParam({ key: 'my-tasks' });
|
||||
this.router.navigate([`/cloud/${app.name}`]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,15 +20,18 @@ import { Observable } from 'rxjs';
|
||||
import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
import { Router, ActivatedRoute } from '@angular/router';
|
||||
import { CloudProcessFiltersService } from './services/cloud-process-filters.service';
|
||||
import { ProcessFilterCloudModel } from '@alfresco/adf-process-services-cloud';
|
||||
import { ProcessFilterCloudModel, ProcessFiltersCloudModule, TaskFiltersCloudModule } from '@alfresco/adf-process-services-cloud';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatExpansionModule } from '@angular/material/expansion';
|
||||
@Component({
|
||||
selector: 'app-cloud-filters-demo',
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatExpansionModule, TaskFiltersCloudModule, ProcessFiltersCloudModule],
|
||||
templateUrl: './cloud-filters-demo.component.html',
|
||||
styleUrls: ['./cloud-filters-demo.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class CloudFiltersDemoComponent implements OnInit {
|
||||
|
||||
@Input()
|
||||
appName: string;
|
||||
|
||||
@@ -67,17 +70,17 @@ export class CloudFiltersDemoComponent implements OnInit {
|
||||
|
||||
onTaskFilterSelected(filter) {
|
||||
if (filter) {
|
||||
this.router.navigate([`/cloud/${this.appName}/tasks/`], {queryParams: filter});
|
||||
this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: filter });
|
||||
}
|
||||
}
|
||||
|
||||
onProcessFilterSelected(filter: ProcessFilterCloudModel) {
|
||||
if (filter) {
|
||||
const {appName} = this;
|
||||
const {id} = filter;
|
||||
const { appName } = this;
|
||||
const { id } = filter;
|
||||
|
||||
const queryParams = this.cloudProcessFiltersService.writeQueryParams(filter, appName, id);
|
||||
this.router.navigate([`/cloud/${appName}/processes/`], {queryParams});
|
||||
this.router.navigate([`/cloud/${appName}/processes/`], { queryParams });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,41 @@
|
||||
*/
|
||||
|
||||
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { Router, ActivatedRoute } from '@angular/router';
|
||||
import { Router, ActivatedRoute, RouterOutlet } from '@angular/router';
|
||||
import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import {
|
||||
SidebarActionMenuComponent,
|
||||
SidenavLayoutComponent,
|
||||
SidenavLayoutContentDirective,
|
||||
SidenavLayoutHeaderDirective,
|
||||
SidenavLayoutNavigationDirective
|
||||
} from '@alfresco/adf-core';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { CloudFiltersDemoComponent } from './cloud-filters-demo.component';
|
||||
import { CloudSettingsComponent } from './shared/cloud-settings.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-cloud-layout',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
MatTabsModule,
|
||||
SidenavLayoutComponent,
|
||||
TranslateModule,
|
||||
SidenavLayoutHeaderDirective,
|
||||
SidenavLayoutNavigationDirective,
|
||||
SidebarActionMenuComponent,
|
||||
MatIconModule,
|
||||
MatMenuModule,
|
||||
SidenavLayoutContentDirective,
|
||||
RouterOutlet,
|
||||
CloudFiltersDemoComponent,
|
||||
CloudSettingsComponent
|
||||
],
|
||||
templateUrl: './cloud-layout.component.html',
|
||||
styleUrls: ['./cloud-layout.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
<adf-alfresco-viewer
|
||||
[nodeId]="nodeId">
|
||||
<adf-alfresco-viewer [nodeId]="nodeId">
|
||||
</adf-alfresco-viewer>
|
||||
|
||||
@@ -17,17 +17,18 @@
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { AlfrescoViewerComponent } from '@alfresco/adf-content-services';
|
||||
|
||||
@Component({
|
||||
selector: 'app-cloud-viewer',
|
||||
standalone: true,
|
||||
imports: [AlfrescoViewerComponent],
|
||||
templateUrl: './cloud-viewer.component.html'
|
||||
})
|
||||
export class CloudViewerComponent implements OnInit {
|
||||
|
||||
nodeId: string;
|
||||
|
||||
constructor(private route: ActivatedRoute) {
|
||||
}
|
||||
constructor(private route: ActivatedRoute) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.route.params.subscribe((params: Params) => {
|
||||
|
||||
+25
-20
@@ -16,16 +16,18 @@
|
||||
*/
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { FormService, WidgetComponent } from '@alfresco/adf-core';
|
||||
import { ErrorWidgetComponent, FormService, WidgetComponent } from '@alfresco/adf-core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
/* eslint-disable @angular-eslint/component-selector */
|
||||
|
||||
@Component({
|
||||
selector: 'custom-editor-widget',
|
||||
template: `
|
||||
<div style="color: green">
|
||||
ADF version of custom form widget
|
||||
</div>
|
||||
`
|
||||
standalone: true,
|
||||
template: ` <div style="color: green">ADF version of custom form widget</div> `
|
||||
})
|
||||
export class CustomEditorComponent extends WidgetComponent {
|
||||
constructor() {
|
||||
@@ -35,32 +37,35 @@ export class CustomEditorComponent extends WidgetComponent {
|
||||
|
||||
@Component({
|
||||
selector: 'app-sample-widget',
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatFormFieldModule, MatInputModule, TranslateModule, FormsModule, ErrorWidgetComponent],
|
||||
template: `
|
||||
<div style="color: red">
|
||||
<p *ngIf="field.readOnly || readOnly">
|
||||
<label class="adf-label" [attr.for]="field.id">{{field.name | translate }}<span *ngIf="isRequired()">*</span></label>
|
||||
<span>{{field.value}}</span>
|
||||
<label class="adf-label" [attr.for]="field.id">{{ field.name | translate }}<span *ngIf="isRequired()">*</span></label>
|
||||
<span>{{ field.value }}</span>
|
||||
</p>
|
||||
|
||||
<mat-form-field *ngIf="!(field.readOnly || readOnly)">
|
||||
<label class="adf-label" [attr.for]="field.id">{{field.name | translate }}<span *ngIf="isRequired()">*</span></label>
|
||||
<input matInput
|
||||
class="adf-input"
|
||||
type="text"
|
||||
[id]="field.id"
|
||||
[required]="isRequired()"
|
||||
[value]="field.value"
|
||||
[(ngModel)]="field.value"
|
||||
(ngModelChange)="onFieldChanged(field)">
|
||||
<mat-hint>{{field.placeholder}}</mat-hint>
|
||||
<label class="adf-label" [attr.for]="field.id">{{ field.name | translate }}<span *ngIf="isRequired()">*</span></label>
|
||||
<input
|
||||
matInput
|
||||
class="adf-input"
|
||||
type="text"
|
||||
[id]="field.id"
|
||||
[required]="isRequired()"
|
||||
[value]="field.value"
|
||||
[(ngModel)]="field.value"
|
||||
(ngModelChange)="onFieldChanged(field)"
|
||||
/>
|
||||
<mat-hint>{{ field.placeholder }}</mat-hint>
|
||||
</mat-form-field>
|
||||
<error-widget [error]="field.validationSummary"></error-widget>
|
||||
<error-widget *ngIf="isInvalidFieldRequired()" required="{{ 'FORM.FIELD.REQUIRED' | translate }}"></error-widget>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
export class CustomWidgetComponent extends WidgetComponent implements OnInit {
|
||||
|
||||
export class CustomWidgetComponent extends WidgetComponent implements OnInit {
|
||||
constructor(public formService: FormService) {
|
||||
super(formService);
|
||||
}
|
||||
|
||||
@@ -19,15 +19,15 @@ import { Component } from '@angular/core';
|
||||
import { FormRenderingService } from '@alfresco/adf-core';
|
||||
import { CloudFormRenderingService } from '@alfresco/adf-process-services-cloud';
|
||||
import { CustomEditorComponent, CustomWidgetComponent } from './custom-form-components/custom-editor.component';
|
||||
import { RouterOutlet } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
template: `<router-outlet></router-outlet>`,
|
||||
providers: [
|
||||
{ provide: FormRenderingService, useClass: CloudFormRenderingService }
|
||||
]
|
||||
standalone: true,
|
||||
imports: [RouterOutlet],
|
||||
providers: [{ provide: FormRenderingService, useClass: CloudFormRenderingService }]
|
||||
})
|
||||
export class ProcessCloudLayoutComponent {
|
||||
|
||||
constructor(private formRenderingService: FormRenderingService) {
|
||||
this.formRenderingService.register({
|
||||
'custom-editor': () => CustomEditorComponent,
|
||||
|
||||
@@ -17,15 +17,19 @@
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { ProcessHeaderCloudModule, TaskListCloudModule } from '@alfresco/adf-process-services-cloud';
|
||||
|
||||
@Component({
|
||||
selector: 'app-process-details-cloud-demo',
|
||||
standalone: true,
|
||||
imports: [MatIconModule, MatButtonModule, TaskListCloudModule, ProcessHeaderCloudModule],
|
||||
templateUrl: './process-details-cloud-demo.component.html',
|
||||
styleUrls: ['./process-details-cloud-demo.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ProcessDetailsCloudDemoComponent {
|
||||
|
||||
processInstanceId: string;
|
||||
appName: string;
|
||||
|
||||
|
||||
@@ -21,18 +21,23 @@ import {
|
||||
PROCESS_FILTER_ACTION_SAVE,
|
||||
PROCESS_FILTER_ACTION_SAVE_AS,
|
||||
ProcessFilterAction,
|
||||
ProcessFilterCloudModel
|
||||
ProcessFilterCloudModel,
|
||||
ProcessFiltersCloudModule,
|
||||
ProcessListCloudModule
|
||||
} from '@alfresco/adf-process-services-cloud';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { DataCellEvent, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { DataCellEvent, PaginationComponent, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { CloudLayoutService, CloudServiceSettings } from './services/cloud-layout.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { Pagination } from '@alfresco/js-api';
|
||||
import { CloudProcessFiltersService } from './services/cloud-process-filters.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
|
||||
@Component({
|
||||
selector: 'app-processes-cloud-demo',
|
||||
standalone: true,
|
||||
imports: [CommonModule, ProcessFiltersCloudModule, ProcessListCloudModule, PaginationComponent],
|
||||
templateUrl: './processes-cloud-demo.component.html',
|
||||
styleUrls: ['./processes-cloud-demo.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
@@ -50,8 +55,8 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
actionMenu: boolean;
|
||||
contextMenu: boolean;
|
||||
actions: any[] = [];
|
||||
selectedAction: { id: number; name: string; actionType: string};
|
||||
selectedContextAction: { id: number; name: string; actionType: string};
|
||||
selectedAction: { id: number; name: string; actionType: string };
|
||||
selectedContextAction: { id: number; name: string; actionType: string };
|
||||
|
||||
filterProperties: string[];
|
||||
filterSortProperties: string[];
|
||||
@@ -69,8 +74,8 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
private router: Router,
|
||||
private cloudLayoutService: CloudLayoutService,
|
||||
private cloudProcessFiltersService: CloudProcessFiltersService,
|
||||
private userPreference: UserPreferencesService) {
|
||||
}
|
||||
private userPreference: UserPreferencesService
|
||||
) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.filterProperties = this.cloudProcessFiltersService.filterProperties;
|
||||
@@ -87,9 +92,7 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
this.loadFilter(model);
|
||||
});
|
||||
|
||||
this.cloudLayoutService.settings$
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(settings => this.setCurrentSettings(settings));
|
||||
this.cloudLayoutService.settings$.pipe(takeUntil(this.onDestroy$)).subscribe((settings) => this.setCurrentSettings(settings));
|
||||
this.performContextActions();
|
||||
}
|
||||
|
||||
@@ -129,7 +132,7 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
...this.cloudProcessFiltersService.writeQueryParams(filter, this.appName, filter.id),
|
||||
filterId: filter.id
|
||||
};
|
||||
this.router.navigate([`/cloud/${this.appName}/processes/`], {queryParams});
|
||||
this.router.navigate([`/cloud/${this.appName}/processes/`], { queryParams });
|
||||
}
|
||||
|
||||
onProcessFilterAction(filterAction: ProcessFilterAction) {
|
||||
@@ -155,33 +158,30 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
|
||||
onShowRowContextMenu(event: DataCellEvent) {
|
||||
event.value.actions = this.actions.map((action) => ({
|
||||
data: event.value.row['obj'],
|
||||
model: action,
|
||||
subject: this.performAction$
|
||||
|
||||
data: event.value.row['obj'],
|
||||
model: action,
|
||||
subject: this.performAction$
|
||||
}));
|
||||
}
|
||||
|
||||
onExecuteRowAction(row: any) {
|
||||
const value = row.value.row['obj'].entry;
|
||||
const action = row.value.action;
|
||||
this.selectedAction = {id: value.id, name: value.name, actionType: action.title};
|
||||
this.selectedAction = { id: value.id, name: value.name, actionType: action.title };
|
||||
}
|
||||
|
||||
performContextActions() {
|
||||
this.performAction$
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe((action: any) => {
|
||||
this.performAction$.pipe(takeUntil(this.onDestroy$)).subscribe((action: any) => {
|
||||
if (action) {
|
||||
this.onExecuteContextAction(action);
|
||||
this.onExecuteContextAction(action);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
onExecuteContextAction(contextAction: any) {
|
||||
const value = contextAction.data.entry;
|
||||
const action = contextAction.model;
|
||||
this.selectedContextAction = {id: value.id, name: value.name, actionType: action.title};
|
||||
this.selectedContextAction = { id: value.id, name: value.name, actionType: action.title };
|
||||
}
|
||||
|
||||
private loadFilter(model: ProcessFilterCloudModel) {
|
||||
|
||||
@@ -19,10 +19,33 @@ import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { ActionMenuModel, CloudLayoutService } from '../services/cloud-layout.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { FormsModule, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatCheckboxModule } from '@angular/material/checkbox';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatChipsModule } from '@angular/material/chips';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
|
||||
@Component({
|
||||
selector: 'app-cloud-settings',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
MatSlideToggleModule,
|
||||
MatFormFieldModule,
|
||||
MatSelectModule,
|
||||
FormsModule,
|
||||
MatInputModule,
|
||||
ReactiveFormsModule,
|
||||
MatCheckboxModule,
|
||||
MatButtonModule,
|
||||
MatChipsModule,
|
||||
MatIconModule
|
||||
],
|
||||
templateUrl: './cloud-settings.component.html',
|
||||
styleUrls: ['./cloud-settings.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
@@ -51,15 +74,12 @@ export class CloudSettingsComponent implements OnInit, OnDestroy {
|
||||
icon: new UntypedFormControl(''),
|
||||
visible: new UntypedFormControl(true),
|
||||
disabled: new UntypedFormControl(false)
|
||||
});
|
||||
});
|
||||
|
||||
constructor(private cloudLayoutService: CloudLayoutService) { }
|
||||
constructor(private cloudLayoutService: CloudLayoutService) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.cloudLayoutService
|
||||
.settings$
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(settings => this.setCurrentSettings(settings));
|
||||
this.cloudLayoutService.settings$.pipe(takeUntil(this.onDestroy$)).subscribe((settings) => this.setCurrentSettings(settings));
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CloudSettingsComponent } from './cloud-settings.component';
|
||||
import { MatDialogModule } from '@angular/material/dialog';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule,
|
||||
MatDialogModule,
|
||||
MatInputModule,
|
||||
MatSelectModule,
|
||||
MatSlideToggleModule
|
||||
],
|
||||
declarations: [ CloudSettingsComponent ],
|
||||
exports: [ CommonModule, CloudSettingsComponent]
|
||||
})
|
||||
|
||||
export class AppCloudSharedModule {}
|
||||
@@ -20,28 +20,28 @@ import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { NotificationService, AppConfigService, FormRenderingService } from '@alfresco/adf-core';
|
||||
import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { CloudFormRenderingService } from '@alfresco/adf-process-services-cloud';
|
||||
import { CloudFormRenderingService, StartProcessCloudModule } from '@alfresco/adf-process-services-cloud';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
imports: [StartProcessCloudModule],
|
||||
templateUrl: './start-process-cloud-demo.component.html',
|
||||
providers: [
|
||||
{ provide: FormRenderingService, useClass: CloudFormRenderingService }
|
||||
]
|
||||
providers: [{ provide: FormRenderingService, useClass: CloudFormRenderingService }]
|
||||
})
|
||||
export class StartProcessCloudDemoComponent implements OnInit {
|
||||
|
||||
appName;
|
||||
processName: string;
|
||||
formValues: any;
|
||||
variables: any;
|
||||
|
||||
constructor(private appConfig: AppConfigService,
|
||||
private cloudLayoutService: CloudLayoutService,
|
||||
private route: ActivatedRoute,
|
||||
private previewService: PreviewService,
|
||||
private notificationService: NotificationService,
|
||||
private router: Router) {
|
||||
}
|
||||
constructor(
|
||||
private appConfig: AppConfigService,
|
||||
private cloudLayoutService: CloudLayoutService,
|
||||
private route: ActivatedRoute,
|
||||
private previewService: PreviewService,
|
||||
private notificationService: NotificationService,
|
||||
private router: Router
|
||||
) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
|
||||
@@ -19,20 +19,22 @@ import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { NotificationService } from '@alfresco/adf-core';
|
||||
import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
import { StartTaskCloudModule } from '@alfresco/adf-process-services-cloud';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
imports: [StartTaskCloudModule],
|
||||
templateUrl: './start-task-cloud-demo.component.html'
|
||||
})
|
||||
export class StartTaskCloudDemoComponent implements OnInit {
|
||||
|
||||
appName;
|
||||
|
||||
constructor(
|
||||
private cloudLayoutService: CloudLayoutService,
|
||||
private route: ActivatedRoute,
|
||||
private notificationService: NotificationService,
|
||||
private router: Router) {
|
||||
}
|
||||
private router: Router
|
||||
) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
|
||||
@@ -18,17 +18,18 @@
|
||||
import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { NotificationService } from '@alfresco/adf-core';
|
||||
import { TaskHeaderCloudComponent } from '@alfresco/adf-process-services-cloud';
|
||||
import { TaskFormModule, TaskHeaderCloudComponent, TaskHeaderCloudModule } from '@alfresco/adf-process-services-cloud';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-task-details-cloud-demo',
|
||||
standalone: true,
|
||||
imports: [TaskFormModule, TaskHeaderCloudModule],
|
||||
templateUrl: './task-details-cloud-demo.component.html',
|
||||
styleUrls: ['./task-details-cloud-demo.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class TaskDetailsCloudDemoComponent {
|
||||
|
||||
@ViewChild('taskHeader', { static: true })
|
||||
taskHeader: TaskHeaderCloudComponent;
|
||||
|
||||
@@ -40,14 +41,13 @@ export class TaskDetailsCloudDemoComponent {
|
||||
private router: Router,
|
||||
private notificationService: NotificationService,
|
||||
private previewService: PreviewService
|
||||
) {
|
||||
) {
|
||||
this.route.params.subscribe((params) => {
|
||||
this.taskId = params.taskId;
|
||||
});
|
||||
this.route.parent.params.subscribe((params) => {
|
||||
this.appName = params.appName;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
isTaskValid(): boolean {
|
||||
|
||||
@@ -18,14 +18,17 @@
|
||||
import { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import {
|
||||
TaskFilterCloudModel,
|
||||
TaskFiltersCloudModule,
|
||||
TaskListCloudComponent,
|
||||
TaskListCloudModule,
|
||||
TaskListCloudSortingModel
|
||||
} from '@alfresco/adf-process-services-cloud';
|
||||
import { AppConfigService, DataCellEvent, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { AppConfigService, DataCellEvent, PaginationComponent, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { CloudLayoutService } from './services/cloud-layout.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { CommonModule } from '@angular/common';
|
||||
|
||||
const ACTION_SAVE_AS = 'saveAs';
|
||||
const ACTION_DELETE = 'delete';
|
||||
@@ -33,6 +36,8 @@ const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
|
||||
|
||||
@Component({
|
||||
selector: 'app-tasks-cloud-demo',
|
||||
standalone: true,
|
||||
imports: [CommonModule, TaskFiltersCloudModule, TaskListCloudModule, PaginationComponent],
|
||||
templateUrl: './tasks-cloud-demo.component.html',
|
||||
styleUrls: ['./tasks-cloud-demo.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
@@ -49,7 +54,7 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||
|
||||
sortArray: TaskListCloudSortingModel[];
|
||||
editedFilter: TaskFilterCloudModel;
|
||||
taskFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] };
|
||||
taskFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] };
|
||||
|
||||
filterId;
|
||||
multiselect: boolean;
|
||||
@@ -57,8 +62,8 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||
actionMenu: boolean;
|
||||
contextMenu: boolean;
|
||||
actions: any[] = [];
|
||||
selectedAction: { id: number; name: string; actionType: string};
|
||||
selectedContextAction: { id: number; name: string; actionType: string};
|
||||
selectedAction: { id: number; name: string; actionType: string };
|
||||
selectedContextAction: { id: number; name: string; actionType: string };
|
||||
testingMode: boolean;
|
||||
selectionMode: string;
|
||||
taskDetailsRedirection: boolean;
|
||||
@@ -71,8 +76,8 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||
private route: ActivatedRoute,
|
||||
private router: Router,
|
||||
private userPreference: UserPreferencesService,
|
||||
private appConfig: AppConfigService) {
|
||||
|
||||
private appConfig: AppConfigService
|
||||
) {
|
||||
const properties = this.appConfig.get<Array<any>>(TASK_FILTER_PROPERTY_KEYS);
|
||||
if (properties) {
|
||||
this.taskFilterProperties = properties;
|
||||
@@ -91,9 +96,7 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||
this.filterId = params.id;
|
||||
});
|
||||
|
||||
this.cloudLayoutService.settings$
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(settings => this.setCurrentSettings(settings));
|
||||
this.cloudLayoutService.settings$.pipe(takeUntil(this.onDestroy$)).subscribe((settings) => this.setCurrentSettings(settings));
|
||||
this.performContextActions();
|
||||
}
|
||||
|
||||
@@ -139,7 +142,6 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
onTaskFilterAction(filterAction: any) {
|
||||
|
||||
if (filterAction.actionType === ACTION_DELETE) {
|
||||
this.cloudLayoutService.setCurrentTaskFilterParam({ index: 0 });
|
||||
} else {
|
||||
@@ -157,32 +159,29 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||
|
||||
onShowRowContextMenu(event: DataCellEvent) {
|
||||
event.value.actions = this.actions.map((action) => ({
|
||||
data: event.value.row['obj'],
|
||||
model: action,
|
||||
subject: this.performAction$
|
||||
|
||||
data: event.value.row['obj'],
|
||||
model: action,
|
||||
subject: this.performAction$
|
||||
}));
|
||||
}
|
||||
|
||||
onExecuteRowAction(row: any) {
|
||||
const value = row.value.row['obj'].entry;
|
||||
const action = row.value.action;
|
||||
this.selectedAction = {id: value.id, name: value.name, actionType: action.title};
|
||||
this.selectedAction = { id: value.id, name: value.name, actionType: action.title };
|
||||
}
|
||||
|
||||
performContextActions() {
|
||||
this.performAction$
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe((action: any) => {
|
||||
this.performAction$.pipe(takeUntil(this.onDestroy$)).subscribe((action: any) => {
|
||||
if (action) {
|
||||
this.onExecuteContextAction(action);
|
||||
this.onExecuteContextAction(action);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
onExecuteContextAction(contextAction: any) {
|
||||
const value = contextAction.data.entry;
|
||||
const action = contextAction.model;
|
||||
this.selectedContextAction = {id: value.id, name: value.name, actionType: action.title};
|
||||
this.selectedContextAction = { id: value.id, name: value.name, actionType: action.title };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,17 +17,19 @@
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { ErrorContentComponent } from '@alfresco/adf-core';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
|
||||
@Component({
|
||||
selector: 'app-demo-error',
|
||||
standalone: true,
|
||||
imports: [ErrorContentComponent, MatButtonModule],
|
||||
templateUrl: './demo-error.component.html'
|
||||
})
|
||||
export class DemoErrorComponent implements OnInit {
|
||||
|
||||
errorCode: string = '';
|
||||
|
||||
constructor(private route: ActivatedRoute, private router: Router) {
|
||||
}
|
||||
constructor(private route: ActivatedRoute, private router: Router) {}
|
||||
|
||||
ngOnInit() {
|
||||
if (this.route) {
|
||||
@@ -42,5 +44,4 @@ export class DemoErrorComponent implements OnInit {
|
||||
onReturnButton() {
|
||||
this.router.navigate(['/']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,18 +17,44 @@
|
||||
|
||||
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute, PRIMARY_OUTLET, Router } from '@angular/router';
|
||||
import { NotificationService } from '@alfresco/adf-core';
|
||||
import { InfoDrawerComponent, InfoDrawerTabComponent, NotificationService, ViewerComponent } from '@alfresco/adf-core';
|
||||
import {
|
||||
AlfrescoViewerComponent,
|
||||
AllowableOperationsEnum,
|
||||
ContentMetadataComponent,
|
||||
ContentService,
|
||||
FileUploadErrorEvent,
|
||||
NodeCommentsComponent,
|
||||
NodesApiService,
|
||||
PermissionsEnum
|
||||
PermissionsEnum,
|
||||
VersionManagerComponent
|
||||
} from '@alfresco/adf-content-services';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
@Component({
|
||||
selector: 'app-file-view',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
AlfrescoViewerComponent,
|
||||
ViewerComponent,
|
||||
NodeCommentsComponent,
|
||||
ContentMetadataComponent,
|
||||
MatSlideToggleModule,
|
||||
MatFormFieldModule,
|
||||
MatButtonModule,
|
||||
MatInputModule,
|
||||
FormsModule,
|
||||
VersionManagerComponent,
|
||||
InfoDrawerTabComponent,
|
||||
InfoDrawerComponent
|
||||
],
|
||||
templateUrl: './file-view.component.html',
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CoreModule, InfoDrawerModule } from '@alfresco/adf-core';
|
||||
import { ContentModule, ContentDirectiveModule, VersionManagerModule, ContentMetadataModule } from '@alfresco/adf-content-services';
|
||||
import { FileViewComponent } from './file-view.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: FileViewComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterModule.forChild(routes),
|
||||
CoreModule,
|
||||
ContentModule,
|
||||
InfoDrawerModule,
|
||||
ContentModule,
|
||||
ContentDirectiveModule,
|
||||
ContentMetadataModule,
|
||||
VersionManagerModule
|
||||
],
|
||||
declarations: [FileViewComponent],
|
||||
exports: [FileViewComponent]
|
||||
})
|
||||
export class FileViewModule {
|
||||
|
||||
}
|
||||
@@ -31,7 +31,23 @@ import {
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { NodeEntry, NodePaging, Pagination, Node, SearchEntry } from '@alfresco/js-api';
|
||||
import { NotificationService, UserPreferencesService, PaginationComponent, ShowHeaderMode, FormRenderingService } from '@alfresco/adf-core';
|
||||
import {
|
||||
NotificationService,
|
||||
UserPreferencesService,
|
||||
PaginationComponent,
|
||||
ShowHeaderMode,
|
||||
FormRenderingService,
|
||||
ToolbarTitleComponent,
|
||||
ToolbarComponent,
|
||||
ToolbarDividerComponent,
|
||||
DataColumnComponent,
|
||||
HighlightPipe,
|
||||
DataColumnListComponent,
|
||||
CustomEmptyContentTemplateDirective,
|
||||
InfoDrawerTabComponent,
|
||||
InfoDrawerComponent,
|
||||
InfoDrawerLayoutComponent
|
||||
} from '@alfresco/adf-core';
|
||||
import {
|
||||
ContentService,
|
||||
FolderCreatedEvent,
|
||||
@@ -42,18 +58,82 @@ import {
|
||||
FilterSearch,
|
||||
DialogAspectListService,
|
||||
FileUploadEvent,
|
||||
NodesApiService
|
||||
NodesApiService,
|
||||
UploadDragAreaComponent,
|
||||
CheckAllowableOperationDirective,
|
||||
BreadcrumbComponent,
|
||||
DropdownBreadcrumbComponent,
|
||||
NodeDownloadDirective,
|
||||
NodeDeleteDirective,
|
||||
NodeLockDirective,
|
||||
ContentActionListComponent,
|
||||
ContentActionComponent,
|
||||
ContentMetadataComponent,
|
||||
VersionManagerComponent,
|
||||
UploadButtonComponent
|
||||
} from '@alfresco/adf-content-services';
|
||||
import { ProcessFormRenderingService } from '@alfresco/adf-process-services';
|
||||
import { VersionManagerDialogAdapterComponent } from './version-manager-dialog-adapter.component';
|
||||
import { Subject } from 'rxjs';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { takeUntil, debounceTime, scan } from 'rxjs/operators';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { FolderCreateDirective } from '../../folder-directive';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatCheckboxModule } from '@angular/material/checkbox';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
|
||||
const DEFAULT_FOLDER_TO_SHOW = '-my-';
|
||||
|
||||
@Component({
|
||||
selector: 'app-files-component',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
UploadDragAreaComponent,
|
||||
MatButtonModule,
|
||||
MatIconModule,
|
||||
CheckAllowableOperationDirective,
|
||||
ToolbarTitleComponent,
|
||||
ToolbarComponent,
|
||||
BreadcrumbComponent,
|
||||
DropdownBreadcrumbComponent,
|
||||
DocumentListComponent,
|
||||
FolderCreateDirective,
|
||||
NodeDownloadDirective,
|
||||
NodeDeleteDirective,
|
||||
ToolbarDividerComponent,
|
||||
MatMenuModule,
|
||||
TranslateModule,
|
||||
DataColumnComponent,
|
||||
NodeLockDirective,
|
||||
ContentActionListComponent,
|
||||
ContentActionComponent,
|
||||
PaginationComponent,
|
||||
ContentMetadataComponent,
|
||||
VersionManagerComponent,
|
||||
MatSlideToggleModule,
|
||||
FormsModule,
|
||||
MatFormFieldModule,
|
||||
MatInputModule,
|
||||
UploadButtonComponent,
|
||||
MatCheckboxModule,
|
||||
MatSelectModule,
|
||||
HighlightPipe,
|
||||
DataColumnListComponent,
|
||||
CustomEmptyContentTemplateDirective,
|
||||
VersionManagerDialogAdapterComponent,
|
||||
InfoDrawerTabComponent,
|
||||
InfoDrawerComponent,
|
||||
InfoDrawerLayoutComponent
|
||||
],
|
||||
templateUrl: './files.component.html',
|
||||
styleUrls: ['./files.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
|
||||
@@ -16,14 +16,20 @@
|
||||
*/
|
||||
|
||||
import { Component, Inject, ViewEncapsulation } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
|
||||
import { Node } from '@alfresco/js-api';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { NotificationService } from '@alfresco/adf-core';
|
||||
import { FileUploadErrorEvent } from '@alfresco/adf-content-services';
|
||||
import { FileUploadErrorEvent, VersionListComponent, VersionManagerComponent } from '@alfresco/adf-content-services';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
|
||||
@Component({
|
||||
templateUrl: './version-manager-dialog-adapter.component.html',
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatDialogModule, MatSlideToggleModule, FormsModule, VersionManagerComponent, VersionListComponent, MatButtonModule],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class VersionManagerDialogAdapterComponent {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<div class="main-content">
|
||||
<div class="app-main-content">
|
||||
|
||||
<mat-tab-group [animationDuration]="'0'">
|
||||
<mat-tab label="Form">
|
||||
+2
-5
@@ -2,10 +2,6 @@
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.app-main-content {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.app-card-view {
|
||||
width: 30%;
|
||||
display: inline-block;
|
||||
@@ -31,7 +27,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
.main-content {
|
||||
.app-main-content {
|
||||
padding: 0 15px;
|
||||
|
||||
.adf-form-config-editor {
|
||||
height: 500px;
|
||||
+13
-4
@@ -17,23 +17,32 @@
|
||||
|
||||
import { Component, inject, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { FormModel, FormFieldModel, FormService, FormOutcomeEvent, NotificationService, FormRenderingService } from '@alfresco/adf-core';
|
||||
import { ProcessFormRenderingService } from '@alfresco/adf-process-services';
|
||||
import { FormComponent, ProcessFormRenderingService } from '@alfresco/adf-process-services';
|
||||
import { InMemoryFormService } from '../../services/in-memory-form.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { CoreAutomationService } from '../../../testing/automation.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { MonacoEditorModule } from 'ngx-monaco-editor-v2';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
|
||||
@Component({
|
||||
selector: 'app-form',
|
||||
templateUrl: './form.component.html',
|
||||
styleUrls: ['./form.component.scss'],
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatTabsModule, FormComponent, MonacoEditorModule, MatButtonModule, FormsModule, TranslateModule, MatIconModule],
|
||||
templateUrl: './app-form.component.html',
|
||||
styleUrls: ['./app-form.component.scss'],
|
||||
providers: [
|
||||
{ provide: FormService, useClass: InMemoryFormService },
|
||||
{ provide: FormRenderingService, useClass: ProcessFormRenderingService }
|
||||
],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class FormComponent implements OnInit, OnDestroy {
|
||||
export class AppFormComponent implements OnInit, OnDestroy {
|
||||
private formService = inject(FormService);
|
||||
private notificationService = inject(NotificationService);
|
||||
private automationService = inject(CoreAutomationService);
|
||||
@@ -16,12 +16,16 @@
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation } from '@angular/core';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { AppConfigPipe, LoginComponent } from '@alfresco/adf-core';
|
||||
import { RouterLink } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-login',
|
||||
standalone: true,
|
||||
imports: [MatIconModule, LoginComponent, AppConfigPipe, RouterLink],
|
||||
templateUrl: './login.component.html',
|
||||
styleUrls: ['./login.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class LoginComponent {
|
||||
}
|
||||
export class AppLoginComponent {}
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { LoginComponent } from './login.component';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { ContentModule } from '@alfresco/adf-content-services';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: LoginComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule,
|
||||
RouterModule.forChild(routes),
|
||||
ContentModule.forChild()
|
||||
],
|
||||
declarations: [LoginComponent]
|
||||
})
|
||||
export class AppLoginModule {}
|
||||
@@ -16,9 +16,12 @@
|
||||
*/
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
|
||||
@Component({
|
||||
selector: 'app-logout',
|
||||
standalone: true,
|
||||
imports: [MatButtonModule],
|
||||
templateUrl: './logout.component.html',
|
||||
styleUrls: ['./logout.component.scss']
|
||||
})
|
||||
|
||||
@@ -17,18 +17,19 @@
|
||||
|
||||
import { Component, OnInit, Optional } from '@angular/core';
|
||||
import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { PermissionListComponent } from '@alfresco/adf-content-services';
|
||||
|
||||
@Component({
|
||||
selector: 'app-permissions',
|
||||
standalone: true,
|
||||
imports: [PermissionListComponent],
|
||||
templateUrl: './demo-permissions.component.html',
|
||||
styleUrls: ['./demo-permissions.component.scss']
|
||||
})
|
||||
export class DemoPermissionComponent implements OnInit {
|
||||
|
||||
nodeId: string;
|
||||
|
||||
constructor(@Optional() private route: ActivatedRoute) {
|
||||
}
|
||||
constructor(@Optional() private route: ActivatedRoute) {}
|
||||
|
||||
ngOnInit() {
|
||||
if (this.route) {
|
||||
|
||||
@@ -16,15 +16,35 @@
|
||||
*/
|
||||
|
||||
import { Component, OnInit, OnDestroy } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl, AbstractControl } from '@angular/forms';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl, AbstractControl, ReactiveFormsModule } from '@angular/forms';
|
||||
import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import { Subject } from 'rxjs';
|
||||
import { ProcessInstanceQueryRepresentationSort, ProcessInstanceQueryRepresentationState } from '@alfresco/js-api';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { ProcessInstanceListComponent } from '@alfresco/adf-process-services';
|
||||
import { DataColumnComponent, DataColumnListComponent, PaginationComponent } from '@alfresco/adf-core';
|
||||
|
||||
const DEFAULT_SIZE = 20;
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
ReactiveFormsModule,
|
||||
MatFormFieldModule,
|
||||
MatInputModule,
|
||||
MatSelectModule,
|
||||
MatButtonModule,
|
||||
ProcessInstanceListComponent,
|
||||
DataColumnListComponent,
|
||||
DataColumnComponent,
|
||||
PaginationComponent
|
||||
],
|
||||
templateUrl: './process-list-demo.component.html',
|
||||
styleUrls: [`./process-list-demo.component.scss`]
|
||||
})
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { ProcessListDemoComponent } from './process-list-demo.component';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { ProcessModule } from '@alfresco/adf-process-services';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: ProcessListDemoComponent
|
||||
},
|
||||
{
|
||||
path: ':id',
|
||||
component: ProcessListDemoComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [CommonModule, RouterModule.forChild(routes), CoreModule, ProcessModule],
|
||||
declarations: [ProcessListDemoComponent]
|
||||
})
|
||||
export class AppProcessListModule {}
|
||||
@@ -18,9 +18,12 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { AppDefinitionRepresentation } from '@alfresco/js-api';
|
||||
import { AppsListComponent } from '@alfresco/adf-process-services';
|
||||
|
||||
@Component({
|
||||
selector: 'app-process-list-view',
|
||||
standalone: true,
|
||||
imports: [AppsListComponent],
|
||||
templateUrl: './apps-view.component.html'
|
||||
})
|
||||
export class AppsViewComponent {
|
||||
|
||||
@@ -17,23 +17,24 @@
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { FormComponent } from '@alfresco/adf-process-services';
|
||||
import { CommonModule } from '@angular/common';
|
||||
|
||||
@Component({
|
||||
selector: 'app-form-node-viewer',
|
||||
standalone: true,
|
||||
imports: [CommonModule, FormComponent],
|
||||
templateUrl: './form-node-viewer.component.html',
|
||||
styleUrls: ['./form-node-viewer.component.css']
|
||||
})
|
||||
export class FormNodeViewerComponent implements OnInit {
|
||||
|
||||
nodeId: string;
|
||||
|
||||
constructor(private route: ActivatedRoute) {
|
||||
}
|
||||
constructor(private route: ActivatedRoute) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.route.params.subscribe((params) => {
|
||||
this.nodeId = params['id'];
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,18 +17,20 @@
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormComponent } from '@alfresco/adf-process-services';
|
||||
|
||||
@Component({
|
||||
selector: 'app-form-viewer',
|
||||
standalone: true,
|
||||
imports: [CommonModule, FormComponent],
|
||||
templateUrl: './form-viewer.component.html',
|
||||
styleUrls: ['./form-viewer.component.css']
|
||||
})
|
||||
export class FormViewerComponent implements OnInit {
|
||||
|
||||
taskId: string;
|
||||
|
||||
constructor(private route: ActivatedRoute) {
|
||||
}
|
||||
constructor(private route: ActivatedRoute) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.route.params.subscribe((params: Params) => {
|
||||
|
||||
@@ -16,15 +16,32 @@
|
||||
*/
|
||||
|
||||
import { Component, inject, Input, OnChanges, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import { ProcessAttachmentListComponent, ProcessService, ProcessUploadService } from '@alfresco/adf-process-services';
|
||||
import { UploadService } from '@alfresco/adf-content-services';
|
||||
import {
|
||||
CreateProcessAttachmentComponent,
|
||||
ProcessAttachmentListComponent,
|
||||
ProcessService,
|
||||
ProcessUploadService
|
||||
} from '@alfresco/adf-process-services';
|
||||
import { UploadDragAreaComponent, UploadService } from '@alfresco/adf-content-services';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { ProcessInstanceRepresentation } from '@alfresco/js-api';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { EmptyListComponent } from '@alfresco/adf-core';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-process-attachments',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
UploadDragAreaComponent,
|
||||
ProcessAttachmentListComponent,
|
||||
EmptyListComponent,
|
||||
TranslateModule,
|
||||
CreateProcessAttachmentComponent
|
||||
],
|
||||
templateUrl: './process-attachments.component.html',
|
||||
styleUrls: ['./process-attachments.component.css'],
|
||||
providers: [{ provide: UploadService, useClass: ProcessUploadService }],
|
||||
|
||||
@@ -20,9 +20,7 @@
|
||||
(success)="onSuccessTaskFilterList()" #activitiFilter>
|
||||
</adf-task-filters>
|
||||
</div>
|
||||
<div
|
||||
class="app-grid-item app-tasks-list"
|
||||
*ngIf="taskFilter && !isStartTaskMode()">
|
||||
<div *ngIf="taskFilter && !isStartTaskMode()" class="app-grid-item app-tasks-list">
|
||||
<adf-tasklist
|
||||
[appId]="taskFilter?.appId"
|
||||
[presetColumn]="presetColumn"
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
// eslint-disable-next-line
|
||||
import { AfterViewInit, Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation, EventEmitter, Output } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-content-services';
|
||||
import { Pagination, UserProcessInstanceFilterRepresentation, ScriptFilesApi, UserTaskFilterRepresentation } from '@alfresco/js-api';
|
||||
import {
|
||||
FORM_FIELD_VALIDATORS,
|
||||
@@ -26,9 +27,9 @@ import {
|
||||
AppConfigService,
|
||||
PaginationComponent,
|
||||
UserPreferenceValues,
|
||||
AlfrescoApiService,
|
||||
UserPreferencesService,
|
||||
NotificationService
|
||||
NotificationService,
|
||||
SidebarActionMenuComponent
|
||||
} from '@alfresco/adf-core';
|
||||
import {
|
||||
ProcessFiltersComponent,
|
||||
@@ -40,12 +41,23 @@ import {
|
||||
ProcessFormRenderingService,
|
||||
APP_LIST_LAYOUT_LIST,
|
||||
ValidateDynamicTableRowEvent,
|
||||
DynamicTableRow
|
||||
DynamicTableRow,
|
||||
TaskDetailsComponent,
|
||||
TaskAuditDirective,
|
||||
StartTaskComponent,
|
||||
ProcessInstanceDetailsComponent,
|
||||
ProcessAuditDirective
|
||||
} from '@alfresco/adf-process-services';
|
||||
import { Subject } from 'rxjs';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { Location } from '@angular/common';
|
||||
import { CommonModule, Location } from '@angular/common';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { TaskAttachmentsComponent } from './task-attachments.component';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { ProcessAttachmentsComponent } from './process-attachments.component';
|
||||
|
||||
const currentProcessIdNew = '__NEW__';
|
||||
const currentTaskIdNew = '__NEW__';
|
||||
@@ -56,6 +68,28 @@ const REPORT_ROUTE = 2;
|
||||
|
||||
@Component({
|
||||
selector: 'app-process-service',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
MatTabsModule,
|
||||
SidebarActionMenuComponent,
|
||||
MatIconModule,
|
||||
MatMenuModule,
|
||||
TaskFiltersComponent,
|
||||
TaskListComponent,
|
||||
PaginationComponent,
|
||||
TaskDetailsComponent,
|
||||
TaskAuditDirective,
|
||||
TaskAttachmentsComponent,
|
||||
StartTaskComponent,
|
||||
ProcessFiltersComponent,
|
||||
ProcessInstanceListComponent,
|
||||
ProcessInstanceDetailsComponent,
|
||||
ProcessAuditDirective,
|
||||
MatButtonModule,
|
||||
ProcessAttachmentsComponent,
|
||||
StartProcessInstanceComponent
|
||||
],
|
||||
templateUrl: './process-service.component.html',
|
||||
styleUrls: ['./process-service.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
|
||||
@@ -16,15 +16,20 @@
|
||||
*/
|
||||
|
||||
import { Component, inject, Input, OnChanges, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||
import { TaskAttachmentListComponent, TaskListService, TaskUploadService } from '@alfresco/adf-process-services';
|
||||
import { UploadService } from '@alfresco/adf-content-services';
|
||||
import { AttachmentComponent, TaskAttachmentListComponent, TaskListService, TaskUploadService } from '@alfresco/adf-process-services';
|
||||
import { UploadDragAreaComponent, UploadService } from '@alfresco/adf-content-services';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { EmptyListComponent } from '@alfresco/adf-core';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-task-attachments',
|
||||
standalone: true,
|
||||
imports: [CommonModule, UploadDragAreaComponent, TaskAttachmentListComponent, EmptyListComponent, TranslateModule, AttachmentComponent],
|
||||
templateUrl: './task-attachments.component.html',
|
||||
styleUrls: ['./task-attachments.component.css'],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
|
||||
@@ -19,9 +19,13 @@ import { Component } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { NodeEntry } from '@alfresco/js-api';
|
||||
import { PreviewService } from '../../services/preview.service';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { SearchControlComponent } from '@alfresco/adf-content-services';
|
||||
|
||||
@Component({
|
||||
selector: 'app-search-bar',
|
||||
standalone: true,
|
||||
imports: [CommonModule, SearchControlComponent],
|
||||
templateUrl: './search-bar.component.html',
|
||||
styleUrls: ['./search-bar.component.scss']
|
||||
})
|
||||
|
||||
@@ -18,18 +18,43 @@
|
||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { Pagination, ResultSetPaging } from '@alfresco/js-api';
|
||||
import { SearchConfiguration, SearchQueryBuilderService, SearchService } from '@alfresco/adf-content-services';
|
||||
import {
|
||||
ResetSearchDirective,
|
||||
SearchConfiguration,
|
||||
SearchFilterChipsComponent,
|
||||
SearchFormComponent,
|
||||
SearchQueryBuilderService,
|
||||
SearchService,
|
||||
SearchSortingPickerComponent
|
||||
} from '@alfresco/adf-content-services';
|
||||
import { ShowHeaderMode, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { combineLatest, Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
||||
import { MatDividerModule } from '@angular/material/divider';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { FilesComponent } from '../files/files.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-search-filter-chips',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
MatProgressBarModule,
|
||||
SearchFormComponent,
|
||||
MatDividerModule,
|
||||
MatIconModule,
|
||||
ResetSearchDirective,
|
||||
SearchSortingPickerComponent,
|
||||
FilesComponent,
|
||||
SearchFilterChipsComponent
|
||||
],
|
||||
templateUrl: './search-filter-chips.component.html',
|
||||
styleUrls: ['./search-filter-chips.component.scss'],
|
||||
providers: [SearchService]
|
||||
})
|
||||
export class SearchFilterChipsComponent implements OnInit, OnDestroy {
|
||||
export class AppSearchFilterChipsComponent implements OnInit, OnDestroy {
|
||||
queryParamName = 'q';
|
||||
searchedWord = '';
|
||||
data: ResultSetPaging;
|
||||
|
||||
@@ -18,19 +18,39 @@
|
||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { Pagination, ResultSetPaging } from '@alfresco/js-api';
|
||||
import { SearchForm, SearchQueryBuilderService, SearchService } from '@alfresco/adf-content-services';
|
||||
import {
|
||||
SearchChipListComponent,
|
||||
SearchFilterComponent,
|
||||
SearchForm,
|
||||
SearchQueryBuilderService,
|
||||
SearchService,
|
||||
SearchSortingPickerComponent
|
||||
} from '@alfresco/adf-content-services';
|
||||
import { ShowHeaderMode, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { combineLatest, Subject } from 'rxjs';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { FilesComponent } from '../files/files.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-search-result-component',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
SearchChipListComponent,
|
||||
SearchFilterComponent,
|
||||
MatProgressBarModule,
|
||||
SearchSortingPickerComponent,
|
||||
MatButtonModule,
|
||||
FilesComponent
|
||||
],
|
||||
templateUrl: './search-result.component.html',
|
||||
styleUrls: ['./search-result.component.scss'],
|
||||
providers: [SearchService]
|
||||
})
|
||||
export class SearchResultComponent implements OnInit, OnDestroy {
|
||||
|
||||
queryParamName = 'q';
|
||||
searchedWord = '';
|
||||
data: ResultSetPaging;
|
||||
@@ -43,10 +63,12 @@ export class SearchResultComponent implements OnInit, OnDestroy {
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
|
||||
constructor(public router: Router,
|
||||
private preferences: UserPreferencesService,
|
||||
private queryBuilder: SearchQueryBuilderService,
|
||||
private route: ActivatedRoute) {
|
||||
constructor(
|
||||
public router: Router,
|
||||
private preferences: UserPreferencesService,
|
||||
private queryBuilder: SearchQueryBuilderService,
|
||||
private route: ActivatedRoute
|
||||
) {
|
||||
combineLatest([this.route.params, this.queryBuilder.configUpdated])
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(([params, searchConfig]) => {
|
||||
@@ -55,7 +77,7 @@ export class SearchResultComponent implements OnInit, OnDestroy {
|
||||
if (query) {
|
||||
this.queryBuilder.userQuery = query;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
queryBuilder.paging = {
|
||||
maxItems: this.preferences.paginationSize,
|
||||
@@ -68,21 +90,17 @@ export class SearchResultComponent implements OnInit, OnDestroy {
|
||||
|
||||
this.sorting = this.getSorting();
|
||||
|
||||
this.queryBuilder.updated
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe(() => {
|
||||
this.sorting = this.getSorting();
|
||||
this.isLoading = true;
|
||||
});
|
||||
this.queryBuilder.updated.pipe(takeUntil(this.onDestroy$)).subscribe(() => {
|
||||
this.sorting = this.getSorting();
|
||||
this.isLoading = true;
|
||||
});
|
||||
|
||||
this.queryBuilder.executed
|
||||
.pipe(takeUntil(this.onDestroy$))
|
||||
.subscribe((resultSetPaging: ResultSetPaging) => {
|
||||
this.queryBuilder.paging.skipCount = 0;
|
||||
this.queryBuilder.executed.pipe(takeUntil(this.onDestroy$)).subscribe((resultSetPaging: ResultSetPaging) => {
|
||||
this.queryBuilder.paging.skipCount = 0;
|
||||
|
||||
this.onSearchResultLoaded(resultSetPaging);
|
||||
this.isLoading = false;
|
||||
});
|
||||
this.onSearchResultLoaded(resultSetPaging);
|
||||
this.isLoading = false;
|
||||
});
|
||||
|
||||
if (this.route) {
|
||||
this.route.params.forEach((params: Params) => {
|
||||
@@ -91,18 +109,20 @@ export class SearchResultComponent implements OnInit, OnDestroy {
|
||||
this.queryBuilder.update();
|
||||
} else {
|
||||
this.queryBuilder.userQuery = null;
|
||||
this.queryBuilder.executed.next(new ResultSetPaging({
|
||||
list: {
|
||||
pagination: { totalItems: 0 },
|
||||
entries: []
|
||||
}
|
||||
}));
|
||||
this.queryBuilder.executed.next(
|
||||
new ResultSetPaging({
|
||||
list: {
|
||||
pagination: { totalItems: 0 },
|
||||
entries: []
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private formatSearchQuery(userInput: string, fields = ['cm:name']) {
|
||||
private formatSearchQuery(userInput: string, fields = ['cm:name']) {
|
||||
if (!userInput) {
|
||||
return null;
|
||||
}
|
||||
@@ -142,6 +162,6 @@ export class SearchResultComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
switchLayout() {
|
||||
this.router.navigate(['search-filter-chips', { q: this.searchedWord }] );
|
||||
this.router.navigate(['search-filter-chips', { q: this.searchedWord }]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,16 +16,34 @@
|
||||
*/
|
||||
|
||||
import { Component, EventEmitter, Output, ViewEncapsulation, OnInit, Input } from '@angular/core';
|
||||
import { Validators, UntypedFormGroup, UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
|
||||
import { AppConfigService, AppConfigValues, StorageService, AlfrescoApiService, AuthenticationService } from '@alfresco/adf-core';
|
||||
import { Validators, UntypedFormGroup, UntypedFormBuilder, UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
|
||||
import { AppConfigService, AppConfigValues, StorageService, AuthenticationService } from '@alfresco/adf-core';
|
||||
import { ENTER } from '@angular/cdk/keycodes';
|
||||
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
||||
import { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatRadioModule } from '@angular/material/radio';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-content-services';
|
||||
|
||||
export const HOST_REGEX = '^(http|https)://.*[^/]$';
|
||||
|
||||
@Component({
|
||||
providers: [{ provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { floatLabel: 'always' } }],
|
||||
selector: 'adf-host-settings',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
ReactiveFormsModule,
|
||||
MatFormFieldModule,
|
||||
MatSelectModule,
|
||||
MatRadioModule,
|
||||
MatInputModule,
|
||||
MatSlideToggleModule,
|
||||
MatButtonModule
|
||||
],
|
||||
templateUrl: 'host-settings.component.html',
|
||||
host: { class: 'adf-host-settings' },
|
||||
styleUrls: ['./host-settings.component.scss'],
|
||||
@@ -161,7 +179,10 @@ export class HostSettingsComponent implements OnInit {
|
||||
}
|
||||
|
||||
private createIdentityFormControl(): UntypedFormControl {
|
||||
return new UntypedFormControl(this.appConfig.get<string>(AppConfigValues.IDENTITY_HOST), [Validators.required, Validators.pattern(HOST_REGEX)]);
|
||||
return new UntypedFormControl(this.appConfig.get<string>(AppConfigValues.IDENTITY_HOST), [
|
||||
Validators.required,
|
||||
Validators.pattern(HOST_REGEX)
|
||||
]);
|
||||
}
|
||||
|
||||
private createECMFormControl(): UntypedFormControl {
|
||||
@@ -203,7 +224,7 @@ export class HostSettingsComponent implements OnInit {
|
||||
}
|
||||
|
||||
private saveOAuthValues(values: any) {
|
||||
if (values.oauthConfig.publicUrls && (typeof values.oauthConfig.publicUrls === 'string')) {
|
||||
if (values.oauthConfig.publicUrls && typeof values.oauthConfig.publicUrls === 'string') {
|
||||
values.oauthConfig.publicUrls = values.oauthConfig.publicUrls.split(',');
|
||||
}
|
||||
|
||||
@@ -278,5 +299,4 @@ export class HostSettingsComponent implements OnInit {
|
||||
get oauthConfig(): UntypedFormControl {
|
||||
return this.form.get('oauthConfig') as UntypedFormControl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,9 +17,13 @@
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { HostSettingsComponent } from './host-settings.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-settings',
|
||||
standalone: true,
|
||||
imports: [CommonModule, HostSettingsComponent],
|
||||
templateUrl: './settings.component.html'
|
||||
})
|
||||
export class SettingsComponent {
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { SettingsComponent } from './settings.component';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { HostSettingsComponent } from './host-settings.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: SettingsComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterModule.forChild(routes),
|
||||
CoreModule,
|
||||
FormsModule,
|
||||
ReactiveFormsModule
|
||||
],
|
||||
declarations: [
|
||||
SettingsComponent,
|
||||
HostSettingsComponent
|
||||
]
|
||||
})
|
||||
export class AppSettingsModule {}
|
||||
@@ -3,9 +3,7 @@
|
||||
<form [formGroup]="taskListForm">
|
||||
<mat-form-field>
|
||||
<mat-label>App Id</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[formControl]="taskAppId" data-automation-id="appId input">
|
||||
<input matInput [formControl]="taskAppId" data-automation-id="appId input">
|
||||
<mat-error *ngIf="taskAppId.hasError('pattern')">
|
||||
App ID must be a number
|
||||
</mat-error>
|
||||
@@ -13,16 +11,12 @@
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Task Name</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[formControl]="taskName" data-automation-id="task name">
|
||||
<input matInput [formControl]="taskName" data-automation-id="task name">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Task Id</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[formControl]="taskId" data-automation-id="task id">
|
||||
<input matInput [formControl]="taskId" data-automation-id="task id">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
@@ -182,8 +176,6 @@
|
||||
</data-columns>
|
||||
</adf-tasklist>
|
||||
|
||||
<adf-pagination
|
||||
[target]="taskList">
|
||||
</adf-pagination>
|
||||
<adf-pagination [target]="taskList"></adf-pagination>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -16,20 +16,43 @@
|
||||
*/
|
||||
|
||||
import { Component, OnInit, OnDestroy } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl, AbstractControl } from '@angular/forms';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl, AbstractControl, ReactiveFormsModule } from '@angular/forms';
|
||||
import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import { Subject } from 'rxjs';
|
||||
import { set } from 'date-fns';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatDatepickerModule } from '@angular/material/datepicker';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { TaskListComponent } from '@alfresco/adf-process-services';
|
||||
import { DataColumnComponent, DataColumnListComponent, FullNamePipe, LocalizedDatePipe, PaginationComponent } from '@alfresco/adf-core';
|
||||
|
||||
const DEFAULT_SIZE = 20;
|
||||
|
||||
@Component({
|
||||
selector: 'app-task-list-demo',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
ReactiveFormsModule,
|
||||
MatFormFieldModule,
|
||||
MatInputModule,
|
||||
MatDatepickerModule,
|
||||
MatSelectModule,
|
||||
MatButtonModule,
|
||||
TaskListComponent,
|
||||
DataColumnListComponent,
|
||||
DataColumnComponent,
|
||||
FullNamePipe,
|
||||
LocalizedDatePipe,
|
||||
PaginationComponent
|
||||
],
|
||||
templateUrl: './task-list-demo.component.html',
|
||||
styleUrls: [`./task-list-demo.component.scss`]
|
||||
})
|
||||
|
||||
export class TaskListDemoComponent implements OnInit, OnDestroy {
|
||||
taskListForm: UntypedFormGroup;
|
||||
|
||||
@@ -54,33 +77,31 @@ export class TaskListDemoComponent implements OnInit, OnDestroy {
|
||||
includeProcessInstance: boolean;
|
||||
|
||||
assignmentOptions = [
|
||||
{value: 'assignee', title: 'Assignee'},
|
||||
{value: 'candidate', title: 'Candidate'}
|
||||
{ value: 'assignee', title: 'Assignee' },
|
||||
{ value: 'candidate', title: 'Candidate' }
|
||||
];
|
||||
|
||||
includeProcessInstanceOptions = [
|
||||
{value: 'include', title: 'Include'},
|
||||
{value: 'exclude', title: 'Exclude'}
|
||||
{ value: 'include', title: 'Include' },
|
||||
{ value: 'exclude', title: 'Exclude' }
|
||||
];
|
||||
|
||||
stateOptions = [
|
||||
{value: 'all', title: 'All'},
|
||||
{value: 'active', title: 'Active'},
|
||||
{value: 'completed', title: 'Completed'}
|
||||
{ value: 'all', title: 'All' },
|
||||
{ value: 'active', title: 'Active' },
|
||||
{ value: 'completed', title: 'Completed' }
|
||||
];
|
||||
|
||||
sortOptions = [
|
||||
{value: 'created-asc', title: 'Created (asc)'},
|
||||
{value: 'created-desc', title: 'Created (desc)'},
|
||||
{value: 'due-asc', title: 'Due (asc)'},
|
||||
{value: 'due-desc', title: 'Due (desc)'}
|
||||
{ value: 'created-asc', title: 'Created (asc)' },
|
||||
{ value: 'created-desc', title: 'Created (desc)' },
|
||||
{ value: 'due-asc', title: 'Due (asc)' },
|
||||
{ value: 'due-desc', title: 'Due (desc)' }
|
||||
];
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
|
||||
constructor(private route: ActivatedRoute,
|
||||
private formBuilder: UntypedFormBuilder) {
|
||||
}
|
||||
constructor(private route: ActivatedRoute, private formBuilder: UntypedFormBuilder) {}
|
||||
|
||||
ngOnInit() {
|
||||
if (this.route) {
|
||||
@@ -120,16 +141,11 @@ export class TaskListDemoComponent implements OnInit, OnDestroy {
|
||||
taskIncludeProcessInstance: new UntypedFormControl()
|
||||
});
|
||||
|
||||
this.taskListForm.valueChanges
|
||||
.pipe(
|
||||
debounceTime(500),
|
||||
takeUntil(this.onDestroy$)
|
||||
)
|
||||
.subscribe(taskFilter => {
|
||||
if (this.isFormValid()) {
|
||||
this.filterTasks(taskFilter);
|
||||
}
|
||||
});
|
||||
this.taskListForm.valueChanges.pipe(debounceTime(500), takeUntil(this.onDestroy$)).subscribe((taskFilter) => {
|
||||
if (this.isFormValid()) {
|
||||
this.filterTasks(taskFilter);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
filterTasks(taskFilter: any) {
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { TaskListDemoComponent } from './task-list-demo.component';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule, FullNamePipe, LocalizedDatePipe } from '@alfresco/adf-core';
|
||||
import { ProcessModule } from '@alfresco/adf-process-services';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: TaskListDemoComponent
|
||||
},
|
||||
{
|
||||
path: ':id',
|
||||
component: TaskListDemoComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [CommonModule, RouterModule.forChild(routes), CoreModule, ProcessModule, LocalizedDatePipe, FullNamePipe],
|
||||
declarations: [TaskListDemoComponent]
|
||||
})
|
||||
export class AppTaskListModule {}
|
||||
@@ -26,6 +26,8 @@ import { ContentService } from '@alfresco/adf-content-services';
|
||||
import { ContentTestingModule } from 'lib/content-services/src/lib/testing/content.testing.module';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
imports: [FolderCreateDirective],
|
||||
template: ` <div [adf-create-folder]="parentNode" (success)="success($event)" title="create-title" [nodeType]="'cm:my-little-pony'"></div>`
|
||||
})
|
||||
class TestTypeComponent {
|
||||
@@ -38,6 +40,8 @@ class TestTypeComponent {
|
||||
}
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
imports: [FolderCreateDirective],
|
||||
template: `<div [adf-create-folder]="parentNode"></div>`
|
||||
})
|
||||
class TestComponent {
|
||||
@@ -56,8 +60,7 @@ describe('FolderCreateDirective', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [ContentTestingModule],
|
||||
declarations: [TestTypeComponent, TestComponent]
|
||||
imports: [ContentTestingModule, TestTypeComponent, TestComponent]
|
||||
});
|
||||
fixture = TestBed.createComponent(TestComponent);
|
||||
element = fixture.debugElement.query(By.directive(FolderCreateDirective));
|
||||
|
||||
@@ -26,7 +26,8 @@ const DEFAULT_FOLDER_PARENT_ID = '-my-';
|
||||
const DIALOG_WIDTH: number = 400;
|
||||
|
||||
@Directive({
|
||||
selector: '[adf-create-folder]'
|
||||
selector: '[adf-create-folder]',
|
||||
standalone: true
|
||||
})
|
||||
export class FolderCreateDirective {
|
||||
/** Parent folder where the new folder will be located after creation. */
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NgModule } from '@angular/core';
|
||||
import { MaterialModule } from '../material.module';
|
||||
|
||||
import { FolderCreateDirective } from './folder-create.directive';
|
||||
|
||||
@NgModule({
|
||||
imports: [CommonModule, MaterialModule],
|
||||
declarations: [FolderCreateDirective],
|
||||
exports: [FolderCreateDirective]
|
||||
})
|
||||
export class FolderDirectiveModule {}
|
||||
@@ -16,5 +16,3 @@
|
||||
*/
|
||||
|
||||
export * from './folder-create.directive';
|
||||
|
||||
export * from './folder-directive.module';
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { MatCardModule } from '@angular/material/card';
|
||||
import { MatDialogModule } from '@angular/material/dialog';
|
||||
import { MatExpansionModule } from '@angular/material/expansion';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatListModule } from '@angular/material/list';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatSidenavModule } from '@angular/material/sidenav';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
||||
import { MatToolbarModule } from '@angular/material/toolbar';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
MatSlideToggleModule,
|
||||
MatInputModule,
|
||||
MatSelectModule,
|
||||
MatDialogModule,
|
||||
MatSidenavModule,
|
||||
MatProgressBarModule,
|
||||
MatCardModule,
|
||||
MatListModule,
|
||||
MatMenuModule,
|
||||
MatToolbarModule,
|
||||
MatSnackBarModule,
|
||||
MatExpansionModule
|
||||
],
|
||||
exports: [
|
||||
MatSlideToggleModule,
|
||||
MatInputModule,
|
||||
MatSelectModule,
|
||||
MatDialogModule,
|
||||
MatSidenavModule,
|
||||
MatProgressBarModule,
|
||||
MatCardModule,
|
||||
MatListModule,
|
||||
MatMenuModule,
|
||||
MatToolbarModule,
|
||||
MatSnackBarModule,
|
||||
MatExpansionModule
|
||||
]
|
||||
})
|
||||
export class MaterialModule {
|
||||
}
|
||||
@@ -15,9 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AppConfigService, UserPreferencesService, StorageService, AuthenticationService } from '@alfresco/adf-core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { AppConfigService, AlfrescoApiService, StorageService, UserPreferencesService, AuthenticationService } from '@alfresco/adf-core';
|
||||
import { DemoForm } from './demo-form.mock';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-content-services';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
|
||||
+58
-59
@@ -194,7 +194,7 @@ A collection of Angular components for generic use.
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | -------- |
|
||||
| [APS Alfresco Content Service](core/services/activiti-alfresco.service.md) | Gets Alfresco Repository folder content based on a Repository account configured in Alfresco Process Services (APS). | [Source](../lib/process-services/src/lib/form/services/activiti-alfresco.service.ts) |
|
||||
| [Alfresco Api Service](core/services/alfresco-api.service.md) | Provides access to an initialized AlfrescoJSApi instance. | [Source](../lib/core/src/lib/services/alfresco-api.service.ts) |
|
||||
| [Alfresco Api Service](core/services/alfresco-api.service.md) | Provides access to an initialized AlfrescoJSApi instance. | [Source](lib/content-services/src/lib/services/alfresco-api.service.ts) |
|
||||
| [App Config service](core/services/app-config.service.md) | Supports app configuration settings, stored server side. | [Source](../lib/core/src/lib/app-config/app-config.service.ts) |
|
||||
| [Apps Process service](core/services/apps-process.service.md) | Gets details of the Process Services apps that are deployed for the user. | [Source](../lib/process-services/src/lib/services/apps-process.service.ts) |
|
||||
| [Auth Guard Bpm service](core/services/auth-guard-bpm.service.md) | Adds authentication with Process Services to a route within the app. | [Source](../lib/core/src/lib/auth/guard/auth-guard-bpm.service.ts) |
|
||||
@@ -264,61 +264,60 @@ for more information about installing and using the source code.
|
||||
|
||||
### Components
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Add Permission Dialog Component](content-services/components/add-permission-dialog.component.md) | Displays a dialog to search for people or groups to add to the current node permissions. | [Source](../lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.ts) |
|
||||
| [Add Permission Panel Component](content-services/components/add-permission-panel.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.ts) |
|
||||
| [Add Permission Component](content-services/components/add-permission.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/src/lib/permission-manager/components/add-permission/add-permission.component.ts) |
|
||||
| [Alfresco Viewer component](content-services/components/alfresco-viewer.component.md) | Displays content from an ACS repository. | [Source](../lib/content-services/src/lib/viewer/components/alfresco-viewer.component.ts) |
|
||||
| [Aspect List Dialog component](content-services/components/aspect-list-dialog.component.md) | Allows a user to choose aspects for a node. | [Source](../lib/content-services/src/lib/aspect-list/aspect-list-dialog.component.ts) |
|
||||
| [Aspect List component](content-services/components/aspect-list.component.md) | This component will show in an expandable row list with checkboxes all the aspect of a node, if a node id is given, or otherwise a complete list. | |
|
||||
| The aspect are filtered via the app.config.json in this way : | [Source](../lib/content-services/src/lib/aspect-list/aspect-list.component.ts) | |
|
||||
| [Breadcrumb Component](content-services/components/breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../lib/content-services/src/lib/breadcrumb/breadcrumb.component.ts) |
|
||||
| [Content Action component](content-services/components/content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../lib/content-services/src/lib/document-list/components/content-action/content-action.component.ts) |
|
||||
| [Content Metadata Card component](content-services/components/content-metadata-card.component.md) | Displays and edits metadata related to a node. | [Source](../lib/content-services/src/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.ts) |
|
||||
| [Content Node Selector Panel component](content-services/components/content-node-selector-panel.component.md) | Opens a Content Node Selector in its own dialog window. | [Source](../lib/content-services/src/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.ts) |
|
||||
| [Content Node Selector component](content-services/components/content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts) |
|
||||
| [Content Type Dialog component](content-services/components/content-type-dialog.component.md) | Confirm dialog when user changes content type of a node. | [Source](../lib/content-services/src/lib/content-type/content-type-dialog.component.ts) |
|
||||
| [Document List component](content-services/components/document-list.component.md) | Displays the documents from a repository. | [Source](../lib/content-services/src/lib/document-list/components/document-list.component.ts) |
|
||||
| [Dropdown Breadcrumb Component](content-services/components/dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../lib/content-services/src/lib/breadcrumb/dropdown-breadcrumb.component.ts) |
|
||||
| [File Uploading Dialog Component](content-services/components/file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../lib/content-services/src/lib/upload/components/file-uploading-dialog.component.ts) |
|
||||
| [Node Comments Component](content-services/components/node-comments.component.md) | Displays comments from users involved in a specified content and allows an involved user to add a comment to a content. | [Source](../lib/content-services/src/lib/node-comments/node-comments.component.ts) |
|
||||
| [Permission List Component](content-services/components/permission-list.component.md) | Shows node permissions as a table. | [Source](../lib/content-services/src/lib/permission-manager/components/permission-list/permission-list.component.ts) |
|
||||
| [Search check list component](content-services/components/search-check-list.component.md) | Implements a checklist widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-check-list/search-check-list.component.ts) |
|
||||
| [Search Chip Input Component](content-services/components/search-chip-input.component.md) | Displays input for providing phrases display as "chips". | [Source](../lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.ts) |
|
||||
| [Search Chip Autocomplete Input component](content-services/components/search-chip-autocomplete-input.component.md) | Displays an input with autocomplete options. | [Source](../lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.ts) |
|
||||
| [Search Chip List Component](content-services/components/search-chip-list.component.md) | Displays search criteria as a set of "chips". | [Source](../lib/content-services/src/lib/search/components/search-chip-list/search-chip-list.component.ts) |
|
||||
| [Search control component](content-services/components/search-control.component.md) | Displays a input text that shows find-as-you-type suggestions. | [Source](../lib/content-services/src/lib/search/components/search-control.component.ts) |
|
||||
| [Search Date Range Component](content-services/components/search-date-range.component.md) | Displays a UI to configure different kinds of search criteria around date. Options are 'Anytime', 'In the last' and 'Between' | [Source](../lib/content-services/src/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.ts) |
|
||||
| [Search Date Range Tabbed component](content-services/components/search-date-range-tabbed.component.md) | Implements a tabbed advanced search widget for the Search Date Range component. | [Source](../lib/content-services/src/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.ts) |
|
||||
| [Search datetime range component](content-services/components/search-datetime-range.component.md) | Implements a search widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-datetime-range/search-datetime-range.component.ts) |
|
||||
| [Search Filter Autocomplete Chips component](content-services/components/search-filter-autocomplete-chips.component.md) | Implements a search widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.ts) |
|
||||
| [Search Filter Chips component](content-services/components/search-filter-chips.component.md) | Represents a chip based container component for custom search and faceted search settings. | [Source](../lib/content-services/src/lib/search/components/search-filter-chips/search-filter-chips.component.ts) |
|
||||
| [Search Filter component](content-services/components/search-filter.component.md) | Represents a main container component for custom search and faceted search settings. | [Source](../lib/content-services/src/lib/search/components/search-filter/search-filter.component.ts) |
|
||||
| [Search Filter Tabbed component](content-services/components/search-filter-tabbed.component.md) | Represents a container component for creating tabbed layout. | [Source](../lib/content-services/src/lib/search/components/search-filter/search-filter.component.ts) |
|
||||
| [Search Form component](content-services/components/search-form.component.md) | Search Form screenshot | [Source](../lib/content-services/src/lib/search/components/search-form/search-form.component.ts) |
|
||||
| [Search Logical Filter component](content-services/components/search-logical-filter.component.md) | Displays 3 chip inputs each representing different logical condition for search query. | [Source](../lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.ts) |
|
||||
| [Search Properties component](content-services/components/search-properties.component.md) | Allows to search by file size and type.| [Source](../lib/content-services/src/lib/search/components/search-properties/search-properties.component.ts) |
|
||||
| [Search number range component](content-services/components/search-number-range.component.md) | Implements a number range widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-number-range/search-number-range.component.ts) |
|
||||
| [Search radio component](content-services/components/search-radio.component.md) | Implements a radio button list widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-radio/search-radio.component.ts) |
|
||||
| [Search slider component](content-services/components/search-slider.component.md) | Implements a numeric slider widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-slider/search-slider.component.ts) |
|
||||
| [Search Sorting Picker Component](content-services/components/search-sorting-picker.component.md) | Provides an ability to select one of the predefined sorting definitions for search results: | [Source](../lib/content-services/src/lib/search/components/search-sorting-picker/search-sorting-picker.component.ts) |
|
||||
| [Search text component](content-services/components/search-text.component.md) | Implements a text input widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-text/search-text.component.ts) |
|
||||
| [Search component](content-services/components/search.component.md) | Searches items for supplied search terms. | [Source](../lib/content-services/src/lib/search/components/search.component.ts) |
|
||||
| [Sites Dropdown component](content-services/components/sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../lib/content-services/src/lib/content-node-selector/site-dropdown/sites-dropdown.component.ts) |
|
||||
| [Tag Node Actions List component](content-services/components/tag-actions.component.md) | Shows available actions for tags. | [Source](../lib/content-services/src/lib/tag/tag-actions.component.ts) |
|
||||
| [Tag List component](content-services/components/tag-list.component.md) | Shows tags for an item. | [Source](../lib/content-services/src/lib/tag/tag-list.component.ts) |
|
||||
| [Tag Node List component](content-services/components/tag-node-list.component.md) | Shows tags for a node. | [Source](../lib/content-services/src/lib/tag/tag-node-list.component.ts) |
|
||||
| [Tags Creator component](content-services/components/tags-creator.component.md) | Allows to create multiple tags. That component contains input and two lists. Top list is all created tags, bottom list is searched tags based on input's value. | [Source](../lib/content-services/src/lib/tag/tags-creator/tags-creator.component.ts) |
|
||||
| [Tree View component](content-services/components/tree-view.component.md) | Shows the folder and subfolders of a node as a tree view. | [Source](../lib/content-services/src/lib/tree-view/components/tree-view.component.ts) |
|
||||
| [Tree component](content-services/components/tree.component.md) | Shows the nodes in tree structure, each node containing children is collapsible/expandable. Can be integrated with any datasource extending Tree service. | [Source](../lib/content-services/src/lib/tree/components/tree.component.ts) |
|
||||
| [Upload Button Component](content-services/components/upload-button.component.md) | Activates a file upload. | [Source](../lib/content-services/src/lib/upload/components/upload-button.component.ts) |
|
||||
| [Upload Drag Area Component](content-services/components/upload-drag-area.component.md) | Adds a drag and drop area to upload files to ACS. | [Source](../lib/content-services/src/lib/upload/components/upload-drag-area.component.ts) |
|
||||
| Name | Description | Source link |
|
||||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------- | -------- |
|
||||
| [Add Permission Dialog Component](content-services/components/add-permission-dialog.component.md) | Displays a dialog to search for people or groups to add to the current node permissions. | [Source](../lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.ts) |
|
||||
| [Add Permission Panel Component](content-services/components/add-permission-panel.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.ts) |
|
||||
| [Add Permission Component](content-services/components/add-permission.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/src/lib/permission-manager/components/add-permission/add-permission.component.ts) |
|
||||
| [Alfresco Viewer component](content-services/components/alfresco-viewer.component.md) | Displays content from an ACS repository. | [Source](../lib/content-services/src/lib/viewer/components/alfresco-viewer.component.ts) |
|
||||
| [Aspect List Dialog component](content-services/components/aspect-list-dialog.component.md) | Allows a user to choose aspects for a node. | [Source](../lib/content-services/src/lib/aspect-list/aspect-list-dialog.component.ts) |
|
||||
| [Aspect List component](content-services/components/aspect-list.component.md) | This component will show in an expandable row list with checkboxes all the aspect of a node, if a node id is given, or otherwise a complete list. | [Source](../lib/content-services/src/lib/aspect-list/aspect-list.component.ts) | |
|
||||
| [Breadcrumb Component](content-services/components/breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../lib/content-services/src/lib/breadcrumb/breadcrumb.component.ts) |
|
||||
| [Content Action component](content-services/components/content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../lib/content-services/src/lib/document-list/components/content-action/content-action.component.ts) |
|
||||
| [Content Metadata Card component](content-services/components/content-metadata-card.component.md) | Displays and edits metadata related to a node. | [Source](../lib/content-services/src/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.ts) |
|
||||
| [Content Node Selector Panel component](content-services/components/content-node-selector-panel.component.md) | Opens a Content Node Selector in its own dialog window. | [Source](../lib/content-services/src/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.ts) |
|
||||
| [Content Node Selector component](content-services/components/content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts) |
|
||||
| [Content Type Dialog component](content-services/components/content-type-dialog.component.md) | Confirm dialog when user changes content type of a node. | [Source](../lib/content-services/src/lib/content-type/content-type-dialog.component.ts) |
|
||||
| [Document List component](content-services/components/document-list.component.md) | Displays the documents from a repository. | [Source](../lib/content-services/src/lib/document-list/components/document-list.component.ts) |
|
||||
| [Dropdown Breadcrumb Component](content-services/components/dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../lib/content-services/src/lib/breadcrumb/dropdown-breadcrumb.component.ts) |
|
||||
| [File Uploading Dialog Component](content-services/components/file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../lib/content-services/src/lib/upload/components/file-uploading-dialog.component.ts) |
|
||||
| [Node Comments Component](content-services/components/node-comments.component.md) | Displays comments from users involved in a specified content and allows an involved user to add a comment to a content. | [Source](../lib/content-services/src/lib/node-comments/node-comments.component.ts) |
|
||||
| [Permission List Component](content-services/components/permission-list.component.md) | Shows node permissions as a table. | [Source](../lib/content-services/src/lib/permission-manager/components/permission-list/permission-list.component.ts) |
|
||||
| [Search check list component](content-services/components/search-check-list.component.md) | Implements a checklist widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-check-list/search-check-list.component.ts) |
|
||||
| [Search Chip Input Component](content-services/components/search-chip-input.component.md) | Displays input for providing phrases display as "chips". | [Source](../lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.ts) |
|
||||
| [Search Chip Autocomplete Input component](content-services/components/search-chip-autocomplete-input.component.md) | Displays an input with autocomplete options. | [Source](../lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.ts) |
|
||||
| [Search Chip List Component](content-services/components/search-chip-list.component.md) | Displays search criteria as a set of "chips". | [Source](../lib/content-services/src/lib/search/components/search-chip-list/search-chip-list.component.ts) |
|
||||
| [Search control component](content-services/components/search-control.component.md) | Displays a input text that shows find-as-you-type suggestions. | [Source](../lib/content-services/src/lib/search/components/search-control.component.ts) |
|
||||
| [Search Date Range Component](content-services/components/search-date-range.component.md) | Displays a UI to configure different kinds of search criteria around date. Options are 'Anytime', 'In the last' and 'Between' | [Source](../lib/content-services/src/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.ts) |
|
||||
| [Search Date Range Tabbed component](content-services/components/search-date-range-tabbed.component.md) | Implements a tabbed advanced search widget for the Search Date Range component. | [Source](../lib/content-services/src/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.ts) |
|
||||
| [Search datetime range component](content-services/components/search-datetime-range.component.md) | Implements a search widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-datetime-range/search-datetime-range.component.ts) |
|
||||
| [Search Filter Autocomplete Chips component](content-services/components/search-filter-autocomplete-chips.component.md) | Implements a search widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.ts) |
|
||||
| [Search Filter Chips component](content-services/components/search-filter-chips.component.md) | Represents a chip based container component for custom search and faceted search settings. | [Source](../lib/content-services/src/lib/search/components/search-filter-chips/search-filter-chips.component.ts) |
|
||||
| [Search Filter component](content-services/components/search-filter.component.md) | Represents a main container component for custom search and faceted search settings. | [Source](../lib/content-services/src/lib/search/components/search-filter/search-filter.component.ts) |
|
||||
| [Search Filter Tabbed component](content-services/components/search-filter-tabbed.component.md) | Represents a container component for creating tabbed layout. | [Source](../lib/content-services/src/lib/search/components/search-filter/search-filter.component.ts) |
|
||||
| [Search Form component](content-services/components/search-form.component.md) | Search Form screenshot | [Source](../lib/content-services/src/lib/search/components/search-form/search-form.component.ts) |
|
||||
| [Search Logical Filter component](content-services/components/search-logical-filter.component.md) | Displays 3 chip inputs each representing different logical condition for search query. | [Source](../lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.ts) |
|
||||
| [Search Properties component](content-services/components/search-properties.component.md) | Allows to search by file size and type.| [Source](../lib/content-services/src/lib/search/components/search-properties/search-properties.component.ts) |
|
||||
| [Search number range component](content-services/components/search-number-range.component.md) | Implements a number range widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-number-range/search-number-range.component.ts) |
|
||||
| [Search radio component](content-services/components/search-radio.component.md) | Implements a radio button list widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-radio/search-radio.component.ts) |
|
||||
| [Search slider component](content-services/components/search-slider.component.md) | Implements a numeric slider widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-slider/search-slider.component.ts) |
|
||||
| [Search Sorting Picker Component](content-services/components/search-sorting-picker.component.md) | Provides an ability to select one of the predefined sorting definitions for search results: | [Source](../lib/content-services/src/lib/search/components/search-sorting-picker/search-sorting-picker.component.ts) |
|
||||
| [Search text component](content-services/components/search-text.component.md) | Implements a text input widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-text/search-text.component.ts) |
|
||||
| [Search component](content-services/components/search.component.md) | Searches items for supplied search terms. | [Source](../lib/content-services/src/lib/search/components/search.component.ts) |
|
||||
| [Sites Dropdown component](content-services/components/sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../lib/content-services/src/lib/content-node-selector/site-dropdown/sites-dropdown.component.ts) |
|
||||
| [Tag Node Actions List component](content-services/components/tag-actions.component.md) | Shows available actions for tags. | [Source](../lib/content-services/src/lib/tag/tag-actions/tag-actions.component.ts) |
|
||||
| [Tag List component](content-services/components/tag-list.component.md) | Shows tags for an item. | [Source](../lib/content-services/src/lib/tag/tag-list/tag-list.component.ts) |
|
||||
| [Tag Node List component](content-services/components/tag-node-list.component.md) | Shows tags for a node. | [Source](../lib/content-services/src/lib/tag/tag-node-list/tag-node-list.component.ts) |
|
||||
| [Tags Creator component](content-services/components/tags-creator.component.md) | Allows to create multiple tags. That component contains input and two lists. Top list is all created tags, bottom list is searched tags based on input's value. | [Source](../lib/content-services/src/lib/tag/tags-creator/tags-creator.component.ts) |
|
||||
| [Tree View component](content-services/components/tree-view.component.md) | Shows the folder and subfolders of a node as a tree view. | [Source](../lib/content-services/src/lib/tree-view/components/tree-view.component.ts) |
|
||||
| [Tree component](content-services/components/tree.component.md) | Shows the nodes in tree structure, each node containing children is collapsible/expandable. Can be integrated with any datasource extending Tree service. | [Source](../lib/content-services/src/lib/tree/components/tree.component.ts) |
|
||||
| [Upload Button Component](content-services/components/upload-button.component.md) | Activates a file upload. | [Source](../lib/content-services/src/lib/upload/components/upload-button.component.ts) |
|
||||
| [Upload Drag Area Component](content-services/components/upload-drag-area.component.md) | Adds a drag and drop area to upload files to ACS. | [Source](../lib/content-services/src/lib/upload/components/upload-drag-area.component.ts) |
|
||||
| [Upload Version Button Component (Workaround)](content-services/components/upload-version-button.component.md)  | Activates a file version upload. | [Source](../lib/content-services/src/lib/upload/components/upload-version-button.component.ts) |
|
||||
| [Version Comparison Component](content-services/components/version-comparison.component.md) | Displays the side by side comparison between the current target node (type, name, icon) and the new file that should update it's version. | [Source](../lib/content-services/src/lib/version-manager/version-comparison.component.ts) |
|
||||
| [Version List component](content-services/components/version-list.component.md)  | Displays the version history of a node in a Version Manager component. | [Source](../lib/content-services/src/lib/version-manager/version-list.component.ts) |
|
||||
| [Version Manager Component](content-services/components/version-manager.component.md)  | Displays the version history of a node with the ability to upload a new version. | [Source](../lib/content-services/src/lib/version-manager/version-manager.component.ts) |
|
||||
| [Version Upload component](content-services/components/version-upload.component.md)  | Displays the new version's minor/major changes and the optional comment of a node in a Version Manager component. | [Source](../lib/content-services/src/lib/version-manager/version-upload.component.ts) |
|
||||
| [Version Comparison Component](content-services/components/version-comparison.component.md) | Displays the side by side comparison between the current target node (type, name, icon) and the new file that should update it's version. | [Source](../lib/content-services/src/lib/version-manager/version-comparison.component.ts) |
|
||||
| [Version List component](content-services/components/version-list.component.md)  | Displays the version history of a node in a Version Manager component. | [Source](../lib/content-services/src/lib/version-manager/version-list.component.ts) |
|
||||
| [Version Manager Component](content-services/components/version-manager.component.md)  | Displays the version history of a node with the ability to upload a new version. | [Source](../lib/content-services/src/lib/version-manager/version-manager.component.ts) |
|
||||
| [Version Upload component](content-services/components/version-upload.component.md)  | Displays the new version's minor/major changes and the optional comment of a node in a Version Manager component. | [Source](../lib/content-services/src/lib/version-manager/version-upload.component.ts) |
|
||||
|
||||
### Directives
|
||||
|
||||
@@ -348,8 +347,7 @@ for more information about installing and using the source code.
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Base Card View Content Update interface](content-services/interfaces/base-card-view-content-update.interface.md) | Specifies required properties and methods for Card View Content Update service. | |
|
||||
| Extends from BaseCardViewUpdate. | [Source](../lib/content-services/src/lib/interfaces/base-card-view-content-update.interface.ts) | |
|
||||
| [Base Card View Content Update interface](content-services/interfaces/base-card-view-content-update.interface.md) | Specifies required properties and methods for Card View Content Update service. Extends from BaseCardViewUpdate. | [Source](../lib/content-services/src/lib/interfaces/base-card-view-content-update.interface.ts) | |
|
||||
| [Search widget interface](content-services/interfaces/search-widget.interface.md) | Specifies required properties for Search filter component widgets. | [Source](../lib/content-services/src/lib/search/models/search-widget.interface.ts) |
|
||||
| [Content Metadata Custom Panel interface](content-services/interfaces/content-metadata-custom-panel.interface.md) | Specifies required properties for metadata custom panel. | [Source](../lib/content-services/src/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.ts) |
|
||||
|
||||
@@ -371,9 +369,9 @@ for more information about installing and using the source code.
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [Agent Service](content-services/services/agent.service.md) | Manages agents in Content Services. | [Source](../lib/content-services/src/lib/agent/services/agent.service.ts) |
|
||||
| [Audit Service](content-services/services/audit.service.md) | Manages Audit apps and entries. | [Source](../lib/content-services/src/lib/audit/audit.service.ts) |
|
||||
| [Card View Content Update Service](content-services/services/card-view-content-update.service.md) | Manages Card View properties in the content services environment. | |
|
||||
| Implements BaseCardViewContentUpdate. | [Source](../lib/content-services/src/lib/common/services/card-view-content-update.service.ts) | |
|
||||
| [Card View Content Update Service](content-services/services/card-view-content-update.service.md) | Manages Card View properties in the content services environment. Implements BaseCardViewContentUpdate. | [Source](../lib/content-services/src/lib/common/services/card-view-content-update.service.ts) | |
|
||||
| [Category tree datasource service](content-services/services/category-tree-datasource.service.md) | Datasource service for category tree. | [Source](../lib/content-services/src/lib/category/services/category-tree-datasource.service.ts) |
|
||||
| [Category service](content-services/services/category.service.md) | Manages categories in Content Services. | [Source](../lib/content-services/src/lib/category/services/category.service.ts) |
|
||||
| [Content Comment List Service](content-services/services/content-comment-list.service.md) | Gets user image for comments in Content Services. | [Source](../lib/content-services/src/lib/node-comments/services/content-comment-list.service.ts) |
|
||||
@@ -387,6 +385,7 @@ for more information about installing and using the source code.
|
||||
| [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) |
|
||||
| [Node Permission service](content-services/services/node-permission.service.md) | Manages role permissions for content nodes. | [Source](../lib/content-services/src/lib/permission-manager/services/node-permission.service.ts) |
|
||||
| [Search Ai Service](content-services/services/search-ai.service.md) | Manages search AI in Content Services. | [Source](../lib/content-services/src/lib/search-ai/services/search-ai.service.ts) |
|
||||
| [Search filter service](content-services/services/search-filter.service.md) | Registers widgets for use with the Search Filter component. | [Source](../lib/content-services/src/lib/search/services/search-filter.service.ts) |
|
||||
| [Search Query Builder service](content-services/services/search-query-builder.service.md) | Stores information from all the custom search and faceted search widgets, compiles and runs the final search query. | [Source](../lib/content-services/src/lib/search/services/search-query-builder.service.ts) |
|
||||
| [Security Controls service](content-services/services/security-controls.service.md) | Manages security groups & marks in Content Services. | [Source](../lib/content-services/src/lib/security/services/security-controls-groups-marks-security.service.ts) |
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
Title: Breaking changes, 6.10.0 -> 7.0.0
|
||||
---
|
||||
|
||||
# Breaking changes, 6.10.0 -> 7.0.0
|
||||
|
||||
This document lists all the deprecated ADF v2.x components that were removed for v3.0.0:
|
||||
|
||||
- [PR-9317](https://github.com/Alfresco/alfresco-ng2-components/pull/9317) Move alfresco js-API and AlfrescoApi service out from the core
|
||||
|
||||
Move `AlfrescoApiServiceMock` and `AlfrescoApiServiceMock` from `core` library to `content-services`, These libraries are content related therefore should not live in `core`
|
||||
|
||||
To mitigate this change, we can run migration:
|
||||
|
||||
```
|
||||
npx nx migrate @alfresco/adf-core@7.0.0
|
||||
npx nx migrate --run-migrations
|
||||
```
|
||||
|
||||
Or for pure angular repository:
|
||||
|
||||
```
|
||||
npx ng update @alfresco/adf-core@7.0.0
|
||||
```
|
||||
@@ -4,12 +4,12 @@ Added: 6.0.0
|
||||
Status: Active
|
||||
---
|
||||
|
||||
# [Alfresco Viewer component](../../../lib/content-services/src/lib/viewer/components/alfresco-viewer.component.ts "Defined in alfresco-viewer.component.ts")
|
||||
# Alfresco Viewer Component
|
||||
|
||||
`component`, `standalone`
|
||||
|
||||
Displays content from an ACS repository.
|
||||
|
||||
See it live: [Viewer Quickstart](https://embed.plnkr.co/iTuG1lFIXfsP95l6bDW6/)
|
||||
|
||||
## Contents
|
||||
|
||||
- [Basic usage](#basic-usage)
|
||||
@@ -30,6 +30,12 @@ See it live: [Viewer Quickstart](https://embed.plnkr.co/iTuG1lFIXfsP95l6bDW6/)
|
||||
|
||||
## Basic usage
|
||||
|
||||
Use the following standalone component import:
|
||||
|
||||
```typescript
|
||||
import { AlfrescoViewerComponent } from '@alfresco/adf-content-services';
|
||||
```
|
||||
|
||||
Using with node id:
|
||||
|
||||
```html
|
||||
@@ -53,65 +59,66 @@ Note that if you have a URL which contains a shared link ID, you should extract
|
||||
ID portion and use it with the `sharedLinkId` property rather than using the whole
|
||||
URL with `urlFile`.
|
||||
|
||||
### [Transclusions](../../user-guide/transclusion.md)
|
||||
### Transclusions
|
||||
|
||||
The [Alfresco Viewer component](viewer.component.md) lets you transclude content for the toolbar (and toolbar buttons),
|
||||
The viewer lets you transclude content for the toolbar (and toolbar buttons),
|
||||
the sidebar, thumbnails, and the "Open with" and "More actions" menus.
|
||||
See the [Custom layout](#custom-layout) section for full details of all available tranclusions.
|
||||
|
||||
See [Transclusion](../../user-guide/transclusion.md) for more details.
|
||||
See the [Custom layout](#custom-layout) section for full details of all available transclusions.
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| allowDownload | `boolean` | true | Toggles downloading. |
|
||||
| allowFullScreen | `boolean` | true | Toggles the 'Full Screen' feature. |
|
||||
| allowGoBack | `boolean` | true | Allows `back` navigation. |
|
||||
| closeButtonPosition | `CloseButtonPosition` | `left` | Set close button position right/left. |
|
||||
| hideInfoButton | `boolean` | false | Toggles Info button. |
|
||||
| allowLeftSidebar | `boolean` | false | Allow the left the sidebar. |
|
||||
| allowNavigate | `boolean` | false | Toggles before/next navigation. You can use the arrow buttons to navigate between documents in the collection. |
|
||||
| allowPrint | `boolean` | false | Toggles printing. |
|
||||
| allowRightSidebar | `boolean` | false | Allow the right sidebar. |
|
||||
| canNavigateBefore | `boolean` | true | Toggles the "before" ("<") button. Requires `allowNavigate` to be enabled. |
|
||||
| canNavigateNext | `boolean` | true | Toggles the next (">") button. Requires `allowNavigate` to be enabled. |
|
||||
| maxRetries | `number` | 30 | Number of times the Viewer will retry fetching content Rendition. There is a delay of at least one second between attempts. |
|
||||
| nodeId | `string` | null | Node Id of the file to load. |
|
||||
| overlayMode | `boolean` | false | If `true` then show the Viewer as a full page over the current content. Otherwise fit inside the parent div. |
|
||||
| sharedLinkId | `string` | null | Shared link id (to display shared file). |
|
||||
| showLeftSidebar | `boolean` | false | Toggles left sidebar visibility. Requires `allowLeftSidebar` to be set to `true`. |
|
||||
| showRightSidebar | `boolean` | false | Toggles right sidebar visibility. Requires `allowRightSidebar` to be set to `true`. |
|
||||
| showToolbar | `boolean` | true | Hide or show the toolbar |
|
||||
| showViewer | `boolean` | true | Hide or show the viewer |
|
||||
| sidebarLeftTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the left sidebar. The template context contains the loaded node data. |
|
||||
| sidebarRightTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the right sidebar. The template context contains the loaded node data. |
|
||||
| versionId | `string` | null | Version Id of the file to load. |
|
||||
| Name | Type | Default value | Description |
|
||||
|----------------------|-----------------------|---------------|-----------------------------------------------------------------------------------------------------------------------------|
|
||||
| allowDownload | `boolean` | true | Toggles downloading. |
|
||||
| allowFullScreen | `boolean` | true | Toggles the 'Full Screen' feature. |
|
||||
| allowGoBack | `boolean` | true | Allows `back` navigation. |
|
||||
| closeButtonPosition | `CloseButtonPosition` | `left` | Set close button position right/left. |
|
||||
| hideInfoButton | `boolean` | false | Toggles Info button. |
|
||||
| allowLeftSidebar | `boolean` | false | Allow the left the sidebar. |
|
||||
| allowNavigate | `boolean` | false | Toggles before/next navigation. You can use the arrow buttons to navigate between documents in the collection. |
|
||||
| allowPrint | `boolean` | false | Toggles printing. |
|
||||
| allowRightSidebar | `boolean` | false | Allow the right sidebar. |
|
||||
| canNavigateBefore | `boolean` | true | Toggles the "before" ("<") button. Requires `allowNavigate` to be enabled. |
|
||||
| canNavigateNext | `boolean` | true | Toggles the next (">") button. Requires `allowNavigate` to be enabled. |
|
||||
| maxRetries | `number` | 30 | Number of times the Viewer will retry fetching content Rendition. There is a delay of at least one second between attempts. |
|
||||
| nodeId | `string` | null | Node Id of the file to load. |
|
||||
| overlayMode | `boolean` | false | If `true` then show the Viewer as a full page over the current content. Otherwise fit inside the parent div. |
|
||||
| sharedLinkId | `string` | null | Shared link id (to display shared file). |
|
||||
| showLeftSidebar | `boolean` | false | Toggles left sidebar visibility. Requires `allowLeftSidebar` to be set to `true`. |
|
||||
| showRightSidebar | `boolean` | false | Toggles right sidebar visibility. Requires `allowRightSidebar` to be set to `true`. |
|
||||
| showToolbar | `boolean` | true | Hide or show the toolbar |
|
||||
| showViewer | `boolean` | true | Hide or show the viewer |
|
||||
| sidebarLeftTemplate | `TemplateRef<any>` | null | The template for the left sidebar. The template context contains the loaded node data. |
|
||||
| sidebarRightTemplate | `TemplateRef<any>` | null | The template for the right sidebar. The template context contains the loaded node data. |
|
||||
| versionId | `string` | null | Version Id of the file to load. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| invalidSharedLink | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the shared link used is not valid. |
|
||||
| navigateBefore | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<KeyboardEvent \| MouseEvent>` | Emitted when user clicks 'Navigate Before' ("<") button. |
|
||||
| navigateNext | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<KeyboardEvent \| MouseEvent>` | Emitted when user clicks 'Navigate Next' (">") button. |
|
||||
| showViewerChange | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<boolean>` | Emitted when the viewer close |
|
||||
| Name | Type | Description |
|
||||
|-------------------|---------------------------------------------|-------------------------------------------------------------|
|
||||
| invalidSharedLink | `EventEmitter<any>` | Emitted when the shared link used is not valid. |
|
||||
| navigateBefore | `EventEmitter<KeyboardEvent \| MouseEvent>` | Emitted when user clicks 'Navigate Before' ("<") button. |
|
||||
| navigateNext | `EventEmitter<KeyboardEvent \| MouseEvent>` | Emitted when user clicks 'Navigate Next' (">") button. |
|
||||
| showViewerChange | `EventEmitter<boolean>` | Emitted when the viewer close |
|
||||
|
||||
## Keyboard shortcuts
|
||||
|
||||
| Name | Description |
|
||||
| ---- | ----------- |
|
||||
| Esc | Close the viewer (overlay mode only). |
|
||||
| Left | Invoke 'Navigate before' action. |
|
||||
| Right | Invoke 'Navigate next' action. |
|
||||
| Ctrl+F | Activate full-screen mode. |
|
||||
| Name | Description |
|
||||
|--------|---------------------------------------|
|
||||
| Esc | Close the viewer (overlay mode only). |
|
||||
| Left | Invoke 'Navigate before' action. |
|
||||
| Right | Invoke 'Navigate next' action. |
|
||||
| Ctrl+F | Activate full-screen mode. |
|
||||
|
||||
## Details
|
||||
|
||||
### Integrating with the Document List component
|
||||
|
||||
Below is the most simple integration of the Viewer and
|
||||
[Document List](../../content-services/components/document-list.component.md) components within your custom component:
|
||||
Integrating Viewer and [Document List](./document-list.component.md) components within your custom component:
|
||||
|
||||
```html
|
||||
<adf-document-list
|
||||
@@ -147,7 +154,7 @@ export class OverlayViewerComponent {
|
||||
|
||||
### Supported file formats
|
||||
|
||||
The [Alfresco Viewer component](viewer.component.md) consists of separate Views that handle particular file types or type families based on either a file extension or a mime type:
|
||||
The viewer component consists of separate Views that handle particular file types or type families based on either a file extension or a mime type:
|
||||
|
||||
- PDF View
|
||||
- application/pdf
|
||||
@@ -199,13 +206,12 @@ For the full list of supported types please refer to: [File types that support p
|
||||
|
||||
Configure your webpack-enabled application with the PDF.js library as follows.
|
||||
|
||||
1. Install pdfjs-dist
|
||||
- Install pdfjs-dist
|
||||
|
||||
```sh
|
||||
npm install pdfjs-dist
|
||||
```
|
||||
|
||||
2. Update `vendors.ts` by appending the following code. This will enable the [Alfresco Viewer component](viewer.component.md)
|
||||
- Update `vendors.ts` by appending the following code. This will enable the viewer component
|
||||
and compatibility mode for all browsers. It will also configure the web worker for the PDF.js
|
||||
library to render PDF files in the background:
|
||||
|
||||
@@ -217,7 +223,7 @@ pdfjsLib.PDFJS.workerSrc = './pdf.worker.js';
|
||||
require('pdfjs-dist/web/pdf_viewer.js');
|
||||
```
|
||||
|
||||
3. Update the `plugins` section of the `webpack.common.js` file with the following lines:
|
||||
- Update the `plugins` section of the `webpack.common.js` file with the following lines:
|
||||
|
||||
```js
|
||||
new CopyWebpackPlugin([
|
||||
@@ -233,12 +239,12 @@ new CopyWebpackPlugin([
|
||||
|
||||
#### Internal extension mechanism
|
||||
|
||||
The Viewer supports dynamically-loaded viewer preview extensions, to know more about it [Preview Extension component](../../extensions/components/preview-extension.component.md). This
|
||||
The Viewer supports dynamically-loaded viewer preview extensions, to know more about it [Preview Extension component](../../extensions/components/preview-extension.component.md).
|
||||
|
||||
#### Code extension mechanism]
|
||||
#### Code extension mechanism
|
||||
|
||||
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`
|
||||
the component. Below is an example that shows how to use the `adf-viewer-extension`
|
||||
to handle 3D data files:
|
||||
|
||||
```html
|
||||
@@ -256,7 +262,7 @@ to handle 3D data files:
|
||||
</adf-alfresco-viewer>
|
||||
```
|
||||
|
||||
Note: you need to add the `ng2-3d-editor` dependency to your `package.json` file to make the example above work.
|
||||
> this example requires `ng2-3d-editor` dependency
|
||||
|
||||
You need to keep all instances of `adf-viewer-extension` inside `viewerExtensions` template, also you can define multiple `adf-viewer-extension` templates if required:
|
||||
|
||||
@@ -284,7 +290,7 @@ You need to keep all instances of `adf-viewer-extension` inside `viewerExtension
|
||||
|
||||
### Custom layout
|
||||
|
||||
The [Alfresco Viewer Component](viewer.component.md) lets you transclude custom content in several different places as
|
||||
The viewer component lets you transclude custom content in several different places as
|
||||
explained in the sections below.
|
||||
|
||||
#### Custom toolbar
|
||||
@@ -329,7 +335,7 @@ The result should look like this:
|
||||
|
||||
#### Custom sidebar
|
||||
|
||||
The [Alfresco Viewer Component](viewer.component.md) also supports custom sidebar components and layouts.
|
||||
The viewer component also supports custom sidebar components and layouts.
|
||||
Set the `allowRightSidebar` property to `true` to enable this feature.
|
||||
|
||||
The custom sidebar can be injected in two different ways. The first way is to use
|
||||
@@ -372,8 +378,6 @@ import { Component, Input } from '@angular/core';
|
||||
})
|
||||
export class CustomThumbnailsComponent {
|
||||
@Input() pdfViewer: any;
|
||||
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
@@ -445,15 +449,23 @@ You can enable a custom "More actions" menu by providing at least one action ins
|
||||
You can set a default zoom scaling value for pdf viewer by adding the following code in `app.config.json`.
|
||||
Note: For the pdf viewer the value has to be within the range of 25 - 1000.
|
||||
|
||||
"adf-alfresco-viewer": {
|
||||
"pdf-viewer-scaling": 150
|
||||
```json
|
||||
{
|
||||
"adf-alfresco-viewer": {
|
||||
"pdf-viewer-scaling": 150
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
In the same way you can set a default zoom scaling value for the image viewer by adding the following code in `app.config.json`.
|
||||
|
||||
"adf-alfresco-viewer": {
|
||||
"image-viewer-scaling": 150
|
||||
```json
|
||||
{
|
||||
"adf-alfresco-viewer": {
|
||||
"image-viewer-scaling": 150
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
By default the viewer's zoom scaling is set to 100%.
|
||||
|
||||
@@ -465,7 +477,6 @@ true.
|
||||
|
||||
```html
|
||||
<adf-alfresco-viewer [allowPrint]="true">
|
||||
...
|
||||
</adf-alfresco-viewer>
|
||||
```
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ Displays the documents from a repository.
|
||||
| contentActionsPosition | `string` | "right" | Position of the content actions dropdown menu. Can be set to "left" or "right". |
|
||||
| contextMenuActions | `boolean` | false | Toggles context menus for each row |
|
||||
| currentFolderId | `string` | null | The ID of the folder node to display or a reserved string alias for special sources |
|
||||
| displayCheckboxesOnHover | `boolean` | false | Enables checkboxes in datatable rows being displayed on hover only. |
|
||||
| displayCheckboxesOnHover | `boolean` | false | Enables checkboxes in datatable rows being displayed on hover only. |
|
||||
| emptyFolderImageUrl | `string` | | Custom image for empty folder. Default value: './assets/images/empty_doc_lib.svg' |
|
||||
| filterValue | `any` | | Initial value for filter. |
|
||||
| headerFilters | `boolean` | false | Toggles the header filters mode. |
|
||||
@@ -152,7 +152,7 @@ the other DOM events that the [Document List component](document-list.component.
|
||||
Below is a basic example of handling DOM events in the parent elements.
|
||||
|
||||
```html
|
||||
<div (node-click)="onNodeClicked($event)"
|
||||
<div (node-click)="onNodeClicked($event)"
|
||||
(node-dblclick)="onNodeDblClicked($event)">
|
||||
<div>
|
||||
<adf-upload-drag-area ...>
|
||||
@@ -195,7 +195,7 @@ The Document List by default supports 2 types of pagination: [Pagination compon
|
||||
```html
|
||||
<adf-document-list #documentList ...></adf-document-list>
|
||||
|
||||
<adf-infinite-pagination
|
||||
<adf-infinite-pagination
|
||||
[target]="documentList"
|
||||
[loading]="documentList.infiniteLoading">
|
||||
</adf-infinite-pagination>
|
||||
@@ -363,7 +363,7 @@ points you should pay attention to:
|
||||
|
||||
```ts
|
||||
import { ChangeDetectorRef } from '@angular/core';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-content-services';
|
||||
|
||||
export class FilesComponent implements OnInit {
|
||||
|
||||
@@ -408,7 +408,7 @@ It is useful for examining other information that you can access if necessary:
|
||||
Typically you will bind Document List properties to your application/component class properties:
|
||||
|
||||
```html
|
||||
<adf-document-list
|
||||
<adf-document-list
|
||||
[currentFolderId]="myStartFolder">
|
||||
</adf-document-list>
|
||||
```
|
||||
@@ -420,7 +420,7 @@ Typically you will bind Document List properties to your application/component c
|
||||
export class MyAppComponent {
|
||||
|
||||
myStartFolder: string = '-my-';
|
||||
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
@@ -432,7 +432,7 @@ section of the Angular docs for more information.
|
||||
Below is an example of getting a reference:
|
||||
|
||||
```html
|
||||
<adf-document-list
|
||||
<adf-document-list
|
||||
#documentList
|
||||
[currentFolderId]="myStartFolder">
|
||||
</adf-document-list>
|
||||
@@ -448,7 +448,7 @@ import { DocumentListComponent } from '@alfresco/adf-content-services';
|
||||
export class MyAppComponent implements AfterViewInit {
|
||||
|
||||
myStartFolder: string = '-my-';
|
||||
|
||||
|
||||
@ViewChild(DocumentListComponent)
|
||||
documentList: DocumentListComponent;
|
||||
|
||||
@@ -498,7 +498,7 @@ Here's a short example:
|
||||
<data-column key="$thumbnail" type="image"></data-column>
|
||||
<data-column title="Name" key="name" class="full-width ellipsis-cell"></data-column>
|
||||
<data-column
|
||||
title="Created By"
|
||||
title="Created By"
|
||||
key="createdByUser.displayName">
|
||||
</data-column>
|
||||
</data-columns>
|
||||
@@ -517,21 +517,21 @@ A custom set of columns might look like the following:
|
||||
<data-columns>
|
||||
<data-column key="$thumbnail" type="image"></data-column>
|
||||
<data-column
|
||||
title="Name"
|
||||
key="name"
|
||||
title="Name"
|
||||
key="name"
|
||||
sortable="true"
|
||||
class="full-width ellipsis-cell">
|
||||
</data-column>
|
||||
<data-column
|
||||
title="Created By"
|
||||
title="Created By"
|
||||
key="createdByUser.displayName"
|
||||
sortable="true"
|
||||
class="desktop-only">
|
||||
</data-column>
|
||||
<data-column
|
||||
title="Created On"
|
||||
key="createdAt"
|
||||
type="date"
|
||||
title="Created On"
|
||||
key="createdAt"
|
||||
type="date"
|
||||
format="medium"
|
||||
sortable="true"
|
||||
class="desktop-only">
|
||||
@@ -692,7 +692,7 @@ may be sometimes be useful.
|
||||
The following example switches navigation to single clicks:
|
||||
|
||||
```html
|
||||
<adf-document-list
|
||||
<adf-document-list
|
||||
[navigationMode]="'click'">
|
||||
</adf-document-list>
|
||||
```
|
||||
@@ -702,8 +702,8 @@ The following example switches navigation to single clicks:
|
||||
You can enable Header filters in your document list simply setting to true its `headerFilters` input.
|
||||
|
||||
```html
|
||||
<adf-document-list
|
||||
currentFolderId="-my-"
|
||||
<adf-document-list
|
||||
currentFolderId="-my-"
|
||||
[headerFilters]="true">
|
||||
</adf-document-list>
|
||||
```
|
||||
@@ -788,11 +788,11 @@ This will give the following output:
|
||||
|
||||
### File Auto downloading
|
||||
|
||||
In case of files exceeding a predefined file size, the [document list component](../../content-services/components/document-list.component.md) can be configured to automatically download those file when trying to preview them.
|
||||
In case of files exceeding a predefined file size, the [document list component](../../content-services/components/document-list.component.md) can be configured to automatically download those file when trying to preview them.
|
||||
This can help in reducing server load, and ensuring quick access to such files. After turning this feature on, whenever the user tries to preview a file with a large
|
||||
file size, the [Document List component](../../content-services/components/document-list.component.md) will first preview a dialog, asking for confirmation from the user on whether they want to download the file, or cancel the preview altogether.
|
||||
|
||||
In order to configure the Document List to automatically download the files, the following environment variables would need to be set up in app.config.json -
|
||||
In order to configure the Document List to automatically download the files, the following environment variables would need to be set up in app.config.json -
|
||||
|
||||
```
|
||||
"viewer": {
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Active
|
||||
Last reviewed: 2018-11-19
|
||||
---
|
||||
|
||||
# [Tag Node Actions List component](../../../lib/content-services/src/lib/tag/tag-actions.component.ts "Defined in tag-actions.component.ts")
|
||||
# [Tag Node Actions List component](../../../lib/content-services/src/lib/tag/tag-actions/tag-actions.component.ts "Defined in tag-actions.component.ts")
|
||||
|
||||
Shows available actions for tags.
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Active
|
||||
Last reviewed: 2018-11-14
|
||||
---
|
||||
|
||||
# [Tag List component](../../../lib/content-services/src/lib/tag/tag-list.component.ts "Defined in tag-list.component.ts")
|
||||
# [Tag List component](../../../lib/content-services/src/lib/tag/tag-list/tag-list.component.ts "Defined in tag-list.component.ts")
|
||||
|
||||
Shows tags for an item.
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Active
|
||||
Last reviewed: 2018-11-19
|
||||
---
|
||||
|
||||
# [Tag Node List component](../../../lib/content-services/src/lib/tag/tag-node-list.component.ts "Defined in tag-node-list.component.ts")
|
||||
# [Tag Node List component](../../../lib/content-services/src/lib/tag/tag-node-list/tag-node-list.component.ts "Defined in tag-node-list.component.ts")
|
||||
|
||||
Shows tags for a node.
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
Title: Agent service
|
||||
Added: v6.9.1
|
||||
Status: Active
|
||||
Last reviewed: 2024-07-12
|
||||
---
|
||||
|
||||
# [Agent service](../../../lib/content-services/src/lib/agent/services/agent.service.ts "Defined in agent.service.ts")
|
||||
|
||||
Manages agents in Content Services.
|
||||
|
||||
## Class members
|
||||
|
||||
### Methods
|
||||
|
||||
- **getAgents**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`AgentPaging`](../../../lib/js-api/src/api/content-rest-api/docs/AgentsApi.md#agentpaging)`>`<br/>
|
||||
Gets all agents.
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`AgentPaging`](../../../lib/js-api/src/api/content-rest-api/docs/AgentsApi.md#agentpaging)`>` - AgentPaging object containing the agents.
|
||||
|
||||
## Details
|
||||
|
||||
See the
|
||||
[Agents API](../../../lib/js-api/src/api/content-rest-api/docs/AgentsApi.md) for more information about the types returned by [Agent
|
||||
service](agent.service.md) methods and for the implementation of the REST API the service is
|
||||
based on.
|
||||
@@ -5,57 +5,76 @@ Status: Active
|
||||
Last reviewed: 2019-01-16
|
||||
---
|
||||
|
||||
# [Document List service](../../../lib/content-services/src/lib/document-list/services/document-list.service.ts "Defined in document-list.service.ts")
|
||||
# Document List Service
|
||||
|
||||
Implements node operations used by the [Document List component](../components/document-list.component.md).
|
||||
`service`
|
||||
|
||||
## Class members
|
||||
Implements operations used by the [Document List component](../components/document-list.component.md).
|
||||
|
||||
## Usage
|
||||
|
||||
```typescript
|
||||
import { DocumentListService } from '@alfresco/adf-core';
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Description |
|
||||
|-------------------|-------------------------------------------------|
|
||||
| `reload$` | Emits when the document list should be reloaded |
|
||||
| `resetSelection$` | Emits when the selection should be reset |
|
||||
|
||||
### Methods
|
||||
|
||||
- **copyNode**(nodeId: `string`, targetParentId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodeEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeEntry.md)`>`<br/>
|
||||
- **reload**(): `void`<br/>
|
||||
Reloads the document list.
|
||||
- **resetSelection**(): `void`<br/>
|
||||
Resets the selection.
|
||||
- **copyNode**(nodeId: `string`, targetParentId: `string`): `Observable<NodeEntry>`<br/>
|
||||
Copy a node to destination node
|
||||
- _nodeId:_ `string` - The id of the node to be copied
|
||||
- _targetParentId:_ `string` - The id of the folder where the node will be copied
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodeEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeEntry.md)`>` - NodeEntry for the copied node
|
||||
- **deleteNode**(nodeId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
|
||||
- **Returns** `Observable<NodeEntry>` - NodeEntry for the copied node
|
||||
- **deleteNode**(nodeId: `string`): `Observable<any>`<br/>
|
||||
Deletes a node.
|
||||
- _nodeId:_ `string` - ID of the node to delete
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any>` - Empty response when the operation is complete
|
||||
- **getFolder**(folder: `string`, opts?: `any`, includeFields: `string[]` = `[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/develop/src/api/content-rest-api/docs/NodePaging.md)`>`<br/>
|
||||
- **Returns** `Observable<any>` - Empty response when the operation is complete
|
||||
- **getFolder**(folder: `string`, opts?: `any`, includeFields: `string[]` = `[]`): `Observable<NodePaging>`<br/>
|
||||
Gets the folder node with the specified relative name path below the root node.
|
||||
- _folder:_ `string` - Path to folder.
|
||||
- _opts:_ `any` - (Optional) Options.
|
||||
- _includeFields:_ `string[]` - Extra information to include (available options are "aspectNames", "isLink" and "association")
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/develop/src/api/content-rest-api/docs/NodePaging.md)`>` - Details of the folder
|
||||
- **getFolderNode**(nodeId: `string`, includeFields: `string[]` = `[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodeEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeEntry.md)`>`<br/>
|
||||
- **Returns** `Observable<NodePaging>` - Details of the folder
|
||||
- **getFolderNode**(nodeId: `string`, includeFields: `string[]` = `[]`): `Observable<NodeEntry>`<br/>
|
||||
Gets a folder node via its node ID.
|
||||
- _nodeId:_ `string` - ID of the folder node
|
||||
- _includeFields:_ `string[]` - Extra information to include (available options are "aspectNames", "isLink" and "association")
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodeEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeEntry.md)`>` - Details of the folder
|
||||
- **getNode**(nodeId: `string`, includeFields: `string[]` = `[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md)`>`<br/>
|
||||
- **Returns** `Observable<NodeEntry>` - Details of the folder
|
||||
- **getNode**(nodeId: `string`, includeFields: `string[]` = `[]`): `Observable<MinimalNode>`<br/>
|
||||
Gets a node via its node ID.
|
||||
- _nodeId:_ `string` - ID of the target node
|
||||
- _includeFields:_ `string[]` - Extra information to include (available options are "aspectNames", "isLink" and "association")
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md)`>` - Details of the folder
|
||||
- **Returns** `Observable<MinimalNode>` - Details of the folder
|
||||
- **isCustomSourceService**(nodeId: `any`): `boolean`<br/>
|
||||
|
||||
- _nodeId:_ `any` -
|
||||
- **Returns** `boolean` -
|
||||
|
||||
- **loadFolderByNodeId**(nodeId: `string`, pagination: [`PaginationModel`](../../../lib/core/src/lib/models/pagination.model.ts), includeFields: `string[]`, where?: `string`, orderBy?: `string[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`DocumentLoaderNode`](../../../lib/content-services/src/lib/document-list/models/document-folder.model.ts)`>`<br/>
|
||||
- **loadFolderByNodeId**(nodeId: `string`, pagination: `PaginationModel`, includeFields: `string[]`, where?: `string`, orderBy?: `string[]`): `Observable<DocumentLoaderNode>`<br/>
|
||||
Load a folder by Node Id.
|
||||
- _nodeId:_ `string` - ID of the folder node
|
||||
- _pagination:_ [`PaginationModel`](../../../lib/core/src/lib/models/pagination.model.ts) -
|
||||
- _pagination:_ `PaginationModel` - pagination model
|
||||
- _includeFields:_ `string[]` - List of data field names to include in the results
|
||||
- _where:_ `string` - (Optional) Optionally filter the list
|
||||
- _orderBy:_ `string[]` - (Optional) order by node property
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`DocumentLoaderNode`](../../../lib/content-services/src/lib/document-list/models/document-folder.model.ts)`>` - Details of the folder
|
||||
- **moveNode**(nodeId: `string`, targetParentId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodeEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeEntry.md)`>`<br/>
|
||||
- **Returns** `Observable<DocumentLoaderNode>` - Details of the folder
|
||||
- **moveNode**(nodeId: `string`, targetParentId: `string`): `Observable<NodeEntry>`<br/>
|
||||
Moves a node to destination node.
|
||||
- _nodeId:_ `string` - The id of the node to be moved
|
||||
- _targetParentId:_ `string` - The id of the folder where the node will be moved
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodeEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeEntry.md)`>` - NodeEntry for the moved node
|
||||
- **Returns** `Observable<NodeEntry>` - NodeEntry for the moved node
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
---
|
||||
Title: Legal Hold service
|
||||
Added: v6.10.0
|
||||
Status: Active
|
||||
Last reviewed: 2024-06-19
|
||||
---
|
||||
|
||||
# [Legal Hold service](../../../lib/content-services/src/lib/legal-hold/services/legal-hold.service.ts "Defined in legal-hold.service.ts")
|
||||
|
||||
Manages holds for nodes.
|
||||
|
||||
## Class members
|
||||
|
||||
### Methods
|
||||
|
||||
- **getHolds**(filePlanId: `string`, options?: `ContentPagingQuery`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Hold`](../../../lib/js-api/src/api/gs-core-rest-api/docs/Hold.md)`[]>`<br/>
|
||||
Gets the list of holds for a node.
|
||||
- _filePlanId_: `string` - The identifier of a file plan. You can also use the -filePlan- alias
|
||||
- _options_: `ContentPagingQuery` - Optional parameters supported by JS-API
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Hold`](../../../lib/js-api/src/api/gs-core-rest-api/docs/Hold.md)`[]>` - List of holds <br/>
|
||||
|
||||
- **createHold**(filePlanId: `string`, hold: [`HoldBody`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldBody.md)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldEntry.md)`>`<br/>
|
||||
Create new hold in File Plan.
|
||||
- _filePlanId_: `string` - The identifier of a file plan. You can also use the -filePlan- alias
|
||||
- _hold_: [`HoldBody`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldBody.md) - Hold that should be created
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldEntry.md)`>` - Hold entry<br/>
|
||||
|
||||
- **createHolds**(filePlanId: `string`, holds: [`HoldBody`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldBody.md)`[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Hold`](../../../lib/js-api/src/api/gs-core-rest-api/docs/Hold.md)`[]>`<br/>
|
||||
Create new holds in File Plan.
|
||||
- _filePlanId_: `string` - The identifier of a file plan. You can also use the -filePlan- alias
|
||||
- _holds_: `<`[`HoldBody`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldBody.md)`[]>` - Array of holds that should be created
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldPaging`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldPaging.md)`>` - List of paginated holds entries
|
||||
|
||||
- **assignHold**(nodeId: `string`, holdId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldEntry.md)`>`<br/>
|
||||
Assign a node to a hold.
|
||||
- _nodeId_: `string` - The Id of the node which will be assigned to a hold
|
||||
- _holdId_: `string` - The Id of the hold to which nodes will be assigned
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldEntry.md)`>` - Entry with the hold <br/>
|
||||
|
||||
- **assignHolds**(nodeIds: `<{id: string}[]>`, holdId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldPaging`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldPaging.md)`>`<br/>
|
||||
Assign multiple nodes to a hold.
|
||||
- _nodeIds_: `<{id: string}[]>` - The Ids of the nodes which will be assigned to a hold
|
||||
- _holdId_: `string` - The Id of the hold to which nodes will be assigned
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldPaging`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldPaging.md)`>` - Hold paging
|
||||
|
||||
- **unassignHold**(holdId: `string`, nodeId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<void>`<br/>
|
||||
Unassign a node from a hold.
|
||||
- _holdId_: `string` - The hold Id
|
||||
- _nodeId_: `string` - The Id of the node which is unassigned
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<void>`
|
||||
|
||||
- **bulkAssignHold**(holdId: `string`, query: [`RequestQuery`](../../../lib/js-api/src/api/search-rest-api/docs/RequestQuery.md)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`BulkAssignHoldResponseEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/BulkAssignHoldResponseEntry.md)`>`<br/>
|
||||
Assign multiple files to a hold.
|
||||
- _holdId_: `string` - The hold id
|
||||
- _query_: [`RequestQuery`](../../../lib/js-api/src/api/search-rest-api/docs/RequestQuery.md) - Search query
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`BulkAssignHoldResponseEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/BulkAssignHoldResponseEntry.md)`>` - Bulk operation description <br/>
|
||||
|
||||
- **bulkAssignHoldToFolder**(holdId: `string`, folderId: `string`, language: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`BulkAssignHoldResponseEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/BulkAssignHoldResponseEntry.md)`>`<br/>
|
||||
Assign a folder to a hold.
|
||||
- _holdId_: `string` - The hold id
|
||||
- _folderId_: `string` - The folder id
|
||||
- _language_: `string` - Language code. `afts` can be used for search query
|
||||
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`BulkAssignHoldResponseEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/BulkAssignHoldResponseEntry.md)`>` - Bulk operation description <br/>
|
||||
|
||||
- **getBulkOperationStatus**(bulkStatusId: `string`, holdId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldBulkStatusEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldBulkStatusEntry.md)`>`<br/>
|
||||
Get current status of bulk operation.
|
||||
- _bulkStatusId_: `string` - The bulk operation id
|
||||
- _holdId_: `string` - The hold id
|
||||
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`HoldBulkStatusEntry`](../../../lib/js-api/src/api/gs-core-rest-api/docs/HoldBulkStatusEntry.md)`>` - Current status of bulk operation <br/>
|
||||
|
||||
|
||||
## Details
|
||||
|
||||
To create, delete or get holds Records Management should be created and user should be added to it.
|
||||
|
||||
## See also
|
||||
|
||||
- [LegalHoldApi](../../../lib/js-api/src/api/gs-core-rest-api/docs/LegalHoldApi.md)
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
Title: Search Ai service
|
||||
Added: v6.9.1
|
||||
Status: Active
|
||||
Last reviewed: 2024-07-12
|
||||
---
|
||||
|
||||
# [Search Ai service](../../../lib/content-services/src/lib/search-ai/services/search-ai.service.ts "Defined in search-ai.service.ts")
|
||||
|
||||
Manages search AI in Content Services.
|
||||
|
||||
## Class members
|
||||
|
||||
### Methods
|
||||
|
||||
- **updateSearchAiInputState**(state: `SearchAiInputState`): `void`<br/>
|
||||
Update the state of the search AI input.
|
||||
- _state:_ `SearchAiInputState` - The new state of the search AI input.
|
||||
- **ask**(question: [`QuestionRequest`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#questionrequest)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`QuestionModel`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#questionmodel)`>`<br/>
|
||||
Ask a question to the AI.
|
||||
- _question:_ [`QuestionRequest`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#questionrequest) - The question to ask.
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`QuestionModel`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#questionmodel)`>` - QuestionModel object containing information about questions.
|
||||
- **getAnswer**(questionId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`AiAnswerEntry`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#aianswerentry)`>`<br/>
|
||||
Get an answer to specific question.
|
||||
- _questionId:_ `string` - The ID of the question to get an answer for.
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`AiAnswerEntry`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#aianswerentry)`>` - AiAnswerEntry object containing the answer.
|
||||
- **getConfig**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`KnowledgeRetrievalConfigEntry`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#knowledgeretrievalconfigentry)`>`<br/>
|
||||
Get the knowledge retrieval configuration.
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`KnowledgeRetrievalConfigEntry`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#knowledgeretrievalconfigentry)`>` - KnowledgeRetrievalConfigEntry object containing the configuration.
|
||||
- **checkSearchAvailability**(selectedNodesState: `SelectionState`, maxSelectedNodes: `number`): `string`<br/>
|
||||
Check if using of search is possible (if all conditions are met).
|
||||
- _selectedNodesState:_ `SelectionState` - information about selected nodes.
|
||||
- _maxSelectedNodes:_ `number` - max number of selected nodes. Default 100.
|
||||
- **Returns** `string` - string with error if any condition is not met, empty string otherwise.
|
||||
|
||||
## Details
|
||||
|
||||
See the
|
||||
[Search Ai API](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md) for more information about the types returned by [Search Ai
|
||||
service](search-ai.service.md) methods and for the implementation of the REST API the service is
|
||||
based on.
|
||||
@@ -63,6 +63,7 @@ Using with file [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob):
|
||||
| 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. |
|
||||
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
|
||||
|
||||
### Events
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@ Status: Active
|
||||
Last reviewed: 2023-01-30
|
||||
---
|
||||
|
||||
# [Viewer component](../../../lib/core/src/lib/viewer/components/viewer.component.ts "Defined in viewer.component.ts")
|
||||
# Viewer Component
|
||||
|
||||
Displays content from blob file or url file.
|
||||
|
||||
> For Alfresco Content Services support, see the [Alfresco Viewer](../../content-services/components/alfresco-viewer.component.md) component details.
|
||||
|
||||
## Contents
|
||||
|
||||
- [Basic usage](#basic-usage)
|
||||
@@ -87,6 +89,7 @@ See the [Custom layout](#custom-layout) section for full details of all availabl
|
||||
| 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. |
|
||||
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
|
||||
|
||||
### Events
|
||||
|
||||
@@ -171,13 +174,13 @@ The [Viewer component](viewer.component.md) consists of separate Views that hand
|
||||
|
||||
Configure your webpack-enabled application with the PDF.js library as follows.
|
||||
|
||||
1. Install pdfjs-dist
|
||||
- Install pdfjs-dist
|
||||
|
||||
```sh
|
||||
npm install pdfjs-dist
|
||||
```
|
||||
|
||||
2. Update `vendors.ts` by appending the following code. This will enable the [viewer component](viewer.component.md)
|
||||
- Update `vendors.ts` by appending the following code. This will enable the [viewer component](viewer.component.md)
|
||||
and compatibility mode for all browsers. It will also configure the web worker for the PDF.js
|
||||
library to render PDF files in the background:
|
||||
|
||||
@@ -189,7 +192,7 @@ pdfjsLib.PDFJS.workerSrc = './pdf.worker.js';
|
||||
require('pdfjs-dist/web/pdf_viewer.js');
|
||||
```
|
||||
|
||||
3. Update the `plugins` section of the `webpack.common.js` file with the following lines:
|
||||
- Update the `plugins` section of the `webpack.common.js` file with the following lines:
|
||||
|
||||
```js
|
||||
new CopyWebpackPlugin([
|
||||
@@ -376,15 +379,23 @@ You can enable a custom "More actions" menu by providing at least one action ins
|
||||
You can set a default zoom scaling value for pdf viewer by adding the following code in `app.config.json`.
|
||||
Note: For the pdf viewer the value has to be within the range of 25 - 1000.
|
||||
|
||||
"adf-viewer": {
|
||||
"pdf-viewer-scaling": 150
|
||||
```json
|
||||
{
|
||||
"adf-viewer": {
|
||||
"pdf-viewer-scaling": 150
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
In the same way you can set a default zoom scaling value for the image viewer by adding the following code in `app.config.json`.
|
||||
|
||||
"adf-viewer": {
|
||||
"image-viewer-scaling": 150
|
||||
```json
|
||||
{
|
||||
"adf-viewer": {
|
||||
"image-viewer-scaling": 150
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
By default the viewer's zoom scaling is set to 100%.
|
||||
|
||||
@@ -396,13 +407,15 @@ In case the user decides to wait, the viewer can further be configured to displa
|
||||
|
||||
In order to configure this feature, add the following code in `app.config.json`.
|
||||
|
||||
```
|
||||
"viewer": {
|
||||
"enableDownloadPrompt": true,
|
||||
"enableDownloadPromptReminder": true,
|
||||
"downloadPromptDelay": 50,
|
||||
"downloadPromptReminderDelay": 30
|
||||
}
|
||||
```json
|
||||
{
|
||||
"viewer": {
|
||||
"enableDownloadPrompt": true,
|
||||
"enableDownloadPromptReminder": true,
|
||||
"downloadPromptDelay": 50,
|
||||
"downloadPromptReminderDelay": 30
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Here `enableDownloadPrompt: true` enables the dialog to be visible after a set period of time. This time can be configured by updating the value in the
|
||||
@@ -411,7 +424,7 @@ Here `enableDownloadPrompt: true` enables the dialog to be visible after a set p
|
||||
The second boolean flag `enableDownloadPromptReminder: true` can be used to configure whether the reminder prompts should be displayed or not.
|
||||
`downloadPromptReminderDelay` property can be used to configure the time to wait between reminder prompts.
|
||||
|
||||
Note: All times in this configuration must be provided in seconds
|
||||
> All times in this configuration must be provided in seconds
|
||||
|
||||
## See also
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
Title: Boolean pipe
|
||||
Added: v6.4.0
|
||||
Status: Active
|
||||
Last reviewed: 2023-10-12
|
||||
---
|
||||
|
||||
# [Boolean pipe](../../../lib/core/src/lib/pipes/boolean.pipe.ts "Defined in boolean.pipe.ts")
|
||||
|
||||
Converts the received values to one of the possible strings: 'true', 'false' or ""(empty string).
|
||||
|
||||
## Basic Usage
|
||||
|
||||
<!-- {% raw %} -->
|
||||
|
||||
```HTML
|
||||
<div>
|
||||
Is available: {{ isAvailable | adfBoolean }}
|
||||
</div>
|
||||
```
|
||||
|
||||
<!-- {% endraw %} -->
|
||||
|
||||
## Details
|
||||
|
||||
This pipe is prepared for any input values. The value `'true'` will be returned if true (boolean) or 'true' (exact string) appears on the input. The situation is identical for the value `'false'` - it will be returned in the case of false(boolean) or 'false'. In other cases, we can expect an `empty string('')`.
|
||||
@@ -25,7 +25,7 @@ Converts a date to a given format and locale.
|
||||
|
||||
## Details
|
||||
|
||||
The pipe takes a date and formats it and localizes it so the date is displayed in the proper format for the region. It uses the [Angular Date Pipe](https://angular.io/api/common/DatePipe#custom-format-options) so all the pre-defined and custom formats can be used.
|
||||
The pipe takes a date and formats it and localizes it so the date is displayed in the proper format for the region. It uses the [Angular Date Pipe](https://angular.io/api/common/DatePipe#custom-format-options) so all the pre-defined and custom formats can be used.
|
||||
|
||||
To localize the dates in your application, you will need to add the specific locale file for your region in order to use it. Read more about internationalization [here](https://angular.io/guide/i18n#i18n-pipes).
|
||||
|
||||
@@ -58,4 +58,4 @@ You can overwrite the default values of this pipe by adding these properties to
|
||||
| defaultDateTimeFormat | string | The format to apply to date-time values |
|
||||
| defaultLocale | string | The locale id to apply |
|
||||
|
||||
This configuration overwrites the values in the [localized date pipe](../../core/pipes/localized-date.pipe.md) as well as other components to have more consistency across your app. However, you can still overwrite these values any time by using the pipe in your code.
|
||||
This configuration overwrites the values in the [localized date pipe](../../core/pipes/localized-date.pipe.md) as well as other components to have more consistency across your app. However, you can still overwrite these values any time by using the pipe in your code.
|
||||
|
||||
@@ -5,7 +5,7 @@ Status: Active
|
||||
Last reviewed: 2019-01-17
|
||||
---
|
||||
|
||||
# [Alfresco Api Service](../../../lib/core/src/lib/services/alfresco-api.service.ts "Defined in alfresco-api.service.ts")
|
||||
# [Alfresco Api Service](lib/content-services/src/lib/services/alfresco-api.service.ts "Defined in alfresco-api.service.ts")
|
||||
|
||||
Provides access to an initialized **AlfrescoJSApi** instance.
|
||||
|
||||
|
||||
@@ -83,7 +83,12 @@ Accesses and manipulates ACS document nodes using their node IDs.
|
||||
- _nodeId:_ `string` - ID of the target node
|
||||
- _nodeBody:_ `any` - New data for the node
|
||||
- _options:_ `any` - Optional parameters supported by JS-API
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md)`>` - Updated node information
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md)`>` - Updated node information<br/>
|
||||
- **getNodeAssignedHolds**(nodeId: `string`, options: `{ includeSource?: boolean; } & NodesIncludeQuery & ContentPagingQuery`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Hold[]`](../../../lib/js-api/src/api/gs-core-rest-api/docs/Hold.md)`>`<br/>
|
||||
Gets legal holds assigned to a node.
|
||||
- _nodeId:_ `string` - ID of the target node
|
||||
- _options:_ `{ includeSource?: boolean; } & NodesIncludeQuery & ContentPagingQuery` - Optional parameters supported by JS-API
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Hold[]`](../../../lib/js-api/src/api/gs-core-rest-api/docs/Hold.md)`>` - List of assigned holds
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ an example of a real working viewer extension project.
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| extension | `string` | | File extension (.jpg, .png, etc) for the viewer. |
|
||||
| id | `string` | | ID string of the component to preview. |
|
||||
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
|
||||
| url | `string` | | URL of the content in the repository. |
|
||||
|
||||
## Details
|
||||
|
||||
@@ -49,3 +49,4 @@ The pages linked below contain the licenses for all third party dependencies of
|
||||
- [ADF 6.7.1](license-info-6.7.1.md)
|
||||
- [ADF 6.8.0](license-info-6.8.0.md)
|
||||
- [ADF 6.9.0](license-info-6.9.0.md)
|
||||
- [ADF 7.0.0-alpha.2](license-info-7.0.0-alpha.2.md)
|
||||
|
||||
@@ -0,0 +1,755 @@
|
||||
---
|
||||
Title: License info, alfresco-ng2-components 7.0.0-alpha.2
|
||||
---
|
||||
|
||||
# License information for alfresco-ng2-components 7.0.0-alpha.2
|
||||
|
||||
This page lists all third party libraries the project depends on.
|
||||
|
||||
## Libraries
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
| [@ampproject/remapping](https://github.com/ampproject/remapping) | 2.2.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [@angular/animations](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/cdk](https://github.com/angular/components) | 15.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/common](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/compiler](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/core](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/forms](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material-date-fns-adapter](https://github.com/angular/components) | 15.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material](https://github.com/angular/components) | 15.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/router](https://github.com/angular/angular) | 15.2.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@apollo/client](https://github.com/apollographql/apollo-client) | 3.11.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/code-frame](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/compat-data](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/core](https://github.com/babel/babel) | 7.20.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/core](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/generator](https://github.com/babel/babel) | 7.20.14 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/generator](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-annotate-as-pure](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-annotate-as-pure](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-builder-binary-assignment-operator-visitor](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-compilation-targets](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-create-class-features-plugin](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-create-regexp-features-plugin](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-define-polyfill-provider](https://github.com/babel/babel-polyfills) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-define-polyfill-provider](https://github.com/babel/babel-polyfills) | 0.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-environment-visitor](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-function-name](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-member-expression-to-functions](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-module-imports](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-module-transforms](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-optimise-call-expression](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-plugin-utils](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-remap-async-to-generator](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-replace-supers](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-simple-access](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-skip-transparent-expression-wrappers](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-split-export-declaration](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-string-parser](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-validator-identifier](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-validator-option](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helper-wrap-function](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/helpers](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/highlight](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/parser](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-firefox-class-in-computed-class-key](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-safari-class-field-initializer-scope](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-async-generator-functions](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-class-properties](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-class-static-block](https://github.com/babel/babel) | 7.21.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-dynamic-import](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-export-namespace-from](https://github.com/babel/babel) | 7.18.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-json-strings](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-logical-assignment-operators](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-nullish-coalescing-operator](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-numeric-separator](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-optional-catch-binding](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-optional-chaining](https://github.com/babel/babel) | 7.21.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-private-methods](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-private-property-in-object](https://github.com/babel/babel-plugin-proposal-private-property-in-object) | 7.21.0-placeholder-for-preset-env.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-private-property-in-object](https://github.com/babel/babel) | 7.21.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-proposal-unicode-property-regex](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-async-generators](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators) | 7.8.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-class-properties](https://github.com/babel/babel) | 7.12.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-class-static-block](https://github.com/babel/babel) | 7.14.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-dynamic-import](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-export-namespace-from](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-export-namespace-from) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-flow](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-import-assertions](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-import-attributes](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-import-meta](https://github.com/babel/babel) | 7.10.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-json-strings](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-jsx](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-logical-assignment-operators](https://github.com/babel/babel) | 7.10.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-nullish-coalescing-operator](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-nullish-coalescing-operator) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-numeric-separator](https://github.com/babel/babel) | 7.10.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-object-rest-spread](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-optional-catch-binding](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-optional-chaining](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-chaining) | 7.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-private-property-in-object](https://github.com/babel/babel) | 7.14.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-top-level-await](https://github.com/babel/babel) | 7.14.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-typescript](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-syntax-unicode-sets-regex](https://github.com/babel/babel) | 7.18.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-arrow-functions](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-async-generator-functions](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-async-to-generator](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-async-to-generator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-block-scoped-functions](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-block-scoping](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-class-properties](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-class-static-block](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-classes](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-computed-properties](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-destructuring](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-dotall-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-duplicate-keys](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-duplicate-named-capturing-groups-regex](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-dynamic-import](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-exponentiation-operator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-export-namespace-from](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-flow-strip-types](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-for-of](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-function-name](https://github.com/babel/babel) | 7.25.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-json-strings](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-literals](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-logical-assignment-operators](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-member-expression-literals](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-modules-amd](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-modules-commonjs](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-modules-umd](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-named-capturing-groups-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-new-target](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-nullish-coalescing-operator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-numeric-separator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-object-rest-spread](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-object-super](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-optional-catch-binding](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-optional-chaining](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-parameters](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-private-methods](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-private-property-in-object](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-property-literals](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-regenerator](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-reserved-words](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-shorthand-properties](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-spread](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-sticky-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-template-literals](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-typeof-symbol](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-typescript](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-unicode-escapes](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-unicode-property-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-unicode-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/plugin-transform-unicode-sets-regex](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-env](https://github.com/babel/babel) | 7.20.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-env](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-flow](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-modules](https://github.com/babel/preset-modules) | 0.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-modules](https://github.com/babel/preset-modules) | 0.1.6-no-external-plugins | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/preset-typescript](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/register](https://github.com/babel/babel) | 7.24.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/regjsgen](https://github.com/bnjmnt4n/regjsgen) | 0.8.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/runtime](https://github.com/babel/babel) | 7.20.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/runtime](https://github.com/babel/babel) | 7.24.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/template](https://github.com/babel/babel) | 7.20.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/template](https://github.com/babel/babel) | 7.24.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/template](https://github.com/babel/babel) | 7.25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/traverse](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@babel/types](https://github.com/babel/babel) | 7.25.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-bundled-dicts](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-pipe](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-resolver](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-service-bus](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/cspell-types](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-ada](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-aws](https://github.com/streetsidesoftware/cspell-dict) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-bash](https://github.com/streetsidesoftware/cspell-dicts) | 4.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-companies](https://github.com/streetsidesoftware/cspell-dict) | 3.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-cpp](https://github.com/streetsidesoftware/cspell-dict) | 5.1.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-cryptocurrencies](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-csharp](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-css](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-dart](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-data-science](https://github.com/streetsidesoftware/cspell-dict) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-django](https://github.com/streetsidesoftware/cspell-dicts) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-docker](https://github.com/streetsidesoftware/cspell-dicts) | 1.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-dotnet](https://github.com/streetsidesoftware/cspell-dict) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-elixir](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en-common-misspellings](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en-gb](https://github.com/streetsidesoftware/cspell-dicts) | 1.1.33 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-en_us](https://github.com/streetsidesoftware/cspell-dict) | 4.3.23 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-filetypes](https://github.com/streetsidesoftware/cspell-dict) | 3.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fonts](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fsharp](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-fullstack](https://github.com/streetsidesoftware/cspell-dict) | 3.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-gaming-terms](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-git](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-golang](https://github.com/streetsidesoftware/cspell-dict) | 6.0.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-haskell](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-html-symbol-entities](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-html](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-java](https://github.com/streetsidesoftware/cspell-dict) | 5.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-k8s](https://github.com/streetsidesoftware/cspell-dict) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-latex](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-lorem-ipsum](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-lua](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-makefile](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-node](https://github.com/streetsidesoftware/cspell-dicts) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-npm](https://github.com/streetsidesoftware/cspell-dict) | 5.0.18 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-php](https://github.com/streetsidesoftware/cspell-dict) | 4.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-powershell](https://github.com/streetsidesoftware/cspell-dict) | 5.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-public-licenses](https://github.com/streetsidesoftware/cspell-dict) | 2.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-python](https://github.com/streetsidesoftware/cspell-dict) | 4.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-r](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-ruby](https://github.com/streetsidesoftware/cspell-dicts) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-rust](https://github.com/streetsidesoftware/cspell-dict) | 4.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-scala](https://github.com/streetsidesoftware/cspell-dict) | 5.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-software-terms](https://github.com/streetsidesoftware/cspell-dict) | 3.4.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-sql](https://github.com/streetsidesoftware/cspell-dicts) | 2.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-svelte](https://github.com/streetsidesoftware/cspell-dicts) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-swift](https://github.com/streetsidesoftware/cspell-dicts) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-typescript](https://github.com/streetsidesoftware/cspell-dict) | 3.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dict-vue](https://github.com/streetsidesoftware/cspell-dicts) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/dynamic-import](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/strong-weak-map](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@esbuild/darwin-arm64](https://github.com/evanw/esbuild) | 0.17.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@esbuild/darwin-arm64](https://github.com/evanw/esbuild) | 0.21.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@graphql-typed-document-node/core](https://github.com/dotansimha/graphql-typed-document-node) | 3.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/gen-mapping](https://github.com/jridgewell/gen-mapping) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/gen-mapping](https://github.com/jridgewell/gen-mapping) | 0.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/resolve-uri](https://github.com/jridgewell/resolve-uri) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/set-array](https://github.com/jridgewell/set-array) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/sourcemap-codec](https://github.com/jridgewell/sourcemap-codec) | 1.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@jridgewell/trace-mapping](https://github.com/jridgewell/trace-mapping) | 0.3.25 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@kurkle/color](https://github.com/kurkle/color) | 0.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@mat-datetimepicker/core](https://github.com/kuhnroyal/mat-datetimepicker) | 11.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/animation](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/auto-init](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/banner](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/base](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/button](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/card](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/checkbox](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/chips](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/circular-progress](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/data-table](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/density](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/dialog](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/dom](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/drawer](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/elevation](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/fab](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/feature-targeting](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/floating-label](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/focus-ring](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/form-field](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/icon-button](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/image-list](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/layout-grid](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/line-ripple](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/linear-progress](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/list](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/menu-surface](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/menu](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/notched-outline](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/progress-indicator](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/radio](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/ripple](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/rtl](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/segmented-button](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/select](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/shape](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/slider](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/snackbar](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/switch](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-bar](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-indicator](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab-scroller](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tab](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/textfield](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/theme](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tokens](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/tooltip](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/top-app-bar](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/touch-target](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@material/typography](https://github.com/material-components/material-components-web) | 15.0.0-canary.684e33d25.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@ngx-translate/core](https://github.com/ngx-translate/core) | 14.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.scandir](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir) | 2.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.stat](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat) | 2.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nodelib/fs.walk](https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk) | 1.2.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@pkgr/core](https://github.com/un-ts/pkgr) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@sindresorhus/merge-streams](https://github.com/sindresorhus/merge-streams) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/codemod](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core-server](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/core](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/csf](https://github.com/ComponentDriven/csf) | 0.1.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@storybook/theming](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/body-parser](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.19.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/connect](https://github.com/DefinitelyTyped/DefinitelyTyped) | 3.4.38 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/cross-spawn](https://github.com/DefinitelyTyped/DefinitelyTyped) | 6.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/emscripten](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.39.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/estree](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/express-serve-static-core](https://github.com/DefinitelyTyped/DefinitelyTyped) | 4.19.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/http-errors](https://github.com/DefinitelyTyped/DefinitelyTyped) | 2.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/mime](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) | 18.19.42 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) | 20.14.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/prop-types](https://github.com/DefinitelyTyped/DefinitelyTyped) | 15.7.12 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/qs](https://github.com/DefinitelyTyped/DefinitelyTyped) | 6.9.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/range-parser](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.2.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped) | 18.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped) | 7.5.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/send](https://github.com/DefinitelyTyped/DefinitelyTyped) | 0.17.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@types/serve-static](https://github.com/DefinitelyTyped/DefinitelyTyped) | 1.15.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/caches](https://github.com/benjamn/wryware) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/context](https://github.com/benjamn/wryware) | 0.7.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/equality](https://github.com/benjamn/wryware) | 0.5.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/trie](https://github.com/benjamn/wryware) | 0.4.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@wry/trie](https://github.com/benjamn/wryware) | 0.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@yarnpkg/fslib](https://github.com/yarnpkg/berry) | 2.10.3 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [@yarnpkg/libzip](https://github.com/yarnpkg/berry) | 2.3.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [accepts](https://github.com/jshttp/accepts) | 1.3.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [acorn](https://github.com/acornjs/acorn) | 8.12.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components) | 7.0.0-alpha.1 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [angular-oauth2-oidc-jwks](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc) | 13.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-regex](https://github.com/chalk/ansi-regex) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-styles](https://github.com/chalk/ansi-styles) | 3.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ansi-styles](https://github.com/chalk/ansi-styles) | 4.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [apollo-angular](https://github.com/kamilkisiela/apollo-angular) | 5.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [argparse](https://github.com/nodeca/argparse) | 2.0.1 | [Python-2.0](http://www.opensource.org/licenses/Python-2.0) |
|
||||
| [array-flatten](https://github.com/blakeembrey/array-flatten) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [array-timsort](https://github.com/kaelzhang/node-array-timsort) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [asap](https://github.com/kriskowal/asap) | 2.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ast-types](https://github.com/benjamn/ast-types) | 0.16.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [asynckit](https://github.com/alexindigo/asynckit) | 0.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [available-typed-arrays](https://github.com/inspect-js/available-typed-arrays) | 1.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| babel-core | 7.0.0-bridge.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-corejs2](https://github.com/babel/babel-polyfills) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-corejs2](https://github.com/babel/babel-polyfills) | 0.4.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-corejs3](https://github.com/babel/babel-polyfills) | 0.10.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-corejs3](https://github.com/babel/babel-polyfills) | 0.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-regenerator](https://github.com/babel/babel-polyfills) | 0.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [babel-plugin-polyfill-regenerator](https://github.com/babel/babel-polyfills) | 0.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [backo2](https://github.com/mokesmokes/backo) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [balanced-match](https://github.com/juliangruber/balanced-match) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [base64-js](https://github.com/beatgammit/base64-js) | 1.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [bl](https://github.com/rvagg/bl) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [body-parser](https://github.com/expressjs/body-parser) | 1.20.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [brace-expansion](https://github.com/juliangruber/brace-expansion) | 1.1.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [braces](https://github.com/micromatch/braces) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [browser-assert](https://github.com/socialally/browser-assert) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [browserslist](https://github.com/browserslist/browserslist) | 4.21.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [browserslist](https://github.com/browserslist/browserslist) | 4.23.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [buffer-from](https://github.com/LinusU/buffer-from) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [buffer](https://github.com/feross/buffer) | 5.7.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [bytes](https://github.com/visionmedia/bytes.js) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [call-bind](https://github.com/ljharb/call-bind) | 1.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [callsites](https://github.com/sindresorhus/callsites) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | 1.0.30001643 | [CC-BY-4.0](http://creativecommons.org/licenses/by/4.0/legalcode) |
|
||||
| [chalk](https://github.com/chalk/chalk) | 2.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chalk](https://github.com/chalk/chalk) | 4.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | 4.4.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chownr](https://github.com/isaacs/chownr) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [citty](https://github.com/unjs/citty) | 0.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [clear-module](https://github.com/sindresorhus/clear-module) | 4.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cli-cursor](https://github.com/sindresorhus/cli-cursor) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cli-spinners](https://github.com/sindresorhus/cli-spinners) | 2.6.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [clone-deep](https://github.com/jonschlinkert/clone-deep) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [clone](https://github.com/pvorb/node-clone) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-convert](https://github.com/Qix-/color-convert) | 1.9.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-convert](https://github.com/Qix-/color-convert) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-name](https://github.com/dfcreative/color-name) | 1.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [color-name](https://github.com/colorjs/color-name) | 1.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [combined-stream](https://github.com/felixge/node-combined-stream) | 1.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [commander](https://github.com/tj/commander.js) | 6.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [comment-json](https://github.com/kaelzhang/node-comment-json) | 4.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [commondir](https://github.com/substack/node-commondir) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [component-emitter](https://github.com/sindresorhus/component-emitter) | 1.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [concat-map](https://github.com/substack/node-concat-map) | 0.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [confbox](https://github.com/unjs/confbox) | 0.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [configstore](https://github.com/yeoman/configstore) | 6.0.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [consola](https://github.com/unjs/consola) | 3.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [content-disposition](https://github.com/jshttp/content-disposition) | 0.5.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [content-type](https://github.com/jshttp/content-type) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [convert-source-map](https://github.com/thlorenz/convert-source-map) | 1.9.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [convert-source-map](https://github.com/thlorenz/convert-source-map) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookie-signature](https://github.com/visionmedia/node-cookie-signature) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookie](https://github.com/jshttp/cookie) | 0.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cookiejar](https://github.com/bmeck/node-cookiejar) | 2.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [core-js-compat](https://github.com/zloirock/core-js) | 3.37.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [core-util-is](https://github.com/isaacs/core-util-is) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cosmiconfig](https://github.com/davidtheclark/cosmiconfig) | 8.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cropperjs](https://github.com/fengyuanchen/cropperjs) | 1.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cross-spawn](https://github.com/moxystudio/node-cross-spawn) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [crypto-random-string](https://github.com/sindresorhus/crypto-random-string) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-dictionary](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-glob](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-grammar](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-io](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-lib](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cspell-trie-lib](https://github.com/streetsidesoftware/cspell) | 7.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [csstype](https://github.com/frenic/csstype) | 3.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [d](https://github.com/medikoo/d) | 1.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [date-fns](https://github.com/date-fns/date-fns) | 2.30.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [debug](https://github.com/visionmedia/debug) | 2.6.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [debug](https://github.com/debug-js/debug) | 4.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [defaults](https://github.com/sindresorhus/node-defaults) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [define-data-property](https://github.com/ljharb/define-data-property) | 1.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [defu](https://github.com/unjs/defu) | 6.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [delayed-stream](https://github.com/felixge/node-delayed-stream) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [depd](https://github.com/dougwilson/nodejs-depd) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [destroy](https://github.com/stream-utils/destroy) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [detect-indent](https://github.com/sindresorhus/detect-indent) | 6.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dezalgo](https://github.com/npm/dezalgo) | 1.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [dot-prop](https://github.com/sindresorhus/dot-prop) | 6.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| dotenv-expand | 5.1.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [ee-first](https://github.com/jonathanong/ee-first) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | 1.5.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [encodeurl](https://github.com/pillarjs/encodeurl) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [encoding](https://github.com/andris9/encoding) | 0.1.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [entities](https://github.com/fb55/entities) | 4.5.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [envinfo](https://github.com/tabrindle/envinfo) | 7.13.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [error-ex](https://github.com/qix-/node-error-ex) | 1.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es-define-property](https://github.com/ljharb/es-define-property) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es-errors](https://github.com/ljharb/es-errors) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es5-ext](https://github.com/medikoo/es5-ext) | 0.10.64 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [es6-iterator](https://github.com/medikoo/es6-iterator) | 2.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [es6-symbol](https://github.com/medikoo/es6-symbol) | 3.1.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| esbuild-register | 3.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esbuild](https://github.com/evanw/esbuild) | 0.17.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esbuild](https://github.com/evanw/esbuild) | 0.21.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [escalade](https://github.com/lukeed/escalade) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [escape-html](https://github.com/component/escape-html) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [escape-string-regexp](https://github.com/sindresorhus/escape-string-regexp) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esniff](https://github.com/medikoo/esniff) | 2.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [esprima](https://github.com/jquery/esprima) | 4.0.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [estree-walker](https://github.com/Rich-Harris/estree-walker) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [esutils](https://github.com/estools/esutils) | 2.0.3 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [etag](https://github.com/jshttp/etag) | 1.8.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [eve-raphael](https://github.com/tomasAlabes/eve) | 0.5.0 | [Apache](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [event-emitter](https://github.com/medikoo/event-emitter) | 0.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [eventemitter3](https://github.com/primus/eventemitter3) | 3.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [execa](https://github.com/sindresorhus/execa) | 5.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [execa](https://github.com/sindresorhus/execa) | 8.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [express](https://github.com/expressjs/express) | 4.19.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ext](https://github.com/medikoo/es5-ext.git#ext) | 1.7.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fast-equals](https://github.com/planttheidea/fast-equals) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-equals](https://github.com/planttheidea/fast-equals) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-glob](https://github.com/mrmlnc/fast-glob) | 3.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-safe-stringify](https://github.com/davidmarkclements/fast-safe-stringify) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fast-sha256](https://github.com/dchest/fast-sha256-js) | 1.3.0 | [Unlicense](http://unlicense.org/) |
|
||||
| [fastq](https://github.com/mcollina/fastq) | 1.17.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fd-package-json](https://github.com/es-tooling/fd-package-json) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fill-range](https://github.com/jonschlinkert/fill-range) | 7.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [finalhandler](https://github.com/pillarjs/finalhandler) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-cache-dir](https://github.com/avajs/find-cache-dir) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-up](https://github.com/sindresorhus/find-up) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-up](https://github.com/sindresorhus/find-up) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [find-up](https://github.com/sindresorhus/find-up) | 6.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [flow-parser](https://github.com/facebook/flow) | 0.242.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [for-each](https://github.com/Raynos/for-each) | 0.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [form-data](https://github.com/form-data/form-data) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [formidable](https://github.com/node-formidable/formidable) | 3.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [forwarded](https://github.com/jshttp/forwarded) | 0.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fresh](https://github.com/jshttp/fresh) | 0.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fs-extra](https://github.com/jprichardson/node-fs-extra) | 11.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [fs-minipass](https://github.com/npm/fs-minipass) | 2.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [fs.realpath](https://github.com/isaacs/fs.realpath) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [function-bind](https://github.com/Raynos/function-bind) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gensequence](https://github.com/streetsidesoftware/GenSequence) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gensync](https://github.com/loganfsmyth/gensync) | 1.0.0-beta.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-intrinsic](https://github.com/ljharb/get-intrinsic) | 1.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-stream](https://github.com/sindresorhus/get-stream) | 6.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [get-stream](https://github.com/sindresorhus/get-stream) | 8.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [giget](https://github.com/unjs/giget) | 1.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [glob-parent](https://github.com/gulpjs/glob-parent) | 5.1.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [glob](https://github.com/isaacs/node-glob) | 7.2.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [global-dirs](https://github.com/sindresorhus/global-dirs) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [globals](https://github.com/sindresorhus/globals) | 11.12.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [globby](https://github.com/sindresorhus/globby) | 14.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [gopd](https://github.com/ljharb/gopd) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graceful-fs](https://github.com/isaacs/node-graceful-fs) | 4.2.11 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [graphql-tag](https://github.com/apollographql/graphql-tag) | 2.12.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graphql](https://github.com/graphql/graphql-js) | 16.9.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-flag](https://github.com/sindresorhus/has-flag) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-flag](https://github.com/sindresorhus/has-flag) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-own-prop](https://github.com/sindresorhus/has-own-prop) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-property-descriptors](https://github.com/inspect-js/has-property-descriptors) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-proto](https://github.com/inspect-js/has-proto) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-symbols](https://github.com/inspect-js/has-symbols) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [has-tostringtag](https://github.com/inspect-js/has-tostringtag) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [hasown](https://github.com/inspect-js/hasOwn) | 2.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [hexoid](https://github.com/lukeed/hexoid) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [hoist-non-react-statics](https://github.com/mridgway/hoist-non-react-statics) | 3.3.2 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [http-errors](https://github.com/jshttp/http-errors) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [human-signals](https://github.com/ehmicky/human-signals) | 2.1.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [human-signals](https://github.com/ehmicky/human-signals) | 5.0.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [iconv-lite](https://github.com/ashtuchkin/iconv-lite) | 0.4.24 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [iconv-lite](https://github.com/ashtuchkin/iconv-lite) | 0.6.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ieee754](https://github.com/feross/ieee754) | 1.2.1 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [ignore](https://github.com/kaelzhang/node-ignore) | 5.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [import-fresh](https://github.com/sindresorhus/import-fresh) | 3.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [import-meta-resolve](https://github.com/wooorm/import-meta-resolve) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [imurmurhash](https://github.com/jensyt/imurmurhash-js) | 0.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [inflight](https://github.com/npm/inflight) | 1.0.6 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [inherits](https://github.com/isaacs/inherits) | 2.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ini](https://github.com/isaacs/ini) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ipaddr.js](https://github.com/whitequark/ipaddr.js) | 1.9.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-arguments](https://github.com/inspect-js/is-arguments) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-arrayish](https://github.com/qix-/node-is-arrayish) | 0.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-callable](https://github.com/inspect-js/is-callable) | 1.2.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-core-module](https://github.com/inspect-js/is-core-module) | 2.15.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-extglob](https://github.com/jonschlinkert/is-extglob) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-generator-function](https://github.com/inspect-js/is-generator-function) | 1.0.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-glob](https://github.com/micromatch/is-glob) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-interactive](https://github.com/sindresorhus/is-interactive) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-number](https://github.com/jonschlinkert/is-number) | 7.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-obj](https://github.com/sindresorhus/is-obj) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-plain-object](https://github.com/jonschlinkert/is-plain-object) | 2.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-stream](https://github.com/sindresorhus/is-stream) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-stream](https://github.com/sindresorhus/is-stream) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-typed-array](https://github.com/inspect-js/is-typed-array) | 1.1.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-typedarray](https://github.com/hughsk/is-typedarray) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [is-unicode-supported](https://github.com/sindresorhus/is-unicode-supported) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [isexe](https://github.com/isaacs/isexe) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [isobject](https://github.com/jonschlinkert/isobject) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [iterall](https://github.com/leebyron/iterall) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [js-tokens](https://github.com/lydell/js-tokens) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [js-yaml](https://github.com/nodeca/js-yaml) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jscodeshift](https://github.com/facebook/jscodeshift) | 0.15.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsesc](https://github.com/mathiasbynens/jsesc) | 0.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsesc](https://github.com/mathiasbynens/jsesc) | 2.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [json-parse-even-better-errors](https://github.com/npm/json-parse-even-better-errors) | 2.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [json5](https://github.com/json5/json5) | 2.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsonfile](https://github.com/jprichardson/node-jsonfile) | 6.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [jsrsasign](https://github.com/kjur/jsrsasign) | 11.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [kind-of](https://github.com/jonschlinkert/kind-of) | 6.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [kleur](https://github.com/lukeed/kleur) | 3.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [leven](https://github.com/sindresorhus/leven) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lines-and-columns](https://github.com/eventualbuddha/lines-and-columns) | 1.2.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [locate-path](https://github.com/sindresorhus/locate-path) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [locate-path](https://github.com/sindresorhus/locate-path) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [locate-path](https://github.com/sindresorhus/locate-path) | 7.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lodash-es](https://github.com/lodash/lodash) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lodash.debounce](https://github.com/lodash/lodash) | 4.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lodash](https://github.com/lodash/lodash) | 4.17.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [log-symbols](https://github.com/sindresorhus/log-symbols) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [loose-envify](https://github.com/zertosh/loose-envify) | 1.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [lru-cache](https://github.com/isaacs/node-lru-cache) | 5.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [lru-cache](https://github.com/isaacs/node-lru-cache) | 6.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [make-dir](https://github.com/sindresorhus/make-dir) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [material-icons](https://github.com/marella/material-icons) | 1.13.12 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [media-typer](https://github.com/jshttp/media-typer) | 0.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [merge-descriptors](https://github.com/component/merge-descriptors) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [merge-stream](https://github.com/grncdr/merge-stream) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [merge2](https://github.com/teambition/merge2) | 1.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [methods](https://github.com/jshttp/methods) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [micromatch](https://github.com/micromatch/micromatch) | 4.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime-db](https://github.com/jshttp/mime-db) | 1.52.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime-types](https://github.com/jshttp/mime-types) | 2.1.35 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime](https://github.com/broofa/node-mime) | 1.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mime](https://github.com/broofa/mime) | 2.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mimic-fn](https://github.com/sindresorhus/mimic-fn) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mimic-fn](https://github.com/sindresorhus/mimic-fn) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [minimatch-browser](https://github.com/isaacs/minimatch) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimatch](https://github.com/isaacs/minimatch) | 3.0.5 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minimatch](https://github.com/isaacs/minimatch) | 3.1.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minipass](https://github.com/isaacs/minipass) | 3.3.6 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minipass](https://github.com/isaacs/minipass) | 5.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [minizlib](https://github.com/isaacs/minizlib) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mkdirp](https://github.com/isaacs/node-mkdirp) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [mlly](https://github.com/unjs/mlly) | 1.7.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [monaco-editor](https://github.com/microsoft/monaco-editor) | 0.34.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ms](https://github.com/zeit/ms) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ms](https://github.com/zeit/ms) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ms](https://github.com/vercel/ms) | 2.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [negotiator](https://github.com/jshttp/negotiator) | 0.6.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [neo-async](https://github.com/suguru03/neo-async) | 2.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [next-tick](https://github.com/medikoo/next-tick) | 1.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ng2-charts](https://github.com/valor-software/ng2-charts) | 4.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ngx-monaco-editor-v2](https://github.com/miki995/ngx-monaco-editor-v2) | 15.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [node-dir](https://github.com/fshost/node-dir) | 0.1.17 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [node-fetch-native](https://github.com/unjs/node-fetch-native) | 1.6.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [node-fetch](https://github.com/bitinn/node-fetch) | 2.7.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [node-releases](https://github.com/chicoxyzzy/node-releases) | 2.0.18 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [npm-run-path](https://github.com/sindresorhus/npm-run-path) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [npm-run-path](https://github.com/sindresorhus/npm-run-path) | 5.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [nypm](https://github.com/unjs/nypm) | 0.3.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [object-assign](https://github.com/sindresorhus/object-assign) | 4.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [object-inspect](https://github.com/inspect-js/object-inspect) | 1.13.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ohash](https://github.com/unjs/ohash) | 1.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [on-finished](https://github.com/jshttp/on-finished) | 2.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [once](https://github.com/isaacs/once) | 1.4.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [onetime](https://github.com/sindresorhus/onetime) | 5.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [onetime](https://github.com/sindresorhus/onetime) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [optimism](https://github.com/benjamn/optimism) | 0.18.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ora](https://github.com/sindresorhus/ora) | 5.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-limit](https://github.com/sindresorhus/p-limit) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-limit](https://github.com/sindresorhus/p-limit) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-limit](https://github.com/sindresorhus/p-limit) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-locate](https://github.com/sindresorhus/p-locate) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-locate](https://github.com/sindresorhus/p-locate) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-locate](https://github.com/sindresorhus/p-locate) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [p-try](https://github.com/sindresorhus/p-try) | 2.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parent-module](https://github.com/sindresorhus/parent-module) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parent-module](https://github.com/sindresorhus/parent-module) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parse-json](https://github.com/sindresorhus/parse-json) | 5.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parse5](https://github.com/inikulin/parse5) | 7.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [parseurl](https://github.com/pillarjs/parseurl) | 1.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-exists](https://github.com/sindresorhus/path-exists) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-exists](https://github.com/sindresorhus/path-exists) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-exists](https://github.com/sindresorhus/path-exists) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-is-absolute](https://github.com/sindresorhus/path-is-absolute) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-key](https://github.com/sindresorhus/path-key) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-key](https://github.com/sindresorhus/path-key) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-parse](https://github.com/jbgutierrez/path-parse) | 1.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-to-regexp](https://github.com/component/path-to-regexp) | 0.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-type](https://github.com/sindresorhus/path-type) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path-type](https://github.com/sindresorhus/path-type) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [path2d-polyfill](https://github.com/nilzona/path2d-polyfill) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pathe](https://github.com/unjs/pathe) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pdfjs-dist](https://github.com/mozilla/pdfjs-dist) | 3.3.122 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [picocolors](https://github.com/alexeyraspopov/picocolors) | 1.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [picomatch](https://github.com/micromatch/picomatch) | 2.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pify](https://github.com/sindresorhus/pify) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pirates](https://github.com/danez/pirates) | 4.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pkg-dir](https://github.com/sindresorhus/pkg-dir) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pkg-types](https://github.com/unjs/pkg-types) | 1.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [possible-typed-array-names](https://github.com/ljharb/possible-typed-array-names) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [prettier](https://github.com/prettier/prettier) | 3.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [process](https://github.com/shtylman/node-process) | 0.11.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [prompts](https://github.com/terkelg/prompts) | 2.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [prop-types](https://github.com/facebook/prop-types) | 15.8.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [proxy-addr](https://github.com/jshttp/proxy-addr) | 2.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [qs](https://github.com/ljharb/qs) | 6.11.0 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [queue-microtask](https://github.com/feross/queue-microtask) | 1.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [range-parser](https://github.com/jshttp/range-parser) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [raphael](https://github.com/DmitryBaranovskiy/raphael) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [raw-body](https://github.com/stream-utils/raw-body) | 2.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react-dom](https://github.com/facebook/react) | 18.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react-is](https://github.com/facebook/react) | 16.13.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [react](https://github.com/facebook/react) | 18.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [readable-stream](https://github.com/nodejs/readable-stream) | 3.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [recast](https://github.com/benjamn/recast) | 0.23.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerate-unicode-properties](https://github.com/mathiasbynens/regenerate-unicode-properties) | 10.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerate](https://github.com/mathiasbynens/regenerate) | 1.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerator-runtime](https://github.com/facebook/regenerator/tree/main/packages/runtime) | 0.13.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerator-runtime](https://github.com/facebook/regenerator/tree/main/packages/runtime) | 0.14.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regenerator-transform](https://github.com/facebook/regenerator/tree/main/packages/transform) | 0.15.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regexpu-core](https://github.com/mathiasbynens/regexpu-core) | 5.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [regjsparser](https://github.com/jviereck/regjsparser) | 0.9.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [rehackt](https://github.com/phryneas/rehackt) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [repeat-string](https://github.com/jonschlinkert/repeat-string) | 1.6.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [resolve-from](https://github.com/sindresorhus/resolve-from) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [resolve-from](https://github.com/sindresorhus/resolve-from) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [resolve](https://github.com/browserify/resolve) | 1.22.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [response-iterator](https://github.com/kmalakoff/response-iterator) | 0.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [restore-cursor](https://github.com/sindresorhus/restore-cursor) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [reusify](https://github.com/mcollina/reusify) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rimraf](https://github.com/isaacs/rimraf) | 2.6.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [run-parallel](https://github.com/feross/run-parallel) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rxjs](https://github.com/reactivex/rxjs) | 7.8.1 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [safe-buffer](https://github.com/feross/safe-buffer) | 5.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [safer-buffer](https://github.com/ChALkeR/safer-buffer) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [safevalues](https://github.com/google/safevalues) | 0.3.4 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [scheduler](https://github.com/facebook/react) | 0.23.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [semver](https://github.com/npm/node-semver) | 5.7.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [semver](https://github.com/npm/node-semver) | 6.3.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [semver](https://github.com/npm/node-semver) | 7.5.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [send](https://github.com/pillarjs/send) | 0.18.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [serve-static](https://github.com/expressjs/serve-static) | 1.15.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [set-function-length](https://github.com/ljharb/set-function-length) | 1.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [setprototypeof](https://github.com/wesleytodd/setprototypeof) | 1.2.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [shallow-clone](https://github.com/jonschlinkert/shallow-clone) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [shebang-command](https://github.com/kevva/shebang-command) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [shebang-regex](https://github.com/sindresorhus/shebang-regex) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [side-channel](https://github.com/ljharb/side-channel) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [signal-exit](https://github.com/tapjs/signal-exit) | 3.0.7 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [signal-exit](https://github.com/tapjs/signal-exit) | 4.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [sisteransi](https://github.com/terkelg/sisteransi) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [slash](https://github.com/sindresorhus/slash) | 5.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [source-map-support](https://github.com/evanw/node-source-map-support) | 0.5.21 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [source-map](https://github.com/mozilla/source-map) | 0.6.1 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||
| [statuses](https://github.com/jshttp/statuses) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [storybook](https://github.com/storybookjs/storybook) | 8.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [string_decoder](https://github.com/nodejs/string_decoder) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-ansi](https://github.com/chalk/strip-ansi) | 6.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-final-newline](https://github.com/sindresorhus/strip-final-newline) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-final-newline](https://github.com/sindresorhus/strip-final-newline) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [strip-json-comments](https://github.com/sindresorhus/strip-json-comments) | 3.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [subscriptions-transport-ws](https://github.com/apollostack/subscriptions-transport-ws) | 0.11.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [superagent](https://github.com/ladjs/superagent) | 9.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [supports-color](https://github.com/chalk/supports-color) | 5.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [supports-color](https://github.com/chalk/supports-color) | 7.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [supports-preserve-symlinks-flag](https://github.com/inspect-js/node-supports-preserve-symlinks-flag) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [symbol-observable](https://github.com/blesh/symbol-observable) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [symbol-observable](https://github.com/blesh/symbol-observable) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [synckit](https://github.com/un-ts/synckit) | 0.8.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tar](https://github.com/isaacs/node-tar) | 6.2.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [temp-dir](https://github.com/sindresorhus/temp-dir) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [temp](https://github.com/bruce/node-temp) | 0.8.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tempy](https://github.com/sindresorhus/tempy) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tiny-invariant](https://github.com/alexreardon/tiny-invariant) | 1.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [to-fast-properties](https://github.com/sindresorhus/to-fast-properties) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [to-regex-range](https://github.com/micromatch/to-regex-range) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [toidentifier](https://github.com/component/toidentifier) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tr46](https://github.com/Sebmaster/tr46.js) | 0.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-dedent](https://github.com/tamino-martinius/node-ts-dedent) | 2.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-invariant](https://github.com/apollographql/invariant-packages) | 0.10.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 1.14.1 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 2.6.3 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [type-fest](https://github.com/sindresorhus/type-fest) | 1.4.0 | ([MIT](http://www.opensource.org/licenses/MIT) OR [CC0-1.0](http://creativecommons.org/publicdomain/zero/1.0/legalcode)) |
|
||||
| [type-fest](https://github.com/sindresorhus/type-fest) | 2.19.0 | ([MIT](http://www.opensource.org/licenses/MIT) OR [CC0-1.0](http://creativecommons.org/publicdomain/zero/1.0/legalcode)) |
|
||||
| [type-is](https://github.com/jshttp/type-is) | 1.6.18 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [type](https://github.com/medikoo/type) | 2.7.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [typedarray-to-buffer](https://github.com/feross/typedarray-to-buffer) | 3.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ufo](https://github.com/unjs/ufo) | 1.5.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [undici-types](https://github.com/nodejs/undici) | 5.26.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicode-canonical-property-names-ecmascript](https://github.com/mathiasbynens/unicode-canonical-property-names-ecmascript) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicode-match-property-ecmascript](https://github.com/mathiasbynens/unicode-match-property-ecmascript) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicode-match-property-value-ecmascript](https://github.com/mathiasbynens/unicode-match-property-value-ecmascript) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicode-property-aliases-ecmascript](https://github.com/mathiasbynens/unicode-property-aliases-ecmascript) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unicorn-magic](https://github.com/sindresorhus/unicorn-magic) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unique-string](https://github.com/sindresorhus/unique-string) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [universalify](https://github.com/RyanZim/universalify) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [unpipe](https://github.com/stream-utils/unpipe) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [update-browserslist-db](https://github.com/browserslist/update-db) | 1.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [util-deprecate](https://github.com/TooTallNate/util-deprecate) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [util](https://github.com/browserify/node-util) | 0.12.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [utils-merge](https://github.com/jaredhanson/utils-merge) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vary](https://github.com/jshttp/vary) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vscode-languageserver-textdocument](https://github.com/Microsoft/vscode-languageserver-node) | 1.0.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [vscode-uri](https://github.com/microsoft/vscode-uri) | 3.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [walk-up-path](https://github.com/isaacs/walk-up-path) | 3.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [wcwidth](https://github.com/timoxley/wcwidth) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [web-streams-polyfill](https://github.com/MattiasBuelens/web-streams-polyfill) | 3.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [webidl-conversions](https://github.com/jsdom/webidl-conversions) | 3.0.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [whatwg-url](https://github.com/jsdom/whatwg-url) | 5.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [which-typed-array](https://github.com/inspect-js/which-typed-array) | 1.1.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [which](https://github.com/isaacs/node-which) | 2.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [wrappy](https://github.com/npm/wrappy) | 1.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [write-file-atomic](https://github.com/iarna/write-file-atomic) | 2.4.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [write-file-atomic](https://github.com/npm/write-file-atomic) | 3.0.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ws](https://github.com/websockets/ws) | 7.5.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ws](https://github.com/websockets/ws) | 8.18.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [xdg-basedir](https://github.com/sindresorhus/xdg-basedir) | 5.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [yallist](https://github.com/isaacs/yallist) | 3.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [yallist](https://github.com/isaacs/yallist) | 4.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [yocto-queue](https://github.com/sindresorhus/yocto-queue) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [yocto-queue](https://github.com/sindresorhus/yocto-queue) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zen-observable-ts](https://github.com/apollographql/zen-observable-ts) | 1.2.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zen-observable](https://github.com/zenparsing/zen-observable) | 0.8.15 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [zone.js](https://github.com/angular/angular) | 0.11.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
|
||||
@@ -35,6 +35,10 @@ Allows one or more users to be selected (with auto-suggestion) based on the inpu
|
||||
| roles | `string[]` | | Role names of the users to be listed. |
|
||||
| searchUserCtrl | `FormControl<any>` | | FormControl to search the user |
|
||||
| title | `string` | | Placeholder translation key |
|
||||
| hideInputOnSingleSelection | `boolean` | false | Hide the input field when a user is selected in single selection mode. The input will be shown again when the user is removed using the icon on the chip. |
|
||||
| formFieldAppearance | [`MatFormFieldAppearance`](https://material.angular.io/components/form-field/api#MatFormFieldAppearance) | "fill" | Material form field appearance (fill / outline). |
|
||||
| formFieldSubscriptSizing | [`SubscriptSizing`](https://material.angular.io/components/form-field/api#SubscriptSizing) | "fixed" | Material form field subscript sizing (fixed / dynamic). |
|
||||
| showErrors | `boolean` | true | Show errors under the form field. |
|
||||
| userChipsCtrl | `UntypedFormControl` | | FormControl to list of users |
|
||||
| validate | `boolean` | false | This flag enables the validation on the preSelectUsers passed as input. In case the flag is true the components call the identity service to verify the validity of the information passed as input. Otherwise, no check will be done. |
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ The first **General Availability** release was v2.0.0.
|
||||
|
||||
## General Availability
|
||||
|
||||
- [7.0.0-alpha.2](RelNote-7.0.0-alpha.2.md)
|
||||
- [6.9.0](RelNote-6.9.0.md)
|
||||
- [6.8.0](RelNote-6.8.0.md)
|
||||
- [6.7.1](RelNote-6.7.1.md)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user