@esfaenza/es-charts 11.2.24 → 11.2.27

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.
Files changed (28) hide show
  1. package/bundles/esfaenza-es-charts.umd.js +80 -26
  2. package/bundles/esfaenza-es-charts.umd.js.map +1 -1
  3. package/bundles/esfaenza-es-charts.umd.min.js +1 -1
  4. package/bundles/esfaenza-es-charts.umd.min.js.map +1 -1
  5. package/esfaenza-es-charts.metadata.json +1 -1
  6. package/esm2015/lib/components/base/base-chart.component.js +10 -1
  7. package/esm2015/lib/models/data/LineChartData.js +1 -1
  8. package/esm2015/lib/models/data/base/Limit.js +3 -2
  9. package/esm2015/lib/services/AreaChartService.js +4 -1
  10. package/esm2015/lib/services/LineChartService.js +54 -26
  11. package/esm2015/lib/services/PieChartService.js +4 -1
  12. package/esm2015/lib/services/Vertical2DChartService.js +4 -1
  13. package/esm2015/lib/services/VerticalChartService.js +4 -1
  14. package/esm2015/lib/services/VerticalStackedChartService.js +4 -1
  15. package/esm2015/lib/services/base/IBaseService.js +1 -1
  16. package/fesm2015/esfaenza-es-charts.js +79 -26
  17. package/fesm2015/esfaenza-es-charts.js.map +1 -1
  18. package/lib/components/base/base-chart.component.d.ts +7 -0
  19. package/lib/models/data/LineChartData.d.ts +2 -2
  20. package/lib/models/data/base/Limit.d.ts +2 -1
  21. package/lib/services/AreaChartService.d.ts +2 -0
  22. package/lib/services/LineChartService.d.ts +4 -0
  23. package/lib/services/PieChartService.d.ts +2 -0
  24. package/lib/services/Vertical2DChartService.d.ts +2 -0
  25. package/lib/services/VerticalChartService.d.ts +2 -0
  26. package/lib/services/VerticalStackedChartService.d.ts +2 -0
  27. package/lib/services/base/IBaseService.d.ts +7 -0
  28. package/package.json +1 -1
@@ -104,6 +104,9 @@ export class VerticalStackedChartService {
104
104
  return this;
105
105
  }
106
106
  /** @ignore */
107
+ setSelection(from, to) {
108
+ }
109
+ /** @ignore */
107
110
  refreshData(data) {
108
111
  //TODO:IMPL
109
112
  }
@@ -124,4 +127,4 @@ export class VerticalStackedChartService {
124
127
  return series;
125
128
  }
