mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
Merge branch 'development' into next-release-3.2.0
This commit is contained in:
@@ -65,7 +65,6 @@ jobs:
|
|||||||
then
|
then
|
||||||
ng test core --watch=false || exit 1;
|
ng test core --watch=false || exit 1;
|
||||||
fi;
|
fi;
|
||||||
script:
|
|
||||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||||
if [[ $AFFECTED_LIBS =~ "extensions$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
if [[ $AFFECTED_LIBS =~ "extensions$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||||
then
|
then
|
||||||
@@ -79,7 +78,6 @@ jobs:
|
|||||||
then
|
then
|
||||||
ng test process-services --watch=false || exit 1;
|
ng test process-services --watch=false || exit 1;
|
||||||
fi;
|
fi;
|
||||||
script:
|
|
||||||
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
||||||
if [[ $AFFECTED_LIBS =~ "insights$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
if [[ $AFFECTED_LIBS =~ "insights$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||||
then
|
then
|
||||||
|
@@ -615,6 +615,7 @@
|
|||||||
"key": "entry.id",
|
"key": "entry.id",
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.ID",
|
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.ID",
|
||||||
|
"cssClass": "adf-expand-cell-4",
|
||||||
"sortable": true
|
"sortable": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -622,7 +623,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.NAME",
|
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.NAME",
|
||||||
"sortable": true,
|
"sortable": true,
|
||||||
"cssClass": "full-width name-column ellipsis-cell"
|
"cssClass": "name-column adf-ellipsis-cell"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "entry.status",
|
"key": "entry.status",
|
||||||
|
@@ -48,6 +48,10 @@ export class CardViewComponent implements OnInit {
|
|||||||
this.createCard();
|
this.createCard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
respondToCardClick() {
|
||||||
|
this.logs.push(`clickable field`);
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.cardViewUpdateService.itemUpdated$.subscribe(this.onItemChange.bind(this));
|
this.cardViewUpdateService.itemUpdated$.subscribe(this.onItemChange.bind(this));
|
||||||
}
|
}
|
||||||
@@ -118,6 +122,17 @@ export class CardViewComponent implements OnInit {
|
|||||||
value: new Map([['999', 'My Value']]),
|
value: new Map([['999', 'My Value']]),
|
||||||
key: 'map',
|
key: 'map',
|
||||||
default: 'default map value'
|
default: 'default map value'
|
||||||
|
}),
|
||||||
|
new CardViewTextItemModel({
|
||||||
|
label: 'This is clickable ',
|
||||||
|
value: 'click here',
|
||||||
|
key: 'click',
|
||||||
|
default: 'click here',
|
||||||
|
editable: this.isEditable,
|
||||||
|
clickable: true,
|
||||||
|
clickCallBack: () => {
|
||||||
|
this.respondToCardClick();
|
||||||
|
}
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@@ -50,13 +50,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<adf-toolbar *ngIf="!disableDragArea" [color]="toolbarColor" class="adf-files-toolbar">
|
<adf-toolbar *ngIf="!disableDragArea" [color]="toolbarColor" class="adf-files-toolbar">
|
||||||
<adf-toolbar-title fxFlex="0 1 auto">
|
<adf-toolbar-title fxFlex="0 1 auto">
|
||||||
<adf-breadcrumb
|
<adf-breadcrumb fxShow fxHide.lt-sm="true"
|
||||||
class="adf-files-breadcrumb adf-standard-breadcrumb"
|
class="adf-files-breadcrumb"
|
||||||
root="APP.PERSONAL-FILES"
|
root="APP.PERSONAL-FILES"
|
||||||
[target]="documentList">
|
[target]="documentList">
|
||||||
</adf-breadcrumb>
|
</adf-breadcrumb>
|
||||||
<adf-dropdown-breadcrumb
|
<adf-dropdown-breadcrumb fxHide fxShow.lt-sm="true"
|
||||||
class="adf-files-breadcrumb adf-alternate-breadcrumb"
|
class="adf-files-breadcrumb"
|
||||||
[target]="documentList">
|
[target]="documentList">
|
||||||
</adf-dropdown-breadcrumb>
|
</adf-dropdown-breadcrumb>
|
||||||
</adf-toolbar-title>
|
</adf-toolbar-title>
|
||||||
@@ -250,7 +250,7 @@
|
|||||||
key="$thumbnail"
|
key="$thumbnail"
|
||||||
type="image"
|
type="image"
|
||||||
[sortable]="false"
|
[sortable]="false"
|
||||||
class="adf-image-table-cell adf-folder-image-column"
|
class="adf-image-table-cell "
|
||||||
[class.adf-cell-thumbnail]="thumbnails">
|
[class.adf-cell-thumbnail]="thumbnails">
|
||||||
</data-column>
|
</data-column>
|
||||||
<data-column
|
<data-column
|
||||||
@@ -267,7 +267,7 @@
|
|||||||
key="name"
|
key="name"
|
||||||
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
|
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
|
||||||
[formatTooltip]="getNodeNameTooltip"
|
[formatTooltip]="getNodeNameTooltip"
|
||||||
class="adf-ellipsis-cell adf-expand-cell-5 adf-display-name-column">
|
class="adf-ellipsis-cell adf-expand-cell-5">
|
||||||
</data-column>
|
</data-column>
|
||||||
<!-- Location column demo -->
|
<!-- Location column demo -->
|
||||||
<!--
|
<!--
|
||||||
@@ -279,15 +279,16 @@
|
|||||||
</data-column>
|
</data-column>
|
||||||
-->
|
-->
|
||||||
<data-column
|
<data-column
|
||||||
class="adf-size-column"
|
|
||||||
key="content.sizeInBytes"
|
key="content.sizeInBytes"
|
||||||
title="{{'DOCUMENT_LIST.COLUMNS.SIZE' | translate}}"
|
title="{{'DOCUMENT_LIST.COLUMNS.SIZE' | translate}}"
|
||||||
type="fileSize">
|
type="fileSize"
|
||||||
|
class="adf-desktop-only">
|
||||||
</data-column>
|
</data-column>
|
||||||
<data-column
|
<data-column
|
||||||
*ngIf="searchTerm"
|
*ngIf="searchTerm"
|
||||||
key="search"
|
key="search"
|
||||||
title="Search">
|
title="Search"
|
||||||
|
class="adf-desktop-only">
|
||||||
<ng-template let-entry="$implicit">
|
<ng-template let-entry="$implicit">
|
||||||
<div [innerHTML]="searchResultsHighlight(entry.row.node.entry.search) | highlight:searchTerm">
|
<div [innerHTML]="searchResultsHighlight(entry.row.node.entry.search) | highlight:searchTerm">
|
||||||
</div>
|
</div>
|
||||||
@@ -305,14 +306,14 @@
|
|||||||
</data-column>
|
</data-column>
|
||||||
-->
|
-->
|
||||||
<data-column
|
<data-column
|
||||||
class="adf-full-width adf-ellipsis-cell adf-nodeId-column"
|
class="adf-full-width adf-ellipsis-cell adf-desktop-only"
|
||||||
title="{{'DOCUMENT_LIST.COLUMNS.NODE_ID' | translate}}"
|
title="{{'DOCUMENT_LIST.COLUMNS.NODE_ID' | translate}}"
|
||||||
key="id">
|
key="id">
|
||||||
</data-column>
|
</data-column>
|
||||||
<data-column
|
<data-column
|
||||||
class="adf-isLocked-column"
|
|
||||||
title="{{'DOCUMENT_LIST.COLUMNS.IS_LOCKED' | translate}}"
|
title="{{'DOCUMENT_LIST.COLUMNS.IS_LOCKED' | translate}}"
|
||||||
key="id">
|
key="id"
|
||||||
|
class="adf-desktop-only">
|
||||||
<ng-template let-entry="$implicit">
|
<ng-template let-entry="$implicit">
|
||||||
<button mat-icon-button [adf-node-lock]="entry.row.node.entry" class="adf-lock-button">
|
<button mat-icon-button [adf-node-lock]="entry.row.node.entry" class="adf-lock-button">
|
||||||
<mat-icon *ngIf="entry.row.getValue('isLocked')">lock</mat-icon>
|
<mat-icon *ngIf="entry.row.getValue('isLocked')">lock</mat-icon>
|
||||||
@@ -323,14 +324,14 @@
|
|||||||
<data-column
|
<data-column
|
||||||
title="{{'DOCUMENT_LIST.COLUMNS.CREATED_BY' | translate}}"
|
title="{{'DOCUMENT_LIST.COLUMNS.CREATED_BY' | translate}}"
|
||||||
key="createdByUser.displayName"
|
key="createdByUser.displayName"
|
||||||
class="adf-createdBy-column">
|
class="adf-desktop-only adf-ellipsis-cell">
|
||||||
</data-column>
|
</data-column>
|
||||||
<data-column
|
<data-column
|
||||||
title="{{'DOCUMENT_LIST.COLUMNS.CREATED' | translate}}"
|
title="{{'DOCUMENT_LIST.COLUMNS.CREATED' | translate}}"
|
||||||
key="createdAt"
|
key="createdAt"
|
||||||
type="date"
|
type="date"
|
||||||
[format]="enableMediumTimeFormat ? 'medium' : 'timeAgo'"
|
[format]="enableMediumTimeFormat ? 'medium' : 'timeAgo'"
|
||||||
class="adf-desktop-only adf-createdOn-column">
|
class="adf-desktop-only adf-ellipsis-cell">
|
||||||
</data-column>
|
</data-column>
|
||||||
|
|
||||||
</data-columns>
|
</data-columns>
|
||||||
|
@@ -154,6 +154,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
|
.adf-datatable-list {
|
||||||
.adf {
|
.adf {
|
||||||
|
|
||||||
&-display-name-column {
|
&-display-name-column {
|
||||||
@@ -170,10 +171,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
|
.adf-datatable-list {
|
||||||
.adf {
|
.adf {
|
||||||
|
|
||||||
&-display-name-column {
|
&-display-name-column {
|
||||||
max-width: 35%;
|
max-width: 35%;
|
||||||
}
|
}
|
||||||
@@ -197,8 +199,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (min-width: 601px) {
|
@media (min-width: 601px) {
|
||||||
|
.adf-datatable-list {
|
||||||
.adf {
|
.adf {
|
||||||
|
|
||||||
&-display-name-column {
|
&-display-name-column {
|
||||||
@@ -221,8 +225,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (min-width: 1400px) {
|
@media (min-width: 1400px) {
|
||||||
|
.adf-datatable-list {
|
||||||
.adf {
|
.adf {
|
||||||
&-display-name-column {
|
&-display-name-column {
|
||||||
max-width: 40%;
|
max-width: 40%;
|
||||||
@@ -241,4 +247,5 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -419,9 +419,9 @@ for more information about installing and using the source code.
|
|||||||
|
|
||||||
| Name | Description | Source link |
|
| Name | Description | Source link |
|
||||||
| ---- | ----------- | ----------- |
|
| ---- | ----------- | ----------- |
|
||||||
| [Claim Task Directive](process-services-cloud/directives/claim-task.directive.md)  | Claim a task | [Source](../lib/process-services-cloud/src/lib/task/directives/claim-task.directive.ts) |
|
| [Claim Task Directive](process-services-cloud/directives/claim-task.directive.md)  | Claims a task | [Source](../lib/process-services-cloud/src/lib/task/directives/claim-task.directive.ts) |
|
||||||
| [Complete Task Directive](process-services-cloud/directives/complete-task.directive.md)  | Completes a task. | [Source](../lib/process-services-cloud/src/lib/task/directives/complete-task.directive.ts) |
|
| [Complete Task Directive](process-services-cloud/directives/complete-task.directive.md)  | Completes a task. | [Source](../lib/process-services-cloud/src/lib/task/directives/complete-task.directive.ts) |
|
||||||
| [Unclaim Task Directive](process-services-cloud/directives/unclaim-task.directive.md)  | Unclaim a task | [Source](../lib/process-services-cloud/src/lib/task/directives/unclaim-task.directive.ts) |
|
| [Unclaim Task Directive](process-services-cloud/directives/unclaim-task.directive.md)  | Unclaims a task | [Source](../lib/process-services-cloud/src/lib/task/directives/unclaim-task.directive.ts) |
|
||||||
|
|
||||||
### Pipes
|
### Pipes
|
||||||
|
|
||||||
@@ -440,7 +440,7 @@ for more information about installing and using the source code.
|
|||||||
| [Process List Cloud Service](process-services-cloud/services/process-list-cloud.service.md)  | Searches processes. | [Source](../lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts) |
|
| [Process List Cloud Service](process-services-cloud/services/process-list-cloud.service.md)  | Searches processes. | [Source](../lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts) |
|
||||||
| [Start Process Cloud Service](process-services-cloud/services/start-process-cloud.service.md)  | Gets process definitions and starts processes. | [Source](../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
|
| [Start Process Cloud Service](process-services-cloud/services/start-process-cloud.service.md)  | Gets process definitions and starts processes. | [Source](../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
|
||||||
| [Start Task Cloud Service](process-services-cloud/services/start-task-cloud.service.md)  | Starts standalone tasks. | [Source](../lib/process-services-cloud/src/lib/task/start-task/services/start-task-cloud.service.ts) |
|
| [Start Task Cloud Service](process-services-cloud/services/start-task-cloud.service.md)  | Starts standalone tasks. | [Source](../lib/process-services-cloud/src/lib/task/start-task/services/start-task-cloud.service.ts) |
|
||||||
| [Task Cloud Service](process-services-cloud/services/task-cloud.service.md)  | Manages task cloud. | [Source](../lib/process-services-cloud/src/lib/task/task-header/services/task-cloud.service.ts) |
|
| [Task Cloud Service](process-services-cloud/services/task-cloud.service.md)  | Manages task cloud. | [Source](../lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts) |
|
||||||
| [Task Filter Cloud Service](process-services-cloud/services/task-filter-cloud.service.md)  | Manages task filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
|
| [Task Filter Cloud Service](process-services-cloud/services/task-filter-cloud.service.md)  | Manages task filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
|
||||||
| [Task List Cloud Service](process-services-cloud/services/task-list-cloud.service.md)  | Searches tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
|
| [Task List Cloud Service](process-services-cloud/services/task-list-cloud.service.md)  | Searches tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
|
||||||
|
|
||||||
|
@@ -21,6 +21,7 @@ You can find further information about released versions of ADF in the
|
|||||||
|
|
||||||
| ADF version | Content Services | Process Services |
|
| ADF version | Content Services | Process Services |
|
||||||
| -- | -- | -- |
|
| -- | -- | -- |
|
||||||
|
| [3.1.0](versionIndex.md#v310) | **Full test:** v6.1.0 RC7 <br/> **Smoke test:** v5.2.4 | **Full test:** v2.0.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
|
||||||
| [3.0.0](versionIndex.md#v300) | **Full test:** v6.1.0 RC7 <br/> **Smoke test:** v5.2.4 | **Full test:** v2.0.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
|
| [3.0.0](versionIndex.md#v300) | **Full test:** v6.1.0 RC7 <br/> **Smoke test:** v5.2.4 | **Full test:** v2.0.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
|
||||||
| [2.6.0](versionIndex.md#v260) | **Full test:** v6.0.0, v5.2.4 <br/> **Smoke test:** v5.2.3 | **Full test:** v1.9.0 <br/>**Smoke test:** v1.8.1, v1.7.0, v1.6.4 |
|
| [2.6.0](versionIndex.md#v260) | **Full test:** v6.0.0, v5.2.4 <br/> **Smoke test:** v5.2.3 | **Full test:** v1.9.0 <br/>**Smoke test:** v1.8.1, v1.7.0, v1.6.4 |
|
||||||
| [2.5.0](versionIndex.md#v250) | **Full test:** v5.2.3 | **Full test:** v1.6.4 |
|
| [2.5.0](versionIndex.md#v250) | **Full test:** v5.2.3 | **Full test:** v1.6.4 |
|
||||||
|
@@ -32,14 +32,15 @@ Defining properties from Typescript:
|
|||||||
key: 'name',
|
key: 'name',
|
||||||
default: 'default bar' ,
|
default: 'default bar' ,
|
||||||
multiline: false,
|
multiline: false,
|
||||||
icon: 'icon';
|
icon: 'icon',
|
||||||
|
clickCallBack : ()=>{ myClickImplementation()}
|
||||||
}),
|
}),
|
||||||
new CardViewMapItemModel({
|
new CardViewMapItemModel({
|
||||||
label: 'My map',
|
label: 'My map',
|
||||||
value: new Map([['999', 'My Value']]),
|
value: new Map([['999', 'My Value']]),
|
||||||
key: 'map',
|
key: 'map',
|
||||||
default: 'default map value' ,
|
default: 'default map value' ,
|
||||||
clickable: true
|
clickable: true,
|
||||||
}),
|
}),
|
||||||
new CardViewDateItemModel({
|
new CardViewDateItemModel({
|
||||||
label: 'Date of birth',
|
label: 'Date of birth',
|
||||||
@@ -173,6 +174,7 @@ const textItemProperty = new CardViewTextItemModel(options);
|
|||||||
| displayValue\* | string | | The value to display |
|
| displayValue\* | string | | The value to display |
|
||||||
| editable | boolean | false | Toggles whether the item is editable |
|
| editable | boolean | false | Toggles whether the item is editable |
|
||||||
| clickable | boolean | false | Toggles whether the property responds to clicks |
|
| clickable | boolean | false | Toggles whether the property responds to clicks |
|
||||||
|
| clickableCallBack | function | null | Function to execute when click the element |
|
||||||
| icon | string | | The material icon to show beside the item if it is clickable |
|
| icon | string | | The material icon to show beside the item if it is clickable |
|
||||||
| multiline | boolean | false | Single or multiline text |
|
| multiline | boolean | false | Single or multiline text |
|
||||||
| pipes | [`CardViewTextItemPipeProperty`](../../../lib/core/card-view/interfaces/card-view-textitem-pipe-property.interface.ts)\[] | \[] | Pipes to be applied to the text before display |
|
| pipes | [`CardViewTextItemPipeProperty`](../../../lib/core/card-view/interfaces/card-view-textitem-pipe-property.interface.ts)\[] | \[] | Pipes to be applied to the text before display |
|
||||||
|
@@ -18,27 +18,28 @@ Render a tab with label:
|
|||||||
```html
|
```html
|
||||||
<adf-info-drawer>
|
<adf-info-drawer>
|
||||||
|
|
||||||
<adf-info-drawer-tab [label]="'Tab1'">
|
<adf-info-drawer-tab label="Tab1">
|
||||||
<div> Tab1 content</div>
|
<div>Tab1 content</div>
|
||||||
</adf-info-drawer-tab>
|
</adf-info-drawer-tab>
|
||||||
|
|
||||||
<adf-info-drawer-tab [label]="'Tab2'">
|
<adf-info-drawer-tab label="Tab2">
|
||||||
<div> Tab2 content</div>
|
<div>Tab2 content</div>
|
||||||
</adf-info-drawer-tab>
|
</adf-info-drawer-tab>
|
||||||
|
|
||||||
</adf-info-drawer>
|
</adf-info-drawer>
|
||||||
```
|
```
|
||||||
|
|
||||||
Render tab with icon instead of labels:
|
Render tab with icons instead of labels:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<adf-info-drawer>
|
<adf-info-drawer>
|
||||||
|
|
||||||
<adf-info-drawer-tab [label]="'Tab1'" icon="comment">
|
<adf-info-drawer-tab icon="comment">
|
||||||
<div> Tab1 content</div>
|
<div>Tab1 content</div>
|
||||||
</adf-info-drawer-tab>
|
</adf-info-drawer-tab>
|
||||||
|
|
||||||
<adf-info-drawer-tab [label]="'Tab2'" icon="people">
|
<adf-info-drawer-tab icon="people">
|
||||||
<div> Tab2 content</div>
|
<div>Tab2 content</div>
|
||||||
</adf-info-drawer-tab>
|
</adf-info-drawer-tab>
|
||||||
|
|
||||||
</adf-info-drawer>
|
</adf-info-drawer>
|
||||||
@@ -46,6 +47,8 @@ Render tab with icon instead of labels:
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
You can also combine `icon` and `label` properties.
|
||||||
|
|
||||||
## Class members
|
## Class members
|
||||||
|
|
||||||
### Properties
|
### Properties
|
||||||
|
@@ -111,8 +111,8 @@ modification dates, etc. Also, the `id` and `parentId` properties contain the no
|
|||||||
ID strings for the current node and its enclosing folder.
|
ID strings for the current node and its enclosing folder.
|
||||||
|
|
||||||
Sometimes, a [`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md) is provided directly, for example, the `folderNode` property
|
Sometimes, a [`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md) is provided directly, for example, the `folderNode` property
|
||||||
of a [Document List component](../../content-services/document-list.component.md) or the data context of a
|
of a [Document List component](../../content-services/components/document-list.component.md) or the data context of a
|
||||||
[Document List row](../../content-services/document-list.component.md#underlying-node-object). In these cases,
|
[Document List row](../../content-services/components/document-list.component.md#underlying-node-object). In these cases,
|
||||||
you might pass the `id` or `parentId` as a [route parameter](https://angular.io/guide/router)
|
you might pass the `id` or `parentId` as a [route parameter](https://angular.io/guide/router)
|
||||||
to a page describing the node in full detail. The component receiving the node ID can
|
to a page describing the node in full detail. The component receiving the node ID can
|
||||||
use the [Nodes Api service](nodes-api.service.md) to "decode" the ID string into a [`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md):
|
use the [Nodes Api service](nodes-api.service.md) to "decode" the ID string into a [`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md):
|
||||||
@@ -188,5 +188,5 @@ pages in the Alfresco JS API for further details and options. Note that you can
|
|||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [Deleted nodes api service](deleted-nodes-api.service.md)
|
- [Deleted nodes api service](deleted-nodes-api.service.md)
|
||||||
- [Document list component](../../content-services/document-list.component.md)
|
- [Document list component](../../content-services/components/document-list.component.md)
|
||||||
- [Node service](node.service.md)
|
- [Node service](node.service.md)
|
||||||
|
11
docs/license-info/README.md
Normal file
11
docs/license-info/README.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
Title: License information
|
||||||
|
Github only: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# License information
|
||||||
|
|
||||||
|
The pages linked below contain the licenses for all third party dependencies of ADF.
|
||||||
|
|
||||||
|
- [ADF v3.1](license-info-v3.1.0.md)
|
||||||
|
- [ADF v3.0](license-info-v3.0.0.md)
|
436
docs/license-info/license-info-v3.1.0.md
Normal file
436
docs/license-info/license-info-v3.1.0.md
Normal file
@@ -0,0 +1,436 @@
|
|||||||
|
---
|
||||||
|
Title: License info, ADF v3.1.0
|
||||||
|
---
|
||||||
|
|
||||||
|
# License information for ADF v3.1.0
|
||||||
|
|
||||||
|
This page lists all third party libraries that ADF v3.1.0 depends on.
|
||||||
|
|
||||||
|
## Libraries
|
||||||
|
|
||||||
|
| Name | Version | License |
|
||||||
|
| -- | -- | -- |
|
||||||
|
| [@alfresco/adf-content-services](https://github.com/Alfresco/alfresco-ng2-components) | 3.1.0-beta5 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [@alfresco/adf-core](https://github.com/Alfresco/alfresco-ng2-components) | 3.1.0-beta5 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [@alfresco/adf-extensions](https://github.com/Alfresco/alfresco-ng2-components) | 3.1.0-beta5 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [@alfresco/adf-insights](https://github.com/Alfresco/alfresco-ng2-components) | 3.1.0-beta5 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [@alfresco/adf-process-services-cloud](https://github.com/Alfresco/alfresco-ng2-components) | 3.1.0-beta5 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [@alfresco/adf-process-services](https://github.com/Alfresco/alfresco-ng2-components) | 3.1.0-beta5 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [@alfresco/adf-testing](https://github.com/Alfresco/alfresco-ng2-components) | 3.1.0-beta5 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [@alfresco/js-api](https://github.com/Alfresco/alfresco-js-api) | 3.1.0-6eec5abc14bb31af3512cba5492f4ba43ffa2fac | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [@angular/animations](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/cdk](https://github.com/angular/material2) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/common](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/compiler](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/core](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/flex-layout](https://github.com/angular/flex-layout) | 7.0.0-beta.23 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/forms](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/http](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/material-moment-adapter](https://github.com/angular/material2) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/material](https://github.com/angular/material2) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/platform-browser](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@angular/router](https://github.com/angular/angular) | 7.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@mat-datetimepicker/core](https://github.com/kuhnroyal/mat-datetimepicker) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@mat-datetimepicker/moment](https://github.com/kuhnroyal/mat-datetimepicker) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@ngx-translate/core](https://github.com/ngx-translate/core) | 11.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/ast](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/floating-point-hex-parser](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/helper-api-error](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/helper-buffer](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/helper-code-frame](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/helper-fsm](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [@webassemblyjs/helper-module-context](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/helper-wasm-bytecode](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/helper-wasm-section](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/ieee754](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/leb128](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/utf8](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/wasm-edit](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/wasm-gen](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/wasm-opt](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/wasm-parser](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/wast-parser](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@webassemblyjs/wast-printer](https://github.com/xtuc/webassemblyjs) | 1.7.11 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [@xtuc/ieee754](https://github.com/feross/ieee754) | 1.2.0 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [@xtuc/long](https://github.com/dcodeIO/long.js) | 4.2.1 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [acorn-dynamic-import](https://github.com/kesne/acorn-dynamic-import) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [acorn](https://github.com/acornjs/acorn) | 6.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [adf-monaco-extension](https://github.com/eromano/aca-monaco-extension) | 0.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [adf-tslint-rules](https://github.com/Alfresco/alfresco-ng2-components) | 0.0.6 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [ajv-errors](https://github.com/epoberezkin/ajv-errors) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [ajv-keywords](https://github.com/epoberezkin/ajv-keywords) | 3.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [ajv](https://github.com/epoberezkin/ajv) | 6.10.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [alfresco-components](https://github.com/Alfresco/alfresco-ng2-components) | 3.1.0-beta5 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [ansi-regex](https://github.com/chalk/ansi-regex) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [ansi-styles](https://github.com/chalk/ansi-styles) | 2.2.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) |
|
||||||
|
| [anymatch](https://github.com/micromatch/anymatch) | 2.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [app-root-path](https://github.com/inxilpro/node-app-root-path) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [app-root-path](https://github.com/inxilpro/node-app-root-path) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [aproba](https://github.com/iarna/aproba) | 1.2.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [argparse](https://github.com/nodeca/argparse) | 1.0.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [arr-diff](https://github.com/jonschlinkert/arr-diff) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [arr-flatten](https://github.com/jonschlinkert/arr-flatten) | 1.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [arr-union](https://github.com/jonschlinkert/arr-union) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [array-unique](https://github.com/jonschlinkert/array-unique) | 0.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [asn1.js](https://github.com/indutny/asn1.js) | 4.10.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [assert](https://github.com/defunctzombie/commonjs-assert) | 1.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [assign-symbols](https://github.com/jonschlinkert/assign-symbols) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [async-each](https://github.com/paulmillr/async-each) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [asynckit](https://github.com/alexindigo/asynckit) | 0.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [atob](git://git.coolaj86.com/coolaj86/atob.js) | 2.1.2 | ([MIT](http://www.opensource.org/licenses/MIT) OR [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)) |
|
||||||
|
| [babel-code-frame](https://github.com/babel/babel/tree/master/packages/babel-code-frame) | 6.26.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [balanced-match](https://github.com/juliangruber/balanced-match) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [base64-js](https://github.com/beatgammit/base64-js) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [base](https://github.com/node-base/base) | 0.11.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [big.js](https://github.com/MikeMcl/big.js) | 5.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [binary-extensions](https://github.com/sindresorhus/binary-extensions) | 1.13.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [bluebird](https://github.com/petkaantonov/bluebird) | 3.5.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [bn.js](https://github.com/indutny/bn.js) | 4.11.8 | [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) | 2.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [brorand](https://github.com/indutny/brorand) | 1.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [browserify-aes](https://github.com/crypto-browserify/browserify-aes) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [browserify-cipher](https://github.com/crypto-browserify/browserify-cipher) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [browserify-des](https://github.com/crypto-browserify/browserify-des) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [browserify-rsa](https://github.com/crypto-browserify/browserify-rsa) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [browserify-sign](https://github.com/crypto-browserify/browserify-sign) | 4.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [browserify-zlib](https://github.com/devongovett/browserify-zlib) | 0.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [buffer-from](https://github.com/LinusU/buffer-from) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [buffer-xor](https://github.com/crypto-browserify/buffer-xor) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [buffer](https://github.com/feross/buffer) | 4.9.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [builtin-modules](https://github.com/sindresorhus/builtin-modules) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [builtin-status-codes](https://github.com/bendrucker/builtin-status-codes) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [cacache](https://github.com/zkat/cacache) | 11.3.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [cache-base](https://github.com/jonschlinkert/cache-base) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [chalk](https://github.com/chalk/chalk) | 1.1.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [chalk](https://github.com/chalk/chalk) | 2.4.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [chart.js](https://github.com/chartjs/Chart.js) | 2.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [chart.js](https://github.com/chartjs/Chart.js) | 2.8.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [chartjs-color-string](https://github.com/chartjs/chartjs-color-string) | 0.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [chartjs-color](https://github.com/chartjs/chartjs-color) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [chokidar](https://github.com/paulmillr/chokidar) | 2.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [chownr](https://github.com/isaacs/chownr) | 1.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [chrome-trace-event](github.com:samccone/chrome-trace-event) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [cipher-base](https://github.com/crypto-browserify/cipher-base) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [class-utils](https://github.com/jonschlinkert/class-utils) | 0.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [classlist.js](https://github.com/eligrey/classList.js) | 1.1.20150312 | [Public Domain](https://opendatacommons.org/licenses/pddl/1-0/index.html) |
|
||||||
|
| [codelyzer](https://github.com/mgechev/codelyzer) | 4.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [collection-visit](https://github.com/jonschlinkert/collection-visit) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [color-convert](https://github.com/harthur/color-convert) | 0.5.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [color-convert](https://github.com/Qix-/color-convert) | 1.9.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [color-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.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [commander](https://github.com/tj/commander.js) | 2.19.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [commondir](https://github.com/substack/node-commondir) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [component-emitter](https://github.com/component/emitter) | 1.2.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) |
|
||||||
|
| [concat-stream](https://github.com/maxogden/concat-stream) | 1.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [console-browserify](https://github.com/Raynos/console-browserify) | 1.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [constants-browserify](https://github.com/juliangruber/constants-browserify) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [cookiejar](https://github.com/bmeck/node-cookiejar) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [copy-concurrently](https://github.com/npm/copy-concurrently) | 1.0.5 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [copy-descriptor](https://github.com/jonschlinkert/copy-descriptor) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [core-js](https://github.com/zloirock/core-js) | 2.6.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [core-util-is](https://github.com/isaacs/core-util-is) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [create-ecdh](https://github.com/crypto-browserify/createECDH) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [create-hash](https://github.com/crypto-browserify/createHash) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [create-hmac](https://github.com/crypto-browserify/createHmac) | 1.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [crypto-browserify](https://github.com/crypto-browserify/crypto-browserify) | 3.12.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [css-selector-tokenizer](https://github.com/css-modules/css-selector-tokenizer) | 0.7.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [cssauron](https://github.com/chrisdickinson/cssauron) | 1.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [cssesc](https://github.com/mathiasbynens/cssesc) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [custom-event-polyfill](https://github.com/krambuhl/custom-event-polyfill) | 0.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [cyclist](https://github.com/mafintosh/cyclist) | 0.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [d](https://github.com/medikoo/d) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [d](https://github.com/medikoo/d) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [date-now](https://github.com/Colingo/date-now) | 0.1.4 | [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/visionmedia/debug) | 3.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) | 0.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [define-property](https://github.com/jonschlinkert/define-property) | 0.2.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [define-property](https://github.com/jonschlinkert/define-property) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [define-property](https://github.com/jonschlinkert/define-property) | 2.0.2 | [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) |
|
||||||
|
| [des.js](https://github.com/indutny/des.js) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [diff](https://github.com/kpdecker/jsdiff) | 3.5.0 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [diffie-hellman](https://github.com/crypto-browserify/diffie-hellman) | 5.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [domain-browser](https://github.com/bevry/domain-browser) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [duplexify](https://github.com/mafintosh/duplexify) | 3.7.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [elliptic](https://github.com/indutny/elliptic) | 6.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [emoji-regex](https://github.com/mathiasbynens/emoji-regex) | 6.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [emojis-list](https://github.com/kikobeats/emojis-list) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [end-of-stream](https://github.com/mafintosh/end-of-stream) | 1.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [enhanced-resolve](https://github.com/webpack/enhanced-resolve) | 4.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [errno](https://github.com/rvagg/node-errno) | 0.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [es5-ext](https://github.com/medikoo/es5-ext) | 0.10.49 | [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.1 | [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) |
|
||||||
|
| [eslint-scope](https://github.com/eslint/eslint-scope) | 4.0.3 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [esprima](https://github.com/jquery/esprima) | 4.0.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [esrecurse](https://github.com/estools/esrecurse) | 4.2.1 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [estraverse](https://github.com/estools/estraverse) | 4.2.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [esutils](https://github.com/estools/esutils) | 2.0.2 | [BSD](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [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.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [events](https://github.com/Gozala/events) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [evp_bytestokey](https://github.com/crypto-browserify/EVP_BytesToKey) | 1.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [expand-brackets](https://github.com/jonschlinkert/expand-brackets) | 2.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [extend-shallow](https://github.com/jonschlinkert/extend-shallow) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [extend-shallow](https://github.com/jonschlinkert/extend-shallow) | 3.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [extend](https://github.com/justmoon/node-extend) | 2.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [extend](https://github.com/justmoon/node-extend) | 3.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [extglob](https://github.com/micromatch/extglob) | 2.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [fast-deep-equal](https://github.com/epoberezkin/fast-deep-equal) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [fastparse](https://github.com/webpack/fastparse) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [figgy-pudding](https://github.com/zkat/figgy-pudding) | 3.5.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [fill-range](https://github.com/jonschlinkert/fill-range) | 4.0.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) |
|
||||||
|
| [flush-write-stream](https://github.com/mafintosh/flush-write-stream) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [for-in](https://github.com/jonschlinkert/for-in) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [form-data](https://github.com/form-data/form-data) | 2.3.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [formidable](https://github.com/felixge/node-formidable) | 1.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [fragment-cache](https://github.com/jonschlinkert/fragment-cache) | 0.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [from2](https://github.com/hughsk/from2) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [fs-write-stream-atomic](https://github.com/npm/fs-write-stream-atomic) | 1.0.10 | [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/) |
|
||||||
|
| [get-value](https://github.com/jonschlinkert/get-value) | 2.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [github-slugger](https://github.com/Flet/github-slugger) | 1.2.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [glob-parent](https://github.com/es128/glob-parent) | 3.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [glob](https://github.com/isaacs/node-glob) | 7.1.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [graceful-fs](https://github.com/isaacs/node-graceful-fs) | 4.1.15 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [hammerjs](https://github.com/hammerjs/hammer.js) | 2.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [has-ansi](https://github.com/sindresorhus/has-ansi) | 2.0.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-value](https://github.com/jonschlinkert/has-value) | 0.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [has-value](https://github.com/jonschlinkert/has-value) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [has-values](https://github.com/jonschlinkert/has-values) | 0.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [has-values](https://github.com/jonschlinkert/has-values) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [hash-base](https://github.com/crypto-browserify/hash-base) | 3.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [hash.js](https://github.com/indutny/hash.js) | 1.1.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [hmac-drbg](https://github.com/indutny/hmac-drbg) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [hosted-git-info](https://github.com/npm/hosted-git-info) | 2.7.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [https-browserify](https://github.com/substack/https-browserify) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [ieee754](https://github.com/feross/ieee754) | 1.1.12 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [iferr](https://github.com/shesek/iferr) | 0.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [imurmurhash](https://github.com/jensyt/imurmurhash-js) | 0.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [indexof](https://github.com/component/indexof) | 0.0.1 | [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.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [inherits](https://github.com/isaacs/inherits) | 2.0.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [is-accessor-descriptor](https://github.com/jonschlinkert/is-accessor-descriptor) | 0.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-accessor-descriptor](https://github.com/jonschlinkert/is-accessor-descriptor) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-binary-path](https://github.com/sindresorhus/is-binary-path) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-buffer](https://github.com/feross/is-buffer) | 1.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-data-descriptor](https://github.com/jonschlinkert/is-data-descriptor) | 0.1.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-data-descriptor](https://github.com/jonschlinkert/is-data-descriptor) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-descriptor](https://github.com/jonschlinkert/is-descriptor) | 0.1.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-descriptor](https://github.com/jonschlinkert/is-descriptor) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-extendable](https://github.com/jonschlinkert/is-extendable) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-extendable](https://github.com/jonschlinkert/is-extendable) | 1.0.1 | [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-glob](https://github.com/jonschlinkert/is-glob) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-glob](https://github.com/jonschlinkert/is-glob) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [is-number](https://github.com/jonschlinkert/is-number) | 3.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-windows](https://github.com/jonschlinkert/is-windows) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [isarray](https://github.com/juliangruber/isarray) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [isobject](https://github.com/jonschlinkert/isobject) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [isobject](https://github.com/jonschlinkert/isobject) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [js-tokens](https://github.com/lydell/js-tokens) | 3.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [js-yaml](https://github.com/nodeca/js-yaml) | 3.12.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [jsesc](https://github.com/mathiasbynens/jsesc) | 0.5.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [json-parse-better-errors](https://github.com/zkat/json-parse-better-errors) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [json-schema-traverse](https://github.com/epoberezkin/json-schema-traverse) | 0.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [json5](https://github.com/json5/json5) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [kind-of](https://github.com/jonschlinkert/kind-of) | 3.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [kind-of](https://github.com/jonschlinkert/kind-of) | 4.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [kind-of](https://github.com/jonschlinkert/kind-of) | 5.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [kind-of](https://github.com/jonschlinkert/kind-of) | 6.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [levenshtein-edit-distance](https://github.com/wooorm/levenshtein-edit-distance) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [loader-runner](https://github.com/webpack/loader-runner) | 2.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [loader-utils](https://github.com/webpack/loader-utils) | 1.2.3 | [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) |
|
||||||
|
| [lodash.debounce](https://github.com/lodash/lodash) | 4.0.8 | [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/) |
|
||||||
|
| [make-dir](https://github.com/sindresorhus/make-dir) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [map-cache](https://github.com/jonschlinkert/map-cache) | 0.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [map-visit](https://github.com/jonschlinkert/map-visit) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [md5.js](https://github.com/crypto-browserify/md5.js) | 1.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [mdast-util-definitions](https://github.com/syntax-tree/mdast-util-definitions) | 1.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [mdast-util-to-string](https://github.com/syntax-tree/mdast-util-to-string) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [memory-fs](https://github.com/webpack/memory-fs) | 0.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) | 3.1.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [miller-rabin](https://github.com/indutny/miller-rabin) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [mime-db](https://github.com/jshttp/mime-db) | 1.38.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [mime-types](https://github.com/jshttp/mime-types) | 2.1.22 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [mime](https://github.com/broofa/node-mime) | 1.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [minimalistic-assert](https://github.com/calvinmetcalf/minimalistic-assert) | 1.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [minimalistic-crypto-utils](https://github.com/indutny/minimalistic-crypto-utils) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [minimatch-browser](https://github.com/isaacs/minimatch) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [minimatch](https://github.com/isaacs/minimatch) | 3.0.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [minimist](https://github.com/substack/minimist) | 0.0.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [minimist](https://github.com/substack/minimist) | 1.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [mississippi](https://github.com/maxogden/mississippi) | 3.0.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [mixin-deep](https://github.com/jonschlinkert/mixin-deep) | 1.3.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [mkdirp](https://github.com/substack/node-mkdirp) | 0.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [moment-es6](https://github.com/Agamnentzar/moment-es6) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [moment](https://github.com/moment/moment) | 2.22.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [move-concurrently](https://github.com/npm/move-concurrently) | 1.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [ms](https://github.com/zeit/ms) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [ms](https://github.com/zeit/ms) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [nanomatch](https://github.com/micromatch/nanomatch) | 1.2.13 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [neo-async](https://github.com/suguru03/neo-async) | 2.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [next-tick](https://github.com/medikoo/next-tick) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [ng2-charts](https://github.com/valor-software/ng2-charts) | 1.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [ngx-monaco-editor](https://github.com/atularen/ngx-monaco-editor) | 6.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [node-ensure](https://github.com/bauerca/node-ensure) | 0.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [node-libs-browser](https://github.com/webpack/node-libs-browser) | 2.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [normalize-path](https://github.com/jonschlinkert/normalize-path) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [object-copy](https://github.com/jonschlinkert/object-copy) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [object-visit](https://github.com/jonschlinkert/object-visit) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [object.pick](https://github.com/jonschlinkert/object.pick) | 1.3.0 | [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/) |
|
||||||
|
| [os-browserify](https://github.com/CoderPuppy/os-browserify) | 0.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [p-limit](https://github.com/sindresorhus/p-limit) | 2.2.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-try](https://github.com/sindresorhus/p-try) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [pako](https://github.com/nodeca/pako) | 1.0.10 | ([MIT](http://www.opensource.org/licenses/MIT) AND [Zlib](http://www.zlib.net/zlib_license.html)) |
|
||||||
|
| [parallel-transform](https://github.com/mafintosh/parallel-transform) | 1.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [parse-asn1](https://github.com/crypto-browserify/parse-asn1) | 5.1.4 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [parse5](https://github.com/inikulin/parse5) | 5.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [pascalcase](https://github.com/jonschlinkert/pascalcase) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [path-browserify](https://github.com/substack/path-browserify) | 0.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [path-dirname](https://github.com/es128/path-dirname) | 1.0.2 | [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-is-absolute](https://github.com/sindresorhus/path-is-absolute) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [path-parse](https://github.com/jbgutierrez/path-parse) | 1.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [pbkdf2](https://github.com/crypto-browserify/pbkdf2) | 3.0.17 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [pdfjs-dist](https://github.com/mozilla/pdfjs-dist) | 2.0.943 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [pify](https://github.com/sindresorhus/pify) | 4.0.1 | [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) |
|
||||||
|
| [posix-character-classes](https://github.com/jonschlinkert/posix-character-classes) | 0.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [process-nextick-args](https://github.com/calvinmetcalf/process-nextick-args) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [process](https://github.com/shtylman/node-process) | 0.11.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [promise-inflight](https://github.com/iarna/promise-inflight) | 1.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [propose](https://github.com/liushuping/propose) | 0.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [prr](https://github.com/rvagg/prr) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [public-encrypt](https://github.com/crypto-browserify/publicEncrypt) | 4.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [pump](https://github.com/mafintosh/pump) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [pump](https://github.com/mafintosh/pump) | 3.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [pumpify](https://github.com/mafintosh/pumpify) | 1.5.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [punycode](https://github.com/bestiejs/punycode.js) | 1.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [punycode](https://github.com/bestiejs/punycode.js) | 1.4.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [punycode](https://github.com/bestiejs/punycode.js) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [qs](https://github.com/ljharb/qs) | 6.6.0 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [querystring-es3](https://github.com/mike-spainhower/querystring) | 0.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [querystring](https://github.com/Gozala/querystring) | 0.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [randombytes](https://github.com/crypto-browserify/randombytes) | 2.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [randomfill](https://github.com/crypto-browserify/randomfill) | 1.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [raphael](https://github.com/DmitryBaranovskiy/raphael) | 2.2.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [readable-stream](https://github.com/nodejs/readable-stream) | 2.3.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [readdirp](https://github.com/paulmillr/readdirp) | 2.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [reflect-metadata](https://github.com/rbuckton/reflect-metadata) | 0.1.13 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [regenerate](https://github.com/mathiasbynens/regenerate) | 1.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [regex-not](https://github.com/jonschlinkert/regex-not) | 1.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [regexpu-core](https://github.com/mathiasbynens/regexpu-core) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [regjsgen](https://github.com/d10/regjsgen) | 0.2.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [regjsparser](https://github.com/jviereck/regjsparser) | 0.1.5 | [BSD](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [remark-validate-links](https://github.com/remarkjs/remark-validate-links) | 8.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [remove-trailing-separator](https://github.com/darsain/remove-trailing-separator) | 1.1.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [repeat-element](https://github.com/jonschlinkert/repeat-element) | 1.1.3 | [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-url](https://github.com/lydell/resolve-url) | 0.2.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [resolve](https://github.com/browserify/resolve) | 1.10.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [ret](https://github.com/fent/ret.js) | 0.1.15 | [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/) |
|
||||||
|
| [ripemd160](https://github.com/crypto-browserify/ripemd160) | 2.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [run-queue](https://github.com/iarna/run-queue) | 1.0.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [rxjs](https://github.com/reactivex/rxjs) | 6.4.0 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [safe-buffer](https://github.com/feross/safe-buffer) | 5.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [safe-regex](https://github.com/substack/safe-regex) | 1.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [schema-utils](https://github.com/webpack-contrib/schema-utils) | 0.4.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [schema-utils](https://github.com/webpack-contrib/schema-utils) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [semver-dsl](https://github.com/mgechev/semver-dsl) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [semver](https://github.com/npm/node-semver) | 5.6.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [serialize-javascript](https://github.com/yahoo/serialize-javascript) | 1.6.1 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [set-value](https://github.com/jonschlinkert/set-value) | 0.4.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [set-value](https://github.com/jonschlinkert/set-value) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [setimmediate](https://github.com/YuzuJS/setImmediate) | 1.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [sha.js](https://github.com/crypto-browserify/sha.js) | 2.4.11 | ([MIT](http://www.opensource.org/licenses/MIT) AND [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause)) |
|
||||||
|
| [snapdragon-node](https://github.com/jonschlinkert/snapdragon-node) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [snapdragon-util](https://github.com/jonschlinkert/snapdragon-util) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [snapdragon](https://github.com/jonschlinkert/snapdragon) | 0.8.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [source-list-map](https://github.com/webpack/source-list-map) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [source-map-resolve](https://github.com/lydell/source-map-resolve) | 0.5.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [source-map-support](https://github.com/evanw/node-source-map-support) | 0.5.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [source-map-url](https://github.com/lydell/source-map-url) | 0.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [source-map](https://github.com/mozilla/source-map) | 0.5.6 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [source-map](https://github.com/mozilla/source-map) | 0.5.7 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [source-map](https://github.com/mozilla/source-map) | 0.6.1 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [split-string](https://github.com/jonschlinkert/split-string) | 3.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [sprintf-js](https://github.com/alexei/sprintf.js) | 1.0.3 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [sprintf-js](https://github.com/alexei/sprintf.js) | 1.1.2 | [BSD-3-Clause](http://www.opensource.org/licenses/BSD-3-Clause) |
|
||||||
|
| [ssri](https://github.com/zkat/ssri) | 6.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [static-extend](https://github.com/jonschlinkert/static-extend) | 0.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [stream-browserify](https://github.com/browserify/stream-browserify) | 2.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [stream-each](https://github.com/mafintosh/stream-each) | 1.2.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [stream-http](https://github.com/jhiesey/stream-http) | 2.8.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [stream-shift](https://github.com/mafintosh/stream-shift) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [string_decoder](https://github.com/nodejs/string_decoder) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [strip-ansi](https://github.com/chalk/strip-ansi) | 3.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [superagent](https://github.com/visionmedia/superagent) | 3.8.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [supports-color](https://github.com/chalk/supports-color) | 2.0.0 | [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) |
|
||||||
|
| [systemjs](https://github.com/systemjs/systemjs) | 0.19.27 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [tapable](https://github.com/webpack/tapable) | 1.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) | 1.2.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [terser](https://github.com/fabiosantoscode/terser) | 3.17.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [through2](https://github.com/rvagg/through2) | 2.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [through](https://github.com/dominictarr/through) | 2.3.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [timers-browserify](https://github.com/jryans/timers-browserify) | 2.0.10 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [to-arraybuffer](https://github.com/jhiesey/to-arraybuffer) | 1.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [to-object-path](https://github.com/jonschlinkert/to-object-path) | 0.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [to-regex-range](https://github.com/micromatch/to-regex-range) | 2.1.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [to-regex](https://github.com/jonschlinkert/to-regex) | 3.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [tslib](https://github.com/Microsoft/tslib) | 1.9.3 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [tslint](https://github.com/palantir/tslint) | 5.9.1 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [tsutils](https://github.com/ajafff/tsutils) | 2.29.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [tty-browserify](https://github.com/substack/tty-browserify) | 0.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [typedarray](https://github.com/substack/typedarray) | 0.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [typescript](https://github.com/Microsoft/TypeScript) | 3.1.6 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [union-value](https://github.com/jonschlinkert/union-value) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [unique-filename](https://github.com/iarna/unique-filename) | 1.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [unique-slug](https://github.com/iarna/unique-slug) | 2.0.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [unist-util-is](https://github.com/syntax-tree/unist-util-is) | 2.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [unist-util-visit-parents](https://github.com/syntax-tree/unist-util-visit-parents) | 2.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [unist-util-visit](https://github.com/syntax-tree/unist-util-visit) | 1.4.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [unset-value](https://github.com/jonschlinkert/unset-value) | 1.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [upath](https://github.com/anodynos/upath) | 1.1.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [uri-js](https://github.com/garycourt/uri-js) | 4.2.2 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||||
|
| [urix](https://github.com/lydell/urix) | 0.1.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [url](https://github.com/defunctzombie/node-url) | 0.11.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [urljoin](https://github.com/yanni4night/urljoin) | 0.1.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [use](https://github.com/jonschlinkert/use) | 3.1.1 | [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/defunctzombie/node-util) | 0.10.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [util](https://github.com/defunctzombie/node-util) | 0.11.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [vm-browserify](https://github.com/substack/vm-browserify) | 0.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [watchpack](https://github.com/webpack/watchpack) | 1.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [web-animations-js](https://github.com/web-animations/web-animations-js) | 2.3.1 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||||
|
| [webpack-sources](https://github.com/webpack/webpack-sources) | 1.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [webpack](https://github.com/webpack/webpack) | 4.29.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [when](https://github.com/cujojs/when) | 3.7.8 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [worker-farm](https://github.com/rvagg/node-worker-farm) | 1.6.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [worker-loader](https://github.com/webpack-contrib/worker-loader) | 2.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [wrappy](https://github.com/npm/wrappy) | 1.0.2 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [xtend](https://github.com/Raynos/xtend) | 4.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||||
|
| [y18n](https://github.com/yargs/y18n) | 4.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [yallist](https://github.com/isaacs/yallist) | 3.0.3 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||||
|
| [zone.js](https://github.com/angular/zone.js) | 0.8.29 | [MIT](http://www.opensource.org/licenses/MIT) |
|
@@ -2,7 +2,7 @@
|
|||||||
Title: Edit Process Filter Cloud component
|
Title: Edit Process Filter Cloud component
|
||||||
Added: v3.0.0
|
Added: v3.0.0
|
||||||
Status: Experimental
|
Status: Experimental
|
||||||
Last reviewed: 2019-03-26
|
Last reviewed: 2019-03-27
|
||||||
---
|
---
|
||||||
|
|
||||||
# [Edit Process Filter Cloud component](../../../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts "Defined in edit-process-filter-cloud.component.ts")
|
# [Edit Process Filter Cloud component](../../../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts "Defined in edit-process-filter-cloud.component.ts")
|
||||||
@@ -30,7 +30,7 @@ Shows/edits process filter details.
|
|||||||
<adf-cloud-edit-process-filter
|
<adf-cloud-edit-process-filter
|
||||||
[id]="processFilterId"
|
[id]="processFilterId"
|
||||||
[appName]="appName"
|
[appName]="appName"
|
||||||
[filterProperties]="filterProperties"s
|
[filterProperties]="filterProperties"
|
||||||
(filterChange)="onFilterChange($event)"
|
(filterChange)="onFilterChange($event)"
|
||||||
(action)="onAction($event)">
|
(action)="onAction($event)">
|
||||||
</adf-cloud-edit-process-filter>
|
</adf-cloud-edit-process-filter>
|
||||||
@@ -124,9 +124,10 @@ With this configuration, only the four listed properties will be shown.
|
|||||||
|
|
||||||
### Sort properties
|
### Sort properties
|
||||||
|
|
||||||
You can supply a list of _sort properties_ to sort the processes. Any of the
|
You can supply a list of _sort properties_ to sort the processes. You can use
|
||||||
[filter properties](#filter-properties) listed above can also be used as
|
any of the [filter properties](#filter-properties) listed above as
|
||||||
sort properties.
|
sort properties and you can also use the process **_id_** and **_startDate_**
|
||||||
|
properties and use **_name_** as a shorthand for **_processName_**.
|
||||||
|
|
||||||
By default, the **_id_**, **_name_**, **_status_** and **_startDate_** properties are
|
By default, the **_id_**, **_name_**, **_status_** and **_startDate_** properties are
|
||||||
displayed in the editor. However, you can also choose which sort properties
|
displayed in the editor. However, you can also choose which sort properties
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
Title: Edit Task Filter Cloud component
|
Title: Edit Task Filter Cloud component
|
||||||
Added: v3.0.0
|
Added: v3.0.0
|
||||||
Status: Experimental
|
Status: Experimental
|
||||||
Last reviewed: 2019-03-26
|
Last reviewed: 2019-03-27
|
||||||
---
|
---
|
||||||
|
|
||||||
# [Edit Task Filter Cloud component](../../../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts "Defined in edit-task-filter-cloud.component.ts")
|
# [Edit Task Filter Cloud component](../../../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts "Defined in edit-task-filter-cloud.component.ts")
|
||||||
@@ -124,9 +124,10 @@ With this configuration, only the four listed properties will be shown.
|
|||||||
|
|
||||||
### Sort properties
|
### Sort properties
|
||||||
|
|
||||||
You can supply a list of _sort properties_ to sort the tasks. Any of the
|
You can supply a list of _sort properties_ to sort the tasks. You can use
|
||||||
[filter properties](#filter-properties) listed above can also be used as
|
any of the [filter properties](#filter-properties) listed above as
|
||||||
sort properties.
|
sort properties and you can also use the task **_id_** property and
|
||||||
|
use **_name_** as a shorthand for **_taskName_**.
|
||||||
|
|
||||||
By default, the **_id_**, **_name_**, **_createdDate_** and **_priority_** properties are
|
By default, the **_id_**, **_name_**, **_createdDate_** and **_priority_** properties are
|
||||||
displayed in the editor. However, you can also choose which sort properties
|
displayed in the editor. However, you can also choose which sort properties
|
||||||
|
@@ -2,10 +2,10 @@
|
|||||||
Title: Task Cloud Service
|
Title: Task Cloud Service
|
||||||
Added: v3.1.0
|
Added: v3.1.0
|
||||||
Status: Experimental
|
Status: Experimental
|
||||||
Last reviewed: 2019-03-19
|
Last reviewed: 2019-03-29
|
||||||
---
|
---
|
||||||
|
|
||||||
# [Task Cloud Service](../../../lib/process-services-cloud/src/lib/task/task-header/services/task-cloud.service.ts "Defined in task-cloud.service.ts")
|
# [Task Cloud Service](../../../lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts "Defined in task-cloud.service.ts")
|
||||||
|
|
||||||
Manages task cloud.
|
Manages task cloud.
|
||||||
|
|
||||||
@@ -13,45 +13,45 @@ Manages task cloud.
|
|||||||
|
|
||||||
### Methods
|
### Methods
|
||||||
|
|
||||||
|
- **canClaimTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||||
|
Validate if a task can be claimed.
|
||||||
|
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - task details object
|
||||||
|
- **Returns** `boolean` - Boolean value if the task can be completed
|
||||||
- **canCompleteTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
- **canCompleteTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||||
Validate if a task can be completed.
|
Validate if a task can be completed.
|
||||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - task details object
|
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - task details object
|
||||||
- **Returns** `boolean` - Boolean value if the task can be completed
|
- **Returns** `boolean` - Boolean value if the task can be completed
|
||||||
- **completeTask**(appName: `string`, taskId: `string`)<br/>
|
- **canUnclaimTask**(taskDetails: [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)): `boolean`<br/>
|
||||||
Complete a task
|
|
||||||
- _appName:_ `string` - Name of the app
|
|
||||||
- _taskId:_ `string` - ID of the task to complete
|
|
||||||
- **Returns** [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - Details of the task that was completed
|
|
||||||
- **canClaimTask**(taskDetails: [`TaskDetailsCloudModel`](../../lib/process-services-cloud/src/lib/task/start-filters/models/task-details-cloud.model.ts))<br/>
|
|
||||||
Validate if a task can be claimed.
|
|
||||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../lib/process-services-cloud/src/lib/task/start-filters/models/task-details-cloud.model.ts) - Task details object
|
|
||||||
- **Returns** `boolean` - Boolean value if the task can be claimed
|
|
||||||
- **canUnclaimTask**(taskDetails: [`TaskDetailsCloudModel`](../../lib/process-services-cloud/src/lib/task/start-filters/models/task-details-cloud.model.ts))<br/>
|
|
||||||
Validate if a task can be unclaimed.
|
Validate if a task can be unclaimed.
|
||||||
- _taskDetails:_ [`TaskDetailsCloudModel`](../../lib/process-services-cloud/src/lib/task/start-filters/models/task-details-cloud.model.ts) - Task details object
|
- _taskDetails:_ [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - task details object
|
||||||
- **Returns** `boolean` - Boolean value if the task can be unclaimed
|
- **Returns** `boolean` - Boolean value if the task can be completed
|
||||||
- **claimTask**(appName: `string`, taskId: `string`, assignee: `string`): `any`<br/>
|
- **claimTask**(appName: `string`, taskId: `string`, assignee: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||||
Claims a task for an assignee.
|
Claims a task for an assignee.
|
||||||
- _appName:_ `string` - Name of the app
|
- _appName:_ `string` - Name of the app
|
||||||
- _taskId:_ `string` - ID of the task to claim
|
- _taskId:_ `string` - ID of the task to claim
|
||||||
- _assignee:_ `string` - User to assign the task to
|
- _assignee:_ `string` - User to assign the task to
|
||||||
- **Returns** [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - Details of the claimed task
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the claimed task
|
||||||
- **unclaimTask**(appName: `string`, taskId: `string`): `any`<br/>
|
- **completeTask**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||||
Un-claims a task.
|
Complete a task.
|
||||||
- _appName:_ `string` - Name of the app
|
- _appName:_ `string` - Name of the app
|
||||||
- _taskId:_ `string` - ID of the task to unclaim
|
- _taskId:_ `string` - ID of the task to complete
|
||||||
- **Returns** [`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts) - Details of the task that was unclaimed
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the task that was completed
|
||||||
- **getTaskById**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
- **getTaskById**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||||
Gets details of a task.
|
Gets details of a task.
|
||||||
- _appName:_ `string` - Name of the app
|
- _appName:_ `string` - Name of the app
|
||||||
- _taskId:_ `string` - ID of the task whose details you want
|
- _taskId:_ `string` - ID of the task whose details you want
|
||||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Task details
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Task details
|
||||||
- **updateTask**(appName: `string`, taskId: `string`, updatePayload: `any`): `any`<br/>
|
- **unclaimTask**(appName: `string`, taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||||
|
Un-claims a task.
|
||||||
|
- _appName:_ `string` - Name of the app
|
||||||
|
- _taskId:_ `string` - ID of the task to unclaim
|
||||||
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Details of the task that was unclaimed
|
||||||
|
- **updateTask**(appName: `string`, taskId: `string`, updatePayload: `any`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>`<br/>
|
||||||
Updates the details (name, description, due date) for a task.
|
Updates the details (name, description, due date) for a task.
|
||||||
- _appName:_ `string` - Name of the app
|
- _appName:_ `string` - Name of the app
|
||||||
- _taskId:_ `string` - ID of the task to update
|
- _taskId:_ `string` - ID of the task to update
|
||||||
- _updatePayload:_ `any` - Data to update the task
|
- _updatePayload:_ `any` - Data to update the task
|
||||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Updated task details
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsCloudModel`](../../../lib/process-services-cloud/src/lib/task/start-task/models/task-details-cloud.model.ts)`>` - Updated task details
|
||||||
|
|
||||||
## Details
|
## Details
|
||||||
|
|
||||||
|
@@ -9,6 +9,7 @@ The first **General available** release was v2.0.0.
|
|||||||
|
|
||||||
## General available
|
## General available
|
||||||
|
|
||||||
|
- [3.1.0](RelNote310.md)
|
||||||
- [3.0.0](RelNote300.md)
|
- [3.0.0](RelNote300.md)
|
||||||
- [2.6.0](RelNote260.md)
|
- [2.6.0](RelNote260.md)
|
||||||
- [2.5.0](RelNote250.md)
|
- [2.5.0](RelNote250.md)
|
||||||
|
@@ -21,16 +21,21 @@ If you want to be updated on the [ADF roadmap](../roadmap.md), check the public
|
|||||||
- [Single Sign On enhancement](#single-sign-on-enhancement)
|
- [Single Sign On enhancement](#single-sign-on-enhancement)
|
||||||
- [JS-API in Typescript](#js-api-in-typescript)
|
- [JS-API in Typescript](#js-api-in-typescript)
|
||||||
- [Angular 7](#angular-7)
|
- [Angular 7](#angular-7)
|
||||||
|
- [Create library Component](#create-library-component)
|
||||||
|
- [Tree view component](#tree-view-component)
|
||||||
- [Deprecation removal](#deprecation-removal)
|
- [Deprecation removal](#deprecation-removal)
|
||||||
- [Activiti 7 support](#activiti-7-support-experimental)
|
- [Activiti 7 support (Experimental)](#activiti-7-support-experimental)
|
||||||
- [Icon Component](#icon-component)
|
|
||||||
- [Localization](#localization)
|
- [Localization](#localization)
|
||||||
- [References](#references)
|
- [References](#references)
|
||||||
|
- [Icon Component](#icon-component)
|
||||||
- [Issues addressed](#issues-addressed)
|
- [Issues addressed](#issues-addressed)
|
||||||
- [Documentation](#documentation)
|
- [Documentation](#documentation)
|
||||||
- [Feature](#feature)
|
- [Feature](#feature)
|
||||||
|
- [Epic](#epic)
|
||||||
|
- [Story](#story)
|
||||||
- [Bug](#bug)
|
- [Bug](#bug)
|
||||||
- [Task](#task)
|
- [Task](#task)
|
||||||
|
- [Feature Documentation](#feature-documentation)
|
||||||
- [Feature Bug](#feature-bug)
|
- [Feature Bug](#feature-bug)
|
||||||
- [Feature (Task)](#feature-task)
|
- [Feature (Task)](#feature-task)
|
||||||
|
|
||||||
@@ -121,7 +126,7 @@ This rewrite has been necessary to make the JS-API lighter and faster with the
|
|||||||
|
|
||||||
Note that the following old package names have been deprecated: **alfresco-js-api**, **alfresco-js-api-node**.
|
Note that the following old package names have been deprecated: **alfresco-js-api**, **alfresco-js-api-node**.
|
||||||
|
|
||||||
The Node and Browser version are now both in: **_@alfresco/js-api_**
|
The [`Node`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) and Browser version are now both in: **_@alfresco/js-api_**
|
||||||
Refer to the official [Alfresco JS-API documenation](https://github.com/Alfresco/alfresco-js-api) to learn more about this.
|
Refer to the official [Alfresco JS-API documenation](https://github.com/Alfresco/alfresco-js-api) to learn more about this.
|
||||||
|
|
||||||
### Angular 7
|
### Angular 7
|
||||||
@@ -144,7 +149,7 @@ You can now create a new Content Services document library/site with the Create
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
Shows the folder and subfolders of a node as a tree view. For more information about the Tree View component, see the [component documentation](../content-services/components/tree-view.component.md)
|
Shows the folder and subfolders of a node as a tree view. For more information about the [Tree View component,](../content-services/components/tree-view.component.md) see the [component documentation](../content-services/components/tree-view.component.md)
|
||||||
|
|
||||||
#### Basic Usage
|
#### Basic Usage
|
||||||
|
|
||||||
@@ -201,7 +206,7 @@ links to documentation and source code:
|
|||||||
| [Start process cloud service](../process-services-cloud/services/start-process-cloud.service.md)  | Gets process definitions and starts processes. | [Source](../../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
|
| [Start process cloud service](../process-services-cloud/services/start-process-cloud.service.md)  | Gets process definitions and starts processes. | [Source](../../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
|
||||||
| [Start task cloud service](../process-services-cloud/services/start-task-cloud.service.md)  | Starts standalone tasks. | [Source](../../lib/process-services-cloud/src/lib/task/start-task/services/start-task-cloud.service.ts) |
|
| [Start task cloud service](../process-services-cloud/services/start-task-cloud.service.md)  | Starts standalone tasks. | [Source](../../lib/process-services-cloud/src/lib/task/start-task/services/start-task-cloud.service.ts) |
|
||||||
| [Task filter cloud service](../process-services-cloud/services/task-filter-cloud.service.md)  | Manages task filters. | [Source](../../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
|
| [Task filter cloud service](../process-services-cloud/services/task-filter-cloud.service.md)  | Manages task filters. | [Source](../../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
|
||||||
| [Task cloud service](../process-services-cloud/services/task-cloud.service.md)  | Manages cloud tasks. | [Source](../../lib/process-services-cloud/src/lib/task/task-header/services/task-cloud.service.ts) |
|
| [Task cloud service](../process-services-cloud/services/task-cloud.service.md)  | Manages cloud tasks. | [Source](../../lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts) |
|
||||||
| [Task list cloud service](../process-services-cloud/services/task-list-cloud.service.md)  | Searches tasks. | [Source](../../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
|
| [Task list cloud service](../process-services-cloud/services/task-list-cloud.service.md)  | Searches tasks. | [Source](../../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
|
||||||
|
|
||||||
<!--process-services-cloud end-->
|
<!--process-services-cloud end-->
|
||||||
@@ -226,7 +231,7 @@ Please refer to the [official documentation](http://docs.alfresco.com/) for furt
|
|||||||
|
|
||||||
### Icon Component
|
### Icon Component
|
||||||
|
|
||||||
Universal icon component that supports Material Ligatures and custom registered SVG icons in the same format.
|
Universal [icon component](../core/components/icon.component.md) that supports Material Ligatures and custom registered SVG icons in the same format.
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<!-- Font ligature -->
|
<!-- Font ligature -->
|
||||||
@@ -239,7 +244,7 @@ Universal icon component that supports Material Ligatures and custom registered
|
|||||||
<adf-icon value="my-company:my-icon"></adf-icon>
|
<adf-icon value="my-company:my-icon"></adf-icon>
|
||||||
```
|
```
|
||||||
|
|
||||||
See Icon Component [documentation](../core/components/icon.component.md) for more details.
|
See [Icon Component](../core/components/icon.component.md) [documentation](../core/components/icon.component.md) for more details.
|
||||||
|
|
||||||
## Issues addressed
|
## Issues addressed
|
||||||
|
|
||||||
|
665
docs/release-notes/RelNote310.md
Normal file
665
docs/release-notes/RelNote310.md
Normal file
@@ -0,0 +1,665 @@
|
|||||||
|
---
|
||||||
|
Title: Release notes v3.1.0
|
||||||
|
---
|
||||||
|
|
||||||
|
# Alfresco Application Development Framework (ADF) version 3.1.0 Release Note
|
||||||
|
|
||||||
|
These release notes provide information about the **3.1.0 release** of the Alfresco Application Development Framework.
|
||||||
|
|
||||||
|
This is the latest **General Available** release of the Application Development Framework, which contains the Angular components to build a Web Application on top of the Alfresco Platform.
|
||||||
|
|
||||||
|
The release can be found on GitHub at [this location](https://github.com/Alfresco/alfresco-ng2-components/releases/tag/3.1.0).
|
||||||
|
|
||||||
|
See the [ADF roadmap](../roadmap.md) for details of features planned for future
|
||||||
|
versions of ADF.
|
||||||
|
|
||||||
|
## Contents
|
||||||
|
|
||||||
|
- [New package versions](#new-package-versions)
|
||||||
|
- [Goals for this release](#goals-for-this-release)
|
||||||
|
- [More on Activiti 7](#more-on-activiti-7)
|
||||||
|
- [Enhanced DocumentList](#enhanced-documentlist)
|
||||||
|
- [Enhanced Metadata viewer](#enhanced-metadata-viewer)
|
||||||
|
- [Search pattern highlight](#search-pattern-highlight)
|
||||||
|
- [Improved accessibility](#improved-accessibility)
|
||||||
|
- [Arabic and RTL languages support](#arabic-and-rtl-languages-support)
|
||||||
|
- [Localisation](#localisation)
|
||||||
|
- [References](#references)
|
||||||
|
- [Issues addressed](#issues-addressed)
|
||||||
|
- [Documentation](#documentation)
|
||||||
|
- [Feature](#feature)
|
||||||
|
- [Bug](#bug)
|
||||||
|
- [Task](#task)
|
||||||
|
- [Feature (Task)](#feature-task)
|
||||||
|
|
||||||
|
## New package versions
|
||||||
|
|
||||||
|
"@alfresco/adf-content-services" : "3.1.0"
|
||||||
|
"@alfresco/adf-process-services" : "3.1.0"
|
||||||
|
"@alfresco/adf-core" : "3.1.0"
|
||||||
|
"@alfresco/adf-insights" : "3.1.0",
|
||||||
|
"@alfresco/adf-extensions": "3.1.0"
|
||||||
|
|
||||||
|
## Goals for this release
|
||||||
|
|
||||||
|
This is the first minor release since ADF version 3 which was released in February 2019.
|
||||||
|
|
||||||
|
This release goes a step further in the direction of complete support for [Activiti 7](https://www.activiti.org/), the next generation Cloud Native implementation of Activiti. Also, some enhancements have been introduced to the DocumentList and the Metadata viewer, as a consequence of some requests coming from the eco-system of developers using ADF in complex applications.
|
||||||
|
|
||||||
|
Another enhancement introduced in ADF 3.1, is search pattern highlighting, considered as relevant in Share and now available to ADF applications as of this version.
|
||||||
|
|
||||||
|
In the area of [accessibility](https://en.wikipedia.org/wiki/Computer_accessibility), the new release of ADF takes advantage of some bugfixes and enhancements related to [Section508](https://www.section508.gov/).
|
||||||
|
|
||||||
|
Following the good number of requests coming from developers, we are pleased to announce the official support of Arabic and Right To Left languages in ADF applications. The benefit for the market is clear, opening up to a broader number of potential users and use cases.
|
||||||
|
|
||||||
|
Please report issues with this release in the [issue tracker](https://github.com/Alfresco/alfresco-ng2-components/issues/new). You can collaborate on this release or share feedback by using the discussion tools on [Gitter](http://gitter.im/Alfresco/alfresco-ng2-components).
|
||||||
|
|
||||||
|
Below are the most important new features of this release:
|
||||||
|
|
||||||
|
- [More on Activiti 7](#more-on-activiti-7)
|
||||||
|
- [Enhanced DocumentList](#enhanced-documentlist)
|
||||||
|
- [Enhanced Metadata viewer](#enhanced-metadata-viewer)
|
||||||
|
- [Search pattern highlight](#search-pattern-highlight)
|
||||||
|
- [Facet Intervals](#facet-intervals)
|
||||||
|
- [SSO Role AuthGuard](#sso-role-authguard)
|
||||||
|
- [Improved accessibility](#improved-accessibility)
|
||||||
|
- [Arabic and RTL languages support](#arabic-and-rtl-languages-support)
|
||||||
|
|
||||||
|
### More on Activiti 7
|
||||||
|
|
||||||
|
In ADF 3.0.0 (released in February) we announced the introduction of the new `*Cloud` package. This contains a set of components to support [Activiti 7](https://www.activiti.org/), the next generation Cloud Native implementation of Activiti BPM Engine. With the ADF 3.1 release, the journey continues with more supported features, like:
|
||||||
|
|
||||||
|
#### Claim a task
|
||||||
|
|
||||||
|
```html
|
||||||
|
<button adf-claim-task [appName]="appName" [taskId]="taskId" (success)="onTaskClaimed()">Complete</button>
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details refer to the :
|
||||||
|
- [Claim task directive](../process-services-cloud/directives/claim-task.directive.md)
|
||||||
|
|
||||||
|
#### EditTaskComponent allows sorting and actions customization
|
||||||
|
You can supply various _filter properties_ to edit that will determine
|
||||||
|
which tasks are found by a filter.
|
||||||
|
|
||||||
|
By default, the **_id_**, **_name_**, **_createdDate_** and **_priority_** properties are
|
||||||
|
displayed in the editor. However, you can also choose which sort properties
|
||||||
|
to show using the `sortProperties` array.
|
||||||
|
|
||||||
|
For more details refer to the :
|
||||||
|
- [Edit Task Filter Cloud component](../process-services-cloud/components/edit-task-filter-cloud.component.md)
|
||||||
|
|
||||||
|
#### EditProcessComponent allow sorting and actions customization
|
||||||
|
You can supply various _filter properties_ to edit that will determine
|
||||||
|
which tasks are found by a filter.
|
||||||
|
|
||||||
|
By default, the **_status_**, **_sort_** and **_order_** properties are
|
||||||
|
displayed in the editor. However, you can also choose which properties
|
||||||
|
to show using the `filterProperties` array.
|
||||||
|
|
||||||
|
For more details refer to the :
|
||||||
|
- [Edit Process Filter Cloud component](../process-services-cloud/components/edit-process-filter-cloud.component.md)
|
||||||
|
|
||||||
|
#### Complete task directive
|
||||||
|
|
||||||
|
```html
|
||||||
|
<button adf-cloud-complete-task [appName]="appName" [taskId]="taskId" (success)="onTaskCompleted()">Complete</button>
|
||||||
|
```
|
||||||
|
For more details refer to the :
|
||||||
|
- [Complete task directive](../process-services-cloud/directives/complete-task.directive.md)
|
||||||
|
|
||||||
|
### Enhanced DocumentList
|
||||||
|
|
||||||
|
Following some suggestions from customers and partners, we enhanced the `Datatable` and `Document List` to allow a "sticky" header.
|
||||||
|
If you have a long table with many rows, you might want to fix the header in place so it is
|
||||||
|
always visible. You can do this using the following steps.
|
||||||
|
|
||||||
|
First, set the `stickyHeader` property of your datatable to `true`:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<adf-datatable
|
||||||
|
[data]="data"
|
||||||
|
[stickyHeader]="true">
|
||||||
|
</adf-datatable>
|
||||||
|
```
|
||||||
|
|
||||||
|
```html
|
||||||
|
<adf-document-list
|
||||||
|
[data]="data"
|
||||||
|
[stickyHeader]="true">
|
||||||
|
</adf-document-list>
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details refer to the :
|
||||||
|
- [Document List Component](../content-services/components/document-list.component.md)
|
||||||
|
- [DataTable component](../core/components/datatable.component.md)
|
||||||
|
|
||||||
|
### Enhanced Metadata viewer
|
||||||
|
|
||||||
|
As of this version of ADF, developers can include the full list of types/aspects into the metadata viewer, without the need to specify all of them. The limit of the previous version was that developers were requested to specify the list of types/aspects or an asterisk to say "include all". The use case represented by "include all except X, Y, Z..." was not covered but now it is.
|
||||||
|
|
||||||
|
You can list all the properties by simply adding `includeAll: boolean` to your config. This config will display all the aspects and properties available for that specific file.
|
||||||
|
|
||||||
|
```json
|
||||||
|
"content-metadata": {
|
||||||
|
"presets": {
|
||||||
|
"default": {
|
||||||
|
"includeAll": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Futhermore, you can also exclude specific aspects by adding the `exclude` property. It can be either a string if it's only one aspect or an array if you want to exclude multiple aspects at once:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"content-metadata": {
|
||||||
|
"presets": {
|
||||||
|
"default": {
|
||||||
|
"includeAll": true,
|
||||||
|
"exclude": "exif:exif"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details refer to the :
|
||||||
|
- [Content Metadata Card component](../content-services/components/content-metadata-card.component.md)
|
||||||
|
|
||||||
|
### Search pattern highlight
|
||||||
|
|
||||||
|
As another example of good feedback we had from the developers on the ground about improving ADF, we introduced the custom highlighting of results in search. With ADF 3.1, developers can customize the pattern highlighting and the markers to use.
|
||||||
|
|
||||||
|
You can configure highlighting using the `search` entry in the `app.config.json` file.
|
||||||
|
An example query for search highlighting could look like this:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"search": {
|
||||||
|
"highlight": {
|
||||||
|
"prefix": "¿",
|
||||||
|
"postfix": "?",
|
||||||
|
"mergeContiguous": true,
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"field": "cm:title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "description",
|
||||||
|
"prefix": "(",
|
||||||
|
"postfix": ")"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
The example above changes the highlighting prefix and postfix from the default to '¿?' for all
|
||||||
|
fields except the "description" field, which uses '()' instead. The highlight information will
|
||||||
|
then be added in each node entry response.
|
||||||
|
|
||||||
|
For more details refer to the :
|
||||||
|
- [Search Filter component highlight](../content-services/components/search-filter.component.md#highlight)
|
||||||
|
|
||||||
|
|
||||||
|
### Facet Intervals
|
||||||
|
|
||||||
|
These provide custom categories based on admin defined ranges inside `intervals`.
|
||||||
|
You can specify exactly what you want for each interval in the config file and you can
|
||||||
|
use overlapping ranges if necessary.
|
||||||
|
|
||||||
|
#### FacetIntervals Properties
|
||||||
|
|
||||||
|
| Name | Type | Description |
|
||||||
|
| ---- | ---- | ----------- |
|
||||||
|
| intervals | array | Specifies the fields to facet by interval. |
|
||||||
|
| expanded | boolean | Toggles expanded state of the facet intervals. |
|
||||||
|
|
||||||
|
Note: the `sets` parameter from the Search API (which sets the intervals for all fields)
|
||||||
|
is not yet supported.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"search": {
|
||||||
|
"facetIntervals":{
|
||||||
|
"expanded": true,
|
||||||
|
"intervals":[
|
||||||
|
{
|
||||||
|
"label":"TheCreated",
|
||||||
|
"field":"cm:created",
|
||||||
|
"sets":[
|
||||||
|
{ "label":"lastYear", "start":"2017", "end":"2018", "endInclusive":false },
|
||||||
|
{ "label":"currentYear", "start":"NOW/YEAR", "end":"NOW/YEAR+1YEAR" },
|
||||||
|
{ "label":"earlier", "start":"*", "end":"2017", "endInclusive":false }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"TheModified",
|
||||||
|
"field":"cm:modified",
|
||||||
|
"sets":[
|
||||||
|
{ "label":"2016", "start":"2017", "end":"2018", "endInclusive":false },
|
||||||
|
{ "label":"currentYear", "start":"NOW/YEAR", "end":"NOW/YEAR+1YEAR" },
|
||||||
|
{ "label":"earlierThan2017", "start":"*", "end":"2017", "endInclusive":false }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
You can specify a value for the `mincount` property inside each `intervals` item to set the minimum count required for a facet interval to be displayed. By default, only the intervals that have 1 or more response entries are displayed at runtime.
|
||||||
|
Check the [schema.json](https://github.com/Alfresco/alfresco-ng2-components/blob/master/lib/core/app-config/schema.json) file
|
||||||
|
for further details about the structure and properties of `intervals` that you can set inside the configuration file.
|
||||||
|
|
||||||
|
Each defined `intervals` item is collected into its own collapsible category identified uniquely
|
||||||
|
by its `label`. The code snippet just above will result in the following display of facet intervals:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
For more details refer to the :
|
||||||
|
- [Facet intervals section of the Search Filter Component docs](../content-services/components/search-filter.component.md#facet-intervals)
|
||||||
|
|
||||||
|
|
||||||
|
### SSO Role AuthGuard
|
||||||
|
The [Auth Guard SSO role service](../core/services/auth-guard-sso-role.service.md) implements an Angular
|
||||||
|
[route guard](https://angular.io/guide/router#milestone-5-route-guards)
|
||||||
|
to check the user has the right role permission. This is typically used with the
|
||||||
|
`canActivate` guard check in the route definition. The roles that user needs to have in order to access the route has to be specified in the roles array as in the example below:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const appRoutes: Routes = [
|
||||||
|
...
|
||||||
|
{
|
||||||
|
path: 'examplepath',
|
||||||
|
component: ExampleComponent,
|
||||||
|
canActivate: [ AuthGuardSsoRoleService ],
|
||||||
|
data: { roles: ['USER_ROLE1', 'USER_ROLE2']}
|
||||||
|
},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details refer to the :
|
||||||
|
- [Facet intervals](../core/services/auth-guard-sso-role.service.md)
|
||||||
|
|
||||||
|
### Improved accessibility
|
||||||
|
|
||||||
|
In terms of [accessibility](https://en.wikipedia.org/wiki/Computer_accessibility), ADF version 3.1 introduces some bug fixes kindly requested from some customers and partners about [Section508](https://www.section508.gov/). Alfresco plans to introduce more enhancements from this point of view, so more improvements will be added in the next releases.
|
||||||
|
|
||||||
|
### Arabic and RTL languages support
|
||||||
|
|
||||||
|
Due to regular requests, we also decided to support the Arabic language in ADF. In ADF 3.1 the team introduces another new feature by starting the first iteration of support for Right To Left languages. Starting from ADF version 3.1, you can (easily) [change an ADF application to work correctly with a RTL language](../user-guide/rtl-support.md).
|
||||||
|
|
||||||
|
We are quite happy with the current support of RTL languages on ADF, but feedback is welcome if you find something that could be improved or added for a better user experience.
|
||||||
|
|
||||||
|
## Localisation
|
||||||
|
|
||||||
|
This release includes: French, German, Italian, Spanish, Arabic, Japanese, Dutch, Norwegian (Bokmål), Russian, Brazilian Portuguese and Simplified Chinese versions.
|
||||||
|
|
||||||
|
In the next version we plan to include as supported languages also: Danish, Finnish, Swedish, Czech, Polish.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
Below is a brief list of references to help you start using the new release:
|
||||||
|
|
||||||
|
- [Getting started guides with Alfresco Application Development Framework](https://community.alfresco.com/community/application-development-framework/pages/get-started)
|
||||||
|
- [Alfresco ADF Documentation on the Builder Network](../README.md)
|
||||||
|
- [Gitter chat supporting Alfresco ADF](https://gitter.im/Alfresco/alfresco-ng2-components)
|
||||||
|
- [ADF examples on GitHub](https://github.com/Alfresco/adf-examples)
|
||||||
|
- [Official GitHub Project - alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components)
|
||||||
|
- [Official GitHub Project - alfresco-js-api](https://github.com/Alfresco/alfresco-js-api)
|
||||||
|
- [Official GitHub Project - generator-ng2-alfresco-app](https://github.com/Alfresco/generator-ng2-alfresco-app)
|
||||||
|
|
||||||
|
Please refer to the [official documentation](http://docs.alfresco.com/) for further details and suggestions.
|
||||||
|
|
||||||
|
## Issues addressed
|
||||||
|
|
||||||
|
Below is the list of JIRA issues that were closed for this release.
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
- [ADF-271](https://issues.alfresco.com/jira/browse/ADF-271) - ADD all valid fields that the tasklist can display - 1643 Github
|
||||||
|
|
||||||
|
- [ADF-449](https://issues.alfresco.com/jira/browse/ADF-449) - Missing documentation for content-action in Data table
|
||||||
|
|
||||||
|
- [ADF-588](https://issues.alfresco.com/jira/browse/ADF-588) - tasks/processes - more documentation about the available fields
|
||||||
|
|
||||||
|
- [ADF-3040](https://issues.alfresco.com/jira/browse/ADF-3040) - Markdown templates sometimes add whitespace incorrectly
|
||||||
|
|
||||||
|
- [ADF-4008](https://issues.alfresco.com/jira/browse/ADF-4008) - Add the documentation for the default columns available in adf-process-list-cloud
|
||||||
|
|
||||||
|
- [ADF-4146](https://issues.alfresco.com/jira/browse/ADF-4146) - How to migrate an application from ADF 2.6 to ADF 3.0
|
||||||
|
|
||||||
|
- [ADF-4152](https://issues.alfresco.com/jira/browse/ADF-4152) - Add subfolders to docs library folders to represent class types
|
||||||
|
|
||||||
|
- [ADF-4160](https://issues.alfresco.com/jira/browse/ADF-4160) - Clarify the behaviour of the InfoDrawer configuration for default *
|
||||||
|
|
||||||
|
- [ADF-4189](https://issues.alfresco.com/jira/browse/ADF-4189) - Improve `allowDropFiles` prop description for Document List docs
|
||||||
|
|
||||||
|
- [ADF-4190](https://issues.alfresco.com/jira/browse/ADF-4190) - Fix source file paths generated by auto-linking tools
|
||||||
|
|
||||||
|
- [ADF-4228](https://issues.alfresco.com/jira/browse/ADF-4228) - Tutorial on how to switch an ADF app to be able to support RTL languages
|
||||||
|
|
||||||
|
- [ADF-4239](https://issues.alfresco.com/jira/browse/ADF-4239) - Update introduction text
|
||||||
|
|
||||||
|
- [ADF-4249](https://issues.alfresco.com/jira/browse/ADF-4249) - Doc review for 3.1
|
||||||
|
|
||||||
|
- [ADF-4260](https://issues.alfresco.com/jira/browse/ADF-4260) - How to migrate an application from ADF 3.0 to ADF 3.1
|
||||||
|
|
||||||
|
- [ADF-4262](https://issues.alfresco.com/jira/browse/ADF-4262) - Release note for version 3.1.0
|
||||||
|
|
||||||
|
- [ADF-4285](https://issues.alfresco.com/jira/browse/ADF-4285) - The documentation of content metadata component is misleading
|
||||||
|
|
||||||
|
- [ADF-4294](https://issues.alfresco.com/jira/browse/ADF-4294) - Creating the list of third party Open Source for ADF 3.1 (to be done as last task)
|
||||||
|
|
||||||
|
- [ADF-4300](https://issues.alfresco.com/jira/browse/ADF-4300) - Add the sort properties for edit task cloud component
|
||||||
|
|
||||||
|
### Feature
|
||||||
|
|
||||||
|
- [ADF-3497](https://issues.alfresco.com/jira/browse/ADF-3497) - Facet intervals on search filter
|
||||||
|
|
||||||
|
- [ADF-3677](https://issues.alfresco.com/jira/browse/ADF-3677) - SearchQueryBuilderService to support highlight
|
||||||
|
|
||||||
|
- [ADF-3735](https://issues.alfresco.com/jira/browse/ADF-3735) - SSO Login Error for login component
|
||||||
|
|
||||||
|
- [ADF-3798](https://issues.alfresco.com/jira/browse/ADF-3798) - [Demo Shell] [APS2] Show Task list related to a Process
|
||||||
|
|
||||||
|
- [ADF-4003](https://issues.alfresco.com/jira/browse/ADF-4003) - Add roles filtering to PeopleCloudComponent
|
||||||
|
|
||||||
|
- [ADF-4078](https://issues.alfresco.com/jira/browse/ADF-4078) - Fixed headers in the document list
|
||||||
|
|
||||||
|
- [ADF-4099](https://issues.alfresco.com/jira/browse/ADF-4099) - The metadata group is always showed even though the properties are not there
|
||||||
|
|
||||||
|
- [ADF-4122](https://issues.alfresco.com/jira/browse/ADF-4122) - Sticky header on DataTable
|
||||||
|
|
||||||
|
- [ADF-4125](https://issues.alfresco.com/jira/browse/ADF-4125) - Simplify extension load in extension module
|
||||||
|
|
||||||
|
- [ADF-4127](https://issues.alfresco.com/jira/browse/ADF-4127) - Claim a task on the new generation of BPM engines
|
||||||
|
|
||||||
|
- [ADF-4128](https://issues.alfresco.com/jira/browse/ADF-4128) - Task Cloud completion/back
|
||||||
|
|
||||||
|
- [ADF-4162](https://issues.alfresco.com/jira/browse/ADF-4162) - Adding the "includeAll" type of object to the presets configurations of the InforDrawer
|
||||||
|
|
||||||
|
- [ADF-4221](https://issues.alfresco.com/jira/browse/ADF-4221) - Avoiding to show a group of metadata, if any of the properties are empty
|
||||||
|
|
||||||
|
- [ADF-4225](https://issues.alfresco.com/jira/browse/ADF-4225) - Viewer extension accept multiple file type
|
||||||
|
|
||||||
|
- [ADF-4267](https://issues.alfresco.com/jira/browse/ADF-4267) - Sticky header on Document List
|
||||||
|
|
||||||
|
### Epic
|
||||||
|
|
||||||
|
- [ADF-9](https://issues.alfresco.com/jira/browse/ADF-9) - Document list feature
|
||||||
|
|
||||||
|
- [ADF-14](https://issues.alfresco.com/jira/browse/ADF-14) - Destination picker (copy/move)
|
||||||
|
|
||||||
|
- [ADF-262](https://issues.alfresco.com/jira/browse/ADF-262) - File viewer
|
||||||
|
|
||||||
|
- [ADF-1452](https://issues.alfresco.com/jira/browse/ADF-1452) - Documentation
|
||||||
|
|
||||||
|
- [ADF-1463](https://issues.alfresco.com/jira/browse/ADF-1463) - Adding of automated tests
|
||||||
|
|
||||||
|
- [ADF-3296](https://issues.alfresco.com/jira/browse/ADF-3296) - APS 2.x & Activiti 7 compatibility
|
||||||
|
|
||||||
|
- [ADF-3349](https://issues.alfresco.com/jira/browse/ADF-3349) - Activiti 7+ support
|
||||||
|
|
||||||
|
- [ADF-3741](https://issues.alfresco.com/jira/browse/ADF-3741) - Support for Activiti version 7 (and APS 2), maintaining the backward compatibility with APS 1.x.
|
||||||
|
|
||||||
|
- [ADF-3742](https://issues.alfresco.com/jira/browse/ADF-3742) - Extensibility of ADF applications
|
||||||
|
|
||||||
|
- [ADF-3857](https://issues.alfresco.com/jira/browse/ADF-3857) - Accessibility
|
||||||
|
|
||||||
|
- [ADF-4246](https://issues.alfresco.com/jira/browse/ADF-4246) - Testing Microsoft Internet Explorer
|
||||||
|
|
||||||
|
### Story
|
||||||
|
|
||||||
|
- [ADF-2129](https://issues.alfresco.com/jira/browse/ADF-2129) - Results highlighting (P2)
|
||||||
|
|
||||||
|
- [ADF-3472](https://issues.alfresco.com/jira/browse/ADF-3472) - Whitelisting metadata by default with the ability to hide some of them by configuration
|
||||||
|
|
||||||
|
### Bug
|
||||||
|
|
||||||
|
- [ADF-1713](https://issues.alfresco.com/jira/browse/ADF-1713) - Small adjustments for Task and Process for consistency - Demo Shell
|
||||||
|
|
||||||
|
- [ADF-1954](https://issues.alfresco.com/jira/browse/ADF-1954) - [IE11] Breadcrumbs are not well aligned
|
||||||
|
|
||||||
|
- [ADF-2971](https://issues.alfresco.com/jira/browse/ADF-2971) - Mandatory search config
|
||||||
|
|
||||||
|
- [ADF-3401](https://issues.alfresco.com/jira/browse/ADF-3401) - The filter facets are not reseted when user makes a new search query
|
||||||
|
|
||||||
|
- [ADF-3444](https://issues.alfresco.com/jira/browse/ADF-3444) - Site list displays only a certain number of sites.
|
||||||
|
|
||||||
|
- [ADF-3604](https://issues.alfresco.com/jira/browse/ADF-3604) - 'Sign in' and copyrights is displayed on login dialog from 'Attach Folder' from Share.
|
||||||
|
|
||||||
|
- [ADF-3678](https://issues.alfresco.com/jira/browse/ADF-3678) - Custom Process Filter - Different results in APS than in ADF
|
||||||
|
|
||||||
|
- [ADF-3843](https://issues.alfresco.com/jira/browse/ADF-3843) - Is not possible to change theInfinite pagination pageSize
|
||||||
|
|
||||||
|
- [ADF-3861](https://issues.alfresco.com/jira/browse/ADF-3861) - [508 compliance] Multi-select, hamburger menu (row-based action menu) should be 508 compliant
|
||||||
|
|
||||||
|
- [ADF-3862](https://issues.alfresco.com/jira/browse/ADF-3862) - [508 compliance] Documents and images should be readable
|
||||||
|
|
||||||
|
- [ADF-3863](https://issues.alfresco.com/jira/browse/ADF-3863) - [508 compliance] The user should be informed of what the label is that he/she is selecting
|
||||||
|
|
||||||
|
- [ADF-3878](https://issues.alfresco.com/jira/browse/ADF-3878) - Created date value of Column column should be in upper case
|
||||||
|
|
||||||
|
- [ADF-3934](https://issues.alfresco.com/jira/browse/ADF-3934) - People Cloud Component - Remove the concept of assignee
|
||||||
|
|
||||||
|
- [ADF-3979](https://issues.alfresco.com/jira/browse/ADF-3979) - GroupCloudComponent should be able to detect "preSelectGroups" input changes
|
||||||
|
|
||||||
|
- [ADF-3989](https://issues.alfresco.com/jira/browse/ADF-3989) - The list of apps in 'appName' filter is duplicated after switching between saved filters
|
||||||
|
|
||||||
|
- [ADF-3995](https://issues.alfresco.com/jira/browse/ADF-3995) - 'ProcessInstanceId' value is not displayed into a saved filter
|
||||||
|
|
||||||
|
- [ADF-4023](https://issues.alfresco.com/jira/browse/ADF-4023) - [Demo-shell] Pagination layout is broken in Process List Cloud
|
||||||
|
|
||||||
|
- [ADF-4058](https://issues.alfresco.com/jira/browse/ADF-4058) - Process Cloud - 502 Bad Gateway when try to create an task or an process
|
||||||
|
|
||||||
|
- [ADF-4065](https://issues.alfresco.com/jira/browse/ADF-4065) - The input field to add comments is visible when permission is denied.
|
||||||
|
|
||||||
|
- [ADF-4068](https://issues.alfresco.com/jira/browse/ADF-4068) - Tasks - Able to add a description with spaces
|
||||||
|
|
||||||
|
- [ADF-4076](https://issues.alfresco.com/jira/browse/ADF-4076) - Error when accessing Active Task after closing process diagram
|
||||||
|
|
||||||
|
- [ADF-4097](https://issues.alfresco.com/jira/browse/ADF-4097) - [Demo shell] Add comment button not displayed in Comment section
|
||||||
|
|
||||||
|
- [ADF-4143](https://issues.alfresco.com/jira/browse/ADF-4143) - LastModifiedFrom and LastModifiedTo fields of edit task filter cloud component validations are wrong
|
||||||
|
|
||||||
|
- [ADF-4148](https://issues.alfresco.com/jira/browse/ADF-4148) - [kerberos] Text Viewer Component not passing the withCredentials parameter
|
||||||
|
|
||||||
|
- [ADF-4153](https://issues.alfresco.com/jira/browse/ADF-4153) - Unable to open the Task Details page.
|
||||||
|
|
||||||
|
- [ADF-4154](https://issues.alfresco.com/jira/browse/ADF-4154) - Unit tests failing after upgrade to ADF 3.1.0-beta3
|
||||||
|
|
||||||
|
- [ADF-4156](https://issues.alfresco.com/jira/browse/ADF-4156) - Regression in TaskListComponent Caused by in-place Date Formatting
|
||||||
|
|
||||||
|
- [ADF-4165](https://issues.alfresco.com/jira/browse/ADF-4165) - ADF 3.0 Not able to login with implicitFlow false
|
||||||
|
|
||||||
|
- [ADF-4179](https://issues.alfresco.com/jira/browse/ADF-4179) - adf- prefix missing - style not applied to facet-buttons
|
||||||
|
|
||||||
|
- [ADF-4183](https://issues.alfresco.com/jira/browse/ADF-4183) - Login dialog does not redirect correctly after page reload
|
||||||
|
|
||||||
|
- [ADF-4196](https://issues.alfresco.com/jira/browse/ADF-4196) - Datatable component not always selects the row after click
|
||||||
|
|
||||||
|
- [ADF-4199](https://issues.alfresco.com/jira/browse/ADF-4199) - The 'Locally set' permission label is not displayed properly in the UI screen.
|
||||||
|
|
||||||
|
- [ADF-4202](https://issues.alfresco.com/jira/browse/ADF-4202) - Not able to start a standalone task using start task cloud component
|
||||||
|
|
||||||
|
- [ADF-4205](https://issues.alfresco.com/jira/browse/ADF-4205) - Error in console when User tries to add user or group to permissions.
|
||||||
|
|
||||||
|
- [ADF-4215](https://issues.alfresco.com/jira/browse/ADF-4215) - Locale doesn't change when a user changes the browser locale
|
||||||
|
|
||||||
|
- [ADF-4220](https://issues.alfresco.com/jira/browse/ADF-4220) - [SSO] Not able to login with implicitFlow false after changing the config
|
||||||
|
|
||||||
|
- [ADF-4229](https://issues.alfresco.com/jira/browse/ADF-4229) - Big space issue in case of RTL ADF application
|
||||||
|
|
||||||
|
- [ADF-4230](https://issues.alfresco.com/jira/browse/ADF-4230) - Pagination arrows in the wrong order, in case or RTL ADF application
|
||||||
|
|
||||||
|
- [ADF-4281](https://issues.alfresco.com/jira/browse/ADF-4281) - Completed processes default filters is not doing the correct call
|
||||||
|
|
||||||
|
- [ADF-4282](https://issues.alfresco.com/jira/browse/ADF-4282) - The name of the content is not well aligned in documentList on small devices
|
||||||
|
|
||||||
|
- [ADF-4287](https://issues.alfresco.com/jira/browse/ADF-4287) - The alignment in datatable is wrong
|
||||||
|
|
||||||
|
- [ADF-4301](https://issues.alfresco.com/jira/browse/ADF-4301) - [Accessibility] Not able to navigate through tasks in task list using tab
|
||||||
|
|
||||||
|
- [ADF-4305](https://issues.alfresco.com/jira/browse/ADF-4305) - DocumentList - CardViewMode - Field values missing in the display.
|
||||||
|
|
||||||
|
- [ADF-4313](https://issues.alfresco.com/jira/browse/ADF-4313) - [Demo shell] Form field looks like an editable field in task header after task was completed
|
||||||
|
|
||||||
|
- [ADF-4316](https://issues.alfresco.com/jira/browse/ADF-4316) - People component table is not well aligned
|
||||||
|
|
||||||
|
- [ADF-4318](https://issues.alfresco.com/jira/browse/ADF-4318) - Process definition is not automatically selected if the app contains more than one
|
||||||
|
|
||||||
|
### Task
|
||||||
|
|
||||||
|
- [ADF-3873](https://issues.alfresco.com/jira/browse/ADF-3873) - Create automated tests for edit process filters
|
||||||
|
|
||||||
|
- [ADF-3888](https://issues.alfresco.com/jira/browse/ADF-3888) - Implement automated tests for all the properties of task list and edit task filters components
|
||||||
|
|
||||||
|
- [ADF-3976](https://issues.alfresco.com/jira/browse/ADF-3976) - EditTaskComponent - Be able to customise the sorting and actions
|
||||||
|
|
||||||
|
- [ADF-3977](https://issues.alfresco.com/jira/browse/ADF-3977) - EditProcessComponent - Be able to change the sort and actions
|
||||||
|
|
||||||
|
- [ADF-3978](https://issues.alfresco.com/jira/browse/ADF-3978) - Travis on dev branch - should not run the jobs Create docker pr Deploy docker pr
|
||||||
|
|
||||||
|
- [ADF-3981](https://issues.alfresco.com/jira/browse/ADF-3981) - Automate Login Component manual test C291854
|
||||||
|
|
||||||
|
- [ADF-3986](https://issues.alfresco.com/jira/browse/ADF-3986) - [ProcessListCloudComponent] Be able to filter process with all possible params
|
||||||
|
|
||||||
|
- [ADF-4004](https://issues.alfresco.com/jira/browse/ADF-4004) - Automate attach file test case
|
||||||
|
|
||||||
|
- [ADF-4012](https://issues.alfresco.com/jira/browse/ADF-4012) - Automate ADF-3872 - to be able to set default columns in adf-process-list-cloud
|
||||||
|
|
||||||
|
- [ADF-4015](https://issues.alfresco.com/jira/browse/ADF-4015) - automate ADF-3982 - Should be able to filter tasks with all possible params
|
||||||
|
|
||||||
|
- [ADF-4045](https://issues.alfresco.com/jira/browse/ADF-4045) - Automate test infinite pagination delete
|
||||||
|
|
||||||
|
- [ADF-4048](https://issues.alfresco.com/jira/browse/ADF-4048) - PeopleCloud - Improve the preselectUsers
|
||||||
|
|
||||||
|
- [ADF-4061](https://issues.alfresco.com/jira/browse/ADF-4061) - Automate test for navigating to a non empty folder in >= 2nd page
|
||||||
|
|
||||||
|
- [ADF-4064](https://issues.alfresco.com/jira/browse/ADF-4064) - Remove multiple elements locators
|
||||||
|
|
||||||
|
- [ADF-4067](https://issues.alfresco.com/jira/browse/ADF-4067) - [APS2] Application Name input should have the same name in all components
|
||||||
|
|
||||||
|
- [ADF-4083](https://issues.alfresco.com/jira/browse/ADF-4083) - Parse 'escaped' empty spaced labels inside facetFields or facetIntervals
|
||||||
|
|
||||||
|
- [ADF-4089](https://issues.alfresco.com/jira/browse/ADF-4089) - contentListPage refactoring
|
||||||
|
|
||||||
|
- [ADF-4094](https://issues.alfresco.com/jira/browse/ADF-4094) - Automate Permissions Component
|
||||||
|
|
||||||
|
- [ADF-4121](https://issues.alfresco.com/jira/browse/ADF-4121) - Fixing failing e2e tests
|
||||||
|
|
||||||
|
- [ADF-4123](https://issues.alfresco.com/jira/browse/ADF-4123) - Process Cloud Instance Details Header component
|
||||||
|
|
||||||
|
- [ADF-4124](https://issues.alfresco.com/jira/browse/ADF-4124) - [Demo Shell] TaskListCloud with the filter on a Process instance
|
||||||
|
|
||||||
|
- [ADF-4132](https://issues.alfresco.com/jira/browse/ADF-4132) - [Artificial Intelligence] Smart viewer for ADF recognising entities
|
||||||
|
|
||||||
|
- [ADF-4145](https://issues.alfresco.com/jira/browse/ADF-4145) - [Artificial Intelligence] Transformation Services added to the ACS instance in the ADF development pipeline
|
||||||
|
|
||||||
|
- [ADF-4147](https://issues.alfresco.com/jira/browse/ADF-4147) - Add a way to test selectionMode on demo-shell for task list cloud component
|
||||||
|
|
||||||
|
- [ADF-4149](https://issues.alfresco.com/jira/browse/ADF-4149) - e2e tests - Move the pages from the e2e folder to the adf-testing
|
||||||
|
|
||||||
|
- [ADF-4155](https://issues.alfresco.com/jira/browse/ADF-4155) - AppList - be able to show the list of apps even in case the deployment service is missing
|
||||||
|
|
||||||
|
- [ADF-4158](https://issues.alfresco.com/jira/browse/ADF-4158) - No Alfresco-supplied docker image should run as root
|
||||||
|
|
||||||
|
- [ADF-4159](https://issues.alfresco.com/jira/browse/ADF-4159) - DemoShell add nested-menu
|
||||||
|
|
||||||
|
- [ADF-4184](https://issues.alfresco.com/jira/browse/ADF-4184) - Add Arabic i18n support
|
||||||
|
|
||||||
|
- [ADF-4192](https://issues.alfresco.com/jira/browse/ADF-4192) - Remove spinner check from editTaskFilter tests
|
||||||
|
|
||||||
|
- [ADF-4195](https://issues.alfresco.com/jira/browse/ADF-4195) - Automate tests for SSO login with implicitFlow false
|
||||||
|
|
||||||
|
- [ADF-4201](https://issues.alfresco.com/jira/browse/ADF-4201) - About component improvements
|
||||||
|
|
||||||
|
- [ADF-4208](https://issues.alfresco.com/jira/browse/ADF-4208) - [E2E] Make the pipeline green again !
|
||||||
|
|
||||||
|
- [ADF-4217](https://issues.alfresco.com/jira/browse/ADF-4217) - [Yeoman generator] Remove APS2 and leave Activiti only.
|
||||||
|
|
||||||
|
- [ADF-4222](https://issues.alfresco.com/jira/browse/ADF-4222) - Fix the compilation errors on the Development branch, so that this can be added to the rules.
|
||||||
|
|
||||||
|
- [ADF-4223](https://issues.alfresco.com/jira/browse/ADF-4223) - Export folder-name dialog validators
|
||||||
|
|
||||||
|
- [ADF-4233](https://issues.alfresco.com/jira/browse/ADF-4233) - DemoShell - Change nested menu layout
|
||||||
|
|
||||||
|
### Feature (Task)
|
||||||
|
|
||||||
|
- [ADF-3945](https://issues.alfresco.com/jira/browse/ADF-3945) - Provide a way to change the infinite pagination pageSize
|
||||||
|
|
||||||
|
- [ADF-4038](https://issues.alfresco.com/jira/browse/ADF-4038) - Add appName filter parameter for people/group demo component
|
||||||
|
|
||||||
|
- [ADF-4095](https://issues.alfresco.com/jira/browse/ADF-4095) - Automate C268974 - Inherit Permission
|
||||||
|
|
||||||
|
- [ADF-4100](https://issues.alfresco.com/jira/browse/ADF-4100) - Automate C274691 Dropdown menu
|
||||||
|
|
||||||
|
- [ADF-4101](https://issues.alfresco.com/jira/browse/ADF-4101) - Automate C276978 - Add user
|
||||||
|
|
||||||
|
- [ADF-4102](https://issues.alfresco.com/jira/browse/ADF-4102) - Automate - C276980 - Duplicate user/group
|
||||||
|
|
||||||
|
- [ADF-4103](https://issues.alfresco.com/jira/browse/ADF-4103) - Automate - C276982 - Remove User/Group
|
||||||
|
|
||||||
|
- [ADF-4104](https://issues.alfresco.com/jira/browse/ADF-4104) - Automate - C277014 - Role - Dropdown
|
||||||
|
|
||||||
|
- [ADF-4105](https://issues.alfresco.com/jira/browse/ADF-4105) - Automate C277002 - Role - Site Dropdown
|
||||||
|
|
||||||
|
- [ADF-4106](https://issues.alfresco.com/jira/browse/ADF-4106) - Automate C276993 - Role - Consumer
|
||||||
|
|
||||||
|
- [ADF-4107](https://issues.alfresco.com/jira/browse/ADF-4107) - Automate C276994 - Role - Site Consumer
|
||||||
|
|
||||||
|
- [ADF-4108](https://issues.alfresco.com/jira/browse/ADF-4108) - Automate - C276996 - Role - Contributor
|
||||||
|
|
||||||
|
- [ADF-4109](https://issues.alfresco.com/jira/browse/ADF-4109) - Automate C276997 - Role - Site Contributor
|
||||||
|
|
||||||
|
- [ADF-4110](https://issues.alfresco.com/jira/browse/ADF-4110) - Automate - C277000 - Role - Editor
|
||||||
|
|
||||||
|
- [ADF-4111](https://issues.alfresco.com/jira/browse/ADF-4111) - Automate C277003 - Role - Collaborator
|
||||||
|
|
||||||
|
- [ADF-4112](https://issues.alfresco.com/jira/browse/ADF-4112) - Automate C277005 Role - Site Collaborator
|
||||||
|
|
||||||
|
- [ADF-4113](https://issues.alfresco.com/jira/browse/ADF-4113) - Automate C277004 Role - Coordinator
|
||||||
|
|
||||||
|
- [ADF-4114](https://issues.alfresco.com/jira/browse/ADF-4114) - Automate - C277006 Role - Site Manager
|
||||||
|
|
||||||
|
- [ADF-4115](https://issues.alfresco.com/jira/browse/ADF-4115) - Automate C277100 - EVERYONE group
|
||||||
|
|
||||||
|
- [ADF-4116](https://issues.alfresco.com/jira/browse/ADF-4116) - Automate C277118 - Site Consumer - Add new version
|
||||||
|
|
||||||
|
- [ADF-4117](https://issues.alfresco.com/jira/browse/ADF-4117) - Automate C279881 - No permissions
|
||||||
|
|
||||||
|
- [ADF-4120](https://issues.alfresco.com/jira/browse/ADF-4120) - automate ADF-3989 - The list of apps in 'appName' filter is duplicated after switching between saved filters
|
||||||
|
|
||||||
|
- [ADF-4126](https://issues.alfresco.com/jira/browse/ADF-4126) - Automate ADF-4003 - Add roles filtering to PeopleCloudComponent
|
||||||
|
|
||||||
|
- [ADF-4129](https://issues.alfresco.com/jira/browse/ADF-4129) - Automate ADF-4066 - Task doesn't have an assignee when the assignee is empty from Start Task form
|
||||||
|
|
||||||
|
- [ADF-4151](https://issues.alfresco.com/jira/browse/ADF-4151) - Automation test for code editor displayed when opening a .js file
|
||||||
|
|
||||||
|
- [ADF-4166](https://issues.alfresco.com/jira/browse/ADF-4166) - Move apps-section-cloud.e2e.ts to adf-testing
|
||||||
|
|
||||||
|
- [ADF-4197](https://issues.alfresco.com/jira/browse/ADF-4197) - Automation test for redirection after page reload
|
||||||
|
|
||||||
|
- [ADF-4209](https://issues.alfresco.com/jira/browse/ADF-4209) - [E2E] Fix Core tests
|
||||||
|
|
||||||
|
- [ADF-4210](https://issues.alfresco.com/jira/browse/ADF-4210) - [E2E] Fix Content-services and Search tests
|
||||||
|
|
||||||
|
- [ADF-4211](https://issues.alfresco.com/jira/browse/ADF-4211) - Fix process-services-cloud tests
|
||||||
|
|
||||||
|
- [ADF-4218](https://issues.alfresco.com/jira/browse/ADF-4218) - [E2E] Fix Insight tests
|
||||||
|
|
||||||
|
- [ADF-4226](https://issues.alfresco.com/jira/browse/ADF-4226) - Implement automated test for infinitePagination
|
||||||
|
|
||||||
|
- [ADF-4244](https://issues.alfresco.com/jira/browse/ADF-4244) - Fix search tests
|
||||||
|
|
||||||
|
|
||||||
|
Please refer to the [Alfresco issue tracker](https://issues.alfresco.com/jira/projects/ADF/issues/ADF-581?filter=allopenissues) for other known issues in this release. If you have any questions about the release, please contact us using [Gitter](https://gitter.im/Alfresco/alfresco-ng2-components).
|
||||||
|
|
||||||
|
Thanks to the whole application team and the amazing Alfresco community for the hard work.
|
@@ -24,7 +24,7 @@ backend services have been tested with each released version of ADF.
|
|||||||
|
|
||||||
## v3.1.0
|
## v3.1.0
|
||||||
|
|
||||||
**Release:** Forthcoming<br/>
|
**Release:** 2019-03-29<br/>
|
||||||
|
|
||||||
<!--v310 start-->
|
<!--v310 start-->
|
||||||
|
|
||||||
|
@@ -25,7 +25,7 @@ import { LoginPage } from '../../../pages/adf/loginPage';
|
|||||||
describe('Login component - SSO', () => {
|
describe('Login component - SSO', () => {
|
||||||
|
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
const loginApsPage = new LoginSSOPage();
|
const loginSSOPage = new LoginSSOPage();
|
||||||
const loginPage = new LoginPage();
|
const loginPage = new LoginPage();
|
||||||
const navigationBarPage = new NavigationBarPage();
|
const navigationBarPage = new NavigationBarPage();
|
||||||
|
|
||||||
@@ -42,13 +42,13 @@ describe('Login component - SSO', () => {
|
|||||||
|
|
||||||
it('[C261050] Should be possible login with SSO', () => {
|
it('[C261050] Should be possible login with SSO', () => {
|
||||||
settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false, true, 'alfresco');
|
settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false, true, 'alfresco');
|
||||||
loginApsPage.clickOnSSOButton();
|
loginSSOPage.clickOnSSOButton();
|
||||||
loginApsPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('[C280667] Should be redirect directly to keycloak without show the login page with silent login', () => {
|
it('[C280667] Should be redirect directly to keycloak without show the login page with silent login', () => {
|
||||||
settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, true, true, 'alfresco');
|
settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, true, true, 'alfresco');
|
||||||
loginApsPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -56,9 +56,9 @@ describe('Login component - SSO', () => {
|
|||||||
|
|
||||||
it('[C299205] Should display the login error message when the SSO identity service is wrongly configured', () => {
|
it('[C299205] Should display the login error message when the SSO identity service is wrongly configured', () => {
|
||||||
settingsPage.setProviderEcmSso(TestConfig.adf.url, 'http://aps22/auth/realms/alfresco', TestConfig.adf.hostIdentity, false, true, 'alfresco');
|
settingsPage.setProviderEcmSso(TestConfig.adf.url, 'http://aps22/auth/realms/alfresco', TestConfig.adf.hostIdentity, false, true, 'alfresco');
|
||||||
loginApsPage.clickOnSSOButton();
|
loginSSOPage.clickOnSSOButton();
|
||||||
loginApsPage.checkLoginErrorIsDisplayed();
|
loginSSOPage.checkLoginErrorIsDisplayed();
|
||||||
expect(loginApsPage.getLoginErrorMessage()).toContain('SSO Authentication server unreachable');
|
expect(loginSSOPage.getLoginErrorMessage()).toContain('SSO Authentication server unreachable');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -93,4 +93,15 @@ describe('Login component - SSO', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('[C280665] Should be possible change the logout redirect URL', () => {
|
||||||
|
settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false, true, 'alfresco', '/login');
|
||||||
|
loginSSOPage.clickOnSSOButton();
|
||||||
|
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||||
|
navigationBarPage.clickLogoutButton();
|
||||||
|
|
||||||
|
browser.getCurrentUrl().then((actualUrl) => {
|
||||||
|
expect(actualUrl).toEqual(TestConfig.adf.url + '/login');
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@@ -33,7 +33,6 @@ export class NavigationBarPage {
|
|||||||
processServicesNestedButton = element(by.css('button[data-automation-id="App"]'));
|
processServicesNestedButton = element(by.css('button[data-automation-id="App"]'));
|
||||||
processServicesCloudButton = element(by.css('a[data-automation-id="Process Cloud"]'));
|
processServicesCloudButton = element(by.css('a[data-automation-id="Process Cloud"]'));
|
||||||
processServicesCloudHomeButton = element(by.css('button[data-automation-id="Home"]'));
|
processServicesCloudHomeButton = element(by.css('button[data-automation-id="Home"]'));
|
||||||
processServicesCloudPeopleGroupButton = element(by.css('button[data-automation-id="People/Group Cloud"]'));
|
|
||||||
loginButton = element(by.css('a[data-automation-id="Login"]'));
|
loginButton = element(by.css('a[data-automation-id="Login"]'));
|
||||||
trashcanButton = element(by.css('a[data-automation-id="Trashcan"]'));
|
trashcanButton = element(by.css('a[data-automation-id="Trashcan"]'));
|
||||||
overlayViewerButton = element(by.css('a[data-automation-id="Overlay Viewer"]'));
|
overlayViewerButton = element(by.css('a[data-automation-id="Overlay Viewer"]'));
|
||||||
@@ -50,7 +49,7 @@ export class NavigationBarPage {
|
|||||||
iconsButton = element(by.css('a[data-automation-id="Icons"]'));
|
iconsButton = element(by.css('a[data-automation-id="Icons"]'));
|
||||||
customSourcesButton = element(by.css('a[data-automation-id="Custom Sources"]'));
|
customSourcesButton = element(by.css('a[data-automation-id="Custom Sources"]'));
|
||||||
settingsButton = element(by.css('a[data-automation-id="Settings"]'));
|
settingsButton = element(by.css('a[data-automation-id="Settings"]'));
|
||||||
peopleGroupCloud = element(by.css('a[data-automation-id="People/Group Cloud"]'));
|
peopleGroupCloudButton = element(by.css('button[data-automation-id="People/Group Cloud"]'));
|
||||||
aboutButton = element(by.css('a[data-automation-id="About"]'));
|
aboutButton = element(by.css('a[data-automation-id="About"]'));
|
||||||
|
|
||||||
navigateToDatatable() {
|
navigateToDatatable() {
|
||||||
@@ -92,8 +91,10 @@ export class NavigationBarPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
navigateToPeopleGroupCloudPage() {
|
navigateToPeopleGroupCloudPage() {
|
||||||
BrowserVisibility.waitUntilElementIsVisible(this.peopleGroupCloud);
|
BrowserVisibility.waitUntilElementIsVisible(this.processServicesCloudButton);
|
||||||
this.peopleGroupCloud.click();
|
this.processServicesCloudButton.click();
|
||||||
|
BrowserVisibility.waitUntilElementIsVisible(this.peopleGroupCloudButton);
|
||||||
|
this.peopleGroupCloudButton.click();
|
||||||
return new PeopleGroupCloudComponentPage();
|
return new PeopleGroupCloudComponentPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -180,7 +180,7 @@ export class EditTaskFilterCloudComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
clickSaveAsButton() {
|
clickSaveAsButton() {
|
||||||
const disabledButton = element(by.css(("button[id='adf-save-as-id'][disabled]")));
|
let disabledButton = element(by.css(("button[data-automation-id='adf-filter-action-saveAs'][disabled]")));
|
||||||
BrowserVisibility.waitUntilElementIsClickable(this.saveAsButton);
|
BrowserVisibility.waitUntilElementIsClickable(this.saveAsButton);
|
||||||
BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
|
BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
|
||||||
BrowserVisibility.waitUntilElementIsNotVisible(disabledButton);
|
BrowserVisibility.waitUntilElementIsNotVisible(disabledButton);
|
||||||
|
@@ -43,7 +43,7 @@ export class TaskDetailsPage {
|
|||||||
involvePeopleButton = element(by.css('div[class*="add-people"]'));
|
involvePeopleButton = element(by.css('div[class*="add-people"]'));
|
||||||
addPeopleField = element(by.css('input[data-automation-id="adf-people-search-input"]'));
|
addPeopleField = element(by.css('input[data-automation-id="adf-people-search-input"]'));
|
||||||
addInvolvedUserButton = element(by.css('button[id="add-people"] span'));
|
addInvolvedUserButton = element(by.css('button[id="add-people"] span'));
|
||||||
emailInvolvedUser = by.xpath('following-sibling::div[@class="adf-people-email ng-star-inserted"]');
|
emailInvolvedUser = by.xpath('following-sibling::div[@class="adf-people-email"]');
|
||||||
editActionInvolvedUser = by.xpath('following-sibling::div[@class="adf-people-edit-label ng-star-inserted"]');
|
editActionInvolvedUser = by.xpath('following-sibling::div[@class="adf-people-edit-label ng-star-inserted"]');
|
||||||
involvedUserPic = by.xpath('ancestor::div/ancestor::div/preceding-sibling::div//div[@class="adf-people-search-people-pic ng-star-inserted"]');
|
involvedUserPic = by.xpath('ancestor::div/ancestor::div/preceding-sibling::div//div[@class="adf-people-search-people-pic ng-star-inserted"]');
|
||||||
taskDetailsInfoDrawer = element(by.tagName('adf-info-drawer'));
|
taskDetailsInfoDrawer = element(by.tagName('adf-info-drawer'));
|
||||||
@@ -232,6 +232,7 @@ export class TaskDetailsPage {
|
|||||||
addComment(comment) {
|
addComment(comment) {
|
||||||
BrowserVisibility.waitUntilElementIsVisible(this.commentField);
|
BrowserVisibility.waitUntilElementIsVisible(this.commentField);
|
||||||
this.commentField.sendKeys(comment);
|
this.commentField.sendKeys(comment);
|
||||||
|
Util.waitUntilElementIsVisible(this.addCommentButton);
|
||||||
this.addCommentButton.click();
|
this.addCommentButton.click();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@@ -44,6 +44,7 @@ export class SettingsPage {
|
|||||||
bpmText = element(by.css('input[data-automation-id*="bpmHost"]'));
|
bpmText = element(by.css('input[data-automation-id*="bpmHost"]'));
|
||||||
clientIdText = element(by.css('input[id="clientId"]'));
|
clientIdText = element(by.css('input[id="clientId"]'));
|
||||||
authHostText = element(by.css('input[id="oauthHost"]'));
|
authHostText = element(by.css('input[id="oauthHost"]'));
|
||||||
|
logoutUrlText = element(by.css('input[id="logout-url"]'));
|
||||||
basicAuthRadioButton = element(by.cssContainingText('mat-radio-button[id*="mat-radio"]', 'Basic Authentication'));
|
basicAuthRadioButton = element(by.cssContainingText('mat-radio-button[id*="mat-radio"]', 'Basic Authentication'));
|
||||||
identityHostText = element(by.css('input[id="identityHost"]'));
|
identityHostText = element(by.css('input[id="identityHost"]'));
|
||||||
ssoRadioButton = element(by.cssContainingText('[id*="mat-radio"]', 'SSO'));
|
ssoRadioButton = element(by.cssContainingText('[id*="mat-radio"]', 'SSO'));
|
||||||
@@ -140,7 +141,7 @@ export class SettingsPage {
|
|||||||
await this.ssoRadioButton.click();
|
await this.ssoRadioButton.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
async setProviderEcmSso(contentServiceURL, authHost, identityHost, silentLogin = true, implicitFlow = true, clientId?: string) {
|
async setProviderEcmSso(contentServiceURL, authHost, identityHost, silentLogin = true, implicitFlow = true, clientId?: string, logoutUr: string = '/logout') {
|
||||||
this.goToSettingsPage();
|
this.goToSettingsPage();
|
||||||
this.setProvider(this.ecm.option, this.ecm.text);
|
this.setProvider(this.ecm.option, this.ecm.text);
|
||||||
BrowserVisibility.waitUntilElementIsNotOnPage(this.bpmText);
|
BrowserVisibility.waitUntilElementIsNotOnPage(this.bpmText);
|
||||||
@@ -152,6 +153,7 @@ export class SettingsPage {
|
|||||||
await this.setIdentityHost(identityHost);
|
await this.setIdentityHost(identityHost);
|
||||||
await this.setSilentLogin(silentLogin);
|
await this.setSilentLogin(silentLogin);
|
||||||
await this.setImplicitFlow(implicitFlow);
|
await this.setImplicitFlow(implicitFlow);
|
||||||
|
await this.setLogoutUrl(logoutUr);
|
||||||
await this.clickApply();
|
await this.clickApply();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,6 +172,12 @@ export class SettingsPage {
|
|||||||
await this.clickApply();
|
await this.clickApply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async setLogoutUrl(logoutUrl) {
|
||||||
|
Util.waitUntilElementIsPresent(this.logoutUrlText);
|
||||||
|
this.logoutUrlText.clear();
|
||||||
|
this.logoutUrlText.sendKeys(logoutUrl);
|
||||||
|
}
|
||||||
|
|
||||||
async setProcessServicesURL(processServiceURL) {
|
async setProcessServicesURL(processServiceURL) {
|
||||||
BrowserVisibility.waitUntilElementIsVisible(this.bpmText);
|
BrowserVisibility.waitUntilElementIsVisible(this.bpmText);
|
||||||
this.bpmText.clear();
|
this.bpmText.clear();
|
||||||
|
@@ -133,12 +133,12 @@ describe('Edit task filters cloud', () => {
|
|||||||
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
|
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
|
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
|
||||||
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
|
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('PRIORITY');
|
tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority');
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
|
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
|
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
|
||||||
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
|
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
|
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
|
||||||
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('PRIORITY');
|
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority');
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
|
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
|
||||||
tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter();
|
tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter();
|
||||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||||
@@ -180,8 +180,8 @@ describe('Edit task filters cloud', () => {
|
|||||||
|
|
||||||
it('[C291800] Task filter should not be created when task filter dialog is closed', () => {
|
it('[C291800] Task filter should not be created when task filter dialog is closed', () => {
|
||||||
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
|
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('PRIORITY');
|
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('Priority');
|
||||||
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('PRIORITY');
|
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority');
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
|
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
|
||||||
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks');
|
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks');
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('Cancel');
|
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('Cancel');
|
||||||
|
@@ -57,11 +57,28 @@ describe('Process list cloud', () => {
|
|||||||
navigationBarPage.clickConfigEditorButton();
|
navigationBarPage.clickConfigEditorButton();
|
||||||
configEditorPage.clickEditProcessCloudConfiguration();
|
configEditorPage.clickEditProcessCloudConfiguration();
|
||||||
configEditorPage.clickClearButton();
|
configEditorPage.clickClearButton();
|
||||||
configEditorPage.enterConfiguration('{' +
|
configEditorPage.enterBigConfigurationText(`{
|
||||||
'"properties": [' +
|
"filterProperties": [
|
||||||
'"appName",' + '"state",' + '"processInstanceId",' + '"sort",' + '"order"' +
|
"appName",
|
||||||
']' +
|
"status",
|
||||||
'}');
|
"processInstanceId",
|
||||||
|
"order",
|
||||||
|
"sort",
|
||||||
|
"order"
|
||||||
|
],
|
||||||
|
"sortProperties": [
|
||||||
|
"id",
|
||||||
|
"name",
|
||||||
|
"status",
|
||||||
|
"startDate"
|
||||||
|
],
|
||||||
|
"actions": [
|
||||||
|
"save",
|
||||||
|
"saveAs",
|
||||||
|
"delete"
|
||||||
|
]
|
||||||
|
}`);
|
||||||
|
|
||||||
configEditorPage.clickSaveButton();
|
configEditorPage.clickSaveButton();
|
||||||
|
|
||||||
const apiService = new ApiService('activiti', TestConfig.adf.url, TestConfig.adf.hostSso, 'BPM');
|
const apiService = new ApiService('activiti', TestConfig.adf.url, TestConfig.adf.hostSso, 'BPM');
|
||||||
|
@@ -78,14 +78,36 @@ describe('Edit task filters and task list properties', () => {
|
|||||||
configEditorPage.clickEditTaskConfiguration();
|
configEditorPage.clickEditTaskConfiguration();
|
||||||
configEditorPage.clickClearButton();
|
configEditorPage.clickClearButton();
|
||||||
browser.driver.sleep(5000);
|
browser.driver.sleep(5000);
|
||||||
configEditorPage.enterConfiguration('{' +
|
configEditorPage.enterBigConfigurationText(`{
|
||||||
'"properties": [' +
|
"filterProperties": [
|
||||||
'"appName",' + '"status",' + '"assignee",' +
|
"appName",
|
||||||
'"taskName",' + '"parentTaskId",' + '"priority",' +
|
"status",
|
||||||
'"standAlone",' + '"owner",' + '"processDefinitionId",' + '"processInstanceId",' +
|
"assignee",
|
||||||
'"lastModifiedFrom",' + '"lastModifiedTo",' + '"sort",' + '"order"' +
|
"taskName",
|
||||||
']' +
|
"parentTaskId",
|
||||||
'}');
|
"priority",
|
||||||
|
"standAlone",
|
||||||
|
"owner",
|
||||||
|
"processDefinitionId",
|
||||||
|
"processInstanceId",
|
||||||
|
"lastModified",
|
||||||
|
"sort",
|
||||||
|
"order"
|
||||||
|
],
|
||||||
|
"sortProperties": [
|
||||||
|
"id",
|
||||||
|
"name",
|
||||||
|
"createdDate",
|
||||||
|
"priority",
|
||||||
|
"processDefinitionId"
|
||||||
|
],
|
||||||
|
"actions": [
|
||||||
|
"save",
|
||||||
|
"saveAs",
|
||||||
|
"delete"
|
||||||
|
]
|
||||||
|
}`);
|
||||||
|
|
||||||
configEditorPage.clickSaveButton();
|
configEditorPage.clickSaveButton();
|
||||||
|
|
||||||
const apiService = new ApiService('activiti', TestConfig.adf.url, TestConfig.adf.hostSso, 'BPM');
|
const apiService = new ApiService('activiti', TestConfig.adf.url, TestConfig.adf.hostSso, 'BPM');
|
||||||
|
@@ -159,6 +159,7 @@ describe('Search Sorting Picker', () => {
|
|||||||
configEditor.clickSearchConfiguration();
|
configEditor.clickSearchConfiguration();
|
||||||
configEditor.clickClearButton();
|
configEditor.clickClearButton();
|
||||||
jsonFile.sorting.options[0].ascending = false;
|
jsonFile.sorting.options[0].ascending = false;
|
||||||
|
jsonFile.sorting.defaults[0] = { 'key': 'Size', 'label': 'Size', 'type': 'FIELD', 'field': 'content.size', 'ascending': true };
|
||||||
configEditor.enterBigConfigurationText(JSON.stringify(jsonFile));
|
configEditor.enterBigConfigurationText(JSON.stringify(jsonFile));
|
||||||
configEditor.clickSaveButton();
|
configEditor.clickSaveButton();
|
||||||
|
|
||||||
|
@@ -1,111 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
||||||
"project": {
|
|
||||||
"name": "myapp"
|
|
||||||
},
|
|
||||||
"apps": [
|
|
||||||
{
|
|
||||||
"name" : "dist",
|
|
||||||
"root": "src",
|
|
||||||
"outDir": "dist",
|
|
||||||
"assets": [
|
|
||||||
"assets",
|
|
||||||
"favicon.ico",
|
|
||||||
"app.config.json",
|
|
||||||
"versions.json",
|
|
||||||
{
|
|
||||||
"glob": "**/*",
|
|
||||||
"input": "../resources",
|
|
||||||
"output": "./resources"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"glob": "**/*",
|
|
||||||
"input": "../node_modules/@alfresco/adf-core/prebuilt-themes",
|
|
||||||
"output": "./assets/prebuilt-themes"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"glob": "**/*",
|
|
||||||
"input": "../node_modules/@alfresco/adf-core/bundles/assets",
|
|
||||||
"output": "./assets/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"glob": "**/*",
|
|
||||||
"input": "../node_modules/@alfresco/adf-insights/bundles/assets",
|
|
||||||
"output": "./assets/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"glob": "**/*",
|
|
||||||
"input": "../node_modules/@alfresco/adf-process-services/bundles/assets",
|
|
||||||
"output": "./assets/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"glob": "**/*",
|
|
||||||
"input": "../node_modules/@alfresco/adf-process-services-cloud/bundles/assets",
|
|
||||||
"output": "./assets/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"glob": "**/*",
|
|
||||||
"input": "../node_modules/@alfresco/adf-content-services/bundles/assets",
|
|
||||||
"output": "./assets/"
|
|
||||||
},
|
|
||||||
{ "glob": "pdf.worker.js", "input": "../node_modules/pdfjs-dist/build", "output": "./" }
|
|
||||||
],
|
|
||||||
"index": "index.html",
|
|
||||||
"main": "main.ts",
|
|
||||||
"polyfills": "polyfills.ts",
|
|
||||||
"test": "test.ts",
|
|
||||||
"tsconfig": "tsconfig.app.json",
|
|
||||||
"testTsconfig": "tsconfig.spec.json",
|
|
||||||
"prefix": "app",
|
|
||||||
"styles": [
|
|
||||||
"custom-style.scss"
|
|
||||||
],
|
|
||||||
"stylePreprocessorOptions": {
|
|
||||||
"includePaths": [
|
|
||||||
"../node_modules/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"scripts": [
|
|
||||||
"../node_modules/pdfjs-dist/build/pdf.js",
|
|
||||||
"../node_modules/pdfjs-dist/web/pdf_viewer.js",
|
|
||||||
"../node_modules/raphael/raphael.min.js",
|
|
||||||
"../node_modules/moment/min/moment.min.js"
|
|
||||||
],
|
|
||||||
"environmentSource": "environments/environment.ts",
|
|
||||||
"environments": {
|
|
||||||
"dev": "environments/environment.ts",
|
|
||||||
"prod": "environments/environment.prod.ts"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"e2e": {
|
|
||||||
"protractor": {
|
|
||||||
"config": "./protractor.conf.js"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lint": [
|
|
||||||
{
|
|
||||||
"project": "src/tsconfig.app.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"project": "src/tsconfig.spec.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"project": "e2e/tsconfig.e2e.json"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"test": {
|
|
||||||
"karma": {
|
|
||||||
"config": "./karma.conf.js"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"defaults": {
|
|
||||||
"styleExt": "scss",
|
|
||||||
"component": {
|
|
||||||
},
|
|
||||||
"serve": {
|
|
||||||
"proxyConfig": "proxy.conf.json",
|
|
||||||
"port": 4200
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,13 +0,0 @@
|
|||||||
# Editor configuration, see http://editorconfig.org
|
|
||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
charset = utf-8
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
insert_final_newline = true
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
max_line_length = off
|
|
||||||
trim_trailing_whitespace = false
|
|
@@ -1,42 +0,0 @@
|
|||||||
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
|
||||||
|
|
||||||
# compiled output
|
|
||||||
/dist
|
|
||||||
/tmp
|
|
||||||
/out-tsc
|
|
||||||
|
|
||||||
# dependencies
|
|
||||||
/node_modules
|
|
||||||
|
|
||||||
# IDEs and editors
|
|
||||||
/.idea
|
|
||||||
.project
|
|
||||||
.classpath
|
|
||||||
.c9/
|
|
||||||
*.launch
|
|
||||||
.settings/
|
|
||||||
*.sublime-workspace
|
|
||||||
|
|
||||||
# IDE - VSCode
|
|
||||||
.vscode/*
|
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/tasks.json
|
|
||||||
!.vscode/launch.json
|
|
||||||
!.vscode/extensions.json
|
|
||||||
|
|
||||||
# misc
|
|
||||||
/.sass-cache
|
|
||||||
/connect.lock
|
|
||||||
/coverage
|
|
||||||
/libpeerconnection.log
|
|
||||||
npm-debug.log
|
|
||||||
testem.log
|
|
||||||
/typings
|
|
||||||
|
|
||||||
# e2e
|
|
||||||
/e2e/*.js
|
|
||||||
/e2e/*.map
|
|
||||||
|
|
||||||
# System Files
|
|
||||||
.DS_Store
|
|
||||||
Thumbs.db
|
|
@@ -1,19 +0,0 @@
|
|||||||
dist: trusty
|
|
||||||
sudo: false
|
|
||||||
|
|
||||||
language: node_js
|
|
||||||
node_js:
|
|
||||||
- "8"
|
|
||||||
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- ./node_modules
|
|
||||||
|
|
||||||
install:
|
|
||||||
- npm install
|
|
||||||
|
|
||||||
script:
|
|
||||||
# Use Chromium instead of Chrome.
|
|
||||||
- export CHROME_BIN=chromium-browser
|
|
||||||
- xvfb-run -a npm run test -- --single-run --no-progress --browser=ChromeNoSandbox
|
|
||||||
#- xvfb-run -a npm run e2e -- --no-progress --config=protractor-ci.conf.js
|
|
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2017 Denys Vuika
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
@@ -1,56 +0,0 @@
|
|||||||
# ADF/APS/ACS Application with Angular CLI
|
|
||||||
|
|
||||||
Minimal ready-to-use Angular CLI project template pre-configured with ADF 2.0.0 components.
|
|
||||||
|
|
||||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.5.0
|
|
||||||
|
|
||||||
## Quick start
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install
|
|
||||||
npm start
|
|
||||||
```
|
|
||||||
|
|
||||||
## Supported ADF component libraries
|
|
||||||
|
|
||||||
This project has all the existing ADF component libraries already pre-configured.
|
|
||||||
|
|
||||||
The main focus of the project is:
|
|
||||||
|
|
||||||
- ADF integration and setup
|
|
||||||
- Basic demonstration of working components
|
|
||||||
|
|
||||||
## Development server
|
|
||||||
|
|
||||||
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
|
|
||||||
|
|
||||||
### Proxy settings
|
|
||||||
|
|
||||||
The template provides certain proxy settings to allow running web application locally without CORS setup.
|
|
||||||
You can find details in the `proxy.conf.json` file.
|
|
||||||
|
|
||||||
List of URLs being proxied:
|
|
||||||
|
|
||||||
- `/alfresco` -> `http://0.0.0.0:8080`
|
|
||||||
- `/activiti-app` -> `http://0.0.0.0:9999`
|
|
||||||
|
|
||||||
## Code scaffolding
|
|
||||||
|
|
||||||
Run `ng generate component component-name -m app.module` to generate a new component. You can also use `ng generate directive|pipe|service|class|module`.
|
|
||||||
|
|
||||||
## Build
|
|
||||||
|
|
||||||
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.
|
|
||||||
|
|
||||||
## Running unit tests
|
|
||||||
|
|
||||||
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
||||||
|
|
||||||
## Running end-to-end tests
|
|
||||||
|
|
||||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
|
|
||||||
Before running the tests make sure you are serving the app via `ng serve`.
|
|
||||||
|
|
||||||
## Further help
|
|
||||||
|
|
||||||
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
@@ -1,14 +0,0 @@
|
|||||||
import { AdfAppPage } from './app.po';
|
|
||||||
|
|
||||||
describe('adf-app App', () => {
|
|
||||||
let page: AdfAppPage;
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
page = new AdfAppPage();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should display toolbar', () => {
|
|
||||||
page.navigateTo();
|
|
||||||
expect(page.getToolbar()).toBeDefined();
|
|
||||||
});
|
|
||||||
});
|
|
@@ -1,11 +0,0 @@
|
|||||||
import { browser, by, element } from 'protractor';
|
|
||||||
|
|
||||||
export class AdfAppPage {
|
|
||||||
navigateTo() {
|
|
||||||
return browser.get('/');
|
|
||||||
}
|
|
||||||
|
|
||||||
getToolbar() {
|
|
||||||
return element(by.tagName('adf-toolbar'));
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "../tsconfig.json",
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "../out-tsc/e2e",
|
|
||||||
"baseUrl": "./",
|
|
||||||
"module": "commonjs",
|
|
||||||
"target": "es5",
|
|
||||||
"types": [
|
|
||||||
"jasmine",
|
|
||||||
"jasminewd2",
|
|
||||||
"node"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,58 +0,0 @@
|
|||||||
// Karma configuration file, see link for more information
|
|
||||||
// https://karma-runner.github.io/0.13/config/configuration-file.html
|
|
||||||
|
|
||||||
module.exports = function(config) {
|
|
||||||
config.set({
|
|
||||||
basePath: '',
|
|
||||||
frameworks: ['jasmine', '@angular/cli'],
|
|
||||||
plugins: [
|
|
||||||
require('karma-jasmine'),
|
|
||||||
require('karma-chrome-launcher'),
|
|
||||||
require('karma-jasmine-html-reporter'),
|
|
||||||
require('karma-coverage-istanbul-reporter'),
|
|
||||||
require('@angular/cli/plugins/karma')
|
|
||||||
],
|
|
||||||
files: [
|
|
||||||
{ pattern: './node_modules/hammerjs/hammer.js', watched: false },
|
|
||||||
{ pattern: './node_modules/@angular/material/prebuilt-themes/indigo-pink.css', watched: false },
|
|
||||||
{ pattern: './node_modules/@alfresco/adf-core/bundles/assets/adf-core/i18n/en.json', watched: false, served: true, included: false },
|
|
||||||
{ pattern: './node_modules/@alfresco/adf-content-services/bundles/assets/adf-content-services/i18n/en.json', watched: false, served: true, included: false },
|
|
||||||
{ pattern: './node_modules/@alfresco/adf-process-services/bundles/assets/adf-process-services/i18n/en.json', watched: false, served: true, included: false },
|
|
||||||
{ pattern: './node_modules/@alfresco/adf-process-services-cloud/bundles/assets/adf-process-services-cloud/i18n/en.json', watched: false, served: true, included: false }
|
|
||||||
],
|
|
||||||
proxies: {
|
|
||||||
'/assets/adf-core/i18n/en.json': '/base/node_modules/@alfresco/adf-core/bundles/assets/adf-core/i18n/en.json',
|
|
||||||
'/assets/adf-content-services/i18n/en.json': '/base/node_modules/@alfresco/adf-content-services/bundles/assets/adf-content-services/i18n/en.json',
|
|
||||||
'/assets/adf-process-services/i18n/en.json': '/base/node_modules/@alfresco/adf-process-services/bundles/assets/adf-process-services/i18n/en.json',
|
|
||||||
'/assets/adf-process-services-cloud/i18n/en.json': '/base/node_modules/@alfresco/adf-process-services-cloud/bundles/assets/adf-process-services-cloud/i18n/en.json'
|
|
||||||
},
|
|
||||||
client: {
|
|
||||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
|
||||||
},
|
|
||||||
coverageIstanbulReporter: {
|
|
||||||
reports: ['html', 'lcovonly'],
|
|
||||||
fixWebpackSourcePaths: true
|
|
||||||
},
|
|
||||||
angularCli: {
|
|
||||||
environment: 'dev'
|
|
||||||
},
|
|
||||||
reporters: ['progress', 'kjhtml'],
|
|
||||||
port: 9876,
|
|
||||||
colors: true,
|
|
||||||
logLevel: config.LOG_INFO,
|
|
||||||
autoWatch: true,
|
|
||||||
browsers: ['Chrome'],
|
|
||||||
customLaunchers: {
|
|
||||||
ChromeNoSandbox: {
|
|
||||||
base: 'Chrome',
|
|
||||||
flags: ['--no-sandbox']
|
|
||||||
}
|
|
||||||
},
|
|
||||||
singleRun: false,
|
|
||||||
|
|
||||||
captureTimeout: 180000,
|
|
||||||
browserDisconnectTimeout: 180000,
|
|
||||||
browserDisconnectTolerance: 3,
|
|
||||||
browserNoActivityTimeout: 300000
|
|
||||||
});
|
|
||||||
};
|
|
11916
integration/base_ver_2_app/package-lock.json
generated
11916
integration/base_ver_2_app/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,79 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "adf-cli-acs-aps-template",
|
|
||||||
"version": "2.0.0",
|
|
||||||
"blueprint": "Process and Content Services",
|
|
||||||
"description": "ACS APS ADF Application with Angular CLI",
|
|
||||||
"license": "MIT",
|
|
||||||
"scripts": {
|
|
||||||
"ng": "ng",
|
|
||||||
"start": "ng serve --open",
|
|
||||||
"build": "ng build",
|
|
||||||
"test": "ng test",
|
|
||||||
"lint": "ng lint",
|
|
||||||
"e2e": "ng e2e"
|
|
||||||
},
|
|
||||||
"private": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@alfresco/adf-content-services": "2.0.0",
|
|
||||||
"@alfresco/adf-core": "2.0.0",
|
|
||||||
"@alfresco/adf-insights": "2.0.1",
|
|
||||||
"@alfresco/adf-process-services": "2.0.0",
|
|
||||||
"@angular/animations": "5.1.1",
|
|
||||||
"@angular/cdk": "5.1.1",
|
|
||||||
"@angular/common": "5.1.1",
|
|
||||||
"@angular/compiler": "5.1.1",
|
|
||||||
"@angular/core": "5.1.1",
|
|
||||||
"@angular/flex-layout": "2.0.0-beta.12",
|
|
||||||
"@angular/forms": "5.1.1",
|
|
||||||
"@angular/http": "5.1.1",
|
|
||||||
"@angular/material": "5.1.1",
|
|
||||||
"@angular/material-moment-adapter": "5.1.1",
|
|
||||||
"@angular/platform-browser": "5.1.1",
|
|
||||||
"@angular/platform-browser-dynamic": "5.1.1",
|
|
||||||
"@angular/router": "5.1.1",
|
|
||||||
"@mat-datetimepicker/core": "^2.0.1",
|
|
||||||
"@mat-datetimepicker/moment": "^2.0.1",
|
|
||||||
"@ngx-translate/core": "10.0.2",
|
|
||||||
"alfresco-js-api": "^2.5.0-d5acbab9993711f37b66351a6aaedf6fc72d1ce2",
|
|
||||||
"chart.js": "2.5.0",
|
|
||||||
"classlist.js": "1.1.20150312",
|
|
||||||
"core-js": "2.4.1",
|
|
||||||
"custom-event-polyfill": "0.3.0",
|
|
||||||
"hammerjs": "2.0.8",
|
|
||||||
"intl": "1.2.5",
|
|
||||||
"minimatch": "3.0.4",
|
|
||||||
"moment": "2.20.1",
|
|
||||||
"moment-es6": "1.0.0",
|
|
||||||
"ng2-charts": "1.6.0",
|
|
||||||
"pdfjs-dist": "1.5.404",
|
|
||||||
"raphael": "2.2.7",
|
|
||||||
"reflect-metadata": "0.1.10",
|
|
||||||
"rxjs": "6.0.0",
|
|
||||||
"rxjs-compat": "6.1.0",
|
|
||||||
"web-animations-js": "2.3.1",
|
|
||||||
"zone.js": "0.8.14"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@angular-devkit/core": "0.0.28",
|
|
||||||
"@angular/cli": "1.7.4",
|
|
||||||
"@angular/compiler-cli": "5.1.1",
|
|
||||||
"@angular/language-service": "5.0.0",
|
|
||||||
"@types/jasmine": "~2.5.53",
|
|
||||||
"@types/jasminewd2": "~2.0.2",
|
|
||||||
"@types/node": "~6.0.60",
|
|
||||||
"codelyzer": "~3.2.0",
|
|
||||||
"jasmine-core": "~2.6.2",
|
|
||||||
"jasmine-spec-reporter": "~4.1.0",
|
|
||||||
"karma": "~1.7.0",
|
|
||||||
"karma-chrome-launcher": "~2.1.1",
|
|
||||||
"karma-cli": "~1.0.1",
|
|
||||||
"karma-coverage-istanbul-reporter": "^1.2.1",
|
|
||||||
"karma-jasmine": "~1.1.0",
|
|
||||||
"karma-jasmine-html-reporter": "^0.2.2",
|
|
||||||
"protractor": "~5.1.2",
|
|
||||||
"rimraf": "^2.6.2",
|
|
||||||
"ts-node": "~3.2.0",
|
|
||||||
"tslint": "~5.7.0",
|
|
||||||
"typescript": "2.6.2"
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,10 +0,0 @@
|
|||||||
const config = require('./protractor.conf').config;
|
|
||||||
|
|
||||||
config.capabilities = {
|
|
||||||
browserName: 'chrome',
|
|
||||||
chromeOptions: {
|
|
||||||
args: ['--no-sandbox']
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.config = config;
|
|
@@ -1,29 +0,0 @@
|
|||||||
// Protractor configuration file, see link for more information
|
|
||||||
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
|
||||||
|
|
||||||
const { SpecReporter } = require('jasmine-spec-reporter');
|
|
||||||
|
|
||||||
exports.config = {
|
|
||||||
allScriptsTimeout: 40000,
|
|
||||||
getPageTimeout: 40000,
|
|
||||||
specs: [
|
|
||||||
'./e2e/**/*.e2e-spec.ts'
|
|
||||||
],
|
|
||||||
capabilities: {
|
|
||||||
'browserName': 'chrome'
|
|
||||||
},
|
|
||||||
directConnect: true,
|
|
||||||
baseUrl: 'http://localhost:4200/',
|
|
||||||
framework: 'jasmine',
|
|
||||||
jasmineNodeOpts: {
|
|
||||||
showColors: true,
|
|
||||||
defaultTimeoutInterval: 30000,
|
|
||||||
print: function() {}
|
|
||||||
},
|
|
||||||
onPrepare() {
|
|
||||||
require('ts-node').register({
|
|
||||||
project: 'e2e/tsconfig.e2e.json'
|
|
||||||
});
|
|
||||||
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
|
|
||||||
}
|
|
||||||
};
|
|
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"/alfresco": {
|
|
||||||
"target": "http://localhost:8080",
|
|
||||||
"secure": false,
|
|
||||||
"changeOrigin": true
|
|
||||||
},
|
|
||||||
"/activiti-app": {
|
|
||||||
"target": "http://localhost:9999",
|
|
||||||
"secure": false,
|
|
||||||
"changeOrigin": true
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,54 +0,0 @@
|
|||||||
{
|
|
||||||
"ecmHost": "http://{hostname}{:port}",
|
|
||||||
"bpmHost": "http://{hostname}{:port}",
|
|
||||||
"application": {
|
|
||||||
"name": "Alfresco ADF Appplication"
|
|
||||||
},
|
|
||||||
"languages": [
|
|
||||||
{
|
|
||||||
"key": "en",
|
|
||||||
"label": "English"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "fr",
|
|
||||||
"label": "French"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "de",
|
|
||||||
"label": "German"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "it",
|
|
||||||
"label": "Italian"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "es",
|
|
||||||
"label": "Spanish"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ja",
|
|
||||||
"label": "Japanese"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "nl",
|
|
||||||
"label": "Dutch"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "pt-BR",
|
|
||||||
"label": "Brazilian Portuguese"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "nb",
|
|
||||||
"label": "Norwegian"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ru",
|
|
||||||
"label": "Russian"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "zh-CN",
|
|
||||||
"label": "Simplified Chinese"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"logLevel" : "trace"
|
|
||||||
}
|
|
@@ -1,20 +0,0 @@
|
|||||||
import { NgModule } from '@angular/core';
|
|
||||||
|
|
||||||
// ADF modules
|
|
||||||
import { ContentModule } from '@alfresco/adf-content-services';
|
|
||||||
import { ProcessModule } from '@alfresco/adf-process-services';
|
|
||||||
import { CoreModule } from '@alfresco/adf-core';
|
|
||||||
|
|
||||||
export function modules() {
|
|
||||||
return [
|
|
||||||
CoreModule,
|
|
||||||
ContentModule,
|
|
||||||
ProcessModule
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
@NgModule({
|
|
||||||
imports: modules(),
|
|
||||||
exports: modules()
|
|
||||||
})
|
|
||||||
export class AdfModule {}
|
|
@@ -1,13 +0,0 @@
|
|||||||
<adf-toolbar color="primary">
|
|
||||||
<adf-toolbar-title>
|
|
||||||
<a mat-button routerLink="/">ADF</a>
|
|
||||||
</adf-toolbar-title>
|
|
||||||
|
|
||||||
<a mat-button href="" routerLink="/login">Login</a>
|
|
||||||
<a mat-button href="" routerLink="/apps">Apps</a>
|
|
||||||
<a mat-button href="" routerLink="/documentlist">Documents</a>
|
|
||||||
|
|
||||||
<button mat-button (click)="logout()">Logout</button>
|
|
||||||
</adf-toolbar>
|
|
||||||
|
|
||||||
<router-outlet></router-outlet>
|
|
@@ -1,25 +0,0 @@
|
|||||||
import { TestBed, async } from '@angular/core/testing';
|
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
|
||||||
|
|
||||||
import { AdfModule } from './adf.module';
|
|
||||||
import { AppComponent } from './app.component';
|
|
||||||
|
|
||||||
describe('AppComponent', () => {
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
imports: [
|
|
||||||
RouterTestingModule,
|
|
||||||
AdfModule
|
|
||||||
],
|
|
||||||
declarations: [
|
|
||||||
AppComponent
|
|
||||||
],
|
|
||||||
}).compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
it('should create the app', async(() => {
|
|
||||||
const fixture = TestBed.createComponent(AppComponent);
|
|
||||||
const app = fixture.debugElement.componentInstance;
|
|
||||||
expect(app).toBeTruthy();
|
|
||||||
}));
|
|
||||||
});
|
|
@@ -1,24 +0,0 @@
|
|||||||
import { Component } from '@angular/core';
|
|
||||||
import { TranslationService, AuthenticationService } from '@alfresco/adf-core';
|
|
||||||
import { Router } from '@angular/router';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-root',
|
|
||||||
templateUrl: './app.component.html',
|
|
||||||
styleUrls: ['./app.component.css']
|
|
||||||
})
|
|
||||||
export class AppComponent {
|
|
||||||
|
|
||||||
constructor(translationService: TranslationService,
|
|
||||||
private authService: AuthenticationService,
|
|
||||||
private router: Router) {
|
|
||||||
translationService.use('en');
|
|
||||||
}
|
|
||||||
|
|
||||||
logout() {
|
|
||||||
this.authService.logout().subscribe(() => {
|
|
||||||
this.router.navigate(['/login']);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,84 +0,0 @@
|
|||||||
import { BrowserModule } from '@angular/platform-browser';
|
|
||||||
import { NgModule } from '@angular/core';
|
|
||||||
import { RouterModule, Routes } from '@angular/router';
|
|
||||||
|
|
||||||
// ADF modules
|
|
||||||
import { AdfModule } from './adf.module';
|
|
||||||
import { AuthGuardBpm } from '@alfresco/adf-core';
|
|
||||||
import { AuthGuardEcm } from '@alfresco/adf-core';
|
|
||||||
|
|
||||||
// Custom stencils
|
|
||||||
import { StencilsModule } from './stencils.module';
|
|
||||||
|
|
||||||
// App components
|
|
||||||
import { AppComponent } from './app.component';
|
|
||||||
import { HomeComponent } from './home/home.component';
|
|
||||||
import { LoginComponent } from './login/login.component';
|
|
||||||
import { AppsComponent } from './apps/apps.component';
|
|
||||||
import { TasksComponent } from './tasks/tasks.component';
|
|
||||||
import { TaskDetailsComponent } from './task-details/task-details.component';
|
|
||||||
import { DocumentlistComponent } from './documentlist/documentlist.component';
|
|
||||||
import { StartProcessComponent } from './start-process/start-process.component';
|
|
||||||
|
|
||||||
const appRoutes: Routes = [
|
|
||||||
{
|
|
||||||
path: '',
|
|
||||||
component: HomeComponent
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'login',
|
|
||||||
component: LoginComponent
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'apps',
|
|
||||||
component: AppsComponent,
|
|
||||||
canActivate: [ AuthGuardBpm ]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'apps/:appId/tasks',
|
|
||||||
component: TasksComponent,
|
|
||||||
canActivate: [ AuthGuardBpm ]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'apps/:appId/tasks/:taskId',
|
|
||||||
component: TaskDetailsComponent,
|
|
||||||
canActivate: [ AuthGuardBpm ]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'apps/:appId/start-process',
|
|
||||||
component: StartProcessComponent,
|
|
||||||
canActivate: [ AuthGuardBpm ]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'documentlist',
|
|
||||||
component: DocumentlistComponent,
|
|
||||||
canActivate: [ AuthGuardEcm ]
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
@NgModule({
|
|
||||||
imports: [
|
|
||||||
BrowserModule,
|
|
||||||
RouterModule.forRoot(
|
|
||||||
appRoutes // ,
|
|
||||||
// { enableTracing: true } // <-- debugging purposes only
|
|
||||||
),
|
|
||||||
|
|
||||||
// ADF modules
|
|
||||||
AdfModule,
|
|
||||||
|
|
||||||
StencilsModule
|
|
||||||
],
|
|
||||||
declarations: [
|
|
||||||
AppComponent,
|
|
||||||
AppsComponent,
|
|
||||||
HomeComponent,
|
|
||||||
LoginComponent,
|
|
||||||
TasksComponent,
|
|
||||||
TaskDetailsComponent,
|
|
||||||
DocumentlistComponent,
|
|
||||||
StartProcessComponent
|
|
||||||
],
|
|
||||||
bootstrap: [AppComponent]
|
|
||||||
})
|
|
||||||
export class AppModule { }
|
|
@@ -1,3 +0,0 @@
|
|||||||
<adf-apps
|
|
||||||
(appClick)="onAppClicked($event)">
|
|
||||||
</adf-apps>
|
|
@@ -1,18 +0,0 @@
|
|||||||
import { Component } from '@angular/core';
|
|
||||||
import { Router } from '@angular/router';
|
|
||||||
import { AppDefinitionRepresentationModel } from '@alfresco/adf-process-services';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-apps',
|
|
||||||
templateUrl: './apps.component.html',
|
|
||||||
styleUrls: ['./apps.component.css']
|
|
||||||
})
|
|
||||||
export class AppsComponent {
|
|
||||||
|
|
||||||
constructor(private router: Router) { }
|
|
||||||
|
|
||||||
onAppClicked(app: AppDefinitionRepresentationModel) {
|
|
||||||
this.router.navigate(['/apps', app.id || 0, 'tasks']);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,31 +0,0 @@
|
|||||||
<adf-toolbar>
|
|
||||||
<adf-toolbar-title>
|
|
||||||
<adf-breadcrumb
|
|
||||||
class="files-breadcrumb"
|
|
||||||
root="Personal Files"
|
|
||||||
[target]="documentList"
|
|
||||||
[folderNode]="documentList.folderNode">
|
|
||||||
</adf-breadcrumb>
|
|
||||||
</adf-toolbar-title>
|
|
||||||
<adf-upload-button
|
|
||||||
[rootFolderId]="documentList.currentFolderId || '-root-'"
|
|
||||||
[adf-node-permission]="'create'"
|
|
||||||
(success)="uploadSuccess($event)">
|
|
||||||
</adf-upload-button>
|
|
||||||
|
|
||||||
</adf-toolbar>
|
|
||||||
|
|
||||||
|
|
||||||
<adf-document-list
|
|
||||||
#documentList
|
|
||||||
[currentFolderId]="'-root-'"
|
|
||||||
(preview)="showPreview($event)">
|
|
||||||
</adf-document-list>
|
|
||||||
|
|
||||||
<adf-viewer
|
|
||||||
[showViewer]="showViewer"
|
|
||||||
[overlayMode]="true"
|
|
||||||
[nodeId]="nodeId"
|
|
||||||
(goBack)="onGoBack($event)">
|
|
||||||
</adf-viewer>
|
|
||||||
<adf-file-uploading-dialog></adf-file-uploading-dialog>
|
|
@@ -1,34 +0,0 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
import { Location } from '@angular/common';
|
|
||||||
import { SpyLocation } from '@angular/common/testing';
|
|
||||||
|
|
||||||
import { AdfModule } from '../adf.module';
|
|
||||||
import { DocumentlistComponent } from './documentlist.component';
|
|
||||||
|
|
||||||
describe('DocumentlistComponent', () => {
|
|
||||||
let component: DocumentlistComponent;
|
|
||||||
let fixture: ComponentFixture<DocumentlistComponent>;
|
|
||||||
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
imports: [
|
|
||||||
AdfModule
|
|
||||||
],
|
|
||||||
declarations: [ DocumentlistComponent ],
|
|
||||||
providers: [
|
|
||||||
{ provide: Location, useClass: SpyLocation }
|
|
||||||
]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(DocumentlistComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should be created', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
@@ -1,41 +0,0 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
|
||||||
import { NotificationService } from '@alfresco/adf-core';
|
|
||||||
import { DocumentListComponent } from '@alfresco/adf-content-services';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-documentlist',
|
|
||||||
templateUrl: './documentlist.component.html',
|
|
||||||
styleUrls: ['./documentlist.component.css']
|
|
||||||
})
|
|
||||||
export class DocumentlistComponent implements OnInit {
|
|
||||||
|
|
||||||
showViewer: Boolean = false;
|
|
||||||
nodeId: String = null;
|
|
||||||
|
|
||||||
@ViewChild(DocumentListComponent)
|
|
||||||
documentList: DocumentListComponent;
|
|
||||||
|
|
||||||
constructor(private notificationService: NotificationService) { }
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
uploadSuccess(event: any) {
|
|
||||||
this.notificationService.openSnackMessage('File uploaded');
|
|
||||||
this.documentList.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
showPreview(event) {
|
|
||||||
this.showViewer = false;
|
|
||||||
if (event.value.entry.isFile) {
|
|
||||||
this.nodeId = event.value.entry.id;
|
|
||||||
this.showViewer = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onGoBack(event: any) {
|
|
||||||
this.showViewer = false;
|
|
||||||
this.nodeId = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1 +0,0 @@
|
|||||||
<h3>Please select a feature in the app menu</h3>
|
|
@@ -1,25 +0,0 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
|
|
||||||
import { HomeComponent } from './home.component';
|
|
||||||
|
|
||||||
describe('HomeComponent', () => {
|
|
||||||
let component: HomeComponent;
|
|
||||||
let fixture: ComponentFixture<HomeComponent>;
|
|
||||||
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
declarations: [ HomeComponent ]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(HomeComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should be created', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
@@ -1,15 +0,0 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-home',
|
|
||||||
templateUrl: './home.component.html',
|
|
||||||
styleUrls: ['./home.component.css']
|
|
||||||
})
|
|
||||||
export class HomeComponent implements OnInit {
|
|
||||||
|
|
||||||
constructor() { }
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,5 +0,0 @@
|
|||||||
<adf-login
|
|
||||||
providers="ALL"
|
|
||||||
copyrightText="© 2017 Alfresco Software, Inc. All Rights Reserved."
|
|
||||||
successRoute="/apps">
|
|
||||||
</adf-login>
|
|
@@ -1,31 +0,0 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
|
||||||
|
|
||||||
import { AdfModule } from '../adf.module';
|
|
||||||
import { LoginComponent } from './login.component';
|
|
||||||
|
|
||||||
describe('LoginComponent', () => {
|
|
||||||
let component: LoginComponent;
|
|
||||||
let fixture: ComponentFixture<LoginComponent>;
|
|
||||||
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
imports: [
|
|
||||||
RouterTestingModule,
|
|
||||||
AdfModule
|
|
||||||
],
|
|
||||||
declarations: [ LoginComponent ]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(LoginComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should be created', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
@@ -1,12 +0,0 @@
|
|||||||
import { Component } from '@angular/core';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-login',
|
|
||||||
templateUrl: './login.component.html',
|
|
||||||
styleUrls: ['./login.component.css']
|
|
||||||
})
|
|
||||||
export class LoginComponent {
|
|
||||||
|
|
||||||
constructor() { }
|
|
||||||
|
|
||||||
}
|
|
@@ -1,5 +0,0 @@
|
|||||||
<adf-start-process
|
|
||||||
[appId]="appId"
|
|
||||||
(start)="onProcessStarted($event)"
|
|
||||||
(cancel)="onCancelStartProcess()">
|
|
||||||
</adf-start-process>
|
|
@@ -1,31 +0,0 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
|
||||||
|
|
||||||
import { AdfModule } from '../adf.module';
|
|
||||||
import { StartProcessComponent } from './start-process.component';
|
|
||||||
|
|
||||||
describe('StartProcessComponent', () => {
|
|
||||||
let component: StartProcessComponent;
|
|
||||||
let fixture: ComponentFixture<StartProcessComponent>;
|
|
||||||
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
imports: [
|
|
||||||
RouterTestingModule,
|
|
||||||
AdfModule
|
|
||||||
],
|
|
||||||
declarations: [ StartProcessComponent ]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(StartProcessComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should create', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
@@ -1,34 +0,0 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
|
||||||
import { ProcessInstance } from '@alfresco/adf-process-services';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-start-process',
|
|
||||||
templateUrl: './start-process.component.html',
|
|
||||||
styleUrls: ['./start-process.component.scss']
|
|
||||||
})
|
|
||||||
export class StartProcessComponent implements OnInit {
|
|
||||||
|
|
||||||
appId: string = null;
|
|
||||||
|
|
||||||
constructor(private router: Router,
|
|
||||||
private route: ActivatedRoute) { }
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
this.route.params.subscribe(params => {
|
|
||||||
if (params.appId && params.appId !== '0') {
|
|
||||||
this.appId = params.appId;
|
|
||||||
} else {
|
|
||||||
this.router.navigate(['/apps']);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onProcessStarted(process: ProcessInstance) {
|
|
||||||
this.router.navigate(['/apps', this.appId || 0, 'tasks']);
|
|
||||||
}
|
|
||||||
|
|
||||||
onCancelStartProcess() {
|
|
||||||
this.router.navigate(['/apps', this.appId || 0, 'tasks']);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,44 +0,0 @@
|
|||||||
/* tslint:disable */
|
|
||||||
|
|
||||||
import { Component, NgModule } from '@angular/core';
|
|
||||||
import { WidgetComponent } from '@alfresco/adf-core';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'custom-editor',
|
|
||||||
template: `
|
|
||||||
<div style="color: red">Look, I'm a custom editor!</div>
|
|
||||||
`
|
|
||||||
})
|
|
||||||
export class CustomEditorComponent extends WidgetComponent {
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'custom-stencil-01',
|
|
||||||
template: `<div style="color: green">ADF version of custom Activiti stencil</div>`
|
|
||||||
})
|
|
||||||
export class CustomStencil01 extends WidgetComponent {
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@NgModule({
|
|
||||||
declarations: [
|
|
||||||
CustomEditorComponent,
|
|
||||||
CustomStencil01
|
|
||||||
],
|
|
||||||
exports: [
|
|
||||||
CustomEditorComponent,
|
|
||||||
CustomStencil01
|
|
||||||
],
|
|
||||||
entryComponents: [
|
|
||||||
CustomEditorComponent,
|
|
||||||
CustomStencil01
|
|
||||||
]
|
|
||||||
})
|
|
||||||
export class StencilsModule {}
|
|
@@ -1,15 +0,0 @@
|
|||||||
<h3>Task details</h3>
|
|
||||||
|
|
||||||
<adf-task-details
|
|
||||||
[taskId]="taskId"
|
|
||||||
(formContentClicked)="onFormContentClick($event)">
|
|
||||||
</adf-task-details>
|
|
||||||
|
|
||||||
<div *ngIf="fileShowed">
|
|
||||||
<adf-viewer
|
|
||||||
[(showViewer)]="fileShowed"
|
|
||||||
[blobFile]="content"
|
|
||||||
[displayName]="contentName"
|
|
||||||
[overlayMode]="true">
|
|
||||||
</adf-viewer>
|
|
||||||
</div>
|
|
@@ -1,31 +0,0 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
|
||||||
|
|
||||||
import { AdfModule } from '../adf.module';
|
|
||||||
import { TaskDetailsComponent } from './task-details.component';
|
|
||||||
|
|
||||||
describe('TaskDetailsComponent', () => {
|
|
||||||
let component: TaskDetailsComponent;
|
|
||||||
let fixture: ComponentFixture<TaskDetailsComponent>;
|
|
||||||
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
imports: [
|
|
||||||
RouterTestingModule,
|
|
||||||
AdfModule
|
|
||||||
],
|
|
||||||
declarations: [ TaskDetailsComponent ]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(TaskDetailsComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should be created', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
@@ -1,42 +0,0 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
|
||||||
import { FormRenderingService } from '@alfresco/adf-core';
|
|
||||||
import { CustomEditorComponent } from '../stencils.module';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-task-details',
|
|
||||||
templateUrl: './task-details.component.html',
|
|
||||||
styleUrls: ['./task-details.component.css']
|
|
||||||
})
|
|
||||||
export class TaskDetailsComponent implements OnInit {
|
|
||||||
|
|
||||||
appId: string = null;
|
|
||||||
taskId: string = null;
|
|
||||||
fileShowed: any = null;
|
|
||||||
content: any = null;
|
|
||||||
contentName: any = null;
|
|
||||||
|
|
||||||
constructor(private router: Router,
|
|
||||||
private route: ActivatedRoute,
|
|
||||||
formRenderingService: FormRenderingService) {
|
|
||||||
formRenderingService.setComponentTypeResolver('testole_01', () => CustomEditorComponent, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
this.route.params.subscribe(params => {
|
|
||||||
if (params.appId && params.appId !== '0') {
|
|
||||||
this.appId = params.appId;
|
|
||||||
}
|
|
||||||
if (params.taskId) {
|
|
||||||
this.taskId = params.taskId;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onFormContentClick(content: any): void {
|
|
||||||
this.fileShowed = true;
|
|
||||||
this.content = content.contentBlob;
|
|
||||||
this.contentName = content.name;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
<h3>Tasks</h3>
|
|
||||||
|
|
||||||
<a *ngIf="appId" md-button href="" routerLink="/apps/{{appId}}/start-process">
|
|
||||||
Start new process
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<adf-tasklist
|
|
||||||
[appId]="appId"
|
|
||||||
state="open"
|
|
||||||
assignment="assignee"
|
|
||||||
(rowClick)="onRowClick($event)">
|
|
||||||
</adf-tasklist>
|
|
@@ -1,31 +0,0 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
|
||||||
|
|
||||||
import { AdfModule } from '../adf.module';
|
|
||||||
import { TasksComponent } from './tasks.component';
|
|
||||||
|
|
||||||
describe('TasksComponent', () => {
|
|
||||||
let component: TasksComponent;
|
|
||||||
let fixture: ComponentFixture<TasksComponent>;
|
|
||||||
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
imports: [
|
|
||||||
RouterTestingModule,
|
|
||||||
AdfModule
|
|
||||||
],
|
|
||||||
declarations: [ TasksComponent ]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(TasksComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should be created', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
@@ -1,31 +0,0 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-tasks',
|
|
||||||
templateUrl: './tasks.component.html',
|
|
||||||
styleUrls: ['./tasks.component.css']
|
|
||||||
})
|
|
||||||
export class TasksComponent implements OnInit {
|
|
||||||
|
|
||||||
appId: string = null;
|
|
||||||
|
|
||||||
constructor(private router: Router,
|
|
||||||
private route: ActivatedRoute) { }
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
this.route.params.subscribe(params => {
|
|
||||||
const applicationId = params['appId'];
|
|
||||||
if (applicationId && applicationId !== '0') {
|
|
||||||
this.appId = params['appId'];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onRowClick(taskId: string) {
|
|
||||||
if (taskId) {
|
|
||||||
this.router.navigate(['/apps', this.appId || 0, 'tasks', taskId]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,33 +0,0 @@
|
|||||||
@import '~@alfresco/adf-core/prebuilt-themes/adf-blue-orange.css';
|
|
||||||
|
|
||||||
|
|
||||||
@import '~@alfresco/adf-content-services/theming';
|
|
||||||
@import '~@alfresco/adf-process-services/theming';
|
|
||||||
@import '~@alfresco/adf-core/theming';
|
|
||||||
|
|
||||||
@import '~@angular/material/theming';
|
|
||||||
|
|
||||||
@include mat-core($alfresco-typography);
|
|
||||||
|
|
||||||
$primary: mat-palette($alfresco-accent-orange);
|
|
||||||
$accent: mat-palette($alfresco-accent-purple);
|
|
||||||
$warn: mat-palette($alfresco-warn);
|
|
||||||
$theme: mat-light-theme($primary, $accent, $warn);
|
|
||||||
|
|
||||||
@include angular-material-theme($theme);
|
|
||||||
@include adf-content-services-theme($theme);
|
|
||||||
@include adf-process-services-theme($theme);
|
|
||||||
@include adf-core-theme($theme);
|
|
||||||
|
|
||||||
body, html {
|
|
||||||
margin: 0;
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: mat-font-size($alfresco-typography, body-1);
|
|
||||||
font-family: mat-font-family($alfresco-typography);
|
|
||||||
line-height: mat-line-height($alfresco-typography, body-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
export const environment = {
|
|
||||||
production: true
|
|
||||||
};
|
|
@@ -1,8 +0,0 @@
|
|||||||
// The file contents for the current environment will overwrite these during build.
|
|
||||||
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
|
|
||||||
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
|
|
||||||
// The list of which env maps to which file can be found in `.angular-cli.json`.
|
|
||||||
|
|
||||||
export const environment = {
|
|
||||||
production: false
|
|
||||||
};
|
|
Binary file not shown.
Before Width: | Height: | Size: 9.6 KiB |
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>ACS APS ADF Application with Angular CLI</title>
|
|
||||||
<base href="/">
|
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<link rel="icon" type="image/png" href="favicon-96x96.png" sizes="96x96">
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Muli" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<app-root></app-root>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@@ -1,22 +0,0 @@
|
|||||||
import { enableProdMode } from '@angular/core';
|
|
||||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
||||||
|
|
||||||
import { AppModule } from './app/app.module';
|
|
||||||
import { environment } from './environments/environment';
|
|
||||||
import { PDFJSStatic } from 'pdfjs-dist';
|
|
||||||
|
|
||||||
declare global {
|
|
||||||
const PDFJS: PDFJSStatic;
|
|
||||||
}
|
|
||||||
|
|
||||||
import 'hammerjs';
|
|
||||||
import 'chart.js';
|
|
||||||
import 'ng2-charts';
|
|
||||||
|
|
||||||
PDFJS.workerSrc = 'pdf.worker.js';
|
|
||||||
|
|
||||||
if (environment.production) {
|
|
||||||
enableProdMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
platformBrowserDynamic().bootstrapModule(AppModule);
|
|
@@ -1,72 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file includes polyfills needed by Angular and is loaded before the app.
|
|
||||||
* You can add your own extra polyfills to this file.
|
|
||||||
*
|
|
||||||
* This file is divided into 2 sections:
|
|
||||||
* 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
|
|
||||||
* 2. Application imports. Files imported after ZoneJS that should be loaded before your main
|
|
||||||
* file.
|
|
||||||
*
|
|
||||||
* The current setup is for so-called "evergreen" browsers; the last versions of browsers that
|
|
||||||
* automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
|
|
||||||
* Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
|
|
||||||
*
|
|
||||||
* Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
/***************************************************************************************************
|
|
||||||
* BROWSER POLYFILLS
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
|
|
||||||
// import 'core-js/es6/symbol';
|
|
||||||
// import 'core-js/es6/object';
|
|
||||||
// import 'core-js/es6/function';
|
|
||||||
// import 'core-js/es6/parse-int';
|
|
||||||
// import 'core-js/es6/parse-float';
|
|
||||||
// import 'core-js/es6/number';
|
|
||||||
// import 'core-js/es6/math';
|
|
||||||
// import 'core-js/es6/string';
|
|
||||||
// import 'core-js/es6/date';
|
|
||||||
// import 'core-js/es6/array';
|
|
||||||
// import 'core-js/es6/regexp';
|
|
||||||
// import 'core-js/es6/map';
|
|
||||||
// import 'core-js/es6/weak-map';
|
|
||||||
// import 'core-js/es6/set';
|
|
||||||
|
|
||||||
/** IE10 and IE11 requires the following for NgClass support on SVG elements */
|
|
||||||
// import 'classlist.js'; // Run `npm install --save classlist.js`.
|
|
||||||
|
|
||||||
/** Evergreen browsers require these. **/
|
|
||||||
import 'core-js/es6/reflect';
|
|
||||||
import 'core-js/es7/reflect';
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Required to support Web Animations `@angular/animation`.
|
|
||||||
* Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
|
|
||||||
**/
|
|
||||||
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************************************
|
|
||||||
* Zone JS is required by Angular itself.
|
|
||||||
*/
|
|
||||||
import 'zone.js/dist/zone'; // Included with Angular CLI.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************************************
|
|
||||||
* APPLICATION IMPORTS
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Date, currency, decimal and percent pipes.
|
|
||||||
* Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10
|
|
||||||
*/
|
|
||||||
// import 'intl'; // Run `npm install --save intl`.
|
|
||||||
/**
|
|
||||||
* Need to import at least one locale-data with intl.
|
|
||||||
*/
|
|
||||||
// import 'intl/locale-data/jsonp/en';
|
|
@@ -1,32 +0,0 @@
|
|||||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
|
||||||
|
|
||||||
import 'zone.js/dist/long-stack-trace-zone';
|
|
||||||
import 'zone.js/dist/proxy.js';
|
|
||||||
import 'zone.js/dist/sync-test';
|
|
||||||
import 'zone.js/dist/jasmine-patch';
|
|
||||||
import 'zone.js/dist/async-test';
|
|
||||||
import 'zone.js/dist/fake-async-test';
|
|
||||||
import { getTestBed } from '@angular/core/testing';
|
|
||||||
import {
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting
|
|
||||||
} from '@angular/platform-browser-dynamic/testing';
|
|
||||||
|
|
||||||
// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
|
|
||||||
declare const __karma__: any;
|
|
||||||
declare const require: any;
|
|
||||||
|
|
||||||
// Prevent Karma from running prematurely.
|
|
||||||
__karma__.loaded = function () {};
|
|
||||||
|
|
||||||
// First, initialize the Angular testing environment.
|
|
||||||
getTestBed().initTestEnvironment(
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting()
|
|
||||||
);
|
|
||||||
// Then we find all the tests.
|
|
||||||
const context = require.context('./', true, /\.spec\.ts$/);
|
|
||||||
// And load the modules.
|
|
||||||
context.keys().map(context);
|
|
||||||
// Finally, start Karma to run the tests.
|
|
||||||
__karma__.start();
|
|
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "../tsconfig.json",
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "../out-tsc/app",
|
|
||||||
"module": "es2015",
|
|
||||||
"rootDir": "..",
|
|
||||||
"baseUrl": ".",
|
|
||||||
"skipLibCheck": false,
|
|
||||||
"types": []
|
|
||||||
},
|
|
||||||
"exclude": [
|
|
||||||
"test.ts",
|
|
||||||
"**/*.spec.ts"
|
|
||||||
],
|
|
||||||
"angularCompilerOptions": {
|
|
||||||
"skipTemplateCodegen": false
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "../tsconfig.json",
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "../out-tsc/spec",
|
|
||||||
"module": "es2015",
|
|
||||||
"rootDir": "..",
|
|
||||||
"baseUrl": ".",
|
|
||||||
"skipLibCheck": false,
|
|
||||||
"types": []
|
|
||||||
},
|
|
||||||
"exclude": [
|
|
||||||
"test.ts",
|
|
||||||
"**/*.spec.ts"
|
|
||||||
],
|
|
||||||
"angularCompilerOptions": {
|
|
||||||
"skipTemplateCodegen": false
|
|
||||||
}
|
|
||||||
}
|
|
5
integration/base_ver_2_app/src/typings.d.ts
vendored
5
integration/base_ver_2_app/src/typings.d.ts
vendored
@@ -1,5 +0,0 @@
|
|||||||
/* SystemJS module definition */
|
|
||||||
declare var module: NodeModule;
|
|
||||||
interface NodeModule {
|
|
||||||
id: string;
|
|
||||||
}
|
|
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"compileOnSave": false,
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "./dist/out-tsc",
|
|
||||||
"baseUrl": "src",
|
|
||||||
"sourceMap": true,
|
|
||||||
"declaration": false,
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"emitDecoratorMetadata": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"skipLibCheck": true,
|
|
||||||
"noUnusedLocals": false,
|
|
||||||
"target": "es5",
|
|
||||||
"typeRoots": [
|
|
||||||
"node_modules/@types"
|
|
||||||
],
|
|
||||||
"lib": [
|
|
||||||
"es2016",
|
|
||||||
"dom"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,142 +0,0 @@
|
|||||||
{
|
|
||||||
"rulesDirectory": [
|
|
||||||
"node_modules/codelyzer"
|
|
||||||
],
|
|
||||||
"rules": {
|
|
||||||
"arrow-return-shorthand": true,
|
|
||||||
"callable-types": true,
|
|
||||||
"class-name": true,
|
|
||||||
"comment-format": [
|
|
||||||
true,
|
|
||||||
"check-space"
|
|
||||||
],
|
|
||||||
"curly": true,
|
|
||||||
"eofline": true,
|
|
||||||
"forin": true,
|
|
||||||
"import-blacklist": [
|
|
||||||
true,
|
|
||||||
"rxjs"
|
|
||||||
],
|
|
||||||
"import-spacing": true,
|
|
||||||
"indent": [
|
|
||||||
true,
|
|
||||||
"spaces"
|
|
||||||
],
|
|
||||||
"interface-over-type-literal": true,
|
|
||||||
"label-position": true,
|
|
||||||
"max-line-length": [
|
|
||||||
true,
|
|
||||||
140
|
|
||||||
],
|
|
||||||
"member-access": false,
|
|
||||||
"member-ordering": [
|
|
||||||
true,
|
|
||||||
{
|
|
||||||
"order": [
|
|
||||||
"static-field",
|
|
||||||
"instance-field",
|
|
||||||
"static-method",
|
|
||||||
"instance-method"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"no-arg": true,
|
|
||||||
"no-bitwise": true,
|
|
||||||
"no-console": [
|
|
||||||
true,
|
|
||||||
"debug",
|
|
||||||
"info",
|
|
||||||
"time",
|
|
||||||
"timeEnd",
|
|
||||||
"trace"
|
|
||||||
],
|
|
||||||
"no-construct": true,
|
|
||||||
"no-debugger": true,
|
|
||||||
"no-duplicate-super": true,
|
|
||||||
"no-empty": false,
|
|
||||||
"no-empty-interface": true,
|
|
||||||
"no-eval": true,
|
|
||||||
"no-inferrable-types": [
|
|
||||||
true,
|
|
||||||
"ignore-params"
|
|
||||||
],
|
|
||||||
"no-misused-new": true,
|
|
||||||
"no-non-null-assertion": true,
|
|
||||||
"no-shadowed-variable": true,
|
|
||||||
"no-string-literal": false,
|
|
||||||
"no-string-throw": true,
|
|
||||||
"no-switch-case-fall-through": true,
|
|
||||||
"no-trailing-whitespace": true,
|
|
||||||
"no-unnecessary-initializer": true,
|
|
||||||
"no-unused-expression": true,
|
|
||||||
"no-use-before-declare": true,
|
|
||||||
"no-var-keyword": true,
|
|
||||||
"object-literal-sort-keys": false,
|
|
||||||
"one-line": [
|
|
||||||
true,
|
|
||||||
"check-open-brace",
|
|
||||||
"check-catch",
|
|
||||||
"check-else",
|
|
||||||
"check-whitespace"
|
|
||||||
],
|
|
||||||
"prefer-const": true,
|
|
||||||
"quotemark": [
|
|
||||||
true,
|
|
||||||
"single"
|
|
||||||
],
|
|
||||||
"radix": true,
|
|
||||||
"semicolon": [
|
|
||||||
true,
|
|
||||||
"always"
|
|
||||||
],
|
|
||||||
"triple-equals": [
|
|
||||||
true,
|
|
||||||
"allow-null-check"
|
|
||||||
],
|
|
||||||
"typedef-whitespace": [
|
|
||||||
true,
|
|
||||||
{
|
|
||||||
"call-signature": "nospace",
|
|
||||||
"index-signature": "nospace",
|
|
||||||
"parameter": "nospace",
|
|
||||||
"property-declaration": "nospace",
|
|
||||||
"variable-declaration": "nospace"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"typeof-compare": true,
|
|
||||||
"unified-signatures": true,
|
|
||||||
"variable-name": false,
|
|
||||||
"whitespace": [
|
|
||||||
true,
|
|
||||||
"check-branch",
|
|
||||||
"check-decl",
|
|
||||||
"check-operator",
|
|
||||||
"check-separator",
|
|
||||||
"check-type"
|
|
||||||
],
|
|
||||||
"directive-selector": [
|
|
||||||
true,
|
|
||||||
"attribute",
|
|
||||||
"app",
|
|
||||||
"camelCase"
|
|
||||||
],
|
|
||||||
"component-selector": [
|
|
||||||
true,
|
|
||||||
"element",
|
|
||||||
"app",
|
|
||||||
"kebab-case"
|
|
||||||
],
|
|
||||||
"use-input-property-decorator": true,
|
|
||||||
"use-output-property-decorator": true,
|
|
||||||
"use-host-property-decorator": true,
|
|
||||||
"no-input-rename": true,
|
|
||||||
"no-output-rename": true,
|
|
||||||
"use-life-cycle-interface": true,
|
|
||||||
"use-pipe-transform-interface": true,
|
|
||||||
"component-class-suffix": true,
|
|
||||||
"directive-class-suffix": true,
|
|
||||||
"no-access-missing-member": true,
|
|
||||||
"templates-use-public": true,
|
|
||||||
"invoke-injectable": true
|
|
||||||
}
|
|
||||||
}
|
|
@@ -42,6 +42,7 @@
|
|||||||
[target]="documentList"
|
[target]="documentList"
|
||||||
[transform]="breadcrumbTransform"
|
[transform]="breadcrumbTransform"
|
||||||
[folderNode]="breadcrumbFolderNode"
|
[folderNode]="breadcrumbFolderNode"
|
||||||
|
[root]="breadcrumbFolderTitle"
|
||||||
data-automation-id="content-node-selector-content-breadcrumb">
|
data-automation-id="content-node-selector-content-breadcrumb">
|
||||||
</adf-dropdown-breadcrumb>
|
</adf-dropdown-breadcrumb>
|
||||||
</adf-toolbar-title>
|
</adf-toolbar-title>
|
||||||
|
@@ -153,6 +153,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit {
|
|||||||
inDialog: boolean = false;
|
inDialog: boolean = false;
|
||||||
_chosenNode: Node = null;
|
_chosenNode: Node = null;
|
||||||
folderIdToShow: string | null = null;
|
folderIdToShow: string | null = null;
|
||||||
|
breadcrumbFolderTitle: string | null = null;
|
||||||
|
|
||||||
pagination: PaginationModel = this.DEFAULT_PAGINATION;
|
pagination: PaginationModel = this.DEFAULT_PAGINATION;
|
||||||
|
|
||||||
@@ -234,6 +235,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
siteChanged(chosenSite: SiteEntry): void {
|
siteChanged(chosenSite: SiteEntry): void {
|
||||||
this.siteId = chosenSite.entry.guid;
|
this.siteId = chosenSite.entry.guid;
|
||||||
|
this.setTitleIfCustomSite(chosenSite);
|
||||||
this.updateResults();
|
this.updateResults();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -409,4 +411,12 @@ export class ContentNodeSelectorPanelComponent implements OnInit {
|
|||||||
onNodeSelect(event: any): void {
|
onNodeSelect(event: any): void {
|
||||||
this.attemptNodeSelection(event.detail.node.entry);
|
this.attemptNodeSelection(event.detail.node.entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setTitleIfCustomSite(site: SiteEntry) {
|
||||||
|
if (this.customResourcesService.isCustomSource(site.entry.guid)) {
|
||||||
|
this.breadcrumbFolderTitle = site.entry.title;
|
||||||
|
} else {
|
||||||
|
this.breadcrumbFolderTitle = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,10 +2,8 @@
|
|||||||
$foreground: map-get($theme, foreground);
|
$foreground: map-get($theme, foreground);
|
||||||
|
|
||||||
.adf-name-location-cell {
|
.adf-name-location-cell {
|
||||||
|
display: grid;
|
||||||
&-location {
|
&-location {
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
color: mat-color($foreground, base, 0.5);
|
color: mat-color($foreground, base, 0.5);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
@@ -21,8 +21,8 @@ import { DataRow } from '@alfresco/adf-core';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'adf-name-location-cell',
|
selector: 'adf-name-location-cell',
|
||||||
template: `
|
template: `
|
||||||
<div class="adf-name-location-cell-name">{{ name }}</div>
|
<div class="adf-name-location-cell-name adf-datatable-cell-value">{{ name }}</div>
|
||||||
<div class="adf-name-location-cell-location" [title]="path">{{ path }}</div>
|
<div class="adf-name-location-cell-location adf-datatable-cell-value" [title]="path">{{ path }}</div>
|
||||||
`,
|
`,
|
||||||
styleUrls: ['./name-location-cell.component.scss'],
|
styleUrls: ['./name-location-cell.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
|
@@ -14,8 +14,8 @@
|
|||||||
<data-columns>
|
<data-columns>
|
||||||
<data-column [class] = "'adf-key-icon'" key="icon" type="icon" [sortable]="false">
|
<data-column [class] = "'adf-key-icon'" key="icon" type="icon" [sortable]="false">
|
||||||
</data-column>
|
</data-column>
|
||||||
<data-column [class]= "'adf-authorityId-label adf-ellipsis-cell'" title="{{'PERMISSION_MANAGER.PERMISSION_DISPLAY.AUTHORITY_ID' | translate}}" key="authorityId"></data-column>
|
<data-column [class]= "'adf-authorityId-label adf-ellipsis-cell adf-expand-cell-2'" title="{{'PERMISSION_MANAGER.PERMISSION_DISPLAY.AUTHORITY_ID' | translate}}" key="authorityId"></data-column>
|
||||||
<data-column [class]="'adf-role-label'" title="{{'PERMISSION_MANAGER.PERMISSION_DISPLAY.ROLE' | translate}}" key="name">
|
<data-column [class]="'adf-ellipsis-cell adf-expand-cell-1'" title="{{'PERMISSION_MANAGER.PERMISSION_DISPLAY.ROLE' | translate}}" key="name">
|
||||||
<ng-template let-entry="$implicit">
|
<ng-template let-entry="$implicit">
|
||||||
<mat-form-field *ngIf="!entry.row.getValue('isInherited') else show_only_label">
|
<mat-form-field *ngIf="!entry.row.getValue('isInherited') else show_only_label">
|
||||||
<mat-select id="adf-select-role-permission"
|
<mat-select id="adf-select-role-permission"
|
||||||
|
@@ -20,10 +20,6 @@
|
|||||||
max-width: 50px;
|
max-width: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&-role-label {
|
|
||||||
max-width: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&-ellipsis-cell {
|
&-ellipsis-cell {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
@@ -40,7 +40,7 @@ describe('SearchSortingPickerComponent', () => {
|
|||||||
<any> { 'key': 'description', 'label': 'Description', 'type': 'FIELD', 'field': 'cm:description', 'ascending': true }
|
<any> { 'key': 'description', 'label': 'Description', 'type': 'FIELD', 'field': 'cm:description', 'ascending': true }
|
||||||
],
|
],
|
||||||
defaults: [
|
defaults: [
|
||||||
<any> { 'key': 'name', 'type': 'FIELD', 'field': 'cm:name', 'ascending': true }
|
<any> { 'key': 'name', 'type': 'FIELD', 'field': 'cm:name', 'ascending': false }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
categories: [
|
categories: [
|
||||||
@@ -64,7 +64,7 @@ describe('SearchSortingPickerComponent', () => {
|
|||||||
component.ngOnInit();
|
component.ngOnInit();
|
||||||
|
|
||||||
expect(component.value).toEqual('name');
|
expect(component.value).toEqual('name');
|
||||||
expect(component.ascending).toBeTruthy();
|
expect(component.ascending).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should update query builder each time selection is changed', () => {
|
it('should update query builder each time selection is changed', () => {
|
||||||
|
@@ -39,7 +39,7 @@ export class SearchSortingPickerComponent implements OnInit {
|
|||||||
const primary = this.queryBuilder.getPrimarySorting();
|
const primary = this.queryBuilder.getPrimarySorting();
|
||||||
if (primary) {
|
if (primary) {
|
||||||
this.value = primary.key;
|
this.value = primary.key;
|
||||||
this.ascending = this.getSortingOrder();
|
this.ascending = primary.ascending;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user