icon-label-d3 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://icon-label-d3/lib/icon-label-d3.service.ts","ng://icon-label-d3/lib/icon-label-d3.component.ts","ng://icon-label-d3/lib/icon-label-d3.module.ts"],"names":["IconLabelD3Service","Injectable","args","providedIn","IconLabelD3Component","_this","this","debug","title","setTimeout","applayIconCanvas","makeSvg","element","d3.select","nativeElement","append","attr","selectAll","data","enter","prototype","console","log","iconsElements","map","identifier","replace","svg","dataElement","collection","find","item","point","document","createElementNS","d3.namespaces","style","width","heigth","draw","fill","identifier_1","Component","selector","template","Input","ViewChildren","IconLabelD3Module","NgModule","declarations","imports","CommonModule","exports"],"mappings":"wWAAA,IAAAA,EAAA,WAOE,SAAAA,gCALDC,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,wJAHd,GCAAC,EAAA,WA8BE,SAAAA,IAAA,IAAAC,EAAAC,KAMSA,KAAAC,OAAQ,EACRD,KAAAE,MAAQ,YANfC,YAAU,WACRJ,EAAKK,qBACJ,IA6CP,OArCiBN,EAAAO,QAAf,SAAuBC,GACrB,OAAOC,EAAAA,OAAUD,EAAQE,eACtBC,OAAO,OACPC,KAAK,QAAS,QACdA,KAAK,SAAU,QACfD,OAAO,KACPC,KAAK,YAAa,uBAClBC,UAAU,OACVC,KAAK,CAAC,IACNC,SAGGf,EAAAgB,UAAAV,iBAAR,WAAA,IAAAL,EAAAC,KACMA,KAAKC,OACPc,QAAQC,IAAI,CAACC,cAAejB,KAAKiB,gBAEnCjB,KAAKiB,cAAcC,KAAG,SAAEZ,OAChBa,EAAab,EAAQE,cAAcN,MAAMkB,QAAQ,QAAS,IAC1DC,EAAMvB,EAAqBO,QAAQC,GACnCgB,EAAcvB,EAAKwB,WAAWC,MAAI,SAACC,GAAQ,OAAAA,EAAKN,cAAgBA,KAChEO,EAAQL,EAAIZ,QAAM,WAAO,OAAAkB,SAASC,gBAAgBC,EAAAA,WAAcR,IAAK,cAW3E,GATItB,EAAKE,OACPc,QAAQC,IAAI,CAACO,WAAYxB,EAAKwB,WAAYJ,WAAUA,EAAEG,YAAWA,IAGnEI,EAAMhB,KAAK,QAASY,EAAYQ,MAAMC,OACnCrB,KAAK,SAAUY,EAAYQ,MAAME,QACjCtB,KAAK,SAAUY,EAAYW,MAC3BH,MAAM,OAAQR,EAAYY,MAEzBnC,EAAKE,MAAO,CACP,IAAA6B,EAAAR,EAAAQ,MAAOG,EAAAX,EAAAW,KAAMC,EAAAZ,EAAAY,KAAMC,EAAAb,EAAAH,WAC1BJ,QAAQC,IAAI,CAACc,MAAKA,EAAEG,KAAIA,EAAEC,KAAIA,EAAEf,WAAUgB,6BArEjDC,EAAAA,UAASxC,KAAA,CAAC,CACTyC,SAAU,oBACVC,SAAU,43/GA6BTC,EAAAA,qBACAA,EAAAA,0BACAA,EAAAA,6BACAC,EAAAA,aAAY5C,KAAA,CAAC,UAuChBE,EA9EA,GCAA,IAAA2C,EAAA,WAMA,SAAAA,KAOiC,2BAPhCC,EAAAA,SAAQ9C,KAAA,CAAC,CACR+C,aAAc,CAAC7C,GACf8C,QAAS,CACPC,EAAAA,cAEFC,QAAS,CAAChD,OAEqB2C,EAbjC","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconLabelD3Service {\n\n constructor() { }\n}\n","import {Component, ElementRef, Input, QueryList, ViewChildren} from '@angular/core';\nimport * as d3 from 'd3';\n\nimport {StructLabelItemInterface} from './interfaces/struct-label-item-interface';\n\n@Component({\n selector: 'ngx-icon-label-d3',\n template: `\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"text-center\">\n <label>{{title}}: </label>\n <label\n *ngFor=\"let item of collection; let indx = index;\">\n <span *ngIf=\"indx!==0\">,</span>\n <span style=\"width: 10px; height: 10px; position: absolute;\"\n #cmp\n title=\"icon_{{item.identifier}}\"></span>\n <strong style=\"margin-left: 10px;\">\n {{item.name}}\n </strong>\n </label>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.css']\n})\nexport class IconLabelD3Component {\n\n constructor() {\n setTimeout(() => {\n this.applayIconCanvas();\n }, 50);\n }\n\n @Input() debug = false;\n @Input() title = 'Etiquetas';\n @Input() collection: Array<StructLabelItemInterface>;\n @ViewChildren('cmp') iconsElements: QueryList<ElementRef>;\n\n private static makeSvg(element: ElementRef<any>) {\n return d3.select(element.nativeElement)\n .append('svg')\n .attr('width', '100%')\n .attr('height', '100%')\n .append('g')\n .attr('clip-path', 'url(#chart-content)')\n .selectAll('svg')\n .data([0])\n .enter();\n }\n\n private applayIconCanvas() {\n if (this.debug) {\n console.log({iconsElements: this.iconsElements});\n }\n this.iconsElements.map((element) => {\n const identifier = element.nativeElement.title.replace('icon_', '');\n const svg = IconLabelD3Component.makeSvg(element);\n const dataElement = this.collection.find(item => item.identifier === +identifier);\n const point = svg.append(() => document.createElementNS(d3.namespaces.svg, 'polygon'));\n\n if (this.debug) {\n console.log({collection: this.collection, identifier, dataElement});\n }\n\n point.attr('width', dataElement.style.width)\n .attr('heigth', dataElement.style.heigth)\n .attr('points', dataElement.draw)\n .style('fill', dataElement.fill);\n\n if (this.debug) {\n const {style, draw, fill, identifier} = dataElement;\n console.log({style, draw, fill, identifier});\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { IconLabelD3Component } from './icon-label-d3.component';\nimport {CommonModule} from '@angular/common';\n\n\n\n@NgModule({\n declarations: [IconLabelD3Component],\n imports: [\n CommonModule\n ],\n exports: [IconLabelD3Component]\n})\nexport class IconLabelD3Module { }\n"]}
1
+ {"version":3,"sources":["ng://icon-label-d3/lib/icon-label-d3.service.ts","ng://icon-label-d3/lib/icon-label-d3.component.ts","ng://icon-label-d3/lib/icon-label-d3.module.ts"],"names":["IconLabelD3Service","Injectable","args","providedIn","IconLabelD3Component","this","debug","title","makeSvg","element","d3.select","nativeElement","append","attr","selectAll","data","enter","prototype","ngOnChanges","chamges","_this","setTimeout","applayIconCanvas","console","log","iconsElements","length","map","identifier","replace","svg","dataElement","collection","find","item","point","document","createElementNS","d3.namespaces","style","width","heigth","draw","fill","identifier_1","Component","selector","template","Input","ViewChildren","IconLabelD3Module","NgModule","declarations","imports","CommonModule","exports"],"mappings":"wWAAA,IAAAA,EAAA,WAOE,SAAAA,gCALDC,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,wJAHd,GCAAC,EAAA,WA8BE,SAAAA,IAISC,KAAAC,OAAQ,EACRD,KAAAE,MAAQ,YAgDnB,OA5CiBH,EAAAI,QAAf,SAAuBC,GACrB,OAAOC,EAAAA,OAAUD,EAAQE,eACtBC,OAAO,OACPC,KAAK,QAAS,QACdA,KAAK,SAAU,QACfD,OAAO,KACPC,KAAK,YAAa,uBAClBC,UAAU,OACVC,KAAK,CAAC,IACNC,SAGLZ,EAAAa,UAAAC,YAAA,SAAYC,GAAZ,IAAAC,EAAAf,KACEgB,YAAU,WACRD,EAAKE,qBACJ,KAGGlB,EAAAa,UAAAK,iBAAR,WAAA,IAAAF,EAAAf,KACMA,KAAKC,OACPiB,QAAQC,IAAI,CAACC,cAAepB,KAAKoB,cAAeC,OAAQrB,KAAKoB,cAAcC,SAE7ErB,KAAKoB,cAAcE,KAAG,SAAElB,OAChBmB,EAAanB,EAAQE,cAAcJ,MAAMsB,QAAQ,QAAS,IAC1DC,EAAM1B,EAAqBI,QAAQC,GACnCsB,EAAcX,EAAKY,WAAWC,MAAI,SAACC,GAAQ,OAAAA,EAAKN,cAAgBA,KAChEO,EAAQL,EAAIlB,QAAM,WAAO,OAAAwB,SAASC,gBAAgBC,EAAAA,WAAcR,IAAK,cAW3E,GATIV,EAAKd,OACPiB,QAAQC,IAAI,CAACQ,WAAYZ,EAAKY,WAAYJ,WAAUA,EAAEG,YAAWA,IAGnEI,EAAMtB,KAAK,QAASkB,EAAYQ,MAAMC,OACnC3B,KAAK,SAAUkB,EAAYQ,MAAME,QACjC5B,KAAK,SAAUkB,EAAYW,MAC3BH,MAAM,OAAQR,EAAYY,MAEzBvB,EAAKd,MAAO,CAEP,IAAAiC,EAAAR,EAAAQ,MAAOG,EAAAX,EAAAW,KAAMC,EAAAZ,EAAAY,KAAMC,EAAAb,EAAAH,WAC1BL,QAAQC,IAAI,CAACe,MAAKA,EAAEG,KAAIA,EAAEC,KAAIA,EAAEf,WAAUgB,6BA1EjDC,EAAAA,UAAS3C,KAAA,CAAC,CACT4C,SAAU,oBACVC,SAAU,43/GA2BTC,EAAAA,qBACAA,EAAAA,0BACAA,EAAAA,6BACAC,EAAAA,aAAY/C,KAAA,CAAC,UA8ChBE,EAnFA,GCAA,IAAA8C,EAAA,WAMA,SAAAA,KAOiC,2BAPhCC,EAAAA,SAAQjD,KAAA,CAAC,CACRkD,aAAc,CAAChD,GACfiD,QAAS,CACPC,EAAAA,cAEFC,QAAS,CAACnD,OAEqB8C,EAbjC","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconLabelD3Service {\n\n constructor() { }\n}\n","import {Component, ElementRef, Input, OnChanges, QueryList, SimpleChanges, ViewChildren} from '@angular/core';\nimport * as d3 from 'd3';\n\nimport {StructLabelItemInterface} from './interfaces/struct-label-item-interface';\n\n@Component({\n selector: 'ngx-icon-label-d3',\n template: `\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"text-center\">\n <label>{{title}}: </label>\n <label\n *ngFor=\"let item of collection; let indx = index;\">\n <span *ngIf=\"indx!==0\">,</span>\n <span style=\"width: 10px; height: 10px; position: absolute;\"\n #cmp\n title=\"icon_{{item.identifier}}\"></span>\n <strong style=\"margin-left: 10px;\">\n {{item.name}}\n </strong>\n </label>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.css']\n})\nexport class IconLabelD3Component implements OnChanges {\n\n constructor() {\n\n }\n\n @Input() debug = false;\n @Input() title = 'Etiquetas';\n @Input() collection: Array<StructLabelItemInterface>;\n @ViewChildren('cmp') iconsElements: QueryList<ElementRef>;\n\n private static makeSvg(element: ElementRef<any>) {\n return d3.select(element.nativeElement)\n .append('svg')\n .attr('width', '100%')\n .attr('height', '100%')\n .append('g')\n .attr('clip-path', 'url(#chart-content)')\n .selectAll('svg')\n .data([0])\n .enter();\n }\n\n ngOnChanges(chamges: SimpleChanges) {\n setTimeout(() => {\n this.applayIconCanvas();\n }, 50);\n }\n\n private applayIconCanvas() {\n if (this.debug) {\n console.log({iconsElements: this.iconsElements, length: this.iconsElements.length});\n }\n this.iconsElements.map((element) => {\n const identifier = element.nativeElement.title.replace('icon_', '');\n const svg = IconLabelD3Component.makeSvg(element);\n const dataElement = this.collection.find(item => item.identifier === +identifier);\n const point = svg.append(() => document.createElementNS(d3.namespaces.svg, 'polygon'));\n\n if (this.debug) {\n console.log({collection: this.collection, identifier, dataElement});\n }\n\n point.attr('width', dataElement.style.width)\n .attr('heigth', dataElement.style.heigth)\n .attr('points', dataElement.draw)\n .style('fill', dataElement.fill);\n\n if (this.debug) {\n // tslint:disable-next-line:no-shadowed-variable\n const {style, draw, fill, identifier} = dataElement;\n console.log({style, draw, fill, identifier});\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { IconLabelD3Component } from './icon-label-d3.component';\nimport {CommonModule} from '@angular/common';\n\n\n\n@NgModule({\n declarations: [IconLabelD3Component],\n imports: [\n CommonModule\n ],\n exports: [IconLabelD3Component]\n})\nexport class IconLabelD3Module { }\n"]}
@@ -8,12 +8,6 @@ export class IconLabelD3Component {
8
8
  constructor() {
9
9
  this.debug = false;
10
10
  this.title = 'Etiquetas';
11
- setTimeout((/**
12
- * @return {?}
13
- */
14
- () => {
15
- this.applayIconCanvas();
16
- }), 50);
17
11
  }
18
12
  /**
19
13
  * @private
@@ -31,13 +25,25 @@ export class IconLabelD3Component {
31
25
  .data([0])
32
26
  .enter();
33
27
  }
28
+ /**
29
+ * @param {?} chamges
30
+ * @return {?}
31
+ */
32
+ ngOnChanges(chamges) {
33
+ setTimeout((/**
34
+ * @return {?}
35
+ */
36
+ () => {
37
+ this.applayIconCanvas();
38
+ }), 50);
39
+ }
34
40
  /**
35
41
  * @private
36
42
  * @return {?}
37
43
  */
38
44
  applayIconCanvas() {
39
45
  if (this.debug) {
40
- console.log({ iconsElements: this.iconsElements });
46
+ console.log({ iconsElements: this.iconsElements, length: this.iconsElements.length });
41
47
  }
42
48
  this.iconsElements.map((/**
43
49
  * @param {?} element
@@ -67,6 +73,7 @@ export class IconLabelD3Component {
67
73
  .attr('points', dataElement.draw)
68
74
  .style('fill', dataElement.fill);
69
75
  if (this.debug) {
76
+ // tslint:disable-next-line:no-shadowed-variable
70
77
  const { style, draw, fill, identifier } = dataElement;
71
78
  console.log({ style, draw, fill, identifier });
72
79
  }
@@ -116,4 +123,4 @@ if (false) {
116
123
  /** @type {?} */
117
124
  IconLabelD3Component.prototype.iconsElements;
118
125
  }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sYWJlbC1kMy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pY29uLWxhYmVsLWQzLyIsInNvdXJjZXMiOlsibGliL2ljb24tbGFiZWwtZDMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBMkJ6QixNQUFNLE9BQU8sb0JBQW9CO0lBRS9CO1FBTVMsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLFVBQUssR0FBRyxXQUFXLENBQUM7UUFOM0IsVUFBVTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQzs7Ozs7O0lBT08sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUF3QjtRQUM3QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQzthQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7YUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7YUFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUM7YUFDeEMsU0FBUyxDQUFDLEtBQUssQ0FBQzthQUNoQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNULEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQzs7Ozs7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRzs7OztRQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7O2tCQUMzQixVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7O2tCQUM3RCxHQUFHLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQzs7a0JBQzNDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7Ozs7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxVQUFVLEVBQUM7O2tCQUMzRSxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQU07OztZQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUM7WUFFdEYsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQzthQUNyRTtZQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUN6QyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUN4QyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7aUJBQ2hDLEtBQUssQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRW5DLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtzQkFDUixFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBQyxHQUFHLFdBQVc7Z0JBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO2FBQzlDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF4RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUOzthQUVGOzs7OztvQkFTRSxLQUFLO29CQUNMLEtBQUs7eUJBQ0wsS0FBSzs0QkFDTCxZQUFZLFNBQUMsS0FBSzs7OztJQUhuQixxQ0FBdUI7O0lBQ3ZCLHFDQUE2Qjs7SUFDN0IsMENBQXFEOztJQUNyRCw2Q0FBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcblxuaW1wb3J0IHtTdHJ1Y3RMYWJlbEl0ZW1JbnRlcmZhY2V9IGZyb20gJy4vaW50ZXJmYWNlcy9zdHJ1Y3QtbGFiZWwtaXRlbS1pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtaWNvbi1sYWJlbC1kMycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICA8bGFiZWw+e3t0aXRsZX19OiA8L2xhYmVsPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sbGVjdGlvbjsgbGV0IGluZHggPSBpbmRleDtcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5keCE9PTBcIj4sPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJ3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7XCJcbiAgICAgICAgICAgICAgICAgICNjbXBcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwiaWNvbl97e2l0ZW0uaWRlbnRpZmllcn19XCI+PC9zcGFuPlxuICAgICAgICAgICAgPHN0cm9uZyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiPlxuICAgICAgICAgICAgICB7e2l0ZW0ubmFtZX19XG4gICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9kaXN0L2Nzcy9ib290c3RyYXAuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSWNvbkxhYmVsRDNDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBsYXlJY29uQ2FudmFzKCk7XG4gICAgfSwgNTApO1xuICB9XG5cbiAgQElucHV0KCkgZGVidWcgPSBmYWxzZTtcbiAgQElucHV0KCkgdGl0bGUgPSAnRXRpcXVldGFzJztcbiAgQElucHV0KCkgY29sbGVjdGlvbjogQXJyYXk8U3RydWN0TGFiZWxJdGVtSW50ZXJmYWNlPjtcbiAgQFZpZXdDaGlsZHJlbignY21wJykgaWNvbnNFbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIHByaXZhdGUgc3RhdGljIG1ha2VTdmcoZWxlbWVudDogRWxlbWVudFJlZjxhbnk+KSB7XG4gICAgcmV0dXJuIGQzLnNlbGVjdChlbGVtZW50Lm5hdGl2ZUVsZW1lbnQpXG4gICAgICAuYXBwZW5kKCdzdmcnKVxuICAgICAgLmF0dHIoJ3dpZHRoJywgJzEwMCUnKVxuICAgICAgLmF0dHIoJ2hlaWdodCcsICcxMDAlJylcbiAgICAgIC5hcHBlbmQoJ2cnKVxuICAgICAgLmF0dHIoJ2NsaXAtcGF0aCcsICd1cmwoI2NoYXJ0LWNvbnRlbnQpJylcbiAgICAgIC5zZWxlY3RBbGwoJ3N2ZycpXG4gICAgICAuZGF0YShbMF0pXG4gICAgICAuZW50ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbGF5SWNvbkNhbnZhcygpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coe2ljb25zRWxlbWVudHM6IHRoaXMuaWNvbnNFbGVtZW50c30pO1xuICAgIH1cbiAgICB0aGlzLmljb25zRWxlbWVudHMubWFwKChlbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LnRpdGxlLnJlcGxhY2UoJ2ljb25fJywgJycpO1xuICAgICAgY29uc3Qgc3ZnID0gSWNvbkxhYmVsRDNDb21wb25lbnQubWFrZVN2ZyhlbGVtZW50KTtcbiAgICAgIGNvbnN0IGRhdGFFbGVtZW50ID0gdGhpcy5jb2xsZWN0aW9uLmZpbmQoaXRlbSA9PiBpdGVtLmlkZW50aWZpZXIgPT09ICtpZGVudGlmaWVyKTtcbiAgICAgIGNvbnN0IHBvaW50ID0gc3ZnLmFwcGVuZCgoKSA9PiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZDMubmFtZXNwYWNlcy5zdmcsICdwb2x5Z29uJykpO1xuXG4gICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICBjb25zb2xlLmxvZyh7Y29sbGVjdGlvbjogdGhpcy5jb2xsZWN0aW9uLCBpZGVudGlmaWVyLCBkYXRhRWxlbWVudH0pO1xuICAgICAgfVxuXG4gICAgICBwb2ludC5hdHRyKCd3aWR0aCcsIGRhdGFFbGVtZW50LnN0eWxlLndpZHRoKVxuICAgICAgICAuYXR0cignaGVpZ3RoJywgZGF0YUVsZW1lbnQuc3R5bGUuaGVpZ3RoKVxuICAgICAgICAuYXR0cigncG9pbnRzJywgZGF0YUVsZW1lbnQuZHJhdylcbiAgICAgICAgLnN0eWxlKCdmaWxsJywgZGF0YUVsZW1lbnQuZmlsbCk7XG5cbiAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgIGNvbnN0IHtzdHlsZSwgZHJhdywgZmlsbCwgaWRlbnRpZmllcn0gPSBkYXRhRWxlbWVudDtcbiAgICAgICAgY29uc29sZS5sb2coe3N0eWxlLCBkcmF3LCBmaWxsLCBpZGVudGlmaWVyfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sYWJlbC1kMy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pY29uLWxhYmVsLWQzLyIsInNvdXJjZXMiOlsibGliL2ljb24tbGFiZWwtZDMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBYSxTQUFTLEVBQWlCLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQTJCekIsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQjtRQUlTLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxVQUFLLEdBQUcsV0FBVyxDQUFDO0lBSDdCLENBQUM7Ozs7OztJQU9PLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBd0I7UUFDN0MsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7YUFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUNiLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO2FBQ3JCLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO2FBQ3RCLE1BQU0sQ0FBQyxHQUFHLENBQUM7YUFDWCxJQUFJLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDO2FBQ3hDLFNBQVMsQ0FBQyxLQUFLLENBQUM7YUFDaEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNiLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLFVBQVU7OztRQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7Ozs7O0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDO1NBQ3JGO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHOzs7O1FBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTs7a0JBQzNCLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQzs7a0JBQzdELEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDOztrQkFDM0MsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTs7OztZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLFVBQVUsRUFBQzs7a0JBQzNFLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBTTs7O1lBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBQztZQUV0RixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO2FBQ3JFO1lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7aUJBQ3pDLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7aUJBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztpQkFDaEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFbkMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFOztzQkFFUixFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBQyxHQUFHLFdBQVc7Z0JBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO2FBQzlDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE3RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUOzthQUVGOzs7OztvQkFPRSxLQUFLO29CQUNMLEtBQUs7eUJBQ0wsS0FBSzs0QkFDTCxZQUFZLFNBQUMsS0FBSzs7OztJQUhuQixxQ0FBdUI7O0lBQ3ZCLHFDQUE2Qjs7SUFDN0IsMENBQXFEOztJQUNyRCw2Q0FBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuXG5pbXBvcnQge1N0cnVjdExhYmVsSXRlbUludGVyZmFjZX0gZnJvbSAnLi9pbnRlcmZhY2VzL3N0cnVjdC1sYWJlbC1pdGVtLWludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1pY29uLWxhYmVsLWQzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxsYWJlbD57e3RpdGxlfX06IDwvbGFiZWw+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2xsZWN0aW9uOyBsZXQgaW5keCA9IGluZGV4O1wiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmR4IT09MFwiPiw8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT1cIndpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTtcIlxuICAgICAgICAgICAgICAgICAgI2NtcFxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJpY29uX3t7aXRlbS5pZGVudGlmaWVyfX1cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3Ryb25nIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHg7XCI+XG4gICAgICAgICAgICAgIHt7aXRlbS5uYW1lfX1cbiAgICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2Rpc3QvY3NzL2Jvb3RzdHJhcC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJY29uTGFiZWxEM0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgfVxuXG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlID0gJ0V0aXF1ZXRhcyc7XG4gIEBJbnB1dCgpIGNvbGxlY3Rpb246IEFycmF5PFN0cnVjdExhYmVsSXRlbUludGVyZmFjZT47XG4gIEBWaWV3Q2hpbGRyZW4oJ2NtcCcpIGljb25zRWxlbWVudHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICBwcml2YXRlIHN0YXRpYyBtYWtlU3ZnKGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55Pikge1xuICAgIHJldHVybiBkMy5zZWxlY3QoZWxlbWVudC5uYXRpdmVFbGVtZW50KVxuICAgICAgLmFwcGVuZCgnc3ZnJylcbiAgICAgIC5hdHRyKCd3aWR0aCcsICcxMDAlJylcbiAgICAgIC5hdHRyKCdoZWlnaHQnLCAnMTAwJScpXG4gICAgICAuYXBwZW5kKCdnJylcbiAgICAgIC5hdHRyKCdjbGlwLXBhdGgnLCAndXJsKCNjaGFydC1jb250ZW50KScpXG4gICAgICAuc2VsZWN0QWxsKCdzdmcnKVxuICAgICAgLmRhdGEoWzBdKVxuICAgICAgLmVudGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFtZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFwcGxheUljb25DYW52YXMoKTtcbiAgICB9LCA1MCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGxheUljb25DYW52YXMoKSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKHtpY29uc0VsZW1lbnRzOiB0aGlzLmljb25zRWxlbWVudHMsIGxlbmd0aDogdGhpcy5pY29uc0VsZW1lbnRzLmxlbmd0aH0pO1xuICAgIH1cbiAgICB0aGlzLmljb25zRWxlbWVudHMubWFwKChlbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LnRpdGxlLnJlcGxhY2UoJ2ljb25fJywgJycpO1xuICAgICAgY29uc3Qgc3ZnID0gSWNvbkxhYmVsRDNDb21wb25lbnQubWFrZVN2ZyhlbGVtZW50KTtcbiAgICAgIGNvbnN0IGRhdGFFbGVtZW50ID0gdGhpcy5jb2xsZWN0aW9uLmZpbmQoaXRlbSA9PiBpdGVtLmlkZW50aWZpZXIgPT09ICtpZGVudGlmaWVyKTtcbiAgICAgIGNvbnN0IHBvaW50ID0gc3ZnLmFwcGVuZCgoKSA9PiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZDMubmFtZXNwYWNlcy5zdmcsICdwb2x5Z29uJykpO1xuXG4gICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICBjb25zb2xlLmxvZyh7Y29sbGVjdGlvbjogdGhpcy5jb2xsZWN0aW9uLCBpZGVudGlmaWVyLCBkYXRhRWxlbWVudH0pO1xuICAgICAgfVxuXG4gICAgICBwb2ludC5hdHRyKCd3aWR0aCcsIGRhdGFFbGVtZW50LnN0eWxlLndpZHRoKVxuICAgICAgICAuYXR0cignaGVpZ3RoJywgZGF0YUVsZW1lbnQuc3R5bGUuaGVpZ3RoKVxuICAgICAgICAuYXR0cigncG9pbnRzJywgZGF0YUVsZW1lbnQuZHJhdylcbiAgICAgICAgLnN0eWxlKCdmaWxsJywgZGF0YUVsZW1lbnQuZmlsbCk7XG5cbiAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICBjb25zdCB7c3R5bGUsIGRyYXcsIGZpbGwsIGlkZW50aWZpZXJ9ID0gZGF0YUVsZW1lbnQ7XG4gICAgICAgIGNvbnNvbGUubG9nKHtzdHlsZSwgZHJhdywgZmlsbCwgaWRlbnRpZmllcn0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -6,15 +6,8 @@ import { Component, Input, QueryList, ViewChildren } from '@angular/core';
6
6
  import * as d3 from 'd3';
7
7
  var IconLabelD3Component = /** @class */ (function () {
8
8
  function IconLabelD3Component() {
9
- var _this = this;
10
9
  this.debug = false;
11
10
  this.title = 'Etiquetas';
12
- setTimeout((/**
13
- * @return {?}
14
- */
15
- function () {
16
- _this.applayIconCanvas();
17
- }), 50);
18
11
  }
19
12
  /**
20
13
  * @private
@@ -37,6 +30,23 @@ var IconLabelD3Component = /** @class */ (function () {
37
30
  .data([0])
38
31
  .enter();
39
32
  };
33
+ /**
34
+ * @param {?} chamges
35
+ * @return {?}
36
+ */
37
+ IconLabelD3Component.prototype.ngOnChanges = /**
38
+ * @param {?} chamges
39
+ * @return {?}
40
+ */
41
+ function (chamges) {
42
+ var _this = this;
43
+ setTimeout((/**
44
+ * @return {?}
45
+ */
46
+ function () {
47
+ _this.applayIconCanvas();
48
+ }), 50);
49
+ };
40
50
  /**
41
51
  * @private
42
52
  * @return {?}
@@ -48,7 +58,7 @@ var IconLabelD3Component = /** @class */ (function () {
48
58
  function () {
49
59
  var _this = this;
50
60
  if (this.debug) {
51
- console.log({ iconsElements: this.iconsElements });
61
+ console.log({ iconsElements: this.iconsElements, length: this.iconsElements.length });
52
62
  }
53
63
  this.iconsElements.map((/**
54
64
  * @param {?} element
@@ -78,6 +88,7 @@ var IconLabelD3Component = /** @class */ (function () {
78
88
  .attr('points', dataElement.draw)
79
89
  .style('fill', dataElement.fill);
80
90
  if (_this.debug) {
91
+ // tslint:disable-next-line:no-shadowed-variable
81
92
  var style = dataElement.style, draw = dataElement.draw, fill = dataElement.fill, identifier_1 = dataElement.identifier;
82
93
  console.log({ style: style, draw: draw, fill: fill, identifier: identifier_1 });
83
94
  }
@@ -111,4 +122,4 @@ if (false) {
111
122
  /** @type {?} */
112
123
  IconLabelD3Component.prototype.iconsElements;
113
124
  }
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sYWJlbC1kMy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pY29uLWxhYmVsLWQzLyIsInNvdXJjZXMiOlsibGliL2ljb24tbGFiZWwtZDMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBSXpCO0lBeUJFO1FBQUEsaUJBSUM7UUFFUSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsVUFBSyxHQUFHLFdBQVcsQ0FBQztRQU4zQixVQUFVOzs7UUFBQztZQUNULEtBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7Ozs7OztJQU9jLDRCQUFPOzs7OztJQUF0QixVQUF1QixPQUF3QjtRQUM3QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQzthQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7YUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7YUFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUM7YUFDeEMsU0FBUyxDQUFDLEtBQUssQ0FBQzthQUNoQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNULEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQzs7Ozs7SUFFTywrQ0FBZ0I7Ozs7SUFBeEI7UUFBQSxpQkF3QkM7UUF2QkMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRzs7OztRQUFDLFVBQUMsT0FBTzs7Z0JBQ3ZCLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQzs7Z0JBQzdELEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDOztnQkFDM0MsV0FBVyxHQUFHLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTs7OztZQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLFVBQVUsRUFBL0IsQ0FBK0IsRUFBQzs7Z0JBQzNFLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBTTs7O1lBQUMsY0FBTSxPQUFBLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQXRELENBQXNELEVBQUM7WUFFdEYsSUFBSSxLQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxVQUFVLEVBQUUsS0FBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLFlBQUEsRUFBRSxXQUFXLGFBQUEsRUFBQyxDQUFDLENBQUM7YUFDckU7WUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDekMsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztpQkFDeEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDO2lCQUNoQyxLQUFLLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVuQyxJQUFJLEtBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1AsSUFBQSx5QkFBSyxFQUFFLHVCQUFJLEVBQUUsdUJBQUksRUFBRSxxQ0FBVTtnQkFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLEtBQUssT0FBQSxFQUFFLElBQUksTUFBQSxFQUFFLElBQUksTUFBQSxFQUFFLFVBQVUsY0FBQSxFQUFDLENBQUMsQ0FBQzthQUM5QztRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBeEVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsc2xCQWtCVDs7aUJBRUY7Ozs7O3dCQVNFLEtBQUs7d0JBQ0wsS0FBSzs2QkFDTCxLQUFLO2dDQUNMLFlBQVksU0FBQyxLQUFLOztJQXVDckIsMkJBQUM7Q0FBQSxBQXpFRCxJQXlFQztTQWxEWSxvQkFBb0I7OztJQVEvQixxQ0FBdUI7O0lBQ3ZCLHFDQUE2Qjs7SUFDN0IsMENBQXFEOztJQUNyRCw2Q0FBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcblxuaW1wb3J0IHtTdHJ1Y3RMYWJlbEl0ZW1JbnRlcmZhY2V9IGZyb20gJy4vaW50ZXJmYWNlcy9zdHJ1Y3QtbGFiZWwtaXRlbS1pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtaWNvbi1sYWJlbC1kMycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICA8bGFiZWw+e3t0aXRsZX19OiA8L2xhYmVsPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sbGVjdGlvbjsgbGV0IGluZHggPSBpbmRleDtcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5keCE9PTBcIj4sPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJ3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7XCJcbiAgICAgICAgICAgICAgICAgICNjbXBcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwiaWNvbl97e2l0ZW0uaWRlbnRpZmllcn19XCI+PC9zcGFuPlxuICAgICAgICAgICAgPHN0cm9uZyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiPlxuICAgICAgICAgICAgICB7e2l0ZW0ubmFtZX19XG4gICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9kaXN0L2Nzcy9ib290c3RyYXAuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSWNvbkxhYmVsRDNDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBsYXlJY29uQ2FudmFzKCk7XG4gICAgfSwgNTApO1xuICB9XG5cbiAgQElucHV0KCkgZGVidWcgPSBmYWxzZTtcbiAgQElucHV0KCkgdGl0bGUgPSAnRXRpcXVldGFzJztcbiAgQElucHV0KCkgY29sbGVjdGlvbjogQXJyYXk8U3RydWN0TGFiZWxJdGVtSW50ZXJmYWNlPjtcbiAgQFZpZXdDaGlsZHJlbignY21wJykgaWNvbnNFbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIHByaXZhdGUgc3RhdGljIG1ha2VTdmcoZWxlbWVudDogRWxlbWVudFJlZjxhbnk+KSB7XG4gICAgcmV0dXJuIGQzLnNlbGVjdChlbGVtZW50Lm5hdGl2ZUVsZW1lbnQpXG4gICAgICAuYXBwZW5kKCdzdmcnKVxuICAgICAgLmF0dHIoJ3dpZHRoJywgJzEwMCUnKVxuICAgICAgLmF0dHIoJ2hlaWdodCcsICcxMDAlJylcbiAgICAgIC5hcHBlbmQoJ2cnKVxuICAgICAgLmF0dHIoJ2NsaXAtcGF0aCcsICd1cmwoI2NoYXJ0LWNvbnRlbnQpJylcbiAgICAgIC5zZWxlY3RBbGwoJ3N2ZycpXG4gICAgICAuZGF0YShbMF0pXG4gICAgICAuZW50ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbGF5SWNvbkNhbnZhcygpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coe2ljb25zRWxlbWVudHM6IHRoaXMuaWNvbnNFbGVtZW50c30pO1xuICAgIH1cbiAgICB0aGlzLmljb25zRWxlbWVudHMubWFwKChlbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LnRpdGxlLnJlcGxhY2UoJ2ljb25fJywgJycpO1xuICAgICAgY29uc3Qgc3ZnID0gSWNvbkxhYmVsRDNDb21wb25lbnQubWFrZVN2ZyhlbGVtZW50KTtcbiAgICAgIGNvbnN0IGRhdGFFbGVtZW50ID0gdGhpcy5jb2xsZWN0aW9uLmZpbmQoaXRlbSA9PiBpdGVtLmlkZW50aWZpZXIgPT09ICtpZGVudGlmaWVyKTtcbiAgICAgIGNvbnN0IHBvaW50ID0gc3ZnLmFwcGVuZCgoKSA9PiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZDMubmFtZXNwYWNlcy5zdmcsICdwb2x5Z29uJykpO1xuXG4gICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICBjb25zb2xlLmxvZyh7Y29sbGVjdGlvbjogdGhpcy5jb2xsZWN0aW9uLCBpZGVudGlmaWVyLCBkYXRhRWxlbWVudH0pO1xuICAgICAgfVxuXG4gICAgICBwb2ludC5hdHRyKCd3aWR0aCcsIGRhdGFFbGVtZW50LnN0eWxlLndpZHRoKVxuICAgICAgICAuYXR0cignaGVpZ3RoJywgZGF0YUVsZW1lbnQuc3R5bGUuaGVpZ3RoKVxuICAgICAgICAuYXR0cigncG9pbnRzJywgZGF0YUVsZW1lbnQuZHJhdylcbiAgICAgICAgLnN0eWxlKCdmaWxsJywgZGF0YUVsZW1lbnQuZmlsbCk7XG5cbiAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgIGNvbnN0IHtzdHlsZSwgZHJhdywgZmlsbCwgaWRlbnRpZmllcn0gPSBkYXRhRWxlbWVudDtcbiAgICAgICAgY29uc29sZS5sb2coe3N0eWxlLCBkcmF3LCBmaWxsLCBpZGVudGlmaWVyfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sYWJlbC1kMy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pY29uLWxhYmVsLWQzLyIsInNvdXJjZXMiOlsibGliL2ljb24tbGFiZWwtZDMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBYSxTQUFTLEVBQWlCLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUl6QjtJQXlCRTtRQUlTLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxVQUFLLEdBQUcsV0FBVyxDQUFDO0lBSDdCLENBQUM7Ozs7OztJQU9jLDRCQUFPOzs7OztJQUF0QixVQUF1QixPQUF3QjtRQUM3QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQzthQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7YUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7YUFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUM7YUFDeEMsU0FBUyxDQUFDLEtBQUssQ0FBQzthQUNoQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNULEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQzs7Ozs7SUFFRCwwQ0FBVzs7OztJQUFYLFVBQVksT0FBc0I7UUFBbEMsaUJBSUM7UUFIQyxVQUFVOzs7UUFBQztZQUNULEtBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7Ozs7O0lBRU8sK0NBQWdCOzs7O0lBQXhCO1FBQUEsaUJBeUJDO1FBeEJDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDO1NBQ3JGO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQyxPQUFPOztnQkFDdkIsVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDOztnQkFDN0QsR0FBRyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7O2dCQUMzQyxXQUFXLEdBQUcsS0FBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJOzs7O1lBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsVUFBVSxFQUEvQixDQUErQixFQUFDOztnQkFDM0UsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNOzs7WUFBQyxjQUFNLE9BQUEsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBdEQsQ0FBc0QsRUFBQztZQUV0RixJQUFJLEtBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLFVBQVUsRUFBRSxLQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsWUFBQSxFQUFFLFdBQVcsYUFBQSxFQUFDLENBQUMsQ0FBQzthQUNyRTtZQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUN6QyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUN4QyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7aUJBQ2hDLEtBQUssQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRW5DLElBQUksS0FBSSxDQUFDLEtBQUssRUFBRTs7Z0JBRVAsSUFBQSx5QkFBSyxFQUFFLHVCQUFJLEVBQUUsdUJBQUksRUFBRSxxQ0FBVTtnQkFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLEtBQUssT0FBQSxFQUFFLElBQUksTUFBQSxFQUFFLElBQUksTUFBQSxFQUFFLFVBQVUsY0FBQSxFQUFDLENBQUMsQ0FBQzthQUM5QztRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBN0VGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsc2xCQWtCVDs7aUJBRUY7Ozs7O3dCQU9FLEtBQUs7d0JBQ0wsS0FBSzs2QkFDTCxLQUFLO2dDQUNMLFlBQVksU0FBQyxLQUFLOztJQThDckIsMkJBQUM7Q0FBQSxBQTlFRCxJQThFQztTQXZEWSxvQkFBb0I7OztJQU0vQixxQ0FBdUI7O0lBQ3ZCLHFDQUE2Qjs7SUFDN0IsMENBQXFEOztJQUNyRCw2Q0FBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuXG5pbXBvcnQge1N0cnVjdExhYmVsSXRlbUludGVyZmFjZX0gZnJvbSAnLi9pbnRlcmZhY2VzL3N0cnVjdC1sYWJlbC1pdGVtLWludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1pY29uLWxhYmVsLWQzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxsYWJlbD57e3RpdGxlfX06IDwvbGFiZWw+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2xsZWN0aW9uOyBsZXQgaW5keCA9IGluZGV4O1wiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmR4IT09MFwiPiw8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT1cIndpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTtcIlxuICAgICAgICAgICAgICAgICAgI2NtcFxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJpY29uX3t7aXRlbS5pZGVudGlmaWVyfX1cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3Ryb25nIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHg7XCI+XG4gICAgICAgICAgICAgIHt7aXRlbS5uYW1lfX1cbiAgICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2Rpc3QvY3NzL2Jvb3RzdHJhcC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJY29uTGFiZWxEM0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgfVxuXG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlID0gJ0V0aXF1ZXRhcyc7XG4gIEBJbnB1dCgpIGNvbGxlY3Rpb246IEFycmF5PFN0cnVjdExhYmVsSXRlbUludGVyZmFjZT47XG4gIEBWaWV3Q2hpbGRyZW4oJ2NtcCcpIGljb25zRWxlbWVudHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICBwcml2YXRlIHN0YXRpYyBtYWtlU3ZnKGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55Pikge1xuICAgIHJldHVybiBkMy5zZWxlY3QoZWxlbWVudC5uYXRpdmVFbGVtZW50KVxuICAgICAgLmFwcGVuZCgnc3ZnJylcbiAgICAgIC5hdHRyKCd3aWR0aCcsICcxMDAlJylcbiAgICAgIC5hdHRyKCdoZWlnaHQnLCAnMTAwJScpXG4gICAgICAuYXBwZW5kKCdnJylcbiAgICAgIC5hdHRyKCdjbGlwLXBhdGgnLCAndXJsKCNjaGFydC1jb250ZW50KScpXG4gICAgICAuc2VsZWN0QWxsKCdzdmcnKVxuICAgICAgLmRhdGEoWzBdKVxuICAgICAgLmVudGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFtZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFwcGxheUljb25DYW52YXMoKTtcbiAgICB9LCA1MCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGxheUljb25DYW52YXMoKSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKHtpY29uc0VsZW1lbnRzOiB0aGlzLmljb25zRWxlbWVudHMsIGxlbmd0aDogdGhpcy5pY29uc0VsZW1lbnRzLmxlbmd0aH0pO1xuICAgIH1cbiAgICB0aGlzLmljb25zRWxlbWVudHMubWFwKChlbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LnRpdGxlLnJlcGxhY2UoJ2ljb25fJywgJycpO1xuICAgICAgY29uc3Qgc3ZnID0gSWNvbkxhYmVsRDNDb21wb25lbnQubWFrZVN2ZyhlbGVtZW50KTtcbiAgICAgIGNvbnN0IGRhdGFFbGVtZW50ID0gdGhpcy5jb2xsZWN0aW9uLmZpbmQoaXRlbSA9PiBpdGVtLmlkZW50aWZpZXIgPT09ICtpZGVudGlmaWVyKTtcbiAgICAgIGNvbnN0IHBvaW50ID0gc3ZnLmFwcGVuZCgoKSA9PiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZDMubmFtZXNwYWNlcy5zdmcsICdwb2x5Z29uJykpO1xuXG4gICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICBjb25zb2xlLmxvZyh7Y29sbGVjdGlvbjogdGhpcy5jb2xsZWN0aW9uLCBpZGVudGlmaWVyLCBkYXRhRWxlbWVudH0pO1xuICAgICAgfVxuXG4gICAgICBwb2ludC5hdHRyKCd3aWR0aCcsIGRhdGFFbGVtZW50LnN0eWxlLndpZHRoKVxuICAgICAgICAuYXR0cignaGVpZ3RoJywgZGF0YUVsZW1lbnQuc3R5bGUuaGVpZ3RoKVxuICAgICAgICAuYXR0cigncG9pbnRzJywgZGF0YUVsZW1lbnQuZHJhdylcbiAgICAgICAgLnN0eWxlKCdmaWxsJywgZGF0YUVsZW1lbnQuZmlsbCk7XG5cbiAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICBjb25zdCB7c3R5bGUsIGRyYXcsIGZpbGwsIGlkZW50aWZpZXJ9ID0gZGF0YUVsZW1lbnQ7XG4gICAgICAgIGNvbnNvbGUubG9nKHtzdHlsZSwgZHJhdywgZmlsbCwgaWRlbnRpZmllcn0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -26,12 +26,6 @@ class IconLabelD3Component {
26
26
  constructor() {
27
27
  this.debug = false;
28
28
  this.title = 'Etiquetas';
29
- setTimeout((/**
30
- * @return {?}
31
- */
32
- () => {
33
- this.applayIconCanvas();
34
- }), 50);
35
29
  }
36
30
  /**
37
31
  * @private
@@ -49,13 +43,25 @@ class IconLabelD3Component {
49
43
  .data([0])
50
44
  .enter();
51
45
  }
46
+ /**
47
+ * @param {?} chamges
48
+ * @return {?}
49
+ */
50
+ ngOnChanges(chamges) {
51
+ setTimeout((/**
52
+ * @return {?}
53
+ */
54
+ () => {
55
+ this.applayIconCanvas();
56
+ }), 50);
57
+ }
52
58
  /**
53
59
  * @private
54
60
  * @return {?}
55
61
  */
56
62
  applayIconCanvas() {
57
63
  if (this.debug) {
58
- console.log({ iconsElements: this.iconsElements });
64
+ console.log({ iconsElements: this.iconsElements, length: this.iconsElements.length });
59
65
  }
60
66
  this.iconsElements.map((/**
61
67
  * @param {?} element
@@ -85,6 +91,7 @@ class IconLabelD3Component {
85
91
  .attr('points', dataElement.draw)
86
92
  .style('fill', dataElement.fill);
87
93
  if (this.debug) {
94
+ // tslint:disable-next-line:no-shadowed-variable
88
95
  const { style, draw, fill, identifier } = dataElement;
89
96
  console.log({ style, draw, fill, identifier });
90
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"icon-label-d3.js","sources":["ng://icon-label-d3/lib/icon-label-d3.service.ts","ng://icon-label-d3/lib/icon-label-d3.component.ts","ng://icon-label-d3/lib/icon-label-d3.module.ts","ng://icon-label-d3/lib/interfaces/struct-label-item-interface.ts","ng://icon-label-d3/lib/interfaces/struct-style-libel-item-interface.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconLabelD3Service {\n\n constructor() { }\n}\n","import {Component, ElementRef, Input, QueryList, ViewChildren} from '@angular/core';\nimport * as d3 from 'd3';\n\nimport {StructLabelItemInterface} from './interfaces/struct-label-item-interface';\n\n@Component({\n selector: 'ngx-icon-label-d3',\n template: `\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"text-center\">\n <label>{{title}}: </label>\n <label\n *ngFor=\"let item of collection; let indx = index;\">\n <span *ngIf=\"indx!==0\">,</span>\n <span style=\"width: 10px; height: 10px; position: absolute;\"\n #cmp\n title=\"icon_{{item.identifier}}\"></span>\n <strong style=\"margin-left: 10px;\">\n {{item.name}}\n </strong>\n </label>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.css']\n})\nexport class IconLabelD3Component {\n\n constructor() {\n setTimeout(() => {\n this.applayIconCanvas();\n }, 50);\n }\n\n @Input() debug = false;\n @Input() title = 'Etiquetas';\n @Input() collection: Array<StructLabelItemInterface>;\n @ViewChildren('cmp') iconsElements: QueryList<ElementRef>;\n\n private static makeSvg(element: ElementRef<any>) {\n return d3.select(element.nativeElement)\n .append('svg')\n .attr('width', '100%')\n .attr('height', '100%')\n .append('g')\n .attr('clip-path', 'url(#chart-content)')\n .selectAll('svg')\n .data([0])\n .enter();\n }\n\n private applayIconCanvas() {\n if (this.debug) {\n console.log({iconsElements: this.iconsElements});\n }\n this.iconsElements.map((element) => {\n const identifier = element.nativeElement.title.replace('icon_', '');\n const svg = IconLabelD3Component.makeSvg(element);\n const dataElement = this.collection.find(item => item.identifier === +identifier);\n const point = svg.append(() => document.createElementNS(d3.namespaces.svg, 'polygon'));\n\n if (this.debug) {\n console.log({collection: this.collection, identifier, dataElement});\n }\n\n point.attr('width', dataElement.style.width)\n .attr('heigth', dataElement.style.heigth)\n .attr('points', dataElement.draw)\n .style('fill', dataElement.fill);\n\n if (this.debug) {\n const {style, draw, fill, identifier} = dataElement;\n console.log({style, draw, fill, identifier});\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { IconLabelD3Component } from './icon-label-d3.component';\nimport {CommonModule} from '@angular/common';\n\n\n\n@NgModule({\n declarations: [IconLabelD3Component],\n imports: [\n CommonModule\n ],\n exports: [IconLabelD3Component]\n})\nexport class IconLabelD3Module { }\n","import {StructStyleLibelItemInterface} from './struct-style-libel-item-interface';\n\nexport interface StructLabelItemInterface {\n identifier: number | string;\n name: string;\n fill: string;\n draw: string;\n style: StructStyleLibelItemInterface;\n}\n","export interface StructStyleLibelItemInterface {\n width: string;\n heigth: string;\n}\n"],"names":["d3.select","d3.namespaces"],"mappings":"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"}
1
+ {"version":3,"file":"icon-label-d3.js","sources":["ng://icon-label-d3/lib/icon-label-d3.service.ts","ng://icon-label-d3/lib/icon-label-d3.component.ts","ng://icon-label-d3/lib/icon-label-d3.module.ts","ng://icon-label-d3/lib/interfaces/struct-label-item-interface.ts","ng://icon-label-d3/lib/interfaces/struct-style-libel-item-interface.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconLabelD3Service {\n\n constructor() { }\n}\n","import {Component, ElementRef, Input, OnChanges, QueryList, SimpleChanges, ViewChildren} from '@angular/core';\nimport * as d3 from 'd3';\n\nimport {StructLabelItemInterface} from './interfaces/struct-label-item-interface';\n\n@Component({\n selector: 'ngx-icon-label-d3',\n template: `\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"text-center\">\n <label>{{title}}: </label>\n <label\n *ngFor=\"let item of collection; let indx = index;\">\n <span *ngIf=\"indx!==0\">,</span>\n <span style=\"width: 10px; height: 10px; position: absolute;\"\n #cmp\n title=\"icon_{{item.identifier}}\"></span>\n <strong style=\"margin-left: 10px;\">\n {{item.name}}\n </strong>\n </label>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.css']\n})\nexport class IconLabelD3Component implements OnChanges {\n\n constructor() {\n\n }\n\n @Input() debug = false;\n @Input() title = 'Etiquetas';\n @Input() collection: Array<StructLabelItemInterface>;\n @ViewChildren('cmp') iconsElements: QueryList<ElementRef>;\n\n private static makeSvg(element: ElementRef<any>) {\n return d3.select(element.nativeElement)\n .append('svg')\n .attr('width', '100%')\n .attr('height', '100%')\n .append('g')\n .attr('clip-path', 'url(#chart-content)')\n .selectAll('svg')\n .data([0])\n .enter();\n }\n\n ngOnChanges(chamges: SimpleChanges) {\n setTimeout(() => {\n this.applayIconCanvas();\n }, 50);\n }\n\n private applayIconCanvas() {\n if (this.debug) {\n console.log({iconsElements: this.iconsElements, length: this.iconsElements.length});\n }\n this.iconsElements.map((element) => {\n const identifier = element.nativeElement.title.replace('icon_', '');\n const svg = IconLabelD3Component.makeSvg(element);\n const dataElement = this.collection.find(item => item.identifier === +identifier);\n const point = svg.append(() => document.createElementNS(d3.namespaces.svg, 'polygon'));\n\n if (this.debug) {\n console.log({collection: this.collection, identifier, dataElement});\n }\n\n point.attr('width', dataElement.style.width)\n .attr('heigth', dataElement.style.heigth)\n .attr('points', dataElement.draw)\n .style('fill', dataElement.fill);\n\n if (this.debug) {\n // tslint:disable-next-line:no-shadowed-variable\n const {style, draw, fill, identifier} = dataElement;\n console.log({style, draw, fill, identifier});\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { IconLabelD3Component } from './icon-label-d3.component';\nimport {CommonModule} from '@angular/common';\n\n\n\n@NgModule({\n declarations: [IconLabelD3Component],\n imports: [\n CommonModule\n ],\n exports: [IconLabelD3Component]\n})\nexport class IconLabelD3Module { }\n","import {StructStyleLibelItemInterface} from './struct-style-libel-item-interface';\n\nexport interface StructLabelItemInterface {\n identifier: number | string;\n name: string;\n fill: string;\n draw: string;\n style: StructStyleLibelItemInterface;\n}\n","export interface StructStyleLibelItemInterface {\n width: string;\n heigth: string;\n}\n"],"names":["d3.select","d3.namespaces"],"mappings":"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"}
@@ -26,15 +26,8 @@ var IconLabelD3Service = /** @class */ (function () {
26
26
  */
27
27
  var IconLabelD3Component = /** @class */ (function () {
28
28
  function IconLabelD3Component() {
29
- var _this = this;
30
29
  this.debug = false;
31
30
  this.title = 'Etiquetas';
32
- setTimeout((/**
33
- * @return {?}
34
- */
35
- function () {
36
- _this.applayIconCanvas();
37
- }), 50);
38
31
  }
39
32
  /**
40
33
  * @private
@@ -57,6 +50,23 @@ var IconLabelD3Component = /** @class */ (function () {
57
50
  .data([0])
58
51
  .enter();
59
52
  };
53
+ /**
54
+ * @param {?} chamges
55
+ * @return {?}
56
+ */
57
+ IconLabelD3Component.prototype.ngOnChanges = /**
58
+ * @param {?} chamges
59
+ * @return {?}
60
+ */
61
+ function (chamges) {
62
+ var _this = this;
63
+ setTimeout((/**
64
+ * @return {?}
65
+ */
66
+ function () {
67
+ _this.applayIconCanvas();
68
+ }), 50);
69
+ };
60
70
  /**
61
71
  * @private
62
72
  * @return {?}
@@ -68,7 +78,7 @@ var IconLabelD3Component = /** @class */ (function () {
68
78
  function () {
69
79
  var _this = this;
70
80
  if (this.debug) {
71
- console.log({ iconsElements: this.iconsElements });
81
+ console.log({ iconsElements: this.iconsElements, length: this.iconsElements.length });
72
82
  }
73
83
  this.iconsElements.map((/**
74
84
  * @param {?} element
@@ -98,6 +108,7 @@ var IconLabelD3Component = /** @class */ (function () {
98
108
  .attr('points', dataElement.draw)
99
109
  .style('fill', dataElement.fill);
100
110
  if (_this.debug) {
111
+ // tslint:disable-next-line:no-shadowed-variable
101
112
  var style = dataElement.style, draw = dataElement.draw, fill = dataElement.fill, identifier_1 = dataElement.identifier;
102
113
  console.log({ style: style, draw: draw, fill: fill, identifier: identifier_1 });
103
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"icon-label-d3.js","sources":["ng://icon-label-d3/lib/icon-label-d3.service.ts","ng://icon-label-d3/lib/icon-label-d3.component.ts","ng://icon-label-d3/lib/icon-label-d3.module.ts","ng://icon-label-d3/lib/interfaces/struct-label-item-interface.ts","ng://icon-label-d3/lib/interfaces/struct-style-libel-item-interface.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconLabelD3Service {\n\n constructor() { }\n}\n","import {Component, ElementRef, Input, QueryList, ViewChildren} from '@angular/core';\nimport * as d3 from 'd3';\n\nimport {StructLabelItemInterface} from './interfaces/struct-label-item-interface';\n\n@Component({\n selector: 'ngx-icon-label-d3',\n template: `\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"text-center\">\n <label>{{title}}: </label>\n <label\n *ngFor=\"let item of collection; let indx = index;\">\n <span *ngIf=\"indx!==0\">,</span>\n <span style=\"width: 10px; height: 10px; position: absolute;\"\n #cmp\n title=\"icon_{{item.identifier}}\"></span>\n <strong style=\"margin-left: 10px;\">\n {{item.name}}\n </strong>\n </label>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.css']\n})\nexport class IconLabelD3Component {\n\n constructor() {\n setTimeout(() => {\n this.applayIconCanvas();\n }, 50);\n }\n\n @Input() debug = false;\n @Input() title = 'Etiquetas';\n @Input() collection: Array<StructLabelItemInterface>;\n @ViewChildren('cmp') iconsElements: QueryList<ElementRef>;\n\n private static makeSvg(element: ElementRef<any>) {\n return d3.select(element.nativeElement)\n .append('svg')\n .attr('width', '100%')\n .attr('height', '100%')\n .append('g')\n .attr('clip-path', 'url(#chart-content)')\n .selectAll('svg')\n .data([0])\n .enter();\n }\n\n private applayIconCanvas() {\n if (this.debug) {\n console.log({iconsElements: this.iconsElements});\n }\n this.iconsElements.map((element) => {\n const identifier = element.nativeElement.title.replace('icon_', '');\n const svg = IconLabelD3Component.makeSvg(element);\n const dataElement = this.collection.find(item => item.identifier === +identifier);\n const point = svg.append(() => document.createElementNS(d3.namespaces.svg, 'polygon'));\n\n if (this.debug) {\n console.log({collection: this.collection, identifier, dataElement});\n }\n\n point.attr('width', dataElement.style.width)\n .attr('heigth', dataElement.style.heigth)\n .attr('points', dataElement.draw)\n .style('fill', dataElement.fill);\n\n if (this.debug) {\n const {style, draw, fill, identifier} = dataElement;\n console.log({style, draw, fill, identifier});\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { IconLabelD3Component } from './icon-label-d3.component';\nimport {CommonModule} from '@angular/common';\n\n\n\n@NgModule({\n declarations: [IconLabelD3Component],\n imports: [\n CommonModule\n ],\n exports: [IconLabelD3Component]\n})\nexport class IconLabelD3Module { }\n","import {StructStyleLibelItemInterface} from './struct-style-libel-item-interface';\n\nexport interface StructLabelItemInterface {\n identifier: number | string;\n name: string;\n fill: string;\n draw: string;\n style: StructStyleLibelItemInterface;\n}\n","export interface StructStyleLibelItemInterface {\n width: string;\n heigth: string;\n}\n"],"names":["d3.select","d3.namespaces"],"mappings":"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"}
1
+ {"version":3,"file":"icon-label-d3.js","sources":["ng://icon-label-d3/lib/icon-label-d3.service.ts","ng://icon-label-d3/lib/icon-label-d3.component.ts","ng://icon-label-d3/lib/icon-label-d3.module.ts","ng://icon-label-d3/lib/interfaces/struct-label-item-interface.ts","ng://icon-label-d3/lib/interfaces/struct-style-libel-item-interface.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconLabelD3Service {\n\n constructor() { }\n}\n","import {Component, ElementRef, Input, OnChanges, QueryList, SimpleChanges, ViewChildren} from '@angular/core';\nimport * as d3 from 'd3';\n\nimport {StructLabelItemInterface} from './interfaces/struct-label-item-interface';\n\n@Component({\n selector: 'ngx-icon-label-d3',\n template: `\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"text-center\">\n <label>{{title}}: </label>\n <label\n *ngFor=\"let item of collection; let indx = index;\">\n <span *ngIf=\"indx!==0\">,</span>\n <span style=\"width: 10px; height: 10px; position: absolute;\"\n #cmp\n title=\"icon_{{item.identifier}}\"></span>\n <strong style=\"margin-left: 10px;\">\n {{item.name}}\n </strong>\n </label>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.css']\n})\nexport class IconLabelD3Component implements OnChanges {\n\n constructor() {\n\n }\n\n @Input() debug = false;\n @Input() title = 'Etiquetas';\n @Input() collection: Array<StructLabelItemInterface>;\n @ViewChildren('cmp') iconsElements: QueryList<ElementRef>;\n\n private static makeSvg(element: ElementRef<any>) {\n return d3.select(element.nativeElement)\n .append('svg')\n .attr('width', '100%')\n .attr('height', '100%')\n .append('g')\n .attr('clip-path', 'url(#chart-content)')\n .selectAll('svg')\n .data([0])\n .enter();\n }\n\n ngOnChanges(chamges: SimpleChanges) {\n setTimeout(() => {\n this.applayIconCanvas();\n }, 50);\n }\n\n private applayIconCanvas() {\n if (this.debug) {\n console.log({iconsElements: this.iconsElements, length: this.iconsElements.length});\n }\n this.iconsElements.map((element) => {\n const identifier = element.nativeElement.title.replace('icon_', '');\n const svg = IconLabelD3Component.makeSvg(element);\n const dataElement = this.collection.find(item => item.identifier === +identifier);\n const point = svg.append(() => document.createElementNS(d3.namespaces.svg, 'polygon'));\n\n if (this.debug) {\n console.log({collection: this.collection, identifier, dataElement});\n }\n\n point.attr('width', dataElement.style.width)\n .attr('heigth', dataElement.style.heigth)\n .attr('points', dataElement.draw)\n .style('fill', dataElement.fill);\n\n if (this.debug) {\n // tslint:disable-next-line:no-shadowed-variable\n const {style, draw, fill, identifier} = dataElement;\n console.log({style, draw, fill, identifier});\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { IconLabelD3Component } from './icon-label-d3.component';\nimport {CommonModule} from '@angular/common';\n\n\n\n@NgModule({\n declarations: [IconLabelD3Component],\n imports: [\n CommonModule\n ],\n exports: [IconLabelD3Component]\n})\nexport class IconLabelD3Module { }\n","import {StructStyleLibelItemInterface} from './struct-style-libel-item-interface';\n\nexport interface StructLabelItemInterface {\n identifier: number | string;\n name: string;\n fill: string;\n draw: string;\n style: StructStyleLibelItemInterface;\n}\n","export interface StructStyleLibelItemInterface {\n width: string;\n heigth: string;\n}\n"],"names":["d3.select","d3.namespaces"],"mappings":"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"}