126
129
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvc2VydmljZXMvVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxLQUFLLFNBQVMsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFjdEMsY0FBYztJQUNkLFlBQW1CLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFadkMsY0FBYztRQUNOLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDaEMsY0FBYztRQUNOLGVBQVUsR0FBVyxHQUFHLENBQUM7UUFDakMsY0FBYztRQUNOLDZCQUF3QixHQUFXLEVBQUUsQ0FBQztRQUM5QyxjQUFjO1FBQ04sMkJBQXNCLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsY0FBYztRQUNOLGlDQUE0QixHQUFXLEVBQUUsQ0FBQztJQUdQLENBQUM7SUFFNUM7O09BRUc7SUFDSSxVQUFVLENBQUMsSUFBb0MsRUFBRSxRQUFzQzs7UUFFNUYsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsdUVBQXVFO1FBQ3ZFLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUVuQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEUsSUFBSSxtQkFBbUIsR0FBc0IsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVoRSxlQUFl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b250ZW50IjpbImltcG9ydCB7IElCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS9JQmFzZVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzL0Jhc2VBZGFwdGVyJztcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEvVmVydGljYWxTdGFja2VkQ2hhcnREYXRhJztcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscy9zZXR0aW5ncy9WZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzJztcclxuXHJcbmltcG9ydCAqIGFzIGFtNGNvcmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGlsIGN1aSB1bmljbyBzY29wbyDDqCBnZXN0aXJlIGlsIHNldHVwIGUgcmVuZGVyaW5nIGRpIHVuIFZlcnRpY2FsU3RhY2tlZENoYXJ0XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlIGltcGxlbWVudHMgSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PntcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHB1YmxpYyBDaGFydEluc3RhbmNlOiBhbTRjaGFydHMuWFlDaGFydDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgZGFuZ2VyWm9uZTogbnVtYmVyID0gNTA7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIExhYmVsV2lkdGg6IG51bWJlciA9IDE1MDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXIgPSAyMDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDogbnVtYmVyID0gLTU7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIERlZmF1bHRDb2x1bW5XaWR0aFBlcmNlbnRhZ2U6IG51bWJlciA9IDg1O1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBBZGFwdGVyOiBCYXNlQWRhcHRlcikgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBjaGUgZGF0YSB1bmEgY29wcGlhIERhdGkgLSBJbXBvc3RhemlvbmkgbGkgdXRpbGl6emEgcGVyIGNyZWFyZSBlIHZpc3VhbGl6emFyZSB1biBWZXJ0aWNhbFN0YWNrZWRDaGFydFxyXG4gICAqL1xyXG4gIHB1YmxpYyBncmFwaGljYXRlKGRhdGE6IFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSB8IGFueSwgc2V0dGluZ3M6IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MpOiBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+IHtcclxuICAgIFxyXG4gICAgaWYgKHNldHRpbmdzLlRpbWVsaW5lKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaW1lbGluZSBub3Qgc3VwcG9ydGVkIGZvciB2ZXJ0aWNhbCBjaGFydFwiKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy9QZXIgZXZpdGFyZSBkaSBkaW1lbnRpY2FybWVsaSBlIGdlc3RpcmUgY29tdW5xdWUgYmVuZSBnbGkgbmdpZiBlY2MuLi5cclxuICAgIGFtNGNvcmUub3B0aW9ucy5hdXRvRGlzcG9zZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5DaGFydEluc3RhbmNlID0gYW00Y29yZS5jcmVhdGUoc2V0dGluZ3MuTmFtZSwgYW00Y2hhcnRzLlhZQ2hhcnQpO1xyXG4gICAgbGV0IENoYXJ0SW5zdGFuY2VDYXN0ZWQgPSA8YW00Y2hhcnRzLlhZQ2hhcnQ+dGhpcy5DaGFydEluc3RhbmNlO1xyXG5cclxuICAgIC8vIENyZWF0ZSBheGVzIFxyXG4gICAgbGV0IHlBeGlzID0gQ2hhcnRJbnN0YW5jZUNhc3RlZC55QXhlcy5wdXNoKG5ldyBhbTRjaGFydHMuVmFsdWVBeGlzKCkpO1xyXG4gICAgaWYgKHNldHRpbmdzLllBeGlzVGl0bGUpIHtcclxuICAgICAgeUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLllBeGlzVGl0bGVcclxuICAgICAgeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG4gICAgbGV0IGNhdGVnb3J5QXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueEF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLkNhdGVnb3J5QXhpcygpKTtcclxuICAgIGlmIChzZXR0aW5ncy5YQXhpc1RpdGxlKSB7XHJcbiAgICAgIGNhdGVnb3J5QXhpcy50aXRsZS50ZXh0ID0gc2V0dGluZ3MuWEF4aXNUaXRsZVxyXG4gICAgICBjYXRlZ29yeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG5cclxuICAgIHlBeGlzLm1pbiA9IDA7XHJcblxyXG4gICAgY2F0ZWdvcnlBeGlzLmRhdGFGaWVsZHMuY2F0ZWdvcnkgPSBcImtleVwiO1xyXG4gICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmdyaWQudGVtcGxhdGUubG9jYXRpb24gPSAwO1xyXG4gICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLm1pbkdyaWREaXN0YW5jZSA9IHNldHRpbmdzPy5NaW5HcmlkRGlzdGFuY2UgPz8gMzA7XHJcblxyXG4gICAgbGV0IGxhYmVsID0gY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZTtcclxuICAgIGxhYmVsLnRydW5jYXRlID0gdHJ1ZTtcclxuICAgIGxhYmVsLm1heFdpZHRoID0gc2V0dGluZ3MuTGFiZWxXaWR0aCA/PyB0aGlzLkxhYmVsV2lkdGg7XHJcbiAgICBsYWJlbC50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG5cclxuICAgIGlmIChzZXR0aW5ncz8uQWRhcHRMYWJlbFNpemVBbmRPcmllbnRhdGlvbiA9PSBudWxsID8gdHJ1ZSA6IHNldHRpbmdzPy5BZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uKSB7XHJcbiAgICAgIGNhdGVnb3J5QXhpcy5ldmVudHMub24oXCJzaXplY2hhbmdlZFwiLCAoZXYpID0+IHtcclxuICAgICAgICBsZXQgYXhpcyA9IGV2LnRhcmdldDtcclxuICAgICAgICB2YXIgY2VsbFdpZHRoID0gYXhpcy5waXhlbFdpZHRoIC8gKGF4aXMuZW5kSW5kZXggLSBheGlzLnN0YXJ0SW5kZXgpO1xyXG4gICAgICAgIGlmIChjZWxsV2lkdGggPCBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5tYXhXaWR0aCkge1xyXG4gICAgICAgICAgbGV0IGFyZVdlSW5EYW5nZXJab25lID0gY2VsbFdpZHRoIDwgKHNldHRpbmdzPy5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA/PyB0aGlzLmRhbmdlclpvbmUpO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUucm90YXRpb24gPSBhcmVXZUluRGFuZ2VyWm9uZSA/IC05MCA6IC00NTtcclxuICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmR4ID0gc2V0dGluZ3MuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID8/IGFyZVdlSW5EYW5nZXJab25lID8gMCA6IHRoaXMuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHkgPSBzZXR0aW5ncy5MYWJlbFRvcFdoZW5Db21wcmVzc2VkID8/IHRoaXMuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDtcclxuICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmhvcml6b250YWxDZW50ZXIgPSBcInJpZ2h0XCI7XHJcbiAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUucm90YXRpb24gPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHggPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHkgPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuaG9yaXpvbnRhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwidG9wXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZGF0YVByZUNvbnZlcnRlZDogVmVydGljYWxTdGFja2VkQ2hhcnREYXRhID0gdGhpcy5BZGFwdGVyID8gdGhpcy5BZGFwdGVyLmFkYXB0RGF0YUZvclZlcnRpY2FsU3RhY2tlZENoYXJ0KGRhdGEpIDogZGF0YTtcclxuXHJcbiAgICBsZXQgZGF0YUNvbnZlcnRlZCA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhUHJlQ29udmVydGVkLmdyb3Vwcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgaXRlbSA9IGRhdGFQcmVDb252ZXJ0ZWQuZ3JvdXBzW2ldO1xyXG4gICAgICBsZXQgb2JqID0geyBrZXk6IGl0ZW0ubmFtZSB9O1xyXG4gICAgICBmb3IgKGxldCBwID0gMDsgcCA8IGl0ZW0udmFsdWVzLmxlbmd0aDsgcCsrKSB7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gaXRlbS52YWx1ZXNbcF07XHJcbiAgICAgICAgb2JqW3ZhbHVlLmtdID0gdmFsdWUudjtcclxuICAgICAgfVxyXG4gICAgICBkYXRhQ29udmVydGVkLnB1c2gob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmRhdGEgPSBkYXRhQ29udmVydGVkO1xyXG5cclxuICAgIC8vUHJlbmRvIGxhIHByaW1hIGNhdGVnb3JpYSBlIG1pIGJhc28gc3VsbGUgcHJvcHJpZXTDoCBwZXIgZGZlaW5pcmUgbGUgc2VyaWVcclxuICAgIGZvciAobGV0IHByb3AgaW4gZGF0YUNvbnZlcnRlZFswXSkge1xyXG4gICAgICBpZiAocHJvcCAhPT0gXCJrZXlcIilcclxuICAgICAgICB0aGlzLmNyZWF0ZVNlcmllc1N0YWNrZWQoQ2hhcnRJbnN0YW5jZUNhc3RlZCwgc2V0dGluZ3MsIHByb3AsIHByb3ApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZXR0aW5ncy5MZWdlbmQpIHtcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQgPSBuZXcgYW00Y2hhcnRzLkxlZ2VuZCgpO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5wb3NpdGlvbiA9IHNldHRpbmdzPy5MZWdlbmRQb3NpdGlvbiA/PyAncmlnaHQnO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZS50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG5cclxuICAgICAgaWYgKHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcpIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGUgPSB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLml0ZW1Db250YWluZXJzLnRlbXBsYXRlO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdUb3AgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLnRvcCA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdCb3R0b20gPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLmJvdHRvbSA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdMZWZ0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5sZWZ0ID8/IDA7XHJcbiAgICAgICAgdGVtcGxhdGUucGFkZGluZ1JpZ2h0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5yaWdodCA/PyAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHVibGljIHJlZnJlc2hEYXRhKGRhdGE6IFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSB8IGFueSkge1xyXG4gICAgLy9UT0RPOklNUExcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVTZXJpZXNTdGFja2VkKGNoYXJ0LCBzZXR0aW5nczogVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncywgZmllbGQsIG5hbWUpIHtcclxuICAgIC8vIFNldCB1cCBzZXJpZXNcclxuICAgIGxldCBzZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChuZXcgYW00Y2hhcnRzLkNvbHVtblNlcmllcygpKTtcclxuICAgIHNlcmllcy5uYW1lID0gbmFtZTtcclxuICAgIHNlcmllcy5kYXRhRmllbGRzLnZhbHVlWSA9IGZpZWxkO1xyXG4gICAgc2VyaWVzLmRhdGFGaWVsZHMuY2F0ZWdvcnlYID0gXCJrZXlcIjtcclxuICAgIHNlcmllcy5zZXF1ZW5jZWRJbnRlcnBvbGF0aW9uID0gdHJ1ZTtcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnRvb2x0aXBUZXh0ID0gXCJ7bmFtZX0ge2NhdGVnb3J5WH06IFtib2xkXXt2YWx1ZVl9Wy9dXCI7XHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5maWxsT3BhY2l0eSA9IC44O1xyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUud2lkdGggPSBhbTRjb3JlLnBlcmNlbnQoc2V0dGluZ3MuQ29sdW1uV2lkdGhQZXJjZW50YWdlID8/IHRoaXMuRGVmYXVsdENvbHVtbldpZHRoUGVyY2VudGFnZSk7XHJcblxyXG4gICAgLy8gTWFrZSBpdCBzdGFja2VkXHJcbiAgICBzZXJpZXMuc3RhY2tlZCA9IHRydWU7XHJcblxyXG4gICAgcmV0dXJuIHNlcmllcztcclxuICB9XHJcbn0iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvc2VydmljZXMvVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxLQUFLLFNBQVMsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFjdEMsY0FBYztJQUNkLFlBQW1CLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFadkMsY0FBYztRQUNOLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDaEMsY0FBYztRQUNOLGVBQVUsR0FBVyxHQUFHLENBQUM7UUFDakMsY0FBYztRQUNOLDZCQUF3QixHQUFXLEVBQUUsQ0FBQztRQUM5QyxjQUFjO1FBQ04sMkJBQXNCLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsY0FBYztRQUNOLGlDQUE0QixHQUFXLEVBQUUsQ0FBQztJQUdQLENBQUM7SUFFNUM7O09BRUc7SUFDSSxVQUFVLENBQUMsSUFBb0MsRUFBRSxRQUFzQzs7UUFFNUYsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsdUVBQXVFO1FBQ3ZFLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUVuQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEUsSUFBSSxtQkFBbUIsR0FBc0IsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVoRSxlQUFl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QUFDO1FBRXRCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS9JQmFzZVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzL0Jhc2VBZGFwdGVyJztcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEvVmVydGljYWxTdGFja2VkQ2hhcnREYXRhJztcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscy9zZXR0aW5ncy9WZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzJztcclxuXHJcbmltcG9ydCAqIGFzIGFtNGNvcmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGlsIGN1aSB1bmljbyBzY29wbyDDqCBnZXN0aXJlIGlsIHNldHVwIGUgcmVuZGVyaW5nIGRpIHVuIFZlcnRpY2FsU3RhY2tlZENoYXJ0XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlIGltcGxlbWVudHMgSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PntcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHB1YmxpYyBDaGFydEluc3RhbmNlOiBhbTRjaGFydHMuWFlDaGFydDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgZGFuZ2VyWm9uZTogbnVtYmVyID0gNTA7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIExhYmVsV2lkdGg6IG51bWJlciA9IDE1MDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXIgPSAyMDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDogbnVtYmVyID0gLTU7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIERlZmF1bHRDb2x1bW5XaWR0aFBlcmNlbnRhZ2U6IG51bWJlciA9IDg1O1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBBZGFwdGVyOiBCYXNlQWRhcHRlcikgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBjaGUgZGF0YSB1bmEgY29wcGlhIERhdGkgLSBJbXBvc3RhemlvbmkgbGkgdXRpbGl6emEgcGVyIGNyZWFyZSBlIHZpc3VhbGl6emFyZSB1biBWZXJ0aWNhbFN0YWNrZWRDaGFydFxyXG4gICAqL1xyXG4gIHB1YmxpYyBncmFwaGljYXRlKGRhdGE6IFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSB8IGFueSwgc2V0dGluZ3M6IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MpOiBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+IHtcclxuICAgIFxyXG4gICAgaWYgKHNldHRpbmdzLlRpbWVsaW5lKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaW1lbGluZSBub3Qgc3VwcG9ydGVkIGZvciB2ZXJ0aWNhbCBjaGFydFwiKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy9QZXIgZXZpdGFyZSBkaSBkaW1lbnRpY2FybWVsaSBlIGdlc3RpcmUgY29tdW5xdWUgYmVuZSBnbGkgbmdpZiBlY2MuLi5cclxuICAgIGFtNGNvcmUub3B0aW9ucy5hdXRvRGlzcG9zZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5DaGFydEluc3RhbmNlID0gYW00Y29yZS5jcmVhdGUoc2V0dGluZ3MuTmFtZSwgYW00Y2hhcnRzLlhZQ2hhcnQpO1xyXG4gICAgbGV0IENoYXJ0SW5zdGFuY2VDYXN0ZWQgPSA8YW00Y2hhcnRzLlhZQ2hhcnQ+dGhpcy5DaGFydEluc3RhbmNlO1xyXG5cclxuICAgIC8vIENyZWF0ZSBheGVzIFxyXG4gICAgbGV0IHlBeGlzID0gQ2hhcnRJbnN0YW5jZUNhc3RlZC55QXhlcy5wdXNoKG5ldyBhbTRjaGFydHMuVmFsdWVBeGlzKCkpO1xyXG4gICAgaWYgKHNldHRpbmdzLllBeGlzVGl0bGUpIHtcclxuICAgICAgeUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLllBeGlzVGl0bGVcclxuICAgICAgeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG4gICAgbGV0IGNhdGVnb3J5QXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueEF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLkNhdGVnb3J5QXhpcygpKTtcclxuICAgIGlmIChzZXR0aW5ncy5YQXhpc1RpdGxlKSB7XHJcbiAgICAgIGNhdGVnb3J5QXhpcy50aXRsZS50ZXh0ID0gc2V0dGluZ3MuWEF4aXNUaXRsZVxyXG4gICAgICBjYXRlZ29yeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG5cclxuICAgIHlBeGlzLm1pbiA9IDA7XHJcblxyXG4gICAgY2F0ZWdvcnlBeGlzLmRhdGFGaWVsZHMuY2F0ZWdvcnkgPSBcImtleVwiO1xyXG4gICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmdyaWQudGVtcGxhdGUubG9jYXRpb24gPSAwO1xyXG4gICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLm1pbkdyaWREaXN0YW5jZSA9IHNldHRpbmdzPy5NaW5HcmlkRGlzdGFuY2UgPz8gMzA7XHJcblxyXG4gICAgbGV0IGxhYmVsID0gY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZTtcclxuICAgIGxhYmVsLnRydW5jYXRlID0gdHJ1ZTtcclxuICAgIGxhYmVsLm1heFdpZHRoID0gc2V0dGluZ3MuTGFiZWxXaWR0aCA/PyB0aGlzLkxhYmVsV2lkdGg7XHJcbiAgICBsYWJlbC50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG5cclxuICAgIGlmIChzZXR0aW5ncz8uQWRhcHRMYWJlbFNpemVBbmRPcmllbnRhdGlvbiA9PSBudWxsID8gdHJ1ZSA6IHNldHRpbmdzPy5BZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uKSB7XHJcbiAgICAgIGNhdGVnb3J5QXhpcy5ldmVudHMub24oXCJzaXplY2hhbmdlZFwiLCAoZXYpID0+IHtcclxuICAgICAgICBsZXQgYXhpcyA9IGV2LnRhcmdldDtcclxuICAgICAgICB2YXIgY2VsbFdpZHRoID0gYXhpcy5waXhlbFdpZHRoIC8gKGF4aXMuZW5kSW5kZXggLSBheGlzLnN0YXJ0SW5kZXgpO1xyXG4gICAgICAgIGlmIChjZWxsV2lkdGggPCBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5tYXhXaWR0aCkge1xyXG4gICAgICAgICAgbGV0IGFyZVdlSW5EYW5nZXJab25lID0gY2VsbFdpZHRoIDwgKHNldHRpbmdzPy5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA/PyB0aGlzLmRhbmdlclpvbmUpO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUucm90YXRpb24gPSBhcmVXZUluRGFuZ2VyWm9uZSA/IC05MCA6IC00NTtcclxuICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmR4ID0gc2V0dGluZ3MuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID8/IGFyZVdlSW5EYW5nZXJab25lID8gMCA6IHRoaXMuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHkgPSBzZXR0aW5ncy5MYWJlbFRvcFdoZW5Db21wcmVzc2VkID8/IHRoaXMuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDtcclxuICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmhvcml6b250YWxDZW50ZXIgPSBcInJpZ2h0XCI7XHJcbiAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUucm90YXRpb24gPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHggPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHkgPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuaG9yaXpvbnRhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwidG9wXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZGF0YVByZUNvbnZlcnRlZDogVmVydGljYWxTdGFja2VkQ2hhcnREYXRhID0gdGhpcy5BZGFwdGVyID8gdGhpcy5BZGFwdGVyLmFkYXB0RGF0YUZvclZlcnRpY2FsU3RhY2tlZENoYXJ0KGRhdGEpIDogZGF0YTtcclxuXHJcbiAgICBsZXQgZGF0YUNvbnZlcnRlZCA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhUHJlQ29udmVydGVkLmdyb3Vwcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgaXRlbSA9IGRhdGFQcmVDb252ZXJ0ZWQuZ3JvdXBzW2ldO1xyXG4gICAgICBsZXQgb2JqID0geyBrZXk6IGl0ZW0ubmFtZSB9O1xyXG4gICAgICBmb3IgKGxldCBwID0gMDsgcCA8IGl0ZW0udmFsdWVzLmxlbmd0aDsgcCsrKSB7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gaXRlbS52YWx1ZXNbcF07XHJcbiAgICAgICAgb2JqW3ZhbHVlLmtdID0gdmFsdWUudjtcclxuICAgICAgfVxyXG4gICAgICBkYXRhQ29udmVydGVkLnB1c2gob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmRhdGEgPSBkYXRhQ29udmVydGVkO1xyXG5cclxuICAgIC8vUHJlbmRvIGxhIHByaW1hIGNhdGVnb3JpYSBlIG1pIGJhc28gc3VsbGUgcHJvcHJpZXTDoCBwZXIgZGZlaW5pcmUgbGUgc2VyaWVcclxuICAgIGZvciAobGV0IHByb3AgaW4gZGF0YUNvbnZlcnRlZFswXSkge1xyXG4gICAgICBpZiAocHJvcCAhPT0gXCJrZXlcIilcclxuICAgICAgICB0aGlzLmNyZWF0ZVNlcmllc1N0YWNrZWQoQ2hhcnRJbnN0YW5jZUNhc3RlZCwgc2V0dGluZ3MsIHByb3AsIHByb3ApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZXR0aW5ncy5MZWdlbmQpIHtcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQgPSBuZXcgYW00Y2hhcnRzLkxlZ2VuZCgpO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5wb3NpdGlvbiA9IHNldHRpbmdzPy5MZWdlbmRQb3NpdGlvbiA/PyAncmlnaHQnO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZS50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG5cclxuICAgICAgaWYgKHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcpIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGUgPSB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLml0ZW1Db250YWluZXJzLnRlbXBsYXRlO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdUb3AgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLnRvcCA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdCb3R0b20gPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLmJvdHRvbSA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdMZWZ0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5sZWZ0ID8/IDA7XHJcbiAgICAgICAgdGVtcGxhdGUucGFkZGluZ1JpZ2h0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5yaWdodCA/PyAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgc2V0U2VsZWN0aW9uKGZyb206IERhdGUsIHRvOiBEYXRlKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwdWJsaWMgcmVmcmVzaERhdGEoZGF0YTogVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIHwgYW55KSB7XHJcbiAgICAvL1RPRE86SU1QTFxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIGNyZWF0ZVNlcmllc1N0YWNrZWQoY2hhcnQsIHNldHRpbmdzOiBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzLCBmaWVsZCwgbmFtZSkge1xyXG4gICAgLy8gU2V0IHVwIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKG5ldyBhbTRjaGFydHMuQ29sdW1uU2VyaWVzKCkpO1xyXG4gICAgc2VyaWVzLm5hbWUgPSBuYW1lO1xyXG4gICAgc2VyaWVzLmRhdGFGaWVsZHMudmFsdWVZID0gZmllbGQ7XHJcbiAgICBzZXJpZXMuZGF0YUZpZWxkcy5jYXRlZ29yeVggPSBcImtleVwiO1xyXG4gICAgc2VyaWVzLnNlcXVlbmNlZEludGVycG9sYXRpb24gPSB0cnVlO1xyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUudG9vbHRpcFRleHQgPSBcIntuYW1lfSB7Y2F0ZWdvcnlYfTogW2JvbGRde3ZhbHVlWX1bL11cIjtcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmZpbGxPcGFjaXR5ID0gLjg7XHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS53aWR0aCA9IGFtNGNvcmUucGVyY2VudChzZXR0aW5ncy5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgPz8gdGhpcy5EZWZhdWx0Q29sdW1uV2lkdGhQZXJjZW50YWdlKTtcclxuXHJcbiAgICAvLyBNYWtlIGl0IHN0YWNrZWRcclxuICAgIHNlcmllcy5zdGFja2VkID0gdHJ1ZTtcclxuXHJcbiAgICByZXR1cm4gc2VyaWVzO1xyXG4gIH1cclxufSJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJhc2VTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvc2VydmljZXMvYmFzZS9JQmFzZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvQmFzZUFkYXB0ZXInO1xyXG5cclxuLyoqXHJcbiAqIEludGVyZmFjY2lhIHJhcHByZXNlbnRhbnRlIHVuYSBTZXJ2aWNlIGRpIGdyYWZpY2FtZW50byBnZW5lcmljYVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJQmFzZVNlcnZpY2U8VD4ge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRhdHRhdG9yZSBjaGUgc2kgb2NjdXBhIGRlbGxhIHRyYXNmb3JtYXppb25lIGZyYSB1bmEgdGlwb2xvZ2lhIGRpIGRhdGkgcXVhbHNpYXNpIGUgaSBEdG8gdXRpbGl6emF0aSBkYSBxdWVzdGEgbGlicmVyaWFcclxuICAgICAqL1xyXG4gICAgQWRhcHRlcjogQmFzZUFkYXB0ZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJc3RhbnphIGRlbCBncmFmaWNvIHZlcmEgZSBwcm9wcmlhXHJcbiAgICAgKi9cclxuICAgIENoYXJ0SW5zdGFuY2U6IFQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhIGUgZGlzZWduYSBpbCBncmFmaWNvIGxhIHByaW1hIHZvbHRhXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE5vbWUgZGVsIGdyYWZpY28gKENoaWF2ZSB1bml2b2NhKVxyXG4gICAgICogQHBhcmFtIHthbnl9IGRhdGEgRGF0aSBkZWwgZ3JhZmljbywgbyB0aXBvIHNwZWNpZmljbyBvIHRpcG9sZWdhY3kgY2hlIHNpIG9jY3VwZXLDoCBkaSBjb252ZXJ0aXJlIGwnKipBZGFwdGVyKipcclxuICAgICAqIEBwYXJhbSB7YW55fSBzZXR0aW5ncyBJbXBvc3RhemlvbmUgcGVyIGxhIGdlbmVyYXppb25lIGRlbCBncmFmaWNvXHJcbiAgICAgKiBAcmV0dXJucyB7SUJhc2VTZXJ2aWNlPFQ+fSBTZSBzdGVzc2EgbmVsbG8gc3RhdG8gc3VjY2Vzc2l2byBhbGxhIGdyYWZpY2F6aW9uZVxyXG4gICAgICovXHJcbiAgICBncmFwaGljYXRlKG5hbWU6IHN0cmluZywgZGF0YTogYW55LCBzZXR0aW5nczogYW55KTogSUJhc2VTZXJ2aWNlPFQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWdnaW9ybmEgbGEgc29yZ2VudGUgZGF0aSBkZWwgZ3JhZmljbyBzZW56YSByaWNyZWFybG8gZGEgMC4gRGEgdXNhcmUgYWwgcG9zdG8gZGVpIGRlc3Ryb3ktcmVidWlsZFxyXG4gICAgICogXHJcbiAgICAgKiBOT1RBIEJFTkU6IE1hbmNhbm8gbGUgaW1wbGVtZW50YXppb25pLCBldmVudHVhbG1lbnRlIHN2aWx1cHBhcmxlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBkYXRhIE51b3ZpIGRhdGkgZGEgc29zdGl0dWlyZSBhIHF1ZWxsaSBwcmVjZWRlbnRpXHJcbiAgICAgKi9cclxuICAgIHJlZnJlc2hEYXRhKGRhdGE6IGFueSk6IHZvaWQ7XHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJhc2VTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvc2VydmljZXMvYmFzZS9JQmFzZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvQmFzZUFkYXB0ZXInO1xyXG5cclxuLyoqXHJcbiAqIEludGVyZmFjY2lhIHJhcHByZXNlbnRhbnRlIHVuYSBTZXJ2aWNlIGRpIGdyYWZpY2FtZW50byBnZW5lcmljYVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJQmFzZVNlcnZpY2U8VD4ge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRhdHRhdG9yZSBjaGUgc2kgb2NjdXBhIGRlbGxhIHRyYXNmb3JtYXppb25lIGZyYSB1bmEgdGlwb2xvZ2lhIGRpIGRhdGkgcXVhbHNpYXNpIGUgaSBEdG8gdXRpbGl6emF0aSBkYSBxdWVzdGEgbGlicmVyaWFcclxuICAgICAqL1xyXG4gICAgQWRhcHRlcjogQmFzZUFkYXB0ZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJc3RhbnphIGRlbCBncmFmaWNvIHZlcmEgZSBwcm9wcmlhXHJcbiAgICAgKi9cclxuICAgIENoYXJ0SW5zdGFuY2U6IFQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhIGUgZGlzZWduYSBpbCBncmFmaWNvIGxhIHByaW1hIHZvbHRhXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE5vbWUgZGVsIGdyYWZpY28gKENoaWF2ZSB1bml2b2NhKVxyXG4gICAgICogQHBhcmFtIHthbnl9IGRhdGEgRGF0aSBkZWwgZ3JhZmljbywgbyB0aXBvIHNwZWNpZmljbyBvIHRpcG9sZWdhY3kgY2hlIHNpIG9jY3VwZXLDoCBkaSBjb252ZXJ0aXJlIGwnKipBZGFwdGVyKipcclxuICAgICAqIEBwYXJhbSB7YW55fSBzZXR0aW5ncyBJbXBvc3RhemlvbmUgcGVyIGxhIGdlbmVyYXppb25lIGRlbCBncmFmaWNvXHJcbiAgICAgKiBAcmV0dXJucyB7SUJhc2VTZXJ2aWNlPFQ+fSBTZSBzdGVzc2EgbmVsbG8gc3RhdG8gc3VjY2Vzc2l2byBhbGxhIGdyYWZpY2F6aW9uZVxyXG4gICAgICovXHJcbiAgICBncmFwaGljYXRlKG5hbWU6IHN0cmluZywgZGF0YTogYW55LCBzZXR0aW5nczogYW55KTogSUJhc2VTZXJ2aWNlPFQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWdnaW9ybmEgbGEgc29yZ2VudGUgZGF0aSBkZWwgZ3JhZmljbyBzZW56YSByaWNyZWFybG8gZGEgMC4gRGEgdXNhcmUgYWwgcG9zdG8gZGVpIGRlc3Ryb3ktcmVidWlsZFxyXG4gICAgICogXHJcbiAgICAgKiBOT1RBIEJFTkU6IE1hbmNhbm8gbGUgaW1wbGVtZW50YXppb25pLCBldmVudHVhbG1lbnRlIHN2aWx1cHBhcmxlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBkYXRhIE51b3ZpIGRhdGkgZGEgc29zdGl0dWlyZSBhIHF1ZWxsaSBwcmVjZWRlbnRpXHJcbiAgICAgKi9cclxuICAgIHJlZnJlc2hEYXRhKGRhdGE6IGFueSk6IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhIGxvIHpvb20gZGFsICoqZnJvbSoqIGFsICoqdG8qKlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RhdGV9IGZyb20gSW5pemlvIGRlbGxvIHpvb21cclxuICAgICAqIEBwYXJhbSB7RGF0ZX0gdG8gRmluZSBkZWxsbyB6b29tXHJcbiAgICAgKi9cclxuICAgIHNldFNlbGVjdGlvbihmcm9tOiBEYXRlLCB0bzogRGF0ZSk6IHZvaWQ7XHJcbn0iXX0=
@@ -219,13 +219,14 @@ class LegendPad {
219
219
  */
220
220
  class Limit {
221
221
  /** @ignore */
222
- constructor(upper, upperlabel, uppercolor, lower, lowerlabel, lowercolor) {
222
+ constructor(upper, upperlabel, uppercolor, lower, lowerlabel, lowercolor, fillColor = "") {
223
223
  this.upper = upper;
224
224
  this.upperlabel = upperlabel;
225
225
  this.uppercolor = uppercolor;
226
226
  this.lower = lower;
227
227
  this.lowerlabel = lowerlabel;
228
228
  this.lowercolor = lowercolor;
229
+ this.fillColor = fillColor;
229
230
  }
230
231
  }
231
232
 
@@ -1001,6 +1002,15 @@ class BaseChartComponent {
1001
1002
  if (this.logs)
1002
1003
  console.log("@esfaenza/es-charts: " + log);
1003
1004
  }
1005
+ /**
1006
+ * Imposta lo zoom dal **from** al **to**
1007
+ *
1008
+ * @param {Date} from Inizio dello zoom
1009
+ * @param {Date} to Fine dello zoom
1010
+ */
1011
+ setSelection(from, to) {
1012
+ this.ChartService.setSelection(from, to);
1013
+ }
1004
1014
  /**
1005
1015
  * @ignore
1006
1016
  */
@@ -1101,33 +1111,57 @@ class LineChartService {
1101
1111
  yAxis.min = settings.Min;
1102
1112
  if (settings.Max)
1103
1113
  yAxis.max = settings.Max;
1104
- if (dataConverted.limit) {
1105
- if (dataConverted.limit.upper != null && dataConverted.limit.upper != undefined) {
1106
- let range = yAxis.axisRanges.create();
1107
- range.value = dataConverted.limit.upper;
1108
- range.label.inside = true;
1109
- range.label.text = dataConverted.limit.upperlabel;
1110
- range.label.fill = range.grid.stroke;
1111
- range.label.verticalCenter = "bottom";
1112
- range.label.stroke = am4core.color(dataConverted.limit.uppercolor || "#F92200");
1113
- range.grid.stroke = am4core.color(dataConverted.limit.uppercolor || "#F92200");
1114
- range.grid.strokeWidth = 2;
1115
- range.grid.strokeOpacity = 1;
1116
- }
1117
- if (dataConverted.limit.lower != null && dataConverted.limit.lower != undefined) {
1118
- let range = yAxis.axisRanges.create();
1119
- range.value = dataConverted.limit.lower;
1120
- range.label.inside = true;
1121
- range.label.text = dataConverted.limit.lowerlabel;
1122
- range.label.fill = range.grid.stroke;
1123
- range.label.verticalCenter = "bottom";
1124
- range.label.stroke = am4core.color(dataConverted.limit.lowercolor || "#F92200");
1125
- range.grid.stroke = am4core.color(dataConverted.limit.lowercolor || "#F92200");
1126
- range.grid.strokeWidth = 2;
1127
- range.grid.strokeOpacity = 1;
1114
+ let limitNullOrUndef = dataConverted.limit != null && dataConverted.limit != undefined;
1115
+ let limits = limitNullOrUndef ? [] : !dataConverted.limit.length ? [dataConverted.limit] : dataConverted.limit;
1116
+ if (limits.length > 0) {
1117
+ for (let i = 0; i < limits.length; i++) {
1118
+ let limit = dataConverted.limit[i];
1119
+ if (limit.upper != null && limit.upper != undefined && limit.lower != null && limit.lower != undefined) {
1120
+ let range = yAxis.axisRanges.create();
1121
+ range.value = limit.lower;
1122
+ range.endValue = limit.upper;
1123
+ if (limit.fillColor) {
1124
+ range.contents.stroke = am4core.color(limit.fillColor);
1125
+ range.contents.fill = range.contents.stroke;
1126
+ }
1127
+ range.label.inside = true;
1128
+ range.label.text = limit.upperlabel;
1129
+ range.label.fill = range.grid.stroke;
1130
+ range.label.verticalCenter = "bottom";
1131
+ range.label.stroke = am4core.color(limit.uppercolor || "#F92200");
1132
+ range.grid.stroke = am4core.color(limit.uppercolor || "#F92200");
1133
+ range.grid.strokeWidth = 2;
1134
+ range.grid.strokeOpacity = 1;
1135
+ }
1136
+ else if ((limit.lower == null || limit.lower == undefined) && limit.upper != null && limit.upper != undefined) {
1137
+ let range = yAxis.axisRanges.create();
1138
+ range.value = limit.upper;
1139
+ range.label.inside = true;
1140
+ range.label.text = limit.upperlabel;
1141
+ range.label.fill = range.grid.stroke;
1142
+ range.label.verticalCenter = "bottom";
1143
+ range.label.stroke = am4core.color(limit.uppercolor || "#F92200");
1144
+ range.grid.stroke = am4core.color(limit.uppercolor || "#F92200");
1145
+ range.grid.strokeWidth = 2;
1146
+ range.grid.strokeOpacity = 1;
1147
+ }
1148
+ else if ((limit.upper == null || limit.upper == undefined) && limit.lower != null && limit.lower != undefined) {
1149
+ let range = yAxis.axisRanges.create();
1150
+ range.value = limit.lower;
1151
+ range.label.inside = true;
1152
+ range.label.text = limit.lowerlabel;
1153
+ range.label.fill = range.grid.stroke;
1154
+ range.label.verticalCenter = "bottom";
1155
+ range.label.stroke = am4core.color(limit.lowercolor || "#F92200");
1156
+ range.grid.stroke = am4core.color(limit.lowercolor || "#F92200");
1157
+ range.grid.strokeWidth = 2;
1158
+ range.grid.strokeOpacity = 1;
1159
+ }
1128
1160
  }
1129
1161
  }
1130
- let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
1162
+ this.dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
1163
+ // Per comatibilità col codice scritto quando non era a livello globale, mi scoccia sostituire
1164
+ let dateAxis = this.dateAxis;
1131
1165
  if (settings.XAxisTitle) {
1132
1166
  dateAxis.title.text = settings.XAxisTitle;
1133
1167
  dateAxis.title.fontWeight = "bold";
@@ -1298,6 +1332,10 @@ class LineChartService {
1298
1332
  return this;
1299
1333
  }
1300
1334
  /** @ignore */
1335
+ setSelection(from, to) {
1336
+ this.dateAxis.zoomToDates(from, to, true, true);
1337
+ }
1338
+ /** @ignore */
1301
1339
  refreshData(data) {
1302
1340
  let dataConverted = this.Adapter ? this.Adapter.adaptDataForLineChart(data) : data;
1303
1341
  if (this.singleDataSet) {
@@ -1489,6 +1527,9 @@ class PieChartService {
1489
1527
  return this;
1490
1528
  }
1491
1529
  /** @ignore */
1530
+ setSelection(from, to) {
1531
+ }
1532
+ /** @ignore */
1492
1533
  refreshData(data) {
1493
1534
  //TODO:IMPL
1494
1535
  }
@@ -1599,6 +1640,9 @@ class VerticalChartService {
1599
1640
  return this;
1600
1641
  }
1601
1642
  /** @ignore */
1643
+ setSelection(from, to) {
1644
+ }
1645
+ /** @ignore */
1602
1646
  refreshData(data) {
1603
1647
  //TODO:IMPL
1604
1648
  }
@@ -1712,6 +1756,9 @@ class Vertical2DChartService {
1712
1756
  return this;
1713
1757
  }
1714
1758
  /** @ignore */
1759
+ setSelection(from, to) {
1760
+ }
1761
+ /** @ignore */
1715
1762
  refreshData(data) {
1716
1763
  //TODO:IMPL
1717
1764
  }
@@ -1869,6 +1916,9 @@ class VerticalStackedChartService {
1869
1916
  return this;
1870
1917
  }
1871
1918
  /** @ignore */
1919
+ setSelection(from, to) {
1920
+ }
1921
+ /** @ignore */
1872
1922
  refreshData(data) {
1873
1923
  //TODO:IMPL
1874
1924
  }
@@ -1982,6 +2032,9 @@ class AreaChartService {
1982
2032
  return this;
1983
2033
  }
1984
2034
  /** @ignore */
2035
+ setSelection(from, to) {
2036
+ }
2037
+ /** @ignore */
1985
2038
  refreshData(data) {
1986
2039
  //TODO:IMPL
1987
2040
  }