remove electron demo code (#453)

* remove electron demo code

* remove unused property

* cleanup tests

* cleanup sidenav tests

* cleanup trashcan tests

* remove fdescribe
This commit is contained in:
Denys Vuika
2018-06-23 17:30:20 +01:00
committed by GitHub
parent 1bc652d923
commit e846d97317
10 changed files with 45 additions and 116 deletions

8
package-lock.json generated
View File

@@ -467,14 +467,6 @@
"resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-5.2.0.tgz", "resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-5.2.0.tgz",
"integrity": "sha1-L/+RapqjSTdYJncrNZ27ZLnl1iI=" "integrity": "sha1-L/+RapqjSTdYJncrNZ27ZLnl1iI="
}, },
"@ngstack/electron": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@ngstack/electron/-/electron-0.1.0.tgz",
"integrity": "sha512-uqBNDkeATuZQm1eVXjB3rok9zFLMaJzfNl1tVnlqMwfaGA9FIe90nquvIZnL/scHbno89weGGxg4JeHLgsRMLA==",
"requires": {
"tslib": "^1.7.1"
}
},
"@ngtools/json-schema": { "@ngtools/json-schema": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.2.0.tgz", "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.2.0.tgz",

View File

@@ -46,7 +46,6 @@
"@ngrx/router-store": "^5.2.0", "@ngrx/router-store": "^5.2.0",
"@ngrx/store": "^5.2.0", "@ngrx/store": "^5.2.0",
"@ngrx/store-devtools": "^5.2.0", "@ngrx/store-devtools": "^5.2.0",
"@ngstack/electron": "0.1.0",
"@ngx-translate/core": "9.1.1", "@ngx-translate/core": "9.1.1",
"alfresco-js-api": "2.4.0-92eae7db59edeb63e2e0dc1e4c2e6b182ff46f2b", "alfresco-js-api": "2.4.0-92eae7db59edeb63e2e0dc1e4c2e6b182ff46f2b",
"core-js": "2.5.3", "core-js": "2.5.3",

View File

@@ -23,12 +23,11 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>. * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/ */
import { Component, OnInit, EventEmitter } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute, NavigationEnd } from '@angular/router'; import { Router, ActivatedRoute, NavigationEnd } from '@angular/router';
import { import {
PageTitleService, AppConfigService, FileModel, UploadService, PageTitleService, AppConfigService,
AuthenticationService, AlfrescoApiService } from '@alfresco/adf-core'; AuthenticationService, AlfrescoApiService } from '@alfresco/adf-core';
import { ElectronService } from '@ngstack/electron';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppStore } from './store/states/app.state'; import { AppStore } from './store/states/app.state';
import { SetHeaderColorAction, SetAppNameAction, SetLogoPathAction, SetLanguagePickerAction } from './store/actions'; import { SetHeaderColorAction, SetAppNameAction, SetLogoPathAction, SetLanguagePickerAction } from './store/actions';
@@ -46,9 +45,7 @@ export class AppComponent implements OnInit {
private store: Store<AppStore>, private store: Store<AppStore>,
private config: AppConfigService, private config: AppConfigService,
private alfrescoApiService: AlfrescoApiService, private alfrescoApiService: AlfrescoApiService,
private authenticationService: AuthenticationService, private authenticationService: AuthenticationService) {
private electronService: ElectronService,
private uploadService: UploadService) {
} }
ngOnInit() { ngOnInit() {
@@ -80,26 +77,6 @@ export class AppComponent implements OnInit {
pageTitle.setTitle(data.title || ''); pageTitle.setTitle(data.title || '');
}); });
this.electronService.on('app:navigateRoute', (event: any, ...args: string[]) => {
this.router.navigate([...args]);
});
this.electronService.on('app:upload', (event: any, files: any[] = []) => {
const models = files.map(fileInfo => {
const file = new File([fileInfo.data], fileInfo.name);
return new FileModel(file, {
path: fileInfo.path,
parentId: fileInfo.parentId
});
});
if (models.length > 0) {
this.uploadService.addToQueue(...models);
this.uploadService.uploadFilesInTheQueue(new EventEmitter());
}
});
} }
private loadAppSettings() { private loadAppSettings() {

View File

@@ -30,7 +30,6 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { TRANSLATION_PROVIDER, CoreModule, AppConfigService, PageTitleService, DebugAppConfigService } from '@alfresco/adf-core'; import { TRANSLATION_PROVIDER, CoreModule, AppConfigService, PageTitleService, DebugAppConfigService } from '@alfresco/adf-core';
import { ContentModule } from '@alfresco/adf-content-services'; import { ContentModule } from '@alfresco/adf-content-services';
import { ElectronModule } from '@ngstack/electron';
import { AppComponent } from './app.component'; import { AppComponent } from './app.component';
import { APP_ROUTES } from './app.routes'; import { APP_ROUTES } from './app.routes';
@@ -94,7 +93,6 @@ import { ExperimentalDirective } from './directives/experimental.directive';
MaterialModule, MaterialModule,
CoreModule, CoreModule,
ContentModule, ContentModule,
ElectronModule,
AppStoreModule AppStoreModule
], ],
declarations: [ declarations: [

View File

@@ -34,7 +34,6 @@
</adf-upload-button> </adf-upload-button>
<adf-upload-button <adf-upload-button
*ngIf="!isDesktopApp"
[tooltip]=" [tooltip]="
(permission.check(node, ['create']) (permission.check(node, ['create'])
? 'APP.NEW_MENU.TOOLTIPS.UPLOAD_FOLDERS' ? 'APP.NEW_MENU.TOOLTIPS.UPLOAD_FOLDERS'
@@ -46,20 +45,6 @@
[uploadFolders]="true" [uploadFolders]="true"
[staticTitle]="'APP.NEW_MENU.MENU_ITEMS.UPLOAD_FOLDER' | translate"> [staticTitle]="'APP.NEW_MENU.MENU_ITEMS.UPLOAD_FOLDER' | translate">
</adf-upload-button> </adf-upload-button>
<button
*ngIf="isDesktopApp"
mat-menu-item
[title]="
(permission.check(node, ['create'])
? 'APP.NEW_MENU.TOOLTIPS.UPLOAD_FOLDERS'
: 'APP.NEW_MENU.TOOLTIPS.UPLOAD_FOLDERS_NOT_ALLOWED'
) | translate"
[disabled]="!permission.check(node, ['create'])"
(click)="uploadFolderDesktop()">
<mat-icon>file_upload</mat-icon>
<span>{{ 'APP.NEW_MENU.MENU_ITEMS.UPLOAD_FOLDER' | translate }}</span>
</button>
</div> </div>
</adf-sidebar-action-menu> </adf-sidebar-action-menu>
</div> </div>

View File

@@ -24,25 +24,20 @@
*/ */
import { NO_ERRORS_SCHEMA } from '@angular/core'; import { NO_ERRORS_SCHEMA } from '@angular/core';
import { TestBed, async } from '@angular/core/testing'; import { TestBed, async, ComponentFixture } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing'; import { AppConfigService, CoreModule } from '@alfresco/adf-core';
import { MatMenuModule, MatSnackBarModule } from '@angular/material';
import { AppConfigService, TranslationService, TranslationMock, CoreModule } from '@alfresco/adf-core';
import { BrowsingFilesService } from '../../common/services/browsing-files.service'; import { BrowsingFilesService } from '../../common/services/browsing-files.service';
import { NodePermissionService } from '../../common/services/node-permission.service'; import { NodePermissionService } from '../../common/services/node-permission.service';
import { SidenavComponent } from './sidenav.component'; import { SidenavComponent } from './sidenav.component';
import { ElectronModule } from '@ngstack/electron';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { StoreModule } from '@ngrx/store';
import { appReducer } from '../../store/reducers/app.reducer';
import { INITIAL_STATE } from '../../store/states/app.state';
import { EffectsModule } from '@ngrx/effects'; import { EffectsModule } from '@ngrx/effects';
import { NodeEffects } from '../../store/effects/node.effects'; import { NodeEffects } from '../../store/effects/node.effects';
import { ContentManagementService } from '../../common/services/content-management.service'; import { ContentManagementService } from '../../common/services/content-management.service';
import { AppTestingModule } from '../../testing/app-testing.module';
import { MaterialModule } from '../../material.module';
describe('SidenavComponent', () => { describe('SidenavComponent', () => {
let fixture; let fixture: ComponentFixture<SidenavComponent>;
let component: SidenavComponent; let component: SidenavComponent;
let browsingService: BrowsingFilesService; let browsingService: BrowsingFilesService;
let appConfig: AppConfigService; let appConfig: AppConfigService;
@@ -58,20 +53,15 @@ describe('SidenavComponent', () => {
beforeEach(async(() => { beforeEach(async(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
NoopAnimationsModule, AppTestingModule,
MaterialModule,
CoreModule.forRoot(), CoreModule.forRoot(),
MatMenuModule,
MatSnackBarModule,
RouterTestingModule,
ElectronModule,
StoreModule.forRoot({ app: appReducer }, { initialState: INITIAL_STATE }),
EffectsModule.forRoot([NodeEffects]) EffectsModule.forRoot([NodeEffects])
], ],
declarations: [ declarations: [
SidenavComponent SidenavComponent
], ],
providers: [ providers: [
{ provide: TranslationService, useClass: TranslationMock },
NodePermissionService, NodePermissionService,
BrowsingFilesService, BrowsingFilesService,
ContentManagementService ContentManagementService

View File

@@ -31,7 +31,6 @@ import { AppConfigService } from '@alfresco/adf-core';
import { BrowsingFilesService } from '../../common/services/browsing-files.service'; import { BrowsingFilesService } from '../../common/services/browsing-files.service';
import { NodePermissionService } from '../../common/services/node-permission.service'; import { NodePermissionService } from '../../common/services/node-permission.service';
import { ElectronService } from '@ngstack/electron';
@Component({ @Component({
selector: 'app-sidenav', selector: 'app-sidenav',
@@ -41,7 +40,6 @@ import { ElectronService } from '@ngstack/electron';
export class SidenavComponent implements OnInit, OnDestroy { export class SidenavComponent implements OnInit, OnDestroy {
@Input() showLabel: boolean; @Input() showLabel: boolean;
isDesktopApp = false;
node: MinimalNodeEntryEntity = null; node: MinimalNodeEntryEntity = null;
navigation = []; navigation = [];
@@ -50,8 +48,7 @@ export class SidenavComponent implements OnInit, OnDestroy {
constructor( constructor(
private browsingFilesService: BrowsingFilesService, private browsingFilesService: BrowsingFilesService,
private appConfig: AppConfigService, private appConfig: AppConfigService,
public permission: NodePermissionService, public permission: NodePermissionService
private electronService: ElectronService
) {} ) {}
ngOnInit() { ngOnInit() {
@@ -61,8 +58,6 @@ export class SidenavComponent implements OnInit, OnDestroy {
this.browsingFilesService.onChangeParent this.browsingFilesService.onChangeParent
.subscribe((node: MinimalNodeEntryEntity) => this.node = node) .subscribe((node: MinimalNodeEntryEntity) => this.node = node)
]); ]);
this.isDesktopApp = this.electronService.isDesktopApp;
} }
ngOnDestroy() { ngOnDestroy() {
@@ -75,8 +70,4 @@ export class SidenavComponent implements OnInit, OnDestroy {
return Object.keys(data).map((key) => data[key]); return Object.keys(data).map((key) => data[key]);
} }
uploadFolderDesktop() {
this.electronService.send('core:uploadFolder', this.node.id);
}
} }

View File

@@ -23,11 +23,9 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>. * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/ */
import { NO_ERRORS_SCHEMA } from '@angular/core'; import { NO_ERRORS_SCHEMA } from '@angular/core';
import { RouterTestingModule } from '@angular/router/testing'; import { TestBed, ComponentFixture } from '@angular/core/testing';
import { HttpClientModule } from '@angular/common/http';
import { TestBed, async, ComponentFixture } from '@angular/core/testing';
import { import {
NotificationService, TranslationService, TranslationMock, NotificationService,
NodesApiService, AlfrescoApiService, ContentService, NodesApiService, AlfrescoApiService, ContentService,
UserPreferencesService, LogService, AppConfigService, UserPreferencesService, LogService, AppConfigService,
StorageService, CookieService, ThumbnailService, StorageService, CookieService, ThumbnailService,
@@ -35,16 +33,12 @@ import {
NodeFavoriteDirective, DataTableComponent, AppConfigPipe, PeopleContentService NodeFavoriteDirective, DataTableComponent, AppConfigPipe, PeopleContentService
} from '@alfresco/adf-core'; } from '@alfresco/adf-core';
import { DocumentListComponent, CustomResourcesService } from '@alfresco/adf-content-services'; import { DocumentListComponent, CustomResourcesService } from '@alfresco/adf-content-services';
import { TranslateModule } from '@ngx-translate/core';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { MatMenuModule, MatSnackBarModule, MatIconModule } from '@angular/material';
import { DocumentListService } from '@alfresco/adf-content-services'; import { DocumentListService } from '@alfresco/adf-content-services';
import { ContentManagementService } from '../../common/services/content-management.service'; import { ContentManagementService } from '../../common/services/content-management.service';
import { TrashcanComponent } from './trashcan.component'; import { TrashcanComponent } from './trashcan.component';
import { StoreModule } from '@ngrx/store'; import { AppTestingModule } from '../../testing/app-testing.module';
import { appReducer } from '../../store/reducers/app.reducer'; import { MaterialModule } from '../../material.module';
import { INITIAL_STATE } from '../../store/states/app.state';
describe('TrashcanComponent', () => { describe('TrashcanComponent', () => {
let fixture: ComponentFixture<TrashcanComponent>; let fixture: ComponentFixture<TrashcanComponent>;
@@ -62,16 +56,11 @@ describe('TrashcanComponent', () => {
}; };
}); });
beforeEach(async(() => { beforeEach(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
MatMenuModule, AppTestingModule,
NoopAnimationsModule, MaterialModule,
HttpClientModule,
TranslateModule.forRoot(),
RouterTestingModule,
MatSnackBarModule, MatIconModule,
StoreModule.forRoot({ app: appReducer }, { initialState: INITIAL_STATE })
], ],
declarations: [ declarations: [
DataTableComponent, DataTableComponent,
@@ -83,7 +72,6 @@ describe('TrashcanComponent', () => {
AppConfigPipe AppConfigPipe
], ],
providers: [ providers: [
{ provide: TranslationService, useClass: TranslationMock },
AuthenticationService, AuthenticationService,
UserPreferencesService, UserPreferencesService,
PeopleContentService, PeopleContentService,
@@ -99,22 +87,20 @@ describe('TrashcanComponent', () => {
CustomResourcesService CustomResourcesService
], ],
schemas: [ NO_ERRORS_SCHEMA ] schemas: [ NO_ERRORS_SCHEMA ]
})
.compileComponents()
.then(() => {
fixture = TestBed.createComponent(TrashcanComponent);
component = fixture.componentInstance;
alfrescoApi = TestBed.get(AlfrescoApiService);
alfrescoApi.reset();
contentService = TestBed.get(ContentManagementService);
component.documentList = <any> {
reload: jasmine.createSpy('reload'),
resetSelection: jasmine.createSpy('resetSelection')
};
}); });
}));
fixture = TestBed.createComponent(TrashcanComponent);
component = fixture.componentInstance;
alfrescoApi = TestBed.get(AlfrescoApiService);
alfrescoApi.reset();
contentService = TestBed.get(ContentManagementService);
component.documentList = <any> {
reload: jasmine.createSpy('reload'),
resetSelection: jasmine.createSpy('resetSelection')
};
});
beforeEach(() => { beforeEach(() => {
spyOn(alfrescoApi.nodesApi, 'getDeletedNodes').and.returnValue(Promise.resolve(page)); spyOn(alfrescoApi.nodesApi, 'getDeletedNodes').and.returnValue(Promise.resolve(page));

View File

@@ -29,7 +29,8 @@ import {
MatIconModule, MatIconModule,
MatButtonModule, MatButtonModule,
MatDialogModule, MatDialogModule,
MatInputModule MatInputModule,
MatSnackBarModule
} from '@angular/material'; } from '@angular/material';
@NgModule({ @NgModule({
@@ -38,7 +39,16 @@ import {
MatIconModule, MatIconModule,
MatButtonModule, MatButtonModule,
MatDialogModule, MatDialogModule,
MatInputModule MatInputModule,
MatSnackBarModule
],
exports: [
MatMenuModule,
MatIconModule,
MatButtonModule,
MatDialogModule,
MatInputModule,
MatSnackBarModule
] ]
}) })
export class MaterialModule {} export class MaterialModule {}

View File

@@ -48,7 +48,8 @@ import { EffectsModule } from '@ngrx/effects';
TranslatePipeMock TranslatePipeMock
], ],
exports: [ exports: [
TranslatePipeMock TranslatePipeMock,
RouterTestingModule
], ],
providers: [ providers: [
{ provide: TranslationService, useClass: TranslationMock }, { provide: TranslationService, useClass: TranslationMock },