Pre-Angular upgrade fixes (#5709)

* code fixes

* code fixes

* more code fixes

* even more fixes

* add missing typescript for cli

* rollback info drawer test changes

* use npx for cli commands

* restore attach providers
This commit is contained in:
Denys Vuika
2020-05-18 14:02:15 +01:00
committed by GitHub
parent 1def8000f0
commit 347e64fd91
150 changed files with 645 additions and 461 deletions

View File

@@ -261,6 +261,7 @@
}, },
"assets": [ "assets": [
"demo-shell/src/assets", "demo-shell/src/assets",
"demo-shell/src/favicon-96x96.png",
"demo-shell/src/app.config.json", "demo-shell/src/app.config.json",
{ {
"glob": "**/*", "glob": "**/*",
@@ -430,6 +431,7 @@
], ],
"assets": [ "assets": [
"demo-shell/src/assets", "demo-shell/src/assets",
"demo-shell/src/favicon-96x96.png",
"demo-shell/src/app.config.json", "demo-shell/src/app.config.json",
{ {
"glob": "**/*", "glob": "**/*",

View File

@@ -6,6 +6,7 @@
"target": "es5", "target": "es5",
"types":[ "types":[
"jasmine", "jasmine",
"jasminewd2",
"node" "node"
] ]
} }

View File

@@ -55,7 +55,6 @@ import { TaskAttachmentsComponent } from './components/process-service/task-atta
import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component'; import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component'; import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component'; import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { PreviewService } from './services/preview.service';
import { ReportIssueComponent } from './components/report-issue/report-issue.component'; import { ReportIssueComponent } from './components/report-issue/report-issue.component';
import { MonacoEditorModule } from 'ngx-monaco-editor'; import { MonacoEditorModule } from 'ngx-monaco-editor';
import { ContentModule } from '@alfresco/adf-content-services'; import { ContentModule } from '@alfresco/adf-content-services';
@@ -211,9 +210,7 @@ registerLocaleData(localeSv);
name: 'lazy-loading', name: 'lazy-loading',
source: 'resources/lazy-loading' source: 'resources/lazy-loading'
} }
}, }
PreviewService,
CoreAutomationService
], ],
entryComponents: [ entryComponents: [
VersionManagerDialogAdapterComponent, VersionManagerDialogAdapterComponent,

View File

@@ -16,8 +16,7 @@
*/ */
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute, Params } from '@angular/router';
import { Params } from '@angular/router/src/shared';
@Component({ @Component({
selector: 'app-cloud-viewer', selector: 'app-cloud-viewer',

View File

@@ -17,7 +17,7 @@
[id]="editedFilter.processInstanceId" [id]="editedFilter.processInstanceId"
[status]="editedFilter.status" [status]="editedFilter.status"
[name]="editedFilter.processName" [name]="editedFilter.processName"
[businessKey]="editedFilter.businessKey" [businessKey]="editedFilter['businessKey']"
[lastModifiedFrom]="editedFilter.lastModifiedFrom" [lastModifiedFrom]="editedFilter.lastModifiedFrom"
[lastModifiedTo]="editedFilter.lastModifiedTo" [lastModifiedTo]="editedFilter.lastModifiedTo"
[sorting]="sortArray" [sorting]="sortArray"

View File

@@ -50,7 +50,7 @@ export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy {
selectedRow: any; selectedRow: any;
multiselect: boolean; multiselect: boolean;
selectionMode: string; selectionMode: string;
selectedRows: string[] = []; selectedRows: any[] = [];
testingMode: boolean; testingMode: boolean;
processFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] }; processFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] };

View File

@@ -19,7 +19,7 @@
[id]="editedFilter.processInstanceId" [id]="editedFilter.processInstanceId"
[status]="editedFilter.status" [status]="editedFilter.status"
[name]="editedFilter.processName" [name]="editedFilter.processName"
[businessKey]="editedFilter.businessKey" [businessKey]="editedFilter['businessKey']"
[lastModifiedFrom]="editedFilter.lastModifiedFrom" [lastModifiedFrom]="editedFilter.lastModifiedFrom"
[lastModifiedTo]="editedFilter.lastModifiedTo" [lastModifiedTo]="editedFilter.lastModifiedTo"
[sorting]="sortArray" [sorting]="sortArray"

View File

@@ -54,7 +54,7 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
selectedRow: any; selectedRow: any;
multiselect: boolean; multiselect: boolean;
selectionMode: string; selectionMode: string;
selectedRows: string[] = []; selectedRows: any[] = [];
testingMode: boolean; testingMode: boolean;
actionMenu: boolean; actionMenu: boolean;
contextMenu: boolean; contextMenu: boolean;

View File

@@ -108,7 +108,7 @@
<mat-card> <mat-card>
<mat-card-content> <mat-card-content>
<adf-version-manager [node]="node" <adf-version-manager [node]="node"
(uploadError)="uploadError($event)"> (uploadError)="onUploadError($event)">
</adf-version-manager> </adf-version-manager>
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>

View File

@@ -446,7 +446,7 @@
<adf-infinite-pagination <adf-infinite-pagination
[hidden]="!infiniteScrolling" [hidden]="!infiniteScrolling"
[target]="documentList" [target]="documentList"
[loading]="documentList.infiniteLoading"> [loading]="documentList.loading">
{{ 'ADF-DOCUMENT-LIST.LAYOUT.LOAD_MORE' | translate }} {{ 'ADF-DOCUMENT-LIST.LAYOUT.LOAD_MORE' | translate }}
</adf-infinite-pagination> </adf-infinite-pagination>
</adf-upload-drag-area> </adf-upload-drag-area>

View File

@@ -99,7 +99,7 @@
<div>{{ number | adfDecimalNumber : decimalValues }} </div> <div>{{ number | adfDecimalNumber : decimalValues }} </div>
<br> <br>
<h3>AdfDecimalNumber Pipe - Custom locale</h3> <h3>AdfDecimalNumber Pipe - Custom locale</h3>
<div>{{ number | adfDecimalNumber : {} : locale }} </div> <div>{{ number | adfDecimalNumber : null : locale }} </div>
<br> <br>
<h3>AdfDecimalNumber Pipe - Custom digits config and locale</h3> <h3>AdfDecimalNumber Pipe - Custom digits config and locale</h3>
<div>{{ number | adfDecimalNumber : decimalValues : locale }} </div> <div>{{ number | adfDecimalNumber : decimalValues : locale }} </div>

View File

@@ -16,7 +16,7 @@
</div> </div>
</adf-sidebar-action-menu> </adf-sidebar-action-menu>
</div> </div>
<mat-accordion class="app-accordion-panel" [displayMode]="flat"> <mat-accordion class="app-accordion-panel" displayMode="flat">
<mat-expansion-panel class="mat-elevation-z0" [expanded]="true"> <mat-expansion-panel class="mat-elevation-z0" [expanded]="true">
<mat-expansion-panel-header> <mat-expansion-panel-header>
<mat-panel-title> <mat-panel-title>
@@ -132,7 +132,7 @@
</div> </div>
</adf-sidebar-action-menu> </adf-sidebar-action-menu>
</div> </div>
<mat-accordion class="app-accordion-panel" [displayMode]="flat"> <mat-accordion class="app-accordion-panel" displayMode="flat">
<mat-expansion-panel class="mat-elevation-z0" [expanded]="true"> <mat-expansion-panel class="mat-elevation-z0" [expanded]="true">
<mat-expansion-panel-header> <mat-expansion-panel-header>
<mat-panel-title> <mat-panel-title>

View File

@@ -17,12 +17,11 @@
import { QueryBody } from '@alfresco/js-api'; import { QueryBody } from '@alfresco/js-api';
import { SearchConfigurationInterface } from '@alfresco/adf-core'; import { SearchConfigurationInterface } from '@alfresco/adf-core';
import { Injectable } from '@angular/core';
@Injectable()
export class TestSearchConfigurationService implements SearchConfigurationInterface { export class TestSearchConfigurationService implements SearchConfigurationInterface {
constructor() {
}
public generateQueryBody(searchTerm: string, maxResults: number, skipCount: number): QueryBody { public generateQueryBody(searchTerm: string, maxResults: number, skipCount: number): QueryBody {
const defaultQueryBody: QueryBody = { const defaultQueryBody: QueryBody = {
query: { query: {

View File

@@ -11,7 +11,7 @@
class="app-example-card-search-container"> class="app-example-card-search-container">
<ng-template let-data> <ng-template let-data>
<mat-card class="app-example-card" <mat-card class="app-example-card"
*ngFor="let item of data?.list?.entries; let idx = index" (click)="onClick(item)"> *ngFor="let item of data?.list?.entries; let idx = index">
<mat-card-header> <mat-card-header>
<div mat-card-avatar class="app-example-header-image"></div> <div mat-card-avatar class="app-example-header-image"></div>
<mat-card-title>{{ item?.entry.name }}</mat-card-title> <mat-card-title>{{ item?.entry.name }}</mat-card-title>

View File

@@ -21,7 +21,7 @@ import { Injectable } from '@angular/core';
* Class for managing stylesheets. Stylesheets are loaded into named slots so that they can be * Class for managing stylesheets. Stylesheets are loaded into named slots so that they can be
* removed or changed later. * removed or changed later.
*/ */
@Injectable() @Injectable({ providedIn: 'root' })
export class StyleManager { export class StyleManager {
/** /**
* Set the stylesheet with the specified key. * Set the stylesheet with the specified key.

View File

@@ -144,8 +144,7 @@ export class ThemePickerComponent {
CommonModule CommonModule
], ],
exports: [ThemePickerComponent], exports: [ThemePickerComponent],
declarations: [ThemePickerComponent], declarations: [ThemePickerComponent]
providers: [StyleManager, ThemeStorage]
}) })
export class ThemePickerModule { export class ThemePickerModule {
} }

View File

@@ -26,13 +26,13 @@ export interface DocsSiteTheme {
isDefault?: boolean; isDefault?: boolean;
} }
@Injectable() @Injectable({ providedIn: 'root' })
export class ThemeStorage { export class ThemeStorage {
static storageKey = 'docs-theme-storage-current'; static storageKey = 'docs-theme-storage-current';
public onThemeUpdate: EventEmitter<DocsSiteTheme> = new EventEmitter<DocsSiteTheme>(); onThemeUpdate = new EventEmitter<DocsSiteTheme>();
public storeTheme(theme: DocsSiteTheme) { storeTheme(theme: DocsSiteTheme) {
try { try {
window.localStorage[ThemeStorage.storageKey] = JSON.stringify(theme); window.localStorage[ThemeStorage.storageKey] = JSON.stringify(theme);
} catch (e) { } } catch (e) { }
@@ -40,7 +40,7 @@ export class ThemeStorage {
this.onThemeUpdate.emit(theme); this.onThemeUpdate.emit(theme);
} }
public getStoredTheme(): DocsSiteTheme { getStoredTheme(): DocsSiteTheme {
try { try {
return JSON.parse(window.localStorage[ThemeStorage.storageKey] || null); return JSON.parse(window.localStorage[ThemeStorage.storageKey] || null);
} catch (e) { } catch (e) {
@@ -48,7 +48,7 @@ export class ThemeStorage {
} }
} }
public clearStorage() { clearStorage() {
try { try {
window.localStorage.removeItem(ThemeStorage.storageKey); window.localStorage.removeItem(ThemeStorage.storageKey);
} catch (e) { } } catch (e) { }

View File

@@ -18,7 +18,7 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
@Injectable() @Injectable({ providedIn: 'root' })
export class PreviewService { export class PreviewService {
public content: Blob = null; public content: Blob = null;

View File

@@ -2957,6 +2957,12 @@
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
}, },
"typescript": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz",
"integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==",
"dev": true
},
"union-value": { "union-value": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",

View File

@@ -35,6 +35,7 @@
], ],
"license": "Apache-2.0", "license": "Apache-2.0",
"devDependencies": { "devDependencies": {
"@types/shelljs": "^0.8.7" "@types/shelljs": "^0.8.7",
"typescript": "3.1.6"
} }
} }

View File

@@ -2,7 +2,6 @@
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json", "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../dist/content-services", "dest": "../dist/content-services",
"lib": { "lib": {
"languageLevel": [ "dom", "es2017" ],
"entryFile": "src/public-api.ts", "entryFile": "src/public-api.ts",
"flatModuleFile": "adf-content-services", "flatModuleFile": "adf-content-services",
"umdModuleIds": { "umdModuleIds": {

View File

@@ -15,6 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
export * from './components/content-metadata/content-metadata.component';
export * from './components/content-metadata-card/content-metadata-card.component'; export * from './components/content-metadata-card/content-metadata-card.component';
export * from './services/basic-properties.service'; export * from './services/basic-properties.service';
export * from './services/content-metadata.service'; export * from './services/content-metadata.service';

View File

@@ -37,19 +37,14 @@ describe('PropertyGroupTranslatorService', () => {
let propertyGroup: OrganisedPropertyGroup; let propertyGroup: OrganisedPropertyGroup;
let property: Property; let property: Property;
let propertyValues: { [key: string]: any }; let propertyValues: { [key: string]: any };
let logService: LogService;
setupTestBed({ setupTestBed({
imports: [ContentTestingModule], imports: [ContentTestingModule]
providers: [
{
provide: LogService, useValue: {
error: () => {}
}
}
]
}); });
beforeEach(() => { beforeEach(() => {
logService = TestBed.get(LogService);
service = TestBed.get(PropertyGroupTranslatorService); service = TestBed.get(PropertyGroupTranslatorService);
property = { property = {
@@ -135,7 +130,6 @@ describe('PropertyGroupTranslatorService', () => {
}); });
it('should log an error if unrecognised type is found', () => { it('should log an error if unrecognised type is found', () => {
const logService = TestBed.get(LogService);
spyOn(logService, 'error').and.stub(); spyOn(logService, 'error').and.stub();
property.name = 'FAS:PLAGUE'; property.name = 'FAS:PLAGUE';

View File

@@ -16,3 +16,4 @@
*/ */
export * from './content-directive.module'; export * from './content-directive.module';
export * from './node-lock.directive';

View File

@@ -19,58 +19,16 @@ import { DataColumn, DataRow, DataSorting, ContentService, ThumbnailService, set
import { FileNode, FolderNode, SmartFolderNode, RuleFolderNode, LinkFolderNode } from './../../mock'; import { FileNode, FolderNode, SmartFolderNode, RuleFolderNode, LinkFolderNode } from './../../mock';
import { ShareDataRow } from './share-data-row.model'; import { ShareDataRow } from './share-data-row.model';
import { ShareDataTableAdapter } from './share-datatable-adapter'; import { ShareDataTableAdapter } from './share-datatable-adapter';
import { DomSanitizer } from '@angular/platform-browser';
import { MatIconRegistry } from '@angular/material';
import { ContentTestingModule } from '../../testing/content.testing.module'; import { ContentTestingModule } from '../../testing/content.testing.module';
import { TestBed } from '@angular/core/testing'; import { TestBed } from '@angular/core/testing';
class FakeSanitizer extends DomSanitizer {
constructor() {
super();
}
sanitize(html) {
return html;
}
bypassSecurityTrustHtml(value: string): any {
return value;
}
bypassSecurityTrustStyle(): any {
return null;
}
bypassSecurityTrustScript(): any {
return null;
}
bypassSecurityTrustUrl(): any {
return null;
}
bypassSecurityTrustResourceUrl(): any {
return null;
}
}
describe('ShareDataTableAdapter', () => { describe('ShareDataTableAdapter', () => {
let thumbnailService: ThumbnailService; let thumbnailService: ThumbnailService;
let contentService: ContentService; let contentService: ContentService;
setupTestBed({ setupTestBed({
imports: [ContentTestingModule], imports: [ContentTestingModule]
providers: [
{
provide: MatIconRegistry,
useValue: jasmine.createSpyObj(['addSvgIcon', 'addSvgIconInNamespace'])
},
{
provide: DomSanitizer, useClass: FakeSanitizer
}
]
}); });
beforeEach(() => { beforeEach(() => {

View File

@@ -44,9 +44,6 @@ describe('NodeActionsService', () => {
DialogModule DialogModule
], ],
providers: [ providers: [
NodeActionsService,
DocumentListService,
ContentNodeDialogService,
{ provide: MatDialogRef, useValue: dialogRef } { provide: MatDialogRef, useValue: dialogRef }
] ]
}); });

View File

@@ -70,9 +70,6 @@ describe('FolderCreateDirective', () => {
TestComponent, TestComponent,
FolderDialogComponent, FolderDialogComponent,
FolderCreateDirective FolderCreateDirective
],
providers: [
ContentService
] ]
}); });

View File

@@ -18,7 +18,7 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AddPermissionPanelComponent } from './add-permission-panel.component'; import { AddPermissionPanelComponent } from './add-permission-panel.component';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { SearchService, setupTestBed, SearchConfigurationService } from '@alfresco/adf-core'; import { SearchService, setupTestBed } from '@alfresco/adf-core';
import { of } from 'rxjs'; import { of } from 'rxjs';
import { fakeAuthorityListResult, fakeNameListResult } from '../../../mock/add-permission.component.mock'; import { fakeAuthorityListResult, fakeNameListResult } from '../../../mock/add-permission.component.mock';
import { ContentTestingModule } from '../../../testing/content.testing.module'; import { ContentTestingModule } from '../../../testing/content.testing.module';
@@ -33,8 +33,7 @@ describe('AddPermissionPanelComponent', () => {
let debugElement: DebugElement; let debugElement: DebugElement;
setupTestBed({ setupTestBed({
imports: [ContentTestingModule], imports: [ContentTestingModule]
providers: [SearchService, SearchConfigurationService]
}); });
beforeEach(() => { beforeEach(() => {

View File

@@ -17,12 +17,11 @@
import { QueryBody } from '@alfresco/js-api'; import { QueryBody } from '@alfresco/js-api';
import { SearchConfigurationInterface } from '@alfresco/adf-core'; import { SearchConfigurationInterface } from '@alfresco/adf-core';
import { Injectable } from '@angular/core';
@Injectable()
export class SearchPermissionConfigurationService implements SearchConfigurationInterface { export class SearchPermissionConfigurationService implements SearchConfigurationInterface {
constructor() {
}
public generateQueryBody(searchTerm: string, maxResults: number, skipCount: number): QueryBody { public generateQueryBody(searchTerm: string, maxResults: number, skipCount: number): QueryBody {
const defaultQueryBody: QueryBody = { const defaultQueryBody: QueryBody = {
query: { query: {

View File

@@ -23,7 +23,6 @@ import { of } from 'rxjs';
import { fakeEmptyResponse, fakeNodeWithOnlyLocally, fakeSiteRoles, fakeSiteNodeResponse, import { fakeEmptyResponse, fakeNodeWithOnlyLocally, fakeSiteRoles, fakeSiteNodeResponse,
fakeNodeToRemovePermission, fakeNodeWithoutPermissions } from '../../mock/permission-list.component.mock'; fakeNodeToRemovePermission, fakeNodeWithoutPermissions } from '../../mock/permission-list.component.mock';
import { fakeAuthorityResults } from '../../mock/add-permission.component.mock'; import { fakeAuthorityResults } from '../../mock/add-permission.component.mock';
import { NodePermissionDialogService } from './node-permission-dialog.service';
describe('NodePermissionService', () => { describe('NodePermissionService', () => {
@@ -34,10 +33,6 @@ describe('NodePermissionService', () => {
setupTestBed({ setupTestBed({
imports: [ imports: [
CoreModule.forRoot() CoreModule.forRoot()
],
providers: [
NodePermissionDialogService,
NodePermissionService
] ]
}); });

View File

@@ -15,23 +15,33 @@
* limitations under the License. * limitations under the License.
*/ */
export { FacetFieldBucket } from './facet-field-bucket.interface'; export * from './facet-field-bucket.interface';
export { FacetField } from './facet-field.interface'; export * from './facet-field.interface';
export { FacetQuery } from './facet-query.interface'; export * from './facet-query.interface';
export { FilterQuery } from './filter-query.interface'; export * from './filter-query.interface';
export { SearchCategory } from './search-category.interface'; export * from './search-category.interface';
export { SearchWidgetSettings } from './search-widget-settings.interface'; export * from './search-widget-settings.interface';
export { SearchWidget } from './search-widget.interface'; export * from './search-widget.interface';
export { SearchConfiguration } from './search-configuration.interface'; export * from './search-configuration.interface';
export { SearchQueryBuilderService } from './search-query-builder.service'; export * from './search-query-builder.service';
export { SearchRange } from './search-range.interface'; export * from './search-range.interface';
export * from './components/search.component'; export * from './components/search.component';
export * from './components/search-control.component'; export * from './components/search-control.component';
export * from './components/empty-search-result.component'; export * from './components/empty-search-result.component';
export * from './components/search-control.component';
export * from './components/search.component';
export * from './components/search-check-list/search-check-list.component';
export * from './components/search-chip-list/search-chip-list.component';
export * from './components/search-date-range/search-date-range.component';
export * from './components/search-filter/search-filter.component'; export * from './components/search-filter/search-filter.component';
export * from './components/search-filter/search-filter.service'; export * from './components/search-filter/search-filter.service';
export * from './components/search-number-range/search-number-range.component';
export * from './components/search-radio/search-radio.component';
export * from './components/search-slider/search-slider.component';
export * from './components/search-chip-list/search-chip-list.component'; export * from './components/search-chip-list/search-chip-list.component';
export * from './components/search-sorting-picker/search-sorting-picker.component'; export * from './components/search-sorting-picker/search-sorting-picker.component';
export * from './components/search-text/search-text.component';
export * from './components/search-widget-container/search-widget-container.component';
export * from './search.module'; export * from './search.module';

View File

@@ -36,14 +36,6 @@ import { SearchCheckListComponent } from './components/search-check-list/search-
import { SearchDateRangeComponent } from './components/search-date-range/search-date-range.component'; import { SearchDateRangeComponent } from './components/search-date-range/search-date-range.component';
import { SearchSortingPickerComponent } from './components/search-sorting-picker/search-sorting-picker.component'; import { SearchSortingPickerComponent } from './components/search-sorting-picker/search-sorting-picker.component';
export const ALFRESCO_SEARCH_DIRECTIVES: any[] = [
SearchComponent,
SearchControlComponent,
EmptySearchResultComponent,
SearchFilterComponent,
SearchChipListComponent
];
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
@@ -53,7 +45,11 @@ export const ALFRESCO_SEARCH_DIRECTIVES: any[] = [
CoreModule CoreModule
], ],
declarations: [ declarations: [
...ALFRESCO_SEARCH_DIRECTIVES, SearchComponent,
SearchControlComponent,
EmptySearchResultComponent,
SearchFilterComponent,
SearchChipListComponent,
SearchWidgetContainerComponent, SearchWidgetContainerComponent,
SearchTextComponent, SearchTextComponent,
SearchRadioComponent, SearchRadioComponent,
@@ -64,7 +60,11 @@ export const ALFRESCO_SEARCH_DIRECTIVES: any[] = [
SearchSortingPickerComponent SearchSortingPickerComponent
], ],
exports: [ exports: [
...ALFRESCO_SEARCH_DIRECTIVES, SearchComponent,
SearchControlComponent,
EmptySearchResultComponent,
SearchFilterComponent,
SearchChipListComponent,
SearchWidgetContainerComponent, SearchWidgetContainerComponent,
SearchTextComponent, SearchTextComponent,
SearchRadioComponent, SearchRadioComponent,

View File

@@ -39,8 +39,7 @@ describe('FileUploadingDialogComponent', () => {
UploadModule UploadModule
], ],
providers: [ providers: [
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }, { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }
UserPreferencesService
] ]
}); });

View File

@@ -59,8 +59,6 @@ describe('UploadButtonComponent', () => {
UploadButtonComponent UploadButtonComponent
], ],
providers: [ providers: [
UploadService,
ContentService,
{ provide: TranslationService, useClass: TranslationMock } { provide: TranslationService, useClass: TranslationMock }
] ]
}); });

View File

@@ -27,7 +27,6 @@ import {
import { FileDraggableDirective } from '../directives/file-draggable.directive'; import { FileDraggableDirective } from '../directives/file-draggable.directive';
import { UploadDragAreaComponent } from './upload-drag-area.component'; import { UploadDragAreaComponent } from './upload-drag-area.component';
import { throwError } from 'rxjs';
function getFakeShareDataRow(allowableOperations = ['delete', 'update', 'create']) { function getFakeShareDataRow(allowableOperations = ['delete', 'update', 'create']) {
return { return {
@@ -111,7 +110,6 @@ describe('UploadDragAreaComponent', () => {
UploadDragAreaComponent UploadDragAreaComponent
], ],
providers: [ providers: [
UploadService,
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock } { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }
] ]
}); });
@@ -417,7 +415,6 @@ describe('UploadDragAreaComponent', () => {
}; };
fixture.detectChanges(); fixture.detectChanges();
spyOn(uploadService, 'fileUploadError').and.returnValue(throwError(new Error()));
component.error.subscribe((error) => { component.error.subscribe((error) => {
expect(error).not.toBeNull(); expect(error).not.toBeNull();

View File

@@ -18,7 +18,6 @@
import { async, TestBed } from '@angular/core/testing'; import { async, TestBed } from '@angular/core/testing';
import { CardViewBaseItemModel } from '../models/card-view-baseitem.model'; import { CardViewBaseItemModel } from '../models/card-view-baseitem.model';
import { CardViewUpdateService, transformKeyToObject } from './card-view-update.service'; import { CardViewUpdateService, transformKeyToObject } from './card-view-update.service';
import { setupTestBed } from '../../testing/setup-test-bed';
describe('CardViewUpdateService', () => { describe('CardViewUpdateService', () => {
@@ -59,12 +58,6 @@ describe('CardViewUpdateService', () => {
clickable: false clickable: false
}; };
setupTestBed({
providers: [
CardViewUpdateService
]
});
beforeEach(() => { beforeEach(() => {
cardViewUpdateService = TestBed.get(CardViewUpdateService); cardViewUpdateService = TestBed.get(CardViewUpdateService);
}); });

View File

@@ -47,9 +47,6 @@ describe('ClipboardDirective', () => {
], ],
declarations: [ declarations: [
TestTargetClipboardComponent TestTargetClipboardComponent
],
providers: [
ClipboardService
] ]
}); });

View File

@@ -18,7 +18,6 @@
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { ClipboardDirective, ClipboardComponent } from './clipboard.directive'; import { ClipboardDirective, ClipboardComponent } from './clipboard.directive';
import { ClipboardService } from './clipboard.service';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
@NgModule({ @NgModule({
@@ -26,9 +25,6 @@ import { TranslateModule } from '@ngx-translate/core';
CommonModule, CommonModule,
TranslateModule.forChild() TranslateModule.forChild()
], ],
providers: [
ClipboardService
],
declarations: [ declarations: [
ClipboardDirective, ClipboardDirective,
ClipboardComponent ClipboardComponent

View File

@@ -15,7 +15,6 @@
* limitations under the License. * limitations under the License.
*/ */
import { LogService } from '../services/log.service';
import { NotificationService } from '../notifications/services/notification.service'; import { NotificationService } from '../notifications/services/notification.service';
import { AppConfigService } from '../app-config/app-config.service'; import { AppConfigService } from '../app-config/app-config.service';
import { TestBed } from '@angular/core/testing'; import { TestBed } from '@angular/core/testing';
@@ -40,10 +39,8 @@ describe('ClipboardService', () => {
MatSnackBarModule MatSnackBarModule
], ],
providers: [ providers: [
LogService,
{ provide: TranslationService, useClass: TranslationMock }, { provide: TranslationService, useClass: TranslationMock },
{ provide: AppConfigService, useClass: AppConfigServiceMock }, { provide: AppConfigService, useClass: AppConfigServiceMock }
NotificationService
] ]
}); });

View File

@@ -20,7 +20,7 @@ import { DOCUMENT } from '@angular/common';
import { LogService } from '../services/log.service'; import { LogService } from '../services/log.service';
import { NotificationService } from '../notifications/services/notification.service'; import { NotificationService } from '../notifications/services/notification.service';
@Injectable() @Injectable({ providedIn: 'root' })
export class ClipboardService { export class ClipboardService {
constructor( constructor(

View File

@@ -19,7 +19,7 @@
import { Component, OnInit, ViewEncapsulation, InjectionToken, Inject, Optional } from '@angular/core'; import { Component, OnInit, ViewEncapsulation, InjectionToken, Inject, Optional } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
export interface AmountWidgetSettings { export interface AmountWidgetSettings {
showReadonlyPlaceholder: boolean; showReadonlyPlaceholder: boolean;
@@ -31,7 +31,17 @@ export const ADF_AMOUNT_SETTINGS = new InjectionToken<AmountWidgetSettings>('adf
selector: 'amount-widget', selector: 'amount-widget',
templateUrl: './amount.widget.html', templateUrl: './amount.widget.html',
styleUrls: ['./amount.widget.scss'], styleUrls: ['./amount.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class AmountWidgetComponent extends WidgetComponent implements OnInit { export class AmountWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -19,12 +19,22 @@
import { Component, ViewEncapsulation } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost, WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'checkbox-widget', selector: 'checkbox-widget',
templateUrl: './checkbox.widget.html', templateUrl: './checkbox.widget.html',
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class CheckboxWidgetComponent extends WidgetComponent { export class CheckboxWidgetComponent extends WidgetComponent {

View File

@@ -20,14 +20,24 @@
import { AfterViewInit, Component, OnInit, ViewEncapsulation } from '@angular/core'; import { AfterViewInit, Component, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { FormFieldModel } from './../core/form-field.model'; import { FormFieldModel } from './../core/form-field.model';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
import { ContainerWidgetComponentModel } from './container.widget.model'; import { ContainerWidgetComponentModel } from './container.widget.model';
@Component({ @Component({
selector: 'container-widget', selector: 'container-widget',
templateUrl: './container.widget.html', templateUrl: './container.widget.html',
styleUrls: ['./container.widget.scss'], styleUrls: ['./container.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class ContainerWidgetComponent extends WidgetComponent implements OnInit, AfterViewInit { export class ContainerWidgetComponent extends WidgetComponent implements OnInit, AfterViewInit {

View File

@@ -25,7 +25,7 @@ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material';
import moment from 'moment-es6'; import moment from 'moment-es6';
import { Moment } from 'moment'; import { Moment } from 'moment';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost, WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@@ -36,7 +36,17 @@ import { takeUntil } from 'rxjs/operators';
{ provide: MAT_DATE_FORMATS, useValue: MOMENT_DATE_FORMATS }], { provide: MAT_DATE_FORMATS, useValue: MOMENT_DATE_FORMATS }],
templateUrl: './date.widget.html', templateUrl: './date.widget.html',
styleUrls: ['./date.widget.scss'], styleUrls: ['./date.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class DateWidgetComponent extends WidgetComponent implements OnInit, OnDestroy { export class DateWidgetComponent extends WidgetComponent implements OnInit, OnDestroy {

View File

@@ -19,13 +19,23 @@
import { Component, ViewEncapsulation } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'display-text-widget', selector: 'display-text-widget',
templateUrl: './display-text.widget.html', templateUrl: './display-text.widget.html',
styleUrls: ['./display-text.widget.scss'], styleUrls: ['./display-text.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class DisplayTextWidgetComponent extends WidgetComponent { export class DisplayTextWidgetComponent extends WidgetComponent {

View File

@@ -17,12 +17,22 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'adf-form-document-widget', selector: 'adf-form-document-widget',
templateUrl: 'document.widget.html', templateUrl: 'document.widget.html',
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class DocumentWidgetComponent extends WidgetComponent implements OnInit { export class DocumentWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -21,13 +21,23 @@ import { LogService } from '../../../../services/log.service';
import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from '../../../services/form.service'; import { FormService } from '../../../services/form.service';
import { FormFieldOption } from './../core/form-field-option'; import { FormFieldOption } from './../core/form-field-option';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'dropdown-widget', selector: 'dropdown-widget',
templateUrl: './dropdown.widget.html', templateUrl: './dropdown.widget.html',
styleUrls: ['./dropdown.widget.scss'], styleUrls: ['./dropdown.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class DropdownWidgetComponent extends WidgetComponent implements OnInit { export class DropdownWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -21,7 +21,7 @@ import { LogService } from '../../../../services/log.service';
import { ChangeDetectorRef, Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core'; import { ChangeDetectorRef, Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';
import { WidgetVisibilityService } from '../../../services/widget-visibility.service'; import { WidgetVisibilityService } from '../../../services/widget-visibility.service';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost, WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
import { DynamicTableColumn } from './dynamic-table-column.model'; import { DynamicTableColumn } from './dynamic-table-column.model';
import { DynamicTableRow } from './dynamic-table-row.model'; import { DynamicTableRow } from './dynamic-table-row.model';
import { DynamicTableModel } from './dynamic-table.widget.model'; import { DynamicTableModel } from './dynamic-table.widget.model';
@@ -30,7 +30,17 @@ import { DynamicTableModel } from './dynamic-table.widget.model';
selector: 'dynamic-table-widget', selector: 'dynamic-table-widget',
templateUrl: './dynamic-table.widget.html', templateUrl: './dynamic-table.widget.html',
styleUrls: ['./dynamic-table.widget.scss'], styleUrls: ['./dynamic-table.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class DynamicTableWidgetComponent extends WidgetComponent implements OnInit { export class DynamicTableWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -190,7 +190,7 @@ describe('DropdownEditorComponent', () => {
let dynamicTable: DynamicTableModel; let dynamicTable: DynamicTableModel;
function openSelect() { function openSelect() {
const dropdown = fixture.debugElement.query(By.css('[class="mat-select-trigger"]')); const dropdown = fixture.debugElement.query(By.css('.mat-select-trigger'));
dropdown.triggerEventHandler('click', null); dropdown.triggerEventHandler('click', null);
fixture.detectChanges(); fixture.detectChanges();
} }

View File

@@ -21,7 +21,7 @@ import { animate, state, style, transition, trigger } from '@angular/animations'
import { Component, Input, OnChanges, SimpleChanges, ViewEncapsulation } from '@angular/core'; import { Component, Input, OnChanges, SimpleChanges, ViewEncapsulation } from '@angular/core';
import { ErrorMessageModel } from '../core/index'; import { ErrorMessageModel } from '../core/index';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'error-widget', selector: 'error-widget',
@@ -36,7 +36,17 @@ import { baseHost , WidgetComponent } from './../widget.component';
]) ])
]) ])
], ],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class ErrorWidgetComponent extends WidgetComponent implements OnChanges { export class ErrorWidgetComponent extends WidgetComponent implements OnChanges {

View File

@@ -21,13 +21,23 @@ import { ENTER, ESCAPE } from '@angular/cdk/keycodes';
import { Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from '../../../services/form.service'; import { FormService } from '../../../services/form.service';
import { GroupModel } from './../core/group.model'; import { GroupModel } from './../core/group.model';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'functional-group-widget', selector: 'functional-group-widget',
templateUrl: './functional-group.widget.html', templateUrl: './functional-group.widget.html',
styleUrls: ['./functional-group.widget.scss'], styleUrls: ['./functional-group.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class FunctionalGroupWidgetComponent extends WidgetComponent implements OnInit { export class FunctionalGroupWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -19,13 +19,23 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'hyperlink-widget', selector: 'hyperlink-widget',
templateUrl: './hyperlink.widget.html', templateUrl: './hyperlink.widget.html',
styleUrls: ['./hyperlink.widget.scss'], styleUrls: ['./hyperlink.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class HyperlinkWidgetComponent extends WidgetComponent implements OnInit { export class HyperlinkWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -17,7 +17,7 @@
import { Component, ViewEncapsulation } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost, WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
import { MatDialog } from '@angular/material/dialog'; import { MatDialog } from '@angular/material/dialog';
import { EditJsonDialogSettings, EditJsonDialogComponent } from '../../../../dialogs/edit-json/edit-json.dialog'; import { EditJsonDialogSettings, EditJsonDialogComponent } from '../../../../dialogs/edit-json/edit-json.dialog';
@@ -25,7 +25,17 @@ import { EditJsonDialogSettings, EditJsonDialogComponent } from '../../../../dia
template: ` template: `
<button mat-raised-button color="primary" (click)="view()">json</button> <button mat-raised-button color="primary" (click)="view()">json</button>
`, `,
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class JsonWidgetComponent extends WidgetComponent { export class JsonWidgetComponent extends WidgetComponent {

View File

@@ -19,13 +19,23 @@
import { Component, ViewEncapsulation } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'multiline-text-widget', selector: 'multiline-text-widget',
templateUrl: './multiline-text.widget.html', templateUrl: './multiline-text.widget.html',
styleUrls: ['./multiline-text.widget.scss'], styleUrls: ['./multiline-text.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class MultilineTextWidgetComponentComponent extends WidgetComponent { export class MultilineTextWidgetComponentComponent extends WidgetComponent {

View File

@@ -19,14 +19,24 @@
import { Component, ViewEncapsulation, OnInit } from '@angular/core'; import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
import { DecimalNumberPipe } from '../../../../pipes/decimal-number.pipe'; import { DecimalNumberPipe } from '../../../../pipes/decimal-number.pipe';
@Component({ @Component({
selector: 'number-widget', selector: 'number-widget',
templateUrl: './number.widget.html', templateUrl: './number.widget.html',
styleUrls: ['./number.widget.scss'], styleUrls: ['./number.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class NumberWidgetComponent extends WidgetComponent implements OnInit { export class NumberWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -22,7 +22,7 @@ import { UserProcessModel } from '../../../../models';
import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core'; import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';
import { FormService } from '../../../services/form.service'; import { FormService } from '../../../services/form.service';
import { GroupModel } from '../core/group.model'; import { GroupModel } from '../core/group.model';
import { baseHost, WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
import { FormControl } from '@angular/forms'; import { FormControl } from '@angular/forms';
import { Observable, of } from 'rxjs'; import { Observable, of } from 'rxjs';
import { import {
@@ -37,7 +37,17 @@ import {
selector: 'people-widget', selector: 'people-widget',
templateUrl: './people.widget.html', templateUrl: './people.widget.html',
styleUrls: ['./people.widget.scss'], styleUrls: ['./people.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class PeopleWidgetComponent extends WidgetComponent implements OnInit { export class PeopleWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -21,13 +21,23 @@ import { LogService } from '../../../../services/log.service';
import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from '../../../services/form.service'; import { FormService } from '../../../services/form.service';
import { FormFieldOption } from './../core/form-field-option'; import { FormFieldOption } from './../core/form-field-option';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'radio-buttons-widget', selector: 'radio-buttons-widget',
templateUrl: './radio-buttons.widget.html', templateUrl: './radio-buttons.widget.html',
styleUrls: ['./radio-buttons.widget.scss'], styleUrls: ['./radio-buttons.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class RadioButtonsWidgetComponent extends WidgetComponent implements OnInit { export class RadioButtonsWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -19,13 +19,23 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'text-widget', selector: 'text-widget',
templateUrl: './text.widget.html', templateUrl: './text.widget.html',
styleUrls: ['./text.widget.scss'], styleUrls: ['./text.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class TextWidgetComponent extends WidgetComponent implements OnInit { export class TextWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -22,13 +22,23 @@ import { ENTER, ESCAPE } from '@angular/cdk/keycodes';
import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { FormFieldOption } from './../core/form-field-option'; import { FormFieldOption } from './../core/form-field-option';
import { baseHost, WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'typeahead-widget', selector: 'typeahead-widget',
templateUrl: './typeahead.widget.html', templateUrl: './typeahead.widget.html',
styleUrls: ['./typeahead.widget.scss'], styleUrls: ['./typeahead.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit { export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -19,7 +19,7 @@
import { Component, ViewEncapsulation } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
import { FormService } from './../../../services/form.service'; import { FormService } from './../../../services/form.service';
import { baseHost , WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
@Component({ @Component({
selector: 'unknown-widget', selector: 'unknown-widget',
@@ -33,7 +33,17 @@ import { baseHost , WidgetComponent } from './../widget.component';
`, `,
styleUrls: ['./unknown.widget.scss'], styleUrls: ['./unknown.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class UnknownWidgetComponent extends WidgetComponent { export class UnknownWidgetComponent extends WidgetComponent {

View File

@@ -24,14 +24,24 @@ import { Observable, from } from 'rxjs';
import { FormService } from '../../../services/form.service'; import { FormService } from '../../../services/form.service';
import { ProcessContentService } from '../../../services/process-content.service'; import { ProcessContentService } from '../../../services/process-content.service';
import { ContentLinkModel } from '../core/content-link.model'; import { ContentLinkModel } from '../core/content-link.model';
import { baseHost, WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
import { mergeMap, map } from 'rxjs/operators'; import { mergeMap, map } from 'rxjs/operators';
@Component({ @Component({
selector: 'upload-folder-widget', selector: 'upload-folder-widget',
templateUrl: './upload-folder.widget.html', templateUrl: './upload-folder.widget.html',
styleUrls: ['./upload-folder.widget.scss'], styleUrls: ['./upload-folder.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class UploadFolderWidgetComponent extends WidgetComponent implements OnInit { export class UploadFolderWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -24,14 +24,24 @@ import { Observable, from } from 'rxjs';
import { FormService } from '../../../services/form.service'; import { FormService } from '../../../services/form.service';
import { ProcessContentService } from '../../../services/process-content.service'; import { ProcessContentService } from '../../../services/process-content.service';
import { ContentLinkModel } from '../core/content-link.model'; import { ContentLinkModel } from '../core/content-link.model';
import { baseHost, WidgetComponent } from './../widget.component'; import { WidgetComponent } from './../widget.component';
import { mergeMap, map } from 'rxjs/operators'; import { mergeMap, map } from 'rxjs/operators';
@Component({ @Component({
selector: 'upload-widget', selector: 'upload-widget',
templateUrl: './upload.widget.html', templateUrl: './upload.widget.html',
styleUrls: ['./upload.widget.scss'], styleUrls: ['./upload.widget.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class UploadWidgetComponent extends WidgetComponent implements OnInit { export class UploadWidgetComponent extends WidgetComponent implements OnInit {

View File

@@ -21,7 +21,13 @@ import { AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulatio
import { FormService } from './../../services/form.service'; import { FormService } from './../../services/form.service';
import { FormFieldModel } from './core/index'; import { FormFieldModel } from './core/index';
export const baseHost = { /**
* Base widget component.
*/
@Component({
selector: 'base-widget',
template: '',
host: {
'(click)': 'event($event)', '(click)': 'event($event)',
'(blur)': 'event($event)', '(blur)': 'event($event)',
'(change)': 'event($event)', '(change)': 'event($event)',
@@ -31,15 +37,7 @@ export const baseHost = {
'(input)': 'event($event)', '(input)': 'event($event)',
'(invalid)': 'event($event)', '(invalid)': 'event($event)',
'(select)': 'event($event)' '(select)': 'event($event)'
}; },
/**
* Base widget component.
*/
@Component({
selector: 'base-widget',
template: '',
host: baseHost,
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class WidgetComponent implements AfterViewInit { export class WidgetComponent implements AfterViewInit {

View File

@@ -15,9 +15,11 @@
* limitations under the License. * limitations under the License.
*/ */
export * from './components/form-field/form-field.component';
export * from './components/form-base.component'; export * from './components/form-base.component';
export * from './components/form-list.component'; export * from './components/form-list.component';
export * from './components/widgets/content/content.widget'; export * from './components/widgets/content/content.widget';
export * from './components/form-custom-button.directive';
export * from './components/form-renderer.component'; export * from './components/form-renderer.component';
export * from './components/widgets/index'; export * from './components/widgets/index';
export * from './components/widgets/dynamic-table/dynamic-table-row.model'; export * from './components/widgets/dynamic-table/dynamic-table-row.model';

View File

@@ -19,7 +19,6 @@ import { NgModule } from '@angular/core';
import { IconComponent } from './icon.component'; import { IconComponent } from './icon.component';
import { MatIconModule } from '@angular/material'; import { MatIconModule } from '@angular/material';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { ThumbnailService } from '../services/thumbnail.service';
@NgModule({ @NgModule({
imports: [ imports: [
@@ -31,9 +30,6 @@ import { ThumbnailService } from '../services/thumbnail.service';
], ],
exports: [ exports: [
IconComponent IconComponent
],
providers: [
ThumbnailService
] ]
}) })
export class IconModule {} export class IconModule {}

View File

@@ -51,4 +51,5 @@ export * from './events/index';
export * from './mock/index'; export * from './mock/index';
export * from './testing'; export * from './testing';
export * from './material.module';
export * from './core.module'; export * from './core.module';

View File

@@ -23,24 +23,27 @@ import { InfoDrawerLayoutComponent, InfoDrawerTitleDirective, InfoDrawerButtonsD
import { InfoDrawerComponent, InfoDrawerTabComponent } from './info-drawer.component'; import { InfoDrawerComponent, InfoDrawerTabComponent } from './info-drawer.component';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
export function declarations() {
return [
InfoDrawerLayoutComponent,
InfoDrawerTabComponent,
InfoDrawerComponent,
InfoDrawerTitleDirective,
InfoDrawerButtonsDirective,
InfoDrawerContentDirective
];
}
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
MaterialModule, MaterialModule,
TranslateModule.forChild() TranslateModule.forChild()
], ],
declarations: declarations(), declarations: [
exports: declarations() InfoDrawerLayoutComponent,
InfoDrawerTabComponent,
InfoDrawerComponent,
InfoDrawerTitleDirective,
InfoDrawerButtonsDirective,
InfoDrawerContentDirective
],
exports: [
InfoDrawerLayoutComponent,
InfoDrawerTabComponent,
InfoDrawerComponent,
InfoDrawerTitleDirective,
InfoDrawerButtonsDirective,
InfoDrawerContentDirective
]
}) })
export class InfoDrawerModule {} export class InfoDrawerModule {}

View File

@@ -15,6 +15,13 @@
* limitations under the License. * limitations under the License.
*/ */
export * from './components/header/header.component';
export * from './components/layout-container/layout-container.component';
export * from './components/sidebar-action/sidebar-action-menu.component';
export * from './components/sidenav-layout/sidenav-layout.component'; export * from './components/sidenav-layout/sidenav-layout.component';
export * from './directives/sidenav-layout-content.directive';
export * from './directives/sidenav-layout-header.directive';
export * from './directives/sidenav-layout-navigation.directive';
export * from './layout.module'; export * from './layout.module';

View File

@@ -15,8 +15,10 @@
* limitations under the License. * limitations under the License.
*/ */
import { Injectable } from '@angular/core';
import { CookieService } from '../services/cookie.service'; import { CookieService } from '../services/cookie.service';
@Injectable()
export class CookieServiceMock extends CookieService { export class CookieServiceMock extends CookieService {
/** @override */ /** @override */

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { EventEmitter } from '@angular/core'; import { EventEmitter, Injectable } from '@angular/core';
import { Observable, of } from 'rxjs'; import { Observable, of } from 'rxjs';
import { TranslationService } from '../services/translation.service'; import { TranslationService } from '../services/translation.service';
@@ -24,6 +24,7 @@ export interface LangChangeEvent {
translations: any; translations: any;
} }
@Injectable()
export class TranslationMock implements TranslationService { export class TranslationMock implements TranslationService {
defaultLang: string = 'en'; defaultLang: string = 'en';

View File

@@ -1,15 +1,12 @@
{ {
"$schema": "./node_modules/ng-packagr/ng-package.schema.json", "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"workingDirectory" : "./ng_work",
"src": "./core/",
"dest": "../dist/core/", "dest": "../dist/core/",
"lib": { "lib": {
"languageLevel": [ "dom", "es2016" ],
"comments" : "none",
"entryFile": "./public-api.ts", "entryFile": "./public-api.ts",
"flatModuleFile": "adf-core", "flatModuleFile": "adf-core",
"umdModuleIds": { "umdModuleIds": {
"@alfresco/js-api": "@alfresco/js-api", "@alfresco/js-api": "@alfresco/js-api",
"@alfresco/adf-extensions": "@alfresco/adf-extensions",
"minimatch": "minimatch-browser", "minimatch": "minimatch-browser",
"@angular/platform-browser/animations": "@angular/platform-browser/animations", "@angular/platform-browser/animations": "@angular/platform-browser/animations",
"@angular/material": "@angular/material", "@angular/material": "@angular/material",

View File

@@ -15,15 +15,17 @@
* limitations under the License. * limitations under the License.
*/ */
export * from './decimal-number.pipe';
export * from './file-size.pipe'; export * from './file-size.pipe';
export * from './file-type.pipe';
export * from './format-space.pipe';
export * from './full-name.pipe';
export * from './localized-date.pipe';
export * from './mime-type-icon.pipe'; export * from './mime-type-icon.pipe';
export * from './multi-value.pipe';
export * from './node-name-tooltip.pipe'; export * from './node-name-tooltip.pipe';
export * from './text-highlight.pipe'; export * from './text-highlight.pipe';
export * from './time-ago.pipe'; export * from './time-ago.pipe';
export * from './user-initial.pipe'; export * from './user-initial.pipe';
export * from './full-name.pipe';
export * from './multi-value.pipe';
export * from './localized-date.pipe';
export * from './decimal-number.pipe';
export * from './pipe.module'; export * from './pipe.module';

View File

@@ -15,5 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
export * from './animations';
export * from './search-text-input.component'; export * from './search-text-input.component';
export * from './search-trigger.directive';
export * from './search-text-input.module'; export * from './search-text-input.module';

View File

@@ -32,8 +32,7 @@ describe('SearchTextInputComponent', () => {
let userPreferencesService: UserPreferencesService; let userPreferencesService: UserPreferencesService;
setupTestBed({ setupTestBed({
imports: [CoreTestingModule], imports: [CoreTestingModule]
providers: [ UserPreferencesService ]
}); });
beforeEach(() => { beforeEach(() => {

View File

@@ -16,7 +16,6 @@
*/ */
import { TestBed } from '@angular/core/testing'; import { TestBed } from '@angular/core/testing';
import { DirectionalityConfigService } from './directionality-config.service';
import { CoreTestingModule } from '../testing/core.testing.module'; import { CoreTestingModule } from '../testing/core.testing.module';
import { setupTestBed } from '../testing/setup-test-bed'; import { setupTestBed } from '../testing/setup-test-bed';
import { UserPreferencesService } from './user-preferences.service'; import { UserPreferencesService } from './user-preferences.service';
@@ -25,11 +24,7 @@ describe('DirectionalityConfigService', () => {
let userPreferencesService: UserPreferencesService; let userPreferencesService: UserPreferencesService;
setupTestBed({ setupTestBed({
imports: [CoreTestingModule], imports: [CoreTestingModule]
providers: [
DirectionalityConfigService,
UserPreferencesService
]
}); });
beforeEach(() => { beforeEach(() => {

View File

@@ -17,7 +17,6 @@
import { HttpClient } from '@angular/common/http'; import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Response } from '@angular/http';
import { TranslateLoader } from '@ngx-translate/core'; import { TranslateLoader } from '@ngx-translate/core';
import { Observable, forkJoin, throwError, of } from 'rxjs'; import { Observable, forkJoin, throwError, of } from 'rxjs';
import { ComponentTranslationModel } from '../models/component.model'; import { ComponentTranslationModel } from '../models/component.model';
@@ -59,7 +58,7 @@ export class TranslateLoaderService implements TranslateLoader {
const translationUrl = fallbackUrl || `${component.path}/${this.prefix}/${lang}${this.suffix}?v=${Date.now()}`; const translationUrl = fallbackUrl || `${component.path}/${this.prefix}/${lang}${this.suffix}?v=${Date.now()}`;
return this.http.get(translationUrl).pipe( return this.http.get(translationUrl).pipe(
map((res: Response) => { map((res: any) => {
component.json[lang] = res; component.json[lang] = res;
}), }),
retry(3), retry(3),

View File

@@ -16,7 +16,7 @@
*/ */
import { EventEmitter, Injectable } from '@angular/core'; import { EventEmitter, Injectable } from '@angular/core';
import { Minimatch } from 'minimatch-browser'; import { Minimatch } from 'minimatch';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { AppConfigService } from '../app-config/app-config.service'; import { AppConfigService } from '../app-config/app-config.service';
import { import {

View File

@@ -1,6 +1,7 @@
{ {
"extends": "../tsconfig.json", "extends": "../tsconfig.json",
"compilerOptions": { "compilerOptions": {
"outDir": "../dist/core/" "outDir": "../dist/core/",
"baseUrl": "."
} }
} }

View File

@@ -15,10 +15,12 @@
* limitations under the License. * limitations under the License.
*/ */
import { Injectable } from '@angular/core';
import { DateAdapter } from '@angular/material'; import { DateAdapter } from '@angular/material';
import { isMoment, Moment } from 'moment'; import { isMoment, Moment } from 'moment';
import moment from 'moment-es6'; import moment from 'moment-es6';
@Injectable()
export class MomentDateAdapter extends DateAdapter<Moment> { export class MomentDateAdapter extends DateAdapter<Moment> {
private localeData: any = moment.localeData(); private localeData: any = moment.localeData();

View File

@@ -19,9 +19,11 @@ export * from './services/view-util.service';
export * from './components/viewer.component'; export * from './components/viewer.component';
export * from './components/img-viewer.component'; export * from './components/img-viewer.component';
export * from './components/media-player.component'; export * from './components/media-player.component';
export * from './components/pdf-viewer-password-dialog';
export * from './components/pdf-viewer.component'; export * from './components/pdf-viewer.component';
export * from './components/pdf-viewer-thumbnails.component'; export * from './components/pdf-viewer-thumbnails.component';
export * from './components/pdf-viewer-thumb.component'; export * from './components/pdf-viewer-thumb.component';
export * from './components/pdf-viewer-thumbnails.component';
export * from './components/txt-viewer.component'; export * from './components/txt-viewer.component';
export * from './components/unknown-format/unknown-format.component'; export * from './components/unknown-format/unknown-format.component';
export * from './components/viewer-more-actions.component'; export * from './components/viewer-more-actions.component';

View File

@@ -46,7 +46,6 @@ import { A11yModule } from '@angular/cdk/a11y';
@NgModule({ @NgModule({
imports: [ imports: [
ExtensionsModule,
CommonModule, CommonModule,
MaterialModule, MaterialModule,
TranslateModule.forChild(), TranslateModule.forChild(),
@@ -56,7 +55,8 @@ import { A11yModule } from '@angular/cdk/a11y';
PipeModule, PipeModule,
FlexLayoutModule, FlexLayoutModule,
DirectiveModule, DirectiveModule,
A11yModule A11yModule,
ExtensionsModule
], ],
declarations: [ declarations: [
PdfPasswordDialogComponent, PdfPasswordDialogComponent,

View File

@@ -3,7 +3,6 @@
"dest": "../dist/extensions/", "dest": "../dist/extensions/",
"deleteDestPath": false, "deleteDestPath": false,
"lib": { "lib": {
"languageLevel": ["dom", "es2017"],
"entryFile": "src/public-api.ts", "entryFile": "src/public-api.ts",
"flatModuleFile": "adf-extensions", "flatModuleFile": "adf-extensions",
"umdModuleIds": { "umdModuleIds": {

View File

@@ -42,3 +42,4 @@ export * from './lib/store/states/selection.state';
export * from './lib/store/states/repository.state'; export * from './lib/store/states/repository.state';
export * from './lib/components/public-api'; export * from './lib/components/public-api';
export * from './lib/extensions.module';

View File

@@ -2,7 +2,6 @@
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json", "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../dist/insights/", "dest": "../dist/insights/",
"lib": { "lib": {
"languageLevel": [ "dom", "es2017" ],
"entryFile": "src/public-api.ts", "entryFile": "src/public-api.ts",
"flatModuleFile": "adf-insights", "flatModuleFile": "adf-insights",
"umdModuleIds": { "umdModuleIds": {

View File

@@ -16,9 +16,18 @@
*/ */
export * from './components/analytics.component'; export * from './components/analytics.component';
export * from './components/analytics-report-heat-map.component';
export * from './components/analytics-generator.component'; export * from './components/analytics-generator.component';
export * from './components/analytics-report-list.component'; export * from './components/analytics-report-list.component';
export * from './components/analytics-report-parameters.component'; export * from './components/analytics-report-parameters.component';
export * from './components/analytics.component';
export * from './components/widgets/checkbox/checkbox.widget';
export * from './components/widgets/date-range/date-range.widget';
export * from './components/widgets/dropdown/dropdown.widget';
export * from './components/widgets/duration/duration.widget';
export * from './components/widgets/number/number.widget';
export * from './components/widgets/widget.component';
export * from './services/analytics.service'; export * from './services/analytics.service';

View File

@@ -17,7 +17,6 @@
import { AlfrescoApiService, LogService } from '@alfresco/adf-core'; import { AlfrescoApiService, LogService } from '@alfresco/adf-core';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Response } from '@angular/http';
import { Observable, from, throwError, of } from 'rxjs'; import { Observable, from, throwError, of } from 'rxjs';
import { ParameterValueModel } from '../../diagram/models/report/parameter-value.model'; import { ParameterValueModel } from '../../diagram/models/report/parameter-value.model';
import { ReportParametersModel } from '../../diagram/models/report/report-parameters.model'; import { ReportParametersModel } from '../../diagram/models/report/report-parameters.model';
@@ -30,7 +29,7 @@ import { PieChart } from '../../diagram/models/chart/pie-chart.model';
import { TableChart } from '../../diagram/models/chart/table-chart.model'; import { TableChart } from '../../diagram/models/chart/table-chart.model';
import { map, catchError } from 'rxjs/operators'; import { map, catchError } from 'rxjs/operators';
@Injectable() @Injectable({ providedIn: 'root' })
export class AnalyticsService { export class AnalyticsService {
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,
@@ -256,7 +255,7 @@ export class AnalyticsService {
); );
} }
private handleError(error: Response) { private handleError(error: any) {
this.logService.error(error); this.logService.error(error);
return throwError(error || 'Server error'); return throwError(error || 'Server error');
} }

View File

@@ -19,7 +19,7 @@ import { Injectable , OnDestroy } from '@angular/core';
declare let Raphael: any; declare let Raphael: any;
@Injectable() @Injectable({ providedIn: 'root' })
export class RaphaelService implements OnDestroy { export class RaphaelService implements OnDestroy {
paper: any; paper: any;

View File

@@ -18,6 +18,95 @@
export * from './components/diagram-sequence-flow.component'; export * from './components/diagram-sequence-flow.component';
export * from './components/diagram.component'; export * from './components/diagram.component';
export * from './components/activities/diagram-alfresco-publish-task.component';
export * from './components/activities/diagram-box-publish-task.component';
export * from './components/activities/diagram-business-rule-task.component';
export * from './components/activities/diagram-camel-task.component';
export * from './components/activities/diagram-container-service-task.component';
export * from './components/activities/diagram-google-drive-publish-task.component';
export * from './components/activities/diagram-manual-task.component';
export * from './components/activities/diagram-mule-task.component';
export * from './components/activities/diagram-receive-task.component';
export * from './components/activities/diagram-rest-call-task.component';
export * from './components/activities/diagram-script-task.component';
export * from './components/activities/diagram-send-task.component';
export * from './components/activities/diagram-service-task.component';
export * from './components/activities/diagram-task.component';
export * from './components/activities/diagram-user-task.component';
export * from './components/boundary-events/diagram-boundary-event.component';
export * from './components/boundary-events/diagram-throw-event.component';
export * from './components/events/diagram-end-event.component';
export * from './components/events/diagram-event.component';
export * from './components/events/diagram-start-event.component';
export * from './components/gateways/diagram-event-gateway.component';
export * from './components/gateways/diagram-exclusive-gateway.component';
export * from './components/gateways/diagram-gateway.component';
export * from './components/gateways/diagram-inclusive-gateway.component';
export * from './components/gateways/diagram-parallel-gateway.component';
export * from './components/icons/diagram-container-icon-event.component';
export * from './components/icons/diagram-icon-alfresco-publish-task.component';
export * from './components/icons/diagram-icon-box-publish-task.component';
export * from './components/icons/diagram-icon-business-rule-task.component';
export * from './components/icons/diagram-icon-camel-task.component';
export * from './components/icons/diagram-icon-error.component';
export * from './components/icons/diagram-icon-google-drive-publish-task.component';
export * from './components/icons/diagram-icon-manual-task.component';
export * from './components/icons/diagram-icon-message.component';
export * from './components/icons/diagram-icon-mule-task.component';
export * from './components/icons/diagram-icon-receive-task.component';
export * from './components/icons/diagram-icon-rest-call-task.component';
export * from './components/icons/diagram-icon-script-task.component';
export * from './components/icons/diagram-icon-send-task.component';
export * from './components/icons/diagram-icon-service-task.component';
export * from './components/icons/diagram-icon-signal.component';
export * from './components/icons/diagram-icon-timer.component';
export * from './components/icons/diagram-icon-user-task.component';
export * from './components/intermediate-catching-events/diagram-intermediate-catching-event.component';
export * from './components/raphael/icons/raphael-icon-alfresco-publish.component';
export * from './components/raphael/icons/raphael-icon-box-publish.component';
export * from './components/raphael/icons/raphael-icon-business-rule.component';
export * from './components/raphael/icons/raphael-icon-camel.component';
export * from './components/raphael/icons/raphael-icon-error.component';
export * from './components/raphael/icons/raphael-icon-google-drive-publish.component';
export * from './components/raphael/icons/raphael-icon-manual.component';
export * from './components/raphael/icons/raphael-icon-message.component';
export * from './components/raphael/icons/raphael-icon-mule.component';
export * from './components/raphael/icons/raphael-icon-receive.component';
export * from './components/raphael/icons/raphael-icon-rest-call.component';
export * from './components/raphael/icons/raphael-icon-script.component';
export * from './components/raphael/icons/raphael-icon-send.component';
export * from './components/raphael/icons/raphael-icon-service.component';
export * from './components/raphael/icons/raphael-icon-signal.component';
export * from './components/raphael/icons/raphael-icon-timer.component';
export * from './components/raphael/icons/raphael-icon-user.component';
export * from './components/raphael/anchor';
export * from './components/raphael/polyline';
export * from './components/raphael/raphael-base';
export * from './components/raphael/raphael-circle.component';
export * from './components/raphael/raphael-cross.component';
export * from './components/raphael/raphael-flow-arrow.component';
export * from './components/raphael/raphael-multiline-text.component';
export * from './components/raphael/raphael-pentagon.component';
export * from './components/raphael/raphael-plus.component';
export * from './components/raphael/raphael-rect.component';
export * from './components/raphael/raphael-rhombus.component';
export * from './components/raphael/raphael-text.component';
export * from './components/raphael/models/point';
export * from './components/raphael/raphael.service';
export * from './components/structural/diagram-event-subprocess.component';
export * from './components/structural/diagram-subprocess.component';
export * from './components/swimlanes/diagram-lane.component';
export * from './components/swimlanes/diagram-lanes.component';
export * from './components/swimlanes/diagram-pool.component';
export * from './components/swimlanes/diagram-pools.component';
export * from './components/tooltip/diagram-tooltip.component';
export * from './services/diagram-color.service'; export * from './services/diagram-color.service';
export * from './services/diagrams.service'; export * from './services/diagrams.service';

View File

@@ -17,7 +17,7 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
@Injectable() @Injectable({ providedIn: 'root' })
export class DiagramColorService { export class DiagramColorService {
static CURRENT_COLOR = '#017501'; static CURRENT_COLOR = '#017501';
@@ -33,9 +33,6 @@ export class DiagramColorService {
totalColors: any; totalColors: any;
constructor() {
}
setTotalColors(totalColors) { setTotalColors(totalColors) {
this.totalColors = totalColors; this.totalColors = totalColors;
} }

View File

@@ -20,7 +20,7 @@ import { Injectable } from '@angular/core';
import { Observable, from, throwError } from 'rxjs'; import { Observable, from, throwError } from 'rxjs';
import { catchError } from 'rxjs/operators'; import { catchError } from 'rxjs/operators';
@Injectable() @Injectable({ providedIn: 'root' })
export class DiagramsService { export class DiagramsService {
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -24,19 +24,6 @@ import { DiagramsModule } from './diagram/diagram.module';
import { AnalyticsProcessModule } from './analytics-process/analytics-process.module'; import { AnalyticsProcessModule } from './analytics-process/analytics-process.module';
import { MaterialModule } from './material.module'; import { MaterialModule } from './material.module';
import { DiagramsService } from './diagram/services/diagrams.service';
import { DiagramColorService } from './diagram/services/diagram-color.service';
import { RaphaelService } from './diagram/components/raphael/raphael.service';
import { AnalyticsService } from './analytics-process/services/analytics.service';
export function providers() {
return [
AnalyticsService,
DiagramsService,
DiagramColorService,
RaphaelService
];
}
@NgModule({ @NgModule({
imports: [ imports: [
@@ -49,7 +36,6 @@ export function providers() {
AnalyticsProcessModule AnalyticsProcessModule
], ],
providers: [ providers: [
...providers(),
{ {
provide: TRANSLATION_PROVIDER, provide: TRANSLATION_PROVIDER,
multi: true, multi: true,
@@ -73,7 +59,6 @@ export class InsightsModule {
return { return {
ngModule: InsightsModule, ngModule: InsightsModule,
providers: [ providers: [
...providers(),
{ {
provide: TRANSLATION_PROVIDER, provide: TRANSLATION_PROVIDER,
multi: true, multi: true,

View File

@@ -18,4 +18,5 @@
export * from './lib/analytics-process/public-api'; export * from './lib/analytics-process/public-api';
export * from './lib/diagram/public-api'; export * from './lib/diagram/public-api';
export * from './lib/material.module';
export * from './lib/insights.module'; export * from './lib/insights.module';

View File

@@ -2,7 +2,6 @@
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json", "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../dist/process-services-cloud", "dest": "../dist/process-services-cloud",
"lib": { "lib": {
"languageLevel": ["dom", "es2017"],
"entryFile": "src/public-api.ts", "entryFile": "src/public-api.ts",
"flatModuleFile": "adf-process-services-cloud", "flatModuleFile": "adf-process-services-cloud",
"umdModuleIds": { "umdModuleIds": {

View File

@@ -21,7 +21,6 @@ import { MaterialModule } from '../material.module';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { AppDetailsCloudComponent } from './components/app-details-cloud.component'; import { AppDetailsCloudComponent } from './components/app-details-cloud.component';
import { AppListCloudComponent } from './components/app-list-cloud.component'; import { AppListCloudComponent } from './components/app-list-cloud.component';
import { AppsProcessCloudService } from './services/apps-process-cloud.service';
import { TemplateModule, CoreModule } from '@alfresco/adf-core'; import { TemplateModule, CoreModule } from '@alfresco/adf-core';
@NgModule({ @NgModule({
@@ -36,9 +35,6 @@ import { TemplateModule, CoreModule } from '@alfresco/adf-core';
AppListCloudComponent, AppListCloudComponent,
AppDetailsCloudComponent AppDetailsCloudComponent
], ],
providers: [
AppsProcessCloudService
],
exports: [ exports: [
AppListCloudComponent, AppListCloudComponent,
AppDetailsCloudComponent AppDetailsCloudComponent

View File

@@ -43,7 +43,6 @@ describe('AppListCloudComponent', () => {
setupTestBed({ setupTestBed({
imports: [CoreModule.forRoot(), ProcessServiceCloudTestingModule, AppListCloudModule], imports: [CoreModule.forRoot(), ProcessServiceCloudTestingModule, AppListCloudModule],
providers: [ providers: [
AppsProcessCloudService,
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock } { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }
] ]
}); });

View File

@@ -16,6 +16,7 @@
*/ */
export * from './components/app-list-cloud.component'; export * from './components/app-list-cloud.component';
export * from './components/app-details-cloud.component';
export * from './services/apps-process-cloud.service'; export * from './services/apps-process-cloud.service';
export * from './models/application-instance.model'; export * from './models/application-instance.model';
export * from './app-list-cloud.module'; export * from './app-list-cloud.module';

View File

@@ -38,7 +38,7 @@ describe('AppsProcessCloudService', () => {
setupTestBed({ setupTestBed({
imports: [CoreModule.forRoot(), ProcessServiceCloudTestingModule], imports: [CoreModule.forRoot(), ProcessServiceCloudTestingModule],
providers: [AppsProcessCloudService, AppConfigService, providers: [
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock } ] { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock } ]
}); });

View File

@@ -22,7 +22,7 @@ import { AlfrescoApiService, AppConfigService, LogService } from '@alfresco/adf-
import { Oauth2Auth } from '@alfresco/js-api'; import { Oauth2Auth } from '@alfresco/js-api';
import { ApplicationInstanceModel } from '../models/application-instance.model'; import { ApplicationInstanceModel } from '../models/application-instance.model';
@Injectable() @Injectable({ providedIn: 'root' })
export class AppsProcessCloudService { export class AppsProcessCloudService {
deployedApps: ApplicationInstanceModel[]; deployedApps: ApplicationInstanceModel[];

View File

@@ -113,7 +113,6 @@ describe('AttachFileCloudWidgetComponent', () => {
FormCloudModule, FormCloudModule,
ContentModule.forRoot() ContentModule.forRoot()
], ],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA] schemas: [CUSTOM_ELEMENTS_SCHEMA]
}); });

View File

@@ -23,7 +23,6 @@ import {
LogService, LogService,
ThumbnailService, ThumbnailService,
NotificationService, NotificationService,
baseHost,
ContentLinkModel ContentLinkModel
} from '@alfresco/adf-core'; } from '@alfresco/adf-core';
import { Node, RelatedContentRepresentation } from '@alfresco/js-api'; import { Node, RelatedContentRepresentation } from '@alfresco/js-api';
@@ -35,7 +34,17 @@ import { UploadCloudWidgetComponent } from './upload-cloud.widget';
selector: 'adf-cloud-attach-file-cloud-widget', selector: 'adf-cloud-attach-file-cloud-widget',
templateUrl: './attach-file-cloud-widget.component.html', templateUrl: './attach-file-cloud-widget.component.html',
styleUrls: ['./attach-file-cloud-widget.component.scss'], styleUrls: ['./attach-file-cloud-widget.component.scss'],
host: baseHost, host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class AttachFileCloudWidgetComponent extends UploadCloudWidgetComponent export class AttachFileCloudWidgetComponent extends UploadCloudWidgetComponent

Some files were not shown because too many files have changed in this diff Show More