[ADF-1103] Add custom tslint rules to avoid unwanted Class and File name prefix (#2087)

* custom tslint rules adf project name files

* filename and class prefix rule

* filename process service mock

* fix spec filename

* fix demo shell

* rename mock

* alias deprecated name class

* core rename services

* fix pacakge.json adf-rules

* add exclude in whitelist
This commit is contained in:
Eugenio Romano
2017-07-15 21:59:31 +01:00
parent 77c8ef459f
commit a8eac42c05
215 changed files with 3442 additions and 946 deletions

View File

@@ -19,24 +19,42 @@ import { ModuleWithProviders, NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { CoreModule } from 'ng2-alfresco-core';
import { DocumentListModule } from 'ng2-alfresco-documentlist';
import { AlfrescoSearchAutocompleteComponent } from './src/components/alfresco-search-autocomplete.component';
import { AlfrescoSearchControlComponent } from './src/components/alfresco-search-control.component';
import { AlfrescoSearchComponent } from './src/components/alfresco-search.component';
import { AlfrescoSearchService } from './src/services/alfresco-search.service';
import { SearchAutocompleteComponent } from './src/components/search-autocomplete.component';
import { SearchControlComponent } from './src/components/search-control.component';
import { SearchComponent } from './src/components/search.component';
import { SearchService } from './src/services/search.service';
// services
export * from './src/services/alfresco-search.service';
export * from './src/components/alfresco-search.component';
export * from './src/components/alfresco-search-control.component';
export * from './src/components/alfresco-search-autocomplete.component';
export * from './src/services/search.service';
export * from './src/components/search.component';
export * from './src/components/search-control.component';
export * from './src/components/search-autocomplete.component';
// Old Deprecated export
import { SearchAutocompleteComponent as AlfrescoSearchAutocompleteComponent } from './src/components/search-autocomplete.component';
import { SearchControlComponent as AlfrescoSearchControlComponent } from './src/components/search-control.component';
import { SearchComponent as AlfrescoSearchComponent } from './src/components/search.component';
import { SearchService as AlfrescoSearchService } from './src/services/search.service';
export { SearchService as AlfrescoSearchService } from './src/services/search.service';
export { SearchComponent as AlfrescoSearchComponent } from './src/components/search.component';
export { SearchControlComponent as AlfrescoSearchControlComponent } from './src/components/search-control.component';
export { SearchAutocompleteComponent as AlfrescoSearchAutocompleteComponent } from './src/components/search-autocomplete.component';
export const ALFRESCO_SEARCH_DIRECTIVES: [any] = [
SearchComponent,
SearchControlComponent,
SearchAutocompleteComponent,
// Old Deprecated export
AlfrescoSearchComponent,
AlfrescoSearchControlComponent,
AlfrescoSearchAutocompleteComponent
];
export const ALFRESCO_SEARCH_PROVIDERS: [any] = [
SearchService,
// Old Deprecated export
AlfrescoSearchService
];

View File

@@ -25,15 +25,15 @@ import {
AlfrescoTranslationService,
CoreModule
} from 'ng2-alfresco-core';
import { AlfrescoSearchService } from '../services/alfresco-search.service';
import { errorJson, folderResult, noResult, result, results } from './../assets/alfresco-search.component.mock';
import { SearchService } from '../services/search.service';
import { errorJson, folderResult, noResult, result, results } from './../assets/search.component.mock';
import { TranslationMock } from './../assets/translation.service.mock';
import { AlfrescoSearchAutocompleteComponent } from './alfresco-search-autocomplete.component';
import { SearchAutocompleteComponent } from './search-autocomplete.component';
describe('AlfrescoSearchAutocompleteComponent', () => {
describe('SearchAutocompleteComponent', () => {
let fixture: ComponentFixture<AlfrescoSearchAutocompleteComponent>, element: HTMLElement;
let component: AlfrescoSearchAutocompleteComponent;
let fixture: ComponentFixture<SearchAutocompleteComponent>, element: HTMLElement;
let component: SearchAutocompleteComponent;
let updateSearchTerm = (newSearchTerm: string): void => {
let oldSearchTerm = component.searchTerm;
@@ -46,7 +46,7 @@ describe('AlfrescoSearchAutocompleteComponent', () => {
imports: [
CoreModule
],
declarations: [ AlfrescoSearchAutocompleteComponent ], // declare the test component
declarations: [ SearchAutocompleteComponent ], // declare the test component
providers: [
{provide: AlfrescoTranslationService, useClass: TranslationMock},
ThumbnailService,
@@ -54,10 +54,10 @@ describe('AlfrescoSearchAutocompleteComponent', () => {
AlfrescoApiService,
AlfrescoAuthenticationService,
AlfrescoContentService,
AlfrescoSearchService
SearchService
]
}).compileComponents().then(() => {
fixture = TestBed.createComponent(AlfrescoSearchAutocompleteComponent);
fixture = TestBed.createComponent(SearchAutocompleteComponent);
component = fixture.componentInstance;
element = fixture.nativeElement;
});
@@ -75,7 +75,7 @@ describe('AlfrescoSearchAutocompleteComponent', () => {
let searchService;
beforeEach(() => {
searchService = fixture.debugElement.injector.get(AlfrescoSearchService);
searchService = fixture.debugElement.injector.get(SearchService);
});
it('should clear results straight away when a new search term is entered', async(() => {
@@ -184,7 +184,7 @@ describe('AlfrescoSearchAutocompleteComponent', () => {
let searchService;
beforeEach(() => {
searchService = fixture.debugElement.injector.get(AlfrescoSearchService);
searchService = fixture.debugElement.injector.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise')
.and.returnValue(Promise.reject(errorJson));
});
@@ -225,7 +225,7 @@ describe('AlfrescoSearchAutocompleteComponent', () => {
let searchService;
beforeEach(() => {
searchService = fixture.debugElement.injector.get(AlfrescoSearchService);
searchService = fixture.debugElement.injector.get(SearchService);
});
it('should emit fileSelect event when file item clicked', (done) => {
@@ -267,7 +267,7 @@ describe('AlfrescoSearchAutocompleteComponent', () => {
let searchService;
beforeEach(() => {
searchService = fixture.debugElement.injector.get(AlfrescoSearchService);
searchService = fixture.debugElement.injector.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise')
.and.returnValue(Promise.resolve(results));
});
@@ -379,7 +379,7 @@ describe('AlfrescoSearchAutocompleteComponent', () => {
let searchService;
beforeEach(() => {
searchService = fixture.debugElement.injector.get(AlfrescoSearchService);
searchService = fixture.debugElement.injector.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise')
.and.returnValue(Promise.resolve(result));
});

View File

@@ -19,16 +19,16 @@ import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output,
import { MinimalNodeEntity } from 'alfresco-js-api';
import { AlfrescoTranslationService } from 'ng2-alfresco-core';
import { ThumbnailService } from 'ng2-alfresco-core';
import { AlfrescoSearchService, SearchOptions } from './../services/alfresco-search.service';
import { SearchOptions, SearchService } from './../services/search.service';
declare var require: any;
@Component({
selector: 'adf-search-autocomplete, alfresco-search-autocomplete',
templateUrl: './alfresco-search-autocomplete.component.html',
styleUrls: ['./alfresco-search-autocomplete.component.css']
templateUrl: './search-autocomplete.component.html',
styleUrls: ['./search-autocomplete.component.css']
})
export class AlfrescoSearchAutocompleteComponent implements OnInit, OnChanges {
export class SearchAutocompleteComponent implements OnInit, OnChanges {
@Input()
searchTerm: string = '';
@@ -72,7 +72,7 @@ export class AlfrescoSearchAutocompleteComponent implements OnInit, OnChanges {
@ViewChild('resultsTableBody', {}) resultsTableBody: ElementRef;
constructor(private searchService: AlfrescoSearchService,
constructor(private searchService: SearchService,
private translateService: AlfrescoTranslationService,
private thumbnailService: ThumbnailService) {
}

View File

@@ -18,16 +18,16 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ThumbnailService } from 'ng2-alfresco-core';
import { AlfrescoTranslationService, CoreModule } from 'ng2-alfresco-core';
import { AlfrescoSearchService } from '../services/alfresco-search.service';
import { result } from './../assets/alfresco-search.component.mock';
import { SearchService } from '../services/search.service';
import { result } from './../assets/search.component.mock';
import { TranslationMock } from './../assets/translation.service.mock';
import { AlfrescoSearchAutocompleteComponent } from './alfresco-search-autocomplete.component';
import { AlfrescoSearchControlComponent } from './alfresco-search-control.component';
import { SearchAutocompleteComponent } from './search-autocomplete.component';
import { SearchControlComponent } from './search-control.component';
describe('AlfrescoSearchControlComponent', () => {
describe('SearchControlComponent', () => {
let fixture: ComponentFixture<AlfrescoSearchControlComponent>;
let component: AlfrescoSearchControlComponent, element: HTMLElement;
let fixture: ComponentFixture<SearchControlComponent>;
let component: SearchControlComponent, element: HTMLElement;
let componentHandler;
beforeEach(async(() => {
@@ -38,16 +38,16 @@ describe('AlfrescoSearchControlComponent', () => {
CoreModule.forRoot()
],
declarations: [
AlfrescoSearchControlComponent,
AlfrescoSearchAutocompleteComponent
SearchControlComponent,
SearchAutocompleteComponent
],
providers: [
{provide: AlfrescoTranslationService, useClass: TranslationMock},
ThumbnailService,
AlfrescoSearchService
SearchService
]
}).compileComponents().then(() => {
fixture = TestBed.createComponent(AlfrescoSearchControlComponent);
fixture = TestBed.createComponent(SearchControlComponent);
component = fixture.componentInstance;
element = fixture.nativeElement;
});
@@ -199,7 +199,7 @@ describe('AlfrescoSearchControlComponent', () => {
});
it('should keep find-as-you-type control visible when user tabs into results', (done) => {
let searchService = TestBed.get(AlfrescoSearchService);
let searchService = TestBed.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise')
.and.returnValue(Promise.resolve(result));

View File

@@ -20,14 +20,14 @@ import { FormControl, Validators } from '@angular/forms';
import { AlfrescoTranslationService } from 'ng2-alfresco-core';
import { Observable, Subject } from 'rxjs/Rx';
import { SearchTermValidator } from './../forms/search-term-validator';
import { AlfrescoSearchAutocompleteComponent } from './alfresco-search-autocomplete.component';
import { SearchAutocompleteComponent } from './search-autocomplete.component';
@Component({
selector: 'adf-search-control, alfresco-search-control',
templateUrl: './alfresco-search-control.component.html',
styleUrls: ['./alfresco-search-control.component.css']
selector: 'adf-search-control, search-control',
templateUrl: './search-control.component.html',
styleUrls: ['./search-control.component.css']
})
export class AlfrescoSearchControlComponent implements OnInit, OnDestroy {
export class SearchControlComponent implements OnInit, OnDestroy {
@Input()
searchTerm = '';
@@ -61,8 +61,8 @@ export class AlfrescoSearchControlComponent implements OnInit, OnDestroy {
@ViewChild('searchInput', {})
searchInput: ElementRef;
@ViewChild(AlfrescoSearchAutocompleteComponent)
liveSearchComponent: AlfrescoSearchAutocompleteComponent;
@ViewChild(SearchAutocompleteComponent)
liveSearchComponent: SearchAutocompleteComponent;
@Input()
liveSearchEnabled: boolean = true;

View File

@@ -22,14 +22,14 @@ import { AlfrescoTranslationService, CoreModule, NotificationService } from 'ng2
import { DocumentListModule } from 'ng2-alfresco-documentlist';
import { PermissionModel } from 'ng2-alfresco-documentlist';
import { Observable } from 'rxjs/Rx';
import { AlfrescoSearchService } from '../services/alfresco-search.service';
import { SearchService } from '../services/search.service';
import { TranslationMock } from './../assets/translation.service.mock';
import { AlfrescoSearchComponent } from './alfresco-search.component';
import { SearchComponent } from './search.component';
describe('AlfrescoSearchComponent', () => {
describe('SearchComponent', () => {
let fixture: ComponentFixture<AlfrescoSearchComponent>, element: HTMLElement;
let component: AlfrescoSearchComponent;
let fixture: ComponentFixture<SearchComponent>, element: HTMLElement;
let component: SearchComponent;
let result = {
list: {
@@ -102,14 +102,14 @@ describe('AlfrescoSearchComponent', () => {
CoreModule.forRoot(),
DocumentListModule.forRoot()
],
declarations: [AlfrescoSearchComponent], // declare the test component
declarations: [SearchComponent], // declare the test component
providers: [
AlfrescoSearchService,
SearchService,
{provide: AlfrescoTranslationService, useClass: TranslationMock},
{provide: NotificationService, useClass: NotificationService}
]
}).compileComponents().then(() => {
fixture = TestBed.createComponent(AlfrescoSearchComponent);
fixture = TestBed.createComponent(SearchComponent);
component = fixture.componentInstance;
element = fixture.nativeElement;
});
@@ -128,7 +128,7 @@ describe('AlfrescoSearchComponent', () => {
{provide: ActivatedRoute, useValue: {params: Observable.from([{q: 'exampleTerm692'}])}}
]);
let search = new AlfrescoSearchComponent(null, null, null, injector.get(ActivatedRoute));
let search = new SearchComponent(null, null, null, injector.get(ActivatedRoute));
search.ngOnInit();
@@ -170,7 +170,7 @@ describe('AlfrescoSearchComponent', () => {
component.searchTerm = searchTerm;
component.rootNodeId = '-my-';
component.resultType = 'my:type';
let searchService = fixture.debugElement.injector.get(AlfrescoSearchService);
let searchService = fixture.debugElement.injector.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise')
.and.returnValue(Promise.resolve(result));
fixture.detectChanges();
@@ -184,7 +184,7 @@ describe('AlfrescoSearchComponent', () => {
it('should display search results when a search term is provided', (done) => {
let searchService = TestBed.get(AlfrescoSearchService);
let searchService = TestBed.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise').and.returnValue(Promise.resolve(result));
component.searchTerm = '';
@@ -205,7 +205,7 @@ describe('AlfrescoSearchComponent', () => {
it('should display no result if no result are returned', (done) => {
let searchService = TestBed.get(AlfrescoSearchService);
let searchService = TestBed.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise')
.and.returnValue(Promise.resolve(noResult));
@@ -227,7 +227,7 @@ describe('AlfrescoSearchComponent', () => {
it('should display an error if an error is encountered running the search', (done) => {
let searchService = TestBed.get(AlfrescoSearchService);
let searchService = TestBed.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise')
.and.returnValue(Promise.reject(errorJson));
@@ -252,7 +252,7 @@ describe('AlfrescoSearchComponent', () => {
it('should update search results when the search term input is changed', (done) => {
let searchService = TestBed.get(AlfrescoSearchService);
let searchService = TestBed.get(SearchService);
spyOn(searchService, 'getQueryNodesPromise')
.and.returnValue(Promise.resolve(result));
@@ -278,13 +278,13 @@ describe('AlfrescoSearchComponent', () => {
describe('search result interactions', () => {
let debugElement: DebugElement;
let searchService: AlfrescoSearchService;
let searchService: SearchService;
let querySpy: jasmine.Spy;
let emitSpy: jasmine.Spy;
beforeEach(() => {
debugElement = fixture.debugElement;
searchService = TestBed.get(AlfrescoSearchService);
searchService = TestBed.get(SearchService);
querySpy = spyOn(searchService, 'getQueryNodesPromise').and.returnValue(Promise.resolve(result));
emitSpy = spyOn(component.preview, 'emit');
});
@@ -292,7 +292,7 @@ describe('AlfrescoSearchComponent', () => {
describe('click results', () => {
beforeEach(() => {
component.navigationMode = AlfrescoSearchComponent.SINGLE_CLICK_NAVIGATION;
component.navigationMode = SearchComponent.SINGLE_CLICK_NAVIGATION;
});
it('should emit preview event when file item clicked', (done) => {
@@ -340,7 +340,7 @@ describe('AlfrescoSearchComponent', () => {
describe('double click results', () => {
beforeEach(() => {
component.navigationMode = AlfrescoSearchComponent.DOUBLE_CLICK_NAVIGATION;
component.navigationMode = SearchComponent.DOUBLE_CLICK_NAVIGATION;
});
it('should emit preview event when file item clicked', (done) => {

View File

@@ -20,14 +20,14 @@ import { ActivatedRoute, Params } from '@angular/router';
import { NodePaging, Pagination } from 'alfresco-js-api';
import { AlfrescoTranslationService, NotificationService } from 'ng2-alfresco-core';
import { PermissionModel } from 'ng2-alfresco-documentlist';
import { AlfrescoSearchService, SearchOptions } from './../services/alfresco-search.service';
import { SearchOptions, SearchService } from './../services/search.service';
@Component({
selector: 'adf-search, alfresco-search',
styleUrls: ['./alfresco-search.component.css'],
templateUrl: './alfresco-search.component.html'
styleUrls: ['./search.component.css'],
templateUrl: './search.component.html'
})
export class AlfrescoSearchComponent implements OnChanges, OnInit {
export class SearchComponent implements OnChanges, OnInit {
static SINGLE_CLICK_NAVIGATION: string = 'click';
static DOUBLE_CLICK_NAVIGATION: string = 'dblclick';
@@ -48,7 +48,7 @@ export class AlfrescoSearchComponent implements OnChanges, OnInit {
resultType: string = null;
@Input()
navigationMode: string = AlfrescoSearchComponent.DOUBLE_CLICK_NAVIGATION; // click|dblclick
navigationMode: string = SearchComponent.DOUBLE_CLICK_NAVIGATION; // click|dblclick
@Input()
emptyFolderImageUrl: string = require('../assets/images/empty_doc_lib.svg');
@@ -65,7 +65,7 @@ export class AlfrescoSearchComponent implements OnChanges, OnInit {
skipCount: number = 0;
nodeResults: NodePaging;
constructor(private searchService: AlfrescoSearchService,
constructor(private searchService: SearchService,
private translateService: AlfrescoTranslationService,
private notificationService: NotificationService,
@Optional() private route: ActivatedRoute) {

View File

@@ -17,14 +17,14 @@
import { async, TestBed } from '@angular/core/testing';
import { AlfrescoApiService, CoreModule } from 'ng2-alfresco-core';
import { fakeApi, fakeError, fakeSearch } from '../assets/alfresco-search.service.mock';
import { AlfrescoSearchService } from './alfresco-search.service';
import { fakeApi, fakeError, fakeSearch } from '../assets/search.service.mock';
import { SearchService } from './search.service';
declare let jasmine: any;
describe('AlfrescoSearchService', () => {
describe('SearchService', () => {
let service: AlfrescoSearchService;
let service: SearchService;
let apiService: AlfrescoApiService;
beforeEach(async(() => {
@@ -33,13 +33,13 @@ describe('AlfrescoSearchService', () => {
CoreModule
],
providers: [
AlfrescoSearchService
SearchService
]
}).compileComponents();
}));
beforeEach(() => {
service = TestBed.get(AlfrescoSearchService);
service = TestBed.get(SearchService);
apiService = TestBed.get(AlfrescoApiService);
spyOn(apiService, 'getInstance').and.returnValue(fakeApi);
});

View File

@@ -24,7 +24,7 @@ import { Observable } from 'rxjs/Rx';
* Internal service used by Document List component.
*/
@Injectable()
export class AlfrescoSearchService {
export class SearchService {
constructor(public authService: AlfrescoAuthenticationService,
private apiService: AlfrescoApiService) {