bbj-screen-widget 2.4.60 → 2.4.62
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/core/package.json +2 -10
- package/core/src/service/baidu-map.service.ts +107 -0
- package/karma.conf.js +32 -0
- package/ng-package.json +59 -0
- package/package.json +4 -13
- package/src/lib/announcement/announcement.component.html +3 -0
- package/src/lib/announcement/announcement.component.less +5 -0
- package/src/lib/announcement/announcement.component.spec.ts +25 -0
- package/src/lib/announcement/announcement.component.ts +55 -0
- package/src/lib/announcement/announcement.module.ts +19 -0
- package/src/lib/audio/audio.component.html +6 -0
- package/src/lib/audio/audio.component.less +12 -0
- package/src/lib/audio/audio.component.spec.ts +25 -0
- package/src/lib/audio/audio.component.ts +167 -0
- package/src/lib/audio/audio.module.ts +15 -0
- package/src/lib/background/background.component.html +1 -0
- package/src/lib/background/background.component.less +6 -0
- package/src/lib/background/background.component.spec.ts +25 -0
- package/src/lib/background/background.component.ts +33 -0
- package/src/lib/background/background.module.ts +14 -0
- package/src/lib/bar-chart-three-d/bar-chart-three-d.component.html +1 -0
- package/src/lib/bar-chart-three-d/bar-chart-three-d.component.less +8 -0
- package/src/lib/bar-chart-three-d/bar-chart-three-d.component.spec.ts +25 -0
- package/src/lib/bar-chart-three-d/bar-chart-three-d.component.ts +271 -0
- package/src/lib/bar-chart-three-d/bar-chart-three-d.module.ts +15 -0
- package/src/lib/basic-bar-chart/basic-bar-chart.component.html +7 -0
- package/src/lib/basic-bar-chart/basic-bar-chart.component.less +5 -0
- package/src/lib/basic-bar-chart/basic-bar-chart.component.spec.ts +25 -0
- package/src/lib/basic-bar-chart/basic-bar-chart.component.ts +493 -0
- package/src/lib/basic-bar-chart/basic-bar-chart.module.ts +21 -0
- package/src/lib/basic-line-chart/basic-line-chart.component.html +7 -0
- package/src/lib/basic-line-chart/basic-line-chart.component.less +8 -0
- package/src/lib/basic-line-chart/basic-line-chart.component.spec.ts +25 -0
- package/src/lib/basic-line-chart/basic-line-chart.component.ts +654 -0
- package/src/lib/basic-line-chart/basic-line-chart.module.ts +15 -0
- package/src/lib/basic-pie-chart/basic-pie-chart.component.html +7 -0
- package/src/lib/basic-pie-chart/basic-pie-chart.component.less +8 -0
- package/src/lib/basic-pie-chart/basic-pie-chart.component.spec.ts +25 -0
- package/src/lib/basic-pie-chart/basic-pie-chart.component.ts +439 -0
- package/src/lib/basic-pie-chart/basic-pie-chart.module.ts +15 -0
- package/src/lib/basic-planimetric-map/basic-planimetric-map.component.html +2 -0
- package/src/lib/basic-planimetric-map/basic-planimetric-map.component.less +9 -0
- package/src/lib/basic-planimetric-map/basic-planimetric-map.component.spec.ts +25 -0
- package/src/lib/basic-planimetric-map/basic-planimetric-map.component.ts +211 -0
- package/src/lib/basic-planimetric-map/basic-planimetric-map.module.ts +16 -0
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.css +0 -0
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.html +1 -0
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.spec.ts +25 -0
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.ts +487 -0
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.module.ts +14 -0
- package/src/lib/bubble-chart/bubble-chart.component.html +7 -0
- package/src/lib/bubble-chart/bubble-chart.component.less +8 -0
- package/src/lib/bubble-chart/bubble-chart.component.spec.ts +25 -0
- package/src/lib/bubble-chart/bubble-chart.component.ts +307 -0
- package/src/lib/bubble-chart/bubble-chart.module.ts +15 -0
- package/src/lib/bulletin-board/bulletin-board.component.html +15 -0
- package/src/lib/bulletin-board/bulletin-board.component.less +27 -0
- package/src/lib/bulletin-board/bulletin-board.component.spec.ts +25 -0
- package/src/lib/bulletin-board/bulletin-board.component.ts +127 -0
- package/src/lib/bulletin-board/bulletin-board.module.ts +20 -0
- package/src/lib/button/button.component.html +1 -0
- package/src/lib/button/button.component.less +17 -0
- package/src/lib/button/button.component.spec.ts +25 -0
- package/src/lib/button/button.component.ts +137 -0
- package/src/lib/button/button.module.ts +16 -0
- package/src/lib/calendar/background-events/background-events.component.html +0 -0
- package/src/lib/calendar/background-events/background-events.component.less +0 -0
- package/src/lib/calendar/background-events/background-events.component.spec.ts +25 -0
- package/src/lib/calendar/background-events/background-events.component.ts +51 -0
- package/src/lib/calendar/calendar-events-child.ts +27 -0
- package/src/lib/calendar/calendar.component.html +2 -0
- package/src/lib/calendar/calendar.component.less +14 -0
- package/src/lib/calendar/calendar.component.spec.ts +25 -0
- package/src/lib/calendar/calendar.component.ts +151 -0
- package/src/lib/calendar/calendar.module.ts +27 -0
- package/src/lib/calendar/calendar.util.ts +14 -0
- package/src/lib/calendar/events/events.component.html +0 -0
- package/src/lib/calendar/events/events.component.less +0 -0
- package/src/lib/calendar/events/events.component.spec.ts +25 -0
- package/src/lib/calendar/events/events.component.ts +61 -0
- package/src/lib/checkbox/checkbox.component.html +61 -0
- package/src/lib/checkbox/checkbox.component.less +104 -0
- package/src/lib/checkbox/checkbox.component.spec.ts +25 -0
- package/src/lib/checkbox/checkbox.component.ts +292 -0
- package/src/lib/checkbox/checkbox.module.ts +16 -0
- package/src/lib/cross-table/cross-table.component.html +16 -0
- package/src/lib/cross-table/cross-table.component.less +75 -0
- package/src/lib/cross-table/cross-table.component.spec.ts +25 -0
- package/src/lib/cross-table/cross-table.component.ts +257 -0
- package/src/lib/cross-table/cross-table.module.ts +18 -0
- package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.html +32 -0
- package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.less +11 -0
- package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.spec.ts +25 -0
- package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.ts +689 -0
- package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.html +0 -0
- package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.less +0 -0
- package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.spec.ts +25 -0
- package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.ts +248 -0
- package/src/lib/custom-baidu-map/base-layer.ts +50 -0
- package/src/lib/custom-baidu-map/custom-baidu-map.component.html +15 -0
- package/src/lib/custom-baidu-map/custom-baidu-map.component.less +69 -0
- package/src/lib/custom-baidu-map/custom-baidu-map.component.spec.ts +25 -0
- package/src/lib/custom-baidu-map/custom-baidu-map.component.ts +652 -0
- package/src/lib/custom-baidu-map/custom-baidu-map.module.ts +41 -0
- package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.html +0 -0
- package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.less +0 -0
- package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.spec.ts +25 -0
- package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.ts +99 -0
- package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.html +0 -0
- package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.less +0 -0
- package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.spec.ts +25 -0
- package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.ts +404 -0
- package/src/lib/data-map/data-map.component.html +9 -0
- package/src/lib/data-map/data-map.component.less +0 -0
- package/src/lib/data-map/data-map.component.spec.ts +25 -0
- package/src/lib/data-map/data-map.component.ts +105 -0
- package/src/lib/data-map/data-map.module.ts +15 -0
- package/src/lib/date-picker/date-picker.component.html +32 -0
- package/src/lib/date-picker/date-picker.component.less +20 -0
- package/src/lib/date-picker/date-picker.component.spec.ts +25 -0
- package/src/lib/date-picker/date-picker.component.ts +389 -0
- package/src/lib/date-picker/date-picker.module.ts +18 -0
- package/src/lib/drop-down-detail-list/drop-down-detail-list.component.html +25 -0
- package/src/lib/drop-down-detail-list/drop-down-detail-list.component.less +35 -0
- package/src/lib/drop-down-detail-list/drop-down-detail-list.component.spec.ts +25 -0
- package/src/lib/drop-down-detail-list/drop-down-detail-list.component.ts +117 -0
- package/src/lib/drop-down-detail-list/drop-down-detail-list.module.ts +15 -0
- package/src/lib/dynamic-list/dynamic-list.component.html +15 -0
- package/src/lib/dynamic-list/dynamic-list.component.less +31 -0
- package/src/lib/dynamic-list/dynamic-list.component.spec.ts +25 -0
- package/src/lib/dynamic-list/dynamic-list.component.ts +57 -0
- package/src/lib/dynamic-list/dynamic-list.module.ts +15 -0
- package/src/lib/funnel-chart/funnel-chart.component.html +7 -0
- package/src/lib/funnel-chart/funnel-chart.component.less +8 -0
- package/src/lib/funnel-chart/funnel-chart.component.spec.ts +25 -0
- package/src/lib/funnel-chart/funnel-chart.component.ts +198 -0
- package/src/lib/funnel-chart/funnel-chart.module.ts +15 -0
- package/src/lib/gantt/gantt.component.html +10 -0
- package/src/lib/gantt/gantt.component.less +76 -0
- package/src/lib/gantt/gantt.component.spec.ts +25 -0
- package/src/lib/gantt/gantt.component.ts +213 -0
- package/src/lib/gantt/gantt.module.ts +37 -0
- package/src/lib/gauge/gauge.component.html +1 -0
- package/src/lib/gauge/gauge.component.less +8 -0
- package/src/lib/gauge/gauge.component.spec.ts +25 -0
- package/src/lib/gauge/gauge.component.ts +268 -0
- package/src/lib/gauge/gauge.module.ts +15 -0
- package/src/lib/gauge-progress/gauge-progress.component.html +29 -0
- package/src/lib/gauge-progress/gauge-progress.component.less +51 -0
- package/src/lib/gauge-progress/gauge-progress.component.ts +293 -0
- package/src/lib/gauge-progress/gauge.module.ts +17 -0
- package/src/lib/general-text/general-text.component.html +7 -0
- package/src/lib/general-text/general-text.component.less +8 -0
- package/src/lib/general-text/general-text.component.spec.ts +25 -0
- package/src/lib/general-text/general-text.component.ts +114 -0
- package/src/lib/general-text/general-text.module.ts +15 -0
- package/src/lib/iconfont/icon.ts +198 -0
- package/src/lib/iconfont/iconfont.component.html +4 -0
- package/src/lib/iconfont/iconfont.component.less +5 -0
- package/src/lib/iconfont/iconfont.component.spec.ts +25 -0
- package/src/lib/iconfont/iconfont.component.ts +42 -0
- package/src/lib/iconfont/iconfont.module.ts +15 -0
- package/src/lib/iframe/iframe.component.html +1 -0
- package/src/lib/iframe/iframe.component.less +13 -0
- package/src/lib/iframe/iframe.component.spec.ts +25 -0
- package/src/lib/iframe/iframe.component.ts +34 -0
- package/src/lib/iframe/iframe.module.ts +15 -0
- package/src/lib/image/image.component.html +2 -0
- package/src/lib/image/image.component.less +13 -0
- package/src/lib/image/image.component.spec.ts +25 -0
- package/src/lib/image/image.component.ts +79 -0
- package/src/lib/image/image.module.ts +14 -0
- package/src/lib/item-swiper/item-swiper.component.html +48 -0
- package/src/lib/item-swiper/item-swiper.component.less +75 -0
- package/src/lib/item-swiper/item-swiper.component.spec.ts +25 -0
- package/src/lib/item-swiper/item-swiper.component.ts +277 -0
- package/src/lib/item-swiper/item-swiper.module.ts +17 -0
- package/src/lib/line-bar-chart/line-bar-chart.component.html +7 -0
- package/src/lib/line-bar-chart/line-bar-chart.component.less +3 -0
- package/src/lib/line-bar-chart/line-bar-chart.component.spec.ts +25 -0
- package/src/lib/line-bar-chart/line-bar-chart.component.ts +346 -0
- package/src/lib/line-bar-chart/line-bar-chart.module.ts +15 -0
- package/src/lib/line-light-flow/line-light-flow.component.css +0 -0
- package/src/lib/line-light-flow/line-light-flow.component.html +3 -0
- package/src/lib/line-light-flow/line-light-flow.component.spec.ts +25 -0
- package/src/lib/line-light-flow/line-light-flow.component.ts +274 -0
- package/src/lib/line-light-flow/line-light-flow.module.ts +21 -0
- package/src/lib/liquid-fill/liquid-fill.component.html +1 -0
- package/src/lib/liquid-fill/liquid-fill.component.less +8 -0
- package/src/lib/liquid-fill/liquid-fill.component.spec.ts +25 -0
- package/src/lib/liquid-fill/liquid-fill.component.ts +127 -0
- package/src/lib/liquid-fill/liquid-fill.module.ts +15 -0
- package/src/lib/marquee/marquee.component.html +5 -0
- package/src/lib/marquee/marquee.component.less +9 -0
- package/src/lib/marquee/marquee.component.spec.ts +25 -0
- package/src/lib/marquee/marquee.component.ts +84 -0
- package/src/lib/marquee/marquee.module.ts +14 -0
- package/src/lib/mip-anim/mip-anim.component.html +1 -0
- package/src/lib/mip-anim/mip-anim.component.less +7 -0
- package/src/lib/mip-anim/mip-anim.component.spec.ts +25 -0
- package/src/lib/mip-anim/mip-anim.component.ts +18 -0
- package/src/lib/mip-anim/mip-anim.module.ts +14 -0
- package/src/lib/multi-title-gauge/multi-title-gauge.component.html +1 -0
- package/src/lib/multi-title-gauge/multi-title-gauge.component.less +9 -0
- package/src/lib/multi-title-gauge/multi-title-gauge.component.spec.ts +25 -0
- package/src/lib/multi-title-gauge/multi-title-gauge.component.ts +231 -0
- package/src/lib/multi-title-gauge/multi-title-gauge.module.ts +19 -0
- package/src/lib/number-flop/number-flop.component.html +31 -0
- package/src/lib/number-flop/number-flop.component.less +155 -0
- package/src/lib/number-flop/number-flop.component.spec.ts +25 -0
- package/src/lib/number-flop/number-flop.component.ts +96 -0
- package/src/lib/number-flop/number-flop.module.ts +14 -0
- package/src/lib/parent-container/parent-container.component.html +0 -0
- package/src/lib/parent-container/parent-container.component.less +0 -0
- package/src/lib/parent-container/parent-container.component.spec.ts +25 -0
- package/src/lib/parent-container/parent-container.component.ts +21 -0
- package/src/lib/parent-container/parent-container.module.ts +14 -0
- package/src/lib/percent-pie-chart/percent-pie-chart.component.html +8 -0
- package/src/lib/percent-pie-chart/percent-pie-chart.component.less +8 -0
- package/src/lib/percent-pie-chart/percent-pie-chart.component.spec.ts +25 -0
- package/src/lib/percent-pie-chart/percent-pie-chart.component.ts +213 -0
- package/src/lib/percent-pie-chart/percent-pie-chart.module.ts +15 -0
- package/src/lib/pie3d-chart/pie3d-chart.component.html +1 -0
- package/src/lib/pie3d-chart/pie3d-chart.component.less +9 -0
- package/src/lib/pie3d-chart/pie3d-chart.component.spec.ts +25 -0
- package/src/lib/pie3d-chart/pie3d-chart.component.ts +278 -0
- package/src/lib/pie3d-chart/pie3d-chart.module.ts +16 -0
- package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.html +0 -0
- package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.less +0 -0
- package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.spec.ts +25 -0
- package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.ts +411 -0
- package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.ts +13 -0
- package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.html +1 -0
- package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.less +0 -0
- package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.spec.ts +25 -0
- package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.ts +235 -0
- package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.ts +16 -0
- package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.html +0 -0
- package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.less +0 -0
- package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.spec.ts +25 -0
- package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.ts +107 -0
- package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.ts +17 -0
- package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.html +0 -0
- package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.less +0 -0
- package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.spec.ts +25 -0
- package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.ts +337 -0
- package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.ts +18 -0
- package/src/lib/planimetric-map2d/planimetric-map2d.component.html +11 -0
- package/src/lib/planimetric-map2d/planimetric-map2d.component.less +9 -0
- package/src/lib/planimetric-map2d/planimetric-map2d.component.spec.ts +25 -0
- package/src/lib/planimetric-map2d/planimetric-map2d.component.ts +690 -0
- package/src/lib/planimetric-map2d/planimetric-map2d.module.ts +29 -0
- package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.html +0 -0
- package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.less +0 -0
- package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.spec.ts +25 -0
- package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.ts +123 -0
- package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.ts +14 -0
- package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.html +0 -0
- package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.less +0 -0
- package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.spec.ts +25 -0
- package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.ts +229 -0
- package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.ts +14 -0
- package/src/lib/planimetric-map3d/planimetric-map3d.component.html +2 -0
- package/src/lib/planimetric-map3d/planimetric-map3d.component.less +10 -0
- package/src/lib/planimetric-map3d/planimetric-map3d.component.spec.ts +25 -0
- package/src/lib/planimetric-map3d/planimetric-map3d.component.ts +227 -0
- package/src/lib/planimetric-map3d/planimetric-map3d.module.ts +17 -0
- package/src/lib/radar-chart/radar-chart.component.html +7 -0
- package/src/lib/radar-chart/radar-chart.component.less +8 -0
- package/src/lib/radar-chart/radar-chart.component.spec.ts +25 -0
- package/src/lib/radar-chart/radar-chart.component.ts +219 -0
- package/src/lib/radar-chart/radar-chart.module.ts +15 -0
- package/src/lib/radio/radio.component.html +18 -0
- package/src/lib/radio/radio.component.less +61 -0
- package/src/lib/radio/radio.component.spec.ts +25 -0
- package/src/lib/radio/radio.component.ts +116 -0
- package/src/lib/radio/radio.module.ts +16 -0
- package/src/lib/rate/rate.component.html +16 -0
- package/src/lib/rate/rate.component.less +39 -0
- package/src/lib/rate/rate.component.spec.ts +25 -0
- package/src/lib/rate/rate.component.ts +40 -0
- package/src/lib/rate/rate.module.ts +18 -0
- package/src/lib/scatter3d/scatter3d.component.html +1 -0
- package/src/lib/scatter3d/scatter3d.component.less +8 -0
- package/src/lib/scatter3d/scatter3d.component.spec.ts +25 -0
- package/src/lib/scatter3d/scatter3d.component.ts +129 -0
- package/src/lib/scatter3d/scatter3d.module.ts +15 -0
- package/src/lib/screen-widget.module.ts +592 -0
- package/src/lib/search/search.component.html +30 -0
- package/src/lib/search/search.component.less +30 -0
- package/src/lib/search/search.component.spec.ts +25 -0
- package/src/lib/search/search.component.ts +103 -0
- package/src/lib/search/search.module.ts +22 -0
- package/src/lib/select/select.component.html +30 -0
- package/src/lib/select/select.component.less +117 -0
- package/src/lib/select/select.component.spec.ts +25 -0
- package/src/lib/select/select.component.ts +297 -0
- package/src/lib/select/select.module.ts +18 -0
- package/src/lib/shape/shape.component.html +39 -0
- package/src/lib/shape/shape.component.less +8 -0
- package/src/lib/shape/shape.component.spec.ts +25 -0
- package/src/lib/shape/shape.component.ts +207 -0
- package/src/lib/shape/shape.module.ts +14 -0
- package/src/lib/shared/component/video-player/video-player.component.html +2 -0
- package/src/lib/shared/component/video-player/video-player.component.less +15 -0
- package/src/lib/shared/component/video-player/video-player.component.spec.ts +25 -0
- package/src/lib/shared/component/video-player/video-player.component.ts +132 -0
- package/src/lib/shared/component/video-player/video-player.module.ts +11 -0
- package/src/lib/shared/model/scale.token.ts +8 -0
- package/src/lib/shared/service/common.service.ts +28 -0
- package/src/lib/shared/service/file-url.service.ts +8 -0
- package/src/lib/shared/service/gaode-map.service.ts +37 -0
- package/src/lib/shared/service/highcharts.service.ts +29 -0
- package/src/lib/shared/service/http.service.ts +15 -0
- package/src/lib/shared/util/base.util.ts +4 -0
- package/src/lib/shared/util/echarts.util.ts +11 -0
- package/src/lib/shared/util/style.util.ts +12 -0
- package/src/lib/shuffling-list/color.pipe.ts +21 -0
- package/src/lib/shuffling-list/shuffling-list.component.html +37 -0
- package/src/lib/shuffling-list/shuffling-list.component.less +55 -0
- package/src/lib/shuffling-list/shuffling-list.component.spec.ts +25 -0
- package/src/lib/shuffling-list/shuffling-list.component.ts +534 -0
- package/src/lib/shuffling-list/shuffling-list.module.ts +17 -0
- package/src/lib/table/table.component.html +123 -0
- package/src/lib/table/table.component.less +76 -0
- package/src/lib/table/table.component.spec.ts +25 -0
- package/src/lib/table/table.component.ts +608 -0
- package/src/lib/table/table.module.ts +33 -0
- package/src/lib/tabs/tab/tab.component.html +1 -0
- package/src/lib/tabs/tab/tab.component.less +5 -0
- package/src/lib/tabs/tab/tab.component.spec.ts +25 -0
- package/src/lib/tabs/tab/tab.component.ts +18 -0
- package/src/lib/tabs/tabs.component.html +13 -0
- package/src/lib/tabs/tabs.component.less +40 -0
- package/src/lib/tabs/tabs.component.spec.ts +25 -0
- package/src/lib/tabs/tabs.component.ts +68 -0
- package/src/lib/tabs/tabs.module.ts +17 -0
- package/src/lib/temporary-data/temporary-data.component.html +1 -0
- package/src/lib/temporary-data/temporary-data.component.less +4 -0
- package/src/lib/temporary-data/temporary-data.component.spec.ts +25 -0
- package/src/lib/temporary-data/temporary-data.component.ts +46 -0
- package/src/lib/temporary-data/temporary-data.module.ts +15 -0
- package/src/lib/text/text.component.css +0 -0
- package/src/lib/text/text.component.html +3 -0
- package/src/lib/text/text.component.spec.ts +25 -0
- package/src/lib/text/text.component.ts +22 -0
- package/src/lib/text/text.module.ts +14 -0
- package/src/lib/time-picker/time-picker.component.html +1 -0
- package/src/lib/time-picker/time-picker.component.less +14 -0
- package/src/lib/time-picker/time-picker.component.spec.ts +25 -0
- package/src/lib/time-picker/time-picker.component.ts +86 -0
- package/src/lib/time-picker/time-picker.module.ts +19 -0
- package/src/lib/timer/timer.component.html +7 -0
- package/src/lib/timer/timer.component.less +24 -0
- package/src/lib/timer/timer.component.spec.ts +25 -0
- package/src/lib/timer/timer.component.ts +74 -0
- package/src/lib/timer/timer.module.ts +15 -0
- package/src/lib/tree-control/tree-control.component.html +97 -0
- package/src/lib/tree-control/tree-control.component.less +111 -0
- package/src/lib/tree-control/tree-control.component.spec.ts +25 -0
- package/src/lib/tree-control/tree-control.component.ts +363 -0
- package/src/lib/tree-control/tree-control.module.ts +18 -0
- package/src/lib/tree-ring-chart/tree-ring-chart.component.html +7 -0
- package/src/lib/tree-ring-chart/tree-ring-chart.component.less +8 -0
- package/src/lib/tree-ring-chart/tree-ring-chart.component.spec.ts +25 -0
- package/src/lib/tree-ring-chart/tree-ring-chart.component.ts +192 -0
- package/src/lib/tree-ring-chart/tree-ring-chart.module.ts +15 -0
- package/src/lib/upload/upload.component.html +32 -0
- package/src/lib/upload/upload.component.less +14 -0
- package/src/lib/upload/upload.component.spec.ts +25 -0
- package/src/lib/upload/upload.component.ts +109 -0
- package/src/lib/upload/upload.module.ts +19 -0
- package/src/lib/video-grid/video-grid.component.html +33 -0
- package/src/lib/video-grid/video-grid.component.less +68 -0
- package/src/lib/video-grid/video-grid.component.spec.ts +25 -0
- package/src/lib/video-grid/video-grid.component.ts +115 -0
- package/src/lib/video-grid/video-grid.module.ts +17 -0
- package/src/lib/visual-map-chart/visual-map-chart.component.html +8 -0
- package/src/lib/visual-map-chart/visual-map-chart.component.less +21 -0
- package/src/lib/visual-map-chart/visual-map-chart.component.spec.ts +25 -0
- package/src/lib/visual-map-chart/visual-map-chart.component.ts +365 -0
- package/src/lib/visual-map-chart/visual-map-chart.module.ts +18 -0
- package/src/lib/vote/vote.component.html +6 -0
- package/src/lib/vote/vote.component.less +41 -0
- package/src/lib/vote/vote.component.spec.ts +25 -0
- package/src/lib/vote/vote.component.ts +71 -0
- package/src/lib/vote/vote.module.ts +16 -0
- package/src/lib/weather/weather.component.html +27 -0
- package/src/lib/weather/weather.component.less +67 -0
- package/src/lib/weather/weather.component.spec.ts +25 -0
- package/src/lib/weather/weather.component.ts +78 -0
- package/src/lib/weather/weather.module.ts +16 -0
- package/src/lib/wordart/wordart.component.html +2 -0
- package/src/lib/wordart/wordart.component.less +12 -0
- package/src/lib/wordart/wordart.component.spec.ts +25 -0
- package/src/lib/wordart/wordart.component.ts +56 -0
- package/src/lib/wordart/wordart.module.ts +14 -0
- package/src/lib/workbench-widget.module.ts +675 -0
- package/{public-api.d.ts → src/public-api.ts} +46 -35
- package/src/test.ts +22 -0
- package/tsconfig.lib.json +37 -0
- package/tsconfig.lib.prod.json +9 -0
- package/tsconfig.spec.json +17 -0
- package/tslint.json +17 -0
- package/bbj-screen-widget.d.ts +0 -119
- package/bbj-screen-widget.metadata.json +0 -1
- package/bundles/bbj-screen-widget-core.umd.js +0 -606
- package/bundles/bbj-screen-widget-core.umd.js.map +0 -1
- package/bundles/bbj-screen-widget-core.umd.min.js +0 -2
- package/bundles/bbj-screen-widget-core.umd.min.js.map +0 -1
- package/bundles/bbj-screen-widget.umd.js +0 -21720
- package/bundles/bbj-screen-widget.umd.js.map +0 -1
- package/bundles/bbj-screen-widget.umd.min.js +0 -2
- package/bundles/bbj-screen-widget.umd.min.js.map +0 -1
- package/core/bbj-screen-widget-core.d.ts +0 -4
- package/core/bbj-screen-widget-core.metadata.json +0 -1
- package/core/service/baidu-map.service.d.ts +0 -16
- package/esm2015/bbj-screen-widget.js +0 -120
- package/esm2015/core/bbj-screen-widget-core.js +0 -5
- package/esm2015/core/public_api.js +0 -2
- package/esm2015/core/service/baidu-map.service.js +0 -101
- package/esm2015/lib/announcement/announcement.component.js +0 -80
- package/esm2015/lib/announcement/announcement.module.js +0 -25
- package/esm2015/lib/audio/audio.component.js +0 -167
- package/esm2015/lib/audio/audio.module.js +0 -20
- package/esm2015/lib/background/background.component.js +0 -52
- package/esm2015/lib/background/background.module.js +0 -19
- package/esm2015/lib/bar-chart-three-d/bar-chart-three-d.component.js +0 -323
- package/esm2015/lib/bar-chart-three-d/bar-chart-three-d.module.js +0 -20
- package/esm2015/lib/basic-bar-chart/basic-bar-chart.component.js +0 -604
- package/esm2015/lib/basic-bar-chart/basic-bar-chart.module.js +0 -27
- package/esm2015/lib/basic-line-chart/basic-line-chart.component.js +0 -782
- package/esm2015/lib/basic-line-chart/basic-line-chart.module.js +0 -20
- package/esm2015/lib/basic-pie-chart/basic-pie-chart.component.js +0 -471
- package/esm2015/lib/basic-pie-chart/basic-pie-chart.module.js +0 -20
- package/esm2015/lib/basic-planimetric-map/basic-planimetric-map.component.js +0 -233
- package/esm2015/lib/basic-planimetric-map/basic-planimetric-map.module.js +0 -21
- package/esm2015/lib/breathing-bubble-layer/breathing-bubble-layer.component.js +0 -503
- package/esm2015/lib/breathing-bubble-layer/breathing-bubble-layer.module.js +0 -19
- package/esm2015/lib/bubble-chart/bubble-chart.component.js +0 -348
- package/esm2015/lib/bubble-chart/bubble-chart.module.js +0 -20
- package/esm2015/lib/bulletin-board/bulletin-board.component.js +0 -160
- package/esm2015/lib/bulletin-board/bulletin-board.module.js +0 -23
- package/esm2015/lib/button/button.component.js +0 -186
- package/esm2015/lib/button/button.module.js +0 -21
- package/esm2015/lib/calendar/background-events/background-events.component.js +0 -65
- package/esm2015/lib/calendar/calendar-events-child.js +0 -28
- package/esm2015/lib/calendar/calendar.component.js +0 -168
- package/esm2015/lib/calendar/calendar.module.js +0 -32
- package/esm2015/lib/calendar/calendar.util.js +0 -12
- package/esm2015/lib/calendar/events/events.component.js +0 -75
- package/esm2015/lib/checkbox/checkbox.component.js +0 -333
- package/esm2015/lib/checkbox/checkbox.module.js +0 -21
- package/esm2015/lib/cross-table/cross-table.component.js +0 -291
- package/esm2015/lib/cross-table/cross-table.module.js +0 -20
- package/esm2015/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.js +0 -732
- package/esm2015/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.js +0 -278
- package/esm2015/lib/custom-baidu-map/base-layer.js +0 -53
- package/esm2015/lib/custom-baidu-map/custom-baidu-map.component.js +0 -675
- package/esm2015/lib/custom-baidu-map/custom-baidu-map.module.js +0 -46
- package/esm2015/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.js +0 -116
- package/esm2015/lib/custom-baidu-map/wind-layer/wind-layer.component.js +0 -331
- package/esm2015/lib/date-picker/date-picker.component.js +0 -447
- package/esm2015/lib/date-picker/date-picker.module.js +0 -22
- package/esm2015/lib/funnel-chart/funnel-chart.component.js +0 -241
- package/esm2015/lib/funnel-chart/funnel-chart.module.js +0 -20
- package/esm2015/lib/gantt/gantt.component.js +0 -222
- package/esm2015/lib/gantt/gantt.module.js +0 -39
- package/esm2015/lib/gauge/gauge.component.js +0 -324
- package/esm2015/lib/gauge/gauge.module.js +0 -20
- package/esm2015/lib/gauge-progress/gauge-progress.component.js +0 -356
- package/esm2015/lib/gauge-progress/gauge.module.js +0 -22
- package/esm2015/lib/general-text/general-text.component.js +0 -144
- package/esm2015/lib/general-text/general-text.module.js +0 -20
- package/esm2015/lib/iconfont/icon.js +0 -199
- package/esm2015/lib/iconfont/iconfont.component.js +0 -56
- package/esm2015/lib/iconfont/iconfont.module.js +0 -20
- package/esm2015/lib/iframe/iframe.component.js +0 -46
- package/esm2015/lib/iframe/iframe.module.js +0 -20
- package/esm2015/lib/image/image.component.js +0 -98
- package/esm2015/lib/image/image.module.js +0 -19
- package/esm2015/lib/item-swiper/item-swiper.component.js +0 -343
- package/esm2015/lib/item-swiper/item-swiper.module.js +0 -22
- package/esm2015/lib/line-bar-chart/line-bar-chart.component.js +0 -398
- package/esm2015/lib/line-bar-chart/line-bar-chart.module.js +0 -20
- package/esm2015/lib/line-light-flow/line-light-flow.component.js +0 -241
- package/esm2015/lib/line-light-flow/line-light-flow.module.js +0 -24
- package/esm2015/lib/liquid-fill/liquid-fill.component.js +0 -158
- package/esm2015/lib/liquid-fill/liquid-fill.module.js +0 -20
- package/esm2015/lib/marquee/marquee.component.js +0 -110
- package/esm2015/lib/marquee/marquee.module.js +0 -19
- package/esm2015/lib/mip-anim/mip-anim.component.js +0 -26
- package/esm2015/lib/mip-anim/mip-anim.module.js +0 -19
- package/esm2015/lib/multi-title-gauge/multi-title-gauge.component.js +0 -277
- package/esm2015/lib/multi-title-gauge/multi-title-gauge.module.js +0 -22
- package/esm2015/lib/number-flop/number-flop.component.js +0 -124
- package/esm2015/lib/number-flop/number-flop.module.js +0 -19
- package/esm2015/lib/parent-container/parent-container.component.js +0 -21
- package/esm2015/lib/parent-container/parent-container.module.js +0 -19
- package/esm2015/lib/percent-pie-chart/percent-pie-chart.component.js +0 -248
- package/esm2015/lib/percent-pie-chart/percent-pie-chart.module.js +0 -20
- package/esm2015/lib/pie3d-chart/pie3d-chart.component.js +0 -303
- package/esm2015/lib/pie3d-chart/pie3d-chart.module.js +0 -19
- package/esm2015/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.js +0 -431
- package/esm2015/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.js +0 -19
- package/esm2015/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.js +0 -252
- package/esm2015/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.js +0 -19
- package/esm2015/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.js +0 -124
- package/esm2015/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.js +0 -19
- package/esm2015/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.js +0 -359
- package/esm2015/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.js +0 -21
- package/esm2015/lib/planimetric-map2d/planimetric-map2d.component.js +0 -753
- package/esm2015/lib/planimetric-map2d/planimetric-map2d.module.js +0 -34
- package/esm2015/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.js +0 -128
- package/esm2015/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.js +0 -19
- package/esm2015/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.js +0 -242
- package/esm2015/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.js +0 -19
- package/esm2015/lib/planimetric-map3d/planimetric-map3d.component.js +0 -265
- package/esm2015/lib/planimetric-map3d/planimetric-map3d.module.js +0 -22
- package/esm2015/lib/radar-chart/radar-chart.component.js +0 -255
- package/esm2015/lib/radar-chart/radar-chart.module.js +0 -20
- package/esm2015/lib/radio/radio.component.js +0 -148
- package/esm2015/lib/radio/radio.module.js +0 -21
- package/esm2015/lib/rate/rate.component.js +0 -57
- package/esm2015/lib/rate/rate.module.js +0 -23
- package/esm2015/lib/scatter3d/scatter3d.component.js +0 -166
- package/esm2015/lib/scatter3d/scatter3d.module.js +0 -20
- package/esm2015/lib/screen-widget.module.js +0 -536
- package/esm2015/lib/search/search.component.js +0 -130
- package/esm2015/lib/search/search.module.js +0 -29
- package/esm2015/lib/select/select.component.js +0 -359
- package/esm2015/lib/select/select.module.js +0 -22
- package/esm2015/lib/shape/shape.component.js +0 -248
- package/esm2015/lib/shape/shape.module.js +0 -19
- package/esm2015/lib/shared/component/video-player/video-player.component.js +0 -114
- package/esm2015/lib/shared/component/video-player/video-player.module.js +0 -14
- package/esm2015/lib/shared/service/common.service.js +0 -39
- package/esm2015/lib/shared/service/file-url.service.js +0 -12
- package/esm2015/lib/shared/service/gaode-map.service.js +0 -36
- package/esm2015/lib/shared/service/highcharts.service.js +0 -36
- package/esm2015/lib/shared/service/http.service.js +0 -20
- package/esm2015/lib/shared/util/base.util.js +0 -5
- package/esm2015/lib/shared/util/echarts.util.js +0 -12
- package/esm2015/lib/shared/util/style.util.js +0 -19
- package/esm2015/lib/shuffling-list/color.pipe.js +0 -23
- package/esm2015/lib/shuffling-list/shuffling-list.component.js +0 -601
- package/esm2015/lib/shuffling-list/shuffling-list.module.js +0 -22
- package/esm2015/lib/table/table.component.js +0 -657
- package/esm2015/lib/table/table.module.js +0 -38
- package/esm2015/lib/tabs/tab/tab.component.js +0 -27
- package/esm2015/lib/tabs/tabs.component.js +0 -85
- package/esm2015/lib/tabs/tabs.module.js +0 -22
- package/esm2015/lib/temporary-data/temporary-data.component.js +0 -49
- package/esm2015/lib/temporary-data/temporary-data.module.js +0 -20
- package/esm2015/lib/time-picker/time-picker.component.js +0 -112
- package/esm2015/lib/time-picker/time-picker.module.js +0 -21
- package/esm2015/lib/timer/timer.component.js +0 -108
- package/esm2015/lib/timer/timer.module.js +0 -20
- package/esm2015/lib/tree-control/tree-control.component.js +0 -435
- package/esm2015/lib/tree-control/tree-control.module.js +0 -24
- package/esm2015/lib/tree-ring-chart/tree-ring-chart.component.js +0 -215
- package/esm2015/lib/tree-ring-chart/tree-ring-chart.module.js +0 -20
- package/esm2015/lib/upload/upload.component.js +0 -127
- package/esm2015/lib/upload/upload.module.js +0 -22
- package/esm2015/lib/video-grid/video-grid.component.js +0 -140
- package/esm2015/lib/video-grid/video-grid.module.js +0 -22
- package/esm2015/lib/visual-map-chart/visual-map-chart.component.js +0 -395
- package/esm2015/lib/visual-map-chart/visual-map-chart.module.js +0 -20
- package/esm2015/lib/vote/vote.component.js +0 -100
- package/esm2015/lib/vote/vote.module.js +0 -21
- package/esm2015/lib/weather/weather.component.js +0 -92
- package/esm2015/lib/weather/weather.module.js +0 -21
- package/esm2015/lib/wordart/wordart.component.js +0 -84
- package/esm2015/lib/wordart/wordart.module.js +0 -19
- package/esm2015/lib/workbench-widget.module.js +0 -620
- package/esm2015/public-api.js +0 -40
- package/fesm2015/bbj-screen-widget-core.js +0 -107
- package/fesm2015/bbj-screen-widget-core.js.map +0 -1
- package/fesm2015/bbj-screen-widget.js +0 -20618
- package/fesm2015/bbj-screen-widget.js.map +0 -1
- package/lib/announcement/announcement.component.d.ts +0 -13
- package/lib/announcement/announcement.module.d.ts +0 -5
- package/lib/audio/audio.component.d.ts +0 -22
- package/lib/audio/audio.module.d.ts +0 -4
- package/lib/background/background.component.d.ts +0 -12
- package/lib/background/background.module.d.ts +0 -4
- package/lib/bar-chart-three-d/bar-chart-three-d.component.d.ts +0 -30
- package/lib/bar-chart-three-d/bar-chart-three-d.module.d.ts +0 -4
- package/lib/basic-bar-chart/basic-bar-chart.component.d.ts +0 -105
- package/lib/basic-bar-chart/basic-bar-chart.module.d.ts +0 -5
- package/lib/basic-line-chart/basic-line-chart.component.d.ts +0 -102
- package/lib/basic-line-chart/basic-line-chart.module.d.ts +0 -4
- package/lib/basic-pie-chart/basic-pie-chart.component.d.ts +0 -56
- package/lib/basic-pie-chart/basic-pie-chart.module.d.ts +0 -4
- package/lib/basic-planimetric-map/basic-planimetric-map.component.d.ts +0 -18
- package/lib/basic-planimetric-map/basic-planimetric-map.module.d.ts +0 -4
- package/lib/breathing-bubble-layer/breathing-bubble-layer.component.d.ts +0 -210
- package/lib/breathing-bubble-layer/breathing-bubble-layer.module.d.ts +0 -4
- package/lib/bubble-chart/bubble-chart.component.d.ts +0 -75
- package/lib/bubble-chart/bubble-chart.module.d.ts +0 -4
- package/lib/bulletin-board/bulletin-board.component.d.ts +0 -25
- package/lib/bulletin-board/bulletin-board.module.d.ts +0 -4
- package/lib/button/button.component.d.ts +0 -25
- package/lib/button/button.module.d.ts +0 -4
- package/lib/calendar/background-events/background-events.component.d.ts +0 -10
- package/lib/calendar/calendar-events-child.d.ts +0 -12
- package/lib/calendar/calendar.component.d.ts +0 -27
- package/lib/calendar/calendar.module.d.ts +0 -4
- package/lib/calendar/calendar.util.d.ts +0 -6
- package/lib/calendar/events/events.component.d.ts +0 -13
- package/lib/checkbox/checkbox.component.d.ts +0 -45
- package/lib/checkbox/checkbox.module.d.ts +0 -4
- package/lib/cross-table/cross-table.component.d.ts +0 -30
- package/lib/cross-table/cross-table.module.d.ts +0 -4
- package/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.d.ts +0 -70
- package/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.d.ts +0 -23
- package/lib/custom-baidu-map/base-layer.d.ts +0 -16
- package/lib/custom-baidu-map/custom-baidu-map.component.d.ts +0 -93
- package/lib/custom-baidu-map/custom-baidu-map.module.d.ts +0 -4
- package/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.d.ts +0 -16
- package/lib/custom-baidu-map/wind-layer/wind-layer.component.d.ts +0 -28
- package/lib/date-picker/date-picker.component.d.ts +0 -63
- package/lib/date-picker/date-picker.module.d.ts +0 -4
- package/lib/funnel-chart/funnel-chart.component.d.ts +0 -24
- package/lib/funnel-chart/funnel-chart.module.d.ts +0 -4
- package/lib/gantt/gantt.component.d.ts +0 -25
- package/lib/gantt/gantt.module.d.ts +0 -4
- package/lib/gauge/gauge.component.d.ts +0 -37
- package/lib/gauge/gauge.module.d.ts +0 -4
- package/lib/gauge-progress/gauge-progress.component.d.ts +0 -46
- package/lib/gauge-progress/gauge.module.d.ts +0 -5
- package/lib/general-text/general-text.component.d.ts +0 -21
- package/lib/general-text/general-text.module.d.ts +0 -4
- package/lib/iconfont/icon.d.ts +0 -1
- package/lib/iconfont/iconfont.component.d.ts +0 -11
- package/lib/iconfont/iconfont.module.d.ts +0 -4
- package/lib/iframe/iframe.component.d.ts +0 -10
- package/lib/iframe/iframe.module.d.ts +0 -4
- package/lib/image/image.component.d.ts +0 -21
- package/lib/image/image.module.d.ts +0 -4
- package/lib/item-swiper/item-swiper.component.d.ts +0 -41
- package/lib/item-swiper/item-swiper.module.d.ts +0 -5
- package/lib/line-bar-chart/line-bar-chart.component.d.ts +0 -63
- package/lib/line-bar-chart/line-bar-chart.module.d.ts +0 -4
- package/lib/line-light-flow/line-light-flow.component.d.ts +0 -26
- package/lib/line-light-flow/line-light-flow.module.d.ts +0 -4
- package/lib/liquid-fill/liquid-fill.component.d.ts +0 -18
- package/lib/liquid-fill/liquid-fill.module.d.ts +0 -4
- package/lib/marquee/marquee.component.d.ts +0 -20
- package/lib/marquee/marquee.module.d.ts +0 -4
- package/lib/mip-anim/mip-anim.component.d.ts +0 -6
- package/lib/mip-anim/mip-anim.module.d.ts +0 -4
- package/lib/multi-title-gauge/multi-title-gauge.component.d.ts +0 -26
- package/lib/multi-title-gauge/multi-title-gauge.module.d.ts +0 -4
- package/lib/number-flop/number-flop.component.d.ts +0 -22
- package/lib/number-flop/number-flop.module.d.ts +0 -4
- package/lib/parent-container/parent-container.component.d.ts +0 -9
- package/lib/parent-container/parent-container.module.d.ts +0 -4
- package/lib/percent-pie-chart/percent-pie-chart.component.d.ts +0 -24
- package/lib/percent-pie-chart/percent-pie-chart.module.d.ts +0 -4
- package/lib/pie3d-chart/pie3d-chart.component.d.ts +0 -30
- package/lib/pie3d-chart/pie3d-chart.module.d.ts +0 -4
- package/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.d.ts +0 -206
- package/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.d.ts +0 -4
- package/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.d.ts +0 -15
- package/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.d.ts +0 -4
- package/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.d.ts +0 -15
- package/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.d.ts +0 -4
- package/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.d.ts +0 -49
- package/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.d.ts +0 -4
- package/lib/planimetric-map2d/planimetric-map2d.component.d.ts +0 -49
- package/lib/planimetric-map2d/planimetric-map2d.module.d.ts +0 -4
- package/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.d.ts +0 -14
- package/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.d.ts +0 -4
- package/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.d.ts +0 -41
- package/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.d.ts +0 -4
- package/lib/planimetric-map3d/planimetric-map3d.component.d.ts +0 -29
- package/lib/planimetric-map3d/planimetric-map3d.module.d.ts +0 -4
- package/lib/radar-chart/radar-chart.component.d.ts +0 -24
- package/lib/radar-chart/radar-chart.module.d.ts +0 -4
- package/lib/radio/radio.component.d.ts +0 -21
- package/lib/radio/radio.module.d.ts +0 -4
- package/lib/rate/rate.component.d.ts +0 -13
- package/lib/rate/rate.module.d.ts +0 -4
- package/lib/scatter3d/scatter3d.component.d.ts +0 -25
- package/lib/scatter3d/scatter3d.module.d.ts +0 -4
- package/lib/screen-widget.module.d.ts +0 -4
- package/lib/search/search.component.d.ts +0 -21
- package/lib/search/search.module.d.ts +0 -6
- package/lib/select/select.component.d.ts +0 -37
- package/lib/select/select.module.d.ts +0 -4
- package/lib/shape/shape.component.d.ts +0 -50
- package/lib/shape/shape.module.d.ts +0 -4
- package/lib/shared/component/video-player/video-player.component.d.ts +0 -28
- package/lib/shared/component/video-player/video-player.module.d.ts +0 -2
- package/lib/shared/service/common.service.d.ts +0 -21
- package/lib/shared/service/file-url.service.d.ts +0 -3
- package/lib/shared/service/gaode-map.service.d.ts +0 -10
- package/lib/shared/service/highcharts.service.d.ts +0 -9
- package/lib/shared/service/http.service.d.ts +0 -7
- package/lib/shared/util/base.util.d.ts +0 -1
- package/lib/shared/util/echarts.util.d.ts +0 -1
- package/lib/shared/util/style.util.d.ts +0 -1
- package/lib/shuffling-list/color.pipe.d.ts +0 -4
- package/lib/shuffling-list/shuffling-list.component.d.ts +0 -76
- package/lib/shuffling-list/shuffling-list.module.d.ts +0 -4
- package/lib/table/table.component.d.ts +0 -65
- package/lib/table/table.module.d.ts +0 -4
- package/lib/tabs/tab/tab.component.d.ts +0 -7
- package/lib/tabs/tabs.component.d.ts +0 -13
- package/lib/tabs/tabs.module.d.ts +0 -4
- package/lib/temporary-data/temporary-data.component.d.ts +0 -13
- package/lib/temporary-data/temporary-data.module.d.ts +0 -4
- package/lib/time-picker/time-picker.component.d.ts +0 -17
- package/lib/time-picker/time-picker.module.d.ts +0 -4
- package/lib/timer/timer.component.d.ts +0 -21
- package/lib/timer/timer.module.d.ts +0 -4
- package/lib/tree-control/tree-control.component.d.ts +0 -62
- package/lib/tree-control/tree-control.module.d.ts +0 -4
- package/lib/tree-ring-chart/tree-ring-chart.component.d.ts +0 -24
- package/lib/tree-ring-chart/tree-ring-chart.module.d.ts +0 -4
- package/lib/upload/upload.component.d.ts +0 -21
- package/lib/upload/upload.module.d.ts +0 -4
- package/lib/video-grid/video-grid.component.d.ts +0 -23
- package/lib/video-grid/video-grid.module.d.ts +0 -4
- package/lib/visual-map-chart/visual-map-chart.component.d.ts +0 -49
- package/lib/visual-map-chart/visual-map-chart.module.d.ts +0 -4
- package/lib/vote/vote.component.d.ts +0 -15
- package/lib/vote/vote.module.d.ts +0 -4
- package/lib/weather/weather.component.d.ts +0 -26
- package/lib/weather/weather.module.d.ts +0 -4
- package/lib/wordart/wordart.component.d.ts +0 -14
- package/lib/wordart/wordart.module.d.ts +0 -4
- package/lib/workbench-widget.module.d.ts +0 -4
- /package/core/{public_api.d.ts → src/public_api.ts} +0 -0
|
@@ -1,782 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Component, EventEmitter } from '@angular/core';
|
|
3
|
-
import { Data, Property, Widget, Drill, DataOutput } from 'bbj-widget-base';
|
|
4
|
-
import { getEchartsTextStyle } from '../shared/util/echarts.util';
|
|
5
|
-
const ɵ0 = { lineColor: ['#FF851D', '#FFEF66'] }, ɵ1 = { lineColor: ['#00D191', '#00FECB'] }, ɵ2 = { lineColor: ['#3285FF', '#00D2FD'] }, ɵ3 = { lineColor: ['#8934F8', '#FF3699'] }, ɵ4 = (value) => !value, ɵ5 = (value) => !value, ɵ6 = (value) => !value, ɵ7 = (value) => !value;
|
|
6
|
-
let BasicLineChartComponent = class BasicLineChartComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.type = 'basic';
|
|
9
|
-
this.lineColor = ['#3285FF', '#00D2FD'];
|
|
10
|
-
this.font = {
|
|
11
|
-
family: '',
|
|
12
|
-
color: '#595F7A',
|
|
13
|
-
weight: 'normal',
|
|
14
|
-
size: 12,
|
|
15
|
-
space: 0,
|
|
16
|
-
lineHeight: 12,
|
|
17
|
-
};
|
|
18
|
-
this.grid = {
|
|
19
|
-
top: 30,
|
|
20
|
-
right: 30,
|
|
21
|
-
bottom: 40,
|
|
22
|
-
left: 36,
|
|
23
|
-
};
|
|
24
|
-
this.align = 'center';
|
|
25
|
-
this.axisType = 'none';
|
|
26
|
-
this.lineType = 'dashed';
|
|
27
|
-
// @Property('轴单位', {ui: {widget: 'myUnit'}})
|
|
28
|
-
// unit = {x: '', y: ''};
|
|
29
|
-
this.axisColor = '#333333';
|
|
30
|
-
this.axisWidth = 10;
|
|
31
|
-
this.xType = 'category';
|
|
32
|
-
this.yUnit = '';
|
|
33
|
-
this.xUnit = '';
|
|
34
|
-
this.boundaryGap = true;
|
|
35
|
-
this.showY = true;
|
|
36
|
-
this.netLine = false;
|
|
37
|
-
this.netLineType = 'dashed';
|
|
38
|
-
this.netLineX = false;
|
|
39
|
-
this.netLineXType = 'dashed';
|
|
40
|
-
this.netLineColor = 'rgba(255,255,255,0.2)';
|
|
41
|
-
this.label = false;
|
|
42
|
-
this.markLine = false;
|
|
43
|
-
this.YmarkLineHeight = 10;
|
|
44
|
-
// @Property('显示X轴', {
|
|
45
|
-
// ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },
|
|
46
|
-
// })
|
|
47
|
-
// showX = true;
|
|
48
|
-
this.YmarkLineName = '';
|
|
49
|
-
// @Property('标线数值', { type: 'number' })
|
|
50
|
-
// markLineVal = null;
|
|
51
|
-
this.YmarkLineType = 'dashed';
|
|
52
|
-
this.YmarkLineColor = '#f00';
|
|
53
|
-
this.YmarkWidth = 2;
|
|
54
|
-
this.XmarkLineLocation = '二月';
|
|
55
|
-
this.XmarkLineName = '';
|
|
56
|
-
this.XmarkLineType = 'dashed';
|
|
57
|
-
this.XmarkLineColor = '#f00';
|
|
58
|
-
this.XmarkWidth = 2;
|
|
59
|
-
this.xLabelRotate = 0;
|
|
60
|
-
this.xLabelOverflow = 'auto';
|
|
61
|
-
this.zoomOnMouseWheel = true;
|
|
62
|
-
this.chartOption = null;
|
|
63
|
-
this._data = [
|
|
64
|
-
{ x: '一月', y: 10, s: '收入' },
|
|
65
|
-
{ x: '二月', y: 20, s: '收入' },
|
|
66
|
-
{ x: '三月', y: 25, s: '收入' },
|
|
67
|
-
{ x: '四月', y: 35, s: '收入' },
|
|
68
|
-
{ x: '五月', y: 27, s: '收入' },
|
|
69
|
-
{ x: '六月', y: 28, s: '收入' },
|
|
70
|
-
{ x: '一月', y: 18, s: '支出' },
|
|
71
|
-
{ x: '二月', y: 28, s: '支出' },
|
|
72
|
-
{ x: '三月', y: 32, s: '支出' },
|
|
73
|
-
{ x: '四月', y: 48, s: '支出' },
|
|
74
|
-
{ x: '五月', y: 20, s: '支出' },
|
|
75
|
-
{ x: '六月', y: 17, s: '支出' },
|
|
76
|
-
];
|
|
77
|
-
this.dataClick = new EventEmitter();
|
|
78
|
-
this.xData = [];
|
|
79
|
-
this.yData = [];
|
|
80
|
-
// series = [];
|
|
81
|
-
this.style = {
|
|
82
|
-
color: '',
|
|
83
|
-
fontFamily: '',
|
|
84
|
-
fontWeight: '',
|
|
85
|
-
fontSize: '',
|
|
86
|
-
lineHeight: '',
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
ngOnInit() { }
|
|
90
|
-
ngOnChanges(changes) {
|
|
91
|
-
if (changes._data) {
|
|
92
|
-
const textStyle = this.getTextStyle(this.font);
|
|
93
|
-
this.style = textStyle;
|
|
94
|
-
this.chartOption = {
|
|
95
|
-
dataZoom: this.getDataZoom(),
|
|
96
|
-
tooltip: this.getTooltip(),
|
|
97
|
-
legend: this.getLegend(),
|
|
98
|
-
grid: this.getGrid(),
|
|
99
|
-
xAxis: this.getXAxis(),
|
|
100
|
-
yAxis: this.getYAxis(),
|
|
101
|
-
color: this.lineColor,
|
|
102
|
-
series: [],
|
|
103
|
-
};
|
|
104
|
-
this.reloadData();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
getXAxis() {
|
|
108
|
-
return {
|
|
109
|
-
name: this.xUnit,
|
|
110
|
-
nameTextStyle: this.style,
|
|
111
|
-
type: this.xType || 'category',
|
|
112
|
-
boundaryGap: this.boundaryGap,
|
|
113
|
-
axisLine: {
|
|
114
|
-
lineStyle: {
|
|
115
|
-
color: this.style.color,
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
axisLabel: Object.assign(Object.assign({}, this.style), { rotate: this.xLabelRotate, show: !this.hideXLabel, width: this.xLabelWidth, overflow: this.xLabelOverflow, interval: this.xLabelInterval }),
|
|
119
|
-
splitLine: {
|
|
120
|
-
show: this.netLineX,
|
|
121
|
-
lineStyle: {
|
|
122
|
-
type: this.netLineXType,
|
|
123
|
-
color: this.netLineColor,
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
getYAxis() {
|
|
129
|
-
return {
|
|
130
|
-
show: true,
|
|
131
|
-
name: this.yUnit,
|
|
132
|
-
nameTextStyle: this.style,
|
|
133
|
-
type: 'value',
|
|
134
|
-
min: this.yMin,
|
|
135
|
-
max: (value) => {
|
|
136
|
-
let yMax = value.max;
|
|
137
|
-
if (this.yMax) {
|
|
138
|
-
yMax = Number(this.yMax);
|
|
139
|
-
}
|
|
140
|
-
else if (this.markLine) {
|
|
141
|
-
yMax = Math.max(Number(this.YmarkLineHeight), yMax);
|
|
142
|
-
}
|
|
143
|
-
return Math.ceil(this.yMaxAddNum ? yMax + Number(this.yMaxAddNum) : yMax);
|
|
144
|
-
},
|
|
145
|
-
axisLine: {
|
|
146
|
-
show: this.showY,
|
|
147
|
-
lineStyle: {
|
|
148
|
-
color: this.style.color,
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
axisLabel: this.style,
|
|
152
|
-
splitLine: {
|
|
153
|
-
show: this.netLine,
|
|
154
|
-
lineStyle: {
|
|
155
|
-
type: this.netLineXType,
|
|
156
|
-
color: this.netLineColor,
|
|
157
|
-
},
|
|
158
|
-
},
|
|
159
|
-
axisTick: {
|
|
160
|
-
show: this.showY,
|
|
161
|
-
},
|
|
162
|
-
minInterval: this.yMinInterval,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
getGrid() {
|
|
166
|
-
return {
|
|
167
|
-
top: this.grid.top,
|
|
168
|
-
right: this.grid.right,
|
|
169
|
-
left: this.grid.left,
|
|
170
|
-
bottom: this.grid.bottom,
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
getLegend() {
|
|
174
|
-
return {
|
|
175
|
-
align: 'left',
|
|
176
|
-
left: this.align,
|
|
177
|
-
show: this.align !== 'none',
|
|
178
|
-
icon: 'rect',
|
|
179
|
-
textStyle: this.style,
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
getTooltip() {
|
|
183
|
-
return {
|
|
184
|
-
trigger: 'axis',
|
|
185
|
-
textStyle: this.getTextStyle(this.tooltipFont),
|
|
186
|
-
axisPointer: {
|
|
187
|
-
type: this.axisType,
|
|
188
|
-
label: {
|
|
189
|
-
show: false,
|
|
190
|
-
},
|
|
191
|
-
lineStyle: {
|
|
192
|
-
type: this.lineType,
|
|
193
|
-
color: this.axisColor,
|
|
194
|
-
width: this.axisWidth,
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
getTextStyle(font) {
|
|
200
|
-
return getEchartsTextStyle(font);
|
|
201
|
-
}
|
|
202
|
-
getDataZoom() {
|
|
203
|
-
const dataZoom = [];
|
|
204
|
-
if (this.insideDataZoom) {
|
|
205
|
-
let enableDataZoom = true;
|
|
206
|
-
if (this.dataZoomMinData != null) {
|
|
207
|
-
const xSet = new Set();
|
|
208
|
-
this._data.forEach((data) => {
|
|
209
|
-
if (data.x) {
|
|
210
|
-
xSet.add(data.x);
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
if (xSet.size < this.dataZoomMinData) {
|
|
214
|
-
enableDataZoom = false;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
if (enableDataZoom) {
|
|
218
|
-
let start = this.dataZoomStart || 0;
|
|
219
|
-
let end = this.dataZoomEnd || 100;
|
|
220
|
-
dataZoom.push({ type: 'inside', start, end, zoomOnMouseWheel: this.zoomOnMouseWheel });
|
|
221
|
-
if (this.sliderDataZoom) {
|
|
222
|
-
dataZoom.push({ type: 'slider', start, end, zoomLock: this.zoomLock, brushSelect: false });
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
return dataZoom;
|
|
227
|
-
}
|
|
228
|
-
reloadData() {
|
|
229
|
-
const seriesMap = {};
|
|
230
|
-
const dataset = [];
|
|
231
|
-
const source = [];
|
|
232
|
-
dataset.push({ source });
|
|
233
|
-
this._data.forEach((record) => {
|
|
234
|
-
// 针对markline标线关联数据库的操作, 若x的名字与markline的name一致,则获取对应的y轴数据作为markline的value; 目前仅支持一个markline
|
|
235
|
-
// data中过滤掉markline的数据
|
|
236
|
-
if (this.markLine && this.YmarkLineName && record.x === this.YmarkLineName) {
|
|
237
|
-
this.YmarkLineHeight = record.y;
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
//为空filter会报错
|
|
241
|
-
if (record.s == null) {
|
|
242
|
-
record = Object.assign(Object.assign({}, record), { s: '' });
|
|
243
|
-
}
|
|
244
|
-
source.push(record);
|
|
245
|
-
const s = record.s;
|
|
246
|
-
let series = seriesMap[s];
|
|
247
|
-
if (!series) {
|
|
248
|
-
// seriesSet.add(s);
|
|
249
|
-
const transform = {
|
|
250
|
-
type: 'filter',
|
|
251
|
-
config: { dimension: 's', value: s },
|
|
252
|
-
};
|
|
253
|
-
dataset.push({ transform });
|
|
254
|
-
series = this.setSeriesStyle(s, dataset.length - 1);
|
|
255
|
-
seriesMap[s] = series;
|
|
256
|
-
if (this.showDataMarkLine) {
|
|
257
|
-
series.markLine = {
|
|
258
|
-
symbol: ['none', 'none'],
|
|
259
|
-
label: Object.assign(Object.assign({}, this.style), { position: 'start' }),
|
|
260
|
-
data: [],
|
|
261
|
-
};
|
|
262
|
-
if (this.dataMarkLineFormatter) {
|
|
263
|
-
series.markLine.label.formatter = eval('(' + this.dataMarkLineFormatter + ')');
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
if (this.showDataMarkLine) {
|
|
268
|
-
series.markLine.data.push({ xAxis: record.x });
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
});
|
|
272
|
-
this.chartOption.dataset = dataset;
|
|
273
|
-
if (this.markLine) {
|
|
274
|
-
const marklineStyle = {
|
|
275
|
-
symbol: 'none',
|
|
276
|
-
silent: true,
|
|
277
|
-
data: [],
|
|
278
|
-
};
|
|
279
|
-
if (this.YmarkLineName) {
|
|
280
|
-
marklineStyle.data.push({
|
|
281
|
-
name: this.YmarkLineName,
|
|
282
|
-
type: this.YmarkLineHeight ? null : 'average',
|
|
283
|
-
yAxis: this.YmarkLineHeight,
|
|
284
|
-
lineStyle: {
|
|
285
|
-
color: this.YmarkLineColor,
|
|
286
|
-
type: this.YmarkLineType,
|
|
287
|
-
width: this.YmarkWidth ? this.YmarkWidth : 2,
|
|
288
|
-
},
|
|
289
|
-
label: {
|
|
290
|
-
formatter: '{b}{c}',
|
|
291
|
-
position: 'insideEndTop',
|
|
292
|
-
color: this.YmarkLineColor,
|
|
293
|
-
fontSize: this.font.size,
|
|
294
|
-
},
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
if (this.XmarkLineName) {
|
|
298
|
-
marklineStyle.data.push({
|
|
299
|
-
name: this.XmarkLineName,
|
|
300
|
-
type: this.XmarkLineLocation ? null : 'average',
|
|
301
|
-
xAxis: this.XmarkLineLocation,
|
|
302
|
-
lineStyle: {
|
|
303
|
-
color: this.XmarkLineColor,
|
|
304
|
-
type: this.XmarkLineType,
|
|
305
|
-
width: this.XmarkWidth ? this.XmarkWidth : 2,
|
|
306
|
-
},
|
|
307
|
-
label: {
|
|
308
|
-
formatter: '{b}{c}',
|
|
309
|
-
position: 'insideEndTop',
|
|
310
|
-
color: this.XmarkLineColor,
|
|
311
|
-
fontSize: this.font.size,
|
|
312
|
-
},
|
|
313
|
-
});
|
|
314
|
-
}
|
|
315
|
-
this.chartOption.series.push({ type: 'line', markLine: marklineStyle, data: [] });
|
|
316
|
-
// this.chartOption.series[this.chartOption.series.length - 1].markLine = marklineStyle;
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
setSeriesStyle(name, datasetIndex) {
|
|
320
|
-
var _a, _b;
|
|
321
|
-
const series = {
|
|
322
|
-
name,
|
|
323
|
-
label: {
|
|
324
|
-
show: this.label,
|
|
325
|
-
textStyle: this.style,
|
|
326
|
-
},
|
|
327
|
-
connectNulls: true,
|
|
328
|
-
itemStyle: {},
|
|
329
|
-
type: 'line',
|
|
330
|
-
areaStyle: {},
|
|
331
|
-
smooth: false,
|
|
332
|
-
symbolSize: (_a = this.symbolSize) !== null && _a !== void 0 ? _a : 10,
|
|
333
|
-
encode: { x: 'x', y: 'y' },
|
|
334
|
-
datasetIndex,
|
|
335
|
-
};
|
|
336
|
-
this.chartOption.series.push(series);
|
|
337
|
-
series.areaStyle.opacity = 0;
|
|
338
|
-
if (this.type === 'smooth' || this.type === 'smooth-area') {
|
|
339
|
-
series.smooth = true;
|
|
340
|
-
}
|
|
341
|
-
if (this.type === 'area' || this.type === 'smooth-area') {
|
|
342
|
-
series.areaStyle.opacity = 0.5;
|
|
343
|
-
series.symbolSize = (_b = this.symbolSize) !== null && _b !== void 0 ? _b : (this.label ? 10 : 0);
|
|
344
|
-
}
|
|
345
|
-
if (this.type === 'step') {
|
|
346
|
-
series.step = this.step;
|
|
347
|
-
}
|
|
348
|
-
return series;
|
|
349
|
-
}
|
|
350
|
-
uniqueData(data) {
|
|
351
|
-
for (let i = 0; i < data.length - 1; i++) {
|
|
352
|
-
for (let j = i + 1; j < data.length; j++) {
|
|
353
|
-
if (data[i] === data[j]) {
|
|
354
|
-
data.splice(j, 1);
|
|
355
|
-
j--;
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
return data;
|
|
360
|
-
}
|
|
361
|
-
getMaxY() {
|
|
362
|
-
for (let i = 0; i < this._data.length; i++) {
|
|
363
|
-
this.yData[i] = this._data[i].y;
|
|
364
|
-
}
|
|
365
|
-
this.uniqueData(this.yData);
|
|
366
|
-
const a = Math.max(...this.yData).toFixed(0);
|
|
367
|
-
const b = a.toString().length;
|
|
368
|
-
const c = Math.pow(10, b - 1);
|
|
369
|
-
const max = Number(c) + Number(a);
|
|
370
|
-
return max;
|
|
371
|
-
}
|
|
372
|
-
onChartClick(event) {
|
|
373
|
-
this.dataClick.emit({ x: event.name, s: event.seriesName });
|
|
374
|
-
}
|
|
375
|
-
};
|
|
376
|
-
BasicLineChartComponent.decorators = [
|
|
377
|
-
{ type: Component, args: [{
|
|
378
|
-
selector: 'sc-basicLine',
|
|
379
|
-
template: "<div\n echarts\n [options]=\"chartOption\"\n class=\"demo-chart\"\n (chartClick)=\"onChartClick($event)\"\n [initOpts]=\"{ renderer: 'svg' }\"\n></div>\n",
|
|
380
|
-
styles: [":host{display:block;width:100%}.demo-chart,:host{height:100%}"]
|
|
381
|
-
},] }
|
|
382
|
-
];
|
|
383
|
-
BasicLineChartComponent.ctorParameters = () => [];
|
|
384
|
-
__decorate([
|
|
385
|
-
Property('类型', { ui: { hidden: true } }),
|
|
386
|
-
__metadata("design:type", Object)
|
|
387
|
-
], BasicLineChartComponent.prototype, "type", void 0);
|
|
388
|
-
__decorate([
|
|
389
|
-
Property('图表样式', {
|
|
390
|
-
ui: {
|
|
391
|
-
widget: 'myImageExample',
|
|
392
|
-
spanLabel: 24,
|
|
393
|
-
spanControl: 24,
|
|
394
|
-
reset: ['lineColor'],
|
|
395
|
-
example: [
|
|
396
|
-
{
|
|
397
|
-
background: 'assets/img/screen/line2.png',
|
|
398
|
-
data: ɵ0,
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
background: 'assets/img/screen/line3.png',
|
|
402
|
-
data: ɵ1,
|
|
403
|
-
},
|
|
404
|
-
{
|
|
405
|
-
background: 'assets/img/screen/line1.png',
|
|
406
|
-
data: ɵ2,
|
|
407
|
-
},
|
|
408
|
-
{
|
|
409
|
-
background: 'assets/img/screen/line4.png',
|
|
410
|
-
data: ɵ3,
|
|
411
|
-
},
|
|
412
|
-
],
|
|
413
|
-
},
|
|
414
|
-
}),
|
|
415
|
-
__metadata("design:type", Object)
|
|
416
|
-
], BasicLineChartComponent.prototype, "example", void 0);
|
|
417
|
-
__decorate([
|
|
418
|
-
Property('系列颜色', {
|
|
419
|
-
ui: {
|
|
420
|
-
widget: 'seriesColor',
|
|
421
|
-
example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
|
|
422
|
-
},
|
|
423
|
-
}),
|
|
424
|
-
__metadata("design:type", Object)
|
|
425
|
-
], BasicLineChartComponent.prototype, "lineColor", void 0);
|
|
426
|
-
__decorate([
|
|
427
|
-
Property('字体', { ui: { widget: 'myFont' } }),
|
|
428
|
-
__metadata("design:type", Object)
|
|
429
|
-
], BasicLineChartComponent.prototype, "font", void 0);
|
|
430
|
-
__decorate([
|
|
431
|
-
Property('边距', { ui: { widget: 'myGrid' } }),
|
|
432
|
-
__metadata("design:type", Object)
|
|
433
|
-
], BasicLineChartComponent.prototype, "grid", void 0);
|
|
434
|
-
__decorate([
|
|
435
|
-
Property('图例', {
|
|
436
|
-
ui: { widget: 'select' },
|
|
437
|
-
enum: [
|
|
438
|
-
{ label: '无', value: 'none' },
|
|
439
|
-
{ label: '自动', value: 'auto' },
|
|
440
|
-
{ label: '居中', value: 'center' },
|
|
441
|
-
{ label: '左对齐', value: 'left' },
|
|
442
|
-
{ label: '右对齐', value: 'right' },
|
|
443
|
-
],
|
|
444
|
-
}),
|
|
445
|
-
__metadata("design:type", Object)
|
|
446
|
-
], BasicLineChartComponent.prototype, "align", void 0);
|
|
447
|
-
__decorate([
|
|
448
|
-
Property('提示线样式', {
|
|
449
|
-
ui: { widget: 'select' },
|
|
450
|
-
enum: [
|
|
451
|
-
{ label: '直线指示器', value: 'line' },
|
|
452
|
-
{ label: '阴影指示器', value: 'shadow' },
|
|
453
|
-
{ label: '十字准星指示器', value: 'cross' },
|
|
454
|
-
{ label: '无', value: 'none' },
|
|
455
|
-
],
|
|
456
|
-
}),
|
|
457
|
-
__metadata("design:type", Object)
|
|
458
|
-
], BasicLineChartComponent.prototype, "axisType", void 0);
|
|
459
|
-
__decorate([
|
|
460
|
-
Property('提示线类型', {
|
|
461
|
-
ui: { widget: 'select' },
|
|
462
|
-
enum: [
|
|
463
|
-
{ label: '实线', value: 'solid' },
|
|
464
|
-
{ label: '虚线', value: 'dashed' },
|
|
465
|
-
{ label: '点线', value: 'dotted' },
|
|
466
|
-
],
|
|
467
|
-
}),
|
|
468
|
-
__metadata("design:type", Object)
|
|
469
|
-
], BasicLineChartComponent.prototype, "lineType", void 0);
|
|
470
|
-
__decorate([
|
|
471
|
-
Property('提示线颜色', {
|
|
472
|
-
ui: {
|
|
473
|
-
widget: 'myColor',
|
|
474
|
-
example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
|
|
475
|
-
},
|
|
476
|
-
}),
|
|
477
|
-
__metadata("design:type", Object)
|
|
478
|
-
], BasicLineChartComponent.prototype, "axisColor", void 0);
|
|
479
|
-
__decorate([
|
|
480
|
-
Property('提示线宽度', { type: 'number' }),
|
|
481
|
-
__metadata("design:type", Object)
|
|
482
|
-
], BasicLineChartComponent.prototype, "axisWidth", void 0);
|
|
483
|
-
__decorate([
|
|
484
|
-
Property('x轴类型', {
|
|
485
|
-
enum: [
|
|
486
|
-
{ label: '类目', value: 'category' },
|
|
487
|
-
{ label: '时间', value: 'time' },
|
|
488
|
-
],
|
|
489
|
-
}),
|
|
490
|
-
__metadata("design:type", Object)
|
|
491
|
-
], BasicLineChartComponent.prototype, "xType", void 0);
|
|
492
|
-
__decorate([
|
|
493
|
-
Property('y轴单位', { type: 'string' }),
|
|
494
|
-
__metadata("design:type", Object)
|
|
495
|
-
], BasicLineChartComponent.prototype, "yUnit", void 0);
|
|
496
|
-
__decorate([
|
|
497
|
-
Property('x轴单位', { type: 'string' }),
|
|
498
|
-
__metadata("design:type", Object)
|
|
499
|
-
], BasicLineChartComponent.prototype, "xUnit", void 0);
|
|
500
|
-
__decorate([
|
|
501
|
-
Property('y轴最小'),
|
|
502
|
-
__metadata("design:type", Number)
|
|
503
|
-
], BasicLineChartComponent.prototype, "yMin", void 0);
|
|
504
|
-
__decorate([
|
|
505
|
-
Property('y轴最大'),
|
|
506
|
-
__metadata("design:type", Number)
|
|
507
|
-
], BasicLineChartComponent.prototype, "yMax", void 0);
|
|
508
|
-
__decorate([
|
|
509
|
-
Property('y轴最小间隔'),
|
|
510
|
-
__metadata("design:type", Number)
|
|
511
|
-
], BasicLineChartComponent.prototype, "yMinInterval", void 0);
|
|
512
|
-
__decorate([
|
|
513
|
-
Property('y轴最大增减'),
|
|
514
|
-
__metadata("design:type", Number)
|
|
515
|
-
], BasicLineChartComponent.prototype, "yMaxAddNum", void 0);
|
|
516
|
-
__decorate([
|
|
517
|
-
Property('坐标留白', { type: 'boolean' }),
|
|
518
|
-
__metadata("design:type", Object)
|
|
519
|
-
], BasicLineChartComponent.prototype, "boundaryGap", void 0);
|
|
520
|
-
__decorate([
|
|
521
|
-
Property('显示Y轴', { type: 'boolean' }),
|
|
522
|
-
__metadata("design:type", Object)
|
|
523
|
-
], BasicLineChartComponent.prototype, "showY", void 0);
|
|
524
|
-
__decorate([
|
|
525
|
-
Property('y轴网络线', { type: 'boolean' }),
|
|
526
|
-
__metadata("design:type", Object)
|
|
527
|
-
], BasicLineChartComponent.prototype, "netLine", void 0);
|
|
528
|
-
__decorate([
|
|
529
|
-
Property('y网络线类型', {
|
|
530
|
-
ui: { widget: 'select', visibleIf: { netLine: [true] } },
|
|
531
|
-
enum: [
|
|
532
|
-
{ label: '实线', value: 'solid' },
|
|
533
|
-
{ label: '虚线', value: 'dashed' },
|
|
534
|
-
{ label: '点线', value: 'dotted' },
|
|
535
|
-
],
|
|
536
|
-
}),
|
|
537
|
-
__metadata("design:type", Object)
|
|
538
|
-
], BasicLineChartComponent.prototype, "netLineType", void 0);
|
|
539
|
-
__decorate([
|
|
540
|
-
Property('x轴网络线', { type: 'boolean' }),
|
|
541
|
-
__metadata("design:type", Object)
|
|
542
|
-
], BasicLineChartComponent.prototype, "netLineX", void 0);
|
|
543
|
-
__decorate([
|
|
544
|
-
Property('x网络线类型', {
|
|
545
|
-
ui: { widget: 'select', visibleIf: { netLineX: [true] } },
|
|
546
|
-
enum: [
|
|
547
|
-
{ label: '实线', value: 'solid' },
|
|
548
|
-
{ label: '虚线', value: 'dashed' },
|
|
549
|
-
{ label: '点线', value: 'dotted' },
|
|
550
|
-
],
|
|
551
|
-
}),
|
|
552
|
-
__metadata("design:type", Object)
|
|
553
|
-
], BasicLineChartComponent.prototype, "netLineXType", void 0);
|
|
554
|
-
__decorate([
|
|
555
|
-
Property('网络线颜色', {
|
|
556
|
-
ui: {
|
|
557
|
-
widget: 'myColor',
|
|
558
|
-
example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
|
|
559
|
-
},
|
|
560
|
-
}),
|
|
561
|
-
__metadata("design:type", Object)
|
|
562
|
-
], BasicLineChartComponent.prototype, "netLineColor", void 0);
|
|
563
|
-
__decorate([
|
|
564
|
-
Property('标签', { type: 'boolean' }),
|
|
565
|
-
__metadata("design:type", Object)
|
|
566
|
-
], BasicLineChartComponent.prototype, "label", void 0);
|
|
567
|
-
__decorate([
|
|
568
|
-
Property('标线', { type: 'boolean' }),
|
|
569
|
-
__metadata("design:type", Object)
|
|
570
|
-
], BasicLineChartComponent.prototype, "markLine", void 0);
|
|
571
|
-
__decorate([
|
|
572
|
-
Property('Y轴标线高度', { type: 'number', ui: { visibleIf: { markLine: [true] } } }),
|
|
573
|
-
__metadata("design:type", Object)
|
|
574
|
-
], BasicLineChartComponent.prototype, "YmarkLineHeight", void 0);
|
|
575
|
-
__decorate([
|
|
576
|
-
Property('Y标线标题', {
|
|
577
|
-
type: 'string',
|
|
578
|
-
ui: { visibleIf: { markLine: [true] }, optionalHelp: '此标题需要跟x字段内名字一致' },
|
|
579
|
-
}),
|
|
580
|
-
__metadata("design:type", Object)
|
|
581
|
-
], BasicLineChartComponent.prototype, "YmarkLineName", void 0);
|
|
582
|
-
__decorate([
|
|
583
|
-
Property('Y标线类型', {
|
|
584
|
-
ui: { widget: 'select', visibleIf: { markLine: [true] } },
|
|
585
|
-
enum: [
|
|
586
|
-
{ label: '实线', value: 'solid' },
|
|
587
|
-
{ label: '虚线', value: 'dashed' },
|
|
588
|
-
{ label: '点线', value: 'dotted' },
|
|
589
|
-
],
|
|
590
|
-
}),
|
|
591
|
-
__metadata("design:type", Object)
|
|
592
|
-
], BasicLineChartComponent.prototype, "YmarkLineType", void 0);
|
|
593
|
-
__decorate([
|
|
594
|
-
Property('Y标线颜色', {
|
|
595
|
-
ui: {
|
|
596
|
-
widget: 'myColor',
|
|
597
|
-
example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
|
|
598
|
-
visibleIf: { markLine: [true] },
|
|
599
|
-
},
|
|
600
|
-
}),
|
|
601
|
-
__metadata("design:type", Object)
|
|
602
|
-
], BasicLineChartComponent.prototype, "YmarkLineColor", void 0);
|
|
603
|
-
__decorate([
|
|
604
|
-
Property('Y标线粗细', {
|
|
605
|
-
type: 'number',
|
|
606
|
-
ui: { visibleIf: { markLine: [true] } },
|
|
607
|
-
}),
|
|
608
|
-
__metadata("design:type", Object)
|
|
609
|
-
], BasicLineChartComponent.prototype, "YmarkWidth", void 0);
|
|
610
|
-
__decorate([
|
|
611
|
-
Property('X轴标线位置', { type: 'string', ui: { visibleIf: { markLine: [true] } } }),
|
|
612
|
-
__metadata("design:type", Object)
|
|
613
|
-
], BasicLineChartComponent.prototype, "XmarkLineLocation", void 0);
|
|
614
|
-
__decorate([
|
|
615
|
-
Property('X标线标题', {
|
|
616
|
-
type: 'string',
|
|
617
|
-
ui: { optionalHelp: '此标题需要跟x字段内名字一致', visibleIf: { markLine: [true] } },
|
|
618
|
-
}),
|
|
619
|
-
__metadata("design:type", Object)
|
|
620
|
-
], BasicLineChartComponent.prototype, "XmarkLineName", void 0);
|
|
621
|
-
__decorate([
|
|
622
|
-
Property('X标线类型', {
|
|
623
|
-
ui: { widget: 'select', visibleIf: { markLine: [true] } },
|
|
624
|
-
enum: [
|
|
625
|
-
{ label: '实线', value: 'solid' },
|
|
626
|
-
{ label: '虚线', value: 'dashed' },
|
|
627
|
-
{ label: '点线', value: 'dotted' },
|
|
628
|
-
],
|
|
629
|
-
}),
|
|
630
|
-
__metadata("design:type", Object)
|
|
631
|
-
], BasicLineChartComponent.prototype, "XmarkLineType", void 0);
|
|
632
|
-
__decorate([
|
|
633
|
-
Property('X标线颜色', {
|
|
634
|
-
ui: {
|
|
635
|
-
visibleIf: { markLine: [true] },
|
|
636
|
-
widget: 'myColor',
|
|
637
|
-
example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
|
|
638
|
-
},
|
|
639
|
-
}),
|
|
640
|
-
__metadata("design:type", Object)
|
|
641
|
-
], BasicLineChartComponent.prototype, "XmarkLineColor", void 0);
|
|
642
|
-
__decorate([
|
|
643
|
-
Property('X标线粗细', {
|
|
644
|
-
type: 'number',
|
|
645
|
-
ui: { visibleIf: { markLine: [true] } },
|
|
646
|
-
}),
|
|
647
|
-
__metadata("design:type", Object)
|
|
648
|
-
], BasicLineChartComponent.prototype, "XmarkWidth", void 0);
|
|
649
|
-
__decorate([
|
|
650
|
-
Property('数据标线'),
|
|
651
|
-
__metadata("design:type", Boolean)
|
|
652
|
-
], BasicLineChartComponent.prototype, "showDataMarkLine", void 0);
|
|
653
|
-
__decorate([
|
|
654
|
-
Property('数据标线格式化', {
|
|
655
|
-
ui: { visibleIf: { showDataMarkLine: [true] }, optionalHelp: 'function(params){return params.data.value}' },
|
|
656
|
-
}),
|
|
657
|
-
__metadata("design:type", String)
|
|
658
|
-
], BasicLineChartComponent.prototype, "dataMarkLineFormatter", void 0);
|
|
659
|
-
__decorate([
|
|
660
|
-
Property('隐藏x轴标签'),
|
|
661
|
-
__metadata("design:type", Boolean)
|
|
662
|
-
], BasicLineChartComponent.prototype, "hideXLabel", void 0);
|
|
663
|
-
__decorate([
|
|
664
|
-
Property('x轴标签角度', {
|
|
665
|
-
ui: { widget: 'myRange', min: -90, max: 90, step: 10, visibleIf: { hideXLabel: ɵ4 } },
|
|
666
|
-
}),
|
|
667
|
-
__metadata("design:type", Object)
|
|
668
|
-
], BasicLineChartComponent.prototype, "xLabelRotate", void 0);
|
|
669
|
-
__decorate([
|
|
670
|
-
Property('x轴文本宽度', { ui: { visibleIf: { hideXLabel: ɵ5 } } }),
|
|
671
|
-
__metadata("design:type", Number)
|
|
672
|
-
], BasicLineChartComponent.prototype, "xLabelWidth", void 0);
|
|
673
|
-
__decorate([
|
|
674
|
-
Property('x轴文字宽度超出', {
|
|
675
|
-
enum: [
|
|
676
|
-
{ label: '自动', value: 'auto' },
|
|
677
|
-
{ label: '截断', value: 'truncate' },
|
|
678
|
-
{ label: '换行', value: 'break' },
|
|
679
|
-
{ label: '强制换行', value: 'breakAll' },
|
|
680
|
-
],
|
|
681
|
-
ui: { widget: 'select', visibleIf: { hideXLabel: ɵ6 } },
|
|
682
|
-
}),
|
|
683
|
-
__metadata("design:type", Object)
|
|
684
|
-
], BasicLineChartComponent.prototype, "xLabelOverflow", void 0);
|
|
685
|
-
__decorate([
|
|
686
|
-
Property('标签显示间隔', {
|
|
687
|
-
ui: {
|
|
688
|
-
visibleIf: { hideXLabel: ɵ7 },
|
|
689
|
-
optionalHelp: {
|
|
690
|
-
text: `默认会采用标签不重叠的策略间隔显示标签。
|
|
691
|
-
可以设置成 0 强制显示所有标签。
|
|
692
|
-
如果设置为 1,表示『隔一个标签显示一个标签』,如果值为 2,表示隔两个标签显示一个标签,以此类推。`,
|
|
693
|
-
overlayStyle: {
|
|
694
|
-
whiteSpace: 'pre-line',
|
|
695
|
-
},
|
|
696
|
-
},
|
|
697
|
-
},
|
|
698
|
-
}),
|
|
699
|
-
__metadata("design:type", Number)
|
|
700
|
-
], BasicLineChartComponent.prototype, "xLabelInterval", void 0);
|
|
701
|
-
__decorate([
|
|
702
|
-
Property('区域缩放'),
|
|
703
|
-
__metadata("design:type", Boolean)
|
|
704
|
-
], BasicLineChartComponent.prototype, "insideDataZoom", void 0);
|
|
705
|
-
__decorate([
|
|
706
|
-
Property('缩放最少数量', { ui: { visibleIf: { insideDataZoom: [true] } } }),
|
|
707
|
-
__metadata("design:type", Number)
|
|
708
|
-
], BasicLineChartComponent.prototype, "dataZoomMinData", void 0);
|
|
709
|
-
__decorate([
|
|
710
|
-
Property('缩放开始百分比', { ui: { visibleIf: { insideDataZoom: [true] } } }),
|
|
711
|
-
__metadata("design:type", Number)
|
|
712
|
-
], BasicLineChartComponent.prototype, "dataZoomStart", void 0);
|
|
713
|
-
__decorate([
|
|
714
|
-
Property('缩放结束百分比', { ui: { visibleIf: { insideDataZoom: [true] } } }),
|
|
715
|
-
__metadata("design:type", Number)
|
|
716
|
-
], BasicLineChartComponent.prototype, "dataZoomEnd", void 0);
|
|
717
|
-
__decorate([
|
|
718
|
-
Property('滚轮缩放', {
|
|
719
|
-
enum: [
|
|
720
|
-
{ label: '启用', value: true },
|
|
721
|
-
{ label: '禁用', value: false },
|
|
722
|
-
{ label: '按住shift', value: 'shift' },
|
|
723
|
-
{ label: '按住ctrl', value: 'ctrl' },
|
|
724
|
-
{ label: '按住alt', value: 'alt' },
|
|
725
|
-
],
|
|
726
|
-
ui: { widget: 'select', visibleIf: { insideDataZoom: [true] } },
|
|
727
|
-
}),
|
|
728
|
-
__metadata("design:type", Object)
|
|
729
|
-
], BasicLineChartComponent.prototype, "zoomOnMouseWheel", void 0);
|
|
730
|
-
__decorate([
|
|
731
|
-
Property('滑动条', { ui: { visibleIf: { insideDataZoom: [true] } } }),
|
|
732
|
-
__metadata("design:type", Boolean)
|
|
733
|
-
], BasicLineChartComponent.prototype, "sliderDataZoom", void 0);
|
|
734
|
-
__decorate([
|
|
735
|
-
Property('锁定区域大小', { ui: { visibleIf: { sliderDataZoom: [true] } } }),
|
|
736
|
-
__metadata("design:type", Boolean)
|
|
737
|
-
], BasicLineChartComponent.prototype, "zoomLock", void 0);
|
|
738
|
-
__decorate([
|
|
739
|
-
Property('提示框字体', { ui: { widget: 'myFont' } }),
|
|
740
|
-
__metadata("design:type", Object)
|
|
741
|
-
], BasicLineChartComponent.prototype, "tooltipFont", void 0);
|
|
742
|
-
__decorate([
|
|
743
|
-
Property('阶梯拐点', {
|
|
744
|
-
enum: [
|
|
745
|
-
{ label: '当前点', value: 'start' },
|
|
746
|
-
{ label: '中间点', value: 'middle' },
|
|
747
|
-
{ label: '下个点', value: 'end' },
|
|
748
|
-
],
|
|
749
|
-
ui: { widget: 'select', visibleIf: { type: ['step'] } },
|
|
750
|
-
}),
|
|
751
|
-
__metadata("design:type", String)
|
|
752
|
-
], BasicLineChartComponent.prototype, "step", void 0);
|
|
753
|
-
__decorate([
|
|
754
|
-
Property('标记点大小', { type: 'number' }),
|
|
755
|
-
__metadata("design:type", Number)
|
|
756
|
-
], BasicLineChartComponent.prototype, "symbolSize", void 0);
|
|
757
|
-
__decorate([
|
|
758
|
-
Data({
|
|
759
|
-
properties: {
|
|
760
|
-
x: { type: 'string', title: '类目' },
|
|
761
|
-
y: { type: 'number', title: '值' },
|
|
762
|
-
s: { type: 'string', title: '系列' },
|
|
763
|
-
},
|
|
764
|
-
}),
|
|
765
|
-
__metadata("design:type", Array)
|
|
766
|
-
], BasicLineChartComponent.prototype, "_data", void 0);
|
|
767
|
-
__decorate([
|
|
768
|
-
Drill(),
|
|
769
|
-
DataOutput(['x', 's']),
|
|
770
|
-
__metadata("design:type", Object)
|
|
771
|
-
], BasicLineChartComponent.prototype, "dataClick", void 0);
|
|
772
|
-
BasicLineChartComponent = __decorate([
|
|
773
|
-
Widget('基本折线图', {
|
|
774
|
-
group: 'lineChart',
|
|
775
|
-
image: 'assets/img/screen/basic-line-chart.png',
|
|
776
|
-
icon: 'icontubiao',
|
|
777
|
-
}),
|
|
778
|
-
__metadata("design:paramtypes", [])
|
|
779
|
-
], BasicLineChartComponent);
|
|
780
|
-
export { BasicLineChartComponent };
|
|
781
|
-
export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7 };
|
|
782
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtbGluZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY3JlZW4td2lkZ2V0L3NyYy9saWIvYmFzaWMtbGluZS1jaGFydC9iYXNpYy1saW5lLWNoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0MsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7V0F3QmxELEVBQUUsU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLE9BSXJDLEVBQUUsU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLE9BSXJDLEVBQUUsU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLE9BSXJDLEVBQUUsU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLE9BZ044QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BRzdDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FTbkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxPQUt2QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLO0lBelBuQyx1QkFBdUIsU0FBdkIsdUJBQXVCO0lBNlVsQztRQTNVQSxTQUFJLEdBQUcsT0FBTyxDQUFDO1FBa0NmLGNBQVMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVuQyxTQUFJLEdBQVE7WUFDVixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUss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OlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhLCBQcm9wZXJ0eSwgV2lkZ2V0LCBEcmlsbCwgRGF0YU91dHB1dCB9IGZyb20gJ2Jiai13aWRnZXQtYmFzZSc7XG5pbXBvcnQgeyBnZXRFY2hhcnRzVGV4dFN0eWxlIH0gZnJvbSAnLi4vc2hhcmVkL3V0aWwvZWNoYXJ0cy51dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2MtYmFzaWNMaW5lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jhc2ljLWxpbmUtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXNpYy1saW5lLWNoYXJ0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuQFdpZGdldCgn5Z+65pys5oqY57q/5Zu+Jywge1xuICBncm91cDogJ2xpbmVDaGFydCcsXG4gIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vYmFzaWMtbGluZS1jaGFydC5wbmcnLFxuICBpY29uOiAnaWNvbnR1YmlhbycsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2ljTGluZUNoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBAUHJvcGVydHkoJ+exu+WeiycsIHsgdWk6IHsgaGlkZGVuOiB0cnVlIH0gfSlcbiAgdHlwZSA9ICdiYXNpYyc7XG4gIEBQcm9wZXJ0eSgn5Zu+6KGo5qC35byPJywge1xuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdteUltYWdlRXhhbXBsZScsXG4gICAgICBzcGFuTGFiZWw6IDI0LFxuICAgICAgc3BhbkNvbnRyb2w6IDI0LFxuICAgICAgcmVzZXQ6IFsnbGluZUNvbG9yJ10sXG4gICAgICBleGFtcGxlOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnYXNzZXRzL2ltZy9zY3JlZW4vbGluZTIucG5nJyxcbiAgICAgICAgICBkYXRhOiB7IGxpbmVDb2xvcjogWycjRkY4NTFEJywgJyNGRkVGNjYnXSB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJ2Fzc2V0cy9pbWcvc2NyZWVuL2xpbmUzLnBuZycsXG4gICAgICAgICAgZGF0YTogeyBsaW5lQ29sb3I6IFsnIzAwRDE5MScsICcjMDBGRUNCJ10gfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICdhc3NldHMvaW1nL3NjcmVlbi9saW5lMS5wbmcnLFxuICAgICAgICAgIGRhdGE6IHsgbGluZUNvbG9yOiBbJyMzMjg1RkYnLCAnIzAwRDJGRCddIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnYXNzZXRzL2ltZy9zY3JlZW4vbGluZTQucG5nJyxcbiAgICAgICAgICBkYXRhOiB7IGxpbmVDb2xvcjogWycjODkzNEY4JywgJyNGRjM2OTknXSB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9KVxuICBleGFtcGxlOiBhbnk7XG4gIEBQcm9wZXJ0eSgn57O75YiX6aKc6ImyJywge1xuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdzZXJpZXNDb2xvcicsXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxuICAgIH0sXG4gIH0pXG4gIGxpbmVDb2xvciA9IFsnIzMyODVGRicsICcjMDBEMkZEJ107XG4gIEBQcm9wZXJ0eSgn5a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUZvbnQnIH0gfSlcbiAgZm9udDogYW55ID0ge1xuICAgIGZhbWlseTogJycsXG4gICAgY29sb3I6ICcjNTk1RjdBJyxcbiAgICB3ZWlnaHQ6ICdub3JtYWwnLFxuICAgIHNpemU6IDEyLFxuICAgIHNwYWNlOiAwLFxuICAgIGxpbmVIZWlnaHQ6IDEyLFxuICB9O1xuICBAUHJvcGVydHkoJ+i+uei3nScsIHsgdWk6IHsgd2lkZ2V0OiAnbXlHcmlkJyB9IH0pXG4gIGdyaWQ6IGFueSA9IHtcbiAgICB0b3A6IDMwLFxuICAgIHJpZ2h0OiAzMCxcbiAgICBib3R0b206IDQwLFxuICAgIGxlZnQ6IDM2LFxuICB9O1xuICBAUHJvcGVydHkoJ+WbvuS+iycsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdzZWxlY3QnIH0sXG4gICAgZW51bTogW1xuICAgICAgeyBsYWJlbDogJ+aXoCcsIHZhbHVlOiAnbm9uZScgfSxcbiAgICAgIHsgbGFiZWw6ICfoh6rliqgnLCB2YWx1ZTogJ2F1dG8nIH0sXG4gICAgICB7IGxhYmVsOiAn5bGF5LitJywgdmFsdWU6ICdjZW50ZXInIH0sXG4gICAgICB7IGxhYmVsOiAn5bem5a+56b2QJywgdmFsdWU6ICdsZWZ0JyB9LFxuICAgICAgeyBsYWJlbDogJ+WPs+Wvuem9kCcsIHZhbHVlOiAncmlnaHQnIH0sXG4gICAgXSxcbiAgfSlcbiAgYWxpZ24gPSAnY2VudGVyJztcbiAgQFByb3BlcnR5KCfmj5DnpLrnur/moLflvI8nLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnc2VsZWN0JyB9LFxuICAgIGVudW06IFtcbiAgICAgIHsgbGFiZWw6ICfnm7Tnur/mjIfnpLrlmagnLCB2YWx1ZTogJ2xpbmUnIH0sXG4gICAgICB7IGxhYmVsOiAn6Zi05b2x5oyH56S65ZmoJywgdmFsdWU6ICdzaGFkb3cnIH0sXG4gICAgICB7IGxhYmVsOiAn5Y2B5a2X5YeG5pif5oyH56S65ZmoJywgdmFsdWU6ICdjcm9zcycgfSxcbiAgICAgIHsgbGFiZWw6ICfml6AnLCB2YWx1ZTogJ25vbmUnIH0sXG4gICAgXSxcbiAgfSlcbiAgYXhpc1R5cGUgPSAnbm9uZSc7XG4gIEBQcm9wZXJ0eSgn5o+Q56S657q/57G75Z6LJywge1xuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcgfSxcbiAgICBlbnVtOiBbXG4gICAgICB7IGxhYmVsOiAn5a6e57q/JywgdmFsdWU6ICdzb2xpZCcgfSxcbiAgICAgIHsgbGFiZWw6ICfomZrnur8nLCB2YWx1ZTogJ2Rhc2hlZCcgfSxcbiAgICAgIHsgbGFiZWw6ICfngrnnur8nLCB2YWx1ZTogJ2RvdHRlZCcgfSxcbiAgICBdLFxuICB9KVxuICBsaW5lVHlwZSA9ICdkYXNoZWQnO1xuICAvLyBAUHJvcGVydHkoJ+i9tOWNleS9jScsIHt1aToge3dpZGdldDogJ215VW5pdCd9fSlcbiAgLy8gdW5pdCA9IHt4OiAnJywgeTogJyd9O1xuICBAUHJvcGVydHkoJ+aPkOekuue6v+minOiJsicsIHtcbiAgICB1aToge1xuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxuICAgIH0sXG4gIH0pXG4gIGF4aXNDb2xvciA9ICcjMzMzMzMzJztcbiAgQFByb3BlcnR5KCfmj5DnpLrnur/lrr3luqYnLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gIGF4aXNXaWR0aCA9IDEwO1xuICBAUHJvcGVydHkoJ3jovbTnsbvlnosnLCB7XG4gICAgZW51bTogW1xuICAgICAgeyBsYWJlbDogJ+exu+ebricsIHZhbHVlOiAnY2F0ZWdvcnknIH0sXG4gICAgICB7IGxhYmVsOiAn5pe26Ze0JywgdmFsdWU6ICd0aW1lJyB9LFxuICAgIF0sXG4gIH0pXG4gIHhUeXBlID0gJ2NhdGVnb3J5JztcbiAgQFByb3BlcnR5KCd56L205Y2V5L2NJywgeyB0eXBlOiAnc3RyaW5nJyB9KVxuICB5VW5pdCA9ICcnO1xuICBAUHJvcGVydHkoJ3jovbTljZXkvY0nLCB7IHR5cGU6ICdzdHJpbmcnIH0pXG4gIHhVbml0ID0gJyc7XG4gIEBQcm9wZXJ0eSgneei9tOacgOWwjycpXG4gIHlNaW46IG51bWJlcjtcbiAgQFByb3BlcnR5KCd56L205pyA5aSnJylcbiAgeU1heDogbnVtYmVyO1xuICBAUHJvcGVydHkoJ3novbTmnIDlsI/pl7TpmpQnKVxuICB5TWluSW50ZXJ2YWw6IG51bWJlcjtcbiAgQFByb3BlcnR5KCd56L205pyA5aSn5aKe5YePJylcbiAgeU1heEFkZE51bTogbnVtYmVyO1xuICBAUHJvcGVydHkoJ+WdkOagh+eVmeeZvScsIHsgdHlwZTogJ2Jvb2xlYW4nIH0pXG4gIGJvdW5kYXJ5R2FwID0gdHJ1ZTtcbiAgQFByb3BlcnR5KCfmmL7npLpZ6L20JywgeyB0eXBlOiAnYm9vbGVhbicgfSlcbiAgc2hvd1kgPSB0cnVlO1xuICBAUHJvcGVydHkoJ3novbTnvZHnu5znur8nLCB7IHR5cGU6ICdib29sZWFuJyB9KVxuICBuZXRMaW5lID0gZmFsc2U7XG5cbiAgQFByb3BlcnR5KCd5572R57uc57q/57G75Z6LJywge1xuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcsIHZpc2libGVJZjogeyBuZXRMaW5lOiBbdHJ1ZV0gfSB9LFxuICAgIGVudW06IFtcbiAgICAgIHsgbGFiZWw6ICflrp7nur8nLCB2YWx1ZTogJ3NvbGlkJyB9LFxuICAgICAgeyBsYWJlbDogJ+iZmue6vycsIHZhbHVlOiAnZGFzaGVkJyB9LFxuICAgICAgeyBsYWJlbDogJ+eCuee6vycsIHZhbHVlOiAnZG90dGVkJyB9LFxuICAgIF0sXG4gIH0pXG4gIG5ldExpbmVUeXBlID0gJ2Rhc2hlZCc7XG4gIEBQcm9wZXJ0eSgneOi9tOe9kee7nOe6vycsIHsgdHlwZTogJ2Jvb2xlYW4nIH0pXG4gIG5ldExpbmVYID0gZmFsc2U7XG5cbiAgQFByb3BlcnR5KCd4572R57uc57q/57G75Z6LJywge1xuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcsIHZpc2libGVJZjogeyBuZXRMaW5lWDogW3RydWVdIH0gfSxcbiAgICBlbnVtOiBbXG4gICAgICB7IGxhYmVsOiAn5a6e57q/JywgdmFsdWU6ICdzb2xpZCcgfSxcbiAgICAgIHsgbGFiZWw6ICfomZrnur8nLCB2YWx1ZTogJ2Rhc2hlZCcgfSxcbiAgICAgIHsgbGFiZWw6ICfngrnnur8nLCB2YWx1ZTogJ2RvdHRlZCcgfSxcbiAgICBdLFxuICB9KVxuICBuZXRMaW5lWFR5cGUgPSAnZGFzaGVkJztcblxuICBAUHJvcGVydHkoJ+e9kee7nOe6v+minOiJsicsIHtcbiAgICB1aToge1xuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxuICAgIH0sXG4gIH0pXG4gIG5ldExpbmVDb2xvciA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuMiknO1xuXG4gIEBQcm9wZXJ0eSgn5qCH562+JywgeyB0eXBlOiAnYm9vbGVhbicgfSlcbiAgbGFiZWwgPSBmYWxzZTtcblxuICBAUHJvcGVydHkoJ+agh+e6vycsIHsgdHlwZTogJ2Jvb2xlYW4nIH0pXG4gIG1hcmtMaW5lID0gZmFsc2U7XG4gIEBQcm9wZXJ0eSgnWei9tOagh+e6v+mrmOW6picsIHsgdHlwZTogJ251bWJlcicsIHVpOiB7IHZpc2libGVJZjogeyBtYXJrTGluZTogW3RydWVdIH0gfSB9KVxuICBZbWFya0xpbmVIZWlnaHQgPSAxMDtcblxuICAvLyBAUHJvcGVydHkoJ+aYvuekuljovbQnLCB7XG4gIC8vICAgdWk6IHsgd2lkZ2V0OiAnYm9vbGVhbicsIGNoZWNrZWRDaGlsZHJlbjogJ+W8gCcsIHVuQ2hlY2tlZENoaWxkcmVuOiAn5YWzJyB9LFxuICAvLyB9KVxuICAvLyBzaG93WCA9IHRydWU7XG4gIEBQcm9wZXJ0eSgnWeagh+e6v+agh+mimCcsIHtcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB1aTogeyB2aXNpYmxlSWY6IHsgbWFya0xpbmU6IFt0cnVlXSB9LCBvcHRpb25hbEhlbHA6ICfmraTmoIfpopjpnIDopoHot5945a2X5q615YaF5ZCN5a2X5LiA6Ie0JyB9LFxuICB9KVxuICBZbWFya0xpbmVOYW1lID0gJyc7XG4gIC8vIEBQcm9wZXJ0eSgn5qCH57q/5pWw5YC8JywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAvLyBtYXJrTGluZVZhbCA9IG51bGw7XG5cbiAgQFByb3BlcnR5KCdZ5qCH57q/57G75Z6LJywge1xuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcsIHZpc2libGVJZjogeyBtYXJrTGluZTogW3RydWVdIH0gfSxcbiAgICBlbnVtOiBbXG4gICAgICB7IGxhYmVsOiAn5a6e57q/JywgdmFsdWU6ICdzb2xpZCcgfSxcbiAgICAgIHsgbGFiZWw6ICfomZrnur8nLCB2YWx1ZTogJ2Rhc2hlZCcgfSxcbiAgICAgIHsgbGFiZWw6ICfngrnnur8nLCB2YWx1ZTogJ2RvdHRlZCcgfSxcbiAgICBdLFxuICB9KVxuICBZbWFya0xpbmVUeXBlID0gJ2Rhc2hlZCc7XG5cbiAgQFByb3BlcnR5KCdZ5qCH57q/6aKc6ImyJywge1xuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXG4gICAgICB2aXNpYmxlSWY6IHsgbWFya0xpbmU6IFt0cnVlXSB9LFxuICAgIH0sXG4gIH0pXG4gIFltYXJrTGluZUNvbG9yID0gJyNmMDAnO1xuICBAUHJvcGVydHkoJ1nmoIfnur/nspfnu4YnLCB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgdWk6IHsgdmlzaWJsZUlmOiB7IG1hcmtMaW5lOiBbdHJ1ZV0gfSB9LFxuICB9KVxuICBZbWFya1dpZHRoID0gMjtcbiAgQFByb3BlcnR5KCdY6L205qCH57q/5L2N572uJywgeyB0eXBlOiAnc3RyaW5nJywgdWk6IHsgdmlzaWJsZUlmOiB7IG1hcmtMaW5lOiBbdHJ1ZV0gfSB9IH0pXG4gIFhtYXJrTGluZUxvY2F0aW9uID0gJ+S6jOaciCc7XG4gIEBQcm9wZXJ0eSgnWOagh+e6v+agh+mimCcsIHtcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB1aTogeyBvcHRpb25hbEhlbHA6ICfmraTmoIfpopjpnIDopoHot5945a2X5q615YaF5ZCN5a2X5LiA6Ie0JywgdmlzaWJsZUlmOiB7IG1hcmtMaW5lOiBbdHJ1ZV0gfSB9LFxuICB9KVxuICBYbWFya0xpbmVOYW1lID0gJyc7XG4gIEBQcm9wZXJ0eSgnWOagh+e6v+exu+WeiycsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdzZWxlY3QnLCB2aXNpYmxlSWY6IHsgbWFya0xpbmU6IFt0cnVlXSB9IH0sXG4gICAgZW51bTogW1xuICAgICAgeyBsYWJlbDogJ+Wunue6vycsIHZhbHVlOiAnc29saWQnIH0sXG4gICAgICB7IGxhYmVsOiAn6Jma57q/JywgdmFsdWU6ICdkYXNoZWQnIH0sXG4gICAgICB7IGxhYmVsOiAn54K557q/JywgdmFsdWU6ICdkb3R0ZWQnIH0sXG4gICAgXSxcbiAgfSlcbiAgWG1hcmtMaW5lVHlwZSA9ICdkYXNoZWQnO1xuXG4gIEBQcm9wZXJ0eSgnWOagh+e6v+minOiJsicsIHtcbiAgICB1aToge1xuICAgICAgdmlzaWJsZUlmOiB7IG1hcmtMaW5lOiBbdHJ1ZV0gfSxcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcbiAgICB9LFxuICB9KVxuICBYbWFya0xpbmVDb2xvciA9ICcjZjAwJztcbiAgQFByb3BlcnR5KCdY5qCH57q/57KX57uGJywge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIHVpOiB7IHZpc2libGVJZjogeyBtYXJrTGluZTogW3RydWVdIH0gfSxcbiAgfSlcbiAgWG1hcmtXaWR0aCA9IDI7XG4gIEBQcm9wZXJ0eSgn5pWw5o2u5qCH57q/JylcbiAgc2hvd0RhdGFNYXJrTGluZTogYm9vbGVhbjtcbiAgQFByb3BlcnR5KCfmlbDmja7moIfnur/moLzlvI/ljJYnLCB7XG4gICAgdWk6IHsgdmlzaWJsZUlmOiB7IHNob3dEYXRhTWFya0xpbmU6IFt0cnVlXSB9LCBvcHRpb25hbEhlbHA6ICdmdW5jdGlvbihwYXJhbXMpe3JldHVybiBwYXJhbXMuZGF0YS52YWx1ZX0nIH0sXG4gIH0pXG4gIGRhdGFNYXJrTGluZUZvcm1hdHRlcjogc3RyaW5nO1xuICBAUHJvcGVydHkoJ+makOiXj3jovbTmoIfnrb4nKVxuICBoaWRlWExhYmVsOiBib29sZWFuO1xuICBAUHJvcGVydHkoJ3jovbTmoIfnrb7op5LluqYnLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogLTkwLCBtYXg6IDkwLCBzdGVwOiAxMCwgdmlzaWJsZUlmOiB7IGhpZGVYTGFiZWw6ICh2YWx1ZSkgPT4gIXZhbHVlIH0gfSxcbiAgfSlcbiAgeExhYmVsUm90YXRlID0gMDtcbiAgQFByb3BlcnR5KCd46L205paH5pys5a695bqmJywgeyB1aTogeyB2aXNpYmxlSWY6IHsgaGlkZVhMYWJlbDogKHZhbHVlKSA9PiAhdmFsdWUgfSB9IH0pXG4gIHhMYWJlbFdpZHRoOiBudW1iZXI7XG4gIEBQcm9wZXJ0eSgneOi9tOaWh+Wtl+WuveW6pui2heWHuicsIHtcbiAgICBlbnVtOiBbXG4gICAgICB7IGxhYmVsOiAn6Ieq5YqoJywgdmFsdWU6ICdhdXRvJyB9LFxuICAgICAgeyBsYWJlbDogJ+aIquaWrScsIHZhbHVlOiAndHJ1bmNhdGUnIH0sXG4gICAgICB7IGxhYmVsOiAn5o2i6KGMJywgdmFsdWU6ICdicmVhaycgfSxcbiAgICAgIHsgbGFiZWw6ICflvLrliLbmjaLooYwnLCB2YWx1ZTogJ2JyZWFrQWxsJyB9LFxuICAgIF0sXG4gICAgdWk6IHsgd2lkZ2V0OiAnc2VsZWN0JywgdmlzaWJsZUlmOiB7IGhpZGVYTGFiZWw6ICh2YWx1ZSkgPT4gIXZhbHVlIH0gfSxcbiAgfSlcbiAgeExhYmVsT3ZlcmZsb3cgPSAnYXV0byc7XG4gIEBQcm9wZXJ0eSgn5qCH562+5pi+56S66Ze06ZqUJywge1xuICAgIHVpOiB7XG4gICAgICB2aXNpYmxlSWY6IHsgaGlkZVhMYWJlbDogKHZhbHVlKSA9PiAhdmFsdWUgfSxcbiAgICAgIG9wdGlvbmFsSGVscDoge1xuICAgICAgICB0ZXh0OiBg6buY6K6k5Lya6YeH55So5qCH562+5LiN6YeN5Y+g55qE562W55Wl6Ze06ZqU5pi+56S65qCH562+44CCXG7lj6/ku6Xorr7nva7miJAgMCDlvLrliLbmmL7npLrmiYDmnInmoIfnrb7jgIIgXG7lpoLmnpzorr7nva7kuLogMe+8jOihqOekuuOAjumalOS4gOS4quagh+etvuaYvuekuuS4gOS4quagh+etvuOAj++8jOWmguaenOWAvOS4uiAy77yM6KGo56S66ZqU5Lik5Liq5qCH562+5pi+56S65LiA5Liq5qCH562+77yM5Lul5q2k57G75o6o44CCYCxcbiAgICAgICAgb3ZlcmxheVN0eWxlOiB7XG4gICAgICAgICAgd2hpdGVTcGFjZTogJ3ByZS1saW5lJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSlcbiAgeExhYmVsSW50ZXJ2YWw6IG51bWJlcjtcblxuICBAUHJvcGVydHkoJ+WMuuWfn+e8qeaUvicpXG4gIGluc2lkZURhdGFab29tOiBib29sZWFuO1xuICBAUHJvcGVydHkoJ+e8qeaUvuacgOWwkeaVsOmHjycsIHsgdWk6IHsgdmlzaWJsZUlmOiB7IGluc2lkZURhdGFab29tOiBbdHJ1ZV0gfSB9IH0pXG4gIGRhdGFab29tTWluRGF0YTogbnVtYmVyO1xuICBAUHJvcGVydHkoJ+e8qeaUvuW8gOWni+eZvuWIhuavlCcsIHsgdWk6IHsgdmlzaWJsZUlmOiB7IGluc2lkZURhdGFab29tOiBbdHJ1ZV0gfSB9IH0pXG4gIGRhdGFab29tU3RhcnQ6IG51bWJlcjtcbiAgQFByb3BlcnR5KCfnvKnmlL7nu5PmnZ/nmb7liIbmr5QnLCB7IHVpOiB7IHZpc2libGVJZjogeyBpbnNpZGVEYXRhWm9vbTogW3RydWVdIH0gfSB9KVxuICBkYXRhWm9vbUVuZDogbnVtYmVyO1xuICBAUHJvcGVydHkoJ+a7mui9rue8qeaUvicsIHtcbiAgICBlbnVtOiBbXG4gICAgICB7IGxhYmVsOiAn5ZCv55SoJywgdmFsdWU6IHRydWUgfSxcbiAgICAgIHsgbGFiZWw6ICfnpoHnlKgnLCB2YWx1ZTogZmFsc2UgfSxcbiAgICAgIHsgbGFiZWw6ICfmjInkvY9zaGlmdCcsIHZhbHVlOiAnc2hpZnQnIH0sXG4gICAgICB7IGxhYmVsOiAn5oyJ5L2PY3RybCcsIHZhbHVlOiAnY3RybCcgfSxcbiAgICAgIHsgbGFiZWw6ICfmjInkvY9hbHQnLCB2YWx1ZTogJ2FsdCcgfSxcbiAgICBdLFxuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcsIHZpc2libGVJZjogeyBpbnNpZGVEYXRhWm9vbTogW3RydWVdIH0gfSxcbiAgfSlcbiAgem9vbU9uTW91c2VXaGVlbCA9IHRydWU7XG4gIEBQcm9wZXJ0eSgn5ruR5Yqo5p2hJywgeyB1aTogeyB2aXNpYmxlSWY6IHsgaW5zaWRlRGF0YVpvb206IFt0cnVlXSB9IH0gfSlcbiAgc2xpZGVyRGF0YVpvb206IGJvb2xlYW47XG4gIEBQcm9wZXJ0eSgn6ZSB5a6a5Yy65Z+f5aSn5bCPJywgeyB1aTogeyB2aXNpYmxlSWY6IHsgc2xpZGVyRGF0YVpvb206IFt0cnVlXSB9IH0gfSlcbiAgem9vbUxvY2s6IGJvb2xlYW47XG4gIEBQcm9wZXJ0eSgn5o+Q56S65qGG5a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUZvbnQnIH0gfSlcbiAgdG9vbHRpcEZvbnQ6IGFueTtcbiAgQFByb3BlcnR5KCfpmLbmoq/mi5DngrknLCB7XG4gICAgZW51bTogW1xuICAgICAgeyBsYWJlbDogJ+W9k+WJjeeCuScsIHZhbHVlOiAnc3RhcnQnIH0sXG4gICAgICB7IGxhYmVsOiAn5Lit6Ze054K5JywgdmFsdWU6ICdtaWRkbGUnIH0sXG4gICAgICB7IGxhYmVsOiAn5LiL5Liq54K5JywgdmFsdWU6ICdlbmQnIH0sXG4gICAgXSxcbiAgICB1aTogeyB3aWRnZXQ6ICdzZWxlY3QnLCB2aXNpYmxlSWY6IHsgdHlwZTogWydzdGVwJ10gfSB9LFxuICB9KVxuICBzdGVwOiBzdHJpbmc7XG4gIEBQcm9wZXJ0eSgn5qCH6K6w54K55aSn5bCPJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICBzeW1ib2xTaXplOiBudW1iZXI7XG4gIGNoYXJ0T3B0aW9uOiBhbnkgPSBudWxsO1xuICBARGF0YSh7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgeDogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfnsbvnm64nIH0sXG4gICAgICB5OiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+WAvCcgfSxcbiAgICAgIHM6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn57O75YiXJyB9LFxuICAgIH0sXG4gIH0pXG4gIF9kYXRhOiBhbnlbXSA9IFtcbiAgICB7IHg6ICfkuIDmnIgnLCB5OiAxMCwgczogJ+aUtuWFpScgfSxcbiAgICB7IHg6ICfkuozmnIgnLCB5OiAyMCwgczogJ+aUtuWFpScgfSxcbiAgICB7IHg6ICfkuInmnIgnLCB5OiAyNSwgczogJ+aUtuWFpScgfSxcbiAgICB7IHg6ICflm5vmnIgnLCB5OiAzNSwgczogJ+aUtuWFpScgfSxcbiAgICB7IHg6ICfkupTmnIgnLCB5OiAyNywgczogJ+aUtuWFpScgfSxcbiAgICB7IHg6ICflha3mnIgnLCB5OiAyOCwgczogJ+aUtuWFpScgfSxcbiAgICB7IHg6ICfkuIDmnIgnLCB5OiAxOCwgczogJ+aUr+WHuicgfSxcbiAgICB7IHg6ICfkuozmnIgnLCB5OiAyOCwgczogJ+aUr+WHuicgfSxcbiAgICB7IHg6ICfkuInmnIgnLCB5OiAzMiwgczogJ+aUr+WHuicgfSxcbiAgICB7IHg6ICflm5vmnIgnLCB5OiA0OCwgczogJ+aUr+WHuicgfSxcbiAgICB7IHg6ICfkupTmnIgnLCB5OiAyMCwgczogJ+aUr+WHuicgfSxcbiAgICB7IHg6ICflha3mnIgnLCB5OiAxNywgczogJ+aUr+WHuicgfSxcbiAgXTtcbiAgQERyaWxsKClcbiAgQERhdGFPdXRwdXQoWyd4JywgJ3MnXSlcbiAgZGF0YUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHhEYXRhID0gW107XG4gIHlEYXRhID0gW107XG4gIC8vIHNlcmllcyA9IFtdO1xuICBzdHlsZSA9IHtcbiAgICBjb2xvcjogJycsXG4gICAgZm9udEZhbWlseTogJycsXG4gICAgZm9udFdlaWdodDogJycsXG4gICAgZm9udFNpemU6ICcnLFxuICAgIGxpbmVIZWlnaHQ6ICcnLFxuICB9O1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5fZGF0YSkge1xuICAgICAgY29uc3QgdGV4dFN0eWxlID0gdGhpcy5nZXRUZXh0U3R5bGUodGhpcy5mb250KTtcbiAgICAgIHRoaXMuc3R5bGUgPSB0ZXh0U3R5bGU7XG4gICAgICB0aGlzLmNoYXJ0T3B0aW9uID0ge1xuICAgICAgICBkYXRhWm9vbTogdGhpcy5nZXREYXRhWm9vbSgpLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmdldFRvb2x0aXAoKSxcbiAgICAgICAgbGVnZW5kOiB0aGlzLmdldExlZ2VuZCgpLFxuICAgICAgICBncmlkOiB0aGlzLmdldEdyaWQoKSxcbiAgICAgICAgeEF4aXM6IHRoaXMuZ2V0WEF4aXMoKSxcbiAgICAgICAgeUF4aXM6IHRoaXMuZ2V0WUF4aXMoKSxcbiAgICAgICAgY29sb3I6IHRoaXMubGluZUNvbG9yLFxuICAgICAgICBzZXJpZXM6IFtdLFxuICAgICAgfTtcbiAgICAgIHRoaXMucmVsb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldFhBeGlzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMueFVuaXQsXG4gICAgICBuYW1lVGV4dFN0eWxlOiB0aGlzLnN0eWxlLFxuICAgICAgdHlwZTogdGhpcy54VHlwZSB8fCAnY2F0ZWdvcnknLFxuICAgICAgYm91bmRhcnlHYXA6IHRoaXMuYm91bmRhcnlHYXAsXG4gICAgICBheGlzTGluZToge1xuICAgICAgICBsaW5lU3R5bGU6IHtcbiAgICAgICAgICBjb2xvcjogdGhpcy5zdHlsZS5jb2xvcixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBheGlzTGFiZWw6IHtcbiAgICAgICAgLi4udGhpcy5zdHlsZSxcbiAgICAgICAgcm90YXRlOiB0aGlzLnhMYWJlbFJvdGF0ZSxcbiAgICAgICAgc2hvdzogIXRoaXMuaGlkZVhMYWJlbCxcbiAgICAgICAgd2lkdGg6IHRoaXMueExhYmVsV2lkdGgsXG4gICAgICAgIG92ZXJmbG93OiB0aGlzLnhMYWJlbE92ZXJmbG93LFxuICAgICAgICBpbnRlcnZhbDogdGhpcy54TGFiZWxJbnRlcnZhbCxcbiAgICAgIH0sXG4gICAgICBzcGxpdExpbmU6IHtcbiAgICAgICAgc2hvdzogdGhpcy5uZXRMaW5lWCxcbiAgICAgICAgbGluZVN0eWxlOiB7XG4gICAgICAgICAgdHlwZTogdGhpcy5uZXRMaW5lWFR5cGUsXG4gICAgICAgICAgY29sb3I6IHRoaXMubmV0TGluZUNvbG9yLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0WUF4aXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgIG5hbWU6IHRoaXMueVVuaXQsXG4gICAgICBuYW1lVGV4dFN0eWxlOiB0aGlzLnN0eWxlLFxuICAgICAgdHlwZTogJ3ZhbHVlJyxcbiAgICAgIG1pbjogdGhpcy55TWluLFxuICAgICAgbWF4OiAodmFsdWUpID0+IHtcbiAgICAgICAgbGV0IHlNYXggPSB2YWx1ZS5tYXg7XG4gICAgICAgIGlmICh0aGlzLnlNYXgpIHtcbiAgICAgICAgICB5TWF4ID0gTnVtYmVyKHRoaXMueU1heCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXJrTGluZSkge1xuICAgICAgICAgIHlNYXggPSBNYXRoLm1heChOdW1iZXIodGhpcy5ZbWFya0xpbmVIZWlnaHQpLCB5TWF4KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMueU1heEFkZE51bSA/IHlNYXggKyBOdW1iZXIodGhpcy55TWF4QWRkTnVtKSA6IHlNYXgpO1xuICAgICAgfSxcbiAgICAgIGF4aXNMaW5lOiB7XG4gICAgICAgIHNob3c6IHRoaXMuc2hvd1ksXG4gICAgICAgIGxpbmVTdHlsZToge1xuICAgICAgICAgIGNvbG9yOiB0aGlzLnN0eWxlLmNvbG9yLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGF4aXNMYWJlbDogdGhpcy5zdHlsZSxcbiAgICAgIHNwbGl0TGluZToge1xuICAgICAgICBzaG93OiB0aGlzLm5ldExpbmUsXG4gICAgICAgIGxpbmVTdHlsZToge1xuICAgICAgICAgIHR5cGU6IHRoaXMubmV0TGluZVhUeXBlLFxuICAgICAgICAgIGNvbG9yOiB0aGlzLm5ldExpbmVDb2xvcixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBheGlzVGljazoge1xuICAgICAgICBzaG93OiB0aGlzLnNob3dZLFxuICAgICAgfSxcbiAgICAgIG1pbkludGVydmFsOiB0aGlzLnlNaW5JbnRlcnZhbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0R3JpZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdG9wOiB0aGlzLmdyaWQudG9wLFxuICAgICAgcmlnaHQ6IHRoaXMuZ3JpZC5yaWdodCxcbiAgICAgIGxlZnQ6IHRoaXMuZ3JpZC5sZWZ0LFxuICAgICAgYm90dG9tOiB0aGlzLmdyaWQuYm90dG9tLFxuICAgIH07XG4gIH1cbiAgZ2V0TGVnZW5kKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgICBsZWZ0OiB0aGlzLmFsaWduLFxuICAgICAgc2hvdzogdGhpcy5hbGlnbiAhPT0gJ25vbmUnLFxuICAgICAgaWNvbjogJ3JlY3QnLFxuICAgICAgdGV4dFN0eWxlOiB0aGlzLnN0eWxlLFxuICAgIH07XG4gIH1cbiAgZ2V0VG9vbHRpcCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHJpZ2dlcjogJ2F4aXMnLFxuICAgICAgdGV4dFN0eWxlOiB0aGlzLmdldFRleHRTdHlsZSh0aGlzLnRvb2x0aXBGb250KSxcbiAgICAgIGF4aXNQb2ludGVyOiB7XG4gICAgICAgIHR5cGU6IHRoaXMuYXhpc1R5cGUsXG4gICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgc2hvdzogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmVTdHlsZToge1xuICAgICAgICAgIHR5cGU6IHRoaXMubGluZVR5cGUsXG4gICAgICAgICAgY29sb3I6IHRoaXMuYXhpc0NvbG9yLFxuICAgICAgICAgIHdpZHRoOiB0aGlzLmF4aXNXaWR0aCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGdldFRleHRTdHlsZShmb250OiBhbnkpIHtcbiAgICByZXR1cm4gZ2V0RWNoYXJ0c1RleHRTdHlsZShmb250KTtcbiAgfVxuXG4gIGdldERhdGFab29tKCkge1xuICAgIGNvbnN0IGRhdGFab29tID0gW107XG4gICAgaWYgKHRoaXMuaW5zaWRlRGF0YVpvb20pIHtcbiAgICAgIGxldCBlbmFibGVEYXRhWm9vbSA9IHRydWU7XG4gICAgICBpZiAodGhpcy5kYXRhWm9vbU1pbkRhdGEgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCB4U2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIHRoaXMuX2RhdGEuZm9yRWFjaCgoZGF0YSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhLngpIHtcbiAgICAgICAgICAgIHhTZXQuYWRkKGRhdGEueCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHhTZXQuc2l6ZSA8IHRoaXMuZGF0YVpvb21NaW5EYXRhKSB7XG4gICAgICAgICAgZW5hYmxlRGF0YVpvb20gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGVuYWJsZURhdGFab29tKSB7XG4gICAgICAgIGxldCBzdGFydCA9IHRoaXMuZGF0YVpvb21TdGFydCB8fCAwO1xuICAgICAgICBsZXQgZW5kID0gdGhpcy5kYXRhWm9vbUVuZCB8fCAxMDA7XG4gICAgICAgIGRhdGFab29tLnB1c2goeyB0eXBlOiAnaW5zaWRlJywgc3RhcnQsIGVuZCwgem9vbU9uTW91c2VXaGVlbDogdGhpcy56b29tT25Nb3VzZVdoZWVsIH0pO1xuICAgICAgICBpZiAodGhpcy5zbGlkZXJEYXRhWm9vbSkge1xuICAgICAgICAgIGRhdGFab29tLnB1c2goeyB0eXBlOiAnc2xpZGVyJywgc3RhcnQsIGVuZCwgem9vbUxvY2s6IHRoaXMuem9vbUxvY2ssIGJydXNoU2VsZWN0OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YVpvb207XG4gIH1cblxuICByZWxvYWREYXRhKCkge1xuICAgIGNvbnN0IHNlcmllc01hcCA9IHt9O1xuICAgIGNvbnN0IGRhdGFzZXQgPSBbXTtcbiAgICBjb25zdCBzb3VyY2UgPSBbXTtcbiAgICBkYXRhc2V0LnB1c2goeyBzb3VyY2UgfSk7XG4gICAgdGhpcy5fZGF0YS5mb3JFYWNoKChyZWNvcmQpID0+IHtcbiAgICAgIC8vIOmSiOWvuW1hcmtsaW5l5qCH57q/5YWz6IGU5pWw5o2u5bqT55qE5pON5L2c77yMIOiLpXjnmoTlkI3lrZfkuI5tYXJrbGluZeeahG5hbWXkuIDoh7TvvIzliJnojrflj5blr7nlupTnmoR56L205pWw5o2u5L2c5Li6bWFya2xpbmXnmoR2YWx1ZTsg55uu5YmN5LuF5pSv5oyB5LiA5LiqbWFya2xpbmVcbiAgICAgIC8vIGRhdGHkuK3ov4fmu6TmjoltYXJrbGluZeeahOaVsOaNrlxuICAgICAgaWYgKHRoaXMubWFya0xpbmUgJiYgdGhpcy5ZbWFya0xpbmVOYW1lICYmIHJlY29yZC54ID09PSB0aGlzLlltYXJrTGluZU5hbWUpIHtcbiAgICAgICAgdGhpcy5ZbWFya0xpbmVIZWlnaHQgPSByZWNvcmQueTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8v5Li656m6ZmlsdGVy5Lya5oql6ZSZXG4gICAgICAgIGlmIChyZWNvcmQucyA9PSBudWxsKSB7XG4gICAgICAgICAgcmVjb3JkID0geyAuLi5yZWNvcmQsIHM6ICcnIH07XG4gICAgICAgIH1cbiAgICAgICAgc291cmNlLnB1c2gocmVjb3JkKTtcbiAgICAgICAgY29uc3QgcyA9IHJlY29yZC5zO1xuICAgICAgICBsZXQgc2VyaWVzID0gc2VyaWVzTWFwW3NdO1xuICAgICAgICBpZiAoIXNlcmllcykge1xuICAgICAgICAgIC8vIHNlcmllc1NldC5hZGQocyk7XG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtID0ge1xuICAgICAgICAgICAgdHlwZTogJ2ZpbHRlcicsXG4gICAgICAgICAgICBjb25maWc6IHsgZGltZW5zaW9uOiAncycsIHZhbHVlOiBzIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgICBkYXRhc2V0LnB1c2goeyB0cmFuc2Zvcm0gfSk7XG4gICAgICAgICAgc2VyaWVzID0gdGhpcy5zZXRTZXJpZXNTdHlsZShzLCBkYXRhc2V0Lmxlbmd0aCAtIDEpO1xuICAgICAgICAgIHNlcmllc01hcFtzXSA9IHNlcmllcztcbiAgICAgICAgICBpZiAodGhpcy5zaG93RGF0YU1hcmtMaW5lKSB7XG4gICAgICAgICAgICBzZXJpZXMubWFya0xpbmUgPSB7XG4gICAgICAgICAgICAgIHN5bWJvbDogWydub25lJywgJ25vbmUnXSxcbiAgICAgICAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnN0eWxlLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RhcnQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhTWFya0xpbmVGb3JtYXR0ZXIpIHtcbiAgICAgICAgICAgICAgc2VyaWVzLm1hcmtMaW5lLmxhYmVsLmZvcm1hdHRlciA9IGV2YWwoJygnICsgdGhpcy5kYXRhTWFya0xpbmVGb3JtYXR0ZXIgKyAnKScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zaG93RGF0YU1hcmtMaW5lKSB7XG4gICAgICAgICAgc2VyaWVzLm1hcmtMaW5lLmRhdGEucHVzaCh7IHhBeGlzOiByZWNvcmQueCB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuY2hhcnRPcHRpb24uZGF0YXNldCA9IGRhdGFzZXQ7XG4gICAgaWYgKHRoaXMubWFya0xpbmUpIHtcbiAgICAgIGNvbnN0IG1hcmtsaW5lU3R5bGU6IGFueSA9IHtcbiAgICAgICAgc3ltYm9sOiAnbm9uZScsXG4gICAgICAgIHNpbGVudDogdHJ1ZSwgLy8g6byg5qCH5oKs5YGc5Lmm5YmR77yMdHJ1ZeayoeaciVxuICAgICAgICBkYXRhOiBbXSxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5ZbWFya0xpbmVOYW1lKSB7XG4gICAgICAgIG1hcmtsaW5lU3R5bGUuZGF0YS5wdXNoKHtcbiAgICAgICAgICBuYW1lOiB0aGlzLlltYXJrTGluZU5hbWUsXG4gICAgICAgICAgdHlwZTogdGhpcy5ZbWFya0xpbmVIZWlnaHQgPyBudWxsIDogJ2F2ZXJhZ2UnLFxuICAgICAgICAgIHlBeGlzOiB0aGlzLlltYXJrTGluZUhlaWdodCxcbiAgICAgICAgICBsaW5lU3R5bGU6IHtcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLlltYXJrTGluZUNvbG9yLFxuICAgICAgICAgICAgdHlwZTogdGhpcy5ZbWFya0xpbmVUeXBlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuWW1hcmtXaWR0aCA/IHRoaXMuWW1hcmtXaWR0aCA6IDIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgZm9ybWF0dGVyOiAne2J9e2N9JyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnaW5zaWRlRW5kVG9wJyxcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLlltYXJrTGluZUNvbG9yLFxuICAgICAgICAgICAgZm9udFNpemU6IHRoaXMuZm9udC5zaXplLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuWG1hcmtMaW5lTmFtZSkge1xuICAgICAgICBtYXJrbGluZVN0eWxlLmRhdGEucHVzaCh7XG4gICAgICAgICAgbmFtZTogdGhpcy5YbWFya0xpbmVOYW1lLFxuICAgICAgICAgIHR5cGU6IHRoaXMuWG1hcmtMaW5lTG9jYXRpb24gPyBudWxsIDogJ2F2ZXJhZ2UnLFxuICAgICAgICAgIHhBeGlzOiB0aGlzLlhtYXJrTGluZUxvY2F0aW9uLFxuICAgICAgICAgIGxpbmVTdHlsZToge1xuICAgICAgICAgICAgY29sb3I6IHRoaXMuWG1hcmtMaW5lQ29sb3IsXG4gICAgICAgICAgICB0eXBlOiB0aGlzLlhtYXJrTGluZVR5cGUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5YbWFya1dpZHRoID8gdGhpcy5YbWFya1dpZHRoIDogMixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICBmb3JtYXR0ZXI6ICd7Yn17Y30nLFxuICAgICAgICAgICAgcG9zaXRpb246ICdpbnNpZGVFbmRUb3AnLFxuICAgICAgICAgICAgY29sb3I6IHRoaXMuWG1hcmtMaW5lQ29sb3IsXG4gICAgICAgICAgICBmb250U2l6ZTogdGhpcy5mb250LnNpemUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNoYXJ0T3B0aW9uLnNlcmllcy5wdXNoKHsgdHlwZTogJ2xpbmUnLCBtYXJrTGluZTogbWFya2xpbmVTdHlsZSwgZGF0YTogW10gfSk7XG4gICAgICAvLyB0aGlzLmNoYXJ0T3B0aW9uLnNlcmllc1t0aGlzLmNoYXJ0T3B0aW9uLnNlcmllcy5sZW5ndGggLSAxXS5tYXJrTGluZSA9IG1hcmtsaW5lU3R5bGU7XG4gICAgfVxuICB9XG5cbiAgc2V0U2VyaWVzU3R5bGUobmFtZTogc3RyaW5nLCBkYXRhc2V0SW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNlcmllczogYW55ID0ge1xuICAgICAgbmFtZSxcbiAgICAgIGxhYmVsOiB7XG4gICAgICAgIHNob3c6IHRoaXMubGFiZWwsXG4gICAgICAgIHRleHRTdHlsZTogdGhpcy5zdHlsZSxcbiAgICAgIH0sXG4gICAgICBjb25uZWN0TnVsbHM6IHRydWUsXG4gICAgICBpdGVtU3R5bGU6IHt9LFxuICAgICAgdHlwZTogJ2xpbmUnLFxuICAgICAgYXJlYVN0eWxlOiB7fSxcbiAgICAgIHNtb290aDogZmFsc2UsXG4gICAgICBzeW1ib2xTaXplOiB0aGlzLnN5bWJvbFNpemUgPz8gMTAsXG4gICAgICBlbmNvZGU6IHsgeDogJ3gnLCB5OiAneScgfSxcbiAgICAgIGRhdGFzZXRJbmRleCxcbiAgICB9O1xuICAgIHRoaXMuY2hhcnRPcHRpb24uc2VyaWVzLnB1c2goc2VyaWVzKTtcbiAgICBzZXJpZXMuYXJlYVN0eWxlLm9wYWNpdHkgPSAwO1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdzbW9vdGgnIHx8IHRoaXMudHlwZSA9PT0gJ3Ntb290aC1hcmVhJykge1xuICAgICAgc2VyaWVzLnNtb290aCA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdhcmVhJyB8fCB0aGlzLnR5cGUgPT09ICdzbW9vdGgtYXJlYScpIHtcbiAgICAgIHNlcmllcy5hcmVhU3R5bGUub3BhY2l0eSA9IDAuNTtcbiAgICAgIHNlcmllcy5zeW1ib2xTaXplID0gdGhpcy5zeW1ib2xTaXplID8/ICh0aGlzLmxhYmVsID8gMTAgOiAwKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3N0ZXAnKSB7XG4gICAgICBzZXJpZXMuc3RlcCA9IHRoaXMuc3RlcDtcbiAgICB9XG4gICAgcmV0dXJuIHNlcmllcztcbiAgfVxuXG4gIHVuaXF1ZURhdGEoZGF0YSkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IGRhdGEubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKGRhdGFbaV0gPT09IGRhdGFbal0pIHtcbiAgICAgICAgICBkYXRhLnNwbGljZShqLCAxKTtcbiAgICAgICAgICBqLS07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBnZXRNYXhZKCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy55RGF0YVtpXSA9IHRoaXMuX2RhdGFbaV0ueTtcbiAgICB9XG4gICAgdGhpcy51bmlxdWVEYXRhKHRoaXMueURhdGEpO1xuICAgIGNvbnN0IGEgPSBNYXRoLm1heCguLi50aGlzLnlEYXRhKS50b0ZpeGVkKDApO1xuICAgIGNvbnN0IGIgPSBhLnRvU3RyaW5nKCkubGVuZ3RoO1xuICAgIGNvbnN0IGMgPSBNYXRoLnBvdygxMCwgYiAtIDEpO1xuICAgIGNvbnN0IG1heCA9IE51bWJlcihjKSArIE51bWJlcihhKTtcbiAgICByZXR1cm4gbWF4O1xuICB9XG5cbiAgb25DaGFydENsaWNrKGV2ZW50KSB7XG4gICAgdGhpcy5kYXRhQ2xpY2suZW1pdCh7IHg6IGV2ZW50Lm5hbWUsIHM6IGV2ZW50LnNlcmllc05hbWUgfSk7XG4gIH1cbn1cbiJdfQ==
|