"options": {
"tsConfig": [
"src/tsconfig.app.json",
- "tsconfig.spec.json"
+ "tsconfig.spec.json",
+ "cypress/tsconfig.json"
],
"exclude": [
"**/node_modules/**"
import { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';
import { ToastrModule } from 'ngx-toastr';
+import { environment } from '../environments/environment';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { CephModule } from './ceph/ceph.module';
import { JsErrorHandler } from './shared/services/js-error-handler.service';
import { SharedModule } from './shared/shared.module';
-import { environment } from '../environments/environment';
-
export function jwtTokenGetter() {
return localStorage.getItem('access_token');
}
import { Component } from '@angular/core';
-
import { Router } from '@angular/router';
@Component({
import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { TreeModel, TreeModule } from 'angular-tree-component';
import * as _ from 'lodash';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
import { SharedModule } from '../../../shared/shared.module';
import { IscsiTargetDetailsComponent } from './iscsi-target-details.component';
import { ModalModule } from 'ngx-bootstrap/modal';
import { SharedModule } from '../../../shared/shared.module';
-
import { BootstrapCreateModalComponent } from './bootstrap-create-modal/bootstrap-create-modal.component';
import { BootstrapImportModalComponent } from './bootstrap-import-modal/bootstrap-import-modal.component';
import { DaemonListComponent } from './daemon-list/daemon-list.component';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RouterTestingModule } from '@angular/router/testing';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { ToastrModule } from 'ngx-toastr';
import { configureTestBed, i18nProviders } from '../../../../../testing/unit-test-helper';
import { Component, Input, OnChanges, OnInit, TemplateRef, ViewChild } from '@angular/core';
import { I18n } from '@ngx-translate/i18n-polyfill';
+
import { TableComponent } from '../../../shared/datatable/table/table.component';
import { CdTableColumn } from '../../../shared/models/cd-table-column';
import {
@ViewChild(NgbNav, { static: true })
nav: NgbNav;
-
- constructor() {}
}
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
import { ReactiveFormsModule } from '@angular/forms';
+import { By } from '@angular/platform-browser';
import { ActivatedRoute, Router } from '@angular/router';
import { RouterTestingModule } from '@angular/router/testing';
import { ToastrModule } from 'ngx-toastr';
-
-import { By } from '@angular/platform-browser';
import { NEVER, of } from 'rxjs';
import { delay } from 'rxjs/operators';
import { I18n } from '@ngx-translate/i18n-polyfill';
import * as _ from 'lodash';
-
import { forkJoin, Observable, ReplaySubject } from 'rxjs';
import { first, switchMap } from 'rxjs/operators';
})
)
.subscribe(
- () => {},
+ () => undefined,
() => this.rbdForm.setErrors({ cdSubmitButton: true }),
() => this.router.navigate(['/block/rbd'])
);
import { Component, OnInit } from '@angular/core';
import { I18n } from '@ngx-translate/i18n-polyfill';
-import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';
-
import * as _ from 'lodash';
+import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';
import { forkJoin, Observable } from 'rxjs';
+
import { PoolService } from '../../../shared/api/pool.service';
import { RbdService } from '../../../shared/api/rbd.service';
import { CriticalConfirmationModalComponent } from '../../../shared/components/critical-confirmation-modal/critical-confirmation-modal.component';
templateUrl: './rbd-performance.component.html',
styleUrls: ['./rbd-performance.component.scss']
})
-export class RbdPerformanceComponent {
- constructor() {}
-}
+export class RbdPerformanceComponent {}
chartType: 'line'
};
- constructor() {}
-
ngOnInit() {
if (_.isUndefined(this.mdsCounter)) {
return;
data: [],
status: ViewCacheStatus.ValueNone
};
- component['subscribeInterval'] = () => {};
+ component['subscribeInterval'] = () => undefined;
updateData();
expect(component.clients).not.toEqual(defaultClients);
expect(component.details).not.toEqual(defaultDetails);
+import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ReactiveFormsModule } from '@angular/forms';
+import { RouterTestingModule } from '@angular/router/testing';
import { ToastrModule } from 'ngx-toastr';
-import { HttpClientTestingModule } from '@angular/common/http/testing';
-import { RouterTestingModule } from '@angular/router/testing';
import { configureTestBed, i18nProviders } from '../../../../../testing/unit-test-helper';
import { LoadingPanelComponent } from '../../../../shared/components/loading-panel/loading-panel.component';
import { SharedModule } from '../../../../shared/shared.module';
import { Component, OnInit } from '@angular/core';
import { FormControl, Validators } from '@angular/forms';
import { Router } from '@angular/router';
+
import { I18n } from '@ngx-translate/i18n-polyfill';
+
import { HostService } from '../../../../shared/api/host.service';
import { ActionLabelsI18n, URLVerbs } from '../../../../shared/constants/app.constants';
import { CdForm } from '../../../../shared/forms/cd-form';
Output,
ViewChild
} from '@angular/core';
-import { I18n } from '@ngx-translate/i18n-polyfill';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import * as _ from 'lodash';
import { BsModalService } from 'ngx-bootstrap/modal';
import { Subscription } from 'rxjs';
$obs = this.mgrModuleService.enable(module.name);
}
$obs.subscribe(
- () => {},
+ () => undefined,
() => {
// Suspend showing the notification toasties.
this.notificationService.suspendToasties(true);
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { Component, EventEmitter, Input, Output } from '@angular/core';
import * as _ from 'lodash';
import { BsModalRef } from 'ngx-bootstrap/modal';
templateUrl: './osd-creation-preview-modal.component.html',
styleUrls: ['./osd-creation-preview-modal.component.scss']
})
-export class OsdCreationPreviewModalComponent implements OnInit {
+export class OsdCreationPreviewModalComponent {
@Input()
driveGroups: Object[] = [];
this.createForm();
}
- ngOnInit() {}
-
createForm() {
this.formGroup = this.formBuilder.group({});
}
import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';
-import { I18n } from '@ngx-translate/i18n-polyfill';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import * as _ from 'lodash';
-
import { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';
+
import { Icons } from '../../../../shared/enum/icons.enum';
import { CdTableColumnFiltersChange } from '../../../../shared/models/cd-table-column-filters-change';
import { InventoryDevice } from '../../inventory/inventory-devices/inventory-device.model';
import { AfterViewInit, Component, EventEmitter, Output, ViewChild } from '@angular/core';
+import { TableColumnProp } from '@swimlane/ngx-datatable';
import * as _ from 'lodash';
import { BsModalRef } from 'ngx-bootstrap/modal';
-import { TableColumnProp } from '@swimlane/ngx-datatable';
import { ActionLabelsI18n } from '../../../../shared/constants/app.constants';
import { Icons } from '../../../../shared/enum/icons.enum';
import { CdFormBuilder } from '../../../../shared/forms/cd-form-builder';
valuesStyle: any;
last = {};
- constructor() {}
-
ngOnChanges() {
this.render();
}
import { ReactiveFormsModule } from '@angular/forms';
import { BsModalRef } from 'ngx-bootstrap/modal';
+
import { configureTestBed, i18nProviders } from '../../../../../testing/unit-test-helper';
import { OsdService } from '../../../../shared/api/osd.service';
import { JoinPipe } from '../../../../shared/pipes/join.pipe';
const fakeService = {
list: () => {
- return new Promise(() => {});
+ return new Promise(() => undefined);
},
scrub: () => {
- return new Promise(() => {});
+ return new Promise(() => undefined);
},
scrub_many: () => {
- return new Promise(() => {});
+ return new Promise(() => undefined);
}
};
import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
+
import { I18n } from '@ngx-translate/i18n-polyfill';
+
import { ListWithDetails } from '../../../../shared/classes/list-with-details.class';
import { CellTemplate } from '../../../../shared/enum/cell-template.enum';
import { Icons } from '../../../../shared/enum/icons.enum';
-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-
import { HttpClientTestingModule } from '@angular/common/http/testing';
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ToastrModule } from 'ngx-toastr';
import { Component } from '@angular/core';
import { Validators } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
-import { I18n } from '@ngx-translate/i18n-polyfill';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import * as _ from 'lodash';
import { BsModalService } from 'ngx-bootstrap/modal';
import { Component } from '@angular/core';
+
import { I18n } from '@ngx-translate/i18n-polyfill';
import { SortDirection, SortPropDir } from '@swimlane/ngx-datatable';
-
import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';
import { Observable, Subscriber } from 'rxjs';
it('should list daemons by host', () => {
component.hostname = 'mon0';
- component.getDaemons(new CdTableFetchDataContext(() => {}));
+ component.getDaemons(new CdTableFetchDataContext(() => undefined));
expect(component.daemons.length).toBe(1);
});
it('should list daemons by service', () => {
component.serviceName = 'osd';
- component.getDaemons(new CdTableFetchDataContext(() => {}));
+ component.getDaemons(new CdTableFetchDataContext(() => undefined));
expect(component.daemons.length).toBe(3);
});
});
ViewChild,
ViewChildren
} from '@angular/core';
-import { I18n } from '@ngx-translate/i18n-polyfill';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import * as _ from 'lodash';
-
import { Observable, Subscription } from 'rxjs';
+
import { CephServiceService } from '../../../../shared/api/ceph-service.service';
import { HostService } from '../../../../shared/api/host.service';
import { OrchestratorService } from '../../../../shared/api/orchestrator.service';
});
it('should return all services', () => {
- component.getServices(new CdTableFetchDataContext(() => {}));
+ component.getServices(new CdTableFetchDataContext(() => undefined));
expect(component.services.length).toBe(2);
});
});
import { Component, Input, OnChanges, OnInit, ViewChild } from '@angular/core';
+
import { I18n } from '@ngx-translate/i18n-polyfill';
import { CephServiceService } from '../../../shared/api/ceph-service.service';
import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
import { MgrModuleService } from '../../../shared/api/mgr-module.service';
import { TelemetryService } from '../../../shared/api/telemetry.service';
-
import { LoadingPanelComponent } from '../../../shared/components/loading-panel/loading-panel.component';
import { TextToDownloadService } from '../../../shared/services/text-to-download.service';
import { SharedModule } from '../../../shared/shared.module';
-import { Component, OnInit } from '@angular/core';
+import { Component } from '@angular/core';
@Component({
selector: 'cd-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
-export class DashboardComponent implements OnInit {
+export class DashboardComponent {
hasGrafana = false; // TODO: Temporary var, remove when grafana is implemented
-
- constructor() {}
-
- ngOnInit() {}
}
import { TestBed } from '@angular/core/testing';
import { configureTestBed, i18nProviders } from '../../../testing/unit-test-helper';
-
import { MgrSummaryPipe } from './mgr-summary.pipe';
describe('MgrSummaryPipe', () => {
import { TestBed } from '@angular/core/testing';
+
import { configureTestBed, i18nProviders } from '../../../testing/unit-test-helper';
import { OsdSummaryPipe } from './osd-summary.pipe';
});
describe('Error handling', () => {
- const context = new CdTableFetchDataContext(() => {});
+ const context = new CdTableFetchDataContext(() => undefined);
beforeEach(() => {
spyOn(context, 'error');
export class RgwBucketDetailsComponent {
@Input()
selection: any;
-
- constructor() {}
}
import { Component, EventEmitter, Output } from '@angular/core';
import { Validators } from '@angular/forms';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import * as _ from 'lodash';
import { BsModalRef } from 'ngx-bootstrap/modal';
-import { I18n } from '@ngx-translate/i18n-polyfill';
import { ActionLabelsI18n } from '../../../shared/constants/app.constants';
import { CdFormBuilder } from '../../../shared/forms/cd-form-builder';
import { CdFormGroup } from '../../../shared/forms/cd-form-group';
import { Component, EventEmitter, Output } from '@angular/core';
import { AbstractControl, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import * as _ from 'lodash';
import { BsModalRef } from 'ngx-bootstrap/modal';
-import { I18n } from '@ngx-translate/i18n-polyfill';
import { ActionLabelsI18n } from '../../../shared/constants/app.constants';
import { CdFormBuilder } from '../../../shared/forms/cd-form-builder';
import { CdFormGroup } from '../../../shared/forms/cd-form-group';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
import { i18nProviders } from '../../../../testing/unit-test-helper';
import { SharedModule } from '../../../shared/shared.module';
-
import { DeviceListComponent } from './device-list.component';
describe('DeviceListComponent', () => {
import { DatePipe } from '@angular/common';
import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';
+
import { I18n } from '@ngx-translate/i18n-polyfill';
+
import { HostService } from '../../../shared/api/host.service';
import { OsdService } from '../../../shared/api/osd.service';
import { CellTemplate } from '../../../shared/enum/cell-template.enum';
import { Component } from '@angular/core';
-
import { Router } from '@angular/router';
@Component({
import { Component } from '@angular/core';
+
import { Icons } from '../../shared/enum/icons.enum';
@Component({
})
export class ForbiddenComponent {
icons = Icons;
- constructor() {}
}
templateUrl: './blank-layout.component.html',
styleUrls: ['./blank-layout.component.scss']
})
-export class BlankLayoutComponent {
- constructor() {}
-}
+export class BlankLayoutComponent {}
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { RouterTestingModule } from '@angular/router/testing';
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
-import { RouterTestingModule } from '@angular/router/testing';
import { SharedModule } from '../../../shared/shared.module';
import { LoginLayoutComponent } from './login-layout.component';
import { detect } from 'detect-browser';
import { BsModalRef } from 'ngx-bootstrap/modal';
import { Subscription } from 'rxjs';
+
import { environment } from '../../../../environments/environment';
import { UserService } from '../../../shared/api/user.service';
import { AppConstants } from '../../../shared/constants/app.constants';
-import { Component, OnInit } from '@angular/core';
+import { Component } from '@angular/core';
import { Icons } from '../../../shared/enum/icons.enum';
import { Permission } from '../../../shared/models/permissions';
templateUrl: './administration.component.html',
styleUrls: ['./administration.component.scss']
})
-export class AdministrationComponent implements OnInit {
+export class AdministrationComponent {
userPermission: Permission;
configOptPermission: Permission;
icons = Icons;
this.userPermission = permissions.user;
this.configOptPermission = permissions.configOpt;
}
-
- ngOnInit() {}
}
templateUrl: './not-found.component.html',
styleUrls: ['./not-found.component.scss']
})
-export class NotFoundComponent {
- constructor() {}
-}
+export class NotFoundComponent {}
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import { Observable } from 'rxjs';
-import { I18n } from '@ngx-translate/i18n-polyfill';
import { ErasureCodeProfile } from '../models/erasure-code-profile';
import { ApiModule } from './api.module';
import { Injectable } from '@angular/core';
import { I18n } from '@ngx-translate/i18n-polyfill';
+import * as _ from 'lodash';
import { map } from 'rxjs/operators';
-import * as _ from 'lodash';
import { CdDevice } from '../models/devices';
import { SmartDataResponseV1 } from '../models/smart';
import { DeviceService } from '../services/device.service';
import { HttpClient, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
+
import { Observable, of as observableOf } from 'rxjs';
import { catchError, mapTo } from 'rxjs/operators';
import { Component, Input, OnInit } from '@angular/core';
+
import { I18n } from '@ngx-translate/i18n-polyfill';
+
import { Icons } from '../../enum/icons.enum';
@Component({
import { Component, NgModule, NO_ERRORS_SCHEMA, TemplateRef, ViewChild } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ReactiveFormsModule } from '@angular/forms';
+import { By } from '@angular/platform-browser';
import { RouterTestingModule } from '@angular/router/testing';
import { BsModalRef, BsModalService, ModalModule } from 'ngx-bootstrap/modal';
-import { By } from '@angular/platform-browser';
import {
configureTestBed,
FixtureHelper,
import { Component, Input } from '@angular/core';
+
import { Icons } from '../../../shared/enum/icons.enum';
@Component({
html: any;
icons = Icons;
-
- constructor() {}
}
+import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import { listLocales } from 'ngx-bootstrap/chronos';
import { BsLocaleService } from 'ngx-bootstrap/datepicker';
-import { HttpClientTestingModule } from '@angular/common/http/testing';
import { configureTestBed } from '../../../../testing/unit-test-helper';
import { LanguageSelectorComponent } from './language-selector.component';
import { Component } from '@angular/core';
+
import { Icons } from '../../../shared/enum/icons.enum';
@Component({
@Output()
hide = new EventEmitter();
- constructor() {}
-
close() {
if (this.modalRef) {
this.modalRef.hide();
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { RouterTestingModule } from '@angular/router/testing';
import { NgbProgressbarModule } from '@ng-bootstrap/ng-bootstrap';
import { ToastrModule } from 'ngx-toastr';
import { SimplebarAngularModule } from 'simplebar-angular';
-import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
import { PrometheusService } from '../../api/prometheus.service';
import { RbdService } from '../../api/rbd.service';
-import { Component, OnInit } from '@angular/core';
+import { Component } from '@angular/core';
import { BsModalRef } from 'ngx-bootstrap/modal';
templateUrl: './orchestrator-doc-modal.component.html',
styleUrls: ['./orchestrator-doc-modal.component.scss']
})
-export class OrchestratorDocModalComponent implements OnInit {
+export class OrchestratorDocModalComponent {
actionDescription: string;
itemDescription: string;
constructor(public bsModalRef: BsModalRef) {}
- ngOnInit() {}
-
onSubmit() {
this.bsModalRef.hide();
}
import { FormsModule } from '@angular/forms';
import { configureTestBed } from '../../../../testing/unit-test-helper';
-
import { RefreshIntervalService } from '../../services/refresh-interval.service';
import { RefreshSelectorComponent } from './refresh-selector.component';
import { I18n } from '@ngx-translate/i18n-polyfill';
-
import * as _ from 'lodash';
export class SelectMessages {
-import { Component, ElementRef, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';
-import { Input } from '@angular/core';
+import {
+ Component,
+ ElementRef,
+ Input,
+ OnChanges,
+ OnInit,
+ SimpleChanges,
+ ViewChild
+} from '@angular/core';
import { ChartTooltip } from '../../models/chart-tooltip';
import { DimlessBinaryPipe } from '../../pipes/dimless-binary.pipe';
import { Component, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { AbstractControl, FormGroup, FormGroupDirective, NgForm } from '@angular/forms';
-import { Icons } from '../../../shared/enum/icons.enum';
import * as _ from 'lodash';
+import { Icons } from '../../../shared/enum/icons.enum';
+
/**
* This component will render a submit button with the given label.
*
freePercentage: number;
freeBytes: number;
- constructor() {}
-
ngOnChanges() {
this.usedPercentage = Math.round((this.usedBytes / this.totalBytes) * 100);
this.freePercentage = 100 - this.usedPercentage;
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, Input } from '@angular/core';
import { ViewCacheStatus } from '../../enum/view-cache-status.enum';
templateUrl: './view-cache.component.html',
styleUrls: ['./view-cache.component.scss']
})
-export class ViewCacheComponent implements OnInit {
+export class ViewCacheComponent {
@Input()
status: ViewCacheStatus;
@Input()
statusFor: string;
vcs = ViewCacheStatus;
-
- constructor() {}
-
- ngOnInit() {}
}
icons = Icons;
- constructor() {}
-
ngOnInit() {
this.removeActionsWithNoPermissions();
this.updateDropDownActions();
import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';
-import { I18n } from '@ngx-translate/i18n-polyfill';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import { ToastrService } from 'ngx-toastr';
@Directive({
import { Validators } from '@angular/forms';
+
import { CdFormBuilder } from './cd-form-builder';
import { CdFormGroup } from './cd-form-group';
import { IndividualConfig } from 'ngx-toastr';
+
import { Icons } from '../enum/icons.enum';
import { NotificationType } from '../enum/notification-type.enum';
import { TestBed } from '@angular/core/testing';
-import { configureTestBed, i18nProviders } from '../../../testing/unit-test-helper';
import { I18n } from '@ngx-translate/i18n-polyfill';
+import { configureTestBed, i18nProviders } from '../../../testing/unit-test-helper';
import { BooleanTextPipe } from './boolean-text.pipe';
describe('BooleanTextPipe', () => {
import { Pipe, PipeTransform } from '@angular/core';
+
import { FormatterService } from '../services/formatter.service';
@Pipe({
import { Pipe, PipeTransform } from '@angular/core';
+
import { FormatterService } from '../services/formatter.service';
@Pipe({
import { Pipe, PipeTransform } from '@angular/core';
+
import { FormatterService } from '../services/formatter.service';
@Pipe({
name: 'iscsiBackstore'
})
export class IscsiBackstorePipe implements PipeTransform {
- constructor() {}
-
transform(value: any): any {
switch (value) {
case 'user:rbd':
name: 'relativeDate'
})
export class RelativeDatePipe implements PipeTransform {
- constructor() {}
-
transform(value: any): any {
if (!value) {
return 'unknown';
let router: Router;
const url = 'api/xyz';
- const httpError = (error: any, errorOpts: object, done = (_resp: any) => {}) => {
+ const httpError = (error: any, errorOpts: object, done = (_resp: any): any => undefined) => {
httpClient.get(url).subscribe(
- () => {},
+ () => true,
(resp) => {
// Error must have been forwarded by the interceptor.
expect(resp instanceof HttpErrorResponse).toBeTruthy();
isPwdDisplayedSource = new BehaviorSubject(false);
isPwdDisplayed$ = this.isPwdDisplayedSource.asObservable();
- constructor() {}
-
set(
username: string,
token: string,
providedIn: 'root'
})
export class DeviceService {
- constructor() {}
-
/**
* Calculates additional data and appends them as new attributes to the given device.
*/
providedIn: 'root'
})
export class FormatterService {
- constructor() {}
-
format_number(n: any, divisor: number, units: string[], decimals: number = 1): string {
if (_.isString(n)) {
n = Number(n);
import { ErrorHandler, Injectable, Injector } from '@angular/core';
+
import { LoggingService } from '../api/logging.service';
@Injectable()
import { HttpClient } from '@angular/common/http';
-import { Inject, LOCALE_ID } from '@angular/core';
-import { Injectable } from '@angular/core';
+import { Inject, Injectable, LOCALE_ID } from '@angular/core';
import { environment } from '../../../environments/environment';
import { Injectable, NgZone } from '@angular/core';
+
import { asyncScheduler, SchedulerLike, Subscription } from 'rxjs';
abstract class NgZoneScheduler implements SchedulerLike {
+import { HttpClientTestingModule } from '@angular/common/http/testing';
import { fakeAsync, TestBed, tick } from '@angular/core/testing';
import * as _ from 'lodash';
import { ToastrService } from 'ngx-toastr';
-import { HttpClientTestingModule } from '@angular/common/http/testing';
import { configureTestBed, i18nProviders } from '../../../testing/unit-test-helper';
import { RbdService } from '../api/rbd.service';
import { NotificationType } from '../enum/notification-type.enum';
+import { HttpClientTestingModule } from '@angular/common/http/testing';
import { TestBed } from '@angular/core/testing';
import { ToastrModule } from 'ngx-toastr';
-import { HttpClientTestingModule } from '@angular/common/http/testing';
import {
configureTestBed,
i18nProviders,
import { Injectable } from '@angular/core';
+import { I18n } from '@ngx-translate/i18n-polyfill';
import * as _ from 'lodash';
-import { I18n } from '@ngx-translate/i18n-polyfill';
import {
AlertmanagerSilenceMatcher,
AlertmanagerSilenceMatcherMatch
+import { HttpClientTestingModule } from '@angular/common/http/testing';
import { TestBed } from '@angular/core/testing';
import * as _ from 'lodash';
-import { HttpClientTestingModule } from '@angular/common/http/testing';
import { configureTestBed, i18nProviders } from '../../../testing/unit-test-helper';
import { RbdService } from '../api/rbd.service';
import { FinishedTask } from '../models/finished-task';
providedIn: 'root'
})
export class TextToDownloadService {
- constructor() {}
-
download(downloadText: string, filename?: string) {
saveAs(new Blob([downloadText]), filename);
}
providedIn: 'root'
})
export class TimeDiffService {
- constructor() {}
-
calculateDuration(startDate: Date, endDate: Date): string {
const startTime = +startDate;
const endTime = +endDate;
import { By } from '@angular/platform-browser';
import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing';
+import { NgbNav, NgbNavItem } from '@ng-bootstrap/ng-bootstrap';
import { I18n } from '@ngx-translate/i18n-polyfill';
import { configureTestSuite } from 'ng-bullet';
import { BsModalRef } from 'ngx-bootstrap/modal';
-import { NgbNav, NgbNavItem } from '@ng-bootstrap/ng-bootstrap';
import { TableActionsComponent } from '../app/shared/datatable/table-actions/table-actions.component';
import { Icons } from '../app/shared/enum/icons.enum';
import { CdFormGroup } from '../app/shared/forms/cd-form-group';
"class-name": true,
"comment-format": [true, "check-space"],
"curly": true,
+ "deprecation": {
+ "severity": "warning"
+ },
"eofline": true,
"forin": true,
"import-blacklist": [true, "rxjs/Rx", "ngx-bootstrap"],
"no-construct": true,
"no-debugger": true,
"no-duplicate-super": true,
- "no-empty": false,
+ "no-duplicate-imports": [true, { "allow-namespace-imports": true }],
+ "no-empty": [true, "allow-empty-catch"],
"no-empty-interface": true,
"no-eval": true,
"no-inferrable-types": [true, "ignore-params"],
"directive-class-suffix": true,
"no-forward-ref": true,
"no-output-native": true,
- "ordered-imports": true
+ "ordered-imports": [
+ true,
+ {
+ "grouped-imports": true,
+ "groups": [
+ {
+ "name": "angular",
+ "match": "^@angular",
+ "order": 1
+ },
+ {
+ "name": "relative dir",
+ "match": "^([.]|src/).*",
+ "order": 3
+ },
+ {
+ "name": "node_modules",
+ "match": ".*",
+ "order": 2
+ }
+ ]
+ }
+ ]
},
"jsRules": { "no-empty": true }
}