vibe-sharedui
Version:
EuroMonitor EMI vibe models
354 lines (342 loc) • 11.4 kB
JavaScript
import { NgModule, Inject } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { MatAutocompleteModule, MatButtonModule, MatBadgeModule, MatButtonToggleModule, MatCheckboxModule, MatToolbarModule, MatTooltipModule, MatCardModule, MatChipsModule, MatDatepickerModule, MatExpansionModule, MatFormFieldModule, MatGridListModule, MatIconModule, MatListModule, MatMenuModule, MatNativeDateModule, MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule, MatRadioModule, MatRippleModule, MatSelectModule, MatSidenavModule, MatInputModule, MatSliderModule, MatSlideToggleModule, MatSnackBarModule, MatSortModule, MatTableModule, MatTabsModule, MatStepperModule, MatTreeModule } from '@angular/material';
import { FlexLayoutModule } from '@angular/flex-layout';
import { RouterModule } from '@angular/router';
import { MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatNativeDateModule as MatNativeDateModule$1 } from '@angular/material/core';
import { MatDatepickerModule as MatDatepickerModule$1 } from '@angular/material/datepicker';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { HttpParams, HttpClient } from '@angular/common/http';
import { BehaviorSubject, throwError } from 'rxjs';
import { catchError, retry, finalize } from 'rxjs/operators';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const materialModules = [
MatAutocompleteModule,
MatButtonModule,
MatBadgeModule,
MatButtonToggleModule,
MatCheckboxModule,
MatToolbarModule,
MatTooltipModule,
MatCardModule,
MatChipsModule,
MatDatepickerModule,
MatExpansionModule,
MatFormFieldModule,
MatGridListModule,
MatIconModule,
MatListModule,
MatMenuModule,
MatNativeDateModule,
MatPaginatorModule,
MatProgressBarModule,
MatProgressSpinnerModule,
MatRadioModule,
MatRippleModule,
MatSelectModule,
MatSidenavModule,
MatInputModule,
MatSliderModule,
MatSlideToggleModule,
MatSnackBarModule,
MatSortModule,
MatTableModule,
MatTabsModule,
MatStepperModule,
MatTreeModule
];
class SFGSharedMaterialModule {
}
SFGSharedMaterialModule.decorators = [
{ type: NgModule, args: [{
imports: materialModules,
exports: materialModules
},] }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class SharedFlexLayoutModule {
}
SharedFlexLayoutModule.decorators = [
{ type: NgModule, args: [{
imports: [FlexLayoutModule.withConfig({ useColumnBasisZero: false })],
exports: [FlexLayoutModule],
},] }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class SharedModule {
}
SharedModule.decorators = [
{ type: NgModule, args: [{
imports: [CommonModule],
exports: [
CommonModule,
RouterModule,
SFGSharedMaterialModule,
ReactiveFormsModule,
FormsModule,
SharedFlexLayoutModule
]
},] }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const MODULE_EXPORTS = [MatDatepickerModule$1, MatNativeDateModule$1];
/** @type {?} */
const DATE_FORMATS = {
parse: {
dateInput: 'LL',
},
display: {
dateInput: 'LL',
monthYearLabel: 'MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'MMMM YYYY',
},
};
const ɵ0 = DATE_FORMATS;
class SharedMaterialDateModule {
}
SharedMaterialDateModule.decorators = [
{ type: NgModule, args: [{
exports: MODULE_EXPORTS,
providers: [{ provide: MAT_DATE_FORMATS, useValue: ɵ0 }, { provide: MAT_DATE_LOCALE, useValue: 'en-GB' }],
},] }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @abstract
* @template TEntity
*/
class EntityFormComponent {
/**
* @param {?} data
* @param {?} dialogRef
*/
constructor(data, dialogRef) {
this.data = data;
this.dialogRef = dialogRef;
this.title = data.title;
this.entity = data.payload;
}
/**
* @return {?}
*/
ngOnInit() {
this.buildForm(this.entity);
}
/**
* @return {?}
*/
submit() {
this.dialogRef.close((/** @type {?} */ (this.entityForm.value)));
}
}
/** @nocollapse */
EntityFormComponent.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
{ type: MatDialogRef }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @abstract
* @template T
*/
class EntityService {
/**
* @param {?} httpClient
* @param {?} environment
*/
constructor(httpClient, environment) {
this.httpClient = httpClient;
this.loadingSubject = new BehaviorSubject(false);
this.loading$ = this.loadingSubject.asObservable();
this.baseUrl = environment.API_BASE_URL;
}
/**
* @param {?} id
* @return {?}
*/
getById(id) {
// this.loadingSubject.next(true);
return this.httpClient.get(`${this.baseUrl}/${this.entityPath}/${id}`).pipe(catchError(this.handleError));
}
// findAll(filter: Filter, order = 'DESC', skip = 0, take = 100): Observable<IPagination<T>> | Observable<never> {
/**
* @param {?} filter
* @param {?=} order
* @param {?=} skip
* @param {?=} take
* @return {?}
*/
findAll(filter, order = 'DESC', skip = 0, take = 100) {
this.loadingSubject.next(true);
return this.httpClient
.get(`${this.baseUrl}/${this.entityPath}`, {
params: new HttpParams()
.set('filter', 'filter TODO')
.set('order', order)
.set('skip', skip.toString())
.set('take', take.toString()),
})
.pipe(retry(3), // retry a failed request up to 3 times
catchError(this.handleError), finalize((/**
* @return {?}
*/
() => this.loadingSubject.next(false))));
}
// getAll(): Observable<IPagination<T>> {
/**
* @return {?}
*/
getAll() {
this.loadingSubject.next(true);
return this.httpClient.get(`${this.baseUrl}/${this.entityPath}`).pipe(retry(3), // retry a failed request up to 3 times
catchError(this.handleError), finalize((/**
* @return {?}
*/
() => this.loadingSubject.next(false))));
}
/**
* @param {?} id
* @return {?}
*/
delete(id) {
this.loadingSubject.next(true);
return this.httpClient.delete(`${this.baseUrl}/${this.entityPath}/${id}`).pipe(catchError(this.handleError), finalize((/**
* @return {?}
*/
() => this.loadingSubject.next(false))));
}
/**
* @param {?} entity
* @return {?}
*/
post(entity) {
this.loadingSubject.next(true);
return this.httpClient.post(`${this.baseUrl}/${this.entityPath}`, entity).pipe(catchError(this.handleError), finalize((/**
* @return {?}
*/
() => this.loadingSubject.next(false))));
}
/**
* @param {?} id
* @param {?} entity
* @return {?}
*/
put(id, entity) {
console.log(entity);
this.loadingSubject.next(true);
return this.httpClient.put(`${this.baseUrl}/${this.entityPath}/${id}`, entity).pipe(catchError(this.handleError), finalize((/**
* @return {?}
*/
() => this.loadingSubject.next(false))));
}
/**
* @protected
* @param {?} error
* @return {?}
*/
handleError(error) {
// in a real world app, we may send the server to some remote logging infrastructure
// instead of just logging it to the console
/** @type {?} */
let errorMessage;
if (typeof error === 'string') {
errorMessage = error;
}
else {
if (error.error instanceof ErrorEvent) {
// A client-side or network error occurred. Handle it accordingly.
errorMessage = `An error occurred: ${error.error.message}`;
}
else {
// The backend returned an unsuccessful response code.
// The response body may contain clues as to what went wrong,
errorMessage = `Backend returned code ${error.status}, with body ${error.message}`;
}
}
console.error(error);
// return an ErrorObservable with a user-facing error message
return throwError(errorMessage);
}
/**
* @protected
* @param {?} body
* @return {?}
*/
convertToJson(body) {
return body;
}
}
/** @nocollapse */
EntityService.ctorParameters = () => [
{ type: HttpClient },
{ type: undefined, decorators: [{ type: Inject, args: ['environment',] }] }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @abstract
*/
class Entity {
/**
* @param {?=} init
*/
constructor(init) {
Object.assign(this, init);
}
}
/**
* @template T
*/
class EntityColumnDef {
/**
* @param {?=} init
*/
constructor(init) {
this.header = this.property;
this.visible = true;
this.displayFn = (/**
* @param {?} entity
* @return {?}
*/
(entity) => entity[this.property]);
Object.assign(this, init);
}
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { Entity, EntityColumnDef, EntityFormComponent, EntityService, SFGSharedMaterialModule, SharedFlexLayoutModule, SharedMaterialDateModule, SharedModule };
//# sourceMappingURL=vibe-sharedui.js.map