gtd-ng-widget 11.0.6 → 11.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/gtd-ng-widget.umd.js +4 -2
- package/bundles/gtd-ng-widget.umd.js.map +1 -1
- package/bundles/gtd-ng-widget.umd.min.js +1 -1
- package/bundles/gtd-ng-widget.umd.min.js.map +1 -1
- package/esm2015/lib/gtd-ng-widget-component.abstract.js +5 -3
- package/fesm2015/gtd-ng-widget.js +4 -2
- package/fesm2015/gtd-ng-widget.js.map +1 -1
- package/gtd-ng-widget-11.0.7.tgz +0 -0
- package/lib/gtd-ng-widget-component.abstract.d.ts +1 -0
- package/package.json +1 -1
- package/gtd-ng-widget-11.0.6.tgz +0 -0
|
@@ -96,7 +96,8 @@
|
|
|
96
96
|
this.selectedOption = {};
|
|
97
97
|
this.onError = new core.EventEmitter();
|
|
98
98
|
this.onDataLoaded = new core.EventEmitter();
|
|
99
|
-
this.isLoadingValue =
|
|
99
|
+
this.isLoadingValue = true;
|
|
100
|
+
this.isFirstLoading = true;
|
|
100
101
|
this.widgetDataService = new DataService();
|
|
101
102
|
}
|
|
102
103
|
GtdNgWidgetComponentAbstract.prototype.getKey = function () {
|
|
@@ -128,9 +129,10 @@
|
|
|
128
129
|
};
|
|
129
130
|
GtdNgWidgetComponentAbstract.prototype.getData = function () {
|
|
130
131
|
var _this = this;
|
|
131
|
-
if (this.isLoading) {
|
|
132
|
+
if (this.isLoading && !this.isFirstLoading) {
|
|
132
133
|
return;
|
|
133
134
|
}
|
|
135
|
+
this.isFirstLoading = false;
|
|
134
136
|
this.setIsLoading(true);
|
|
135
137
|
this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe(function (data) {
|
|
136
138
|
_this.data = _this.data.fromJson(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtd-ng-widget.umd.js","sources":["../../src/lib/api.config.ts","../../src/lib/services/widgets.service.ts","../../src/lib/gtd-ng-widget.module.ts","../../src/lib/services/data.service.ts","../../src/lib/gtd-ng-widget-component.abstract.ts","../../src/lib/services/responses/type.response.ts","../../src/public-api.ts","../../src/gtd-ng-widget.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const API_CONFIG = new InjectionToken<{ api: string }>('ApiConfig');\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\n\n@Injectable()\nexport class WidgetsService {\n constructor(@Inject(API_CONFIG) private apiConfig: any, private http: HttpClient) {}\n\n dataBatched(widgetConfigs: any[]): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http\n .post(this.apiConfig.api + '/widget/dataBatched', {\n widgets: widgetConfigs,\n })\n .pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { API_CONFIG } from './api.config';\nimport { WidgetsService } from './services/widgets.service';\n\nexport let InjectorInstance: Injector;\n\n@NgModule({\n declarations: [],\n imports: [HttpClientModule, CommonModule],\n exports: [],\n})\nexport class GtdNgWidgetModule {\n constructor(private injector: Injector) {\n InjectorInstance = this.injector;\n }\n\n static forRoot(apiConfig): ModuleWithProviders<GtdNgWidgetModule> {\n return {\n ngModule: GtdNgWidgetModule,\n providers: [\n WidgetsService,\n {\n provide: API_CONFIG,\n useValue: apiConfig,\n },\n ],\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\nimport { InjectorInstance } from '../gtd-ng-widget.module';\n\n@Injectable()\nexport class DataService {\n private http: HttpClient;\n private apiConfig: any;\n\n constructor() {\n this.http = InjectorInstance.get<HttpClient>(HttpClient);\n this.apiConfig = InjectorInstance.get<{ api: string }>(API_CONFIG);\n }\n\n public data(dataConfig: any): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http.post(this.apiConfig.api + '/widget/data', dataConfig).pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { AfterViewInit, Directive, EventEmitter, Injectable, Input, OnDestroy, Output } from '@angular/core';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { DataService } from './services/data.service';\nimport { TypeResponseInterface } from './services/interfaces/type-response.interface';\n\n@Directive()\n// tslint:disable-next-line\nexport abstract class GtdNgWidgetComponentAbstract implements OnDestroy, AfterViewInit {\n @Input() autoInit = false;\n @Input() settings: any = {};\n @Input() dates: any = {\n from: moment.utc().startOf('month'),\n to: moment.utc().endOf('day'),\n };\n @Input() options = {};\n @Input() selectedOption = {};\n @Output() onError = new EventEmitter();\n @Output() onDataLoaded = new EventEmitter();\n protected abstract readonly key: string;\n public abstract data: TypeResponseInterface;\n private isLoadingValue = false;\n private widgetDataService: DataService = new DataService();\n private dataSubscriber: Subscription;\n\n getKey(): string {\n return this.key;\n }\n\n getSettings(): string {\n return {\n ...this.settings,\n ...this.selectedOption,\n };\n }\n\n getDates(): any {\n return this.dates;\n }\n\n getConfig(): any {\n return {\n widget: this.getKey(),\n settings: this.getSettings(),\n from: this.getDates().from.format('YYYY/MM/DD HH:mm:ss'),\n to: this.getDates().to.format('YYYY/MM/DD HH:mm:ss'),\n };\n }\n\n get isLoading(): boolean {\n return this.isLoadingValue;\n }\n\n setIsLoading(isLoading: boolean): void {\n this.isLoadingValue = isLoading;\n }\n\n getData(): void {\n if (this.isLoading) {\n return;\n }\n this.setIsLoading(true);\n this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe(\n (data) => {\n this.data = this.data.fromJson(data);\n this.setIsLoading(false);\n this.afterData();\n this.onDataLoaded.emit(this.data);\n },\n (error) => {\n if (this.onError) {\n this.onError.emit(error);\n }\n this.errorCb(error);\n }\n );\n }\n\n setData(data: any): void {\n this.data = this.data.fromJson(data);\n this.onDataLoaded.emit(this.data);\n }\n\n afterData(): void {}\n\n errorCb(error: HttpErrorResponse): void {}\n\n ngOnDestroy(): void {\n if (this.dataSubscriber) {\n this.dataSubscriber.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n if (this.autoInit) {\n this.getData();\n }\n }\n\n trackByFn(index, item) {\n return index;\n }\n\n trackByIdFn(index, item) {\n return item.id;\n }\n\n changeSelectedOption(selectedOption: any): void {\n this.selectedOption = selectedOption;\n this.getData();\n }\n}\n","import { TypeResponseInterface } from '../interfaces/type-response.interface';\n\nexport abstract class TypeResponse implements TypeResponseInterface {\n public dates: Dates;\n\n public fromJson(json: any): TypeResponseInterface {\n const object = Object.assign(this, json);\n object.dates = new Dates(json?.dates?.from * 1000, json?.dates?.to * 1000);\n return object;\n }\n}\n\nexport class Dates {\n constructor(public from: number, public to: number) {}\n}\n","/*\n * Public API Surface of gtd-ng-table\n */\n\nexport * from './lib/services/widgets.service';\nexport * from './lib/gtd-ng-widget.module';\nexport * from './lib/services/interfaces/type-response.interface';\nexport * from './lib/gtd-ng-widget-component.abstract';\nexport * from './lib/services/responses/type.response';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {API_CONFIG as ɵa} from './lib/api.config';"],"names":["InjectionToken","share","map","throwError","Injectable","Inject","HttpClient","InjectorInstance","NgModule","HttpClientModule","CommonModule","Injector","moment.utc","EventEmitter","Directive","Input","Output"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gtd-ng-widget.umd.js","sources":["../../src/lib/api.config.ts","../../src/lib/services/widgets.service.ts","../../src/lib/gtd-ng-widget.module.ts","../../src/lib/services/data.service.ts","../../src/lib/gtd-ng-widget-component.abstract.ts","../../src/lib/services/responses/type.response.ts","../../src/public-api.ts","../../src/gtd-ng-widget.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const API_CONFIG = new InjectionToken<{ api: string }>('ApiConfig');\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\n\n@Injectable()\nexport class WidgetsService {\n constructor(@Inject(API_CONFIG) private apiConfig: any, private http: HttpClient) {}\n\n dataBatched(widgetConfigs: any[]): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http\n .post(this.apiConfig.api + '/widget/dataBatched', {\n widgets: widgetConfigs,\n })\n .pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { API_CONFIG } from './api.config';\nimport { WidgetsService } from './services/widgets.service';\n\nexport let InjectorInstance: Injector;\n\n@NgModule({\n declarations: [],\n imports: [HttpClientModule, CommonModule],\n exports: [],\n})\nexport class GtdNgWidgetModule {\n constructor(private injector: Injector) {\n InjectorInstance = this.injector;\n }\n\n static forRoot(apiConfig): ModuleWithProviders<GtdNgWidgetModule> {\n return {\n ngModule: GtdNgWidgetModule,\n providers: [\n WidgetsService,\n {\n provide: API_CONFIG,\n useValue: apiConfig,\n },\n ],\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\nimport { InjectorInstance } from '../gtd-ng-widget.module';\n\n@Injectable()\nexport class DataService {\n private http: HttpClient;\n private apiConfig: any;\n\n constructor() {\n this.http = InjectorInstance.get<HttpClient>(HttpClient);\n this.apiConfig = InjectorInstance.get<{ api: string }>(API_CONFIG);\n }\n\n public data(dataConfig: any): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http.post(this.apiConfig.api + '/widget/data', dataConfig).pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { AfterViewInit, Directive, EventEmitter, Injectable, Input, OnDestroy, Output } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { Subscription } from 'rxjs';\r\nimport { DataService } from './services/data.service';\r\nimport { TypeResponseInterface } from './services/interfaces/type-response.interface';\r\n\r\n@Directive()\r\n// tslint:disable-next-line\r\nexport abstract class GtdNgWidgetComponentAbstract implements OnDestroy, AfterViewInit {\r\n @Input() autoInit = false;\r\n @Input() settings: any = {};\r\n @Input() dates: any = {\r\n from: moment.utc().startOf('month'),\r\n to: moment.utc().endOf('day'),\r\n };\r\n @Input() options = {};\r\n @Input() selectedOption = {};\r\n @Output() onError = new EventEmitter();\r\n @Output() onDataLoaded = new EventEmitter();\r\n protected abstract readonly key: string;\r\n public abstract data: TypeResponseInterface;\r\n private isLoadingValue = true;\r\n private isFirstLoading = true;\r\n private widgetDataService: DataService = new DataService();\r\n private dataSubscriber: Subscription;\r\n\r\n getKey(): string {\r\n return this.key;\r\n }\r\n\r\n getSettings(): string {\r\n return {\r\n ...this.settings,\r\n ...this.selectedOption,\r\n };\r\n }\r\n\r\n getDates(): any {\r\n return this.dates;\r\n }\r\n\r\n getConfig(): any {\r\n return {\r\n widget: this.getKey(),\r\n settings: this.getSettings(),\r\n from: this.getDates().from.format('YYYY/MM/DD HH:mm:ss'),\r\n to: this.getDates().to.format('YYYY/MM/DD HH:mm:ss'),\r\n };\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.isLoadingValue;\r\n }\r\n\r\n setIsLoading(isLoading: boolean): void {\r\n this.isLoadingValue = isLoading;\r\n }\r\n\r\n getData(): void {\r\n if (this.isLoading && !this.isFirstLoading) {\r\n return;\r\n }\r\n this.isFirstLoading = false;\r\n this.setIsLoading(true);\r\n this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe(\r\n (data) => {\r\n this.data = this.data.fromJson(data);\r\n this.setIsLoading(false);\r\n this.afterData();\r\n this.onDataLoaded.emit(this.data);\r\n },\r\n (error) => {\r\n if (this.onError) {\r\n this.onError.emit(error);\r\n }\r\n this.errorCb(error);\r\n }\r\n );\r\n }\r\n\r\n setData(data: any): void {\r\n this.data = this.data.fromJson(data);\r\n this.onDataLoaded.emit(this.data);\r\n }\r\n\r\n afterData(): void {}\r\n\r\n errorCb(error: HttpErrorResponse): void {}\r\n\r\n ngOnDestroy(): void {\r\n if (this.dataSubscriber) {\r\n this.dataSubscriber.unsubscribe();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.autoInit) {\r\n this.getData();\r\n }\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n trackByIdFn(index, item) {\r\n return item.id;\r\n }\r\n\r\n changeSelectedOption(selectedOption: any): void {\r\n this.selectedOption = selectedOption;\r\n this.getData();\r\n }\r\n}\r\n","import { TypeResponseInterface } from '../interfaces/type-response.interface';\n\nexport abstract class TypeResponse implements TypeResponseInterface {\n public dates: Dates;\n\n public fromJson(json: any): TypeResponseInterface {\n const object = Object.assign(this, json);\n object.dates = new Dates(json?.dates?.from * 1000, json?.dates?.to * 1000);\n return object;\n }\n}\n\nexport class Dates {\n constructor(public from: number, public to: number) {}\n}\n","/*\n * Public API Surface of gtd-ng-table\n */\n\nexport * from './lib/services/widgets.service';\nexport * from './lib/gtd-ng-widget.module';\nexport * from './lib/services/interfaces/type-response.interface';\nexport * from './lib/gtd-ng-widget-component.abstract';\nexport * from './lib/services/responses/type.response';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {API_CONFIG as ɵa} from './lib/api.config';"],"names":["InjectionToken","share","map","throwError","Injectable","Inject","HttpClient","InjectorInstance","NgModule","HttpClientModule","CommonModule","Injector","moment.utc","EventEmitter","Directive","Input","Output"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common/http"),require("@angular/core"),require("rxjs"),require("rxjs/operators"),require("@angular/common"),require("moment")):"function"==typeof define&&define.amd?define("gtd-ng-widget",["exports","@angular/common/http","@angular/core","rxjs","rxjs/operators","@angular/common","moment"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["gtd-ng-widget"]={},t.ng.common.http,t.ng.core,t.rxjs,t.rxjs.operators,t.ng.common,t.moment)}(this,(function(t,e,o,n,i,r,a){"use strict";var s=new o.InjectionToken("ApiConfig"),p=function(){function t(t,e){this.apiConfig=t,this.http=e}return t.prototype.dataBatched=function(t){return this.apiConfig&&this.apiConfig.api?this.http.post(this.apiConfig.api+"/widget/dataBatched",{widgets:t}).pipe(i.share(),i.map((function(t){return t.data}))):n.throwError("no api config")},t}();p.decorators=[{type:o.Injectable}],p.ctorParameters=function(){return[{type:void 0,decorators:[{type:o.Inject,args:[s]}]},{type:e.HttpClient}]};var u=function(){function e(e){this.injector=e,t.InjectorInstance=this.injector}return e.forRoot=function(t){return{ngModule:e,providers:[p,{provide:s,useValue:t}]}},e}();u.decorators=[{type:o.NgModule,args:[{declarations:[],imports:[e.HttpClientModule,r.CommonModule],exports:[]}]}],u.ctorParameters=function(){return[{type:o.Injector}]};var c=function(){function o(){this.http=t.InjectorInstance.get(e.HttpClient),this.apiConfig=t.InjectorInstance.get(s)}return o.prototype.data=function(t){return this.apiConfig&&this.apiConfig.api?this.http.post(this.apiConfig.api+"/widget/data",t).pipe(i.share(),i.map((function(t){return t.data}))):n.throwError("no api config")},o}();c.decorators=[{type:o.Injectable}],c.ctorParameters=function(){return[]};var d=function(){function t(){this.autoInit=!1,this.settings={},this.dates={from:a.utc().startOf("month"),to:a.utc().endOf("day")},this.options={},this.selectedOption={},this.onError=new o.EventEmitter,this.onDataLoaded=new o.EventEmitter,this.isLoadingValue=!
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common/http"),require("@angular/core"),require("rxjs"),require("rxjs/operators"),require("@angular/common"),require("moment")):"function"==typeof define&&define.amd?define("gtd-ng-widget",["exports","@angular/common/http","@angular/core","rxjs","rxjs/operators","@angular/common","moment"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["gtd-ng-widget"]={},t.ng.common.http,t.ng.core,t.rxjs,t.rxjs.operators,t.ng.common,t.moment)}(this,(function(t,e,o,n,i,r,a){"use strict";var s=new o.InjectionToken("ApiConfig"),p=function(){function t(t,e){this.apiConfig=t,this.http=e}return t.prototype.dataBatched=function(t){return this.apiConfig&&this.apiConfig.api?this.http.post(this.apiConfig.api+"/widget/dataBatched",{widgets:t}).pipe(i.share(),i.map((function(t){return t.data}))):n.throwError("no api config")},t}();p.decorators=[{type:o.Injectable}],p.ctorParameters=function(){return[{type:void 0,decorators:[{type:o.Inject,args:[s]}]},{type:e.HttpClient}]};var u=function(){function e(e){this.injector=e,t.InjectorInstance=this.injector}return e.forRoot=function(t){return{ngModule:e,providers:[p,{provide:s,useValue:t}]}},e}();u.decorators=[{type:o.NgModule,args:[{declarations:[],imports:[e.HttpClientModule,r.CommonModule],exports:[]}]}],u.ctorParameters=function(){return[{type:o.Injector}]};var c=function(){function o(){this.http=t.InjectorInstance.get(e.HttpClient),this.apiConfig=t.InjectorInstance.get(s)}return o.prototype.data=function(t){return this.apiConfig&&this.apiConfig.api?this.http.post(this.apiConfig.api+"/widget/data",t).pipe(i.share(),i.map((function(t){return t.data}))):n.throwError("no api config")},o}();c.decorators=[{type:o.Injectable}],c.ctorParameters=function(){return[]};var d=function(){function t(){this.autoInit=!1,this.settings={},this.dates={from:a.utc().startOf("month"),to:a.utc().endOf("day")},this.options={},this.selectedOption={},this.onError=new o.EventEmitter,this.onDataLoaded=new o.EventEmitter,this.isLoadingValue=!0,this.isFirstLoading=!0,this.widgetDataService=new c}return t.prototype.getKey=function(){return this.key},t.prototype.getSettings=function(){return Object.assign(Object.assign({},this.settings),this.selectedOption)},t.prototype.getDates=function(){return this.dates},t.prototype.getConfig=function(){return{widget:this.getKey(),settings:this.getSettings(),from:this.getDates().from.format("YYYY/MM/DD HH:mm:ss"),to:this.getDates().to.format("YYYY/MM/DD HH:mm:ss")}},Object.defineProperty(t.prototype,"isLoading",{get:function(){return this.isLoadingValue},enumerable:!1,configurable:!0}),t.prototype.setIsLoading=function(t){this.isLoadingValue=t},t.prototype.getData=function(){var t=this;this.isLoading&&!this.isFirstLoading||(this.isFirstLoading=!1,this.setIsLoading(!0),this.dataSubscriber=this.widgetDataService.data(this.getConfig()).subscribe((function(e){t.data=t.data.fromJson(e),t.setIsLoading(!1),t.afterData(),t.onDataLoaded.emit(t.data)}),(function(e){t.onError&&t.onError.emit(e),t.errorCb(e)})))},t.prototype.setData=function(t){this.data=this.data.fromJson(t),this.onDataLoaded.emit(this.data)},t.prototype.afterData=function(){},t.prototype.errorCb=function(t){},t.prototype.ngOnDestroy=function(){this.dataSubscriber&&this.dataSubscriber.unsubscribe()},t.prototype.ngAfterViewInit=function(){this.autoInit&&this.getData()},t.prototype.trackByFn=function(t,e){return t},t.prototype.trackByIdFn=function(t,e){return e.id},t.prototype.changeSelectedOption=function(t){this.selectedOption=t,this.getData()},t}();d.decorators=[{type:o.Directive}],d.propDecorators={autoInit:[{type:o.Input}],settings:[{type:o.Input}],dates:[{type:o.Input}],options:[{type:o.Input}],selectedOption:[{type:o.Input}],onError:[{type:o.Output}],onDataLoaded:[{type:o.Output}]};var g=function(){function t(){}return t.prototype.fromJson=function(t){var e,o,n=Object.assign(this,t);return n.dates=new f(1e3*(null===(e=null==t?void 0:t.dates)||void 0===e?void 0:e.from),1e3*(null===(o=null==t?void 0:t.dates)||void 0===o?void 0:o.to)),n},t}(),f=function(t,e){this.from=t,this.to=e};t.Dates=f,t.GtdNgWidgetComponentAbstract=d,t.GtdNgWidgetModule=u,t.TypeResponse=g,t.WidgetsService=p,t.ɵa=s,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=gtd-ng-widget.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/api.config.ts","../../src/lib/services/widgets.service.ts","../../src/lib/gtd-ng-widget.module.ts","../../src/lib/services/data.service.ts","../../src/lib/gtd-ng-widget-component.abstract.ts","../../src/lib/services/responses/type.response.ts"],"names":["API_CONFIG","InjectionToken","WidgetsService","apiConfig","http","this","prototype","dataBatched","widgetConfigs","api","post","widgets","pipe","share","map","r","data","throwError","Injectable","Inject","args","HttpClient","GtdNgWidgetModule","injector","InjectorInstance","forRoot","ngModule","providers","provide","useValue","NgModule","declarations","imports","HttpClientModule","CommonModule","exports","Injector","DataService","get","dataConfig","GtdNgWidgetComponentAbstract","autoInit","settings","dates","from","moment.utc","startOf","to","endOf","options","selectedOption","onError","EventEmitter","onDataLoaded","isLoadingValue","widgetDataService","getKey","key","getSettings","Object","assign","getDates","getConfig","widget","format","defineProperty","setIsLoading","isLoading","getData","_this","dataSubscriber","subscribe","fromJson","afterData","emit","error","errorCb","setData","ngOnDestroy","unsubscribe","ngAfterViewInit","trackByFn","index","item","trackByIdFn","id","changeSelectedOption","Directive","Input","Output","TypeResponse","json","object","Dates","_a","_b"],"mappings":"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","sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const API_CONFIG = new InjectionToken<{ api: string }>('ApiConfig');\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\n\n@Injectable()\nexport class WidgetsService {\n constructor(@Inject(API_CONFIG) private apiConfig: any, private http: HttpClient) {}\n\n dataBatched(widgetConfigs: any[]): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http\n .post(this.apiConfig.api + '/widget/dataBatched', {\n widgets: widgetConfigs,\n })\n .pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { API_CONFIG } from './api.config';\nimport { WidgetsService } from './services/widgets.service';\n\nexport let InjectorInstance: Injector;\n\n@NgModule({\n declarations: [],\n imports: [HttpClientModule, CommonModule],\n exports: [],\n})\nexport class GtdNgWidgetModule {\n constructor(private injector: Injector) {\n InjectorInstance = this.injector;\n }\n\n static forRoot(apiConfig): ModuleWithProviders<GtdNgWidgetModule> {\n return {\n ngModule: GtdNgWidgetModule,\n providers: [\n WidgetsService,\n {\n provide: API_CONFIG,\n useValue: apiConfig,\n },\n ],\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\nimport { InjectorInstance } from '../gtd-ng-widget.module';\n\n@Injectable()\nexport class DataService {\n private http: HttpClient;\n private apiConfig: any;\n\n constructor() {\n this.http = InjectorInstance.get<HttpClient>(HttpClient);\n this.apiConfig = InjectorInstance.get<{ api: string }>(API_CONFIG);\n }\n\n public data(dataConfig: any): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http.post(this.apiConfig.api + '/widget/data', dataConfig).pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { AfterViewInit, Directive, EventEmitter, Injectable, Input, OnDestroy, Output } from '@angular/core';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { DataService } from './services/data.service';\nimport { TypeResponseInterface } from './services/interfaces/type-response.interface';\n\n@Directive()\n// tslint:disable-next-line\nexport abstract class GtdNgWidgetComponentAbstract implements OnDestroy, AfterViewInit {\n @Input() autoInit = false;\n @Input() settings: any = {};\n @Input() dates: any = {\n from: moment.utc().startOf('month'),\n to: moment.utc().endOf('day'),\n };\n @Input() options = {};\n @Input() selectedOption = {};\n @Output() onError = new EventEmitter();\n @Output() onDataLoaded = new EventEmitter();\n protected abstract readonly key: string;\n public abstract data: TypeResponseInterface;\n private isLoadingValue = false;\n private widgetDataService: DataService = new DataService();\n private dataSubscriber: Subscription;\n\n getKey(): string {\n return this.key;\n }\n\n getSettings(): string {\n return {\n ...this.settings,\n ...this.selectedOption,\n };\n }\n\n getDates(): any {\n return this.dates;\n }\n\n getConfig(): any {\n return {\n widget: this.getKey(),\n settings: this.getSettings(),\n from: this.getDates().from.format('YYYY/MM/DD HH:mm:ss'),\n to: this.getDates().to.format('YYYY/MM/DD HH:mm:ss'),\n };\n }\n\n get isLoading(): boolean {\n return this.isLoadingValue;\n }\n\n setIsLoading(isLoading: boolean): void {\n this.isLoadingValue = isLoading;\n }\n\n getData(): void {\n if (this.isLoading) {\n return;\n }\n this.setIsLoading(true);\n this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe(\n (data) => {\n this.data = this.data.fromJson(data);\n this.setIsLoading(false);\n this.afterData();\n this.onDataLoaded.emit(this.data);\n },\n (error) => {\n if (this.onError) {\n this.onError.emit(error);\n }\n this.errorCb(error);\n }\n );\n }\n\n setData(data: any): void {\n this.data = this.data.fromJson(data);\n this.onDataLoaded.emit(this.data);\n }\n\n afterData(): void {}\n\n errorCb(error: HttpErrorResponse): void {}\n\n ngOnDestroy(): void {\n if (this.dataSubscriber) {\n this.dataSubscriber.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n if (this.autoInit) {\n this.getData();\n }\n }\n\n trackByFn(index, item) {\n return index;\n }\n\n trackByIdFn(index, item) {\n return item.id;\n }\n\n changeSelectedOption(selectedOption: any): void {\n this.selectedOption = selectedOption;\n this.getData();\n }\n}\n","import { TypeResponseInterface } from '../interfaces/type-response.interface';\n\nexport abstract class TypeResponse implements TypeResponseInterface {\n public dates: Dates;\n\n public fromJson(json: any): TypeResponseInterface {\n const object = Object.assign(this, json);\n object.dates = new Dates(json?.dates?.from * 1000, json?.dates?.to * 1000);\n return object;\n }\n}\n\nexport class Dates {\n constructor(public from: number, public to: number) {}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/api.config.ts","../../src/lib/services/widgets.service.ts","../../src/lib/gtd-ng-widget.module.ts","../../src/lib/services/data.service.ts","../../src/lib/gtd-ng-widget-component.abstract.ts","../../src/lib/services/responses/type.response.ts"],"names":["API_CONFIG","InjectionToken","WidgetsService","apiConfig","http","this","prototype","dataBatched","widgetConfigs","api","post","widgets","pipe","share","map","r","data","throwError","Injectable","Inject","args","HttpClient","GtdNgWidgetModule","injector","InjectorInstance","forRoot","ngModule","providers","provide","useValue","NgModule","declarations","imports","HttpClientModule","CommonModule","exports","Injector","DataService","get","dataConfig","GtdNgWidgetComponentAbstract","autoInit","settings","dates","from","moment.utc","startOf","to","endOf","options","selectedOption","onError","EventEmitter","onDataLoaded","isLoadingValue","isFirstLoading","widgetDataService","getKey","key","getSettings","Object","assign","getDates","getConfig","widget","format","defineProperty","setIsLoading","isLoading","getData","_this","dataSubscriber","subscribe","fromJson","afterData","emit","error","errorCb","setData","ngOnDestroy","unsubscribe","ngAfterViewInit","trackByFn","index","item","trackByIdFn","id","changeSelectedOption","Directive","Input","Output","TypeResponse","json","object","Dates","_a","_b"],"mappings":"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","sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const API_CONFIG = new InjectionToken<{ api: string }>('ApiConfig');\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\n\n@Injectable()\nexport class WidgetsService {\n constructor(@Inject(API_CONFIG) private apiConfig: any, private http: HttpClient) {}\n\n dataBatched(widgetConfigs: any[]): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http\n .post(this.apiConfig.api + '/widget/dataBatched', {\n widgets: widgetConfigs,\n })\n .pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { API_CONFIG } from './api.config';\nimport { WidgetsService } from './services/widgets.service';\n\nexport let InjectorInstance: Injector;\n\n@NgModule({\n declarations: [],\n imports: [HttpClientModule, CommonModule],\n exports: [],\n})\nexport class GtdNgWidgetModule {\n constructor(private injector: Injector) {\n InjectorInstance = this.injector;\n }\n\n static forRoot(apiConfig): ModuleWithProviders<GtdNgWidgetModule> {\n return {\n ngModule: GtdNgWidgetModule,\n providers: [\n WidgetsService,\n {\n provide: API_CONFIG,\n useValue: apiConfig,\n },\n ],\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\nimport { InjectorInstance } from '../gtd-ng-widget.module';\n\n@Injectable()\nexport class DataService {\n private http: HttpClient;\n private apiConfig: any;\n\n constructor() {\n this.http = InjectorInstance.get<HttpClient>(HttpClient);\n this.apiConfig = InjectorInstance.get<{ api: string }>(API_CONFIG);\n }\n\n public data(dataConfig: any): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http.post(this.apiConfig.api + '/widget/data', dataConfig).pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { AfterViewInit, Directive, EventEmitter, Injectable, Input, OnDestroy, Output } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { Subscription } from 'rxjs';\r\nimport { DataService } from './services/data.service';\r\nimport { TypeResponseInterface } from './services/interfaces/type-response.interface';\r\n\r\n@Directive()\r\n// tslint:disable-next-line\r\nexport abstract class GtdNgWidgetComponentAbstract implements OnDestroy, AfterViewInit {\r\n @Input() autoInit = false;\r\n @Input() settings: any = {};\r\n @Input() dates: any = {\r\n from: moment.utc().startOf('month'),\r\n to: moment.utc().endOf('day'),\r\n };\r\n @Input() options = {};\r\n @Input() selectedOption = {};\r\n @Output() onError = new EventEmitter();\r\n @Output() onDataLoaded = new EventEmitter();\r\n protected abstract readonly key: string;\r\n public abstract data: TypeResponseInterface;\r\n private isLoadingValue = true;\r\n private isFirstLoading = true;\r\n private widgetDataService: DataService = new DataService();\r\n private dataSubscriber: Subscription;\r\n\r\n getKey(): string {\r\n return this.key;\r\n }\r\n\r\n getSettings(): string {\r\n return {\r\n ...this.settings,\r\n ...this.selectedOption,\r\n };\r\n }\r\n\r\n getDates(): any {\r\n return this.dates;\r\n }\r\n\r\n getConfig(): any {\r\n return {\r\n widget: this.getKey(),\r\n settings: this.getSettings(),\r\n from: this.getDates().from.format('YYYY/MM/DD HH:mm:ss'),\r\n to: this.getDates().to.format('YYYY/MM/DD HH:mm:ss'),\r\n };\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.isLoadingValue;\r\n }\r\n\r\n setIsLoading(isLoading: boolean): void {\r\n this.isLoadingValue = isLoading;\r\n }\r\n\r\n getData(): void {\r\n if (this.isLoading && !this.isFirstLoading) {\r\n return;\r\n }\r\n this.isFirstLoading = false;\r\n this.setIsLoading(true);\r\n this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe(\r\n (data) => {\r\n this.data = this.data.fromJson(data);\r\n this.setIsLoading(false);\r\n this.afterData();\r\n this.onDataLoaded.emit(this.data);\r\n },\r\n (error) => {\r\n if (this.onError) {\r\n this.onError.emit(error);\r\n }\r\n this.errorCb(error);\r\n }\r\n );\r\n }\r\n\r\n setData(data: any): void {\r\n this.data = this.data.fromJson(data);\r\n this.onDataLoaded.emit(this.data);\r\n }\r\n\r\n afterData(): void {}\r\n\r\n errorCb(error: HttpErrorResponse): void {}\r\n\r\n ngOnDestroy(): void {\r\n if (this.dataSubscriber) {\r\n this.dataSubscriber.unsubscribe();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.autoInit) {\r\n this.getData();\r\n }\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n trackByIdFn(index, item) {\r\n return item.id;\r\n }\r\n\r\n changeSelectedOption(selectedOption: any): void {\r\n this.selectedOption = selectedOption;\r\n this.getData();\r\n }\r\n}\r\n","import { TypeResponseInterface } from '../interfaces/type-response.interface';\n\nexport abstract class TypeResponse implements TypeResponseInterface {\n public dates: Dates;\n\n public fromJson(json: any): TypeResponseInterface {\n const object = Object.assign(this, json);\n object.dates = new Dates(json?.dates?.from * 1000, json?.dates?.to * 1000);\n return object;\n }\n}\n\nexport class Dates {\n constructor(public from: number, public to: number) {}\n}\n"]}
|
|
@@ -14,7 +14,8 @@ export class GtdNgWidgetComponentAbstract {
|
|
|
14
14
|
this.selectedOption = {};
|
|
15
15
|
this.onError = new EventEmitter();
|
|
16
16
|
this.onDataLoaded = new EventEmitter();
|
|
17
|
-
this.isLoadingValue =
|
|
17
|
+
this.isLoadingValue = true;
|
|
18
|
+
this.isFirstLoading = true;
|
|
18
19
|
this.widgetDataService = new DataService();
|
|
19
20
|
}
|
|
20
21
|
getKey() {
|
|
@@ -41,9 +42,10 @@ export class GtdNgWidgetComponentAbstract {
|
|
|
41
42
|
this.isLoadingValue = isLoading;
|
|
42
43
|
}
|
|
43
44
|
getData() {
|
|
44
|
-
if (this.isLoading) {
|
|
45
|
+
if (this.isLoading && !this.isFirstLoading) {
|
|
45
46
|
return;
|
|
46
47
|
}
|
|
48
|
+
this.isFirstLoading = false;
|
|
47
49
|
this.setIsLoading(true);
|
|
48
50
|
this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe((data) => {
|
|
49
51
|
this.data = this.data.fromJson(data);
|
|
@@ -96,4 +98,4 @@ GtdNgWidgetComponentAbstract.propDecorators = {
|
|
|
96
98
|
onError: [{ type: Output }],
|
|
97
99
|
onDataLoaded: [{ type: Output }]
|
|
98
100
|
};
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3RkLW5nLXdpZGdldC1jb21wb25lbnQuYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2d0ZC1uZy13aWRnZXQtY29tcG9uZW50LmFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBYyxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl0RCwyQkFBMkI7QUFDM0IsTUFBTSxPQUFnQiw0QkFBNEI7SUFGbEQ7UUFHVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsVUFBSyxHQUFRO1lBQ3BCLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNuQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDOUIsQ0FBQztRQUNPLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHcEMsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsc0JBQWlCLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUEwRjdELENBQUM7SUF2RkMsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsV0FBVztRQUNULHVDQUNLLElBQUksQ0FBQyxRQUFRLEdBQ2IsSUFBSSxDQUFDLGNBQWMsRUFDdEI7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QUlMLEtBQUs7NkJBQ0wsS0FBSztzQkFDTCxNQUFNOzJCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUeXBlUmVzcG9uc2VJbnRlcmZhY2UgfSBmcm9tICcuL3NlcnZpY2VzL2ludGVyZmFjZXMvdHlwZS1yZXNwb25zZS5pbnRlcmZhY2UnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR3RkTmdXaWRnZXRDb21wb25lbnRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgYXV0b0luaXQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXR0aW5nczogYW55ID0ge307XHJcbiAgQElucHV0KCkgZGF0ZXM6IGFueSA9IHtcclxuICAgIGZyb206IG1vbWVudC51dGMoKS5zdGFydE9mKCdtb250aCcpLFxyXG4gICAgdG86IG1vbWVudC51dGMoKS5lbmRPZignZGF5JyksXHJcbiAgfTtcclxuICBASW5wdXQoKSBvcHRpb25zID0ge307XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRPcHRpb24gPSB7fTtcclxuICBAT3V0cHV0KCkgb25FcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25EYXRhTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBrZXk6IHN0cmluZztcclxuICBwdWJsaWMgYWJzdHJhY3QgZGF0YTogVHlwZVJlc3BvbnNlSW50ZXJmYWNlO1xyXG4gIHByaXZhdGUgaXNMb2FkaW5nVmFsdWUgPSB0cnVlO1xyXG4gIHByaXZhdGUgaXNGaXJzdExvYWRpbmcgPSB0cnVlO1xyXG4gIHByaXZhdGUgd2lkZ2V0RGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlID0gbmV3IERhdGFTZXJ2aWNlKCk7XHJcbiAgcHJpdmF0ZSBkYXRhU3Vic2NyaWJlcjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBnZXRLZXkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmtleTtcclxuICB9XHJcblxyXG4gIGdldFNldHRpbmdzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi50aGlzLnNldHRpbmdzLFxyXG4gICAgICAuLi50aGlzLnNlbGVjdGVkT3B0aW9uLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldERhdGVzKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlcztcclxuICB9XHJcblxyXG4gIGdldENvbmZpZygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgd2lkZ2V0OiB0aGlzLmdldEtleSgpLFxyXG4gICAgICBzZXR0aW5nczogdGhpcy5nZXRTZXR0aW5ncygpLFxyXG4gICAgICBmcm9tOiB0aGlzLmdldERhdGVzKCkuZnJvbS5mb3JtYXQoJ1lZWVkvTU0vREQgSEg6bW06c3MnKSxcclxuICAgICAgdG86IHRoaXMuZ2V0RGF0ZXMoKS50by5mb3JtYXQoJ1lZWVkvTU0vREQgSEg6bW06c3MnKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nVmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRJc0xvYWRpbmcoaXNMb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZ1ZhbHVlID0gaXNMb2FkaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzTG9hZGluZyAmJiAhdGhpcy5pc0ZpcnN0TG9hZGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzRmlyc3RMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLnNldElzTG9hZGluZyh0cnVlKTtcclxuICAgIHRoaXMuZGF0YVN1YnNjcmliZXIgPSB0aGlzLndpZGdldERhdGFTZXJ2aWNlLmRhdGEodGhpcy5nZXRDb25maWcoKSkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5mcm9tSnNvbihkYXRhKTtcclxuICAgICAgICB0aGlzLnNldElzTG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5hZnRlckRhdGEoKTtcclxuICAgICAgICB0aGlzLm9uRGF0YUxvYWRlZC5lbWl0KHRoaXMuZGF0YSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm9uRXJyb3IpIHtcclxuICAgICAgICAgIHRoaXMub25FcnJvci5lbWl0KGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5lcnJvckNiKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldERhdGEoZGF0YTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuZnJvbUpzb24oZGF0YSk7XHJcbiAgICB0aGlzLm9uRGF0YUxvYWRlZC5lbWl0KHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBhZnRlckRhdGEoKTogdm9pZCB7fVxyXG5cclxuICBlcnJvckNiKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IHZvaWQge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kYXRhU3Vic2NyaWJlcikge1xyXG4gICAgICB0aGlzLmRhdGFTdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvSW5pdCkge1xyXG4gICAgICB0aGlzLmdldERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSkge1xyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUlkRm4oaW5kZXgsIGl0ZW0pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU2VsZWN0ZWRPcHRpb24oc2VsZWN0ZWRPcHRpb246IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IHNlbGVjdGVkT3B0aW9uO1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -95,7 +95,8 @@ class GtdNgWidgetComponentAbstract {
|
|
|
95
95
|
this.selectedOption = {};
|
|
96
96
|
this.onError = new EventEmitter();
|
|
97
97
|
this.onDataLoaded = new EventEmitter();
|
|
98
|
-
this.isLoadingValue =
|
|
98
|
+
this.isLoadingValue = true;
|
|
99
|
+
this.isFirstLoading = true;
|
|
99
100
|
this.widgetDataService = new DataService();
|
|
100
101
|
}
|
|
101
102
|
getKey() {
|
|
@@ -122,9 +123,10 @@ class GtdNgWidgetComponentAbstract {
|
|
|
122
123
|
this.isLoadingValue = isLoading;
|
|
123
124
|
}
|
|
124
125
|
getData() {
|
|
125
|
-
if (this.isLoading) {
|
|
126
|
+
if (this.isLoading && !this.isFirstLoading) {
|
|
126
127
|
return;
|
|
127
128
|
}
|
|
129
|
+
this.isFirstLoading = false;
|
|
128
130
|
this.setIsLoading(true);
|
|
129
131
|
this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe((data) => {
|
|
130
132
|
this.data = this.data.fromJson(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtd-ng-widget.js","sources":["../../src/lib/api.config.ts","../../src/lib/services/widgets.service.ts","../../src/lib/gtd-ng-widget.module.ts","../../src/lib/services/data.service.ts","../../src/lib/gtd-ng-widget-component.abstract.ts","../../src/lib/services/responses/type.response.ts","../../src/public-api.ts","../../src/gtd-ng-widget.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const API_CONFIG = new InjectionToken<{ api: string }>('ApiConfig');\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\n\n@Injectable()\nexport class WidgetsService {\n constructor(@Inject(API_CONFIG) private apiConfig: any, private http: HttpClient) {}\n\n dataBatched(widgetConfigs: any[]): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http\n .post(this.apiConfig.api + '/widget/dataBatched', {\n widgets: widgetConfigs,\n })\n .pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { API_CONFIG } from './api.config';\nimport { WidgetsService } from './services/widgets.service';\n\nexport let InjectorInstance: Injector;\n\n@NgModule({\n declarations: [],\n imports: [HttpClientModule, CommonModule],\n exports: [],\n})\nexport class GtdNgWidgetModule {\n constructor(private injector: Injector) {\n InjectorInstance = this.injector;\n }\n\n static forRoot(apiConfig): ModuleWithProviders<GtdNgWidgetModule> {\n return {\n ngModule: GtdNgWidgetModule,\n providers: [\n WidgetsService,\n {\n provide: API_CONFIG,\n useValue: apiConfig,\n },\n ],\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\nimport { InjectorInstance } from '../gtd-ng-widget.module';\n\n@Injectable()\nexport class DataService {\n private http: HttpClient;\n private apiConfig: any;\n\n constructor() {\n this.http = InjectorInstance.get<HttpClient>(HttpClient);\n this.apiConfig = InjectorInstance.get<{ api: string }>(API_CONFIG);\n }\n\n public data(dataConfig: any): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http.post(this.apiConfig.api + '/widget/data', dataConfig).pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { AfterViewInit, Directive, EventEmitter, Injectable, Input, OnDestroy, Output } from '@angular/core';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { DataService } from './services/data.service';\nimport { TypeResponseInterface } from './services/interfaces/type-response.interface';\n\n@Directive()\n// tslint:disable-next-line\nexport abstract class GtdNgWidgetComponentAbstract implements OnDestroy, AfterViewInit {\n @Input() autoInit = false;\n @Input() settings: any = {};\n @Input() dates: any = {\n from: moment.utc().startOf('month'),\n to: moment.utc().endOf('day'),\n };\n @Input() options = {};\n @Input() selectedOption = {};\n @Output() onError = new EventEmitter();\n @Output() onDataLoaded = new EventEmitter();\n protected abstract readonly key: string;\n public abstract data: TypeResponseInterface;\n private isLoadingValue = false;\n private widgetDataService: DataService = new DataService();\n private dataSubscriber: Subscription;\n\n getKey(): string {\n return this.key;\n }\n\n getSettings(): string {\n return {\n ...this.settings,\n ...this.selectedOption,\n };\n }\n\n getDates(): any {\n return this.dates;\n }\n\n getConfig(): any {\n return {\n widget: this.getKey(),\n settings: this.getSettings(),\n from: this.getDates().from.format('YYYY/MM/DD HH:mm:ss'),\n to: this.getDates().to.format('YYYY/MM/DD HH:mm:ss'),\n };\n }\n\n get isLoading(): boolean {\n return this.isLoadingValue;\n }\n\n setIsLoading(isLoading: boolean): void {\n this.isLoadingValue = isLoading;\n }\n\n getData(): void {\n if (this.isLoading) {\n return;\n }\n this.setIsLoading(true);\n this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe(\n (data) => {\n this.data = this.data.fromJson(data);\n this.setIsLoading(false);\n this.afterData();\n this.onDataLoaded.emit(this.data);\n },\n (error) => {\n if (this.onError) {\n this.onError.emit(error);\n }\n this.errorCb(error);\n }\n );\n }\n\n setData(data: any): void {\n this.data = this.data.fromJson(data);\n this.onDataLoaded.emit(this.data);\n }\n\n afterData(): void {}\n\n errorCb(error: HttpErrorResponse): void {}\n\n ngOnDestroy(): void {\n if (this.dataSubscriber) {\n this.dataSubscriber.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n if (this.autoInit) {\n this.getData();\n }\n }\n\n trackByFn(index, item) {\n return index;\n }\n\n trackByIdFn(index, item) {\n return item.id;\n }\n\n changeSelectedOption(selectedOption: any): void {\n this.selectedOption = selectedOption;\n this.getData();\n }\n}\n","import { TypeResponseInterface } from '../interfaces/type-response.interface';\n\nexport abstract class TypeResponse implements TypeResponseInterface {\n public dates: Dates;\n\n public fromJson(json: any): TypeResponseInterface {\n const object = Object.assign(this, json);\n object.dates = new Dates(json?.dates?.from * 1000, json?.dates?.to * 1000);\n return object;\n }\n}\n\nexport class Dates {\n constructor(public from: number, public to: number) {}\n}\n","/*\n * Public API Surface of gtd-ng-table\n */\n\nexport * from './lib/services/widgets.service';\nexport * from './lib/gtd-ng-widget.module';\nexport * from './lib/services/interfaces/type-response.interface';\nexport * from './lib/gtd-ng-widget-component.abstract';\nexport * from './lib/services/responses/type.response';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {API_CONFIG as ɵa} from './lib/api.config';"],"names":["moment.utc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gtd-ng-widget.js","sources":["../../src/lib/api.config.ts","../../src/lib/services/widgets.service.ts","../../src/lib/gtd-ng-widget.module.ts","../../src/lib/services/data.service.ts","../../src/lib/gtd-ng-widget-component.abstract.ts","../../src/lib/services/responses/type.response.ts","../../src/public-api.ts","../../src/gtd-ng-widget.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const API_CONFIG = new InjectionToken<{ api: string }>('ApiConfig');\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\n\n@Injectable()\nexport class WidgetsService {\n constructor(@Inject(API_CONFIG) private apiConfig: any, private http: HttpClient) {}\n\n dataBatched(widgetConfigs: any[]): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http\n .post(this.apiConfig.api + '/widget/dataBatched', {\n widgets: widgetConfigs,\n })\n .pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { API_CONFIG } from './api.config';\nimport { WidgetsService } from './services/widgets.service';\n\nexport let InjectorInstance: Injector;\n\n@NgModule({\n declarations: [],\n imports: [HttpClientModule, CommonModule],\n exports: [],\n})\nexport class GtdNgWidgetModule {\n constructor(private injector: Injector) {\n InjectorInstance = this.injector;\n }\n\n static forRoot(apiConfig): ModuleWithProviders<GtdNgWidgetModule> {\n return {\n ngModule: GtdNgWidgetModule,\n providers: [\n WidgetsService,\n {\n provide: API_CONFIG,\n useValue: apiConfig,\n },\n ],\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { API_CONFIG } from '../api.config';\nimport { InjectorInstance } from '../gtd-ng-widget.module';\n\n@Injectable()\nexport class DataService {\n private http: HttpClient;\n private apiConfig: any;\n\n constructor() {\n this.http = InjectorInstance.get<HttpClient>(HttpClient);\n this.apiConfig = InjectorInstance.get<{ api: string }>(API_CONFIG);\n }\n\n public data(dataConfig: any): Observable<any> {\n if (this.apiConfig && this.apiConfig.api) {\n return this.http.post(this.apiConfig.api + '/widget/data', dataConfig).pipe(\n share(),\n map((r: any) => r.data)\n );\n } else {\n return throwError('no api config');\n }\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { AfterViewInit, Directive, EventEmitter, Injectable, Input, OnDestroy, Output } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { Subscription } from 'rxjs';\r\nimport { DataService } from './services/data.service';\r\nimport { TypeResponseInterface } from './services/interfaces/type-response.interface';\r\n\r\n@Directive()\r\n// tslint:disable-next-line\r\nexport abstract class GtdNgWidgetComponentAbstract implements OnDestroy, AfterViewInit {\r\n @Input() autoInit = false;\r\n @Input() settings: any = {};\r\n @Input() dates: any = {\r\n from: moment.utc().startOf('month'),\r\n to: moment.utc().endOf('day'),\r\n };\r\n @Input() options = {};\r\n @Input() selectedOption = {};\r\n @Output() onError = new EventEmitter();\r\n @Output() onDataLoaded = new EventEmitter();\r\n protected abstract readonly key: string;\r\n public abstract data: TypeResponseInterface;\r\n private isLoadingValue = true;\r\n private isFirstLoading = true;\r\n private widgetDataService: DataService = new DataService();\r\n private dataSubscriber: Subscription;\r\n\r\n getKey(): string {\r\n return this.key;\r\n }\r\n\r\n getSettings(): string {\r\n return {\r\n ...this.settings,\r\n ...this.selectedOption,\r\n };\r\n }\r\n\r\n getDates(): any {\r\n return this.dates;\r\n }\r\n\r\n getConfig(): any {\r\n return {\r\n widget: this.getKey(),\r\n settings: this.getSettings(),\r\n from: this.getDates().from.format('YYYY/MM/DD HH:mm:ss'),\r\n to: this.getDates().to.format('YYYY/MM/DD HH:mm:ss'),\r\n };\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.isLoadingValue;\r\n }\r\n\r\n setIsLoading(isLoading: boolean): void {\r\n this.isLoadingValue = isLoading;\r\n }\r\n\r\n getData(): void {\r\n if (this.isLoading && !this.isFirstLoading) {\r\n return;\r\n }\r\n this.isFirstLoading = false;\r\n this.setIsLoading(true);\r\n this.dataSubscriber = this.widgetDataService.data(this.getConfig()).subscribe(\r\n (data) => {\r\n this.data = this.data.fromJson(data);\r\n this.setIsLoading(false);\r\n this.afterData();\r\n this.onDataLoaded.emit(this.data);\r\n },\r\n (error) => {\r\n if (this.onError) {\r\n this.onError.emit(error);\r\n }\r\n this.errorCb(error);\r\n }\r\n );\r\n }\r\n\r\n setData(data: any): void {\r\n this.data = this.data.fromJson(data);\r\n this.onDataLoaded.emit(this.data);\r\n }\r\n\r\n afterData(): void {}\r\n\r\n errorCb(error: HttpErrorResponse): void {}\r\n\r\n ngOnDestroy(): void {\r\n if (this.dataSubscriber) {\r\n this.dataSubscriber.unsubscribe();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.autoInit) {\r\n this.getData();\r\n }\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n trackByIdFn(index, item) {\r\n return item.id;\r\n }\r\n\r\n changeSelectedOption(selectedOption: any): void {\r\n this.selectedOption = selectedOption;\r\n this.getData();\r\n }\r\n}\r\n","import { TypeResponseInterface } from '../interfaces/type-response.interface';\n\nexport abstract class TypeResponse implements TypeResponseInterface {\n public dates: Dates;\n\n public fromJson(json: any): TypeResponseInterface {\n const object = Object.assign(this, json);\n object.dates = new Dates(json?.dates?.from * 1000, json?.dates?.to * 1000);\n return object;\n }\n}\n\nexport class Dates {\n constructor(public from: number, public to: number) {}\n}\n","/*\n * Public API Surface of gtd-ng-table\n */\n\nexport * from './lib/services/widgets.service';\nexport * from './lib/gtd-ng-widget.module';\nexport * from './lib/services/interfaces/type-response.interface';\nexport * from './lib/gtd-ng-widget-component.abstract';\nexport * from './lib/services/responses/type.response';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {API_CONFIG as ɵa} from './lib/api.config';"],"names":["moment.utc"],"mappings":"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"}
|
|
Binary file
|
|
@@ -12,6 +12,7 @@ export declare abstract class GtdNgWidgetComponentAbstract implements OnDestroy,
|
|
|
12
12
|
protected abstract readonly key: string;
|
|
13
13
|
abstract data: TypeResponseInterface;
|
|
14
14
|
private isLoadingValue;
|
|
15
|
+
private isFirstLoading;
|
|
15
16
|
private widgetDataService;
|
|
16
17
|
private dataSubscriber;
|
|
17
18
|
getKey(): string;
|
package/package.json
CHANGED
package/gtd-ng-widget-11.0.6.tgz
DELETED
|
Binary file
|