From 4c9629c2d68d4411040c709ed70adc8c9210eb47 Mon Sep 17 00:00:00 2001 From: Maurizio Vitale Date: Thu, 18 Oct 2018 17:11:32 +0100 Subject: [PATCH] [ADF-3550] Migration - Application List Component (#3902) * [ADF-3538] start creating new folder for cloud components * [ADF-3538] added new package to the script and the builds * [ADF-3538] added some more changes to scripts * [ADF-3538] - starting the new package * fix package * Add a cloud component as example * Skip the scss style * remove useless codes * Add i18n example * remove useless code * Simplify the hello component Fix the wrong path * add the app-list-cloud-component add the app-details-cloud-component * Expose and use the new component * Consume the new package and component from the demoshell * Fix unit test app list cloud * Fix process service cloud path * Remove useless file * * Added documentation to the appListcloud component * Fix failing unit tests --- demo-shell/src/app/app.module.ts | 4 +- demo-shell/src/app/app.routes.ts | 5 +- .../app/components/cloud/cloud.component.html | 2 +- .../app/components/home/home.component.html | 2 - .../app-list-cloud.component.md | 45 + .../content-node-share.dialog.spec.ts | 22 +- lib/process-services-cloud/.npmignore | 30 + lib/process-services-cloud/material.module.ts | 44 + .../process-cloud.module.ts | 99 + lib/process-services-cloud/public-api.ts | 18 + .../app-list-cloud.module.spec.ts | 13 + .../app-list-cloud/app-list-cloud.module.ts | 53 + .../app-details-cloud.component.html | 22 + .../app-details-cloud.component.scss | 114 + .../app-details-cloud.component.spec.ts | 57 + .../components/app-details-cloud.component.ts | 44 + .../components/app-list-cloud.component.html | 38 + .../components/app-list-cloud.component.scss | 21 + .../app-list-cloud.component.spec.ts | 207 ++ .../components/app-list-cloud.component.ts | 103 + .../lib/app-list-cloud/mock/app-model.mock.ts | 23 + .../models/application-instance.model.ts | 42 + .../src/lib/app-list-cloud/public_api.ts | 20 + .../apps-process-cloud.service.spec.ts | 73 + .../services/apps-process-cloud.service.ts | 69 + .../testing/app-list.testing.module.ts | 47 + .../src/lib/material.module.ts | 44 + .../src/lib/process-services-cloud.module.ts | 7 +- .../src/lib/styles/_index.scss | 5 + lib/process-services-cloud/src/public_api.ts | 2 +- lib/process-services-cloud/test.ts | 41 + lib/process-services-cloud/tsconfig.json | 42 + tools/export-check/export-2.5.0.json | 1964 +++++++++-------- 33 files changed, 2357 insertions(+), 965 deletions(-) create mode 100644 docs/process-services-cloud/app-list-cloud.component.md create mode 100644 lib/process-services-cloud/.npmignore create mode 100644 lib/process-services-cloud/material.module.ts create mode 100644 lib/process-services-cloud/process-cloud.module.ts create mode 100644 lib/process-services-cloud/public-api.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/app-list-cloud.module.spec.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/app-list-cloud.module.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.html create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.scss create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.spec.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.html create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.scss create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.spec.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/mock/app-model.mock.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/models/application-instance.model.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/public_api.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/services/apps-process-cloud.service.spec.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/services/apps-process-cloud.service.ts create mode 100644 lib/process-services-cloud/src/lib/app-list-cloud/testing/app-list.testing.module.ts create mode 100644 lib/process-services-cloud/src/lib/material.module.ts create mode 100644 lib/process-services-cloud/test.ts create mode 100644 lib/process-services-cloud/tsconfig.json diff --git a/demo-shell/src/app/app.module.ts b/demo-shell/src/app/app.module.ts index ba2ff4e2bf..06f7c64b25 100644 --- a/demo-shell/src/app/app.module.ts +++ b/demo-shell/src/app/app.module.ts @@ -63,7 +63,7 @@ import { ContentModule } from '@alfresco/adf-content-services'; import { InsightsModule } from '@alfresco/adf-insights'; import { ProcessModule } from '@alfresco/adf-process-services'; import { AuthBearerInterceptor } from './services'; -import { ProcessServicesCloudModule } from '@alfresco/adf-process-services-cloud'; +import { AppListCloudModule } from '@alfresco/adf-process-services-cloud'; import { CloudComponent } from './components/cloud/cloud.component'; @NgModule({ @@ -83,7 +83,7 @@ import { CloudComponent } from './components/cloud/cloud.component'; ThemePickerModule, ChartsModule, MonacoEditorModule.forRoot(), - ProcessServicesCloudModule + AppListCloudModule ], declarations: [ AppComponent, diff --git a/demo-shell/src/app/app.routes.ts b/demo-shell/src/app/app.routes.ts index 564ee25584..d432c8ef0a 100644 --- a/demo-shell/src/app/app.routes.ts +++ b/demo-shell/src/app/app.routes.ts @@ -44,7 +44,6 @@ import { CloudComponent } from './components/cloud/cloud.component'; export const appRoutes: Routes = [ { path: 'login', component: LoginComponent }, - { path: 'cloud', component: CloudComponent }, { path: 'logout', component: LogoutComponent }, { path: 'settings', @@ -134,6 +133,10 @@ export const appRoutes: Routes = [ path: 'home', component: HomeComponent }, + { + path: 'cloud', + component: CloudComponent + }, { path: 'node-selector', loadChildren: 'app/components/content-node-selector/content-node-selector.module#AppContentNodeSelectorModule' diff --git a/demo-shell/src/app/components/cloud/cloud.component.html b/demo-shell/src/app/components/cloud/cloud.component.html index 6c9b54ba31..193a1d7d44 100644 --- a/demo-shell/src/app/components/cloud/cloud.component.html +++ b/demo-shell/src/app/components/cloud/cloud.component.html @@ -1,2 +1,2 @@ - + diff --git a/demo-shell/src/app/components/home/home.component.html b/demo-shell/src/app/components/home/home.component.html index 97dfea288a..1d06bb0c68 100644 --- a/demo-shell/src/app/components/home/home.component.html +++ b/demo-shell/src/app/components/home/home.component.html @@ -5,8 +5,6 @@

{{ 'APP.HOME.TITLE' | translate}}

- -
{{ 'APP.HOME.DOCUMENTATION' | translate}}
diff --git a/docs/process-services-cloud/app-list-cloud.component.md b/docs/process-services-cloud/app-list-cloud.component.md new file mode 100644 index 0000000000..5cea9a613e --- /dev/null +++ b/docs/process-services-cloud/app-list-cloud.component.md @@ -0,0 +1,45 @@ +--- +Added: v3.0.0 +Status: Active +Last reviewed: 2018-18-10 +--- + +# App List Cloud Component + +Shows all deployed cloud application instances. + +## Basic Usage + +```html + + +``` + +### [Transclusions](../user-guide/transclusion.md) + +You can show custom content when there are no apps available by supplying an +`` section: + +```html + + + No Apps present + + +``` + +## Class members + +### Properties + +| Name | Type | Default value | Description | +| ---- | ---- | ------------- | ----------- | +| layoutType | `string` | | (**required**) Defines the layout of the apps. There are two possible values, "GRID" and "LIST". | + +### Events + +| Name | Type | Description | +| ---- | ---- | ----------- | +| appClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ApplicationInstanceModel`](../../lib/process-services-cloud/apps-list/models/application-instance.model.ts)`>` | Emitted when an app entry is clicked. | diff --git a/lib/content-services/content-node-share/content-node-share.dialog.spec.ts b/lib/content-services/content-node-share/content-node-share.dialog.spec.ts index 527d180924..ed45955e4e 100644 --- a/lib/content-services/content-node-share/content-node-share.dialog.spec.ts +++ b/lib/content-services/content-node-share/content-node-share.dialog.spec.ts @@ -16,7 +16,7 @@ */ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TestBed, fakeAsync } from '@angular/core/testing'; +import { TestBed, fakeAsync, async } from '@angular/core/testing'; import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material'; import { of } from 'rxjs'; import { @@ -96,7 +96,7 @@ describe('ShareDialogComponent', () => { expect(fixture.nativeElement.querySelector('.mat-slide-toggle').classList).toContain('mat-checked'); }); - it(`should not toggle share action when file has 'sharedId' property`, () => { + it(`should not toggle share action when file has 'sharedId' property`, async(() => { spyOn(sharedLinksApiService, 'createSharedLinks'); node.entry.properties['qshare:sharedId'] = 'sharedId'; @@ -108,12 +108,17 @@ describe('ShareDialogComponent', () => { fixture.detectChanges(); - expect(sharedLinksApiService.createSharedLinks).not.toHaveBeenCalled(); - expect(fixture.nativeElement.querySelector('input[formcontrolname="sharedUrl"]').value).toBe('some-url/sharedId'); - expect(fixture.nativeElement.querySelector('.mat-slide-toggle').classList).toContain('mat-checked'); - }); + fixture.whenStable().then(() => { + fixture.detectChanges(); - it(`should copy shared link and notify on button event`, (done) => { + expect(sharedLinksApiService.createSharedLinks).not.toHaveBeenCalled(); + expect(fixture.nativeElement.querySelector('input[formcontrolname="sharedUrl"]').value).toBe('some-url/sharedId'); + expect(fixture.nativeElement.querySelector('.mat-slide-toggle').classList).toContain('mat-checked'); + + }); + })); + + it(`should copy shared link and notify on button event`, async(() => { node.entry.properties['qshare:sharedId'] = 'sharedId'; spyOn(document, 'execCommand').and.callThrough(); @@ -134,9 +139,8 @@ describe('ShareDialogComponent', () => { expect(document.execCommand).toHaveBeenCalledWith('copy'); expect(notificationServiceMock.openSnackMessage).toHaveBeenCalledWith('SHARE.CLIPBOARD-MESSAGE'); - done(); }); - }); + })); it('should open a confirmation dialog when unshare button is triggered', () => { spyOn(matDialog, 'open').and.returnValue({ beforeClose: () => of(false) }); diff --git a/lib/process-services-cloud/.npmignore b/lib/process-services-cloud/.npmignore new file mode 100644 index 0000000000..b79b6054fb --- /dev/null +++ b/lib/process-services-cloud/.npmignore @@ -0,0 +1,30 @@ +npm-debug.log +.idea +.npmrc + +/.editorconfig +/.travis.yml +/*.json +/karma-test-shim.js +/karma.conf.js +/gulpfile.ts +/.npmignore +/.happypack +**/*.html +**/*.js +**/*.ts +!**/*.d.ts +!**/adf-process-services-cloud.js + +**/*.scss +**/*.css +!**/_theming.scss + +coverage/ +demo/ +dist/ +node_modules +typings/ +fonts/ +i18n/ +assets/ diff --git a/lib/process-services-cloud/material.module.ts b/lib/process-services-cloud/material.module.ts new file mode 100644 index 0000000000..76c04b2672 --- /dev/null +++ b/lib/process-services-cloud/material.module.ts @@ -0,0 +1,44 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { NgModule } from '@angular/core'; +import { + MAT_LABEL_GLOBAL_OPTIONS, MatAutocompleteModule, MatButtonModule, MatCardModule, MatCheckboxModule, + MatChipsModule, MatDatepickerModule, MatDialogModule, MatGridListModule, MatIconModule, + MatInputModule, MatListModule, MatNativeDateModule, MatOptionModule, MatProgressSpinnerModule, MatRadioModule, + MatRippleModule, MatSelectModule, MatSlideToggleModule, MatTableModule, MatTabsModule, + MatTooltipModule, MatMenuModule +} from '@angular/material'; + +export function modules() { + return [ + MatAutocompleteModule, MatButtonModule, MatCardModule, MatDialogModule, + MatCheckboxModule, MatDatepickerModule, MatGridListModule, MatIconModule, MatInputModule, + MatListModule, MatOptionModule, MatRadioModule, MatSelectModule, MatSlideToggleModule, MatTableModule, + MatTabsModule, MatProgressSpinnerModule, MatNativeDateModule, MatRippleModule, MatTooltipModule, + MatChipsModule, MatMenuModule + ]; +} + +@NgModule({ + providers: [ + {provide: MAT_LABEL_GLOBAL_OPTIONS, useValue: { float: 'never' }} + ], + imports: modules(), + exports: modules() +}) +export class MaterialModule {} diff --git a/lib/process-services-cloud/process-cloud.module.ts b/lib/process-services-cloud/process-cloud.module.ts new file mode 100644 index 0000000000..6ee7dd03ef --- /dev/null +++ b/lib/process-services-cloud/process-cloud.module.ts @@ -0,0 +1,99 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { CommonModule } from '@angular/common'; +import { NgModule, ModuleWithProviders } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { CoreModule, TRANSLATION_PROVIDER } from '@alfresco/adf-core'; + +import { MaterialModule } from './material.module'; +import { HelloCloudModule } from './hello/hello.module'; + +export function providers() { + return [ + ]; +} + +@NgModule({ + imports: [ + CoreModule.forChild(), + CommonModule, + FormsModule, + ReactiveFormsModule, + MaterialModule, + HelloCloudModule + ], + providers: [ + ...providers(), + { + provide: TRANSLATION_PROVIDER, + multi: true, + useValue: { + name: 'adf-process-services-cloud', + source: 'assets/adf-process-services-cloud' + } + } + ], + exports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + HelloCloudModule + ] +}) +export class ProcessCloudModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: ProcessCloudModule, + providers: [ + ...providers(), + { + provide: TRANSLATION_PROVIDER, + multi: true, + useValue: { + name: 'adf-process-services-cloud', + source: 'assets/adf-process-services-cloud' + } + } + ] + }; + } + + static forChild(): ModuleWithProviders { + return { + ngModule: ProcessCloudModuleLazy + }; + } +} + +@NgModule({ + imports: [ + CoreModule.forChild(), + CommonModule, + FormsModule, + ReactiveFormsModule, + MaterialModule, + HelloCloudModule + ], + exports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + HelloCloudModule + ] +}) +export class ProcessCloudModuleLazy {} diff --git a/lib/process-services-cloud/public-api.ts b/lib/process-services-cloud/public-api.ts new file mode 100644 index 0000000000..f25adc0c31 --- /dev/null +++ b/lib/process-services-cloud/public-api.ts @@ -0,0 +1,18 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from './index'; diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/app-list-cloud.module.spec.ts b/lib/process-services-cloud/src/lib/app-list-cloud/app-list-cloud.module.spec.ts new file mode 100644 index 0000000000..16ffbf4b34 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/app-list-cloud.module.spec.ts @@ -0,0 +1,13 @@ +import { AppListCloudModule } from './app-list-cloud.module'; + +describe('AppListCloudModule', () => { + let appListCloudModule: AppListCloudModule; + + beforeEach(() => { + appListCloudModule = new AppListCloudModule(); + }); + + it('should create an instance', () => { + expect(appListCloudModule).toBeTruthy(); + }); +}); diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/app-list-cloud.module.ts b/lib/process-services-cloud/src/lib/app-list-cloud/app-list-cloud.module.ts new file mode 100644 index 0000000000..1c7a4772b9 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/app-list-cloud.module.ts @@ -0,0 +1,53 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { NgModule } from '@angular/core'; +import { FlexLayoutModule } from '@angular/flex-layout'; +import { MaterialModule } from '../material.module'; +import { CommonModule } from '@angular/common'; +import { AppDetailsCloudComponent } from './components/app-details-cloud.component'; +import { AppListCloudComponent } from './components/app-list-cloud.component'; +import { AppsProcessCloudService } from './services/apps-process-cloud.service'; +import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; +import { TemplateModule, TranslateLoaderService } from '@alfresco/adf-core'; + +@NgModule({ + imports: [ + CommonModule, + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useClass: TranslateLoaderService + } + }), + TemplateModule, + MaterialModule, + FlexLayoutModule + ], + declarations: [ + AppListCloudComponent, + AppDetailsCloudComponent + ], + providers: [ + AppsProcessCloudService + ], + exports: [ + AppListCloudComponent, + AppDetailsCloudComponent + ] +}) +export class AppListCloudModule { } diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.html b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.html new file mode 100644 index 0000000000..180d457614 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.html @@ -0,0 +1,22 @@ +
+
+ + +
+

{{applicationInstance.name}}

+
+ +
{{applicationInstance.description}}
+
+
+
+
diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.scss b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.scss new file mode 100644 index 0000000000..add6f0e480 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.scss @@ -0,0 +1,114 @@ +@mixin adf-cloud-app-details-theme($theme) { + + $tile-themes: ( + theme-1: (bg: #269abc, color: #168aac), + theme-2: (bg: #7da9b0, color: #6d99a0), + theme-3: (bg: #7689ab, color: #66799b), + theme-4: (bg: #c74e3e, color: #b73e2e), + theme-5: (bg: #fab96c, color: #eaa95c), + theme-6: (bg: #759d4c, color: #658d3c), + theme-7: (bg: #b1b489, color: #a1a479), + theme-8: (bg: #a17299, color: #916289), + theme-9: (bg: #696c67, color: #595c57), + theme-10: (bg: #cabb33, color: #baab23) + ); + + .adf-app-listgrid { + padding: 8px; + + &-item { + outline: none; + padding: 8px; + box-sizing: border-box; + + &-card { + + @for $i from 1 through 10 { + &.theme-#{$i} { + $tile-theme: map-get($tile-themes, theme-#{$i}); + background-color: map-get($tile-theme, bg); + } + } + + outline: none; + transition: transform 280ms cubic-bezier(.4,0,.2,1), box-shadow 280ms cubic-bezier(.4,0,.2,1); + min-height: 200px; + padding: 0 !important; + + &:hover { + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12), 0 5px 5px -3px rgba(0, 0, 0, .2); + cursor: pointer; + transform: scale(1.015); + } + + &-logo { + position: absolute; + right: 20px; + top: 20px; + padding: 16px; + z-index: 9; + + &-icon { + font-size: 70px; + width: 1em !important; + height: 1em !important; + + @for $i from 1 through 10 { + .theme-#{$i} & { + $tile-theme: map-get($tile-themes, theme-#{$i}); + color: map-get($tile-theme, color); + } + } + } + } + + &-title { + padding: 16px; + margin-bottom: 0 !important; + z-index: 9999; + + h1 { + color: white; + width: 80%; + font-size: 24px; + margin: 0; + line-height: normal; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + } + } + + &-subtitle { + color: white; + z-index: 9999; + padding: 16px; + + .line-clamp { + @include line-clamp(1.25, 3); + } + } + + &-actions { + padding: 0 16px 16px 16px !important; + border-top: 1px solid rgba(0,0,0,.1); + min-height: 48px; + box-sizing: border-box; + + &-icon { + color: #e9f1f3; + } + + &.mat-card-actions { + margin-left: 0px; + margin-right: 0px; + + &:last-child { + margin-bottom: 0 !important; + } + } + } + } + } + } +} diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.spec.ts new file mode 100644 index 0000000000..7e7874293e --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.spec.ts @@ -0,0 +1,57 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { setupTestBed } from '@alfresco/adf-core'; + +import { fakeApplicationInstance } from '../mock/app-model.mock'; +import { AppDetailsCloudComponent } from './app-details-cloud.component'; +import { AppListTestingModule } from '../testing/app-list.testing.module'; + +describe('AppDetailsCloudComponent', () => { + + let component: AppDetailsCloudComponent; + let fixture: ComponentFixture; + + setupTestBed({ + imports: [AppListTestingModule] + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AppDetailsCloudComponent); + component = fixture.componentInstance; + component.applicationInstance = fakeApplicationInstance[0]; + }); + + it('should create AppDetailsCloudComponent ', async(() => { + expect(component instanceof AppDetailsCloudComponent).toBe(true); + })); + + it('should display application name', () => { + fixture.detectChanges(); + const appName = fixture.nativeElement.querySelector('.adf-app-listgrid-item-card-title'); + expect(appName.innerText.trim()).toEqual(fakeApplicationInstance[0].name); + }); + + it('should emit a click event when app selected', () => { + spyOn(component.selectedApp, 'emit'); + fixture.detectChanges(); + const app = fixture.nativeElement.querySelector('.mat-card'); + app.click(); + expect(component.selectedApp.emit).toHaveBeenCalledWith(fakeApplicationInstance[0]); + }); +}); diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.ts b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.ts new file mode 100644 index 0000000000..b33080274f --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-details-cloud.component.ts @@ -0,0 +1,44 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { ApplicationInstanceModel } from '../models/application-instance.model'; + +@Component({ + selector: 'adf-cloud-app-details', + templateUrl: './app-details-cloud.component.html', + styleUrls: ['./app-details-cloud.component.scss'] +}) + +export class AppDetailsCloudComponent { + + @Input() + applicationInstance: ApplicationInstanceModel; + + @Output() + selectedApp: EventEmitter = new EventEmitter(); + + constructor() {} + + /** + * Pass the selected app as next + * @param app + */ + public onSelectApp(app: ApplicationInstanceModel): void { + this.selectedApp.emit(app); + } +} diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.html b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.html new file mode 100644 index 0000000000..cb70025529 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.html @@ -0,0 +1,38 @@ + + +
+ + + + + + + +
+
+ + +
+ +
+
+
diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.scss b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.scss new file mode 100644 index 0000000000..0c80dc2f08 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.scss @@ -0,0 +1,21 @@ +@mixin adf-cloud-app-list-theme($theme) { + + :host { + width: 100%; + } + + .adf-app-list-item { + cursor: pointer; + } + + .adf-app-list-spinner, .adf-app-list-empty { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + height: 85vh; + .mat-spinner { + margin: 0 auto; + } + } +} diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.spec.ts new file mode 100644 index 0000000000..bab5dadfe1 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.spec.ts @@ -0,0 +1,207 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { setupTestBed } from '@alfresco/adf-core'; +import { of } from 'rxjs'; + +import { fakeApplicationInstance } from '../mock/app-model.mock'; +import { AppListCloudComponent } from './app-list-cloud.component'; +import { AppsProcessCloudService } from '../services/apps-process-cloud.service'; +import { AppListTestingModule } from '../testing/app-list.testing.module'; +import { ApplicationInstanceModel } from '../models/application-instance.model'; + +describe('AppListCloudComponent', () => { + + let component: AppListCloudComponent; + let fixture: ComponentFixture; + let service: AppsProcessCloudService; + let getAppsSpy: jasmine.Spy; + + setupTestBed({ + imports: [AppListTestingModule], + providers: [AppsProcessCloudService] + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AppListCloudComponent); + component = fixture.componentInstance; + + service = TestBed.get(AppsProcessCloudService); + getAppsSpy = spyOn(service, 'getDeployedApplicationsByStatus').and.returnValue(of(fakeApplicationInstance)); + }); + + it('should create AppListCloudComponent ', async(() => { + expect(component instanceof AppListCloudComponent).toBe(true); + })); + + it('should define layoutType with the default value', () => { + component.layoutType = ''; + fixture.detectChanges(); + expect(component.isGrid()).toBe(true); + }); + + it('Should fetch deployed apps', async(() => { + fixture.detectChanges(); + fixture.whenStable().then(() => { + component.apps$.subscribe((response: ApplicationInstanceModel[]) => { + expect(response).toBeDefined(); + expect(response.length).toEqual(2); + expect(response[0].name).toEqual('application-new-1'); + expect(response[0].status).toEqual('Running'); + expect(response[0].icon).toEqual('favorite_border'); + expect(response[0].theme).toEqual('theme-2'); + expect(response[1].name).toEqual('application-new-2'); + expect(response[1].status).toEqual('Pending'); + expect(response[1].icon).toEqual('favorite_border'); + expect(response[1].theme).toEqual('theme-2'); + }); + expect(getAppsSpy).toHaveBeenCalled(); + }); + })); + + it('should display default adf-empty-content template when response empty', () => { + getAppsSpy.and.returnValue(of([])); + fixture.detectChanges(); + const defaultEmptyTemplate = fixture.nativeElement.querySelector('.adf-app-list-empty'); + const emptyContent = fixture.debugElement.nativeElement.querySelector('.adf-empty-content'); + const emptyTitle = fixture.debugElement.nativeElement.querySelector('.adf-empty-content__title'); + const emptySubtitle = fixture.debugElement.nativeElement.querySelector('.adf-empty-content__subtitle'); + expect(defaultEmptyTemplate).toBeDefined(); + expect(defaultEmptyTemplate).not.toBeNull(); + expect(emptyContent).not.toBeNull(); + expect(emptyTitle.innerText).toBe('ADF_TASK_LIST.APPS.TITLE'); + expect(emptySubtitle.innerText).toBe('ADF_TASK_LIST.APPS.SUBTITLE'); + expect(getAppsSpy).toHaveBeenCalled(); + }); + + describe('Grid Layout ', () => { + + it('should display a grid by default', () => { + fixture.detectChanges(); + expect(component.isGrid()).toBe(true); + expect(component.isList()).toBe(false); + }); + + it('should defined adf-cloud-app-details when layout type is grid', () => { + fixture.detectChanges(); + const adfCloudDetailsElement = fixture.nativeElement.querySelectorAll('adf-cloud-app-details'); + const appName = fixture.nativeElement.querySelector('.adf-app-listgrid-item-card-title'); + expect(adfCloudDetailsElement).toBeDefined(); + expect(adfCloudDetailsElement).not.toBeNull(); + + expect(adfCloudDetailsElement.length).toEqual(2); + expect(component.isGrid()).toBe(true); + expect(component.isList()).toBe(false); + + expect(appName.innerText.trim()).toEqual(fakeApplicationInstance[0].name); + }); + + it('should display a grid when configured to', () => { + component.layoutType = AppListCloudComponent.LAYOUT_GRID; + fixture.detectChanges(); + expect(component.isGrid()).toBe(true); + expect(component.isList()).toBe(false); + }); + + it('should throw an exception on init if unknown type configured', () => { + component.layoutType = 'unknown'; + expect(component.ngOnInit).toThrowError(); + }); + }); + + describe('List Layout ', () => { + + beforeEach(() => { + component.layoutType = AppListCloudComponent.LAYOUT_LIST; + }); + + it('should display a LIST when configured to', () => { + fixture.detectChanges(); + expect(component.isGrid()).toBe(false); + expect(component.isList()).toBe(true); + }); + + it('should defined mat-list when layout type is LIST', () => { + fixture.detectChanges(); + const appListElement = fixture.nativeElement.querySelectorAll('mat-list'); + const appListItemElement = fixture.nativeElement.querySelectorAll('mat-list-item'); + const appName = fixture.nativeElement.querySelector('.mat-list-text'); + expect(appListElement).toBeDefined(); + expect(appListElement).not.toBeNull(); + + expect(appListItemElement.length).toEqual(2); + expect(component.isGrid()).toBe(false); + expect(component.isList()).toBe(true); + + expect(appName.innerText.trim()).toEqual(fakeApplicationInstance[0].name); + }); + + it('should throw an exception on init if unknown type configured', () => { + component.layoutType = 'unknown'; + expect(component.ngOnInit).toThrowError(); + }); + }); + + it('should emit a click event when app selected', () => { + spyOn(component.appClick, 'emit'); + fixture.detectChanges(); + const onAppClick = fixture.nativeElement.querySelector('.mat-card'); + onAppClick.click(); + expect(component.appClick.emit).toHaveBeenCalledWith(fakeApplicationInstance[0]); + }); +}); + +@Component({ + template: ` + + + apps +

No Apps Found

+
+
+ ` +}) +class CustomEmptyAppListCloudTemplateComponent { +} + +describe('Custom CustomEmptyAppListCloudTemplateComponent', () => { + let fixture: ComponentFixture; + + setupTestBed({ + imports: [AppListTestingModule], + declarations: [CustomEmptyAppListCloudTemplateComponent], + schemas: [ CUSTOM_ELEMENTS_SCHEMA ] + }); + + beforeEach(() => { + fixture = TestBed.createComponent(CustomEmptyAppListCloudTemplateComponent); + }); + + afterEach(() => { + fixture.destroy(); + }); + + it('should render the custom empty template', async(() => { + fixture.detectChanges(); + fixture.whenStable().then(() => { + const title: any = fixture.nativeElement.querySelector('#custom-id'); + expect(title.innerText).toBe('No Apps Found'); + }); + })); +}); diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.ts b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.ts new file mode 100644 index 0000000000..850dfcc21c --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/components/app-list-cloud.component.ts @@ -0,0 +1,103 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + import { EmptyCustomContentDirective } from '@alfresco/adf-core'; + import { AfterContentInit, Component, EventEmitter, Input, OnInit, Output, ContentChild } from '@angular/core'; + import { Observable } from 'rxjs'; + import { AppsProcessCloudService } from '../services/apps-process-cloud.service'; + import { ApplicationInstanceModel } from '../models/application-instance.model'; + + @Component({ + selector: 'adf-cloud-app-list', + templateUrl: './app-list-cloud.component.html', + styleUrls: ['./app-list-cloud.component.scss'] + }) + export class AppListCloudComponent implements OnInit, AfterContentInit { + + public static LAYOUT_LIST: string = 'LIST'; + public static LAYOUT_GRID: string = 'GRID'; + public static RUNNING_STATUS: string = 'Running'; + + @ContentChild(EmptyCustomContentDirective) + emptyCustomContent: EmptyCustomContentDirective; + + /** (**required**) Defines the layout of the apps. There are two possible + * values, "GRID" and "LIST". + */ + @Input() + layoutType: string = AppListCloudComponent.LAYOUT_GRID; + + /** Emitted when an app entry is clicked. */ + @Output() + appClick: EventEmitter = new EventEmitter(); + + apps$: Observable; + + hasEmptyCustomContentTemplate: boolean = false; + + constructor(private appsProcessCloudService: AppsProcessCloudService) { } + + ngOnInit() { + if (!this.isValidType()) { + this.setDefaultLayoutType(); + } + + this.apps$ = this.appsProcessCloudService.getDeployedApplicationsByStatus(AppListCloudComponent.RUNNING_STATUS); + } + + ngAfterContentInit() { + if (this.emptyCustomContent) { + this.hasEmptyCustomContentTemplate = true; + } + } + + onSelectApp(app: ApplicationInstanceModel): void { + this.appClick.emit(app); + } + + /** + * Check if the value of the layoutType property is an allowed value + */ + isValidType(): boolean { + if (this.layoutType && (this.layoutType === AppListCloudComponent.LAYOUT_LIST || this.layoutType === AppListCloudComponent.LAYOUT_GRID)) { + return true; + } + return false; + } + + /** + * Assign the default value to LayoutType + */ + setDefaultLayoutType(): void { + this.layoutType = AppListCloudComponent.LAYOUT_GRID; + } + + /** + * Return true if the layout type is LIST + */ + isList(): boolean { + return this.layoutType === AppListCloudComponent.LAYOUT_LIST; + } + + /** + * Return true if the layout type is GRID + */ + isGrid(): boolean { + + return this.layoutType === AppListCloudComponent.LAYOUT_GRID; + } + } diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/mock/app-model.mock.ts b/lib/process-services-cloud/src/lib/app-list-cloud/mock/app-model.mock.ts new file mode 100644 index 0000000000..1bb0b4fc9a --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/mock/app-model.mock.ts @@ -0,0 +1,23 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ApplicationInstanceModel } from '../models/application-instance.model'; +export let fakeApplicationInstance = [ + new ApplicationInstanceModel( + { name: 'application-new-1', createdAt: '2018-09-21T12:31:39.000Z', status: 'Running', theme: 'theme-2', icon: 'favorite_border' }), + new ApplicationInstanceModel( + { name: 'application-new-2', createdAt: '2018-09-21T12:31:39.000Z', status: 'Pending', theme: 'theme-2', icon: 'favorite_border' }) +]; diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/models/application-instance.model.ts b/lib/process-services-cloud/src/lib/app-list-cloud/models/application-instance.model.ts new file mode 100644 index 0000000000..111dca8b9a --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/models/application-instance.model.ts @@ -0,0 +1,42 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class ApplicationInstanceModel { + + public static DEFAULT_THEME: string = 'theme-2'; + public static DEFAULT_ICON: string = 'favorite_border'; + + name: string; + createdAt: any; + status: string; + theme?: string; + icon?: string; + description?: string; + connectors?: any; + + constructor(obj?: any) { + if (obj) { + this.name = obj.name ? obj.name : null; + this.status = obj.status ? obj.status : null; + this.createdAt = obj.createdAt ? obj.createdAt : null; + this.theme = obj.theme ? obj.theme : ApplicationInstanceModel.DEFAULT_THEME; + this.icon = obj.icon ? obj.icon : ApplicationInstanceModel.DEFAULT_ICON; + this.description = obj.description ? obj.description : null; + this.connectors = obj.connectors ? obj.connectors : null; + } + } +} diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/public_api.ts b/lib/process-services-cloud/src/lib/app-list-cloud/public_api.ts new file mode 100644 index 0000000000..79e933acb9 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/public_api.ts @@ -0,0 +1,20 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from './components/app-list-cloud.component'; +export * from './models/application-instance.model'; +export * from './apps-list-cloud.module'; diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/services/apps-process-cloud.service.spec.ts b/lib/process-services-cloud/src/lib/app-list-cloud/services/apps-process-cloud.service.spec.ts new file mode 100644 index 0000000000..e42b5e8093 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/services/apps-process-cloud.service.spec.ts @@ -0,0 +1,73 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TestBed } from '@angular/core/testing'; +import { of, throwError } from 'rxjs'; +import { setupTestBed } from '@alfresco/adf-core'; +import { HttpErrorResponse } from '@angular/common/http'; +import { AppsProcessCloudService } from './apps-process-cloud.service'; +import { fakeApplicationInstance } from '../mock/app-model.mock'; +import { ApplicationInstanceModel } from '../models/application-instance.model'; +import { AppListTestingModule } from '../testing/app-list.testing.module'; + +describe('AppsProcessCloudService', () => { + + let service: AppsProcessCloudService; + + setupTestBed({ + imports: [AppListTestingModule], + providers: [AppsProcessCloudService] + }); + + beforeEach(() => { + service = TestBed.get(AppsProcessCloudService); + }); + + it('should get the deployed applications ', (done) => { + spyOn(service, 'getDeployedApplicationsByStatus').and.returnValue(of(fakeApplicationInstance)); + service.getDeployedApplicationsByStatus('fake').subscribe( + (res: ApplicationInstanceModel[]) => { + expect(res).toBeDefined(); + expect(res.length).toEqual(2); + expect(res).toEqual(fakeApplicationInstance); + expect(res[0]).toEqual(fakeApplicationInstance[0]); + expect(res[0].name).toEqual('application-new-1'); + expect(res[1]).toEqual(fakeApplicationInstance[1]); + expect(res[1].name).toEqual('application-new-2'); + done(); + } + ); + }); + + it('Should not fetch deployed applications if error occurred', () => { + const errorResponse = new HttpErrorResponse({ + error: 'Mock Error', + status: 404, statusText: 'Not Found' + }); + + spyOn(service, 'getDeployedApplicationsByStatus').and.returnValue(throwError(errorResponse)); + service.getDeployedApplicationsByStatus('fake') + .subscribe( + users => fail('expected an error, not applications'), + error => { + expect(error.status).toEqual(404); + expect(error.statusText).toEqual('Not Found'); + expect(error.error).toEqual('Mock Error'); + } + ); + }); +}); diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/services/apps-process-cloud.service.ts b/lib/process-services-cloud/src/lib/app-list-cloud/services/apps-process-cloud.service.ts new file mode 100644 index 0000000000..57e17cb76d --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/services/apps-process-cloud.service.ts @@ -0,0 +1,69 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Injectable } from '@angular/core'; +import { Observable, from, throwError } from 'rxjs'; +import { map, catchError } from 'rxjs/operators'; +import { AlfrescoApiService } from '@alfresco/adf-core'; +import { AppConfigService, LogService } from '@alfresco/adf-core'; +import { ApplicationInstanceModel } from '../models/application-instance.model'; + +@Injectable() +export class AppsProcessCloudService { + + contextRoot = ''; + + constructor( + private apiService: AlfrescoApiService, + private logService: LogService, + private appConfig: AppConfigService) { + this.contextRoot = this.appConfig.get('bpmHost', ''); + } + + /** + * Gets a list of deployed apps for this user by status. + * @returns The list of deployed apps + */ + getDeployedApplicationsByStatus(status: string): Observable { + const api: any = this.apiService.getInstance().oauth2Auth; + api.basePath = this.contextRoot; + const path = 'alfresco-deployment-service/v1/applications'; + const httpMethod = 'GET', pathParams = {}, queryParams = {}, + headerParams = {}, formParams = {}, bodyParam = {}, authNames = [], + contentTypes = ['application/json'], accepts = ['application/json']; + return from(api.callApi( + path, httpMethod, + pathParams, queryParams, headerParams, formParams, bodyParam, + authNames, contentTypes, accepts, [], '' + )) + .pipe( + map((apps: Array<{}>) => { + return apps.filter((app: ApplicationInstanceModel) => app.status === status) + .map((app) => { + return new ApplicationInstanceModel(app); + }); + } + ), + catchError(err => this.handleError(err)) + ); + } + + private handleError(error?: any) { + this.logService.error(error); + return throwError(error || 'Server error'); + } +} diff --git a/lib/process-services-cloud/src/lib/app-list-cloud/testing/app-list.testing.module.ts b/lib/process-services-cloud/src/lib/app-list-cloud/testing/app-list.testing.module.ts new file mode 100644 index 0000000000..365fe47900 --- /dev/null +++ b/lib/process-services-cloud/src/lib/app-list-cloud/testing/app-list.testing.module.ts @@ -0,0 +1,47 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { NgModule } from '@angular/core'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { HttpClientModule } from '@angular/common/http'; +import { AppListCloudModule } from '../app-list-cloud.module'; +import { + AlfrescoApiService, + AlfrescoApiServiceMock, + AppConfigService, + AppConfigServiceMock, + StorageService, + LogService, + TranslationService, + TranslationMock +} from '@alfresco/adf-core'; + +@NgModule({ + imports: [ + HttpClientModule, + NoopAnimationsModule, + AppListCloudModule + ], + providers: [ + { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }, + { provide: AppConfigService, useClass: AppConfigServiceMock }, + { provide: TranslationService, useClass: TranslationMock }, + StorageService, + LogService + ] +}) +export class AppListTestingModule {} diff --git a/lib/process-services-cloud/src/lib/material.module.ts b/lib/process-services-cloud/src/lib/material.module.ts new file mode 100644 index 0000000000..76c04b2672 --- /dev/null +++ b/lib/process-services-cloud/src/lib/material.module.ts @@ -0,0 +1,44 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { NgModule } from '@angular/core'; +import { + MAT_LABEL_GLOBAL_OPTIONS, MatAutocompleteModule, MatButtonModule, MatCardModule, MatCheckboxModule, + MatChipsModule, MatDatepickerModule, MatDialogModule, MatGridListModule, MatIconModule, + MatInputModule, MatListModule, MatNativeDateModule, MatOptionModule, MatProgressSpinnerModule, MatRadioModule, + MatRippleModule, MatSelectModule, MatSlideToggleModule, MatTableModule, MatTabsModule, + MatTooltipModule, MatMenuModule +} from '@angular/material'; + +export function modules() { + return [ + MatAutocompleteModule, MatButtonModule, MatCardModule, MatDialogModule, + MatCheckboxModule, MatDatepickerModule, MatGridListModule, MatIconModule, MatInputModule, + MatListModule, MatOptionModule, MatRadioModule, MatSelectModule, MatSlideToggleModule, MatTableModule, + MatTabsModule, MatProgressSpinnerModule, MatNativeDateModule, MatRippleModule, MatTooltipModule, + MatChipsModule, MatMenuModule + ]; +} + +@NgModule({ + providers: [ + {provide: MAT_LABEL_GLOBAL_OPTIONS, useValue: { float: 'never' }} + ], + imports: modules(), + exports: modules() +}) +export class MaterialModule {} diff --git a/lib/process-services-cloud/src/lib/process-services-cloud.module.ts b/lib/process-services-cloud/src/lib/process-services-cloud.module.ts index 0fb0e9af07..02678564bc 100644 --- a/lib/process-services-cloud/src/lib/process-services-cloud.module.ts +++ b/lib/process-services-cloud/src/lib/process-services-cloud.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; -import { HelloModule } from './hello/hello.module'; import { TRANSLATION_PROVIDER } from '@alfresco/adf-core'; +import { AppListCloudModule } from './app-list-cloud/app-list-cloud.module'; + @NgModule({ imports: [ - HelloModule + AppListCloudModule ], providers: [ { @@ -16,6 +17,6 @@ import { TRANSLATION_PROVIDER } from '@alfresco/adf-core'; } ], declarations: [], - exports: [HelloModule] + exports: [AppListCloudModule] }) export class ProcessServicesCloudModule { } diff --git a/lib/process-services-cloud/src/lib/styles/_index.scss b/lib/process-services-cloud/src/lib/styles/_index.scss index 78ff78d476..7ca16547f9 100644 --- a/lib/process-services-cloud/src/lib/styles/_index.scss +++ b/lib/process-services-cloud/src/lib/styles/_index.scss @@ -1,2 +1,7 @@ +@import './../app-list-cloud/components/app-details-cloud.component'; +@import './../app-list-cloud/components/app-list-cloud.component'; + @mixin adf-process-services-cloud-theme($theme) { + @include adf-cloud-app-list-theme($theme); + @include adf-cloud-app-details-theme($theme); } diff --git a/lib/process-services-cloud/src/public_api.ts b/lib/process-services-cloud/src/public_api.ts index 06e5149f07..bef4379408 100644 --- a/lib/process-services-cloud/src/public_api.ts +++ b/lib/process-services-cloud/src/public_api.ts @@ -16,4 +16,4 @@ */ export * from './lib/process-services-cloud.module'; -export * from './lib/hello/hello.module'; +export * from './lib/app-list-cloud/app-list-cloud.module'; diff --git a/lib/process-services-cloud/test.ts b/lib/process-services-cloud/test.ts new file mode 100644 index 0000000000..d50ae6d3b5 --- /dev/null +++ b/lib/process-services-cloud/test.ts @@ -0,0 +1,41 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import 'core-js/es7/reflect'; +import 'zone.js/dist/zone'; +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: any; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); + +declare const pdfjsLib: any; +pdfjsLib.GlobalWorkerOptions.workerSrc = 'node_modules/pdfjs-dist/build/pdf.worker.min.js'; + +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/lib/process-services-cloud/tsconfig.json b/lib/process-services-cloud/tsconfig.json new file mode 100644 index 0000000000..29c89f1ef5 --- /dev/null +++ b/lib/process-services-cloud/tsconfig.json @@ -0,0 +1,42 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "moduleResolution": "node", + "sourceMap": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "skipLibCheck": false, + "noLib": false, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "noImplicitAny": false, + "noImplicitReturns": false, + "noImplicitUseStrict": false, + "noFallthroughCasesInSwitch": true, + "removeComments": true, + "declaration": true, + "outDir": "../dist/process-services-cloud/", + "baseUrl" : "./", + "paths": { + "@alfresco/adf-content-services": ["../content-services"], + "@alfresco/adf-insights": ["../analytics"], + "@alfresco/adf-core": ["../core"] + }, + "lib": [ + "es2016", + "dom" + ], + "suppressImplicitAnyIndexErrors": true, + "noUnusedLocals": true + }, + "exclude": [ + "demo", + "node_modules", + "dist" + ], + "angularCompilerOptions": { + "strictMetadataEmit": false, + "skipTemplateCodegen": true + } +} diff --git a/tools/export-check/export-2.5.0.json b/tools/export-check/export-2.5.0.json index a9865dcbf0..cf9fa3a405 100644 --- a/tools/export-check/export-2.5.0.json +++ b/tools/export-check/export-2.5.0.json @@ -17,7 +17,7 @@ }, { "position": { - "line": 266, + "line": 195, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -33,7 +33,7 @@ }, { "position": { - "line": 193, + "line": 268, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -95,14 +95,6 @@ }, "name": "AddPermissionComponent" }, - { - "position": { - "line": 58, - "character": 8, - "fileName": "lib/content-services/permission-manager/permission-manager.module.ts" - }, - "name": "AddPermissionDialogComponent" - }, { "position": { "line": 23, @@ -113,11 +105,11 @@ }, { "position": { - "line": 55, + "line": 58, "character": 8, "fileName": "lib/content-services/permission-manager/permission-manager.module.ts" }, - "name": "AddPermissionPanelComponent" + "name": "AddPermissionDialogComponent" }, { "position": { @@ -127,6 +119,14 @@ }, "name": "AddPermissionPanelComponent" }, + { + "position": { + "line": 55, + "character": 8, + "fileName": "lib/content-services/permission-manager/permission-manager.module.ts" + }, + "name": "AddPermissionPanelComponent" + }, { "position": { "line": 18, @@ -161,17 +161,17 @@ }, { "position": { - "line": 64, - "character": 8, - "fileName": "lib/insights/analytics-process/analytics-process.module.ts" + "line": 21, + "character": 0, + "fileName": "lib/insights/analytics-process/components/analytics.component.ts" }, "name": "AnalyticsComponent" }, { "position": { - "line": 21, - "character": 0, - "fileName": "lib/insights/analytics-process/components/analytics.component.ts" + "line": 64, + "character": 8, + "fileName": "lib/insights/analytics-process/analytics-process.module.ts" }, "name": "AnalyticsComponent" }, @@ -191,6 +191,14 @@ }, "name": "AnalyticsGeneratorComponent" }, + { + "position": { + "line": 67, + "character": 8, + "fileName": "lib/insights/insights.module.ts" + }, + "name": "AnalyticsProcessModule" + }, { "position": { "line": 40, @@ -207,14 +215,6 @@ }, "name": "AnalyticsProcessModule" }, - { - "position": { - "line": 67, - "character": 8, - "fileName": "lib/insights/insights.module.ts" - }, - "name": "AnalyticsProcessModule" - }, { "position": { "line": 68, @@ -241,17 +241,17 @@ }, { "position": { - "line": 41, - "character": 0, - "fileName": "lib/insights/analytics-process/components/analytics-report-parameters.component.ts" + "line": 66, + "character": 8, + "fileName": "lib/insights/analytics-process/analytics-process.module.ts" }, "name": "AnalyticsReportParametersComponent" }, { "position": { - "line": 66, - "character": 8, - "fileName": "lib/insights/analytics-process/analytics-process.module.ts" + "line": 41, + "character": 0, + "fileName": "lib/insights/analytics-process/components/analytics-report-parameters.component.ts" }, "name": "AnalyticsReportParametersComponent" }, @@ -263,22 +263,6 @@ }, "name": "AnalyticsService" }, - { - "position": { - "line": 278, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "AppConfigModule" - }, - { - "position": { - "line": 205, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "AppConfigModule" - }, { "position": { "line": 21, @@ -289,11 +273,19 @@ }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/core/app-config/app-config.pipe.ts" + "line": 207, + "character": 8, + "fileName": "lib/core/core.module.ts" }, - "name": "AppConfigPipe" + "name": "AppConfigModule" + }, + { + "position": { + "line": 280, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "AppConfigModule" }, { "position": { @@ -303,6 +295,14 @@ }, "name": "AppConfigPipe" }, + { + "position": { + "line": 20, + "character": 0, + "fileName": "lib/core/app-config/app-config.pipe.ts" + }, + "name": "AppConfigPipe" + }, { "position": { "line": 38, @@ -353,17 +353,17 @@ }, { "position": { - "line": 80, - "character": 8, - "fileName": "lib/process-services/process.module.ts" + "line": 26, + "character": 0, + "fileName": "lib/process-services/app-list/apps-list.module.ts" }, "name": "AppsListModule" }, { "position": { - "line": 26, - "character": 0, - "fileName": "lib/process-services/app-list/apps-list.module.ts" + "line": 80, + "character": 8, + "fileName": "lib/process-services/process.module.ts" }, "name": "AppsListModule" }, @@ -385,17 +385,17 @@ }, { "position": { - "line": 38, - "character": 8, - "fileName": "lib/process-services/content-widget/content-widget.module.ts" + "line": 35, + "character": 0, + "fileName": "lib/process-services/content-widget/attach-file-widget.component.ts" }, "name": "AttachFileWidgetComponent" }, { "position": { - "line": 35, - "character": 0, - "fileName": "lib/process-services/content-widget/attach-file-widget.component.ts" + "line": 38, + "character": 8, + "fileName": "lib/process-services/content-widget/content-widget.module.ts" }, "name": "AttachFileWidgetComponent" }, @@ -417,17 +417,17 @@ }, { "position": { - "line": 73, - "character": 8, - "fileName": "lib/process-services/task-list/task-list.module.ts" + "line": 23, + "character": 0, + "fileName": "lib/process-services/task-list/components/attach-form.component.ts" }, "name": "AttachFormComponent" }, { "position": { - "line": 23, - "character": 0, - "fileName": "lib/process-services/task-list/components/attach-form.component.ts" + "line": 73, + "character": 8, + "fileName": "lib/process-services/task-list/task-list.module.ts" }, "name": "AttachFormComponent" }, @@ -583,14 +583,6 @@ }, "name": "BreadcrumbComponent" }, - { - "position": { - "line": 25, - "character": 0, - "fileName": "lib/content-services/breadcrumb/breadcrumb.module.ts" - }, - "name": "BreadcrumbModule" - }, { "position": { "line": 112, @@ -607,6 +599,14 @@ }, "name": "BreadcrumbModule" }, + { + "position": { + "line": 25, + "character": 0, + "fileName": "lib/content-services/breadcrumb/breadcrumb.module.ts" + }, + "name": "BreadcrumbModule" + }, { "position": { "line": 35, @@ -625,7 +625,15 @@ }, { "position": { - "line": 292, + "line": 221, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "ButtonsMenuModule" + }, + { + "position": { + "line": 294, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -639,14 +647,6 @@ }, "name": "ButtonsMenuModule" }, - { - "position": { - "line": 219, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "ButtonsMenuModule" - }, { "position": { "line": 26, @@ -665,17 +665,17 @@ }, { "position": { - "line": 19, - "character": 4, - "fileName": "lib/core/card-view/public-api.ts" + "line": 22, + "character": 0, + "fileName": "lib/core/card-view/components/card-view-boolitem/card-view-boolitem.component.ts" }, "name": "CardViewBoolItemComponent" }, { "position": { - "line": 22, - "character": 0, - "fileName": "lib/core/card-view/components/card-view-boolitem/card-view-boolitem.component.ts" + "line": 19, + "character": 4, + "fileName": "lib/core/card-view/public-api.ts" }, "name": "CardViewBoolItemComponent" }, @@ -695,14 +695,6 @@ }, "name": "CardViewBoolItemModel" }, - { - "position": { - "line": 18, - "character": 4, - "fileName": "lib/core/card-view/public-api.ts" - }, - "name": "CardViewComponent" - }, { "position": { "line": 81, @@ -719,6 +711,14 @@ }, "name": "CardViewComponent" }, + { + "position": { + "line": 18, + "character": 4, + "fileName": "lib/core/card-view/public-api.ts" + }, + "name": "CardViewComponent" + }, { "position": { "line": 19, @@ -727,14 +727,6 @@ }, "name": "CardViewContentProxyDirective" }, - { - "position": { - "line": 29, - "character": 0, - "fileName": "lib/core/card-view/components/card-view-dateitem/card-view-dateitem.component.ts" - }, - "name": "CardViewDateItemComponent" - }, { "position": { "line": 83, @@ -751,6 +743,14 @@ }, "name": "CardViewDateItemComponent" }, + { + "position": { + "line": 29, + "character": 0, + "fileName": "lib/core/card-view/components/card-view-dateitem/card-view-dateitem.component.ts" + }, + "name": "CardViewDateItemComponent" + }, { "position": { "line": 23, @@ -817,17 +817,17 @@ }, { "position": { - "line": 87, - "character": 8, - "fileName": "lib/core/card-view/card-view.module.ts" + "line": 23, + "character": 0, + "fileName": "lib/core/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.ts" }, "name": "CardViewKeyValuePairsItemComponent" }, { "position": { - "line": 23, - "character": 0, - "fileName": "lib/core/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.ts" + "line": 87, + "character": 8, + "fileName": "lib/core/card-view/card-view.module.ts" }, "name": "CardViewKeyValuePairsItemComponent" }, @@ -839,6 +839,14 @@ }, "name": "CardViewKeyValuePairsItemModel" }, + { + "position": { + "line": 21, + "character": 4, + "fileName": "lib/core/card-view/public-api.ts" + }, + "name": "CardViewMapItemComponent" + }, { "position": { "line": 21, @@ -855,14 +863,6 @@ }, "name": "CardViewMapItemComponent" }, - { - "position": { - "line": 21, - "character": 4, - "fileName": "lib/core/card-view/public-api.ts" - }, - "name": "CardViewMapItemComponent" - }, { "position": { "line": 21, @@ -873,7 +873,7 @@ }, { "position": { - "line": 282, + "line": 284, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -889,7 +889,7 @@ }, { "position": { - "line": 209, + "line": 211, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -927,6 +927,14 @@ }, "name": "CardViewSelectItemModel" }, + { + "position": { + "line": 22, + "character": 4, + "fileName": "lib/core/card-view/public-api.ts" + }, + "name": "CardViewTextItemComponent" + }, { "position": { "line": 21, @@ -943,14 +951,6 @@ }, "name": "CardViewTextItemComponent" }, - { - "position": { - "line": 22, - "character": 4, - "fileName": "lib/core/card-view/public-api.ts" - }, - "name": "CardViewTextItemComponent" - }, { "position": { "line": 22, @@ -991,6 +991,14 @@ }, "name": "CheckboxWidgetComponent" }, + { + "position": { + "line": 22, + "character": 0, + "fileName": "lib/process-services/task-list/components/checklist.component.ts" + }, + "name": "ChecklistComponent" + }, { "position": { "line": 69, @@ -1001,11 +1009,19 @@ }, { "position": { - "line": 22, - "character": 0, - "fileName": "lib/process-services/task-list/components/checklist.component.ts" + "line": 285, + "character": 8, + "fileName": "lib/core/core.module.ts" }, - "name": "ChecklistComponent" + "name": "CollapsableModule" + }, + { + "position": { + "line": 212, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "CollapsableModule" }, { "position": { @@ -1015,22 +1031,6 @@ }, "name": "CollapsableModule" }, - { - "position": { - "line": 210, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "CollapsableModule" - }, - { - "position": { - "line": 283, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "CollapsableModule" - }, { "position": { "line": 24, @@ -1039,6 +1039,14 @@ }, "name": "CommentContentService" }, + { + "position": { + "line": 23, + "character": 0, + "fileName": "lib/core/comments/comment-list.component.ts" + }, + "name": "CommentListComponent" + }, { "position": { "line": 45, @@ -1055,14 +1063,6 @@ }, "name": "CommentListComponent" }, - { - "position": { - "line": 23, - "character": 0, - "fileName": "lib/core/comments/comment-list.component.ts" - }, - "name": "CommentListComponent" - }, { "position": { "line": 17, @@ -1087,14 +1087,6 @@ }, "name": "CommentProcessService" }, - { - "position": { - "line": 22, - "character": 9, - "fileName": "lib/process-services/index.ts" - }, - "name": "CommentsComponent" - }, { "position": { "line": 46, @@ -1113,15 +1105,23 @@ }, { "position": { - "line": 18, + "line": 22, "character": 9, "fileName": "lib/process-services/index.ts" }, + "name": "CommentsComponent" + }, + { + "position": { + "line": 214, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, "name": "CommentsModule" }, { "position": { - "line": 212, + "line": 287, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -1137,47 +1137,15 @@ }, { "position": { - "line": 285, - "character": 8, - "fileName": "lib/core/core.module.ts" + "line": 18, + "character": 9, + "fileName": "lib/process-services/index.ts" }, "name": "CommentsModule" }, { "position": { - "line": 74, - "character": 8, - "fileName": "lib/process-services/process.module.ts" - }, - "name": "CommonModule" - }, - { - "position": { - "line": 125, - "character": 8, - "fileName": "lib/process-services/process.module.ts" - }, - "name": "CommonModule" - }, - { - "position": { - "line": 270, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "CommonModule" - }, - { - "position": { - "line": 62, - "character": 8, - "fileName": "lib/insights/insights.module.ts" - }, - "name": "CommonModule" - }, - { - "position": { - "line": 197, + "line": 272, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -1193,11 +1161,51 @@ }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/content-services/dialogs/confirm.dialog.ts" + "line": 74, + "character": 8, + "fileName": "lib/process-services/process.module.ts" }, - "name": "ConfirmDialogComponent" + "name": "CommonModule" + }, + { + "position": { + "line": 199, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "CommonModule" + }, + { + "position": { + "line": 49, + "character": 8, + "fileName": "lib/process-services-cloud/process-cloud.module.ts" + }, + "name": "CommonModule" + }, + { + "position": { + "line": 125, + "character": 8, + "fileName": "lib/process-services/process.module.ts" + }, + "name": "CommonModule" + }, + { + "position": { + "line": 88, + "character": 8, + "fileName": "lib/process-services-cloud/process-cloud.module.ts" + }, + "name": "CommonModule" + }, + { + "position": { + "line": 62, + "character": 8, + "fileName": "lib/insights/insights.module.ts" + }, + "name": "CommonModule" }, { "position": { @@ -1207,6 +1215,14 @@ }, "name": "ConfirmDialogComponent" }, + { + "position": { + "line": 20, + "character": 0, + "fileName": "lib/content-services/dialogs/confirm.dialog.ts" + }, + "name": "ConfirmDialogComponent" + }, { "position": { "line": 21, @@ -1231,14 +1247,6 @@ }, "name": "ContainerWidgetComponent" }, - { - "position": { - "line": 55, - "character": 8, - "fileName": "lib/content-services/document-list/document-list.module.ts" - }, - "name": "ContentActionComponent" - }, { "position": { "line": 28, @@ -1249,11 +1257,11 @@ }, { "position": { - "line": 56, + "line": 55, "character": 8, "fileName": "lib/content-services/document-list/document-list.module.ts" }, - "name": "ContentActionListComponent" + "name": "ContentActionComponent" }, { "position": { @@ -1263,6 +1271,14 @@ }, "name": "ContentActionListComponent" }, + { + "position": { + "line": 56, + "character": 8, + "fileName": "lib/content-services/document-list/document-list.module.ts" + }, + "name": "ContentActionListComponent" + }, { "position": { "line": 17, @@ -1271,14 +1287,6 @@ }, "name": "ContentActionModel" }, - { - "position": { - "line": 25, - "character": 0, - "fileName": "lib/content-services/document-list/components/content-column/content-column.component.ts" - }, - "name": "ContentColumnComponent" - }, { "position": { "line": 53, @@ -1289,11 +1297,11 @@ }, { "position": { - "line": 54, - "character": 8, - "fileName": "lib/content-services/document-list/document-list.module.ts" + "line": 25, + "character": 0, + "fileName": "lib/content-services/document-list/components/content-column/content-column.component.ts" }, - "name": "ContentColumnListComponent" + "name": "ContentColumnComponent" }, { "position": { @@ -1305,11 +1313,11 @@ }, { "position": { - "line": 117, + "line": 54, "character": 8, - "fileName": "lib/content-services/content.module.ts" + "fileName": "lib/content-services/document-list/document-list.module.ts" }, - "name": "ContentDirectiveModule" + "name": "ContentColumnListComponent" }, { "position": { @@ -1329,7 +1337,15 @@ }, { "position": { - "line": 63, + "line": 117, + "character": 8, + "fileName": "lib/content-services/content.module.ts" + }, + "name": "ContentDirectiveModule" + }, + { + "position": { + "line": 64, "character": 0, "fileName": "lib/content-services/document-list/models/document-library.model.ts" }, @@ -1377,9 +1393,9 @@ }, { "position": { - "line": 25, - "character": 0, - "fileName": "lib/content-services/content-metadata/content-metadata.module.ts" + "line": 114, + "character": 8, + "fileName": "lib/content-services/content.module.ts" }, "name": "ContentMetadataModule" }, @@ -1393,9 +1409,9 @@ }, { "position": { - "line": 114, - "character": 8, - "fileName": "lib/content-services/content.module.ts" + "line": 25, + "character": 0, + "fileName": "lib/content-services/content-metadata/content-metadata.module.ts" }, "name": "ContentMetadataModule" }, @@ -1447,6 +1463,14 @@ }, "name": "ContentNodeSelectorComponent" }, + { + "position": { + "line": 30, + "character": 0, + "fileName": "lib/content-services/content-node-selector/content-node-selector.module.ts" + }, + "name": "ContentNodeSelectorModule" + }, { "position": { "line": 113, @@ -1463,14 +1487,6 @@ }, "name": "ContentNodeSelectorModule" }, - { - "position": { - "line": 30, - "character": 0, - "fileName": "lib/content-services/content-node-selector/content-node-selector.module.ts" - }, - "name": "ContentNodeSelectorModule" - }, { "position": { "line": 36, @@ -1529,17 +1545,17 @@ }, { "position": { - "line": 23, - "character": 0, - "fileName": "lib/core/context-menu/context-menu.directive.ts" + "line": 39, + "character": 8, + "fileName": "lib/core/context-menu/context-menu.module.ts" }, "name": "ContextMenuDirective" }, { "position": { - "line": 39, - "character": 8, - "fileName": "lib/core/context-menu/context-menu.module.ts" + "line": 23, + "character": 0, + "fileName": "lib/core/context-menu/context-menu.directive.ts" }, "name": "ContextMenuDirective" }, @@ -1559,6 +1575,14 @@ }, "name": "ContextMenuHolderComponent" }, + { + "position": { + "line": 210, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "ContextMenuModule" + }, { "position": { "line": 26, @@ -1569,15 +1593,7 @@ }, { "position": { - "line": 281, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "ContextMenuModule" - }, - { - "position": { - "line": 208, + "line": 283, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -1609,7 +1625,7 @@ }, { "position": { - "line": 227, + "line": 229, "character": 0, "fileName": "lib/core/core.module.ts" }, @@ -1617,12 +1633,20 @@ }, { "position": { - "line": 154, + "line": 156, "character": 0, "fileName": "lib/core/core.module.ts" }, "name": "CoreModuleLazy" }, + { + "position": { + "line": 41, + "character": 8, + "fileName": "lib/process-services/attachment/attachment.module.ts" + }, + "name": "CreateProcessAttachmentComponent" + }, { "position": { "line": 20, @@ -1639,14 +1663,6 @@ }, "name": "CreateProcessAttachmentComponent" }, - { - "position": { - "line": 41, - "character": 8, - "fileName": "lib/process-services/attachment/attachment.module.ts" - }, - "name": "CreateProcessAttachmentComponent" - }, { "position": { "line": 34, @@ -1705,7 +1721,7 @@ }, { "position": { - "line": 289, + "line": 291, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -1713,7 +1729,7 @@ }, { "position": { - "line": 216, + "line": 218, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -1793,7 +1809,7 @@ }, { "position": { - "line": 217, + "line": 219, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -1801,7 +1817,7 @@ }, { "position": { - "line": 290, + "line": 292, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -1825,7 +1841,7 @@ }, { "position": { - "line": 21, + "line": 24, "character": 0, "fileName": "lib/core/datatable/components/datatable/date-cell.component.ts" }, @@ -1961,17 +1977,17 @@ }, { "position": { - "line": 24, - "character": 0, - "fileName": "lib/insights/diagram/components/diagram.component.ts" + "line": 200, + "character": 8, + "fileName": "lib/insights/diagram/diagram.module.ts" }, "name": "DiagramComponent" }, { "position": { - "line": 200, - "character": 8, - "fileName": "lib/insights/diagram/diagram.module.ts" + "line": 24, + "character": 0, + "fileName": "lib/insights/diagram/components/diagram.component.ts" }, "name": "DiagramComponent" }, @@ -2345,17 +2361,17 @@ }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/insights/diagram/components/diagram-sequence-flow.component.ts" + "line": 219, + "character": 8, + "fileName": "lib/insights/diagram/diagram.module.ts" }, "name": "DiagramSequenceFlowComponent" }, { "position": { - "line": 219, - "character": 8, - "fileName": "lib/insights/diagram/diagram.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/insights/diagram/components/diagram-sequence-flow.component.ts" }, "name": "DiagramSequenceFlowComponent" }, @@ -2377,17 +2393,17 @@ }, { "position": { - "line": 66, - "character": 8, - "fileName": "lib/insights/insights.module.ts" + "line": 113, + "character": 0, + "fileName": "lib/insights/diagram/diagram.module.ts" }, "name": "DiagramsModule" }, { "position": { - "line": 113, - "character": 0, - "fileName": "lib/insights/diagram/diagram.module.ts" + "line": 66, + "character": 8, + "fileName": "lib/insights/insights.module.ts" }, "name": "DiagramsModule" }, @@ -2463,14 +2479,6 @@ }, "name": "DialogModule" }, - { - "position": { - "line": 31, - "character": 0, - "fileName": "lib/content-services/dialogs/dialog.module.ts" - }, - "name": "DialogModule" - }, { "position": { "line": 115, @@ -2479,6 +2487,30 @@ }, "name": "DialogModule" }, + { + "position": { + "line": 31, + "character": 0, + "fileName": "lib/content-services/dialogs/dialog.module.ts" + }, + "name": "DialogModule" + }, + { + "position": { + "line": 200, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "DirectiveModule" + }, + { + "position": { + "line": 273, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "DirectiveModule" + }, { "position": { "line": 29, @@ -2487,22 +2519,6 @@ }, "name": "DirectiveModule" }, - { - "position": { - "line": 271, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "DirectiveModule" - }, - { - "position": { - "line": 198, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "DirectiveModule" - }, { "position": { "line": 24, @@ -2551,6 +2567,14 @@ }, "name": "DocumentListComponent" }, + { + "position": { + "line": 34, + "character": 0, + "fileName": "lib/content-services/document-list/document-list.module.ts" + }, + "name": "DocumentListModule" + }, { "position": { "line": 162, @@ -2567,14 +2591,6 @@ }, "name": "DocumentListModule" }, - { - "position": { - "line": 34, - "character": 0, - "fileName": "lib/content-services/document-list/document-list.module.ts" - }, - "name": "DocumentListModule" - }, { "position": { "line": 27, @@ -2609,17 +2625,17 @@ }, { "position": { - "line": 33, - "character": 8, - "fileName": "lib/content-services/breadcrumb/breadcrumb.module.ts" + "line": 22, + "character": 0, + "fileName": "lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts" }, "name": "DropdownBreadcrumbComponent" }, { "position": { - "line": 22, - "character": 0, - "fileName": "lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts" + "line": 33, + "character": 8, + "fileName": "lib/content-services/breadcrumb/breadcrumb.module.ts" }, "name": "DropdownBreadcrumbComponent" }, @@ -2633,17 +2649,17 @@ }, { "position": { - "line": 26, - "character": 0, - "fileName": "lib/content-services/site-dropdown/sites-dropdown.component.ts" + "line": 34, + "character": 8, + "fileName": "lib/content-services/site-dropdown/sites-dropdown.module.ts" }, "name": "DropdownSitesComponent" }, { "position": { - "line": 34, - "character": 8, - "fileName": "lib/content-services/site-dropdown/sites-dropdown.module.ts" + "line": 26, + "character": 0, + "fileName": "lib/content-services/site-dropdown/sites-dropdown.component.ts" }, "name": "DropdownSitesComponent" }, @@ -2737,17 +2753,17 @@ }, { "position": { - "line": 36, - "character": 8, - "fileName": "lib/core/templates/template.module.ts" + "line": 19, + "character": 0, + "fileName": "lib/core/templates/empty-content/empty-content.component.ts" }, "name": "EmptyContentComponent" }, { "position": { - "line": 19, - "character": 0, - "fileName": "lib/core/templates/empty-content/empty-content.component.ts" + "line": 36, + "character": 8, + "fileName": "lib/core/templates/template.module.ts" }, "name": "EmptyContentComponent" }, @@ -2769,17 +2785,17 @@ }, { "position": { - "line": 57, - "character": 8, - "fileName": "lib/content-services/document-list/document-list.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/content-services/document-list/components/empty-folder/empty-folder-content.directive.ts" }, "name": "EmptyFolderContentDirective" }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/content-services/document-list/components/empty-folder/empty-folder-content.directive.ts" + "line": 57, + "character": 8, + "fileName": "lib/content-services/document-list/document-list.module.ts" }, "name": "EmptyFolderContentDirective" }, @@ -2857,17 +2873,17 @@ }, { "position": { - "line": 35, - "character": 8, - "fileName": "lib/core/templates/template.module.ts" + "line": 28, + "character": 0, + "fileName": "lib/core/templates/error-content/error-content.component.ts" }, "name": "ErrorContentComponent" }, { "position": { - "line": 28, - "character": 0, - "fileName": "lib/core/templates/error-content/error-content.component.ts" + "line": 35, + "character": 8, + "fileName": "lib/core/templates/template.module.ts" }, "name": "ErrorContentComponent" }, @@ -2929,17 +2945,17 @@ }, { "position": { - "line": 22, - "character": 0, - "fileName": "lib/content-services/upload/directives/file-draggable.directive.ts" + "line": 47, + "character": 8, + "fileName": "lib/content-services/upload/upload.module.ts" }, "name": "FileDraggableDirective" }, { "position": { - "line": 47, - "character": 8, - "fileName": "lib/content-services/upload/upload.module.ts" + "line": 22, + "character": 0, + "fileName": "lib/content-services/upload/directives/file-draggable.directive.ts" }, "name": "FileDraggableDirective" }, @@ -2969,17 +2985,17 @@ }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/core/pipes/file-size.pipe.ts" + "line": 48, + "character": 8, + "fileName": "lib/core/pipes/pipe.module.ts" }, "name": "FileSizePipe" }, { "position": { - "line": 48, - "character": 8, - "fileName": "lib/core/pipes/pipe.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/core/pipes/file-size.pipe.ts" }, "name": "FileSizePipe" }, @@ -3015,14 +3031,6 @@ }, "name": "FileUploadEvent" }, - { - "position": { - "line": 51, - "character": 8, - "fileName": "lib/content-services/upload/upload.module.ts" - }, - "name": "FileUploadingDialogComponent" - }, { "position": { "line": 26, @@ -3033,11 +3041,11 @@ }, { "position": { - "line": 22, - "character": 0, - "fileName": "lib/content-services/upload/components/file-uploading-list.component.ts" + "line": 51, + "character": 8, + "fileName": "lib/content-services/upload/upload.module.ts" }, - "name": "FileUploadingListComponent" + "name": "FileUploadingDialogComponent" }, { "position": { @@ -3049,11 +3057,11 @@ }, { "position": { - "line": 53, - "character": 8, - "fileName": "lib/content-services/upload/upload.module.ts" + "line": 22, + "character": 0, + "fileName": "lib/content-services/upload/components/file-uploading-list.component.ts" }, - "name": "FileUploadingListRowComponent" + "name": "FileUploadingListComponent" }, { "position": { @@ -3063,6 +3071,14 @@ }, "name": "FileUploadingListRowComponent" }, + { + "position": { + "line": 53, + "character": 8, + "fileName": "lib/content-services/upload/upload.module.ts" + }, + "name": "FileUploadingListRowComponent" + }, { "position": { "line": 23, @@ -3137,17 +3153,17 @@ }, { "position": { - "line": 34, - "character": 8, - "fileName": "lib/content-services/folder-directive/folder-directive.module.ts" + "line": 27, + "character": 0, + "fileName": "lib/content-services/folder-directive/folder-create.directive.ts" }, "name": "FolderCreateDirective" }, { "position": { - "line": 27, - "character": 0, - "fileName": "lib/content-services/folder-directive/folder-create.directive.ts" + "line": 34, + "character": 8, + "fileName": "lib/content-services/folder-directive/folder-directive.module.ts" }, "name": "FolderCreateDirective" }, @@ -3167,14 +3183,6 @@ }, "name": "FolderDialogComponent" }, - { - "position": { - "line": 24, - "character": 0, - "fileName": "lib/content-services/folder-directive/folder-directive.module.ts" - }, - "name": "FolderDirectiveModule" - }, { "position": { "line": 170, @@ -3191,6 +3199,14 @@ }, "name": "FolderDirectiveModule" }, + { + "position": { + "line": 24, + "character": 0, + "fileName": "lib/content-services/folder-directive/folder-directive.module.ts" + }, + "name": "FolderDirectiveModule" + }, { "position": { "line": 35, @@ -3217,17 +3233,17 @@ }, { "position": { - "line": 29, - "character": 0, - "fileName": "lib/core/form/components/form.component.ts" + "line": 71, + "character": 8, + "fileName": "lib/core/form/form.module.ts" }, "name": "FormComponent" }, { "position": { - "line": 71, - "character": 8, - "fileName": "lib/core/form/form.module.ts" + "line": 37, + "character": 0, + "fileName": "lib/core/form/components/form.component.ts" }, "name": "FormComponent" }, @@ -3279,14 +3295,6 @@ }, "name": "FormFieldTypes" }, - { - "position": { - "line": 20, - "character": 0, - "fileName": "lib/core/form/components/form-list.component.ts" - }, - "name": "FormListComponent" - }, { "position": { "line": 72, @@ -3297,7 +3305,15 @@ }, { "position": { - "line": 35, + "line": 20, + "character": 0, + "fileName": "lib/core/form/components/form-list.component.ts" + }, + "name": "FormListComponent" + }, + { + "position": { + "line": 37, "character": 0, "fileName": "lib/core/form/components/widgets/core/form.model.ts" }, @@ -3305,7 +3321,15 @@ }, { "position": { - "line": 211, + "line": 213, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "FormModule" + }, + { + "position": { + "line": 286, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -3319,14 +3343,6 @@ }, "name": "FormModule" }, - { - "position": { - "line": 284, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "FormModule" - }, { "position": { "line": 21, @@ -3361,9 +3377,9 @@ }, { "position": { - "line": 63, + "line": 50, "character": 8, - "fileName": "lib/insights/insights.module.ts" + "fileName": "lib/process-services-cloud/process-cloud.module.ts" }, "name": "FormsModule" }, @@ -3375,22 +3391,6 @@ }, "name": "FormsModule" }, - { - "position": { - "line": 127, - "character": 8, - "fileName": "lib/process-services/process.module.ts" - }, - "name": "FormsModule" - }, - { - "position": { - "line": 199, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "FormsModule" - }, { "position": { "line": 40, @@ -3401,7 +3401,23 @@ }, { "position": { - "line": 272, + "line": 274, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "FormsModule" + }, + { + "position": { + "line": 89, + "character": 8, + "fileName": "lib/process-services-cloud/process-cloud.module.ts" + }, + "name": "FormsModule" + }, + { + "position": { + "line": 201, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -3415,6 +3431,22 @@ }, "name": "FormsModule" }, + { + "position": { + "line": 127, + "character": 8, + "fileName": "lib/process-services/process.module.ts" + }, + "name": "FormsModule" + }, + { + "position": { + "line": 63, + "character": 8, + "fileName": "lib/insights/insights.module.ts" + }, + "name": "FormsModule" + }, { "position": { "line": 21, @@ -3465,17 +3497,17 @@ }, { "position": { - "line": 49, - "character": 8, - "fileName": "lib/core/pipes/pipe.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/core/pipes/text-highlight.pipe.ts" }, "name": "HighlightPipe" }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/core/pipes/text-highlight.pipe.ts" + "line": 49, + "character": 8, + "fileName": "lib/core/pipes/pipe.module.ts" }, "name": "HighlightPipe" }, @@ -3489,17 +3521,17 @@ }, { "position": { - "line": 37, - "character": 8, - "fileName": "lib/core/settings/host-settings.module.ts" + "line": 24, + "character": 0, + "fileName": "lib/core/settings/host-settings.component.ts" }, "name": "HostSettingsComponent" }, { "position": { - "line": 24, - "character": 0, - "fileName": "lib/core/settings/host-settings.component.ts" + "line": 37, + "character": 8, + "fileName": "lib/core/settings/host-settings.module.ts" }, "name": "HostSettingsComponent" }, @@ -3513,7 +3545,7 @@ }, { "position": { - "line": 202, + "line": 204, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -3521,7 +3553,7 @@ }, { "position": { - "line": 275, + "line": 277, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -3529,7 +3561,7 @@ }, { "position": { - "line": 201, + "line": 203, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -3537,7 +3569,7 @@ }, { "position": { - "line": 274, + "line": 276, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -3553,17 +3585,17 @@ }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/core/viewer/components/imgViewer.component.ts" + "line": 75, + "character": 8, + "fileName": "lib/core/viewer/viewer.module.ts" }, "name": "ImgViewerComponent" }, { "position": { - "line": 79, - "character": 8, - "fileName": "lib/core/viewer/viewer.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/core/viewer/components/imgViewer.component.ts" }, "name": "ImgViewerComponent" }, @@ -3623,6 +3655,22 @@ }, "name": "InfoDrawerLayoutComponent" }, + { + "position": { + "line": 290, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "InfoDrawerModule" + }, + { + "position": { + "line": 217, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "InfoDrawerModule" + }, { "position": { "line": 35, @@ -3631,22 +3679,6 @@ }, "name": "InfoDrawerModule" }, - { - "position": { - "line": 288, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "InfoDrawerModule" - }, - { - "position": { - "line": 215, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "InfoDrawerModule" - }, { "position": { "line": 19, @@ -3681,17 +3713,17 @@ }, { "position": { - "line": 22, - "character": 0, - "fileName": "lib/core/pipes/user-initial.pipe.ts" + "line": 52, + "character": 8, + "fileName": "lib/core/pipes/pipe.module.ts" }, "name": "InitialUsernamePipe" }, { "position": { - "line": 52, - "character": 8, - "fileName": "lib/core/pipes/pipe.module.ts" + "line": 22, + "character": 0, + "fileName": "lib/core/pipes/user-initial.pipe.ts" }, "name": "InitialUsernamePipe" }, @@ -3735,22 +3767,6 @@ }, "name": "LanguageMenuComponent" }, - { - "position": { - "line": 287, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "LanguageMenuModule" - }, - { - "position": { - "line": 214, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "LanguageMenuModule" - }, { "position": { "line": 23, @@ -3759,6 +3775,22 @@ }, "name": "LanguageMenuModule" }, + { + "position": { + "line": 216, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "LanguageMenuModule" + }, + { + "position": { + "line": 289, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "LanguageMenuModule" + }, { "position": { "line": 40, @@ -3793,17 +3825,17 @@ }, { "position": { - "line": 31, - "character": 8, - "fileName": "lib/content-services/social/social.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/content-services/social/like.component.ts" }, "name": "LikeComponent" }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/content-services/social/like.component.ts" + "line": 31, + "character": 8, + "fileName": "lib/content-services/social/social.module.ts" }, "name": "LikeComponent" }, @@ -3873,17 +3905,17 @@ }, { "position": { - "line": 44, - "character": 8, - "fileName": "lib/core/login/login.module.ts" + "line": 25, + "character": 0, + "fileName": "lib/core/login/directives/login-footer.directive.ts" }, "name": "LoginFooterDirective" }, { "position": { - "line": 25, - "character": 0, - "fileName": "lib/core/login/directives/login-footer.directive.ts" + "line": 44, + "character": 8, + "fileName": "lib/core/login/login.module.ts" }, "name": "LoginFooterDirective" }, @@ -3905,7 +3937,15 @@ }, { "position": { - "line": 213, + "line": 288, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "LoginModule" + }, + { + "position": { + "line": 215, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -3919,14 +3959,6 @@ }, "name": "LoginModule" }, - { - "position": { - "line": 286, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "LoginModule" - }, { "position": { "line": 17, @@ -3969,17 +4001,9 @@ }, { "position": { - "line": 277, + "line": 109, "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "MaterialModule" - }, - { - "position": { - "line": 204, - "character": 8, - "fileName": "lib/core/core.module.ts" + "fileName": "lib/insights/insights.module.ts" }, "name": "MaterialModule" }, @@ -3993,9 +4017,17 @@ }, { "position": { - "line": 109, + "line": 206, "character": 8, - "fileName": "lib/insights/insights.module.ts" + "fileName": "lib/core/core.module.ts" + }, + "name": "MaterialModule" + }, + { + "position": { + "line": 279, + "character": 8, + "fileName": "lib/core/core.module.ts" }, "name": "MaterialModule" }, @@ -4033,15 +4065,7 @@ }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/core/viewer/components/mediaPlayer.component.ts" - }, - "name": "MediaPlayerComponent" - }, - { - "position": { - "line": 81, + "line": 77, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -4051,9 +4075,9 @@ "position": { "line": 20, "character": 0, - "fileName": "lib/core/pipes/mime-type-icon.pipe.ts" + "fileName": "lib/core/viewer/components/mediaPlayer.component.ts" }, - "name": "MimeTypeIconPipe" + "name": "MediaPlayerComponent" }, { "position": { @@ -4063,6 +4087,14 @@ }, "name": "MimeTypeIconPipe" }, + { + "position": { + "line": 20, + "character": 0, + "fileName": "lib/core/pipes/mime-type-icon.pipe.ts" + }, + "name": "MimeTypeIconPipe" + }, { "position": { "line": 165, @@ -4121,17 +4153,17 @@ }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/content-services/content-node-selector/name-location-cell/name-location-cell.component.ts" + "line": 43, + "character": 8, + "fileName": "lib/content-services/content-node-selector/content-node-selector.module.ts" }, "name": "NameLocationCellComponent" }, { "position": { - "line": 43, - "character": 8, - "fileName": "lib/content-services/content-node-selector/content-node-selector.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/content-services/content-node-selector/name-location-cell/name-location-cell.component.ts" }, "name": "NameLocationCellComponent" }, @@ -4159,14 +4191,6 @@ }, "name": "NodeActionsService" }, - { - "position": { - "line": 46, - "character": 8, - "fileName": "lib/core/directives/directive.module.ts" - }, - "name": "NodeDeleteDirective" - }, { "position": { "line": 48, @@ -4177,11 +4201,11 @@ }, { "position": { - "line": 24, - "character": 0, - "fileName": "lib/content-services/directives/node-download.directive.ts" + "line": 46, + "character": 8, + "fileName": "lib/core/directives/directive.module.ts" }, - "name": "NodeDownloadDirective" + "name": "NodeDeleteDirective" }, { "position": { @@ -4191,6 +4215,14 @@ }, "name": "NodeDownloadDirective" }, + { + "position": { + "line": 24, + "character": 0, + "fileName": "lib/content-services/directives/node-download.directive.ts" + }, + "name": "NodeDownloadDirective" + }, { "position": { "line": 20, @@ -4209,17 +4241,17 @@ }, { "position": { - "line": 25, - "character": 0, - "fileName": "lib/core/directives/node-favorite.directive.ts" + "line": 47, + "character": 8, + "fileName": "lib/core/directives/directive.module.ts" }, "name": "NodeFavoriteDirective" }, { "position": { - "line": 47, - "character": 8, - "fileName": "lib/core/directives/directive.module.ts" + "line": 25, + "character": 0, + "fileName": "lib/core/directives/node-favorite.directive.ts" }, "name": "NodeFavoriteDirective" }, @@ -4305,17 +4337,17 @@ }, { "position": { - "line": 28, - "character": 0, - "fileName": "lib/core/directives/node-permission.directive.ts" + "line": 48, + "character": 8, + "fileName": "lib/core/directives/directive.module.ts" }, "name": "NodePermissionDirective" }, { "position": { - "line": 48, - "character": 8, - "fileName": "lib/core/directives/directive.module.ts" + "line": 28, + "character": 0, + "fileName": "lib/core/directives/node-permission.directive.ts" }, "name": "NodePermissionDirective" }, @@ -4391,14 +4423,6 @@ }, "name": "NoPermissionContentDirective" }, - { - "position": { - "line": 54, - "character": 8, - "fileName": "lib/content-services/permission-manager/permission-manager.module.ts" - }, - "name": "NoPermissionTemplateComponent" - }, { "position": { "line": 21, @@ -4409,11 +4433,11 @@ }, { "position": { - "line": 77, + "line": 54, "character": 8, - "fileName": "lib/core/datatable/datatable.module.ts" + "fileName": "lib/content-services/permission-manager/permission-manager.module.ts" }, - "name": "NoPermissionTemplateDirective" + "name": "NoPermissionTemplateComponent" }, { "position": { @@ -4425,11 +4449,11 @@ }, { "position": { - "line": 25, - "character": 0, - "fileName": "lib/process-services/task-list/components/no-task-detail-template.directive.ts" + "line": 77, + "character": 8, + "fileName": "lib/core/datatable/datatable.module.ts" }, - "name": "NoTaskDetailsTemplateDirective" + "name": "NoPermissionTemplateDirective" }, { "position": { @@ -4439,6 +4463,14 @@ }, "name": "NoTaskDetailsTemplateDirective" }, + { + "position": { + "line": 25, + "character": 0, + "fileName": "lib/process-services/task-list/components/no-task-detail-template.directive.ts" + }, + "name": "NoTaskDetailsTemplateDirective" + }, { "position": { "line": 21, @@ -4543,14 +4575,6 @@ }, "name": "PaginationModel" }, - { - "position": { - "line": 279, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "PaginationModule" - }, { "position": { "line": 24, @@ -4561,7 +4585,15 @@ }, { "position": { - "line": 206, + "line": 208, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "PaginationModule" + }, + { + "position": { + "line": 281, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -4577,7 +4609,7 @@ }, { "position": { - "line": 76, + "line": 77, "character": 0, "fileName": "lib/content-services/document-list/models/document-library.model.ts" }, @@ -4585,7 +4617,7 @@ }, { "position": { - "line": 70, + "line": 71, "character": 0, "fileName": "lib/content-services/document-list/models/document-library.model.ts" }, @@ -4593,7 +4625,7 @@ }, { "position": { - "line": 83, + "line": 79, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -4601,7 +4633,7 @@ }, { "position": { - "line": 84, + "line": 80, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -4625,7 +4657,7 @@ }, { "position": { - "line": 85, + "line": 81, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -4633,15 +4665,7 @@ }, { "position": { - "line": 35, - "character": 0, - "fileName": "lib/core/viewer/components/pdfViewer.component.ts" - }, - "name": "PdfViewerComponent" - }, - { - "position": { - "line": 82, + "line": 78, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -4649,11 +4673,11 @@ }, { "position": { - "line": 25, + "line": 36, "character": 0, - "fileName": "lib/process-services/people/components/people/people.component.ts" + "fileName": "lib/core/viewer/components/pdfViewer.component.ts" }, - "name": "PeopleComponent" + "name": "PdfViewerComponent" }, { "position": { @@ -4663,6 +4687,14 @@ }, "name": "PeopleComponent" }, + { + "position": { + "line": 25, + "character": 0, + "fileName": "lib/process-services/people/components/people/people.component.ts" + }, + "name": "PeopleComponent" + }, { "position": { "line": 22, @@ -4671,14 +4703,6 @@ }, "name": "PeopleContentService" }, - { - "position": { - "line": 56, - "character": 8, - "fileName": "lib/process-services/people/people.module.ts" - }, - "name": "PeopleListComponent" - }, { "position": { "line": 22, @@ -4689,11 +4713,11 @@ }, { "position": { - "line": 32, - "character": 0, + "line": 56, + "character": 8, "fileName": "lib/process-services/people/people.module.ts" }, - "name": "PeopleModule" + "name": "PeopleListComponent" }, { "position": { @@ -4711,6 +4735,14 @@ }, "name": "PeopleModule" }, + { + "position": { + "line": 32, + "character": 0, + "fileName": "lib/process-services/people/people.module.ts" + }, + "name": "PeopleModule" + }, { "position": { "line": 25, @@ -4737,17 +4769,17 @@ }, { "position": { - "line": 23, - "character": 0, - "fileName": "lib/process-services/people/components/people-search/people-search.component.ts" + "line": 51, + "character": 8, + "fileName": "lib/process-services/people/people.module.ts" }, "name": "PeopleSearchComponent" }, { "position": { - "line": 51, - "character": 8, - "fileName": "lib/process-services/people/people.module.ts" + "line": 23, + "character": 0, + "fileName": "lib/process-services/people/components/people-search/people-search.component.ts" }, "name": "PeopleSearchComponent" }, @@ -4767,14 +4799,6 @@ }, "name": "PeopleSearchFieldComponent" }, - { - "position": { - "line": 19, - "character": 0, - "fileName": "lib/process-services/people/directives/people-search-title.directive.ts" - }, - "name": "PeopleSearchTitleDirective" - }, { "position": { "line": 54, @@ -4785,11 +4809,11 @@ }, { "position": { - "line": 27, + "line": 19, "character": 0, - "fileName": "lib/process-services/people/components/people-selector/people-selector.component.ts" + "fileName": "lib/process-services/people/directives/people-search-title.directive.ts" }, - "name": "PeopleSelectorComponent" + "name": "PeopleSearchTitleDirective" }, { "position": { @@ -4799,6 +4823,14 @@ }, "name": "PeopleSelectorComponent" }, + { + "position": { + "line": 27, + "character": 0, + "fileName": "lib/process-services/people/components/people-selector/people-selector.component.ts" + }, + "name": "PeopleSelectorComponent" + }, { "position": { "line": 35, @@ -4815,14 +4847,6 @@ }, "name": "PermissionDisplayModel" }, - { - "position": { - "line": 53, - "character": 8, - "fileName": "lib/content-services/permission-manager/permission-manager.module.ts" - }, - "name": "PermissionListComponent" - }, { "position": { "line": 23, @@ -4833,11 +4857,11 @@ }, { "position": { - "line": 30, - "character": 0, + "line": 53, + "character": 8, "fileName": "lib/content-services/permission-manager/permission-manager.module.ts" }, - "name": "PermissionManagerModule" + "name": "PermissionListComponent" }, { "position": { @@ -4847,6 +4871,14 @@ }, "name": "PermissionManagerModule" }, + { + "position": { + "line": 30, + "character": 0, + "fileName": "lib/content-services/permission-manager/permission-manager.module.ts" + }, + "name": "PermissionManagerModule" + }, { "position": { "line": 118, @@ -4897,7 +4929,7 @@ }, { "position": { - "line": 196, + "line": 271, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -4905,20 +4937,12 @@ }, { "position": { - "line": 269, + "line": 198, "character": 8, "fileName": "lib/core/core.module.ts" }, "name": "PipeModule" }, - { - "position": { - "line": 21, - "character": 0, - "fileName": "lib/process-services/attachment/process-attachment-list.component.ts" - }, - "name": "ProcessAttachmentListComponent" - }, { "position": { "line": 40, @@ -4929,11 +4953,11 @@ }, { "position": { - "line": 62, - "character": 8, - "fileName": "lib/process-services/process-list/process-list.module.ts" + "line": 21, + "character": 0, + "fileName": "lib/process-services/attachment/process-attachment-list.component.ts" }, - "name": "ProcessAuditDirective" + "name": "ProcessAttachmentListComponent" }, { "position": { @@ -4943,6 +4967,30 @@ }, "name": "ProcessAuditDirective" }, + { + "position": { + "line": 62, + "character": 8, + "fileName": "lib/process-services/process-list/process-list.module.ts" + }, + "name": "ProcessAuditDirective" + }, + { + "position": { + "line": 29, + "character": 0, + "fileName": "lib/process-services-cloud/process-cloud.module.ts" + }, + "name": "ProcessCloudModule" + }, + { + "position": { + "line": 79, + "character": 0, + "fileName": "lib/process-services-cloud/process-cloud.module.ts" + }, + "name": "ProcessCloudModuleLazy" + }, { "position": { "line": 37, @@ -4961,7 +5009,7 @@ }, { "position": { - "line": 126, + "line": 75, "character": 8, "fileName": "lib/process-services/process.module.ts" }, @@ -4969,7 +5017,7 @@ }, { "position": { - "line": 75, + "line": 126, "character": 8, "fileName": "lib/process-services/process.module.ts" }, @@ -5017,17 +5065,17 @@ }, { "position": { - "line": 60, - "character": 8, - "fileName": "lib/process-services/process-list/process-list.module.ts" + "line": 25, + "character": 0, + "fileName": "lib/process-services/process-list/components/process-filters.component.ts" }, "name": "ProcessFiltersComponent" }, { "position": { - "line": 24, - "character": 0, - "fileName": "lib/process-services/process-list/components/process-filters.component.ts" + "line": 60, + "character": 8, + "fileName": "lib/process-services/process-list/process-list.module.ts" }, "name": "ProcessFiltersComponent" }, @@ -5063,14 +5111,6 @@ }, "name": "ProcessInstanceDetailsComponent" }, - { - "position": { - "line": 63, - "character": 8, - "fileName": "lib/process-services/process-list/process-list.module.ts" - }, - "name": "ProcessInstanceHeaderComponent" - }, { "position": { "line": 21, @@ -5081,11 +5121,11 @@ }, { "position": { - "line": 47, - "character": 0, - "fileName": "lib/process-services/process-list/components/process-list.component.ts" + "line": 63, + "character": 8, + "fileName": "lib/process-services/process-list/process-list.module.ts" }, - "name": "ProcessInstanceListComponent" + "name": "ProcessInstanceHeaderComponent" }, { "position": { @@ -5097,11 +5137,11 @@ }, { "position": { - "line": 27, + "line": 47, "character": 0, - "fileName": "lib/process-services/process-list/components/process-instance-tasks.component.ts" + "fileName": "lib/process-services/process-list/components/process-list.component.ts" }, - "name": "ProcessInstanceTasksComponent" + "name": "ProcessInstanceListComponent" }, { "position": { @@ -5111,6 +5151,14 @@ }, "name": "ProcessInstanceTasksComponent" }, + { + "position": { + "line": 27, + "character": 0, + "fileName": "lib/process-services/process-list/components/process-instance-tasks.component.ts" + }, + "name": "ProcessInstanceTasksComponent" + }, { "position": { "line": 19, @@ -5121,9 +5169,9 @@ }, { "position": { - "line": 36, - "character": 0, - "fileName": "lib/process-services/process-list/process-list.module.ts" + "line": 78, + "character": 8, + "fileName": "lib/process-services/process.module.ts" }, "name": "ProcessListModule" }, @@ -5137,9 +5185,9 @@ }, { "position": { - "line": 78, - "character": 8, - "fileName": "lib/process-services/process.module.ts" + "line": 36, + "character": 0, + "fileName": "lib/process-services/process-list/process-list.module.ts" }, "name": "ProcessListModule" }, @@ -5409,17 +5457,17 @@ }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/content-services/social/rating.component.ts" + "line": 30, + "character": 8, + "fileName": "lib/content-services/social/social.module.ts" }, "name": "RatingComponent" }, { "position": { - "line": 30, - "character": 8, - "fileName": "lib/content-services/social/social.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/content-services/social/rating.component.ts" }, "name": "RatingComponent" }, @@ -5433,33 +5481,9 @@ }, { "position": { - "line": 64, + "line": 51, "character": 8, - "fileName": "lib/insights/insights.module.ts" - }, - "name": "ReactiveFormsModule" - }, - { - "position": { - "line": 108, - "character": 8, - "fileName": "lib/insights/insights.module.ts" - }, - "name": "ReactiveFormsModule" - }, - { - "position": { - "line": 273, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "ReactiveFormsModule" - }, - { - "position": { - "line": 77, - "character": 8, - "fileName": "lib/process-services/process.module.ts" + "fileName": "lib/process-services-cloud/process-cloud.module.ts" }, "name": "ReactiveFormsModule" }, @@ -5473,7 +5497,47 @@ }, { "position": { - "line": 200, + "line": 108, + "character": 8, + "fileName": "lib/insights/insights.module.ts" + }, + "name": "ReactiveFormsModule" + }, + { + "position": { + "line": 202, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "ReactiveFormsModule" + }, + { + "position": { + "line": 64, + "character": 8, + "fileName": "lib/insights/insights.module.ts" + }, + "name": "ReactiveFormsModule" + }, + { + "position": { + "line": 90, + "character": 8, + "fileName": "lib/process-services-cloud/process-cloud.module.ts" + }, + "name": "ReactiveFormsModule" + }, + { + "position": { + "line": 77, + "character": 8, + "fileName": "lib/process-services/process.module.ts" + }, + "name": "ReactiveFormsModule" + }, + { + "position": { + "line": 275, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -5647,14 +5711,6 @@ }, "name": "SearchFilterService" }, - { - "position": { - "line": 49, - "character": 0, - "fileName": "lib/content-services/search/search.module.ts" - }, - "name": "SearchModule" - }, { "position": { "line": 164, @@ -5671,6 +5727,14 @@ }, "name": "SearchModule" }, + { + "position": { + "line": 49, + "character": 0, + "fileName": "lib/content-services/search/search.module.ts" + }, + "name": "SearchModule" + }, { "position": { "line": 74, @@ -5785,17 +5849,17 @@ }, { "position": { - "line": 21, - "character": 0, - "fileName": "lib/process-services/app-list/select-apps-dialog-component.ts" + "line": 39, + "character": 8, + "fileName": "lib/process-services/app-list/apps-list.module.ts" }, "name": "SelectAppsDialogComponent" }, { "position": { - "line": 39, - "character": 8, - "fileName": "lib/process-services/app-list/apps-list.module.ts" + "line": 21, + "character": 0, + "fileName": "lib/process-services/app-list/select-apps-dialog-component.ts" }, "name": "SelectAppsDialogComponent" }, @@ -5881,17 +5945,17 @@ }, { "position": { - "line": 24, - "character": 0, - "fileName": "lib/core/layout/components/sidenav-layout/sidenav-layout.component.ts" + "line": 39, + "character": 8, + "fileName": "lib/core/layout/layout.module.ts" }, "name": "SidenavLayoutComponent" }, { "position": { - "line": 39, - "character": 8, - "fileName": "lib/core/layout/layout.module.ts" + "line": 24, + "character": 0, + "fileName": "lib/core/layout/components/sidenav-layout/sidenav-layout.component.ts" }, "name": "SidenavLayoutComponent" }, @@ -5921,7 +5985,7 @@ }, { "position": { - "line": 268, + "line": 197, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -5929,7 +5993,7 @@ }, { "position": { - "line": 195, + "line": 270, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -5943,14 +6007,6 @@ }, "name": "SidenavLayoutNavigationDirective" }, - { - "position": { - "line": 111, - "character": 8, - "fileName": "lib/content-services/content.module.ts" - }, - "name": "SitesDropdownModule" - }, { "position": { "line": 25, @@ -5967,6 +6023,14 @@ }, "name": "SitesDropdownModule" }, + { + "position": { + "line": 111, + "character": 8, + "fileName": "lib/content-services/content.module.ts" + }, + "name": "SitesDropdownModule" + }, { "position": { "line": 24, @@ -5977,17 +6041,17 @@ }, { "position": { - "line": 24, - "character": 0, - "fileName": "lib/content-services/social/social.module.ts" + "line": 159, + "character": 8, + "fileName": "lib/content-services/content.module.ts" }, "name": "SocialModule" }, { "position": { - "line": 159, - "character": 8, - "fileName": "lib/content-services/content.module.ts" + "line": 24, + "character": 0, + "fileName": "lib/content-services/social/social.module.ts" }, "name": "SocialModule" }, @@ -6017,15 +6081,7 @@ }, { "position": { - "line": 221, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "SortingPickerModule" - }, - { - "position": { - "line": 294, + "line": 223, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -6041,7 +6097,15 @@ }, { "position": { - "line": 41, + "line": 296, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "SortingPickerModule" + }, + { + "position": { + "line": 37, "character": 0, "fileName": "lib/core/form/components/start-form.component.ts" }, @@ -6081,17 +6145,17 @@ }, { "position": { - "line": 71, - "character": 8, - "fileName": "lib/process-services/task-list/task-list.module.ts" + "line": 30, + "character": 0, + "fileName": "lib/process-services/task-list/components/start-task.component.ts" }, "name": "StartTaskComponent" }, { "position": { - "line": 30, - "character": 0, - "fileName": "lib/process-services/task-list/components/start-task.component.ts" + "line": 71, + "character": 8, + "fileName": "lib/process-services/task-list/task-list.module.ts" }, "name": "StartTaskComponent" }, @@ -6135,14 +6199,6 @@ }, "name": "TabsWidgetComponent" }, - { - "position": { - "line": 36, - "character": 8, - "fileName": "lib/content-services/tag/tag.module.ts" - }, - "name": "TagActionsComponent" - }, { "position": { "line": 27, @@ -6153,11 +6209,11 @@ }, { "position": { - "line": 25, - "character": 0, - "fileName": "lib/content-services/tag/tag-list.component.ts" + "line": 36, + "character": 8, + "fileName": "lib/content-services/tag/tag.module.ts" }, - "name": "TagListComponent" + "name": "TagActionsComponent" }, { "position": { @@ -6169,9 +6225,17 @@ }, { "position": { - "line": 27, + "line": 24, "character": 0, - "fileName": "lib/content-services/tag/tag.module.ts" + "fileName": "lib/content-services/tag/tag-list.component.ts" + }, + "name": "TagListComponent" + }, + { + "position": { + "line": 160, + "character": 8, + "fileName": "lib/content-services/content.module.ts" }, "name": "TagModule" }, @@ -6185,20 +6249,12 @@ }, { "position": { - "line": 160, - "character": 8, - "fileName": "lib/content-services/content.module.ts" + "line": 27, + "character": 0, + "fileName": "lib/content-services/tag/tag.module.ts" }, "name": "TagModule" }, - { - "position": { - "line": 25, - "character": 0, - "fileName": "lib/content-services/tag/tag-node-list.component.ts" - }, - "name": "TagNodeListComponent" - }, { "position": { "line": 38, @@ -6207,6 +6263,14 @@ }, "name": "TagNodeListComponent" }, + { + "position": { + "line": 25, + "character": 0, + "fileName": "lib/content-services/tag/tag-node-list.component.ts" + }, + "name": "TagNodeListComponent" + }, { "position": { "line": 23, @@ -6233,17 +6297,17 @@ }, { "position": { - "line": 26, - "character": 0, - "fileName": "lib/process-services/task-list/components/task-audit.directive.ts" + "line": 68, + "character": 8, + "fileName": "lib/process-services/task-list/task-list.module.ts" }, "name": "TaskAuditDirective" }, { "position": { - "line": 68, - "character": 8, - "fileName": "lib/process-services/task-list/task-list.module.ts" + "line": 26, + "character": 0, + "fileName": "lib/process-services/task-list/components/task-audit.directive.ts" }, "name": "TaskAuditDirective" }, @@ -6281,7 +6345,7 @@ }, { "position": { - "line": 27, + "line": 28, "character": 0, "fileName": "lib/process-services/task-list/components/task-filters.component.ts" }, @@ -6321,17 +6385,17 @@ }, { "position": { - "line": 31, - "character": 0, - "fileName": "lib/process-services/task-list/components/task-list.component.ts" + "line": 66, + "character": 8, + "fileName": "lib/process-services/task-list/task-list.module.ts" }, "name": "TaskListComponent" }, { "position": { - "line": 66, - "character": 8, - "fileName": "lib/process-services/task-list/task-list.module.ts" + "line": 32, + "character": 0, + "fileName": "lib/process-services/task-list/components/task-list.component.ts" }, "name": "TaskListComponent" }, @@ -6385,17 +6449,17 @@ }, { "position": { - "line": 72, - "character": 8, - "fileName": "lib/process-services/task-list/task-list.module.ts" + "line": 19, + "character": 0, + "fileName": "lib/process-services/task-list/components/task-standalone.component.ts" }, "name": "TaskStandaloneComponent" }, { "position": { - "line": 19, - "character": 0, - "fileName": "lib/process-services/task-list/components/task-standalone.component.ts" + "line": 72, + "character": 8, + "fileName": "lib/process-services/task-list/task-list.module.ts" }, "name": "TaskStandaloneComponent" }, @@ -6407,6 +6471,22 @@ }, "name": "TaskUploadService" }, + { + "position": { + "line": 222, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "TemplateModule" + }, + { + "position": { + "line": 295, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "TemplateModule" + }, { "position": { "line": 24, @@ -6415,22 +6495,6 @@ }, "name": "TemplateModule" }, - { - "position": { - "line": 220, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "TemplateModule" - }, - { - "position": { - "line": 293, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "TemplateModule" - }, { "position": { "line": 24, @@ -6457,17 +6521,17 @@ }, { "position": { - "line": 50, - "character": 8, - "fileName": "lib/core/pipes/pipe.module.ts" + "line": 20, + "character": 0, + "fileName": "lib/core/pipes/time-ago.pipe.ts" }, "name": "TimeAgoPipe" }, { "position": { - "line": 20, - "character": 0, - "fileName": "lib/core/pipes/time-ago.pipe.ts" + "line": 50, + "character": 8, + "fileName": "lib/core/pipes/pipe.module.ts" }, "name": "TimeAgoPipe" }, @@ -6487,14 +6551,6 @@ }, "name": "ToolbarComponent" }, - { - "position": { - "line": 19, - "character": 0, - "fileName": "lib/core/toolbar/toolbar-divider.component.ts" - }, - "name": "ToolbarDividerComponent" - }, { "position": { "line": 38, @@ -6505,19 +6561,11 @@ }, { "position": { - "line": 280, - "character": 8, - "fileName": "lib/core/core.module.ts" + "line": 19, + "character": 0, + "fileName": "lib/core/toolbar/toolbar-divider.component.ts" }, - "name": "ToolbarModule" - }, - { - "position": { - "line": 207, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "ToolbarModule" + "name": "ToolbarDividerComponent" }, { "position": { @@ -6529,11 +6577,19 @@ }, { "position": { - "line": 19, - "character": 0, - "fileName": "lib/core/toolbar/toolbar-title.component.ts" + "line": 209, + "character": 8, + "fileName": "lib/core/core.module.ts" }, - "name": "ToolbarTitleComponent" + "name": "ToolbarModule" + }, + { + "position": { + "line": 282, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "ToolbarModule" }, { "position": { @@ -6543,6 +6599,14 @@ }, "name": "ToolbarTitleComponent" }, + { + "position": { + "line": 19, + "character": 0, + "fileName": "lib/core/toolbar/toolbar-title.component.ts" + }, + "name": "ToolbarTitleComponent" + }, { "position": { "line": 27, @@ -6553,7 +6617,7 @@ }, { "position": { - "line": 218, + "line": 293, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -6561,7 +6625,7 @@ }, { "position": { - "line": 291, + "line": 220, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -6593,7 +6657,7 @@ }, { "position": { - "line": 80, + "line": 76, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -6609,7 +6673,7 @@ }, { "position": { - "line": 87, + "line": 83, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -6705,17 +6769,17 @@ }, { "position": { - "line": 109, - "character": 8, - "fileName": "lib/content-services/content.module.ts" + "line": 31, + "character": 0, + "fileName": "lib/content-services/upload/upload.module.ts" }, "name": "UploadModule" }, { "position": { - "line": 31, - "character": 0, - "fileName": "lib/content-services/upload/upload.module.ts" + "line": 109, + "character": 8, + "fileName": "lib/content-services/content.module.ts" }, "name": "UploadModule" }, @@ -6729,17 +6793,17 @@ }, { "position": { - "line": 50, - "character": 8, - "fileName": "lib/content-services/upload/upload.module.ts" + "line": 23, + "character": 0, + "fileName": "lib/content-services/upload/components/upload-version-button.component.ts" }, "name": "UploadVersionButtonComponent" }, { "position": { - "line": 23, - "character": 0, - "fileName": "lib/content-services/upload/components/upload-version-button.component.ts" + "line": 50, + "character": 8, + "fileName": "lib/content-services/upload/upload.module.ts" }, "name": "UploadVersionButtonComponent" }, @@ -6769,7 +6833,7 @@ }, { "position": { - "line": 58, + "line": 59, "character": 0, "fileName": "lib/content-services/document-list/models/document-library.model.ts" }, @@ -6793,7 +6857,7 @@ }, { "position": { - "line": 203, + "line": 278, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -6801,7 +6865,7 @@ }, { "position": { - "line": 276, + "line": 205, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -6857,17 +6921,17 @@ }, { "position": { - "line": 39, - "character": 8, - "fileName": "lib/content-services/version-manager/version-manager.module.ts" + "line": 23, + "character": 0, + "fileName": "lib/content-services/version-manager/version-list.component.ts" }, "name": "VersionListComponent" }, { "position": { - "line": 23, - "character": 0, - "fileName": "lib/content-services/version-manager/version-list.component.ts" + "line": 39, + "character": 8, + "fileName": "lib/content-services/version-manager/version-manager.module.ts" }, "name": "VersionListComponent" }, @@ -6889,7 +6953,7 @@ }, { "position": { - "line": 119, + "line": 173, "character": 8, "fileName": "lib/content-services/content.module.ts" }, @@ -6897,7 +6961,7 @@ }, { "position": { - "line": 173, + "line": 119, "character": 8, "fileName": "lib/content-services/content.module.ts" }, @@ -6935,14 +6999,6 @@ }, "name": "VersionStatusModel" }, - { - "position": { - "line": 21, - "character": 0, - "fileName": "lib/content-services/version-manager/version-upload.component.ts" - }, - "name": "VersionUploadComponent" - }, { "position": { "line": 37, @@ -6953,7 +7009,15 @@ }, { "position": { - "line": 33, + "line": 21, + "character": 0, + "fileName": "lib/content-services/version-manager/version-upload.component.ts" + }, + "name": "VersionUploadComponent" + }, + { + "position": { + "line": 34, "character": 0, "fileName": "lib/core/viewer/components/viewer.component.ts" }, @@ -6961,20 +7025,12 @@ }, { "position": { - "line": 78, + "line": 74, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, "name": "ViewerComponent" }, - { - "position": { - "line": 86, - "character": 8, - "fileName": "lib/core/viewer/viewer.module.ts" - }, - "name": "ViewerExtensionDirective" - }, { "position": { "line": 20, @@ -6985,7 +7041,15 @@ }, { "position": { - "line": 267, + "line": 82, + "character": 8, + "fileName": "lib/core/viewer/viewer.module.ts" + }, + "name": "ViewerExtensionDirective" + }, + { + "position": { + "line": 269, "character": 8, "fileName": "lib/core/core.module.ts" }, @@ -6993,15 +7057,7 @@ }, { "position": { - "line": 194, - "character": 8, - "fileName": "lib/core/core.module.ts" - }, - "name": "ViewerModule" - }, - { - "position": { - "line": 46, + "line": 42, "character": 0, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -7009,7 +7065,15 @@ }, { "position": { - "line": 91, + "line": 196, + "character": 8, + "fileName": "lib/core/core.module.ts" + }, + "name": "ViewerModule" + }, + { + "position": { + "line": 87, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, @@ -7033,20 +7097,12 @@ }, { "position": { - "line": 90, + "line": 86, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, "name": "ViewerOpenWithComponent" }, - { - "position": { - "line": 89, - "character": 8, - "fileName": "lib/core/viewer/viewer.module.ts" - }, - "name": "ViewerSidebarComponent" - }, { "position": { "line": 19, @@ -7057,11 +7113,11 @@ }, { "position": { - "line": 92, + "line": 85, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, - "name": "ViewerToolbarActionsComponent" + "name": "ViewerSidebarComponent" }, { "position": { @@ -7071,6 +7127,14 @@ }, "name": "ViewerToolbarActionsComponent" }, + { + "position": { + "line": 88, + "character": 8, + "fileName": "lib/core/viewer/viewer.module.ts" + }, + "name": "ViewerToolbarActionsComponent" + }, { "position": { "line": 19, @@ -7081,12 +7145,20 @@ }, { "position": { - "line": 88, + "line": 84, "character": 8, "fileName": "lib/core/viewer/viewer.module.ts" }, "name": "ViewerToolbarComponent" }, + { + "position": { + "line": 22, + "character": 0, + "fileName": "lib/core/viewer/services/view-util.service.ts" + }, + "name": "ViewUtilService" + }, { "position": { "line": 41,