bbj-screen-widget 2.4.62 → 2.4.63
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/bbj-screen-widget.d.ts +119 -0
- package/bbj-screen-widget.metadata.json +1 -0
- package/bundles/bbj-screen-widget-core.umd.js +614 -0
- package/bundles/bbj-screen-widget-core.umd.js.map +1 -0
- package/bundles/bbj-screen-widget-core.umd.min.js +2 -0
- package/bundles/bbj-screen-widget-core.umd.min.js.map +1 -0
- package/bundles/bbj-screen-widget.umd.js +21735 -0
- package/bundles/bbj-screen-widget.umd.js.map +1 -0
- package/bundles/bbj-screen-widget.umd.min.js +2 -0
- package/bundles/bbj-screen-widget.umd.min.js.map +1 -0
- package/core/bbj-screen-widget-core.d.ts +4 -0
- package/core/bbj-screen-widget-core.metadata.json +1 -0
- package/core/model/screen-widget.config.d.ts +7 -0
- package/core/package.json +10 -2
- package/core/public_api.d.ts +2 -0
- package/core/service/baidu-map.service.d.ts +18 -0
- package/esm2015/bbj-screen-widget.js +120 -0
- package/esm2015/core/bbj-screen-widget-core.js +5 -0
- package/esm2015/core/model/screen-widget.config.js +3 -0
- package/esm2015/core/public_api.js +3 -0
- package/esm2015/core/service/baidu-map.service.js +108 -0
- package/esm2015/lib/announcement/announcement.component.js +80 -0
- package/esm2015/lib/announcement/announcement.module.js +25 -0
- package/esm2015/lib/audio/audio.component.js +167 -0
- package/esm2015/lib/audio/audio.module.js +20 -0
- package/esm2015/lib/background/background.component.js +52 -0
- package/esm2015/lib/background/background.module.js +19 -0
- package/esm2015/lib/bar-chart-three-d/bar-chart-three-d.component.js +323 -0
- package/esm2015/lib/bar-chart-three-d/bar-chart-three-d.module.js +20 -0
- package/esm2015/lib/basic-bar-chart/basic-bar-chart.component.js +604 -0
- package/esm2015/lib/basic-bar-chart/basic-bar-chart.module.js +27 -0
- package/esm2015/lib/basic-line-chart/basic-line-chart.component.js +782 -0
- package/esm2015/lib/basic-line-chart/basic-line-chart.module.js +20 -0
- package/esm2015/lib/basic-pie-chart/basic-pie-chart.component.js +471 -0
- package/esm2015/lib/basic-pie-chart/basic-pie-chart.module.js +20 -0
- package/esm2015/lib/basic-planimetric-map/basic-planimetric-map.component.js +233 -0
- package/esm2015/lib/basic-planimetric-map/basic-planimetric-map.module.js +21 -0
- package/esm2015/lib/breathing-bubble-layer/breathing-bubble-layer.component.js +503 -0
- package/esm2015/lib/breathing-bubble-layer/breathing-bubble-layer.module.js +19 -0
- package/esm2015/lib/bubble-chart/bubble-chart.component.js +348 -0
- package/esm2015/lib/bubble-chart/bubble-chart.module.js +20 -0
- package/esm2015/lib/bulletin-board/bulletin-board.component.js +160 -0
- package/esm2015/lib/bulletin-board/bulletin-board.module.js +23 -0
- package/esm2015/lib/button/button.component.js +186 -0
- package/esm2015/lib/button/button.module.js +21 -0
- package/esm2015/lib/calendar/background-events/background-events.component.js +65 -0
- package/esm2015/lib/calendar/calendar-events-child.js +28 -0
- package/esm2015/lib/calendar/calendar.component.js +168 -0
- package/esm2015/lib/calendar/calendar.module.js +32 -0
- package/esm2015/lib/calendar/calendar.util.js +12 -0
- package/esm2015/lib/calendar/events/events.component.js +75 -0
- package/esm2015/lib/checkbox/checkbox.component.js +333 -0
- package/esm2015/lib/checkbox/checkbox.module.js +21 -0
- package/esm2015/lib/cross-table/cross-table.component.js +291 -0
- package/esm2015/lib/cross-table/cross-table.module.js +20 -0
- package/esm2015/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.js +747 -0
- package/esm2015/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.js +278 -0
- package/esm2015/lib/custom-baidu-map/base-layer.js +53 -0
- package/esm2015/lib/custom-baidu-map/custom-baidu-map.component.js +675 -0
- package/esm2015/lib/custom-baidu-map/custom-baidu-map.module.js +46 -0
- package/esm2015/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.js +116 -0
- package/esm2015/lib/custom-baidu-map/wind-layer/wind-layer.component.js +331 -0
- package/esm2015/lib/date-picker/date-picker.component.js +447 -0
- package/esm2015/lib/date-picker/date-picker.module.js +22 -0
- package/esm2015/lib/funnel-chart/funnel-chart.component.js +241 -0
- package/esm2015/lib/funnel-chart/funnel-chart.module.js +20 -0
- package/esm2015/lib/gantt/gantt.component.js +222 -0
- package/esm2015/lib/gantt/gantt.module.js +39 -0
- package/esm2015/lib/gauge/gauge.component.js +324 -0
- package/esm2015/lib/gauge/gauge.module.js +20 -0
- package/esm2015/lib/gauge-progress/gauge-progress.component.js +356 -0
- package/esm2015/lib/gauge-progress/gauge.module.js +22 -0
- package/esm2015/lib/general-text/general-text.component.js +144 -0
- package/esm2015/lib/general-text/general-text.module.js +20 -0
- package/esm2015/lib/iconfont/icon.js +199 -0
- package/esm2015/lib/iconfont/iconfont.component.js +56 -0
- package/esm2015/lib/iconfont/iconfont.module.js +20 -0
- package/esm2015/lib/iframe/iframe.component.js +46 -0
- package/esm2015/lib/iframe/iframe.module.js +20 -0
- package/esm2015/lib/image/image.component.js +98 -0
- package/esm2015/lib/image/image.module.js +19 -0
- package/esm2015/lib/item-swiper/item-swiper.component.js +343 -0
- package/esm2015/lib/item-swiper/item-swiper.module.js +22 -0
- package/esm2015/lib/line-bar-chart/line-bar-chart.component.js +398 -0
- package/esm2015/lib/line-bar-chart/line-bar-chart.module.js +20 -0
- package/esm2015/lib/line-light-flow/line-light-flow.component.js +241 -0
- package/esm2015/lib/line-light-flow/line-light-flow.module.js +24 -0
- package/esm2015/lib/liquid-fill/liquid-fill.component.js +158 -0
- package/esm2015/lib/liquid-fill/liquid-fill.module.js +20 -0
- package/esm2015/lib/marquee/marquee.component.js +110 -0
- package/esm2015/lib/marquee/marquee.module.js +19 -0
- package/esm2015/lib/mip-anim/mip-anim.component.js +26 -0
- package/esm2015/lib/mip-anim/mip-anim.module.js +19 -0
- package/esm2015/lib/multi-title-gauge/multi-title-gauge.component.js +277 -0
- package/esm2015/lib/multi-title-gauge/multi-title-gauge.module.js +22 -0
- package/esm2015/lib/number-flop/number-flop.component.js +124 -0
- package/esm2015/lib/number-flop/number-flop.module.js +19 -0
- package/esm2015/lib/parent-container/parent-container.component.js +21 -0
- package/esm2015/lib/parent-container/parent-container.module.js +19 -0
- package/esm2015/lib/percent-pie-chart/percent-pie-chart.component.js +248 -0
- package/esm2015/lib/percent-pie-chart/percent-pie-chart.module.js +20 -0
- package/esm2015/lib/pie3d-chart/pie3d-chart.component.js +303 -0
- package/esm2015/lib/pie3d-chart/pie3d-chart.module.js +19 -0
- package/esm2015/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.js +431 -0
- package/esm2015/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.js +19 -0
- package/esm2015/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.js +252 -0
- package/esm2015/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.js +19 -0
- package/esm2015/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.js +124 -0
- package/esm2015/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.js +19 -0
- package/esm2015/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.js +359 -0
- package/esm2015/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.js +21 -0
- package/esm2015/lib/planimetric-map2d/planimetric-map2d.component.js +753 -0
- package/esm2015/lib/planimetric-map2d/planimetric-map2d.module.js +34 -0
- package/esm2015/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.js +128 -0
- package/esm2015/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.js +19 -0
- package/esm2015/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.js +242 -0
- package/esm2015/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.js +19 -0
- package/esm2015/lib/planimetric-map3d/planimetric-map3d.component.js +265 -0
- package/esm2015/lib/planimetric-map3d/planimetric-map3d.module.js +22 -0
- package/esm2015/lib/radar-chart/radar-chart.component.js +255 -0
- package/esm2015/lib/radar-chart/radar-chart.module.js +20 -0
- package/esm2015/lib/radio/radio.component.js +148 -0
- package/esm2015/lib/radio/radio.module.js +21 -0
- package/esm2015/lib/rate/rate.component.js +57 -0
- package/esm2015/lib/rate/rate.module.js +23 -0
- package/esm2015/lib/scatter3d/scatter3d.component.js +166 -0
- package/esm2015/lib/scatter3d/scatter3d.module.js +20 -0
- package/esm2015/lib/screen-widget.module.js +536 -0
- package/esm2015/lib/search/search.component.js +130 -0
- package/esm2015/lib/search/search.module.js +29 -0
- package/esm2015/lib/select/select.component.js +359 -0
- package/esm2015/lib/select/select.module.js +22 -0
- package/esm2015/lib/shape/shape.component.js +248 -0
- package/esm2015/lib/shape/shape.module.js +19 -0
- package/esm2015/lib/shared/component/video-player/video-player.component.js +114 -0
- package/esm2015/lib/shared/component/video-player/video-player.module.js +14 -0
- package/esm2015/lib/shared/service/common.service.js +39 -0
- package/esm2015/lib/shared/service/file-url.service.js +12 -0
- package/esm2015/lib/shared/service/gaode-map.service.js +36 -0
- package/esm2015/lib/shared/service/highcharts.service.js +36 -0
- package/esm2015/lib/shared/service/http.service.js +20 -0
- package/esm2015/lib/shared/util/base.util.js +5 -0
- package/esm2015/lib/shared/util/echarts.util.js +12 -0
- package/esm2015/lib/shared/util/style.util.js +19 -0
- package/esm2015/lib/shuffling-list/color.pipe.js +23 -0
- package/esm2015/lib/shuffling-list/shuffling-list.component.js +601 -0
- package/esm2015/lib/shuffling-list/shuffling-list.module.js +22 -0
- package/esm2015/lib/table/table.component.js +657 -0
- package/esm2015/lib/table/table.module.js +38 -0
- package/esm2015/lib/tabs/tab/tab.component.js +27 -0
- package/esm2015/lib/tabs/tabs.component.js +85 -0
- package/esm2015/lib/tabs/tabs.module.js +22 -0
- package/esm2015/lib/temporary-data/temporary-data.component.js +49 -0
- package/esm2015/lib/temporary-data/temporary-data.module.js +20 -0
- package/esm2015/lib/time-picker/time-picker.component.js +112 -0
- package/esm2015/lib/time-picker/time-picker.module.js +21 -0
- package/esm2015/lib/timer/timer.component.js +108 -0
- package/esm2015/lib/timer/timer.module.js +20 -0
- package/esm2015/lib/tree-control/tree-control.component.js +435 -0
- package/esm2015/lib/tree-control/tree-control.module.js +24 -0
- package/esm2015/lib/tree-ring-chart/tree-ring-chart.component.js +215 -0
- package/esm2015/lib/tree-ring-chart/tree-ring-chart.module.js +20 -0
- package/esm2015/lib/upload/upload.component.js +127 -0
- package/esm2015/lib/upload/upload.module.js +22 -0
- package/esm2015/lib/video-grid/video-grid.component.js +140 -0
- package/esm2015/lib/video-grid/video-grid.module.js +22 -0
- package/esm2015/lib/visual-map-chart/visual-map-chart.component.js +395 -0
- package/esm2015/lib/visual-map-chart/visual-map-chart.module.js +20 -0
- package/esm2015/lib/vote/vote.component.js +100 -0
- package/esm2015/lib/vote/vote.module.js +21 -0
- package/esm2015/lib/weather/weather.component.js +92 -0
- package/esm2015/lib/weather/weather.module.js +21 -0
- package/esm2015/lib/wordart/wordart.component.js +84 -0
- package/esm2015/lib/wordart/wordart.module.js +19 -0
- package/esm2015/lib/workbench-widget.module.js +620 -0
- package/esm2015/public-api.js +40 -0
- package/fesm2015/bbj-screen-widget-core.js +114 -0
- package/fesm2015/bbj-screen-widget-core.js.map +1 -0
- package/fesm2015/bbj-screen-widget.js +20633 -0
- package/fesm2015/bbj-screen-widget.js.map +1 -0
- package/lib/announcement/announcement.component.d.ts +13 -0
- package/lib/announcement/announcement.module.d.ts +5 -0
- package/lib/audio/audio.component.d.ts +22 -0
- package/lib/audio/audio.module.d.ts +4 -0
- package/lib/background/background.component.d.ts +12 -0
- package/lib/background/background.module.d.ts +4 -0
- package/lib/bar-chart-three-d/bar-chart-three-d.component.d.ts +30 -0
- package/lib/bar-chart-three-d/bar-chart-three-d.module.d.ts +4 -0
- package/lib/basic-bar-chart/basic-bar-chart.component.d.ts +105 -0
- package/lib/basic-bar-chart/basic-bar-chart.module.d.ts +5 -0
- package/lib/basic-line-chart/basic-line-chart.component.d.ts +102 -0
- package/lib/basic-line-chart/basic-line-chart.module.d.ts +4 -0
- package/lib/basic-pie-chart/basic-pie-chart.component.d.ts +56 -0
- package/lib/basic-pie-chart/basic-pie-chart.module.d.ts +4 -0
- package/lib/basic-planimetric-map/basic-planimetric-map.component.d.ts +18 -0
- package/lib/basic-planimetric-map/basic-planimetric-map.module.d.ts +4 -0
- package/lib/breathing-bubble-layer/breathing-bubble-layer.component.d.ts +210 -0
- package/lib/breathing-bubble-layer/breathing-bubble-layer.module.d.ts +4 -0
- package/lib/bubble-chart/bubble-chart.component.d.ts +75 -0
- package/lib/bubble-chart/bubble-chart.module.d.ts +4 -0
- package/lib/bulletin-board/bulletin-board.component.d.ts +25 -0
- package/lib/bulletin-board/bulletin-board.module.d.ts +4 -0
- package/lib/button/button.component.d.ts +25 -0
- package/lib/button/button.module.d.ts +4 -0
- package/lib/calendar/background-events/background-events.component.d.ts +10 -0
- package/lib/calendar/calendar-events-child.d.ts +12 -0
- package/lib/calendar/calendar.component.d.ts +27 -0
- package/lib/calendar/calendar.module.d.ts +4 -0
- package/lib/calendar/calendar.util.d.ts +6 -0
- package/lib/calendar/events/events.component.d.ts +13 -0
- package/lib/checkbox/checkbox.component.d.ts +45 -0
- package/lib/checkbox/checkbox.module.d.ts +4 -0
- package/lib/cross-table/cross-table.component.d.ts +30 -0
- package/lib/cross-table/cross-table.module.d.ts +4 -0
- package/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.d.ts +72 -0
- package/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.d.ts +23 -0
- package/lib/custom-baidu-map/base-layer.d.ts +16 -0
- package/lib/custom-baidu-map/custom-baidu-map.component.d.ts +93 -0
- package/lib/custom-baidu-map/custom-baidu-map.module.d.ts +4 -0
- package/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.d.ts +16 -0
- package/lib/custom-baidu-map/wind-layer/wind-layer.component.d.ts +28 -0
- package/lib/date-picker/date-picker.component.d.ts +63 -0
- package/lib/date-picker/date-picker.module.d.ts +4 -0
- package/lib/funnel-chart/funnel-chart.component.d.ts +24 -0
- package/lib/funnel-chart/funnel-chart.module.d.ts +4 -0
- package/lib/gantt/gantt.component.d.ts +25 -0
- package/lib/gantt/gantt.module.d.ts +4 -0
- package/lib/gauge/gauge.component.d.ts +37 -0
- package/lib/gauge/gauge.module.d.ts +4 -0
- package/lib/gauge-progress/gauge-progress.component.d.ts +46 -0
- package/lib/gauge-progress/gauge.module.d.ts +5 -0
- package/lib/general-text/general-text.component.d.ts +21 -0
- package/lib/general-text/general-text.module.d.ts +4 -0
- package/lib/iconfont/icon.d.ts +1 -0
- package/lib/iconfont/iconfont.component.d.ts +11 -0
- package/lib/iconfont/iconfont.module.d.ts +4 -0
- package/lib/iframe/iframe.component.d.ts +10 -0
- package/lib/iframe/iframe.module.d.ts +4 -0
- package/lib/image/image.component.d.ts +21 -0
- package/lib/image/image.module.d.ts +4 -0
- package/lib/item-swiper/item-swiper.component.d.ts +41 -0
- package/lib/item-swiper/item-swiper.module.d.ts +5 -0
- package/lib/line-bar-chart/line-bar-chart.component.d.ts +63 -0
- package/lib/line-bar-chart/line-bar-chart.module.d.ts +4 -0
- package/lib/line-light-flow/line-light-flow.component.d.ts +26 -0
- package/lib/line-light-flow/line-light-flow.module.d.ts +4 -0
- package/lib/liquid-fill/liquid-fill.component.d.ts +18 -0
- package/lib/liquid-fill/liquid-fill.module.d.ts +4 -0
- package/lib/marquee/marquee.component.d.ts +20 -0
- package/lib/marquee/marquee.module.d.ts +4 -0
- package/lib/mip-anim/mip-anim.component.d.ts +6 -0
- package/lib/mip-anim/mip-anim.module.d.ts +4 -0
- package/lib/multi-title-gauge/multi-title-gauge.component.d.ts +26 -0
- package/lib/multi-title-gauge/multi-title-gauge.module.d.ts +4 -0
- package/lib/number-flop/number-flop.component.d.ts +22 -0
- package/lib/number-flop/number-flop.module.d.ts +4 -0
- package/lib/parent-container/parent-container.component.d.ts +9 -0
- package/lib/parent-container/parent-container.module.d.ts +4 -0
- package/lib/percent-pie-chart/percent-pie-chart.component.d.ts +24 -0
- package/lib/percent-pie-chart/percent-pie-chart.module.d.ts +4 -0
- package/lib/pie3d-chart/pie3d-chart.component.d.ts +30 -0
- package/lib/pie3d-chart/pie3d-chart.module.d.ts +4 -0
- package/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.d.ts +206 -0
- package/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.d.ts +4 -0
- package/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.d.ts +15 -0
- package/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.d.ts +4 -0
- package/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.d.ts +15 -0
- package/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.d.ts +4 -0
- package/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.d.ts +49 -0
- package/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.d.ts +4 -0
- package/lib/planimetric-map2d/planimetric-map2d.component.d.ts +49 -0
- package/lib/planimetric-map2d/planimetric-map2d.module.d.ts +4 -0
- package/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.d.ts +14 -0
- package/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.d.ts +4 -0
- package/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.d.ts +41 -0
- package/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.d.ts +4 -0
- package/lib/planimetric-map3d/planimetric-map3d.component.d.ts +29 -0
- package/lib/planimetric-map3d/planimetric-map3d.module.d.ts +4 -0
- package/lib/radar-chart/radar-chart.component.d.ts +24 -0
- package/lib/radar-chart/radar-chart.module.d.ts +4 -0
- package/lib/radio/radio.component.d.ts +21 -0
- package/lib/radio/radio.module.d.ts +4 -0
- package/lib/rate/rate.component.d.ts +13 -0
- package/lib/rate/rate.module.d.ts +4 -0
- package/lib/scatter3d/scatter3d.component.d.ts +25 -0
- package/lib/scatter3d/scatter3d.module.d.ts +4 -0
- package/lib/screen-widget.module.d.ts +4 -0
- package/lib/search/search.component.d.ts +21 -0
- package/lib/search/search.module.d.ts +6 -0
- package/lib/select/select.component.d.ts +37 -0
- package/lib/select/select.module.d.ts +4 -0
- package/lib/shape/shape.component.d.ts +50 -0
- package/lib/shape/shape.module.d.ts +4 -0
- package/lib/shared/component/video-player/video-player.component.d.ts +28 -0
- package/lib/shared/component/video-player/video-player.module.d.ts +2 -0
- package/lib/shared/service/common.service.d.ts +21 -0
- package/lib/shared/service/file-url.service.d.ts +3 -0
- package/lib/shared/service/gaode-map.service.d.ts +10 -0
- package/lib/shared/service/highcharts.service.d.ts +9 -0
- package/lib/shared/service/http.service.d.ts +7 -0
- package/lib/shared/util/base.util.d.ts +1 -0
- package/lib/shared/util/echarts.util.d.ts +1 -0
- package/lib/shared/util/style.util.d.ts +1 -0
- package/lib/shuffling-list/color.pipe.d.ts +4 -0
- package/lib/shuffling-list/shuffling-list.component.d.ts +76 -0
- package/lib/shuffling-list/shuffling-list.module.d.ts +4 -0
- package/lib/table/table.component.d.ts +65 -0
- package/lib/table/table.module.d.ts +4 -0
- package/lib/tabs/tab/tab.component.d.ts +7 -0
- package/lib/tabs/tabs.component.d.ts +13 -0
- package/lib/tabs/tabs.module.d.ts +4 -0
- package/lib/temporary-data/temporary-data.component.d.ts +13 -0
- package/lib/temporary-data/temporary-data.module.d.ts +4 -0
- package/lib/time-picker/time-picker.component.d.ts +17 -0
- package/lib/time-picker/time-picker.module.d.ts +4 -0
- package/lib/timer/timer.component.d.ts +21 -0
- package/lib/timer/timer.module.d.ts +4 -0
- package/lib/tree-control/tree-control.component.d.ts +62 -0
- package/lib/tree-control/tree-control.module.d.ts +4 -0
- package/lib/tree-ring-chart/tree-ring-chart.component.d.ts +24 -0
- package/lib/tree-ring-chart/tree-ring-chart.module.d.ts +4 -0
- package/lib/upload/upload.component.d.ts +21 -0
- package/lib/upload/upload.module.d.ts +4 -0
- package/lib/video-grid/video-grid.component.d.ts +23 -0
- package/lib/video-grid/video-grid.module.d.ts +4 -0
- package/lib/visual-map-chart/visual-map-chart.component.d.ts +49 -0
- package/lib/visual-map-chart/visual-map-chart.module.d.ts +4 -0
- package/lib/vote/vote.component.d.ts +15 -0
- package/lib/vote/vote.module.d.ts +4 -0
- package/lib/weather/weather.component.d.ts +26 -0
- package/lib/weather/weather.module.d.ts +4 -0
- package/lib/wordart/wordart.component.d.ts +14 -0
- package/lib/wordart/wordart.module.d.ts +4 -0
- package/lib/workbench-widget.module.d.ts +4 -0
- package/package.json +13 -4
- package/{src/public-api.ts → public-api.d.ts} +35 -46
- package/core/src/public_api.ts +0 -1
- package/core/src/service/baidu-map.service.ts +0 -107
- package/karma.conf.js +0 -32
- package/ng-package.json +0 -59
- package/src/lib/announcement/announcement.component.html +0 -3
- package/src/lib/announcement/announcement.component.less +0 -5
- package/src/lib/announcement/announcement.component.spec.ts +0 -25
- package/src/lib/announcement/announcement.component.ts +0 -55
- package/src/lib/announcement/announcement.module.ts +0 -19
- package/src/lib/audio/audio.component.html +0 -6
- package/src/lib/audio/audio.component.less +0 -12
- package/src/lib/audio/audio.component.spec.ts +0 -25
- package/src/lib/audio/audio.component.ts +0 -167
- package/src/lib/audio/audio.module.ts +0 -15
- package/src/lib/background/background.component.html +0 -1
- package/src/lib/background/background.component.less +0 -6
- package/src/lib/background/background.component.spec.ts +0 -25
- package/src/lib/background/background.component.ts +0 -33
- package/src/lib/background/background.module.ts +0 -14
- package/src/lib/bar-chart-three-d/bar-chart-three-d.component.html +0 -1
- package/src/lib/bar-chart-three-d/bar-chart-three-d.component.less +0 -8
- package/src/lib/bar-chart-three-d/bar-chart-three-d.component.spec.ts +0 -25
- package/src/lib/bar-chart-three-d/bar-chart-three-d.component.ts +0 -271
- package/src/lib/bar-chart-three-d/bar-chart-three-d.module.ts +0 -15
- package/src/lib/basic-bar-chart/basic-bar-chart.component.html +0 -7
- package/src/lib/basic-bar-chart/basic-bar-chart.component.less +0 -5
- package/src/lib/basic-bar-chart/basic-bar-chart.component.spec.ts +0 -25
- package/src/lib/basic-bar-chart/basic-bar-chart.component.ts +0 -493
- package/src/lib/basic-bar-chart/basic-bar-chart.module.ts +0 -21
- package/src/lib/basic-line-chart/basic-line-chart.component.html +0 -7
- package/src/lib/basic-line-chart/basic-line-chart.component.less +0 -8
- package/src/lib/basic-line-chart/basic-line-chart.component.spec.ts +0 -25
- package/src/lib/basic-line-chart/basic-line-chart.component.ts +0 -654
- package/src/lib/basic-line-chart/basic-line-chart.module.ts +0 -15
- package/src/lib/basic-pie-chart/basic-pie-chart.component.html +0 -7
- package/src/lib/basic-pie-chart/basic-pie-chart.component.less +0 -8
- package/src/lib/basic-pie-chart/basic-pie-chart.component.spec.ts +0 -25
- package/src/lib/basic-pie-chart/basic-pie-chart.component.ts +0 -439
- package/src/lib/basic-pie-chart/basic-pie-chart.module.ts +0 -15
- package/src/lib/basic-planimetric-map/basic-planimetric-map.component.html +0 -2
- package/src/lib/basic-planimetric-map/basic-planimetric-map.component.less +0 -9
- package/src/lib/basic-planimetric-map/basic-planimetric-map.component.spec.ts +0 -25
- package/src/lib/basic-planimetric-map/basic-planimetric-map.component.ts +0 -211
- package/src/lib/basic-planimetric-map/basic-planimetric-map.module.ts +0 -16
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.css +0 -0
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.html +0 -1
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.spec.ts +0 -25
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.ts +0 -487
- package/src/lib/breathing-bubble-layer/breathing-bubble-layer.module.ts +0 -14
- package/src/lib/bubble-chart/bubble-chart.component.html +0 -7
- package/src/lib/bubble-chart/bubble-chart.component.less +0 -8
- package/src/lib/bubble-chart/bubble-chart.component.spec.ts +0 -25
- package/src/lib/bubble-chart/bubble-chart.component.ts +0 -307
- package/src/lib/bubble-chart/bubble-chart.module.ts +0 -15
- package/src/lib/bulletin-board/bulletin-board.component.html +0 -15
- package/src/lib/bulletin-board/bulletin-board.component.less +0 -27
- package/src/lib/bulletin-board/bulletin-board.component.spec.ts +0 -25
- package/src/lib/bulletin-board/bulletin-board.component.ts +0 -127
- package/src/lib/bulletin-board/bulletin-board.module.ts +0 -20
- package/src/lib/button/button.component.html +0 -1
- package/src/lib/button/button.component.less +0 -17
- package/src/lib/button/button.component.spec.ts +0 -25
- package/src/lib/button/button.component.ts +0 -137
- package/src/lib/button/button.module.ts +0 -16
- 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 +0 -25
- package/src/lib/calendar/background-events/background-events.component.ts +0 -51
- package/src/lib/calendar/calendar-events-child.ts +0 -27
- package/src/lib/calendar/calendar.component.html +0 -2
- package/src/lib/calendar/calendar.component.less +0 -14
- package/src/lib/calendar/calendar.component.spec.ts +0 -25
- package/src/lib/calendar/calendar.component.ts +0 -151
- package/src/lib/calendar/calendar.module.ts +0 -27
- package/src/lib/calendar/calendar.util.ts +0 -14
- 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 +0 -25
- package/src/lib/calendar/events/events.component.ts +0 -61
- package/src/lib/checkbox/checkbox.component.html +0 -61
- package/src/lib/checkbox/checkbox.component.less +0 -104
- package/src/lib/checkbox/checkbox.component.spec.ts +0 -25
- package/src/lib/checkbox/checkbox.component.ts +0 -292
- package/src/lib/checkbox/checkbox.module.ts +0 -16
- package/src/lib/cross-table/cross-table.component.html +0 -16
- package/src/lib/cross-table/cross-table.component.less +0 -75
- package/src/lib/cross-table/cross-table.component.spec.ts +0 -25
- package/src/lib/cross-table/cross-table.component.ts +0 -257
- package/src/lib/cross-table/cross-table.module.ts +0 -18
- package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.html +0 -32
- package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.less +0 -11
- package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.spec.ts +0 -25
- package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.ts +0 -689
- 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 +0 -25
- package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.ts +0 -248
- package/src/lib/custom-baidu-map/base-layer.ts +0 -50
- package/src/lib/custom-baidu-map/custom-baidu-map.component.html +0 -15
- package/src/lib/custom-baidu-map/custom-baidu-map.component.less +0 -69
- package/src/lib/custom-baidu-map/custom-baidu-map.component.spec.ts +0 -25
- package/src/lib/custom-baidu-map/custom-baidu-map.component.ts +0 -652
- package/src/lib/custom-baidu-map/custom-baidu-map.module.ts +0 -41
- 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 +0 -25
- package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.ts +0 -99
- 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 +0 -25
- package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.ts +0 -404
- package/src/lib/data-map/data-map.component.html +0 -9
- package/src/lib/data-map/data-map.component.less +0 -0
- package/src/lib/data-map/data-map.component.spec.ts +0 -25
- package/src/lib/data-map/data-map.component.ts +0 -105
- package/src/lib/data-map/data-map.module.ts +0 -15
- package/src/lib/date-picker/date-picker.component.html +0 -32
- package/src/lib/date-picker/date-picker.component.less +0 -20
- package/src/lib/date-picker/date-picker.component.spec.ts +0 -25
- package/src/lib/date-picker/date-picker.component.ts +0 -389
- package/src/lib/date-picker/date-picker.module.ts +0 -18
- package/src/lib/drop-down-detail-list/drop-down-detail-list.component.html +0 -25
- package/src/lib/drop-down-detail-list/drop-down-detail-list.component.less +0 -35
- package/src/lib/drop-down-detail-list/drop-down-detail-list.component.spec.ts +0 -25
- package/src/lib/drop-down-detail-list/drop-down-detail-list.component.ts +0 -117
- package/src/lib/drop-down-detail-list/drop-down-detail-list.module.ts +0 -15
- package/src/lib/dynamic-list/dynamic-list.component.html +0 -15
- package/src/lib/dynamic-list/dynamic-list.component.less +0 -31
- package/src/lib/dynamic-list/dynamic-list.component.spec.ts +0 -25
- package/src/lib/dynamic-list/dynamic-list.component.ts +0 -57
- package/src/lib/dynamic-list/dynamic-list.module.ts +0 -15
- package/src/lib/funnel-chart/funnel-chart.component.html +0 -7
- package/src/lib/funnel-chart/funnel-chart.component.less +0 -8
- package/src/lib/funnel-chart/funnel-chart.component.spec.ts +0 -25
- package/src/lib/funnel-chart/funnel-chart.component.ts +0 -198
- package/src/lib/funnel-chart/funnel-chart.module.ts +0 -15
- package/src/lib/gantt/gantt.component.html +0 -10
- package/src/lib/gantt/gantt.component.less +0 -76
- package/src/lib/gantt/gantt.component.spec.ts +0 -25
- package/src/lib/gantt/gantt.component.ts +0 -213
- package/src/lib/gantt/gantt.module.ts +0 -37
- package/src/lib/gauge/gauge.component.html +0 -1
- package/src/lib/gauge/gauge.component.less +0 -8
- package/src/lib/gauge/gauge.component.spec.ts +0 -25
- package/src/lib/gauge/gauge.component.ts +0 -268
- package/src/lib/gauge/gauge.module.ts +0 -15
- package/src/lib/gauge-progress/gauge-progress.component.html +0 -29
- package/src/lib/gauge-progress/gauge-progress.component.less +0 -51
- package/src/lib/gauge-progress/gauge-progress.component.ts +0 -293
- package/src/lib/gauge-progress/gauge.module.ts +0 -17
- package/src/lib/general-text/general-text.component.html +0 -7
- package/src/lib/general-text/general-text.component.less +0 -8
- package/src/lib/general-text/general-text.component.spec.ts +0 -25
- package/src/lib/general-text/general-text.component.ts +0 -114
- package/src/lib/general-text/general-text.module.ts +0 -15
- package/src/lib/iconfont/icon.ts +0 -198
- package/src/lib/iconfont/iconfont.component.html +0 -4
- package/src/lib/iconfont/iconfont.component.less +0 -5
- package/src/lib/iconfont/iconfont.component.spec.ts +0 -25
- package/src/lib/iconfont/iconfont.component.ts +0 -42
- package/src/lib/iconfont/iconfont.module.ts +0 -15
- package/src/lib/iframe/iframe.component.html +0 -1
- package/src/lib/iframe/iframe.component.less +0 -13
- package/src/lib/iframe/iframe.component.spec.ts +0 -25
- package/src/lib/iframe/iframe.component.ts +0 -34
- package/src/lib/iframe/iframe.module.ts +0 -15
- package/src/lib/image/image.component.html +0 -2
- package/src/lib/image/image.component.less +0 -13
- package/src/lib/image/image.component.spec.ts +0 -25
- package/src/lib/image/image.component.ts +0 -79
- package/src/lib/image/image.module.ts +0 -14
- package/src/lib/item-swiper/item-swiper.component.html +0 -48
- package/src/lib/item-swiper/item-swiper.component.less +0 -75
- package/src/lib/item-swiper/item-swiper.component.spec.ts +0 -25
- package/src/lib/item-swiper/item-swiper.component.ts +0 -277
- package/src/lib/item-swiper/item-swiper.module.ts +0 -17
- package/src/lib/line-bar-chart/line-bar-chart.component.html +0 -7
- package/src/lib/line-bar-chart/line-bar-chart.component.less +0 -3
- package/src/lib/line-bar-chart/line-bar-chart.component.spec.ts +0 -25
- package/src/lib/line-bar-chart/line-bar-chart.component.ts +0 -346
- package/src/lib/line-bar-chart/line-bar-chart.module.ts +0 -15
- package/src/lib/line-light-flow/line-light-flow.component.css +0 -0
- package/src/lib/line-light-flow/line-light-flow.component.html +0 -3
- package/src/lib/line-light-flow/line-light-flow.component.spec.ts +0 -25
- package/src/lib/line-light-flow/line-light-flow.component.ts +0 -274
- package/src/lib/line-light-flow/line-light-flow.module.ts +0 -21
- package/src/lib/liquid-fill/liquid-fill.component.html +0 -1
- package/src/lib/liquid-fill/liquid-fill.component.less +0 -8
- package/src/lib/liquid-fill/liquid-fill.component.spec.ts +0 -25
- package/src/lib/liquid-fill/liquid-fill.component.ts +0 -127
- package/src/lib/liquid-fill/liquid-fill.module.ts +0 -15
- package/src/lib/marquee/marquee.component.html +0 -5
- package/src/lib/marquee/marquee.component.less +0 -9
- package/src/lib/marquee/marquee.component.spec.ts +0 -25
- package/src/lib/marquee/marquee.component.ts +0 -84
- package/src/lib/marquee/marquee.module.ts +0 -14
- package/src/lib/mip-anim/mip-anim.component.html +0 -1
- package/src/lib/mip-anim/mip-anim.component.less +0 -7
- package/src/lib/mip-anim/mip-anim.component.spec.ts +0 -25
- package/src/lib/mip-anim/mip-anim.component.ts +0 -18
- package/src/lib/mip-anim/mip-anim.module.ts +0 -14
- package/src/lib/multi-title-gauge/multi-title-gauge.component.html +0 -1
- package/src/lib/multi-title-gauge/multi-title-gauge.component.less +0 -9
- package/src/lib/multi-title-gauge/multi-title-gauge.component.spec.ts +0 -25
- package/src/lib/multi-title-gauge/multi-title-gauge.component.ts +0 -231
- package/src/lib/multi-title-gauge/multi-title-gauge.module.ts +0 -19
- package/src/lib/number-flop/number-flop.component.html +0 -31
- package/src/lib/number-flop/number-flop.component.less +0 -155
- package/src/lib/number-flop/number-flop.component.spec.ts +0 -25
- package/src/lib/number-flop/number-flop.component.ts +0 -96
- package/src/lib/number-flop/number-flop.module.ts +0 -14
- 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 +0 -25
- package/src/lib/parent-container/parent-container.component.ts +0 -21
- package/src/lib/parent-container/parent-container.module.ts +0 -14
- package/src/lib/percent-pie-chart/percent-pie-chart.component.html +0 -8
- package/src/lib/percent-pie-chart/percent-pie-chart.component.less +0 -8
- package/src/lib/percent-pie-chart/percent-pie-chart.component.spec.ts +0 -25
- package/src/lib/percent-pie-chart/percent-pie-chart.component.ts +0 -213
- package/src/lib/percent-pie-chart/percent-pie-chart.module.ts +0 -15
- package/src/lib/pie3d-chart/pie3d-chart.component.html +0 -1
- package/src/lib/pie3d-chart/pie3d-chart.component.less +0 -9
- package/src/lib/pie3d-chart/pie3d-chart.component.spec.ts +0 -25
- package/src/lib/pie3d-chart/pie3d-chart.component.ts +0 -278
- package/src/lib/pie3d-chart/pie3d-chart.module.ts +0 -16
- 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 +0 -25
- package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.ts +0 -411
- package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.ts +0 -13
- package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.html +0 -1
- 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 +0 -25
- package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.ts +0 -235
- package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.ts +0 -16
- 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 +0 -25
- package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.ts +0 -107
- package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.ts +0 -17
- 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 +0 -25
- package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.ts +0 -337
- package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.ts +0 -18
- package/src/lib/planimetric-map2d/planimetric-map2d.component.html +0 -11
- package/src/lib/planimetric-map2d/planimetric-map2d.component.less +0 -9
- package/src/lib/planimetric-map2d/planimetric-map2d.component.spec.ts +0 -25
- package/src/lib/planimetric-map2d/planimetric-map2d.component.ts +0 -690
- package/src/lib/planimetric-map2d/planimetric-map2d.module.ts +0 -29
- 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 +0 -25
- package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.ts +0 -123
- package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.ts +0 -14
- 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 +0 -25
- package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.ts +0 -229
- package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.ts +0 -14
- package/src/lib/planimetric-map3d/planimetric-map3d.component.html +0 -2
- package/src/lib/planimetric-map3d/planimetric-map3d.component.less +0 -10
- package/src/lib/planimetric-map3d/planimetric-map3d.component.spec.ts +0 -25
- package/src/lib/planimetric-map3d/planimetric-map3d.component.ts +0 -227
- package/src/lib/planimetric-map3d/planimetric-map3d.module.ts +0 -17
- package/src/lib/radar-chart/radar-chart.component.html +0 -7
- package/src/lib/radar-chart/radar-chart.component.less +0 -8
- package/src/lib/radar-chart/radar-chart.component.spec.ts +0 -25
- package/src/lib/radar-chart/radar-chart.component.ts +0 -219
- package/src/lib/radar-chart/radar-chart.module.ts +0 -15
- package/src/lib/radio/radio.component.html +0 -18
- package/src/lib/radio/radio.component.less +0 -61
- package/src/lib/radio/radio.component.spec.ts +0 -25
- package/src/lib/radio/radio.component.ts +0 -116
- package/src/lib/radio/radio.module.ts +0 -16
- package/src/lib/rate/rate.component.html +0 -16
- package/src/lib/rate/rate.component.less +0 -39
- package/src/lib/rate/rate.component.spec.ts +0 -25
- package/src/lib/rate/rate.component.ts +0 -40
- package/src/lib/rate/rate.module.ts +0 -18
- package/src/lib/scatter3d/scatter3d.component.html +0 -1
- package/src/lib/scatter3d/scatter3d.component.less +0 -8
- package/src/lib/scatter3d/scatter3d.component.spec.ts +0 -25
- package/src/lib/scatter3d/scatter3d.component.ts +0 -129
- package/src/lib/scatter3d/scatter3d.module.ts +0 -15
- package/src/lib/screen-widget.module.ts +0 -592
- package/src/lib/search/search.component.html +0 -30
- package/src/lib/search/search.component.less +0 -30
- package/src/lib/search/search.component.spec.ts +0 -25
- package/src/lib/search/search.component.ts +0 -103
- package/src/lib/search/search.module.ts +0 -22
- package/src/lib/select/select.component.html +0 -30
- package/src/lib/select/select.component.less +0 -117
- package/src/lib/select/select.component.spec.ts +0 -25
- package/src/lib/select/select.component.ts +0 -297
- package/src/lib/select/select.module.ts +0 -18
- package/src/lib/shape/shape.component.html +0 -39
- package/src/lib/shape/shape.component.less +0 -8
- package/src/lib/shape/shape.component.spec.ts +0 -25
- package/src/lib/shape/shape.component.ts +0 -207
- package/src/lib/shape/shape.module.ts +0 -14
- package/src/lib/shared/component/video-player/video-player.component.html +0 -2
- package/src/lib/shared/component/video-player/video-player.component.less +0 -15
- package/src/lib/shared/component/video-player/video-player.component.spec.ts +0 -25
- package/src/lib/shared/component/video-player/video-player.component.ts +0 -132
- package/src/lib/shared/component/video-player/video-player.module.ts +0 -11
- package/src/lib/shared/model/scale.token.ts +0 -8
- package/src/lib/shared/service/common.service.ts +0 -28
- package/src/lib/shared/service/file-url.service.ts +0 -8
- package/src/lib/shared/service/gaode-map.service.ts +0 -37
- package/src/lib/shared/service/highcharts.service.ts +0 -29
- package/src/lib/shared/service/http.service.ts +0 -15
- package/src/lib/shared/util/base.util.ts +0 -4
- package/src/lib/shared/util/echarts.util.ts +0 -11
- package/src/lib/shared/util/style.util.ts +0 -12
- package/src/lib/shuffling-list/color.pipe.ts +0 -21
- package/src/lib/shuffling-list/shuffling-list.component.html +0 -37
- package/src/lib/shuffling-list/shuffling-list.component.less +0 -55
- package/src/lib/shuffling-list/shuffling-list.component.spec.ts +0 -25
- package/src/lib/shuffling-list/shuffling-list.component.ts +0 -534
- package/src/lib/shuffling-list/shuffling-list.module.ts +0 -17
- package/src/lib/table/table.component.html +0 -123
- package/src/lib/table/table.component.less +0 -76
- package/src/lib/table/table.component.spec.ts +0 -25
- package/src/lib/table/table.component.ts +0 -608
- package/src/lib/table/table.module.ts +0 -33
- package/src/lib/tabs/tab/tab.component.html +0 -1
- package/src/lib/tabs/tab/tab.component.less +0 -5
- package/src/lib/tabs/tab/tab.component.spec.ts +0 -25
- package/src/lib/tabs/tab/tab.component.ts +0 -18
- package/src/lib/tabs/tabs.component.html +0 -13
- package/src/lib/tabs/tabs.component.less +0 -40
- package/src/lib/tabs/tabs.component.spec.ts +0 -25
- package/src/lib/tabs/tabs.component.ts +0 -68
- package/src/lib/tabs/tabs.module.ts +0 -17
- package/src/lib/temporary-data/temporary-data.component.html +0 -1
- package/src/lib/temporary-data/temporary-data.component.less +0 -4
- package/src/lib/temporary-data/temporary-data.component.spec.ts +0 -25
- package/src/lib/temporary-data/temporary-data.component.ts +0 -46
- package/src/lib/temporary-data/temporary-data.module.ts +0 -15
- package/src/lib/text/text.component.css +0 -0
- package/src/lib/text/text.component.html +0 -3
- package/src/lib/text/text.component.spec.ts +0 -25
- package/src/lib/text/text.component.ts +0 -22
- package/src/lib/text/text.module.ts +0 -14
- package/src/lib/time-picker/time-picker.component.html +0 -1
- package/src/lib/time-picker/time-picker.component.less +0 -14
- package/src/lib/time-picker/time-picker.component.spec.ts +0 -25
- package/src/lib/time-picker/time-picker.component.ts +0 -86
- package/src/lib/time-picker/time-picker.module.ts +0 -19
- package/src/lib/timer/timer.component.html +0 -7
- package/src/lib/timer/timer.component.less +0 -24
- package/src/lib/timer/timer.component.spec.ts +0 -25
- package/src/lib/timer/timer.component.ts +0 -74
- package/src/lib/timer/timer.module.ts +0 -15
- package/src/lib/tree-control/tree-control.component.html +0 -97
- package/src/lib/tree-control/tree-control.component.less +0 -111
- package/src/lib/tree-control/tree-control.component.spec.ts +0 -25
- package/src/lib/tree-control/tree-control.component.ts +0 -363
- package/src/lib/tree-control/tree-control.module.ts +0 -18
- package/src/lib/tree-ring-chart/tree-ring-chart.component.html +0 -7
- package/src/lib/tree-ring-chart/tree-ring-chart.component.less +0 -8
- package/src/lib/tree-ring-chart/tree-ring-chart.component.spec.ts +0 -25
- package/src/lib/tree-ring-chart/tree-ring-chart.component.ts +0 -192
- package/src/lib/tree-ring-chart/tree-ring-chart.module.ts +0 -15
- package/src/lib/upload/upload.component.html +0 -32
- package/src/lib/upload/upload.component.less +0 -14
- package/src/lib/upload/upload.component.spec.ts +0 -25
- package/src/lib/upload/upload.component.ts +0 -109
- package/src/lib/upload/upload.module.ts +0 -19
- package/src/lib/video-grid/video-grid.component.html +0 -33
- package/src/lib/video-grid/video-grid.component.less +0 -68
- package/src/lib/video-grid/video-grid.component.spec.ts +0 -25
- package/src/lib/video-grid/video-grid.component.ts +0 -115
- package/src/lib/video-grid/video-grid.module.ts +0 -17
- package/src/lib/visual-map-chart/visual-map-chart.component.html +0 -8
- package/src/lib/visual-map-chart/visual-map-chart.component.less +0 -21
- package/src/lib/visual-map-chart/visual-map-chart.component.spec.ts +0 -25
- package/src/lib/visual-map-chart/visual-map-chart.component.ts +0 -365
- package/src/lib/visual-map-chart/visual-map-chart.module.ts +0 -18
- package/src/lib/vote/vote.component.html +0 -6
- package/src/lib/vote/vote.component.less +0 -41
- package/src/lib/vote/vote.component.spec.ts +0 -25
- package/src/lib/vote/vote.component.ts +0 -71
- package/src/lib/vote/vote.module.ts +0 -16
- package/src/lib/weather/weather.component.html +0 -27
- package/src/lib/weather/weather.component.less +0 -67
- package/src/lib/weather/weather.component.spec.ts +0 -25
- package/src/lib/weather/weather.component.ts +0 -78
- package/src/lib/weather/weather.module.ts +0 -16
- package/src/lib/wordart/wordart.component.html +0 -2
- package/src/lib/wordart/wordart.component.less +0 -12
- package/src/lib/wordart/wordart.component.spec.ts +0 -25
- package/src/lib/wordart/wordart.component.ts +0 -56
- package/src/lib/wordart/wordart.module.ts +0 -14
- package/src/lib/workbench-widget.module.ts +0 -675
- package/src/test.ts +0 -22
- package/tsconfig.lib.json +0 -37
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -17
|
@@ -0,0 +1,782 @@
|
|
|
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==
|