{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/home/administration/actuator/actuator.component.html","./src/app/components/home/administration/actuator/actuator.component.ts","./src/app/components/home/administration/camera/camera.component.html","./src/app/components/home/administration/camera/camera.component.ts","./src/app/components/home/administration/enterprise/enterprise.component.html","./src/app/components/home/administration/enterprise/enterprise.component.ts","./src/app/components/home/administration/gateway/gateway.component.html","./src/app/components/home/administration/gateway/gateway.component.ts","./src/app/components/home/administration/headquarter/headquarter.component.html","./src/app/components/home/administration/headquarter/headquarter.component.ts","./src/app/components/home/administration/role/role.component.html","./src/app/components/home/administration/role/role.component.ts","./src/app/components/home/administration/sensor-readingplace/sensor-readingplace.component.html","./src/app/components/home/administration/sensor-readingplace/sensor-readingplace.component.ts","./src/app/components/home/administration/sensor-type/sensor-type.component.html","./src/app/components/home/administration/sensor-type/sensor-type.component.ts","./src/app/components/home/administration/sensor/sensor.component.html","./src/app/components/home/administration/sensor/sensor.component.ts","./src/app/components/home/administration/user/user.component.html","./src/app/components/home/administration/user/user.component.ts","./src/app/components/home/administration/zone/zone.component.html","./src/app/components/home/administration/zone/zone.component.ts","./src/app/components/home/dashboard/dashboard.component.html","./src/app/components/home/dashboard/dashboard.component.ts","./src/app/components/home/home.component.html","./src/app/components/home/home.component.ts","./src/app/components/home/iot/digital-twins/digital-twins.component.html","./src/app/components/home/iot/digital-twins/digital-twins.component.ts","./src/app/components/home/iot/location-iot/location-iot.component.html","./src/app/components/home/iot/location-iot/location-iot.component.ts","./src/app/components/home/iot/panel-gps/panel-gps.component.html","./src/app/components/home/iot/panel-gps/panel-gps.component.ts","./src/app/components/home/iot/panel-iot/panel-iot.component.html","./src/app/components/home/iot/panel-iot/panel-iot.component.ts","./src/app/components/home/iot/report-activity-actuator/report-activity-actuator.component.html","./src/app/components/home/iot/report-activity-actuator/report-activity-actuator.component.ts","./src/app/components/home/iot/report-alert/alert-iot-report.component.html","./src/app/components/home/iot/report-alert/alert-iot-report.component.ts","./src/app/components/home/iot/report-bi-iot/report-bi-iot.component.html","./src/app/components/home/iot/report-bi-iot/report-bi-iot.component.ts","./src/app/components/home/iot/report/iot-report.component.html","./src/app/components/home/iot/report/iot-report.component.ts","./src/app/components/home/master/showroom/showroom-email/showroom-email.component.html","./src/app/components/home/master/showroom/showroom-email/showroom-email.component.ts","./src/app/components/home/master/showroom/showroom-panel-diagram-public/showroom-panel-diagram-public.component.html","./src/app/components/home/master/showroom/showroom-panel-diagram-public/showroom-panel-diagram-public.component.ts","./src/app/components/home/master/showroom/showroom-panel-diagram/showroom-actuator-panel/showroom-actuator-panel.component.html","./src/app/components/home/master/showroom/showroom-panel-diagram/showroom-actuator-panel/showroom-actuator-panel.component.ts","./src/app/components/home/master/showroom/showroom-panel-diagram/showroom-panel-diagram.component.html","./src/app/components/home/master/showroom/showroom-panel-diagram/showroom-panel-diagram.component.ts","./src/app/components/home/master/showroom/showroom-panel/showroom-panel.component.html","./src/app/components/home/master/showroom/showroom-panel/showroom-panel.component.ts","./src/app/components/home/master/showroom/showroom-va-streaming/showroom-va-streaming.component.html","./src/app/components/home/master/showroom/showroom-va-streaming/showroom-va-streaming.component.ts","./src/app/components/home/master/showroom/showroom-va/showroom-va.component.html","./src/app/components/home/master/showroom/showroom-va/showroom-va.component.ts","./src/app/components/home/master/showroom/showroom.component.html","./src/app/components/home/master/showroom/showroom.component.ts","./src/app/components/home/profile/enterprise-profile/enterprise-profile.component.html","./src/app/components/home/profile/enterprise-profile/enterprise-profile.component.ts","./src/app/components/home/profile/user-profile/user-profile.component.html","./src/app/components/home/profile/user-profile/user-profile.component.ts","./src/app/components/home/streaming/camera/camera-streaming.component.html","./src/app/components/home/streaming/camera/camera-streaming.component.ts","./src/app/components/home/streaming/domain-iframe/domain-iframe-streaming.component.html","./src/app/components/home/streaming/domain-iframe/domain-iframe-streaming.component.ts","./src/app/components/home/streaming/server/server-streaming.component.html","./src/app/components/home/streaming/server/server-streaming.component.ts","./src/app/components/home/streaming/stadistics/streaming-stadistics.component.html","./src/app/components/home/streaming/stadistics/streaming-stadistics.component.ts","./src/app/components/home/video-analytics/camera-alert/camera-alert.component.html","./src/app/components/home/video-analytics/camera-alert/camera-alert.component.ts","./src/app/components/home/video-analytics/heatmap/heatmap.component.html","./src/app/components/home/video-analytics/heatmap/heatmap.component.ts","./src/app/components/home/video-analytics/location/location-camera.component.html","./src/app/components/home/video-analytics/location/location-camera.component.ts","./src/app/components/home/video-analytics/report-bi-va/report-bi-va.component.html","./src/app/components/home/video-analytics/report-bi-va/report-bi-va.component.ts","./src/app/components/home/video-analytics/report/report.component.html","./src/app/components/home/video-analytics/report/report.component.ts","./src/app/components/license/license.component.html","./src/app/components/license/license.component.ts","./src/app/components/login/login.component.html","./src/app/components/login/login.component.ts","./src/app/components/streaming/iframe-streaming/iframe-streaming.component.html","./src/app/components/streaming/iframe-streaming/iframe-streaming.component.ts","./src/app/components/streaming/multiple-streaming/multiple-streaming.component.html","./src/app/components/streaming/multiple-streaming/multiple-streaming.component.ts","./src/app/components/streaming/view-streaming/view-streaming.component.html","./src/app/components/streaming/view-streaming/view-streaming.component.ts","./src/app/models/admin/admin.ts","./src/app/models/alert/alert.ts","./src/app/models/camera/camera.ts","./src/app/models/enterprise/enterprise.ts","./src/app/models/enterprise/enterprisePinMaps.ts","./src/app/models/user/user.ts","./src/app/services/Ocurrence/ocurrence.service.ts","./src/app/services/actuator/actuator.service.ts","./src/app/services/admin/admin.service.ts","./src/app/services/alert/alert.service.ts","./src/app/services/auth/auth.service.ts","./src/app/services/camera/camera.service.ts","./src/app/services/dashboard/dashboard.service.ts","./src/app/services/digital-twins/digital-twins.service.ts","./src/app/services/enterprise-setting/enterprise-setting.service.ts","./src/app/services/enterprise/enterprise.service.ts","./src/app/services/gateway/gateway.service.ts","./src/app/services/headquarter/headquarter.service.ts","./src/app/services/heatmap/heatmap.service.ts","./src/app/services/panel-iot/panel-iot.service.ts","./src/app/services/power-bi/power-bi.service.ts","./src/app/services/reportAlert/report.service.ts","./src/app/services/role/role.service.ts","./src/app/services/sensor-readingplace/sensor-readingplace.service.ts","./src/app/services/sensor-type/sensor-type.service.ts","./src/app/services/sensor/sensor.service.ts","./src/app/services/showroom/showroom.service.ts","./src/app/services/sms/sms.service.ts","./src/app/services/storage/storage.service.ts","./src/app/services/streaming/streaming.service.ts","./src/app/services/streamingDomainIframe/streamingDomainIframe.service.ts","./src/app/services/streamingServer/streamingServer.service.ts","./src/app/services/streamingStadistics/streamingStadistics.service.ts","./src/app/services/theme/theme.service.ts","./src/app/services/user/user.service.ts","./src/app/services/zone/zone.service.ts","./src/app/shared/components/charts/chart-bar/chart-bar.component.html","./src/app/shared/components/charts/chart-bar/chart-bar.component.ts","./src/app/shared/components/charts/chart-gauge/chart-gauge.component.html","./src/app/shared/components/charts/chart-gauge/chart-gauge.component.ts","./src/app/shared/components/charts/chart-line-streaming/chart-line-streaming.component.html","./src/app/shared/components/charts/chart-line-streaming/chart-line-streaming.component.ts","./src/app/shared/components/charts/chart-line/chart-line.component.html","./src/app/shared/components/charts/chart-line/chart-line.component.ts","./src/app/shared/components/charts/chart-switch-vertical/chart-switch-vertical.component.html","./src/app/shared/components/charts/chart-switch-vertical/chart-switch-vertical.component.ts","./src/app/shared/components/charts/chart-switch/chart-switch.component.html","./src/app/shared/components/charts/chart-switch/chart-switch.component.ts","./src/app/shared/components/clock/clock.component.html","./src/app/shared/components/clock/clock.component.ts","./src/app/shared/components/main-nav/main-nav.component.html","./src/app/shared/components/main-nav/main-nav.component.ts","./src/app/shared/components/modals/actuator-detail-panel-modal/actuator-detail-panel-modal.component.html","./src/app/shared/components/modals/actuator-detail-panel-modal/actuator-detail-panel-modal.component.ts","./src/app/shared/components/modals/actuator/actuator-modal.component.html","./src/app/shared/components/modals/actuator/actuator-modal.component.ts","./src/app/shared/components/modals/camera/camera-modal.component.html","./src/app/shared/components/modals/camera/camera-modal.component.ts","./src/app/shared/components/modals/dashboard/dashboard-modal.component.html","./src/app/shared/components/modals/dashboard/dashboard-modal.component.ts","./src/app/shared/components/modals/dashboard/widget-modal/widget-modal.component.html","./src/app/shared/components/modals/dashboard/widget-modal/widget-modal.component.ts","./src/app/shared/components/modals/domain-iframe-streaming/domain-iframe-streaming-modal.component.html","./src/app/shared/components/modals/domain-iframe-streaming/domain-iframe-streaming-modal.component.ts","./src/app/shared/components/modals/enterprise/enterprise-contract-modal/enterprise-contract-modal.component.html","./src/app/shared/components/modals/enterprise/enterprise-contract-modal/enterprise-contract-modal.component.ts","./src/app/shared/components/modals/enterprise/enterprise-modal.component.html","./src/app/shared/components/modals/enterprise/enterprise-modal.component.ts","./src/app/shared/components/modals/enterprise/enterprise-setting-modal/enterprise-setting-modal.component.html","./src/app/shared/components/modals/enterprise/enterprise-setting-modal/enterprise-setting-modal.component.ts","./src/app/shared/components/modals/enterprise/enterprise-storage-modal/enterprise-storage-modal.component.html","./src/app/shared/components/modals/enterprise/enterprise-storage-modal/enterprise-storage-modal.component.ts","./src/app/shared/components/modals/enterprise/enterprise-streaming-modal/enterprise-streaming-modal.component.html","./src/app/shared/components/modals/enterprise/enterprise-streaming-modal/enterprise-streaming-modal.component.ts","./src/app/shared/components/modals/enterprise/enterprise-system-modal/enterprise-system-modal.component.html","./src/app/shared/components/modals/enterprise/enterprise-system-modal/enterprise-system-modal.component.ts","./src/app/shared/components/modals/gateway/gateway-modal.component.html","./src/app/shared/components/modals/gateway/gateway-modal.component.ts","./src/app/shared/components/modals/headquarter/headquarter-modal.component.html","./src/app/shared/components/modals/headquarter/headquarter-modal.component.ts","./src/app/shared/components/modals/headquarter/headquarter-storage-modal/headquarter-storage-modal.component.html","./src/app/shared/components/modals/headquarter/headquarter-storage-modal/headquarter-storage-modal.component.ts","./src/app/shared/components/modals/image/image-modal.component.html","./src/app/shared/components/modals/image/image-modal.component.ts","./src/app/shared/components/modals/location-pin-camera/location-pin-camera-modal.component.html","./src/app/shared/components/modals/location-pin-camera/location-pin-camera-modal.component.ts","./src/app/shared/components/modals/message/message-modal.component.html","./src/app/shared/components/modals/message/message-modal.component.ts","./src/app/shared/components/modals/panel-actuator-modal/panel-actuator-modal.component.html","./src/app/shared/components/modals/panel-actuator-modal/panel-actuator-modal.component.ts","./src/app/shared/components/modals/panel-sensor-modal/panel-sensor-modal.component.html","./src/app/shared/components/modals/panel-sensor-modal/panel-sensor-modal.component.ts","./src/app/shared/components/modals/panel/camera/alert/panel-camera-alert-modal.component.html","./src/app/shared/components/modals/panel/camera/alert/panel-camera-alert-modal.component.ts","./src/app/shared/components/modals/panel/camera/panel-camera-modal.component.html","./src/app/shared/components/modals/panel/camera/panel-camera-modal.component.ts","./src/app/shared/components/modals/parameter/parameter-modal.component.html","./src/app/shared/components/modals/parameter/parameter-modal.component.ts","./src/app/shared/components/modals/powerbi-modal/powerbi-modal.component.html","./src/app/shared/components/modals/powerbi-modal/powerbi-modal.component.ts","./src/app/shared/components/modals/role/role-modal.component.html","./src/app/shared/components/modals/role/role-modal.component.ts","./src/app/shared/components/modals/sensor-graph-modal/sensor-graph-modal.component.html","./src/app/shared/components/modals/sensor-graph-modal/sensor-graph-modal.component.ts","./src/app/shared/components/modals/sensor-readingplace-modal/sensor-readingplace-modal.component.html","./src/app/shared/components/modals/sensor-readingplace-modal/sensor-readingplace-modal.component.ts","./src/app/shared/components/modals/sensor-type-modal/graph-assign-modal/graph-assign-modal.component.html","./src/app/shared/components/modals/sensor-type-modal/graph-assign-modal/graph-assign-modal.component.ts","./src/app/shared/components/modals/sensor-type-modal/graph-new-assign-modal/graph-new-assign-modal.component.html","./src/app/shared/components/modals/sensor-type-modal/graph-new-assign-modal/graph-new-assign-modal.component.ts","./src/app/shared/components/modals/sensor-type-modal/sensor-type-modal.component.html","./src/app/shared/components/modals/sensor-type-modal/sensor-type-modal.component.ts","./src/app/shared/components/modals/sensor/sensor-modal.component.html","./src/app/shared/components/modals/sensor/sensor-modal.component.ts","./src/app/shared/components/modals/server-streaming/server-streaming-modal.component.html","./src/app/shared/components/modals/server-streaming/server-streaming-modal.component.ts","./src/app/shared/components/modals/showroom/modal-email-show-room/modal-email-show-room.component.html","./src/app/shared/components/modals/showroom/modal-email-show-room/modal-email-show-room.component.ts","./src/app/shared/components/modals/showroom/modal-iot-filter/modal-iot-filter.component.html","./src/app/shared/components/modals/showroom/modal-iot-filter/modal-iot-filter.component.ts","./src/app/shared/components/modals/showroom/modal-report-sensor-pbi/modal-report-sensor-pbi-show-room.component.html","./src/app/shared/components/modals/showroom/modal-report-sensor-pbi/modal-report-sensor-pbi-show-room.component.ts","./src/app/shared/components/modals/showroom/modal-report-video-analitica-show-room/modal-report-video-analitica-show-room.component.html","./src/app/shared/components/modals/showroom/modal-report-video-analitica-show-room/modal-report-video-analitica-show-room.component.ts","./src/app/shared/components/modals/showroom/modal-screenshot/modal-screenshot.component.html","./src/app/shared/components/modals/showroom/modal-screenshot/modal-screenshot.component.ts","./src/app/shared/components/modals/sms/sms-modal.component.html","./src/app/shared/components/modals/sms/sms-modal.component.ts","./src/app/shared/components/modals/user/user-assing-modal/user-assing-modal.component.html","./src/app/shared/components/modals/user/user-assing-modal/user-assing-modal.component.ts","./src/app/shared/components/modals/user/user-modal.component.html","./src/app/shared/components/modals/user/user-modal.component.ts","./src/app/shared/components/modals/user/user-new-assing-modal/user-new-assing-modal.component.html","./src/app/shared/components/modals/user/user-new-assing-modal/user-new-assing-modal.component.ts","./src/app/shared/components/modals/zone/enterprise-pin-list-modal/enterprise-pin-list-modal.component.html","./src/app/shared/components/modals/zone/enterprise-pin-list-modal/enterprise-pin-list-modal.component.ts","./src/app/shared/components/modals/zone/enterprise-pin-modal/pin-modal.component.html","./src/app/shared/components/modals/zone/enterprise-pin-modal/pin-modal.component.ts","./src/app/shared/components/modals/zone/zone-modal.component.html","./src/app/shared/components/modals/zone/zone-modal.component.ts","./src/app/shared/components/streaming/item-camera-streaming/item-camera-streaming.component.html","./src/app/shared/components/streaming/item-camera-streaming/item-camera-streaming.component.ts","./src/app/shared/components/streaming/public-streaming/streampublic.component.html","./src/app/shared/components/streaming/public-streaming/streampublic.component.ts","./src/app/shared/constants/app.contants.ts","./src/app/shared/directives/decimal-amount.directive.ts","./src/app/shared/directives/only-numbers.directive.ts","./src/app/shared/directives/toggle-color.directive.ts","./src/app/shared/guards/auth.guard.ts","./src/app/shared/helpers/decrypt.ts","./src/app/shared/helpers/error-authenticate.interceptor.ts","./src/app/shared/helpers/format-datepicker.ts","./src/app/shared/helpers/jwt.interceptor.ts","./src/app/shared/models/base-model.ts","./src/app/shared/modules/material.module.ts","./src/app/shared/modules/shared.module.ts","./src/app/shared/services/alert.service.ts","./src/app/shared/services/emitter.service.ts","./src/assets/js/dplayer_mod.js","./src/environments/environment.ts","./src/main.ts","jsdom (ignored)","jsdom/lib/jsdom/living/generated/utils (ignored)","jsdom/lib/jsdom/utils (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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A;AACA,kEAAkE,2BAA2B;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F,OAAO;AACpG;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,OAAO;AAChE;AACA,iBAAiB;AACjB;AACA;AACA;AACA,0HAA0H;AAC1H;AACA,yDAAyD,OAAO;AAChE;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gKAAgK,cAAc;AAC9K;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,oEAAoE,eAAe;AACnF,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA,uCAAuC,cAAc;AACrD;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,GAAG;AAC7C,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,sBAAsB;AAC/E;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA,oEAAoE,cAAc;AAClF;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA,kEAAkE;AAClE;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,8BAA8B,UAAU,8CAA8C,EAAE;AACxF;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,+BAA+B;AAC/B,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,4DAA4D,OAAO;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,2CAA2C,cAAc;AACzD,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA,yDAAyD,OAAO;AAChE,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sGAAsG;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0HAA0H;AAC1H;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,kKAAkK;AAClK;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+TAA+T,kEAAkE;AACjY;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA,qBAAqB;AACrB,0GAA0G;AAC1G;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,uCAAuC,cAAc;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,8EAA8E,iDAAiD;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,wEAAwE,mBAAmB;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mJAAmJ;AACnJ;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,uCAAuC;AACvC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,uCAAuC;AACvC;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oFAAoF,cAAc;AAClG,yCAAyC;AACzC;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,sCAAsC;AACjG;AACA;AACA,+DAA+D,oCAAoC;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,2DAA2D,GAAG,oBAAoB;AAClF;AACA,iBAAiB;AACjB;AACA;AACA,2DAA2D,GAAG,6BAA6B;AAC3F;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,4BAA4B;AACvE,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,+DAA+D,2BAA2B;AAC1F;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D,uBAAuB;AACvB;AACA,wEAAwE,qBAAqB;AAC7F;AACA,uBAAuB;AACvB;AACA;AACA,uBAAuB;AACvB;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,uBAAuB;AACvB,4CAA4C;AAC5C;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,yHAAyH;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,cAAc;AAC9D;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA,2EAA2E,OAAO;AAClF;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,mIAAmI,uBAAuB;AAC1J,mCAAmC,YAAY;AAC/C;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,sEAAsE,MAAM,OAAO;AACnF;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,gCAAgC;AAChC,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB,8BAA8B,0HAA0H;AACxJ;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,2CAA2C;AAC3C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,oCAAoC,QAAQ,SAAS,UAAU,gBAAgB,EAAE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB,yBAAyB,kDAAkD;AAC3E,yBAAyB,mFAAmF;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,2CAA2C,UAAU,SAAS,YAAY,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,6CAA6C;AAC7C;AACA;AACA,qCAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA,iDAAiD;AACjD,6CAA6C;AAC7C,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC;AACA;AACA,yCAAyC;AACzC;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,iFAAiF,+CAA+C;AAChI;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,sHAAsH,cAAc;AACpI;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,iEAAiE;AACjE;AACA;AACA,uEAAuE,cAAc;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,qEAAqE;AACrE;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,+CAA+C,qBAAqB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA,mDAAmD,UAAU,SAAS,YAAY,EAAE;AACpF,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA,6DAA6D,sBAAsB,sBAAsB,wBAAwB,wBAAwB,yBAAyB;AAClL,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA,kJAAkJ,cAAc;AAChK,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA,4FAA4F,2BAA2B;AACvH,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,oDAAoD,kBAAkB;AACtE;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,6CAA6C,2KAA2K;AACxN,yCAAyC,yLAAyL;AAClO,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,2CAA2C;AAC3C,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,uDAAuD,uCAAuC;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,gEAAgE,wKAAwK;AACxO;AACA;AACA,qCAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,yCAAyC;AACzC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,qCAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA,qCAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,qCAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,+CAA+C;AAC/C;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,qCAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,6DAA6D,2DAA2D;AACxH;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mDAAmD,sBAAsB;AACzE;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,iCAAiC,GAAG,+DAA+D;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,+EAA+E;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qCAAqC;AACrC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,eAAe;AACtE,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,mGAAmG;AACpL,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA,4JAA4J,GAAG,0BAA0B;AACzL;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,wFAAwF,6CAA6C;AACrI,6DAA6D;AAC7D;AACA;AACA,6DAA6D;AAC7D,qDAAqD;AACrD;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,yCAAyC;AACzC;AACA;AACA,yCAAyC;AACzC;AACA;AACA,yCAAyC;AACzC;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA,iDAAiD;AACjD,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sDAAsD,uIAAuI;AAC7L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,EAAE;AAC/C;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA,CAAC;AACD;;;;;;;;;;;;;ACtjIA;AAAA;AAAO,MAAM,WAAW,GAAG;IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiDI;IAEJ,WAAW;IACX,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,0CAA0C;IAC3D,cAAc,EAAE,sCAAsC;IACtD,WAAW,EAAE,uCAAuC;IACpD,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,sCAAsC;IACpD,SAAS,EAAE,mBAAmB;IAC9B,YAAY,EAAE,sCAAsC;IACpD,YAAY,EAAE,sCAAsC;IACpD,SAAS,EAAG,sCAAsC;IAClD,WAAW,EAAG,gBAAgB;IAC9B,cAAc,EAAE,YAAY;IAC5B,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,OAAO;IACvB,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,OAAO;IACxB,aAAa,EAAE,yBAAyB;IACxC,cAAc,EAAE,yBAAyB;IACzC,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,wCAAwC;IACrD,KAAK,EAAE,0BAA0B;IACjC,IAAI,EAAE,oDAAoD;IAC1D,OAAO,EAAE,wCAAwC;IACjD,UAAU,EAAE,6BAA6B;CACxC,CAAC;;;;;;;;;;;;;AC9EF;AAAA;AAAA;AAAA;AAAA;AAA+C;AAIU;;;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,2EAAwB,uBAAgB,CAAC,6EAAU;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACXpC,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { CameraComponent } from './components/home/administration/camera/camera.component';\r\nimport { EnterpriseComponent } from './components/home/administration/enterprise/enterprise.component';\r\nimport { HeatmapComponent } from './components/home/video-analytics/heatmap/heatmap.component';\r\nimport { LocationCameraComponent } from './components/home/video-analytics/location/location-camera.component';\r\nimport { SmsComponent } from './components/home/administration/sms/sms.component';\r\nimport { UserComponent } from './components/home/administration/user/user.component';\r\nimport { ShowroomComponent } from './components/home/master/showroom/showroom.component';\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { CameraAlertComponent } from './components/home/video-analytics/camera-alert/camera-alert.component';\r\nimport { ReportComponent } from './components/home/video-analytics/report/report.component';\r\nimport { CameraStreamingComponent } from './components/home/streaming/camera/camera-streaming.component';\r\nimport { StreamingDomainIframeComponent } from './components/home/streaming/domain-iframe/domain-iframe-streaming.component';\r\nimport { ServerStreamingComponent } from './components/home/streaming/server/server-streaming.component';\r\nimport { StreamingStadisticsComponent } from './components/home/streaming/stadistics/streaming-stadistics.component';\r\nimport { LicenseComponent } from './components/license/license.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { IframeStreamingComponent } from './components/streaming/iframe-streaming/iframe-streaming.component';\r\nimport { MultiplestreamingComponent } from './components/streaming/multiple-streaming/multiple-streaming.component';\r\nimport { ViewStreamingComponent } from './components/streaming/view-streaming/view-streaming.component';\r\nimport { AuthGuard } from './shared/guards/auth.guard';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\nimport { ShowroomPanelComponent } from './components/home/master/showroom/showroom-panel/showroom-panel.component';\r\nimport { ShowroomPanelDiagramComponent } from './components/home/master/showroom/showroom-panel-diagram/showroom-panel-diagram.component';\r\nimport { ShowroomPanelDiagramPublicComponent } from './components/home/master/showroom/showroom-panel-diagram-public/showroom-panel-diagram-public.component';\r\nimport { HeadquarterComponent } from './components/home/administration/headquarter/headquarter.component';\r\nimport { GatewayComponent } from './components/home/administration/gateway/gateway.component';\r\nimport { SensorComponent } from './components/home/administration/sensor/sensor.component';\r\nimport { ActuatorComponent } from './components/home/administration/actuator/actuator.component';\r\nimport { ZoneComponent } from './components/home/administration/zone/zone.component';\r\nimport { LocationIotComponent } from './components/home/iot/location-iot/location-iot.component';\r\nimport { ReportIOTComponent } from './components/home/iot/report/iot-report.component';\r\nimport { DashboardComponent } from './components/home/dashboard/dashboard.component';\r\nimport { PanelIotComponent } from './components/home/iot/panel-iot/panel-iot.component';\r\nimport { ShowroomEmailComponent } from './components/home/master/showroom/showroom-email/showroom-email.component';\r\nimport { UserProfileComponent } from './components/home/profile/user-profile/user-profile.component';\r\nimport { SensorReadingplaceComponent } from './components/home/administration/sensor-readingplace/sensor-readingplace.component';\r\nimport { RoleComponent } from './components/home/administration/role/role.component';\r\nimport { ReportAlertIOTComponent } from './components/home/iot/report-alert/alert-iot-report.component';\r\nimport { SensorTypeComponent } from './components/home/administration/sensor-type/sensor-type.component';\r\nimport { PanelGPSComponent } from './components/home/iot/panel-gps/panel-gps.component';\r\nimport { EnterpriseProfileComponent } from './components/home/profile/enterprise-profile/enterprise-profile.component';\r\nimport { ReportActivityActuatorComponent } from './components/home/iot/report-activity-actuator/report-activity-actuator.component';\r\nimport { DigitalTwinsComponent } from './components/home/iot/digital-twins/digital-twins.component';\r\nimport { ReportBiIOTComponent } from './components/home/iot/report-bi-iot/report-bi-iot.component';\r\nimport { ReportBiVAComponent } from './components/home/video-analytics/report-bi-va/report-bi-va.component';\r\n\r\n/*let routes: Routes = [];\r\nif(localStorage.getItem('isAzure') == \"1\"){\r\n routes = [\r\n { path: '', component: LoginComponent , runGuardsAndResolvers: 'always',canActivate: [MsalGuard]},\r\n { path: 'license', component: LicenseComponent , runGuardsAndResolvers: 'always'},\r\n {\r\n path: 'home', component: HomeComponent, runGuardsAndResolvers: 'always', canActivate: [MsalGuard],\r\n children: [\r\n { path: '', redirectTo: 'home', pathMatch: 'full', runGuardsAndResolvers: 'always' },\r\n { path: 'dashboard', component: DashboardComponent, runGuardsAndResolvers: 'always' },\r\n\r\n {\r\n path: 'admin',\r\n children: [\r\n { path: 'enterprise', component: EnterpriseComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'users', component: UserComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'sedes', component: HeadquarterComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'gateway', component: GatewayComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'zone', component: ZoneComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'actuator', component: ActuatorComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'sensor', component: SensorComponent, runGuardsAndResolvers: 'always' },\r\n ]\r\n },\r\n\r\n {\r\n path: 'streaming',\r\n children: [\r\n { path: 'cameras', component: CameraStreamingComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'servers', component: ServerStreamingComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'stadistics', component: StreamingStadisticsComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'domain-iframe', component: StreamingDomainIframeComponent, runGuardsAndResolvers: 'always' }\r\n ]\r\n },\r\n {\r\n path: 'video-analytics',\r\n children: [\r\n { path: 'camera', component: CameraComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'location', component: LocationCameraComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'heatmap', component: HeatmapComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'alerts', component: CameraAlertComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'report', component: ReportComponent, runGuardsAndResolvers: 'always' },\r\n ]\r\n },\r\n {\r\n path: 'iot',\r\n children: [\r\n { path: 'panel', component: PanelIotComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'panel-sensor', component: PanelSensorComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'report', component: ReportIOTComponent, runGuardsAndResolvers: 'always' },\r\n ]\r\n },\r\n { path: 'gys/showroom/email', component: ShowroomEmailComponent, runGuardsAndResolvers: 'always'}\r\n ]\r\n },\r\n {\r\n path: 'streaming',\r\n children: [\r\n { path: ':token', component: IframeStreamingComponent , pathMatch: 'full'},\r\n { path: 'camera/:token', component: ViewStreamingComponent, pathMatch: 'full'},\r\n { path: 'enterprise/:token', component: MultiplestreamingComponent , pathMatch: 'full'},\r\n ]\r\n },\r\n {\r\n path: 'gys',\r\n children: [\r\n { path: 'showroom/panel', component: ShowroomPanelComponent, runGuardsAndResolvers: 'always'},\r\n { path: 'showroom', component: ShowroomComponent, pathMatch: 'full'},\r\n { path: 'showroom/panel/diagram', component: ShowroomPanelDiagramComponent, runGuardsAndResolvers: 'always'},\r\n { path: 'showroom/panel/diagram/public', component: ShowroomPanelDiagramPublicComponent, runGuardsAndResolvers: 'always'},\r\n ]\r\n }\r\n ];\r\n}else{*/\r\nlet routes: Routes = [\r\n { path: '', component: LoginComponent , runGuardsAndResolvers: 'always'},\r\n { path: 'license', component: LicenseComponent , runGuardsAndResolvers: 'always'},\r\n {\r\n path: 'home', component: HomeComponent, runGuardsAndResolvers: 'always', canActivate: [AuthGuard],\r\n children: [\r\n { path: '', redirectTo: 'home', pathMatch: 'full', runGuardsAndResolvers: 'always' },\r\n { path: 'dashboard', component: DashboardComponent, runGuardsAndResolvers: 'always' },\r\n {\r\n path: 'admin',\r\n children: [\r\n { path: 'enterprise', component: EnterpriseComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'users', component: UserComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'roles', component: RoleComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'headquarters', component: HeadquarterComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'cameras', component: CameraComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'gateway', component: GatewayComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'zone', component: ZoneComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'actuator', component: ActuatorComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'sensor-readingplace', component: SensorReadingplaceComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'sensor', component: SensorComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'sensor-type', component: SensorTypeComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'profile', component: UserProfileComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'enterprise-setting', component: EnterpriseProfileComponent, runGuardsAndResolvers: 'always' },\r\n ] \r\n },\r\n\r\n {\r\n path: 'streaming',\r\n children: [\r\n { path: 'cameras', component: CameraStreamingComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'servers', component: ServerStreamingComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'stadistics', component: StreamingStadisticsComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'domain-iframe', component: StreamingDomainIframeComponent, runGuardsAndResolvers: 'always' }\r\n ]\r\n },\r\n {\r\n path: 'video-analytics',\r\n children: [\r\n { path: 'location', component: LocationCameraComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'heatmap', component: HeatmapComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'alerts', component: CameraAlertComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'report', component: ReportComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'report-powerbi', component: ReportBiVAComponent, runGuardsAndResolvers: 'always' },\r\n ]\r\n },\r\n {\r\n path: 'iot',\r\n children: [\r\n { path: 'location-iot', component: LocationIotComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'panel-iot', component: PanelIotComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'panel-gps', component: PanelGPSComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'report', component: ReportIOTComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'report-alert-iot', component: ReportAlertIOTComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'report-actuator-activity', component: ReportActivityActuatorComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'report-powerbi', component: ReportBiIOTComponent, runGuardsAndResolvers: 'always' },\r\n { path: 'digitaltwins', component: DigitalTwinsComponent, runGuardsAndResolvers: 'always' },\r\n ]\r\n },\r\n { path: 'gys/showroom/email', component: ShowroomEmailComponent, runGuardsAndResolvers: 'always'}\r\n ]\r\n },\r\n {\r\n path: 'streaming',\r\n children: [\r\n { path: ':token', component: IframeStreamingComponent , pathMatch: 'full'},\r\n { path: 'camera/:token', component: ViewStreamingComponent, pathMatch: 'full'},\r\n { path: 'enterprise/:token', component: MultiplestreamingComponent , pathMatch: 'full'},\r\n ]\r\n },\r\n {\r\n path: 'gys',\r\n children: [\r\n { path: 'showroom/panel', component: ShowroomPanelComponent, runGuardsAndResolvers: 'always'},\r\n { path: 'showroom', component: ShowroomComponent, pathMatch: 'full'},\r\n { path: 'showroom/panel/diagram', component: ShowroomPanelDiagramComponent, runGuardsAndResolvers: 'always'},\r\n { path: 'showroom/panel/diagram/public', component: ShowroomPanelDiagramPublicComponent, runGuardsAndResolvers: 'always'},\r\n ]\r\n }\r\n ];\r\n//}\r\n\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","\r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'videoanalitica';\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { CameraComponent } from './components/home/administration/camera/camera.component';\r\nimport { EnterpriseComponent } from './components/home/administration/enterprise/enterprise.component';\r\nimport { HeatmapComponent } from './components/home/video-analytics/heatmap/heatmap.component';\r\nimport { LocationCameraComponent } from './components/home/video-analytics/location/location-camera.component';\r\nimport { SmsComponent } from './components/home/administration/sms/sms.component';\r\nimport { UserComponent } from './components/home/administration/user/user.component';\r\nimport { ShowroomComponent } from './components/home/master/showroom/showroom.component';\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { ReportComponent } from './components/home/video-analytics/report/report.component';\r\nimport { CameraStreamingComponent } from './components/home/streaming/camera/camera-streaming.component';\r\nimport { StreamingDomainIframeComponent } from './components/home/streaming/domain-iframe/domain-iframe-streaming.component';\r\nimport { ServerStreamingComponent } from './components/home/streaming/server/server-streaming.component';\r\nimport { StreamingStadisticsComponent } from './components/home/streaming/stadistics/streaming-stadistics.component';\r\nimport { LicenseComponent } from './components/license/license.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { RedirectLogoutComponent } from './components/redirect/redirect-logout.component';\r\nimport { IframeStreamingComponent } from './components/streaming/iframe-streaming/iframe-streaming.component';\r\nimport { MultiplestreamingComponent } from './components/streaming/multiple-streaming/multiple-streaming.component';\r\nimport { ViewStreamingComponent } from './components/streaming/view-streaming/view-streaming.component';\r\nimport { MaterialModule } from './shared/modules/material.module';\r\nimport { LayoutComponent } from './shared/components/layout/layout.component';\r\nimport { MainNavComponent } from './shared/components/main-nav/main-nav.component';\r\nimport { CameraModalComponent } from './shared/components/modals/camera/camera-modal.component';\r\nimport { EnterpriseContractModalComponent } from './shared/components/modals/enterprise/enterprise-contract-modal/enterprise-contract-modal.component';\r\nimport { ItemdomainIframeStreamingModalComponent } from './shared/components/modals/domain-iframe-streaming/domain-iframe-streaming-modal.component';\r\nimport { EnterpriseModalComponent } from './shared/components/modals/enterprise/enterprise-modal.component';\r\nimport { EnterpriseSettingModalComponent } from './shared/components/modals/enterprise/enterprise-setting-modal/enterprise-setting-modal.component';\r\nimport { EnterpriseStreamingModalComponent } from './shared/components/modals/enterprise/enterprise-streaming-modal/enterprise-streaming-modal.component';\r\nimport { ImageModalComponent } from './shared/components/modals/image/image-modal.component';\r\nimport { MessageModalComponent } from './shared/components/modals/message/message-modal.component';\r\nimport { PanelCameraAlertModalComponent } from './shared/components/modals/panel/camera/alert/panel-camera-alert-modal.component';\r\nimport { PanelCameraModalComponent } from './shared/components/modals/panel/camera/panel-camera-modal.component';\r\nimport { ModalParameterComponent } from './shared/components/modals/parameter/parameter-modal.component';\r\nimport { ServerStreamingModalComponent } from './shared/components/modals/server-streaming/server-streaming-modal.component';\r\nimport { SMSModalComponent } from './shared/components/modals/sms/sms-modal.component';\r\nimport { UserModalComponent } from './shared/components/modals/user/user-modal.component';\r\nimport { ItemCameraStreamingComponent } from './shared/components/streaming/item-camera-streaming/item-camera-streaming.component';\r\nimport { StreampublicComponent } from './shared/components/streaming/public-streaming/streampublic.component';\r\n\r\nimport { SharedModule } from './shared/modules/shared.module';\r\nimport { AuthGuard } from './shared/guards/auth.guard';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { AuthInterceptor } from './shared/helpers/jwt.interceptor';\r\nimport { MsalBroadcastService, MsalGuard, MsalModule, MsalRedirectComponent, MsalService, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG } from '@azure/msal-angular';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { MSALInstanceFactory, MSALGuardConfigFactory, MSALInterceptorConfigFactory } from './shared/security/msal-config';\r\nimport { ShowroomPanelComponent } from './components/home/master/showroom/showroom-panel/showroom-panel.component';\r\nimport { ShowroomIotComponent } from './components/home/master/showroom/showroom-iot/showroom-iot.component';\r\nimport { ShowroomVaComponent } from './components/home/master/showroom/showroom-va/showroom-va.component';\r\nimport { LocationPinCameraModalComponent } from './shared/components/modals/location-pin-camera/location-pin-camera-modal.component';\r\nimport { CameraAlertComponent } from './components/home/video-analytics/camera-alert/camera-alert.component';\r\n//import { ChartsModule } from '@carbon/charts-angular';\r\nimport { ChartGaugeComponent } from './shared/components/charts/chart-gauge/chart-gauge.component';\r\nimport { ClockComponent } from './shared/components/clock/clock.component';\r\nimport { NgxSliderModule } from '@angular-slider/ngx-slider';\r\nimport { ChartSwitchComponent } from './shared/components/charts/chart-switch/chart-switch.component';\r\nimport { ModalScreenshotComponent } from './shared/components/modals/showroom/modal-screenshot/modal-screenshot.component';\r\nimport { NgxCaptureModule } from 'ngx-capture';\r\nimport { ChartLineComponent } from './shared/components/charts/chart-line/chart-line.component';\r\nimport { ModalIotFilterComponent } from './shared/components/modals/showroom/modal-iot-filter/modal-iot-filter.component';\r\nimport { ChartLineStreamingComponent } from './shared/components/charts/chart-line-streaming/chart-line-streaming.component';\r\nimport { ChartDigitalNumberComponent } from './shared/components/charts/chart-digital-number/chart-digital-number.component';\r\nimport { ChartSwitchVerticalComponent } from './shared/components/charts/chart-switch-vertical/chart-switch-vertical.component';\r\nimport { ShowroomVAStreamingComponent } from './components/home/master/showroom/showroom-va-streaming/showroom-va-streaming.component';\r\nimport { ShowroomCameraStreamingComponent } from './components/home/master/showroom/showroom-camera-streaming/showroom-camera-streaming.component';\r\nimport { ShowroomPanelDiagramComponent } from './components/home/master/showroom/showroom-panel-diagram/showroom-panel-diagram.component';\r\nimport { ShowroomActuatorPanelComponent } from './components/home/master/showroom/showroom-panel-diagram/showroom-actuator-panel/showroom-actuator-panel.component';\r\nimport { ShowroomPanelDiagramPublicComponent } from './components/home/master/showroom/showroom-panel-diagram-public/showroom-panel-diagram-public.component' ;\r\nimport { ShowRoomService } from './services/showroom/showroom.service';\r\nimport { HeadquarterComponent } from './components/home/administration/headquarter/headquarter.component';\r\nimport { ActuatorComponent } from './components/home/administration/actuator/actuator.component';\r\nimport { SensorComponent } from './components/home/administration/sensor/sensor.component';\r\nimport { GatewayComponent } from './components/home/administration/gateway/gateway.component';\r\nimport { LocationIotComponent } from './components/home/iot/location-iot/location-iot.component';\r\nimport { HeadquarterModalComponent } from './shared/components/modals/headquarter/headquarter-modal.component';\r\nimport { ZoneModalComponent } from './shared/components/modals/zone/zone-modal.component';\r\nimport { GatewayModalComponent } from './shared/components/modals/gateway/gateway-modal.component';\r\nimport { SensorModalComponent } from './shared/components/modals/sensor/sensor-modal.component';\r\nimport { ZoneComponent } from './components/home/administration/zone/zone.component';\r\nimport { EnterprisePinListModalComponent } from './shared/components/modals/zone/enterprise-pin-list-modal/enterprise-pin-list-modal.component';\r\nimport { PinModalComponent } from './shared/components/modals/zone/enterprise-pin-modal/pin-modal.component';\r\nimport { DashboardComponent } from './components/home/dashboard/dashboard.component';\r\nimport { HeadquarterStorageModalComponent } from './shared/components/modals/headquarter/headquarter-storage-modal/headquarter-storage-modal.component';\r\nimport { PanelSensorModalComponent } from './shared/components/modals/panel-sensor-modal/panel-sensor-modal.component';\r\nimport { PanelIotComponent } from './components/home/iot/panel-iot/panel-iot.component';\r\nimport { SensorGraphModalComponent } from './shared/components/modals/sensor-graph-modal/sensor-graph-modal.component';\r\nimport { ShowroomEmailComponent } from './components/home/master/showroom/showroom-email/showroom-email.component';\r\nimport { ModalEmailShowRoomComponent } from './shared/components/modals/showroom/modal-email-show-room/modal-email-show-room.component';\r\nimport { ModalReportVideoAnaliticaShowRoomComponent } from './shared/components/modals/showroom/modal-report-video-analitica-show-room/modal-report-video-analitica-show-room.component';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { ReportIOTComponent } from './components/home/iot/report/iot-report.component';\r\nimport { EnterpriseSystemModalComponent } from './shared/components/modals/enterprise/enterprise-system-modal/enterprise-system-modal.component';\r\nimport { ModalReportSensorPbiShowRoomComponent } from './shared/components/modals/showroom/modal-report-sensor-pbi/modal-report-sensor-pbi-show-room.component';\r\nimport { EnterpriseProfileComponent } from './components/home/profile/enterprise-profile/enterprise-profile.component';\r\nimport { UserProfileComponent } from './components/home/profile/user-profile/user-profile.component';\r\nimport { SensorReadingplaceComponent } from './components/home/administration/sensor-readingplace/sensor-readingplace.component';\r\nimport { SensorReadingplaceModalComponent } from './shared/components/modals/sensor-readingplace-modal/sensor-readingplace-modal.component';\r\nimport { IonRangeSliderModule } from 'ng2-ion-range-slider';\r\nimport { EnterpriseStorageModalComponent } from './shared/components/modals/enterprise/enterprise-storage-modal/enterprise-storage-modal.component';\r\nimport { ErrorAuthenticateInterceptor } from './shared/helpers/error-authenticate.interceptor';\r\nimport { UserAssingModalComponent } from './shared/components/modals/user/user-assing-modal/user-assing-modal.component';\r\nimport { UserNewAssingModalComponent } from './shared/components/modals/user/user-new-assing-modal/user-new-assing-modal.component';\r\nimport { RoleComponent } from './components/home/administration/role/role.component';\r\nimport { RoleModalComponent } from './shared/components/modals/role/role-modal.component';\r\nimport { ReportAlertIOTComponent } from './components/home/iot/report-alert/alert-iot-report.component';\r\nimport { SensorTypeComponent } from './components/home/administration/sensor-type/sensor-type.component';\r\nimport { SensorTypeModalComponent } from './shared/components/modals/sensor-type-modal/sensor-type-modal.component';\r\nimport { GraphAssignModalComponent } from './shared/components/modals/sensor-type-modal/graph-assign-modal/graph-assign-modal.component';\r\nimport { GraphNewAssignModalComponent } from './shared/components/modals/sensor-type-modal/graph-new-assign-modal/graph-new-assign-modal.component';\r\nimport { DashboardModalComponent } from './shared/components/modals/dashboard/dashboard-modal.component';\r\nimport { WidgetModalComponent } from './shared/components/modals/dashboard/widget-modal/widget-modal.component';\r\nimport { ChartBarComponent } from './shared/components/charts/chart-bar/chart-bar.component';\r\nimport { AmChartsModule } from '@amcharts/amcharts3-angular';\r\nimport { ActuatorModalComponent } from './shared/components/modals/actuator/actuator-modal.component';\r\nimport { PanelActuatorModalComponent } from './shared/components/modals/panel-actuator-modal/panel-actuator-modal.component';\r\nimport { MapService, NgxMapboxGLModule } from 'ngx-mapbox-gl';\r\nimport { PanelGPSComponent } from './components/home/iot/panel-gps/panel-gps.component';\r\nimport { AgmCoreModule } from '@agm/core';\r\nimport { ActuatorDetailPanelModalComponent } from './shared/components/modals/actuator-detail-panel-modal/actuator-detail-panel-modal.component';\r\nimport { ReportActivityActuatorComponent } from './components/home/iot/report-activity-actuator/report-activity-actuator.component';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\nimport { DigitalTwinsComponent } from './components/home/iot/digital-twins/digital-twins.component';\r\nimport { PowerbiModalComponent } from './shared/components/modals/powerbi-modal/powerbi-modal.component';\r\nimport { ReportBiIOTComponent } from './components/home/iot/report-bi-iot/report-bi-iot.component';\r\nimport { ReportBiVAComponent } from './components/home/video-analytics/report-bi-va/report-bi-va.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n RedirectLogoutComponent,\r\n LayoutComponent,\r\n HomeComponent,\r\n MainNavComponent,\r\n CameraComponent,\r\n UserComponent,\r\n EnterpriseComponent,\r\n ReportComponent,\r\n CameraAlertComponent,\r\n LocationCameraComponent,\r\n SmsComponent,\r\n StreampublicComponent,\r\n\r\n UserModalComponent,\r\n CameraModalComponent,\r\n ModalParameterComponent,\r\n MessageModalComponent,\r\n EnterpriseModalComponent,\r\n EnterpriseContractModalComponent,\r\n\r\n PanelCameraModalComponent,\r\n PanelCameraAlertModalComponent,\r\n ItemdomainIframeStreamingModalComponent,\r\n ImageModalComponent,\r\n EnterpriseSettingModalComponent,\r\n ServerStreamingModalComponent,\r\n EnterpriseStreamingModalComponent,\r\n SMSModalComponent,\r\n HeatmapComponent,\r\n LicenseComponent,\r\n LoginComponent,\r\n ViewStreamingComponent,\r\n MultiplestreamingComponent,\r\n IframeStreamingComponent,\r\n StreamingDomainIframeComponent,\r\n CameraStreamingComponent,\r\n ItemCameraStreamingComponent,\r\n ServerStreamingComponent,\r\n StreamingStadisticsComponent,\r\n ShowroomComponent,\r\n ShowroomPanelComponent,\r\n ShowroomIotComponent,\r\n ShowroomVAStreamingComponent,\r\n ShowroomVaComponent,\r\n ZoneModalComponent,\r\n ChartGaugeComponent,\r\n ClockComponent,\r\n ChartSwitchComponent,\r\n ModalScreenshotComponent,\r\n ChartLineComponent,\r\n ModalIotFilterComponent,\r\n ChartLineStreamingComponent,\r\n ChartDigitalNumberComponent,\r\n ChartSwitchVerticalComponent,\r\n ShowroomCameraStreamingComponent,\r\n ShowroomPanelDiagramComponent,\r\n ShowroomActuatorPanelComponent,\r\n ShowroomPanelDiagramPublicComponent,\r\n HeadquarterComponent,\r\n ActuatorComponent,\r\n SensorComponent,\r\n GatewayComponent,\r\n LocationIotComponent,\r\n HeadquarterModalComponent,\r\n LocationPinCameraModalComponent,\r\n ZoneComponent,\r\n GatewayModalComponent,\r\n SensorModalComponent,\r\n EnterprisePinListModalComponent,\r\n PinModalComponent,\r\n DashboardComponent,\r\n HeadquarterStorageModalComponent,\r\n PanelSensorModalComponent,\r\n PanelIotComponent,\r\n SensorGraphModalComponent,\r\n ShowroomEmailComponent,\r\n ModalEmailShowRoomComponent,\r\n ModalReportVideoAnaliticaShowRoomComponent,\r\n ReportIOTComponent,\r\n EnterpriseSystemModalComponent,\r\n ModalReportSensorPbiShowRoomComponent,\r\n UserProfileComponent,\r\n EnterpriseProfileComponent,\r\n SensorReadingplaceComponent,\r\n SensorReadingplaceModalComponent,\r\n EnterpriseStorageModalComponent,\r\n UserAssingModalComponent,\r\n UserNewAssingModalComponent,\r\n RoleComponent,\r\n RoleModalComponent,\r\n ReportAlertIOTComponent,\r\n SensorTypeComponent,\r\n SensorTypeModalComponent,\r\n GraphAssignModalComponent,\r\n GraphNewAssignModalComponent,\r\n DashboardModalComponent,\r\n WidgetModalComponent,\r\n ChartBarComponent,\r\n ActuatorModalComponent,\r\n ActuatorComponent,\r\n PanelActuatorModalComponent,\r\n PanelGPSComponent,\r\n ActuatorDetailPanelModalComponent,\r\n ReportActivityActuatorComponent,\r\n DigitalTwinsComponent,\r\n ReportBiIOTComponent,\r\n PowerbiModalComponent,\r\n ReportBiVAComponent\r\n ],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n NgxSpinnerModule,\r\n MaterialModule,\r\n NgxMaterialTimepickerModule,\r\n NgxSliderModule,\r\n ToastrModule.forRoot(),\r\n SharedModule,\r\n CommonModule,\r\n LayoutModule,\r\n //MsalModule,\r\n //ChartsModule,\r\n NgxCaptureModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n IonRangeSliderModule,\r\n AmChartsModule,\r\n NgxMapboxGLModule,/*.withConfig({\r\n accessToken: 'pk.eyJ1Ijoic2ViYXN0aWFuOTZqcCIsImEiOiJjbGl4bjhpaGEwODB5M2xsMndvOWhxeXZqIn0.Yt4_ynMIZUiiJF4TS3exVA', // Optionnal, can also be set per map (accessToken input of mgl-map)\r\n // geocoderAccessToken: 'TOKEN' // Optionnal, specify if different from the map access token, can also be set per mgl-geocoder (accessToken input of mgl-geocoder)\r\n }),*/\r\n AgmCoreModule.forRoot({\r\n apiKey: 'AIzaSyB70sStdEOl_sHU-GiUwtWg-WP99eLf7GE', // API token vacĆ­o\r\n libraries: ['places','directions'],\r\n }),\r\n ColorPickerModule\r\n ],\r\n providers: [\r\n DatePipe,\r\n //HttpService,\r\n AuthGuard,\r\n {provide: MAT_DATE_LOCALE, useValue: 'es-ES'},\r\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }, // token bearer\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorAuthenticateInterceptor, multi: true }, // authenticate 403\r\n\r\n /*{ ALL Azure\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: MSALInstanceFactory\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: MSALInterceptorConfigFactory\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,*/\r\n ShowRoomService,\r\n MapService\r\n ],\r\n entryComponents: [\r\n UserModalComponent,\r\n CameraModalComponent,\r\n ModalParameterComponent,\r\n MessageModalComponent,\r\n EnterpriseModalComponent,\r\n EnterpriseContractModalComponent,\r\n PanelCameraModalComponent,\r\n PanelCameraAlertModalComponent,\r\n SMSModalComponent,\r\n ItemdomainIframeStreamingModalComponent,\r\n ImageModalComponent,\r\n EnterpriseSettingModalComponent,\r\n EnterpriseStreamingModalComponent,\r\n ServerStreamingModalComponent,\r\n LocationPinCameraModalComponent,\r\n ZoneModalComponent,\r\n ModalScreenshotComponent,\r\n ShowroomPanelComponent,\r\n ModalIotFilterComponent,\r\n HeadquarterModalComponent,\r\n GatewayModalComponent,\r\n SensorModalComponent,\r\n EnterprisePinListModalComponent,\r\n PinModalComponent,\r\n HeadquarterStorageModalComponent,\r\n PanelSensorModalComponent,\r\n ModalEmailShowRoomComponent,\r\n ModalReportVideoAnaliticaShowRoomComponent,\r\n EnterpriseSystemModalComponent,\r\n ModalReportSensorPbiShowRoomComponent,\r\n SensorReadingplaceModalComponent,\r\n EnterpriseStorageModalComponent,\r\n UserAssingModalComponent,\r\n UserNewAssingModalComponent,\r\n RoleModalComponent,\r\n SensorTypeModalComponent,\r\n GraphAssignModalComponent,\r\n GraphNewAssignModalComponent,\r\n DashboardModalComponent,\r\n WidgetModalComponent,\r\n ActuatorModalComponent,\r\n PanelActuatorModalComponent,\r\n ActuatorDetailPanelModalComponent,\r\n PowerbiModalComponent\r\n ],\r\n exports: [\r\n LayoutComponent,\r\n ToastrModule,\r\n IonRangeSliderModule\r\n ],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n bootstrap: [AppComponent]//, MsalRedirectComponent\r\n})\r\nexport class AppModule { }\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n \r\n Gateway\r\n \r\n 1\">\r\n Todos\r\n \r\n \r\n {{gateway.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Empresa {{element.enterprise}} Sede {{element.headquarter}} Gateway {{element.gateway}} Nombre {{element.name}} DescripciĆ³n {{element.description}} Nomenclatura {{element.nomenclature}} Tipo {{element.actuatorType}} Tipo de Data {{element.actuatorDataType}} Acciones \r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { ActuatorService } from 'src/app/services/actuator/actuator.service';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { SensorService } from 'src/app/services/sensor/sensor.service';\r\nimport { ActuatorModalComponent } from 'src/app/shared/components/modals/actuator/actuator-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { SensorModalComponent } from 'src/app/shared/components/modals/sensor/sensor-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-actuator',\r\n templateUrl: './actuator.component.html',\r\n styleUrls: ['./actuator.component.css']\r\n})\r\nexport class ActuatorComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['enterprise','headquarter','name','description','nomenclature','actuatorType','actuatorDataType','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n headquarters = [];\r\n gateways = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n headquarterSelect: number = 0;\r\n gatewaySelect: number = 0;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n searchText: string = '';\r\n timer:any;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\ttimeoutVal = 800;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private router: Router,\r\n private enterpriseService: EnterpriseService,\r\n private spinner: NgxSpinnerService,\r\n private emitterService: EmitterService,\r\n private actuatorService: ActuatorService,\r\n private headquarterService: HeadquarterService,\r\n private gatewayService: GatewayService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Actuadores';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getGateways();\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getList();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n changeGateway(data) {\r\n this.gatewaySelect = data.value;\r\n this.getList();\r\n }\r\n\r\n\r\n changeEnterprise(data) {\r\n this.countMaxUserByEnterprise = this.enterprises.find(f => f.enterpriseId == data.value).maximumUsers;\r\n this.enterpriseSelect = data.value;\r\n this.gatewaySelect = 0;\r\n this.headquarterSelect = 0;\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.getHeadquarters();\r\n }\r\n\r\n getEnterprises() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n this.getList();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE);\r\n this.getEnterpriseById(this.enterpriseSelect);\r\n this.getList();\r\n }\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length > 0){\r\n this.headquarterSelect = 0;\r\n }\r\n }else{\r\n this.headquarters = [];\r\n this.gateways = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n this.getList();\r\n }\r\n }\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdEnterprise: this.enterpriseSelect,\r\n IdHeadquarter: this.headquarterSelect,\r\n Filter: this.searchText\r\n };\r\n this.spinner.show();\r\n this.actuatorService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getList();\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(ActuatorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_ACTUATOR,\r\n action: AppConstants.OperationType.ADD,\r\n gateways: this.gateways,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n isAdminGys: this.isAdminGys ,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(ActuatorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_ACTUATOR,\r\n action: AppConstants.OperationType.UPDATE,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n isAdminGys: this.isAdminGys,\r\n gateways: this.gateways,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.actuatorService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SENSOR, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SENSOR, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getList();\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n\r\n \r\n\r\n getGateways(){\r\n this.gatewayService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n this.gateways = response.data;\r\n if(this.gateways.length > 1){\r\n this.gatewaySelect = 0;\r\n }else{\r\n this.gatewaySelect = this.gateways[0].id;\r\n }\r\n this.getList();\r\n }else{\r\n this.gateways = [];\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.gateways = [];\r\n });\r\n\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Sede {{element.headquarter}} Modelo {{element.model}} Ip {{element.ipAdress}} CƔmara {{element.camera}} Zona {{element.zone}} Alertas {{element.alerts}} Habilitado\r\n check\r\n close\r\n Acciones \r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { CameraModalComponent } from 'src/app/shared/components/modals/camera/camera-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-camera',\r\n templateUrl: './camera.component.html',\r\n styleUrls: ['./camera.component.css']\r\n})\r\nexport class CameraComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n dataSources = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','headquarter','model','ipAdress','camera','zone','alerts','active','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginators: MatPaginator;\r\n subscription: Subscription;\r\n iframe: string;\r\n isAdministratorStreaming=false;\r\n enterprises = [];\r\n enterpriseSelect: number = 0;\r\n headquarterSelect = 0;\r\n headquarters = [];\r\n addUser:boolean = false;\r\n actionUser:boolean = false;\r\n isAdminGys: boolean = false;\r\n pageIndex: number = 0;\r\n pageEvent: PageEvent;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n searchText:string=\"\";\r\n timer:any;\r\n timeoutVal = 800;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private CameraService: CameraService,\r\n private enterpriseService: EnterpriseService,\r\n private emitterService: EmitterService,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private headquarterService: HeadquarterService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > CĆ”maras';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.enterpriseSelect = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = parseInt(localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSources.paginator = this.paginators;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.paginators._intl.itemsPerPageLabel = '';\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListCamera) {\r\n /*if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) != AppConstants.UserRole.AdministradorGyS){\r\n this.getCameraList(parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE)));\r\n }else{\r\n this.getCameraList(this.enterpriseSelect);\r\n }*/\r\n this.getCameraList();\r\n }\r\n });\r\n\r\n if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.AdministradorEmpresaStreaming){\r\n this.isAdministratorStreaming = true;\r\n this.displayedColumns = ['index','model','ipAdress','camera','active','action'];\r\n }\r\n /* if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.AdministradorGyS\r\n || parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.UsuarioGyS){\r\n //this.addUser = true;\r\n this.getEnterprises(1);\r\n }else{\r\n this.addUser = false;\r\n\r\n //this.getEnterprises(0);\r\n }*/\r\n this.getCameraList();\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getEnterprises(id:number) {\r\n if(id == 0){\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n //this.spinner.hide();\r\n /*if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) != AppConstants.UserRole.AdministradorGyS){\r\n this.getCameraList(parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE)));\r\n }else{\r\n this.getCameraList(this.enterpriseSelect);\r\n }*/\r\n //this.getHeadquarters();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n var enterprise = this.enterprises.filter(f => f.enterpriseId == this.enterpriseSelect);\r\n this.iframe = environment.sistemaWebAdmin + \"/streaming/camera-by-enterprise/\" + enterprise[0][\"token\"];\r\n //this.getHeadquarters();\r\n this.spinner.hide();\r\n /*if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) != AppConstants.UserRole.AdministradorGyS){\r\n this.getCameraList(parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE)));\r\n }else{\r\n this.getCameraList();\r\n }*/\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(CameraModalComponent, {\r\n data: {\r\n title: 'Agregar CĆ”mara',\r\n enterpriseId: this.enterpriseSelect,\r\n action: AppConstants.OperationType.ADD,\r\n headquarters: this.headquarters,\r\n idHeadquarter: this.headquarterSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color:this.color1,\r\n colorFont:this.color2,\r\n listview: this.dataSource},\r\n width: '800px',\r\n hasBackdrop: false\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getCameraList();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(datas){\r\n this.CameraService.getListCameraFilter(\r\n this.enterpriseSelect,\r\n parseInt(localStorage.getItem(AppConstants.Session.USERID)),\r\n datas.id\r\n ).subscribe((response) => {\r\n let dialogRef = this.dialog.open(CameraModalComponent, {\r\n data: {\r\n title: 'Actualizar CĆ”mara - '+datas.id,\r\n enterpriseId: this.enterpriseSelect,\r\n action: AppConstants.OperationType.UPDATE,\r\n listview: response,\r\n headquarters: this.headquarters,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n idHeadquarter: this.headquarterSelect,\r\n color:this.color1,\r\n colorFont:this.color2,\r\n obj:datas},\r\n width: '800px',\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getCameraList();\r\n }\r\n });\r\n },\r\n (error: HttpErrorResponse) => {\r\n });\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n var enterprise = this.enterprises.filter(f => f.enterpriseId == this.enterpriseSelect);\r\n this.iframe = environment.sistemaWebAdmin + \"/streaming/camera-by-enterprise/\" + enterprise[0][\"token\"];\r\n this.getHeadquarters();\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getCameraList();\r\n }\r\n\r\n getCameraList(){\r\n this.spinner.show();\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdEnterprise: this.enterpriseSelect,\r\n IdHeadquarter: this.headquarterSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color:this.color1,\r\n colorFont:this.color2,\r\n Filter: this.searchText\r\n };\r\n this.CameraService.getListCamera(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_CAMERA_CONFIRMATION_MESSAGE1} ${obj.camera} ? ${AppConstants.MessageModal.DELETE_CAMERA_CONFIRMATION_MESSAGE2}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteCamera(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteCamera(cameraId: number) {\r\n this.spinner.show();\r\n this.CameraService.deleteCamera(cameraId).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_CAMERA, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getCameraList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_CAMERA, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n this.headquarterSelect = 0;\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.getCameraList();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n }\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getCameraList();\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getCameraList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n RUC {{element.ruc}} Nombre {{element.name}} DirecciĆ³n {{element.address}} Habilitado\r\n check\r\n close\r\n Acciones \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseContractModalComponent } from '../../../../shared/components/modals/enterprise/enterprise-contract-modal/enterprise-contract-modal.component';\r\nimport { EnterpriseModalComponent } from '../../../../shared/components/modals/enterprise/enterprise-modal.component';\r\nimport { MessageModalComponent } from '../../../../shared/components/modals/message/message-modal.component';\r\nimport { AppConstants } from '../../../../shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from '../../../../shared/services/alert.service';\r\nimport { EmitterService } from '../../../../shared/services/emitter.service';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseSettingModalComponent } from 'src/app/shared/components/modals/enterprise/enterprise-setting-modal/enterprise-setting-modal.component';\r\nimport { EnterpriseStreamingModalComponent } from 'src/app/shared/components/modals/enterprise/enterprise-streaming-modal/enterprise-streaming-modal.component';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { EnterpriseSystemModalComponent } from 'src/app/shared/components/modals/enterprise/enterprise-system-modal/enterprise-system-modal.component';\r\nimport { EnterpriseStorageModalComponent } from 'src/app/shared/components/modals/enterprise/enterprise-storage-modal/enterprise-storage-modal.component';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-enterprise',\r\n templateUrl: './enterprise.component.html',\r\n styleUrls: ['./enterprise.component.css']\r\n})\r\nexport class EnterpriseComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index', 'ruc', 'businessName', 'address', 'enabled', 'action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n subscription: Subscription;\r\n searchText: string = '';\r\n filterRadio: string = '2';\r\n isBusiness: boolean = false;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n color1: string;\r\n color2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n colorFont: string;\r\n colorFont2: string;\r\n timer:any;\r\n\t\ttimeoutVal = 800;\r\n\r\n constructor(\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n private enterpriseService: EnterpriseService,\r\n private emitterService: EmitterService,\r\n private router: Router,\r\n private alertService: AlertService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Empresas';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isBusiness = +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGySComercial ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.getEnterprises();\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListEnterprise) {\r\n this.getEnterprises();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(EnterpriseModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_ENTERPRISE ,\r\n operation: AppConstants.OperationType.ADD,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2\r\n },\r\n width: '800px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getEnterprises();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(obj) {\r\n let dialogRef = this.dialog.open(EnterpriseModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_ENTERPRISE + \" - \" + obj.name,\r\n operation: AppConstants.OperationType.UPDATE,\r\n row : obj,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2\r\n },\r\n width: '800px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.getEnterprises();\r\n }\r\n });\r\n }\r\n\r\n openEditSettings(obj){\r\n let dialogRef = this.dialog.open(EnterpriseSettingModalComponent, {\r\n data: {\r\n operation: AppConstants.OperationType.UPDATE ,\r\n title: AppConstants.TitleModal.UPDATE_ENTERPRISE_SETTING + \" - \" + obj.name, row : obj,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2\r\n },\r\n width: '800px',\r\n });\r\n }\r\n\r\n openEditStreaming(obj){\r\n let dialogRef = this.dialog.open(EnterpriseStreamingModalComponent, {\r\n data: { row : obj , title: AppConstants.TitleModal.SETTING_STREAMING_ENTERPRISE + \" - \" + obj.name,\r\n operation: AppConstants.OperationType.UPDATE,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2\r\n },\r\n width: '800px',\r\n });\r\n }\r\n\r\n openEditSystem(obj){\r\n let dialogRef = this.dialog.open(EnterpriseSystemModalComponent, {\r\n data: { row : obj, title: AppConstants.TitleModal.SETTING_SYSTEM_ENTERPRISE + \" - \" + obj.name ,\r\n operation: AppConstants.OperationType.UPDATE,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2\r\n },\r\n width: '800px',\r\n });\r\n }\r\n\r\n openStorage(obj){\r\n let dialogRef = this.dialog.open(EnterpriseStorageModalComponent, {\r\n data: { row : obj , title: AppConstants.TitleModal.DIRECTORY_STORAGE_ENTERPRISE + \" - \" + obj.name,\r\n operation: AppConstants.OperationType.UPDATE,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2\r\n },\r\n width: '800px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getEnterprises();\r\n }\r\n });\r\n }\r\n\r\n openContractModal(obj) {\r\n let dialogRef = this.dialog.open(EnterpriseContractModalComponent, {\r\n data: { title: this.isBusiness == true ? 'Visualizar Contrato' + \" - \" + obj.name : 'Registro Contrato' + \" - \" + obj.name, row : obj ,\r\n operation: AppConstants.OperationType.UPDATE,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2\r\n },\r\n width: '800px',\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_ENTERPRISE_CONFIRMATION_MESSAGE1} ${obj.name} ? ${AppConstants.MessageModal.DELETE_ENTERPRISE_CONFIRMATION_MESSAGE2}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteEnterprise(obj.id);\r\n }\r\n });\r\n }\r\n\r\n getEnterprises() {\r\n this.dataSource.data = [];\r\n this.spinner.show();\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n Filter: this.searchText\r\n }\r\n this.enterpriseService.getList(filter).subscribe((_) => {\r\n if(!_.error){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(\"err enterprise\",error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n deleteEnterprise(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.deleteEnterprise(enterpriseId).subscribe((response => {\r\n if(response.code == 200){\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ENTERPRISE, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getEnterprises();\r\n this.spinner.hide();\r\n }else{\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ENTERPRISE, response.message, MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n }),\r\n (err: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ENTERPRISE, err.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getEnterprises();\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getEnterprises();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Sede {{element.headquarter}} Nombre {{element.name}} DescripciĆ³n {{element.description}} IP {{element.ip}} MAC {{element.mac}} Nomenclatura {{element.nomenclature}} Acciones \r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { GatewayModalComponent } from 'src/app/shared/components/modals/gateway/gateway-modal.component';\r\nimport { HeadquarterModalComponent } from 'src/app/shared/components/modals/headquarter/headquarter-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-gateway',\r\n templateUrl: './gateway.component.html',\r\n styleUrls: ['./gateway.component.css']\r\n})\r\nexport class GatewayComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','headquarter','name','description','ip','mac','nomenclature','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n headquarters = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n headquarterSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n searchText: string = '';\r\n timer:any;\r\n\ttimeoutVal = 800;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private enterpriseService: EnterpriseService,\r\n private spinner: NgxSpinnerService,\r\n private emitterService: EmitterService,\r\n private router: Router,\r\n private headquarterService: HeadquarterService,\r\n private gatewayService: GatewayService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Gateways';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getList();\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getList();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdEnterprise: this.enterpriseSelect,\r\n IdHeadquarter: this.headquarterSelect,\r\n Filter: this.searchText\r\n };\r\n this.spinner.show();\r\n this.gatewayService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getList();\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(GatewayModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_GATEWAY,\r\n action: AppConstants.OperationType.ADD,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n isAdminGys: this.isAdminGys ,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(GatewayModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_GATEWAY,\r\n action: AppConstants.OperationType.UPDATE,\r\n headquarters: this.headquarters,\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.enterpriseSelect,\r\n isAdminGys: this.isAdminGys,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n obj:data,\r\n color: this.color1,\r\n colorFont: this.color2\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.gatewayService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_GATEWAY, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_GATEWAY, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Empresa {{element.enterprise}} Nombre {{element.name}} DescripciĆ³n {{element.description}} Nomenclatura {{element.nomenclature}} Acciones \r\n folder_open\r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { HeadquarterStorageModalComponent } from 'src/app/shared/components/modals/headquarter/headquarter-storage-modal/headquarter-storage-modal.component';\r\nimport { HeadquarterModalComponent } from 'src/app/shared/components/modals/headquarter/headquarter-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-headquarter',\r\n templateUrl: './headquarter.component.html',\r\n styleUrls: ['./headquarter.component.css']\r\n})\r\nexport class HeadquarterComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','enterprise','name','description','nomenclature','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n headquarterSelect = 0;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n searchText: string = '';\r\n timer:any;\r\n timeoutVal = 800;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private enterpriseService: EnterpriseService,\r\n private router: Router,\r\n private spinner: NgxSpinnerService,\r\n private emitterService: EmitterService,\r\n private headquarterService: HeadquarterService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Sedes';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n //this.getEnterprises();\r\n this.getList();\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getList();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n /*changeEnterprise(data) {\r\n var e = this.enterprises.find(f => f.enterpriseId == data.value);\r\n if(e != null){\r\n this.countMaxUserByEnterprise = e.maximumUsers;\r\n this.enterpriseSelect = data.value;\r\n this.headquarterStorageEnabled = e.headquarterStorageEnabled;\r\n this.getList();\r\n }\r\n }\r\n\r\n getEnterprises() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.countMaxUserByEnterprise = this.enterprises[0][\"maximumUsers\"];\r\n this.headquarterStorageEnabled = this.enterprises[0][\"headquarterStorageEnabled\"];\r\n this.getList();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE)\r\n this.getEnterpriseById(this.enterpriseSelect);\r\n this.getList();\r\n }\r\n }*/\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdEnterprise: this.enterpriseSelect,\r\n Filter: this.searchText\r\n };\r\n this.spinner.show();\r\n this.headquarterService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n var data;\r\n if(this.headquarterSelect>0){\r\n data = _[\"rows\"].filter(x => x.id == this.headquarterSelect);\r\n }else{\r\n data = _[\"rows\"];\r\n }\r\n this.dataSource = new MatTableDataSource(data);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getList();\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(HeadquarterModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_HEADQUARTER,\r\n action: AppConstants.OperationType.ADD,\r\n idEnterprise: this.enterpriseSelect,\r\n isAdminGys: this.isAdminGys ,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n obj:null,\r\n color: this.color1,\r\n colorFont: this.color2},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(HeadquarterModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_HEADQUARTER,\r\n action: AppConstants.OperationType.UPDATE,\r\n idEnterprise: this.enterpriseSelect,\r\n isAdminGys: this.isAdminGys,obj:data,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n openSettingModal(data){\r\n let dialogRef = this.dialog.open(HeadquarterStorageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_HEADQUARTER_FILE,\r\n action: AppConstants.OperationType.UPDATE,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: data.id,\r\n isAdminGys: this.isAdminGys,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.headquarterService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_HEADQUARTER, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_HEADQUARTER, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Nombre {{element.name}} Acciones \r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatTableDataSource, MatPaginator, PageEvent, MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { RoleService } from 'src/app/services/role/role.service';\r\nimport { SensorReadingplaceService } from 'src/app/services/sensor-readingplace/sensor-readingplace.service';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { RoleModalComponent } from 'src/app/shared/components/modals/role/role-modal.component';\r\nimport { SensorReadingplaceModalComponent } from 'src/app/shared/components/modals/sensor-readingplace-modal/sensor-readingplace-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-role',\r\n templateUrl: './role.component.html',\r\n styleUrls: ['./role.component.css']\r\n})\r\nexport class RoleComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['name','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n headquarters = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n headquarterSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n searchText: string = '';\r\n timer:any;\r\n\ttimeoutVal = 800;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private enterpriseService: EnterpriseService,\r\n private spinner: NgxSpinnerService,\r\n private router: Router,\r\n private emitterService: EmitterService,\r\n private headquarterService: HeadquarterService,\r\n private roleService: RoleService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Roles';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getList();\r\n\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getList();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getList(){\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdEnterprise: this.enterpriseSelect,\r\n Filter: this.searchText\r\n };\r\n this.spinner.show();\r\n this.roleService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getList();\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(RoleModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_ROLE,\r\n action: AppConstants.OperationType.ADD,\r\n idEnterprise: this.enterpriseSelect,\r\n isAdminGys: this.isAdminGys ,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(RoleModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_ROLE,\r\n action: AppConstants.OperationType.UPDATE,\r\n idEnterprise: this.enterpriseSelect,\r\n isAdminGys: this.isAdminGys,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n var data = {\r\n id: id,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.roleService.delete(data).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ROLE, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ROLE, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Sede {{element.headquarter}} Nombre {{element.name}} DescripciĆ³n {{element.description}} Acciones \r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatTableDataSource, MatPaginator, PageEvent, MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { SensorReadingplaceService } from 'src/app/services/sensor-readingplace/sensor-readingplace.service';\r\nimport { GatewayModalComponent } from 'src/app/shared/components/modals/gateway/gateway-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { SensorReadingplaceModalComponent } from 'src/app/shared/components/modals/sensor-readingplace-modal/sensor-readingplace-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-sensor-readingplace',\r\n templateUrl: './sensor-readingplace.component.html',\r\n styleUrls: ['./sensor-readingplace.component.css']\r\n})\r\nexport class SensorReadingplaceComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['headquarter','name','description','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n headquarters = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n headquarterSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n searchText: string = '';\r\n timer:any;\r\n\ttimeoutVal = 800;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private router: Router,\r\n private enterpriseService: EnterpriseService,\r\n private spinner: NgxSpinnerService,\r\n private emitterService: EmitterService,\r\n private headquarterService: HeadquarterService,\r\n private sensorReadingplaceService: SensorReadingplaceService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > UbicaciĆ³n de Lectura de Sensores';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getList();\r\n\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getList();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.getHeadquarters();\r\n this.getList();\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getList();\r\n }\r\n\r\n getEnterprises() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE);\r\n this.getHeadquarters();\r\n }\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length == 1){\r\n this.headquarterSelect = this.headquarters[0][\"id\"];\r\n }else{\r\n this.headquarterSelect = 0;\r\n }\r\n this.getList();\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n this.getList();\r\n }\r\n }\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdEnterprise: this.enterpriseSelect,\r\n IdHeadquarter: this.headquarterSelect,\r\n Filter: this.searchText\r\n };\r\n this.spinner.show();\r\n this.sensorReadingplaceService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getList();\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(SensorReadingplaceModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_SENSOR_READINGPLACE,\r\n action: AppConstants.OperationType.ADD,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n isAdminGys: this.isAdminGys ,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(SensorReadingplaceModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_SENSOR_READINGPLACE,\r\n action: AppConstants.OperationType.UPDATE,\r\n headquarters: this.headquarters,\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.enterpriseSelect,\r\n isAdminGys: this.isAdminGys,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.sensorReadingplaceService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_GATEWAY, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_GATEWAY, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Nombre {{element.name}} Acciones \r\n assignment\r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatTableDataSource, MatPaginator, PageEvent, MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { RoleService } from 'src/app/services/role/role.service';\r\nimport { SensorReadingplaceService } from 'src/app/services/sensor-readingplace/sensor-readingplace.service';\r\nimport { SensorTypeService } from 'src/app/services/sensor-type/sensor-type.service';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { RoleModalComponent } from 'src/app/shared/components/modals/role/role-modal.component';\r\nimport { SensorReadingplaceModalComponent } from 'src/app/shared/components/modals/sensor-readingplace-modal/sensor-readingplace-modal.component';\r\nimport { GraphAssignModalComponent } from 'src/app/shared/components/modals/sensor-type-modal/graph-assign-modal/graph-assign-modal.component';\r\nimport { SensorTypeModalComponent } from 'src/app/shared/components/modals/sensor-type-modal/sensor-type-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-sensor-type',\r\n templateUrl: './sensor-type.component.html',\r\n styleUrls: ['./sensor-type.component.css']\r\n})\r\nexport class SensorTypeComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['name','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n headquarters = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n headquarterSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n searchText: string = '';\r\n timer:any;\r\n\ttimeoutVal = 800;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private spinner: NgxSpinnerService,\r\n private router: Router,\r\n private emitterService: EmitterService,\r\n private sensorTypeService: SensorTypeService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Tipo de Sensores';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.getList();\r\n\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getList();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getList(){\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n Filter: this.searchText\r\n };\r\n this.spinner.show();\r\n this.sensorTypeService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getList();\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(SensorTypeModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_SENSOR_TYPE,\r\n action: AppConstants.OperationType.ADD,\r\n isAdminGys: this.isAdminGys ,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n openGraphModal(data){\r\n let dialogRef = this.dialog.open(GraphAssignModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.LIST_SENSOR_TYPE_ASSIGN + data.name,\r\n action: AppConstants.OperationType.UPDATE,\r\n idSensorType: data.id,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(SensorTypeModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_SENSOR_TYPE,\r\n action: AppConstants.OperationType.UPDATE,\r\n isAdminGys: this.isAdminGys,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n var data = {\r\n id: id,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.sensorTypeService.delete(data).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ROLE, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ROLE, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n \r\n Gateway\r\n \r\n 1\">\r\n Todos\r\n \r\n \r\n {{gateway.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Empresa {{element.enterprise}} Sede {{element.headquarter}} Gateway {{element.gateway}} Nombre {{element.name}} DescripciĆ³n {{element.description}} Nomenclatura {{element.nomenclature}} Acciones \r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { SensorService } from 'src/app/services/sensor/sensor.service';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { SensorModalComponent } from 'src/app/shared/components/modals/sensor/sensor-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-sensor',\r\n templateUrl: './sensor.component.html',\r\n styleUrls: ['./sensor.component.css']\r\n})\r\nexport class SensorComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['enterprise','headquarter','gateway','name','description','nomenclature','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n headquarters = [];\r\n gateways = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n headquarterSelect: number = 0;\r\n gatewaySelect: number = 0;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n searchText: string = '';\r\n timer:any;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\ttimeoutVal = 800;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private router: Router,\r\n private enterpriseService: EnterpriseService,\r\n private spinner: NgxSpinnerService,\r\n private emitterService: EmitterService,\r\n private sensorService: SensorService,\r\n private headquarterService: HeadquarterService,\r\n private gatewayService: GatewayService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Sensores';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getGateways();\r\n //this.getList(1);\r\n\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getList();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.countMaxUserByEnterprise = this.enterprises.find(f => f.enterpriseId == data.value).maximumUsers;\r\n this.enterpriseSelect = data.value;\r\n this.gatewaySelect = 0;\r\n this.headquarterSelect = 0;\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.getHeadquarters();\r\n }\r\n\r\n getEnterprises() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n this.getList();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE);\r\n this.getEnterpriseById(this.enterpriseSelect);\r\n this.getList();\r\n }\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length > 0){\r\n this.headquarterSelect = 0;\r\n }\r\n this.getGateways();\r\n }else{\r\n this.headquarters = [];\r\n this.gateways = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n this.getList();\r\n this.getGateways();\r\n }\r\n }\r\n\r\n getGateways(){\r\n this.gatewayService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n this.gateways = response.data;\r\n if(this.gateways.length > 1){\r\n this.gatewaySelect = 0;\r\n }else{\r\n this.gatewaySelect = this.gateways[0].id;\r\n }\r\n this.getList();\r\n }else{\r\n this.gateways = [];\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.gateways = [];\r\n });\r\n\r\n }\r\n\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdEnterprise: this.enterpriseSelect,\r\n IdHeadquarter: this.headquarterSelect,\r\n IdGateway: this.gatewaySelect,\r\n Filter: this.searchText\r\n };\r\n this.spinner.show();\r\n this.sensorService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getList();\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(SensorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_SENSOR,\r\n action: AppConstants.OperationType.ADD,\r\n gateways: this.gateways,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n isAdminGys: this.isAdminGys ,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(SensorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_SENSOR,\r\n action: AppConstants.OperationType.UPDATE,\r\n gateways: this.gateways,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n isAdminGys: this.isAdminGys,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.sensorService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SENSOR, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SENSOR, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getGateways();\r\n this.getList();\r\n }\r\n\r\n changeGateway(data) {\r\n this.gatewaySelect = data.value;\r\n this.getList();\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Correo {{element.username}} Apellidos y Nombres {{element.fullName}} Rol {{element.role}} EnvĆ­o Correo\r\n check\r\n close\r\n Habilitado\r\n check\r\n close\r\n Acciones \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { UserModalComponent } from 'src/app/shared/components/modals/user/user-modal.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserService } from '../../../../services/user/user.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { EmitterService } from '../../../../shared/services/emitter.service';\r\nimport { AlertService, MessageSeverity } from '../../../../shared/services/alert.service';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { UserAssingModalComponent } from 'src/app/shared/components/modals/user/user-assing-modal/user-assing-modal.component';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-user',\r\n templateUrl: './user.component.html',\r\n styleUrls: ['./user.component.css']\r\n})\r\nexport class UserComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','username', 'fullName','role', 'sendEmail', 'enabled', 'action']; //'rol',\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n subscription: Subscription;\r\n\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n\r\n enterprises = [];\r\n enterpriseSelect: number = 0;\r\n\r\n page: number = 1;\r\n countMaxUserByEnterprise: number = 0;\r\n isAdminGys: boolean = false;\r\n headquarters = [];\r\n headquarterSelect = 0;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n searchText:string=\"\";\r\n timer:any;\r\n timeoutVal = 800;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private userService: UserService,\r\n private router: Router,\r\n private enterpriseService: EnterpriseService,\r\n private emitterService: EmitterService,\r\n private alertService: AlertService,\r\n private headquarterService: HeadquarterService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Usuarios';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n //this.getEnterprises();\r\n this.dataSource.paginator = this.paginator;\r\n this.getUsers();\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getUsers();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getUsers();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n openAssign(element){\r\n let dialogRef = this.dialog.open(UserAssingModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.TITLE_USER_ASSING_MODAL + \" - \" + element.fullName,\r\n obj: element,\r\n action: AppConstants.OperationType.UPDATE,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2\r\n },\r\n width: '800px',\r\n hasBackdrop: true\r\n });\r\n /*dialogRef.afterClosed().subscribe(_ => {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getUsers();\r\n });*/\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(UserModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.REGISTER_TITLE_USER_MODAL,\r\n action: AppConstants.OperationType.ADD,\r\n enterpriseId: this.enterpriseSelect,\r\n headquarters: this.headquarters,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n idHeadquarter: this.headquarterSelect,\r\n color: this.color1,\r\n colorFont: this.color2\r\n },\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.getUsers();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(obj) {\r\n let dialogRef = this.dialog.open(UserModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.EDIT_TITLE_USER_MODAL,\r\n action: AppConstants.OperationType.UPDATE,\r\n row : obj,\r\n headquarters: this.headquarters,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n idHeadquarter: this.headquarterSelect,\r\n color: this.color1,\r\n colorFont: this.color2\r\n },\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getUsers();\r\n }\r\n });\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n this.headquarterSelect = 0;\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.getUsers();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n }\r\n }\r\n\r\n delete(obj){\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_TITLE_USER_CONFIRM,\r\n message: `${AppConstants.MessageModal.DELETE_USER_CONFIRMATION_MESSAGE1} ${obj.fullName} ? ${AppConstants.MessageModal.DELETE_USER_CONFIRMATION_MESSAGE2}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n })\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.page = 1;\r\n this.paginator.pageIndex = 0;\r\n this.deleteUser(obj.userId);\r\n }\r\n });\r\n }\r\n\r\n getUsers() {\r\n this.spinner.show();\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdHeadquarter: this.headquarterSelect,\r\n IdEnterprise: this.enterpriseSelect,\r\n Filter: this.searchText\r\n };\r\n\r\n this.userService.getUsers(filter).subscribe((response) => {\r\n this.dataSource = new MatTableDataSource(response[\"rows\"]);\r\n this.pageIndex = +response[\"page\"]-1;\r\n //this.pageSize = response[\"records\"];\r\n this.length = response[\"total\"];\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getUsers();\r\n }\r\n\r\n deleteUser(enterpriseId: number) {\r\n this.spinner.show();\r\n this.userService.deleteUser(enterpriseId).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_USER, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getUsers();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_USER, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getUsers();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Sede {{element.headquarter}} Tipo {{element.typeName}} Nombre {{element.name}} DescripciĆ³n {{element.description}} Nomenclatura {{element.nomenclature}} Acciones \r\n remove_red_eye\r\n create\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n 0 || systems.va > 0\" >\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Sede {{element2.headquarter}} Pin {{element2.name}} AcciĆ³n \r\n remove_red_eye\r\n delete\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n\r\n \r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { ImageModalComponent } from 'src/app/shared/components/modals/image/image-modal.component';\r\nimport { ZoneModalComponent } from 'src/app/shared/components/modals/zone/zone-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { EnterprisePinListModalComponent } from 'src/app/shared/components/modals/zone/enterprise-pin-list-modal/enterprise-pin-list-modal.component';\r\nimport { PinModalComponent } from 'src/app/shared/components/modals/zone/enterprise-pin-modal/pin-modal.component';\r\nimport { EnterprisePinMaps } from 'src/app/models/enterprise/enterprisePinMaps';\r\nimport { MatTabChangeEvent } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { decryptData } from 'src/app/shared/helpers/decrypt';\r\n\r\n@Component({\r\n selector: 'app-zone',\r\n templateUrl: './zone.component.html',\r\n styleUrls: ['./zone.component.css']\r\n})\r\nexport class ZoneComponent implements OnInit {\r\n\r\n\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','headquarter','type','name','description','nomenclature','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n dataSource2 = new MatTableDataSource();\r\n displayedColumns2: string[] = ['headquarter','name', 'action'];\r\n @ViewChild(MatPaginator, { static: false }) paginator2: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n headquarters = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n headquarterSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n listPinMaps=[];\r\n pinMapfiles=[];\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n tab = 0;\r\n searchText: string = '';\r\n enabledRead: number;\r\n enabledWrite: number;\r\n timer:any;\r\n\ttimeoutVal = 800;\r\n systems:any;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private enterpriseService: EnterpriseService,\r\n private spinner: NgxSpinnerService,\r\n private emitterService: EmitterService,\r\n private router: Router,\r\n private headquarterService: HeadquarterService,\r\n private zoneService: ZoneService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'AdministraciĆ³n > Zonas';\r\n this.systems = JSON.parse(decryptData(localStorage.getItem(AppConstants.Session.ENTERPRISE_SYSTEM)));\r\n console.log(this.systems);\r\n if((this.systems.Iot == null || this.systems.Iot == undefined) && (this.systems.iot == null || this.systems.iot == undefined)){\r\n this.systems = JSON.parse(this.systems);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getList();\r\n this.getListPines();\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListUsers) {\r\n this.getList();\r\n }\r\n if (message == AppConstants.EmitterService.ListUsersEdit) {\r\n this.getList();\r\n }\r\n });\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.getHeadquarters();\r\n this.headquarterSelect = 0;\r\n this.getList();\r\n this.getListPines();\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getList();\r\n this.getListPines();\r\n }\r\n\r\n getEnterprises() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE);\r\n this.getHeadquarters();\r\n }\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length == 1){\r\n this.headquarterSelect = this.headquarters[0][\"id\"];\r\n }else{\r\n this.headquarterSelect = 0;\r\n }\r\n this.getList();\r\n this.getListPines();\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n this.getList();\r\n this.getListPines();\r\n }\r\n }\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n var filter = {\r\n Page: this.page,\r\n Rows: AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION,\r\n IdEnterprise: this.enterpriseSelect,\r\n IdHeadquarter: this.headquarterSelect,\r\n Filter: this.searchText\r\n };\r\n this.spinner.show();\r\n this.zoneService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource = new MatTableDataSource(_[\"rows\"]);\r\n this.pageIndex = +_[\"page\"]-1;\r\n this.length = _[\"total\"];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getServerData(event?: PageEvent) {\r\n this.page = event.pageIndex + 1;\r\n this.getList();\r\n }\r\n\r\n openPinMapModal() {\r\n let dialogRef = this.dialog.open(EnterprisePinListModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.LIST_PIN_MAP_TITLE,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n headquarters: this.headquarters,\r\n color: this.color1,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n colorFont: this.color2,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n this.getListPines();\r\n }\r\n });\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(ZoneModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_ZONE,\r\n action: AppConstants.OperationType.ADD,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n isAdminGys: this.isAdminGys ,\r\n pines: this.listPinMaps,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n systems: this.systems,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n this.getListPines();\r\n }\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(ZoneModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_ZONE,\r\n action: AppConstants.OperationType.UPDATE,\r\n headquarters: this.headquarters,\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.enterpriseSelect,\r\n isAdminGys: this.isAdminGys,\r\n color: this.color1,\r\n systems:this.systems,\r\n colorFont: this.color2,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getList();\r\n this.getListPines();\r\n }\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.zoneService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ZONE, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_ZONE, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n showImage(element){\r\n var path = element.image;\r\n if(path != null && path != \"\"){\r\n this.spinner.show();\r\n var idStorageFile = element.idStorageTypeBlob;\r\n if(idStorageFile == 1){ // Mode Local\r\n path = element.storagePathBlob + path;\r\n }\r\n this.dialog.open(ImageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_ZONE,\r\n image: path\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n this.spinner.hide();\r\n\r\n }else{\r\n this.alertService.showMessage(\"\", \"No tiene imagen subida en esta ubicaciĆ³n\", MessageSeverity.error);\r\n }\r\n }\r\n\r\n\r\n getListPines(){\r\n this.spinner.show();\r\n var filter = {\r\n IdEnterprise: this.enterpriseSelect,\r\n IdHeadquarter: this.headquarterSelect\r\n };\r\n this.zoneService.getListPines(filter).subscribe((response => {\r\n this.listPinMaps = response.data;\r\n this.dataSource2.data = this.listPinMaps;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n onFilePinMapSelected(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n if (file.type == \"image/png\" || file.type == \"image/jpeg\") {\r\n console.log(this.listPinMaps);\r\n if (this.listPinMaps.filter(f => f.name == this.convertName(file.name)).length == 0) {\r\n var model = new EnterprisePinMaps();\r\n model.name = this.convertName(file.name);\r\n model.file = file;\r\n this.listPinMaps.push(model);\r\n this.pinMapfiles.push(file);\r\n this.dataSource.data = this.listPinMaps;\r\n } else {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_PINMAP_DUPLICATE, MessageSeverity.warn);\r\n }\r\n } else {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n event.srcElement.value = '';\r\n }\r\n }\r\n\r\n convertName(name: string) {\r\n return name.split('.').slice(0, -1).join();\r\n }\r\n\r\n deletePinMap(obj){\r\n this.spinner.show();\r\n var data = {\r\n IdUser: localStorage.getItem(AppConstants.Session.USERID),\r\n Id: obj.id\r\n }\r\n this.zoneService.deletePin(data).subscribe((response => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_PIN, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getListPines();\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_PIN, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n showImagePin(element){\r\n console.log(element);\r\n var path = element.path;\r\n if(path != null && path != \"\"){\r\n if(element.idStorageFile == 1){ // Mode Local\r\n path = environment.pathFile + path;\r\n }\r\n this.dialog.open(ImageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_ZONE,\r\n image: path},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n }else{\r\n this.alertService.showMessage(\"\", \"No tiene imagen subida\", MessageSeverity.error);\r\n }\r\n }\r\n\r\n addModalPin(){\r\n let dialogRef = this.dialog.open(PinModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_PIN,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n headquarters: this.headquarters,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n action: AppConstants.OperationType.ADD,\r\n color: this.color1,\r\n colorFont: this.color2\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.getListPines();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n applyFilterPin(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource2.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n applyUpFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.searchText = filterValue.trim().toLowerCase();\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n _this.timer = window.setTimeout(() => {\r\n _this.page = 1;\r\n _this.paginator.pageIndex = 0;\r\n _this.getList();\r\n }, _this.timeoutVal);\r\n }\r\n\r\n applyPressFilter(event: Event) {\r\n var _this = this;\r\n window.clearTimeout(_this.timer);\r\n }\r\n\r\n onTabChange(event: MatTabChangeEvent) {\r\n this.tab = event.index;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n {{item.name}}\r\n
\r\n
\r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n
\r\n
0\" >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{w.name}}
\r\n
\r\n
\r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { Chart } from 'chart.js';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { DashboardService } from 'src/app/services/dashboard/dashboard.service';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport { DashboardModalComponent } from 'src/app/shared/components/modals/dashboard/dashboard-modal.component';\r\nimport { WidgetModalComponent } from 'src/app/shared/components/modals/dashboard/widget-modal/widget-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { ModalReportSensorPbiShowRoomComponent } from 'src/app/shared/components/modals/showroom/modal-report-sensor-pbi/modal-report-sensor-pbi-show-room.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n dashboards = [];\r\n enterpriseSelect: number;\r\n contentDashboard = false;\r\n enabledEditWidget = false;\r\n newitemDashboard = false;\r\n dashboardSelect: number;\r\n widgets = [];\r\n initListDashboards = [];\r\n listDashboards2 = [];\r\n isPhone = false;\r\n isTablet = false;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private alertService: AlertService,\r\n private router: Router,\r\n private panelIOTService: PanelIOTService,\r\n private dashboardService: DashboardService) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Dashboard';\r\n const userAgent: string = navigator.userAgent || navigator.vendor;\r\n const isMobileDevice = (): boolean => {\r\n const regexs = [/(Android)(.+)(Mobile)/i, /BlackBerry/i, /iPhone|iPod/i, /Opera Mini/i, /IEMobile/i]\r\n return regexs.some((b) => userAgent.match(b))\r\n }\r\n const isTabletDevice = (): boolean => {\r\n const regexs = [/iPad/i, /iPod/i, /tablet/i, /tablet|ipad/i]\r\n return regexs.some((b) => userAgent.match(b))\r\n }\r\n this.isPhone = isMobileDevice();\r\n this.isTablet = isTabletDevice();\r\n }\r\n\r\n ngOnInit():void {\r\n this.enterpriseSelect = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.setLS();\r\n //this.getList();\r\n }\r\n\r\n ngAfterViewInit(){\r\n this.getList();\r\n }\r\n\r\n ngOnDestroy() {\r\n /*if (this.chart) {\r\n this.AmCharts.destroyChart(this.chart);\r\n }*/\r\n }\r\n\r\n getList(){\r\n this.spinner.show();\r\n this.dashboardService.getListAll(this.enterpriseSelect).subscribe((_) => {\r\n if(_.error == null){\r\n this.dashboards = [];\r\n this.listDashboards2 = [];\r\n this.initListDashboards = _.data;\r\n if(this.initListDashboards.length > 0){\r\n if(this.newitemDashboard){\r\n this.newitemDashboard = false;\r\n this.dashboardSelect = this.initListDashboards[this.initListDashboards.length-1].id;\r\n }else{\r\n this.dashboardSelect = this.initListDashboards[0].id;\r\n }\r\n if(!this.isPhone && !this.isTablet){\r\n this.dashboards = this.initListDashboards.filter((element,key) => key < 8);\r\n if(this.initListDashboards.length > 8){\r\n this.listDashboards2 = this.initListDashboards.filter((element,key) => key >= 8);\r\n }\r\n }else if(this.isTablet){\r\n this.dashboards = this.initListDashboards.filter((element,key) => key < 5);\r\n if(this.initListDashboards.length > 6){\r\n this.listDashboards2 = this.initListDashboards.filter((element,key) => key >= 5);\r\n }\r\n }else if(this.isPhone){\r\n this.dashboards = this.initListDashboards.filter((element,key) => key < 2);\r\n if(this.initListDashboards.length > 2){\r\n this.listDashboards2 = this.initListDashboards.filter((element,key) => key >= 2);\r\n }\r\n }\r\n this.getListWidgets();\r\n }else{\r\n this.spinner.hide();\r\n }\r\n }else{\r\n this.spinner.hide();\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getListWidgets(){\r\n this.spinner.show()\r\n this.dashboardService.getListAllWidgets(this.dashboardSelect).subscribe((_) => {\r\n if(_.error == null){\r\n this.widgets = _.data;\r\n console.log(\"widgets\",_.data);\r\n this.contentDashboard = true;\r\n /*d.forEach(_ => {\r\n //_.widgetPosition = JSON.parse(_.position);\r\n var body = JSON.parse(_.contentData);\r\n var ii = 0;\r\n var datasets = [];\r\n body.forEach(c => {\r\n _this.panelIOTService.getSensorPanelIOT(c.sensor).subscribe((__) => {\r\n\r\n if(_.idWidgetType == 1){ // LINEAL\r\n // Set Labels\r\n var head = JSON.parse(_.contentHead);\r\n var labels = [];\r\n for(var i=0; i<= head.hourX;i++){\r\n labels.push(i);\r\n }\r\n _.labels = labels;\r\n datasets.push({\r\n label: __.nomenclature,\r\n data: [],//arrayData,\r\n backgroundColor: c.color\r\n });\r\n }else if(_.idWidgetType == 2){ //BAR\r\n var labels = [];\r\n labels.push(c.name);\r\n _.labels = labels;\r\n datasets.push({\r\n data: [0],\r\n backgroundColor: [c.color],\r\n borderColor: [c.color],\r\n borderWidth: 1\r\n });\r\n }\r\n _.datasets = datasets;\r\n ii++;\r\n console.log(\"validate \",d.length+\" == \"+index+\" && \"+body.length+\" == \"+ii);\r\n if(d.length == index && !_this.contentDashboard){\r\n console.log(\"entrooo mostrar\");\r\n _this.showContent(d);\r\n return false;\r\n }\r\n });\r\n });\r\n index++;\r\n /*\r\n _this.contentDashboard = true;\r\n _this.showContent(d);\r\n });*/\r\n }else{\r\n this.widgets = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeMoreDashboard(item){\r\n if(!this.isPhone && !this.isTablet){\r\n this.dashboards = this.initListDashboards.filter((element,key) => element.id >= item.id).slice(0, 8);\r\n if(this.initListDashboards.length > 8){\r\n this.listDashboards2 = this.initListDashboards.filter((element,key) => element.id != item.id && !this.searchArray(this.dashboards,element.id));\r\n }\r\n }else if(this.isTablet){\r\n this.dashboards = this.initListDashboards.filter((element,key) => element.id >= item.id).slice(0, 6);\r\n if(this.initListDashboards.length > 6){\r\n this.listDashboards2 = this.initListDashboards.filter((element,key) => element.id != item.id && !this.searchArray(this.dashboards,element.id));\r\n }\r\n }else if(this.isPhone){\r\n this.dashboards = this.initListDashboards.filter((element,key) => element.id >= item.id).slice(0, 2);\r\n if(this.initListDashboards.length > 2){\r\n this.listDashboards2 = this.initListDashboards.filter((element,key) => element.id != item.id && !this.searchArray(this.dashboards,element.id));\r\n }\r\n }\r\n this.dashboardSelect = item.id;\r\n this.getListWidgets();\r\n }\r\n\r\n searchArray(array, idItem){\r\n return array.filter(x => x.id == idItem).length > 0 ? true:false;\r\n }\r\n\r\n\r\n selectDashboard(i){\r\n this.dashboardSelect = i;\r\n this.spinner.show();\r\n console.log(\"select dashboard\");\r\n this.getListWidgets();\r\n this.contentDashboard = false;\r\n this.getContent(0);\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getContent(id){\r\n this.contentDashboard = true;\r\n }\r\n\r\n addWidget(){\r\n let dialogRef = this.dialog.open(WidgetModalComponent, {\r\n width: '1200px',\r\n data:{\r\n title: AppConstants.TitleModal.CREATE_WIDGET,\r\n action: AppConstants.OperationType.ADD,\r\n idEnterprise: this.enterpriseSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n idDashboard: this.dashboardSelect\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.selectDashboard(this.dashboardSelect);\r\n }\r\n });\r\n }\r\n\r\n /*\r\n\r\n ngAfterViewInit(){\r\n var _this = this;\r\n var chartColors = {\r\n\tred: 'rgb(255, 99, 132)',\r\n\torange: 'rgb(255, 159, 64)',\r\n\tyellow: 'rgb(255, 205, 86)',\r\n\tgreen: 'rgb(75, 192, 192)',\r\n\tblue: 'rgb(54, 162, 235)',\r\n\tpurple: 'rgb(153, 102, 255)',\r\n\tgrey: 'rgb(201, 203, 207)'\r\n};\r\n\r\nfunction randomScalingFactor() {\r\n\treturn (Math.random() > 0.5 ? 1.0 : -1.0) * Math.round(Math.random() * 100);\r\n}\r\n\r\n\r\nfunction onRefresh(chart) {\r\n\tchart.config.data.datasets.forEach(function(dataset) {\r\n\t\tdataset.data.push({\r\n\t\t\tx: Date.now(),\r\n\t\t\ty: randomScalingFactor()\r\n\t\t});\r\n\t});\r\n}\r\n\r\nvar color = Chart.helpers.color;\r\nvar config = {\r\n\ttype: 'line',\r\n\tdata: {\r\n\t\tdatasets: [{\r\n\t\t\tlabel: 'Dataset 1 (linear interpolation)',\r\n\t\t\tbackgroundColor: color(chartColors.red).alpha(0.5).rgbString(),\r\n\t\t\tborderColor: chartColors.red,\r\n\t\t\tfill: false,\r\n\t\t\tlineTension: 0,\r\n\t\t\tborderDash: [8, 4],\r\n\t\t\tdata: []\r\n\t\t}, {\r\n\t\t\tlabel: 'Dataset 2 (cubic interpolation)',\r\n\t\t\tbackgroundColor: color(chartColors.blue).alpha(0.5).rgbString(),\r\n\t\t\tborderColor: chartColors.blue,\r\n\t\t\tfill: false,\r\n\t\t\tcubicInterpolationMode: 'monotone',\r\n\t\t\tdata: []\r\n\t\t}]\r\n\t},\r\n\toptions: {\r\n\t\ttitle: {\r\n\t\t\tdisplay: true,\r\n\t\t\ttext: 'Line chart (hotizontal scroll) sample'\r\n\t\t},\r\n\t\tscales: {\r\n\t\t\txAxes: [{\r\n\t\t\t\ttype: 'realtime',\r\n\t\t\t\trealtime: {\r\n\t\t\t\t\tduration: 20000,\r\n\t\t\t\t\trefresh: 1000,\r\n\t\t\t\t\tdelay: 2000,\r\n\t\t\t\t\tonRefresh: onRefresh\r\n\t\t\t\t}\r\n\t\t\t}],\r\n\t\t\tyAxes: [{\r\n\t\t\t\tscaleLabel: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tlabelString: 'value'\r\n\t\t\t\t}\r\n\t\t\t}]\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tmode: 'nearest',\r\n\t\t\tintersect: false\r\n\t\t},\r\n\t\thover: {\r\n\t\t\tmode: 'nearest',\r\n\t\t\tintersect: false\r\n\t\t}\r\n\t}\r\n};\r\n\r\n\r\n var canvas = document.getElementById('myChart');\r\n var ctx = canvas.getContext('2d');\r\n console.log(\"chart \", ctx);\r\n _this.chart = new Chart(ctx, config);\r\n\r\n\r\n }*/\r\n\r\n showPBI(){\r\n let dialogRef = this.dialog.open(ModalReportSensorPbiShowRoomComponent, {\r\n width: '1000px',\r\n });\r\n }\r\n\r\n newDashboard(){\r\n let dialogRef = this.dialog.open(DashboardModalComponent, {\r\n width: '500px',\r\n data:{\r\n title: AppConstants.TitleModal.CREATE_DASHBOARD,\r\n action: AppConstants.OperationType.ADD,\r\n idEnterprise: this.enterpriseSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n }\r\n });\r\n var _this = this;\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n _this.newitemDashboard = true;\r\n _this.getList();\r\n }\r\n });\r\n }\r\n\r\n onWidgetChange(event: any) {\r\n console.log(event);\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(DashboardModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_DASHBOARD,\r\n action: AppConstants.OperationType.UPDATE,\r\n idEnterprise: this.enterpriseSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n obj:data,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n if (_.result == true) {\r\n this.selectDashboard(this.dashboardSelect);\r\n }\r\n }\r\n });\r\n}\r\n\r\ndelete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n}\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.dashboardService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_DASHBOARD, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_DASHBOARD, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n editWidgets(){\r\n this.enabledEditWidget = !this.enabledEditWidget;\r\n }\r\n\r\n openEditWidget(element){\r\n let dialogRef = this.dialog.open(WidgetModalComponent, {\r\n width: '1200px',\r\n data:{\r\n title: AppConstants.TitleModal.UPDATE_WIDGET,\r\n action: AppConstants.OperationType.UPDATE,\r\n idEnterprise: this.enterpriseSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n idDashboard: this.dashboardSelect,\r\n obj: element\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.selectDashboard(this.dashboardSelect);\r\n }\r\n });\r\n }\r\n\r\n deleteWidget(element){\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT} ${element.name} ? ${AppConstants.MessageModal.DELETE_CAMERA_CONFIRMATION_MESSAGE2}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteD(element.id);\r\n }\r\n });\r\n }\r\n\r\n deleteD(id: number) {\r\n this.spinner.show();\r\n this.dashboardService.deleteWidget(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_WIDGET, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.widgets = this.widgets.filter(x => x.id != id);\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_WIDGET, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n}\r\n","\r\n","import { Component } from \"@angular/core\";\r\nimport { ThemeService } from \"src/app/services/theme/theme.service\";\r\nimport { AppConstants } from \"src/app/shared/constants/app.contants\";\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html'\r\n})\r\n\r\nexport class HomeComponent {\r\n\r\n constructor(private themeService: ThemeService) { \r\n /*if(localStorage.getItem(AppConstants.Session.THEME) == null || \r\n localStorage.getItem(AppConstants.Session.THEME) == \"\"){\r\n var enterpriseId = localStorage.getItem(AppConstants.Session.ENTERPRISE);\r\n alert(\"enterprise \"+enterpriseId);\r\n this.themeService.getTheme(parseInt(enterpriseId)).subscribe((response2 => {\r\n if(response2.theme != null){\r\n localStorage.setItem(AppConstants.Session.THEME, JSON.stringify(response2.theme));\r\n }\r\n }));\r\n }*/\r\n }\r\n}\r\n","\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit, Pipe } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { DigitalTwinsService } from 'src/app/services/digital-twins/digital-twins.service';\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\n\n@Component({\n selector: 'app-digital-twins',\n templateUrl: './digital-twins.component.html',\n styleUrls: ['./digital-twins.component.css']\n})\n@Pipe({ name: 'safe' })\nexport class DigitalTwinsComponent implements OnInit {\n url:SafeResourceUrl;\n enterpriseSelect: number = 0;\n headquarterSelect: number = 0;\n color1: string;\n color2: string;\n colorFont: string;\n colorFont2: string;\n enabledRead: number;\n enabledWrite: number;\n\n constructor(\n private spinner: NgxSpinnerService,\n private router: Router,\n private _sanitizer: DomSanitizer,\n private digitalTwinsService: DigitalTwinsService) {\n document.getElementById(\"titleHeaderNav\").innerHTML = 'IOT > Digital Twins';\n }\n\n ngOnInit() {\n this.setLS();\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\n this.getDigitalTwins();\n }\n\n setLS(){\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\n //validate Permisses menu\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\n var page = this.router.url.split(\"/\");\n var i = page[page.length-1];\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\n if(itemTag.length>0){\n this.enabledRead = itemTag[0].activeRead;\n this.enabledWrite = itemTag[0].activeWrite;\n }else{\n this.enabledRead = 0;\n this.enabledWrite = 0;\n }\n }\n\n getDigitalTwins() {\n\n this.spinner.show();\n this.digitalTwinsService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\n if(response.data.length>0){\n this.url = this._sanitizer.bypassSecurityTrustResourceUrl(response.data[0].url);\n }\n this.spinner.hide();\n },\n (error: HttpErrorResponse) => {\n this.spinner.hide();\n });\n \n }\n\n}\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Zonas\r\n \r\n \r\n {{zone.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Gateway\r\n \r\n \r\n {{gateway.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n Vista GrƔfica\r\n \r\n Vista Tabla\r\n \r\n |\r\n \r\n Mostrar Paneles\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ItemNombreEstadoNomenclaturaTipo de GrƔficoLugar de lectura
\r\n Actuador\r\n Sensor\r\n {{item.sensor}}{{item.stateSensor}}{{item.nomenclature}}{{item.graph}}{{item.sensorReadingPlace}}
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { SensorService } from 'src/app/services/sensor/sensor.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { SensorModalComponent } from 'src/app/shared/components/modals/sensor/sensor-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PanelSensorModalComponent } from 'src/app/shared/components/modals/panel-sensor-modal/panel-sensor-modal.component';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport 'fabric';\r\nimport { MatSlideToggleChange } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { PanelActuatorModalComponent } from 'src/app/shared/components/modals/panel-actuator-modal/panel-actuator-modal.component';\r\ndeclare const fabric: any;\r\n\r\n@Component({\r\n selector: 'app-location-iot',\r\n templateUrl: './location-iot.component.html',\r\n styleUrls: ['./location-iot.component.css']\r\n})\r\nexport class LocationIotComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['enterprise','headquarter','gateway','name','description','nomenclature','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n colorToggle = \"\";\r\n headquarters = [];\r\n gateways = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n headquarterSelect: number = 0;\r\n gatewaySelect: number = 0;\r\n zones = [];\r\n zoneSelect: number = 0;\r\n canvas: any;\r\n nameMarker: string = '';\r\n sensors = [];\r\n displayListStadistics = 'block';\r\n showSensorEdit = false;\r\n showGraphSensor = false;\r\n showPanels = false;\r\n sensorsModals = [];\r\n sensorName = \"\";\r\n sensorId = 0;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private enterpriseService: EnterpriseService,\r\n private spinner: NgxSpinnerService,\r\n private emitterService: EmitterService,\r\n private sensorService: SensorService,\r\n private headquarterService: HeadquarterService,\r\n private gatewayService: GatewayService,\r\n private panelIOTService: PanelIOTService,\r\n private router: Router,\r\n private zoneService: ZoneService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'IOT > ConfiguraciĆ³n de Panel';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.getZones();\r\n this.getCanvas();\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getCanvas() {\r\n this.canvas = new fabric.Canvas('canvas',{selection: false});\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.countMaxUserByEnterprise = this.enterprises.find(f => f.enterpriseId == data.value).maximumUsers;\r\n this.enterpriseSelect = data.value;\r\n this.gatewaySelect = 0;\r\n this.headquarterSelect = 0;\r\n var objects = this.canvas.getObjects();\r\n for(var i = 0; i < objects.length; i++){\r\n this.canvas.remove(objects[i]);\r\n }\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.sensors = [];\r\n this.getHeadquarters();\r\n }\r\n\r\n getEnterprises() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE)\r\n this.getEnterpriseById(this.enterpriseSelect);\r\n this.getList();\r\n }\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length > 0){\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n this.getZones();\r\n this.getGateways();\r\n }else{\r\n this.headquarters = [];\r\n this.gateways = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER);\r\n }\r\n }\r\n\r\n getGateways(){\r\n this.gatewayService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n if(this.headquarterSelect == 0){\r\n var gateways = response.data.filter(x => x.idEnterprise == this.enterpriseSelect);\r\n this.gateways = gateways;\r\n }else{\r\n var gateways = response.data.filter(x => x.idHeadquarter == this.headquarterSelect);\r\n this.gateways = gateways;\r\n }\r\n\r\n if(this.gateways.length > 0){\r\n this.gatewaySelect = gateways[0].id;\r\n }\r\n }else{\r\n this.gateways = [];\r\n }\r\n this.getList();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.gateways = [];\r\n });\r\n\r\n }\r\n\r\n getZones(){\r\n this.zoneService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n this.zones = response.data.filter(x => x.type == 2);\r\n if(this.zones.length>0){\r\n this.zoneSelect = this.zones[0].id;\r\n var image = this.zones[0].image;\r\n /* if(this.zones[0].idStorageTypeBlob == 1){ // Mode Local\r\n image = this.zones[0].storagePathBlob + image;\r\n }*/\r\n this.changeImage(image);\r\n this.headquarterSelect = this.zones[0].idHeadquarter;\r\n this.getGateways();\r\n } else {\r\n this.alertService.showMessage(\"No tiene zonas IOT registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n\r\n showView(event: MatSlideToggleChange){\r\n if(event.checked){\r\n this.displayListStadistics = 'none';\r\n }else{\r\n this.displayListStadistics = 'block';\r\n }\r\n }\r\n\r\n showTable(event: MatSlideToggleChange){\r\n //this.initPage = true;\r\n //this.showSensorsTable = event.checked;\r\n //event.checked = this.showSensorsTable ? false : true;\r\n this.showPanels = event.checked;\r\n if(event.checked){\r\n for (var i = 0; i < this.sensors.length; i++) {\r\n var obj = this.sensors[i];\r\n this.newGraphGroup(obj);\r\n this.canvas.renderAll();\r\n }\r\n }else{\r\n var objects = this.canvas.getObjects();\r\n for (var i = 0; i < this.sensors.length; i++) {\r\n var obj = this.sensors[i];\r\n for(var ii = 0; ii < objects.length; ii++){\r\n if(obj.id +\"_panel\" == objects[ii].id){\r\n this.canvas.remove(objects[ii]);\r\n }\r\n }\r\n }\r\n this.canvas.renderAll();\r\n }\r\n }\r\n\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n this.spinner.show();\r\n if(this.zoneSelect && this.gatewaySelect){\r\n var objects = this.canvas.getObjects();\r\n for(var i = 0; i < objects.length; i++){\r\n this.canvas.remove(objects[i]);\r\n }\r\n this.canvas.renderAll();\r\n var filter = {\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idZone: this.zoneSelect,\r\n idGateway: this.gatewaySelect\r\n }\r\n this.panelIOTService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.sensors = _.data;\r\n this.createMarkers();\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n this.spinner.hide();\r\n }\r\n\r\n createMarkers() {\r\n for (var i = 0; i < this.sensors.length; i++) {\r\n var obj = this.sensors[i];\r\n this.newGroup(obj);\r\n //add Graph\r\n if(this.showPanels){\r\n this.newGraphGroup(obj);\r\n }\r\n }\r\n }\r\n\r\n newGroup(obj) {\r\n\r\n\r\n var _this = this;\r\n if(obj.isActuator){\r\n var text = new fabric.Text(obj.nomenclature, {textBackgroundColor:\"gray\",fill: 'white', id: obj.id,fontSize: 15, originX: 'center', originY: 'center'});\r\n var img = \"\";\r\n if(obj.idActuatorType == 1){ // tanques\r\n var porc = (obj.value/obj.maxCapacity)*100;\r\n if(obj.value <= 0){\r\n img = \"../../../../../assets/actuator/tanque/tq_0.png\";\r\n }else if(porc <= 30 && porc > 0){\r\n img = \"../../../../../assets/actuator/tanque/tq_1.png\";\r\n }else if(porc <= 70 && porc > 30){\r\n img = \"../../../../../assets/actuator/tanque/tq_2.png\";\r\n }else if(porc < 100 && porc > 70){\r\n img = \"../../../../../assets/actuator/tanque/tq_3.png\";\r\n }else if(obj.value == obj.maxCapacity){\r\n img = \"../../../../../assets/actuator/tanque/tq_4.png\";\r\n }\r\n }else if(obj.idActuatorType == 2){//valvula\r\n img = \"../../../../../assets/actuator/valvula/\"+obj.value+\".png\";\r\n }\r\n \r\n new fabric.Image.fromURL(img,\r\n function(img) {\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n top: -10,\r\n id: obj.id,\r\n scaleX: 0.7,\r\n scaleY: 0.7\r\n });\r\n var group = new fabric.Group([text, img1], {\r\n left: obj.posX,\r\n top: obj.posY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id,\r\n isGraph: 0\r\n });\r\n console.log(\"actuadores \",group);\r\n _this.canvas.add(group);\r\n });\r\n }else{\r\n var text = new fabric.Text(obj.nomenclature, {textBackgroundColor:obj.stateColor,fill:this.color1, fontSize: 15, originX: 'center', originY: 'center',\r\n fontWeight: 'bold',});\r\n var textBoundingRect = text.getBoundingRect();\r\n var background = new fabric.Rect({\r\n top: textBoundingRect.top,\r\n left: textBoundingRect.left,\r\n width: textBoundingRect.width,\r\n height: textBoundingRect.height,\r\n fill: '#00000033',\r\n rx: 5,\r\n ry: 5,\r\n objectCaching: false,\r\n });\r\n\r\n new fabric.Image.fromURL(obj.pin,\r\n function(img) {\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n top: -10,\r\n scaleX: 0.15,\r\n scaleY: 0.15\r\n });\r\n var group = new fabric.Group([text,background, img1], {\r\n left: obj.posX,\r\n top: obj.posY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id,\r\n isGraph: 0\r\n });\r\n _this.canvas.add(group);\r\n });\r\n /*var group = new fabric.Group([background,text], {\r\n left: obj.posX,\r\n top: obj.posY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id,\r\n isGraph: 0\r\n });\r\n this.canvas.add(group);*/\r\n }\r\n\r\n }\r\n\r\n\r\n newGraphGroup(obj) {\r\n var text = new fabric.Text(\"Panel - \" + obj.nomenclature, { width: 70,\r\n height: 100,textBackgroundColor:'transparent',fill: 'white', fontSize: 15, originX: 'center', originY: 'center'});\r\n var textBoundingRect = text.getBoundingRect();\r\n var background = new fabric.Rect({\r\n top: textBoundingRect.top,\r\n left: textBoundingRect.left,\r\n width: 250,\r\n height: 150,\r\n fill: '#1bc0dbba'\r\n });\r\n\r\n var group = new fabric.Group([background,text],{\r\n width: 250,\r\n height: 100,\r\n borderColor: 'white',\r\n left: obj.posGraphX,\r\n top: obj.posGraphY + 50,\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id+\"_panel\",\r\n isGraph: 1\r\n });\r\n this.canvas.add(group);\r\n}\r\n\r\n\r\n newGraphSensor(obj) {\r\n var text = new fabric.Text(obj.nomenclature, {textBackgroundColor:'#1f5165',fill: 'white', fontSize: 15, originX: 'center', originY: 'center'});\r\n var group = new fabric.Group([text], {\r\n left: obj.posX,\r\n top: obj.posY + 50,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id\r\n });\r\n this.canvas.add(group);\r\n}\r\n\r\nopenAddActuatorModal(){\r\n let dialogRef = this.dialog.open(PanelActuatorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.ADD_ACTUATOR_PANEL,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n idZone: this.zoneSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n isAdminGys: this.isAdminGys,\r\n action: AppConstants.OperationType.ADD,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n}\r\n\r\n openAddModal() {\r\n this.save(true);\r\n // validate exist sensors\r\n this.sensorService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n if(this.headquarterSelect > 0){\r\n this.sensorsModals = response.data.filter(x => x.idEnterprise == this.enterpriseSelect && x.idHeadquarter == this.headquarterSelect && x.idGateway == this.gatewaySelect);\r\n }else{\r\n this.sensorsModals = response.data.filter(x => x.idEnterprise == this.enterpriseSelect && x.idGateway == this.gatewaySelect);\r\n }\r\n if(this.sensorsModals.length>0){\r\n let dialogRef = this.dialog.open(PanelSensorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.ADD_SENSOR_PANEL,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n idZone: this.zoneSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n isAdminGys: this.isAdminGys,\r\n action: AppConstants.OperationType.ADD,\r\n sensorName: this.sensors[0] != null ? this.sensors[0].nomenclatureInit : '',\r\n sensorId: this.sensors[0] != null ? this.sensors[0].id : 0,\r\n sensors: this.sensorsModals,\r\n obj:null},\r\n width: '800px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }else{\r\n this.alertService.showMessage(\"No tiene sensores registrados\", \"\", MessageSeverity.error);\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(\"No tiene sensores registrados\", \"\", MessageSeverity.error);\r\n });\r\n }\r\n\r\n getSensors(){\r\n this.spinner.show();\r\n\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(SensorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_SENSOR,\r\n action: AppConstants.OperationType.ADD,\r\n gateways: this.gateways,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n idGateway: this.gatewaySelect,\r\n isAdminGys: this.isAdminGys,\r\n sensors: this.sensorsModals,\r\n obj:data},\r\n width: '800px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }\r\n\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getZones();\r\n }\r\n\r\n changeGateway(data) {\r\n this.gatewaySelect = data.value;\r\n this.getList();\r\n }\r\n\r\n changeZone(data) {\r\n this.zoneSelect = data.value;\r\n var zone = this.zones.filter(x => x.id == data.value)[0];\r\n this.headquarterSelect = zone.idHeadquarter;\r\n this.getGateways();\r\n\r\n var image = zone.image;\r\n if(image){\r\n /* if(zone.idStorageTypeBlob == 1){ // Mode Local\r\n image = environment.pathFile + image;\r\n } */ \r\n this.changeImage(image);\r\n }else {\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n this.getList();\r\n }\r\n\r\n handleDrop() {\r\n this.listenMovement();\r\n }\r\n\r\n changeImage(urlImage : string) {\r\n fabric.Image.fromURL(urlImage, (img) => {\r\n img.set({\r\n opacity: 0.5,\r\n scaleX: this.canvas.width / img.width,\r\n scaleY: this.canvas.height / img.height,\r\n });\r\n this.canvas.setBackgroundImage(img, this.canvas.requestRenderAll.bind(this.canvas));\r\n });\r\n }\r\n\r\n\r\n listenMovement(){\r\n var _this = this;\r\n\r\n this.canvas.on(\"mouse:up\", function(e) {\r\n /*});\r\n this.canvas.on(\"object:moving\", function(e) {*/\r\n var obj = e.target;\r\n var canvas = obj.canvas;\r\n var top = obj.top;\r\n var left = obj.left;\r\n var pan_x = 0;//canvas.viewportTransform[4];\r\n var pan_y = 0;//canvas.viewportTransform[5];\r\n\r\n var c_width = 1000;//canvas.width;\r\n var c_height = 500;//canvas.height;\r\n var w = obj.width * obj.scaleX\r\n\r\n var left_adjust, right_adjust\r\n if(obj.originX == \"center\") {\r\n left_adjust = right_adjust = w / 2;\r\n } else {\r\n left_adjust = 0;\r\n right_adjust = w;\r\n }\r\n\r\n var h = obj.height * obj.scaleY;\r\n var top_adjust, bottom_adjust;\r\n if(obj.originY == \"center\") {\r\n top_adjust = bottom_adjust = h / 2;\r\n } else {\r\n top_adjust = 0;\r\n bottom_adjust = h;\r\n }\r\n var top_margin = 0;\r\n var bottom_margin = 0;\r\n var left_margin = 0;\r\n var right_margin = 0;\r\n\r\n var top_bound = top_margin + top_adjust - pan_y;\r\n var bottom_bound = c_height - bottom_adjust - bottom_margin - pan_y;\r\n var left_bound = left_margin + left_adjust - pan_x;\r\n var right_bound = c_width - right_adjust - right_margin - pan_x;\r\n\r\n if( w > c_width ) {\r\n obj.left=(left_bound);\r\n } else {\r\n obj.left=(Math.min(Math.max(left, left_bound), right_bound));\r\n }\r\n\r\n if( h > c_height ) {\r\n obj.top=(top_bound);\r\n } else {\r\n obj.top=(Math.min(Math.max(top, top_bound), bottom_bound));\r\n }\r\n var objects = _this.canvas.getObjects();\r\n _this.sensors.forEach(g => {\r\n if (g.id == obj.id || g.id + \"_panel\" == obj.id) {\r\n for(var i = 0; i < objects.length; i++){\r\n if (g.id == objects[i][\"id\"] || g.id + \"_panel\" == objects[i][\"id\"]) {\r\n _this.canvas.remove(objects[i]);\r\n }\r\n }\r\n if(obj.isGraph == 0){\r\n g.posX = obj.left;\r\n g.posY = obj.top;\r\n }else{\r\n g.posGraphX = obj.left;\r\n g.posGraphY = obj.top;\r\n }\r\n\r\n _this.canvas.renderAll();\r\n _this.newGroup(g);\r\n if(_this.showPanels){\r\n _this.newGraphGroup(g);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n save(newItem = false){\r\n if(!newItem){\r\n this.spinner.show();\r\n }\r\n this.panelIOTService.updateSensorPanelIOT(this.sensors).subscribe((response => {\r\n /*if(response.message == null){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_TITLE, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n }*/\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_TITLE, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n doubleClick(){\r\n var _this = this;\r\n /*this.canvas.on(\"mouse:down\", function(e) {\r\n if(!_this.showGraphSensor){\r\n _this.showGraphSensor = true;\r\n _this.showSensorEdit = true;\r\n var dataS = null;\r\n _this.sensors.forEach(g => {\r\n if (g.id == e.target.id) {\r\n dataS = g;\r\n }\r\n });\r\n //_this.newGraphSensor(dataS);\r\n _this.showGraphSensor = false;\r\n _this.showSensorEdit = false;\r\n }\r\n });*/\r\n this.canvas.on(\"mouse:dblclick\", function(e) {\r\n if(!_this.showSensorEdit){\r\n _this.showSensorEdit = true;\r\n var dataS = null;\r\n _this.sensors.forEach(g => {\r\n console.log(g.id+\"---------------\",e);\r\n if (g.id == e.target.id) {\r\n dataS = g;\r\n }\r\n });\r\n\r\n _this.sensorService.getListAll(_this.enterpriseSelect,_this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n if(_this.headquarterSelect > 0){\r\n _this.sensorsModals = response.data.filter(x => x.idEnterprise == _this.enterpriseSelect && x.idHeadquarter == _this.headquarterSelect && x.idGateway == _this.gatewaySelect);\r\n }else{\r\n _this.sensorsModals = response.data.filter(x => x.idEnterprise == _this.enterpriseSelect && x.idGateway == _this.gatewaySelect);\r\n }\r\n if(_this.sensorsModals.length>0){\r\n let dialogRef = _this.dialog.open(PanelSensorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_SENSOR_PANEL,\r\n idEnterprise: _this.enterpriseSelect,\r\n idHeadquarter: _this.headquarterSelect,\r\n idGateway: _this.gatewaySelect,\r\n enabledWrite: _this.enabledWrite,\r\n enabledRead: _this.enabledRead,\r\n idZone: _this.zoneSelect,\r\n isAdminGys: _this.isAdminGys,\r\n action: AppConstants.OperationType.UPDATE,\r\n obj:dataS,\r\n sensors:_this.sensorsModals\r\n },\r\n width: '800px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n _this.showSensorEdit = false;\r\n _this.getList();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n editSensor(element){\r\n this.sensorService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n if(this.headquarterSelect > 0){\r\n this.sensorsModals = response.data.filter(x => x.idEnterprise == this.enterpriseSelect && x.idHeadquarter == this.headquarterSelect && x.idGateway == this.gatewaySelect);\r\n }else{\r\n this.sensorsModals = response.data.filter(x => x.idEnterprise == this.enterpriseSelect && x.idGateway == this.gatewaySelect);\r\n }\r\n if(this.sensorsModals.length>0){\r\n\r\n let dialogRef = this.dialog.open(PanelSensorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_SENSOR_PANEL,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n idZone: this.zoneSelect,\r\n isAdminGys: this.isAdminGys,\r\n action: AppConstants.OperationType.UPDATE,\r\n obj:element,\r\n sensors:this.sensorsModals\r\n },\r\n width: '800px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.showSensorEdit = false;\r\n this.getList();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
Lista de GPS
\r\n
\r\n
\r\n\r\n
{{item.name}}
\r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { Map, LngLatBounds, LngLat, Marker } from 'mapbox-gl';\r\nimport mapboxgl from 'mapbox-gl';\r\nimport { MapboxService } from 'mapbox-gl';\r\nimport * as MapboxDirections from '@mapbox/mapbox-gl-directions/dist/mapbox-gl-directions';\r\nimport { AgmMap, MapsAPILoader } from '@agm/core';\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-panel-gps',\r\n templateUrl: './panel-gps.component.html',\r\n styleUrls: ['./panel-gps.component.css']\r\n})\r\nexport class PanelGPSComponent implements OnInit {\r\n @ViewChild('agmMap', { static: true }) agmMap: AgmMap;\r\n origin: number[] = [-77.04098497650233, -12.036230356017532]; // Coordenadas del origen (Longitud, Latitud)\r\n destination: number[] = [-77.92204403404787,-10.450804774012902]; // Coordenadas del destino (Longitud, Latitud) ,\r\n public markers: any[];\r\n apiKeyGM = \"AIzaSyB70sStdEOl_sHU-GiUwtWg-WP99eLf7GE\";\r\n //map: Map;\r\n map: Map;\r\n mapGM: any;\r\n latInicio = 37.7913;\r\n lngInicio = -122.3960;\r\n latDestino = 37.7749;\r\n lngDestino = -122.4194;\r\n agmMapOptions: any;\r\n zoom = 12;\r\n lat = 51.678418;\r\n lng = 7.809007;\r\n originGM = { lat: 19.4326, lng: -99.1332 };\r\n destinationGM = { lat: 20.6736, lng: -103.344 };\r\n centerLat = 51.678418;\r\n centerLng = 7.809007;\r\n originLat = 51.678418;\r\n originLng = 7.809007;\r\n destinationLat = 51.678418;\r\n destinationLng = 7.909007;\r\n waypoints = [];\r\n /*mapOptions: google.maps.MapOptions = {\r\n zoomControl: true,\r\n draggable: true\r\n };*/\r\n directionsService: any;\r\n directionsDisplay: any;\r\n devices = [{\r\n id: 1,name: \"Zona 1\", direction: { origin: [-77.04098497650233,-12.036230356017532], destination: [-77.92204403404787,-10.450804774012902]}\r\n },{\r\n id: 2,name: \"Zona 2\", direction: { origin: [-74.23392410751605, -15.86664539872316], destination: [-70.93588421856971, -17.196176750466424]}\r\n },{\r\n id: 3,name: \"Zona 3\", direction: { origin: [-78.58987956044771, -9.074790109996867], destination: [-77.03417288414991, -12.026692813166463]}\r\n },{\r\n id: 4,name: \"Zona 4\", direction: { origin: [-76.34158778467048, -6.478963173313768], destination: [-71.59596256358822, -16.42779012923858]}\r\n },{\r\n id: 5,name: \"Zona 5\", direction: { origin: [-70.25329741682341, -17.987965409885113], destination: [-80.68663397971476, -4.9136410156142025]}\r\n },{\r\n id: 6,name: \"Zona 6\", direction: { origin: [-78.79375332464798, -5.723345155627996], destination: [-75.21262622794198, -12.087424352346558]}\r\n }];\r\n selectedDirection: any;\r\n active = 0;\r\n directions: MapboxDirections;\r\n /*coordinates: number[][] = [\r\n [-99.1332, 19.4326], // Origen\r\n [-99.1689, 19.3969] // Destino\r\n ];*/\r\n constructor(private mapsAPILoader: MapsAPILoader){\r\n // this.active = this.devices[0].id;\r\n //this.configureMapsAPILoader();\r\n }\r\n/*\r\n private configureMapsAPILoader(): void {\r\n const apiKey = this.apiKeyGM; // Reemplaza con tu API Key de Google Maps\r\n\r\n this.mapsAPILoader.load().then(() => {\r\n (window as any)['google']['maps'].load(() => {\r\n const maps = (window as any)['google']['maps'];\r\n const mapsConfig = {\r\n apiKey: apiKey,\r\n libraries: ['places']\r\n };\r\n maps.createMap(document.getElementById('map'), mapsConfig);\r\n });\r\n });\r\n }*/\r\n\r\n selectDirection(data: any) {\r\n this.active = data.id;\r\n // this.selectedDirection = data.direction;\r\n console.log(\"devices X => \",data.direction.origin + \"---------\" + data.direction.destination);\r\n // this.getDirections(data.direction.origin, data.direction.destination);\r\n\r\n // Actualiza las direcciones de origen y destino\r\n this.directions.setOrigin(data.direction.origin);\r\n this.directions.setDestination(data.direction.destination);\r\n\r\n // ObtĆ©n y muestra la nueva ruta en el mapa\r\n // this.directions.query();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n /*this.mapsAPILoader.load().then(() => {\r\n const apiKey = 'AIzaSyB70sStdEOl_sHU-GiUwtWg-WP99eLf7GE';\r\n const script = document.createElement('script');\r\n script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}`;\r\n script.async = true;\r\n script.defer = true;\r\n script.onload = () => {\r\n this.initMap();\r\n };\r\n this.elementRef.nativeElement.appendChild(script);\r\n });*/\r\n }\r\n/*\r\n\r\n calculateAndDisplayRoute() {\r\n const request = {\r\n origin: this.originGM,\r\n destination: this.destinationGM,\r\n travelMode: 'DRIVING'\r\n };\r\n\r\n this.directionsService.route(request, (result: any, status: any) => {\r\n console.log(\"result\",result);\r\n console.log(\"status\",status);\r\n if (status === 'OK') {\r\n this.directionsDisplay.setDirections(result);\r\n }\r\n });\r\n }\r\n\r\n\r\n initMap() {\r\n const mapOptions = {\r\n center: { lat: -34.397, lng: 150.644 }, // Coordenadas del centro del mapa\r\n zoom: 8 // Nivel de zoom del mapa\r\n };\r\n\r\n const map = new google.maps.Map(this.elementRef.nativeElement.querySelector('#map'), mapOptions);\r\n\r\n const origin = new google.maps.Marker({\r\n position: { lat: -34.397, lng: 150.644 }, // Coordenadas del origen\r\n map: map,\r\n title: 'Origen'\r\n });\r\n\r\n const destination = new google.maps.Marker({\r\n position: { lat: -33.867, lng: 151.206 }, // Coordenadas del destino\r\n map: map,\r\n title: 'Destino'\r\n });\r\n }\r\n ngOnInit(){\r\n // GOOGLE MAPS\r\n\r\n this.mapsAPILoader.load().then(() => {\r\n this.agmMapOptions = {\r\n // Configura aquĆ­ las opciones del mapa\r\n zoom: 7,\r\n center: {\r\n lat: 19.4326,\r\n lng: -99.1332\r\n },\r\n apiKey: // Asigna la apiKey al atributo apiKey del componente agm-map\r\n };\r\n });\r\n\r\n }*/\r\n\r\n ngAfterViewInit() {\r\n\r\n // GOOGLE MAPS\r\n /*this.loadGoogleMaps().then(() => {\r\n this.setOriginAndDestination(); // Configura el origen y el destino\r\n });*/\r\n // MAP BOX\r\n mapboxgl.accessToken = 'pk.eyJ1Ijoic2ViYXN0aWFuOTZqcCIsImEiOiJjbGl4bjhpaGEwODB5M2xsMndvOWhxeXZqIn0.Yt4_ynMIZUiiJF4TS3exVA';\r\n\r\n this.map = new mapboxgl.Map({\r\n container: 'mapPanelGPS',\r\n style: 'mapbox://styles/mapbox/streets-v11',\r\n center: this.origin,\r\n zoom: 7\r\n });\r\n\r\n this.directions = new MapboxDirections({\r\n accessToken: mapboxgl.accessToken,\r\n unit: 'metric',\r\n profile: 'mapbox/driving',\r\n interactive: false, // Deshabilitar la interacciĆ³n con el control de direcciones\r\n controls: {\r\n inputs: false, // Deshabilitar los campos de entrada de ubicaciones\r\n instructions: false // Deshabilitar las instrucciones paso a paso\r\n }\r\n });\r\n\r\n this.map.addControl(this.directions, 'top-left');\r\n/*\r\n map.on('idle', () => {\r\n const directions = new MapboxDirections({\r\n accessToken: mapboxgl.accessToken,\r\n unit: 'metric',\r\n profile: 'mapbox/driving',\r\n interactive: false, // Deshabilitar la interacciĆ³n con el control de direcciones\r\n controls: {\r\n inputs: false, // Deshabilitar los campos de entrada de ubicaciones\r\n instructions: false // Deshabilitar las instrucciones paso a paso\r\n }\r\n });\r\n\r\n this.map.addControl(this.directions, 'top-left');\r\n map.addControl(directions);\r\n\r\n directions.setOrigin(this.origin);\r\n directions.setDestination(this.destination);\r\n\r\n map.on('click', (event) => {\r\n if (this.selectedDirection) {\r\n // Obtener las coordenadas del clic\r\n const lngLat = event.lngLat;\r\n\r\n // Obtener la direcciĆ³n seleccionada\r\n const direction = this.selectedDirection;\r\n console.log(\"direction new\",direction);\r\n // Actualizar las direcciones de inicio y fin\r\n directions.setOrigin(direction.origin);\r\n directions.setDestination(direction.destination);\r\n // Mostrar la ruta en el mapa\r\n // directions.query();\r\n }\r\n });\r\n/*\r\n // Agregar el icono de auto en la ruta\r\n const carIcon = document.createElement('div');\r\n carIcon.className = 'car-icon'; // Estilos CSS para el icono de auto\r\n\r\n const carMarker = new mapboxgl.Marker(carIcon)\r\n .setLngLat(this.originGM) // Coordenadas del auto\r\n .addTo(map);\r\n\r\n // Actualizar la posiciĆ³n del auto mientras se mueve la ruta\r\n directions.on('route', (e) => {\r\n const route = e.route[0];\r\n const coordinates = route.geometry.coordinates;\r\n\r\n let currentIndex = 0;\r\n\r\n const animateCar = () => {\r\n if (currentIndex < coordinates.length) {\r\n const lngLat = coordinates[currentIndex];\r\n carMarker.setLngLat(lngLat);\r\n\r\n currentIndex++;\r\n\r\n requestAnimationFrame(animateCar);\r\n }\r\n };\r\n\r\n animateCar();\r\n });\r\n });*/\r\n\r\n /*\r\n this.map = new Map({\r\n accessToken: 'pk.eyJ1Ijoic2ViYXN0aWFuOTZqcCIsImEiOiJjbGl4bjhpaGEwODB5M2xsMndvOWhxeXZqIn0.Yt4_ynMIZUiiJF4TS3exVA',\r\n container: 'mapPanelGPS',\r\n style: 'mapbox://styles/mapbox/streets-v11',\r\n center: this.origin,\r\n zoom: 7\r\n });\r\n\r\n this.map.on('idle', () => {\r\n this.map.addSource('route', {\r\n type: 'geojson',\r\n data: {\r\n type: 'Feature',\r\n properties: {},\r\n geometry: {\r\n type: 'LineString',\r\n coordinates: [this.origin, this.destination] // coordenadas de origen y destino\r\n }\r\n }\r\n });\r\n\r\n this.map.addLayer({\r\n id: 'route',\r\n type: 'line',\r\n source: 'route',\r\n layout: {\r\n 'line-join': 'round',\r\n 'line-cap': 'round'\r\n },\r\n paint: {\r\n 'line-color': '#888',\r\n 'line-width': 8\r\n }\r\n });\r\n });\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n /*this.map = new Map({\r\n accessToken: 'pk.eyJ1Ijoic2ViYXN0aWFuOTZqcCIsImEiOiJjbGl4bjhpaGEwODB5M2xsMndvOWhxeXZqIn0.Yt4_ynMIZUiiJF4TS3exVA',\r\n container: 'map',\r\n style: 'mapbox://styles/mapbox/streets-v11',\r\n zoom: 7,\r\n center: origin\r\n });\r\n\r\n const geoJSON = {\r\n type: 'Feature',\r\n properties: {},\r\n geometry: {\r\n type: 'LineString',\r\n coordinates: [this.origin,this.destination]//this.coordinates\r\n }\r\n };\r\n\r\n this.map.on('load', () => {\r\n alert(\"dasdas\");\r\n this.map.addSource('route', {\r\n type: 'geojson',\r\n data: geoJSON\r\n });\r\n\r\n this.map.addLayer({\r\n id: 'route',\r\n type: 'line',\r\n source: 'route',\r\n layout: {\r\n 'line-join': 'round',\r\n 'line-cap': 'round'\r\n },\r\n paint: {\r\n 'line-color': '#FF0000',\r\n 'line-width': 2\r\n }\r\n });\r\n });*/\r\n }\r\n\r\n /*loadGoogleMaps(): Promise {\r\n return new Promise((resolve, reject) => {\r\n // ObtĆ©n el apiKey desde tu fuente de datos\r\n const apiKey = 'AIzaSyB70sStdEOl_sHU-GiUwtWg-WP99eLf7GE';\r\n\r\n // Carga la API de Google Maps con el apiKey\r\n const script = document.createElement('script');\r\n script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}`;\r\n script.onload = resolve;\r\n script.onerror = reject;\r\n document.body.appendChild(script);\r\n });\r\n }*/\r\n\r\n /* setOriginAndDestination() {\r\n // Configura aquĆ­ el origen y el destino segĆŗn tus necesidades\r\n this.originGM = { lat: 19.4326, lng: -99.1332 }; // Origen de ejemplo\r\n this.destinationGM = { lat: 20.6736, lng: -103.344 }; // Destino de ejemplo\r\n }\r\n\r\n getDirections(origin: any, destination: any) {\r\n this.directionsService\r\n .getDirections([origin.lng, origin.lat], [destination.lng, destination.lat])\r\n .subscribe((directions: any) => {\r\n // AquĆ­ puedes manejar la respuesta de las direcciones\r\n console.log(directions);\r\n });\r\n }*/\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Zonas\r\n \r\n \r\n {{zone.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Gateway\r\n \r\n \r\n {{gateway.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n Mostrar Valores\r\n
\r\n \r\n \r\n
\r\n
\r\n Vista GrƔfica\r\n \r\n Vista Tabla\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
{{guardTotal}}
\r\n
{{guardTotalTQ}}
\r\n
\r\n \r\n
\r\n
\r\n {{guardTotalTQ}}\r\n
\r\n
\r\n
\r\n \r\n
{{contentTotal}}
\r\n
\r\n
\r\n Warrant x Tanque \r\n \r\n \r\n Total Warrant\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Densidad\r\n
\r\n
\r\n

\r\n \r\n Aceite

\r\n
\r\n
\r\n

\r\n \r\n Mezcla

\r\n
\r\n
\r\n
\r\n Estado\r\n
\r\n

Conectado

\r\n

Desconectado

\r\n

Error conexiĆ³n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ItemEstadoValor
{{item.nomenclature}}{{item.stateSensor}}{{item.value}}
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport { SensorService } from 'src/app/services/sensor/sensor.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { PanelSensorModalComponent } from 'src/app/shared/components/modals/panel-sensor-modal/panel-sensor-modal.component';\r\nimport { SensorModalComponent } from 'src/app/shared/components/modals/sensor/sensor-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport 'fabric';\r\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\r\ndeclare const fabric: any;\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { Router } from '@angular/router';\r\nimport { ActuatorDetailPanelModalComponent } from 'src/app/shared/components/modals/actuator-detail-panel-modal/actuator-detail-panel-modal.component';\r\nimport { ActuatorService } from 'src/app/services/actuator/actuator.service';\r\n\r\n@Component({\r\n selector: 'app-panel-iot',\r\n templateUrl: './panel-iot.component.html',\r\n styleUrls: ['./panel-iot.component.css']\r\n})\r\nexport class PanelIotComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['enterprise','headquarter','gateway','name','description','nomenclature','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n isAdminGys: boolean = false;\r\n countMaxUserByEnterprise: number = 0;\r\n enterprises = [];\r\n headquarters = [];\r\n gateways = [];\r\n subscription: Subscription;\r\n enterpriseSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n headquarterSelect: number = 0;\r\n gatewaySelect: number = 0;\r\n zones = [];\r\n zoneSelect: number = 0;\r\n canvas: any;\r\n nameMarker: string = '';\r\n sensors = [];\r\n showSensorEdit = false;\r\n showGraphSensor = false;\r\n showSensorsGraphs = false;\r\n showSensorsTable:boolean = true;\r\n displayListStadistics = 'block';\r\n dataStreaming = [];\r\n colorToggle = \"\";\r\n initPage = false;\r\n private _hubConnection: HubConnection;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n guardTotal: number = 0;\r\n guardTotalTQ: number = 0;\r\n contentTotal: number = 0;\r\n isGuardTotal = false;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n editSetting = false;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private enterpriseService: EnterpriseService,\r\n private spinner: NgxSpinnerService,\r\n private router: Router,\r\n private actuatorService: ActuatorService,\r\n private headquarterService: HeadquarterService,\r\n private gatewayService: GatewayService,\r\n private panelIOTService: PanelIOTService,\r\n private zoneService: ZoneService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'IOT > Panel de Actuadores y Sensores';\r\n /*var _this = this;\r\n const connection = this._hubConnection = new HubConnectionBuilder()\r\n .withUrl(environment.signalR +\"/api\")\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Information)\r\n .build();\r\n\r\n connection.on('eventHubIOT', (message) => {\r\n if(_this.showSensorsTable){\r\n var data = message.data;\r\n console.log(\"data eventHubIOT\",data);\r\n _this.dataStreaming = this.panelIOTService.getDataStreamingSensors();\r\n _this.dataStreaming.forEach(g => {\r\n if (data[g.nomenclature] != null) {\r\n g.value = data[g.nomenclature];\r\n }\r\n _this.panelIOTService.setDataStreamingSensors(_this.dataStreaming);\r\n _this.removeValueSensors();\r\n _this.createValueSensor();\r\n });\r\n }\r\n });\r\n\r\n connection.start()\r\n .catch(console.error);*/\r\n var _this = this;\r\n setInterval(()=>{\r\n console.log('update',_this.panelIOTService.getUpdatePanelIOT());\r\n if(_this.panelIOTService.getUpdatePanelIOT()){\r\n _this.dataStreaming = this.panelIOTService.getDataStreamingSensors();\r\n _this.dataStreaming.forEach(g => {\r\n //_this.panelIOTService.setDataStreamingSensors(_this.dataStreaming);\r\n _this.removeValueSensors();\r\n _this.getList();\r\n // _this.createValueSensor();\r\n _this.panelIOTService.setUpdatePanelIOT(0);\r\n });\r\n }\r\n },1000);\r\n }\r\n\r\n offEdit(){\r\n this.editSetting = this.editSetting == true ? false : true;\r\n if(this.editSetting){\r\n this.showGraph();\r\n }\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.panelIOTService.setDataStreamingSensors([]);\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getGuardTotalTQ();\r\n this.getZones();\r\n this.getCanvas();\r\n var _this = this;\r\n /*setInterval(function () {\r\n if(_this.showSensorsTable){\r\n _this.dataStreaming = _this.panelIOTService.getDataStreamingSensors();\r\n _this.removeValueSensors();\r\n _this.createValueSensor();\r\n }\r\n }, 1000);*/\r\n }\r\n\r\n setTheme(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n }\r\n\r\n getGuardTotalTQ(){\r\n this.actuatorService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n var actuators = response.data.filter(x => x.idActuatorType == 1);\r\n var totalguards = 0;\r\n actuators.forEach(x => {\r\n totalguards = totalguards + x.minCapacity;\r\n });\r\n this.guardTotalTQ = totalguards;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n showTable(event: MatSlideToggleChange){\r\n this.initPage = true;\r\n this.showSensorsTable = event.checked;\r\n event.checked = this.showSensorsTable ? false : true;\r\n if(!event.checked){\r\n this.createValueSensor();\r\n }else{\r\n this.removeValueSensors();\r\n }\r\n }\r\n\r\n showView(event: MatSlideToggleChange){\r\n this.initPage = true;\r\n if(event.checked){\r\n this.displayListStadistics = 'none';\r\n }else{\r\n this.displayListStadistics = 'block';\r\n }\r\n }\r\n\r\n getCanvas() {\r\n this.canvas = new fabric.Canvas('canvas',{\r\n selection: true,\r\n allowTouchScrolling: true,\r\n enableRetinaScaling: true\r\n });\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.countMaxUserByEnterprise = this.enterprises.find(f => f.enterpriseId == data.value).maximumUsers;\r\n this.enterpriseSelect = data.value;\r\n this.gatewaySelect = 0;\r\n this.headquarterSelect = 0;\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.getHeadquarters();\r\n }\r\n\r\n getEnterprises() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.spinner.hide();\r\n this.getHeadquarters();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE)\r\n this.getEnterpriseById(this.enterpriseSelect);\r\n this.getList();\r\n }\r\n }\r\n\r\n getHeadquarters(){\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length > 0){\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n this.spinner.hide();\r\n this.getZones();\r\n this.getGateways();\r\n }else{\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.spinner.hide();\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.gateways = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER);\r\n }\r\n }\r\n\r\n getGateways(){\r\n this.gatewayService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n if(this.headquarterSelect == 0){\r\n var gateways = response.data.filter(x => x.idEnterprise == this.enterpriseSelect);\r\n this.gateways = gateways;\r\n }else{\r\n var gateways = response.data.filter(x => x.idEnterprise == this.enterpriseSelect && x.idHeadquarter == this.headquarterSelect);\r\n this.gateways = gateways;\r\n }\r\n if(this.gateways.length > 0){\r\n this.isGuardTotal = this.gateways[0].isGuardTotal == 1 ? true : false;\r\n this.gatewaySelect = this.gateways[0].id;\r\n this.guardTotal = gateways[0].guardTotal;\r\n }\r\n }else{\r\n this.gateways = [];\r\n }\r\n this.getList();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.gateways = [];\r\n });\r\n }\r\n\r\n showGuardTank(){\r\n let dialogRef = this.dialog.open(ActuatorDetailPanelModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.LIST_ACTUATOR_PANEL_IOT,\r\n action: AppConstants.OperationType.UPDATE,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color: this.color1,\r\n colorFont: this.color2,\r\n obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n if (_.result == true) {\r\n this.guardTotalTQ = _.totalguard;\r\n }\r\n });\r\n }\r\n\r\n getZones(){\r\n this.zoneService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n this.zones = response.data.filter(x => x.type == 2);\r\n if(this.zones.length>0){\r\n this.zoneSelect = this.zones[0].id;\r\n var image = this.zones[0].image;\r\n if(this.zones[0].idStorageFile == 1){ // Mode Local\r\n image = environment.pathFile + image;\r\n }\r\n this.changeImage(image);\r\n this.headquarterSelect = this.zones[0].idHeadquarter;\r\n this.getGateways();\r\n } else {\r\n this.alertService.showMessage(\"No tiene zonas IOT registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n getEnterpriseById(enterpriseId: number) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n this.countMaxUserByEnterprise = response.maximumUsers;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n this.spinner.show();\r\n if(this.zoneSelect && this.gatewaySelect){\r\n var objects = this.canvas.getObjects();\r\n for(var i = 0; i < objects.length; i++){\r\n this.canvas.remove(objects[i]);\r\n }\r\n this.canvas.renderAll();\r\n var filter = {\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idZone: this.zoneSelect,\r\n idGateway: this.gatewaySelect\r\n }\r\n var contentTotal = 0;\r\n this.panelIOTService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.sensors = _.data;\r\n this.dataStreaming = _.data;\r\n this.panelIOTService.setDataStreamingSensors(this.sensors);\r\n this.showSensorsGraphs = true;\r\n this.createMarkers();\r\n this.createValueSensor();\r\n var _this = this;\r\n _.data.forEach(x =>{\r\n if(x.idActuatorType == 1){ //TANQUE\r\n contentTotal += parseFloat(x.value);\r\n }\r\n });\r\n _this.contentTotal = contentTotal;\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n this.spinner.hide();\r\n }\r\n\r\n createMarkers() {\r\n for (var i = 0; i < this.sensors.length; i++) {\r\n var obj = this.sensors[i];\r\n this.newGroup(obj);\r\n }\r\n }\r\n\r\n createValueSensor() {\r\n console.log(\"crear valores streaming\",this.dataStreaming.length);\r\n for (var i = 0; i < this.dataStreaming.length; i++) {\r\n var obj = this.dataStreaming[i];\r\n if(obj.idActuatorType != 2){ // no valvulas\r\n this.newValue(obj);\r\n }\r\n }\r\n }\r\n\r\n removeValueSensors(){\r\n var objects = this.canvas.getObjects();\r\n for (var i = 0; i < this.dataStreaming.length; i++) {\r\n var obj = this.dataStreaming[i];\r\n for(var ii = 0; ii < objects.length; ii++){\r\n if(obj.id +\"_value\" == objects[ii].id){\r\n this.canvas.remove(objects[ii]);\r\n }\r\n }\r\n }\r\n this.canvas.renderAll();\r\n }\r\n\r\n newValue(obj) {\r\n if(obj.value == null || obj.value == undefined){ obj.value = 0; }\r\n //actuator\r\n if(obj.isActuator){\r\n var salveGuarda = \"\";\r\n if(!this.isGuardTotal){\r\n salveGuarda = \"\\n S:\" + obj.minCapacity+ \" TN\";\r\n }\r\n var text = new fabric.Text( \"V:\"+ obj.value.toString() + \"TN (\" + ((((parseFloat(obj.value.toString())/100) / (parseFloat(obj.maxCapacity)/100)))*100).toFixed(2) +\"%) \\n CM:\" + obj.maxCapacity + \" TN\"+salveGuarda,\r\n {\r\n selection: false,\r\n selectable: false,\r\n textBorderColor: this.color1,\r\n textShadow: this.color1,\r\n backgroundColor: 'transparent',\r\n fontSize: 12,\r\n fontWeight: 'bold',\r\n textBackgroundColor:'transparent',\r\n fill: this.color1,\r\n //fontSize: 20,\r\n strokeWidth: 0,\r\n selectionRadius: 20,\r\n originX: 'center',\r\n originY: 'center'\r\n }\r\n );\r\n\r\n var textBoundingRect = text.getBoundingRect();\r\n var background = new fabric.Rect({\r\n top: textBoundingRect.top,\r\n left: textBoundingRect.left,\r\n width: textBoundingRect.width,\r\n height: textBoundingRect.height,\r\n fill: 'transparent',//'#00000033',\r\n rx: 5,\r\n ry: 5,\r\n objectCaching: false,\r\n });\r\n var group = new fabric.Group([background,text], {\r\n left: parseFloat(obj.posX)-100,\r\n top: parseFloat(obj.posY)+20,\r\n borderColor: this.color1,\r\n strokeWidth: 0,\r\n selectionRadius: 20,\r\n rx: 5,\r\n ry: 5,\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id+\"_value\",\r\n selectable: false,\r\n selection: false,\r\n isGraph: 0,\r\n fill:'red'\r\n });\r\n this.canvas.add(group);\r\n\r\n\r\n /* densidad */\r\n\r\n var imgDensity = \"../../../../../assets/actuator/density/aceite.png\";\r\n var _this= this;\r\n if(obj.density != obj.contentDensity){ imgDensity = \"../../../../../assets/actuator/density/agua.png\";}\r\n new fabric.Image.fromURL(imgDensity,\r\n function(img) {\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n top: -10,\r\n scaleX: 0.5,\r\n scaleY: 0.5\r\n });\r\n var group = new fabric.Group([img1], {\r\n left: parseFloat(obj.posX)-80,\r\n top: parseFloat(obj.posY)+80,\r\n borderColor: 'transparent',\r\n strokeWidth: 0,\r\n selectionRadius: 20,\r\n rx: 5,\r\n ry: 5,\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id+\"_value\",\r\n selectable: false,\r\n selection: false,\r\n isGraph: 0\r\n });\r\n _this.canvas.add(group);\r\n });\r\n /* var colorDensity = \"rgb(252, 235, 0)\";\r\n if(obj.density != obj.contentDensity){ colorDensity = \"blue\";}\r\n var density = new fabric.Circle({\r\n radius: 5,\r\n fill: colorDensity,\r\n stroke: colorDensity,\r\n strokeWidth: 5\r\n }); \r\n var group2 = new fabric.Group([density], {\r\n \r\n });\r\n this.canvas.add(group2);*/\r\n }else{//sensor\r\n var _this = this;\r\n var text = new fabric.Text(obj.nomenclature, {\r\n textBorderColor: this.color1,\r\n textShadow: this.color1,\r\n backgroundColor: 'transparent',\r\n fontSize: 15,\r\n fontWeight: 'bold',\r\n textBackgroundColor:'transparent',\r\n fill: this.color1,\r\n originX: 'center', \r\n originY: 'center',});\r\n var textBoundingRect = text.getBoundingRect();\r\n var background = new fabric.Rect({\r\n top: textBoundingRect.top,\r\n left: textBoundingRect.left,\r\n width: textBoundingRect.width,\r\n height: textBoundingRect.height,\r\n fill: '#00000033',\r\n rx: 5,\r\n ry: 5,\r\n objectCaching: false,\r\n });\r\n\r\n new fabric.Image.fromURL(obj.pin,\r\n function(img) {\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n top: -10,\r\n scaleX: 0.15,\r\n scaleY: 0.15\r\n });\r\n var group = new fabric.Group([text,background, img1], {\r\n /* left: obj.posX,\r\n top: obj.posY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id,\r\n isGraph: 0*/\r\n left: parseFloat(obj.posX)+10,\r\n top: parseFloat(obj.posY)+20,\r\n borderColor: 'transparent',\r\n strokeWidth: 0,\r\n selectionRadius: 20,\r\n rx: 5,\r\n ry: 5,\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id+\"_value\",\r\n selectable: false,\r\n selection: false,\r\n isGraph: 0\r\n });\r\n _this.canvas.add(group);\r\n });\r\n /*\r\n var group = new fabric.Group([background,text], {\r\n \r\n });\r\n this.canvas.add(group);*/\r\n\r\n var text2 = new fabric.Text(obj.value.toString(),\r\n {\r\n backgroundColor: 'transparent',\r\n selection: false,\r\n selectable: false,\r\n textBorderColor: this.color1,\r\n textShadow: this.color1,\r\n textBackgroundColor:'transparent',\r\n fill: this.color1,\r\n fontSize: 20,\r\n strokeWidth: 0,\r\n selectionRadius: 20,\r\n originX: 'center',\r\n originY: 'center'\r\n }\r\n );\r\n var group2 = new fabric.Group([text2], {\r\n left: parseFloat(obj.posX)+20,\r\n top: parseFloat(obj.posY)-8,\r\n borderColor: 'transparent',\r\n strokeWidth: 0,\r\n selectionRadius: 20,\r\n rx: 5,\r\n ry: 5,\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id+\"_value\",\r\n selectable: false,\r\n selection: false,\r\n isGraph: 0\r\n });\r\n this.canvas.add(group2);\r\n }\r\n\r\n }\r\n\r\n newGroup(obj) {\r\n // text = new fabric.Text(obj.nomenclature, {selection: false,selectable: false,textBackgroundColor:obj.stateColor,fill: 'white', fontSize: 15, originX: 'center', originY: 'center'});\r\n\r\n var _this = this;\r\n if(obj.isActuator){\r\n var color = \"\";\r\n if(obj.state == 0){\r\n color = \"green\";\r\n }else if(obj.state == 1){\r\n color = \"gray\";\r\n }else if(obj.state == 2){\r\n color = \"red\";\r\n }\r\n var text = new fabric.Text(obj.nomenclature, {\r\n \r\n textBorderColor: color,\r\n textShadow: color,\r\n backgroundColor: 'transparent',\r\n fontSize: 15,\r\n fontWeight: 'bold',\r\n textBackgroundColor:'transparent',\r\n fill: color,\r\n originX: 'center', \r\n originY: 'center'});\r\n var img = \"\";\r\n\r\n \r\n /* if(obj.value != \"\" && obj.value != null && obj.imageActuator2 != \"\" && obj.imageActuator2 != null){\r\n if(obj.value == \"1\"){\r\n img = obj.imageActuator2;\r\n }\r\n }*/\r\n var scale = 0.7;\r\n if(obj.idActuatorType == 1){ // tanques\r\n var porc = Math.round((obj.value*100)/obj.maxCapacity);\r\n if(porc <= 0){\r\n img = \"../../../../../assets/actuator/tanque/tq_0.png\";\r\n }else if(porc <= 25 && porc > 0){\r\n img = \"../../../../../assets/actuator/tanque/tq_1.png\";\r\n }else if(porc <= 50 && porc > 25){\r\n img = \"../../../../../assets/actuator/tanque/tq_2.png\";\r\n }else if(porc <= 75 && porc > 50){\r\n img = \"../../../../../assets/actuator/tanque/tq_3.png\";\r\n }else if(porc <= 99 && porc > 75){\r\n img = \"../../../../../assets/actuator/tanque/tq_4.png\";\r\n }else if(porc >= 100){\r\n img = \"../../../../../assets/actuator/tanque/tq_5.png\";\r\n }\r\n }else if(obj.idActuatorType == 2){//valvula\r\n scale = 0.5;\r\n img = \"../../../../../assets/actuator/valvula/\"+obj.state+\".png\";\r\n }\r\n\r\n var opacity = 1;\r\n /* if(obj.state == 4){\r\n opacity = 0.3;\r\n }*/\r\n\r\n new fabric.Image.fromURL(img,\r\n function(img) {\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n top: -10,\r\n scaleX: scale,\r\n scaleY: scale\r\n });\r\n var group = new fabric.Group([text, img1], {\r\n left: obj.posX,\r\n top: obj.posY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n selectable: false,\r\n selection: false,\r\n opacity: opacity,\r\n id: obj.id,\r\n isGraph: 0\r\n });\r\n _this.canvas.add(group);\r\n _this.nameMarker = '';\r\n });\r\n }else{\r\n var _this = this;\r\n /* var text = new fabric.Text(obj.nomenclature, {textBackgroundColor:obj.stateColor,fill: 'white', fontSize: 15, originX: 'center', originY: 'center'});\r\n \r\n var group = new fabric.Group([text], {\r\n left: obj.posX,\r\n top: obj.posY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id,\r\n isGraph: 0\r\n });\r\n this.canvas.add(group);*/\r\n }\r\n /*\r\n var group = new fabric.Group([text], {\r\n left: obj.posX,\r\n top: obj.posY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id,\r\n selectable: false,\r\n selection: false,\r\n isGraph: 0\r\n });\r\n this.canvas.add(group);*/\r\n }\r\n\r\n\r\n newGraphSensor(obj) {\r\n var text = new fabric.Text(obj.nomenclature, {textBackgroundColor:'#1f5165',fill: 'white', fontSize: 15, originX: 'center', originY: 'center'});\r\n var group = new fabric.Group([text], {\r\n left: obj.posX,\r\n top: obj.posY + 50,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n id: obj.id\r\n });\r\n this.canvas.add(group);\r\n}\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(SensorModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_SENSOR,\r\n action: 0,\r\n gateways: this.gateways,\r\n headquarters: this.headquarters,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n isAdminGys: this.isAdminGys,\r\n obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getGateways();\r\n this.getZones();\r\n }\r\n\r\n changeGateway(data) {\r\n this.gatewaySelect = data.value;\r\n this.getList();\r\n }\r\n\r\n changeZone(data) {\r\n this.zoneSelect = data.value;\r\n var zone = this.zones.filter(x => x.id == this.zoneSelect);\r\n if(zone.length>0)\r\n {\r\n this.headquarterSelect = zone[0].idHeadquarter;\r\n this.getGateways();\r\n\r\n var image = zone[0].image;\r\n if(image){\r\n if(zone[0].idStorageFile == 1){ // Mode Local\r\n image = environment.pathFile + image;\r\n }\r\n this.changeImage(image);\r\n }else {\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n }else {\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n\r\n this.getList();\r\n }\r\n\r\n changeImage(urlImage : string) {\r\n fabric.Image.fromURL(urlImage, (img) => {\r\n img.set({\r\n opacity: 0.5,\r\n scaleX: this.canvas.width / img.width,\r\n scaleY: this.canvas.height / img.height,\r\n });\r\n this.canvas.setBackgroundImage(img, this.canvas.requestRenderAll.bind(this.canvas));\r\n });\r\n }\r\n\r\n openModal(id){\r\n document.getElementById('actuactorPanel'+id).style.display=\"initial\";\r\n }\r\n\r\n\r\n showGraph(){\r\n var _this = this;\r\n this.canvas.on(\"mouse:up\", function(e) {\r\n if(!_this.showGraphSensor && e.target != undefined && e.target != null){\r\n _this.showGraphSensor = true;\r\n _this.showSensorEdit = true;\r\n var dataS = null;\r\n _this.sensors.forEach(g => {\r\n if ((g.id == e.target.id || g.id + \"_value\" == e.target.id) && g.state == 0) {\r\n dataS = g;\r\n _this.openModal(g.id);\r\n }\r\n });\r\n _this.showGraphSensor = false;\r\n _this.showSensorEdit = false;\r\n }\r\n });\r\n }\r\n\r\n save(){\r\n var data = {\r\n isGuardTotal: this.isGuardTotal == true ? 1:0,\r\n guardTotal: this.guardTotal,\r\n idGateway: this.gatewaySelect,\r\n idUser: +localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.gatewayService.updateSettingGateway(data).subscribe((response) => {\r\n if(response.message == \"\" || !response.message){\r\n this.alertService.showMessage(\"Se actualizo el total guarda correctamente\", \"\", MessageSeverity.success);\r\n this.getList();\r\n }else{\r\n this.alertService.showMessage(\"OcurriĆ³ un problema al actualizar el guarda\", \"\", MessageSeverity.error);\r\n }\r\n });\r\n }\r\n\r\n isGuardTotalSwitch(event: MatSlideToggleChange){\r\n if(event.checked){\r\n this.isGuardTotal = true;\r\n }else{\r\n this.isGuardTotal = false;\r\n }\r\n }\r\n}\r\n","
\n \n \n
\n
\n
\n \n \n
\n
\n \n Fecha inicio\n \n \n \n \n La fecha de Inicio es obligatorio\n \n \n La fecha de Inicio no tiene el formato correcto\n \n \n
\n
\n \n Fecha Fin\n \n \n \n \n La fecha Final es obligatorio\n \n \n La fecha Final no tiene el formato correcto\n \n \n
\n
\n \n Hora inicio\n \n \n La Hora Inicial es obligatorio\n \n \n La Hora Inicial tiene formato incorrecto\n \n \n
\n
\n \n Hora fin\n \n \n La Hora Final es obligatorio\n \n \n La Hora Final tiene formato incorrecto\n \n \n
\n
\n
\n \n
\n \n Zonas\n \n 1\">\n Todas\n \n \n {{zone.name}}\n \n \n \n
\n
\n \n Gateway\n \n 1\">\n Todos\n \n \n {{gateway.name}}\n \n \n \n
\n
\n \n \n \n
\n
0\" >\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n
# \n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\n Sede {{element.headquarter}} Zona {{element.zone}} Item {{element.actuator}} Valor {{element.value}} Fecha CreaciĆ³n {{element.date}} Creado por {{element.createdBy}} Fecha Inicio {{element.startDate}} Fecha Fin {{element.finishDate}} Estado {{element.state}}
\n \n \n
\n
\n ","import { DatePipe } from '@angular/common';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ZoneService } from 'src/app/services/zone/zone.service';\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material';\nimport { APP_DATE_FORMATS, AppDateAdapter } from 'src/app/shared/helpers/format-datepicker';\n@Component({\n selector: 'app-report-activity-actuator',\n templateUrl: './report-activity-actuator.component.html',\n styleUrls: ['./report-activity-actuator.component.css'],\n providers: [\n {provide: DateAdapter, useClass: AppDateAdapter},\n {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS}\n ]\n})\nexport class ReportActivityActuatorComponent implements OnInit {\n\n cameraSelect: number;\n cameraAlertType = [];\n reportForm: FormGroup;\n myDate = new Date();\n alertSelect: number = 0;\n date = new Date();\n dateF = new Date();\n timeI: string;\n timeF: string;\n dateV:string;\n isAdministrator=false;\n dateIView:string;\n dateFView:string;\n\n dropdownList = [];\n selectedItems = [];\n dropdownSettings:IDropdownSettings;\n chartItem:any;\n\n labelsChart = [];\n dataChart:any;\n isAdminGys: boolean = false;\n enterprises = [];\n headquarters = [];\n gateways = [];\n enterpriseSelect: number = 0;\n pageEvent: PageEvent;\n pageIndex: number = 0;\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\n length: number = 0;\n page: number = 1;\n headquarterSelect: number = 0;\n gatewaySelect: number = 0;\n zones = [];\n zoneSelect: number = 0;\n sensors = [];\n\n dataSource = new MatTableDataSource();\n displayedColumns: string[] = ['index','headquarter', 'zone','actuator', 'value','createdAt', 'createdBy', 'startDate', 'finishDate', 'state'];\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild('paginatorTop', { static: false }) paginatorTop: MatPaginator;\n @ViewChild('paginatorBottom', { static: false }) paginatorBottom: MatPaginator;\n color1: string;\n color2: string;\n colorFont: string;\n colorFont2: string;\n\n constructor(\n private datePipe: DatePipe,\n public dialog: MatDialog,\n private AlertService: AlertService,\n private formBuilder: FormBuilder,\n private panelIOTService: PanelIOTService,\n private headquarterService: HeadquarterService,\n private spinner: NgxSpinnerService,\n private enterpriseService: EnterpriseService,\n private gatewayService: GatewayService,\n private zoneService: ZoneService\n ) {\n document.getElementById(\"titleHeaderNav\").innerHTML = 'IOT > Reporte de Actividades';\n this.dropdownSettings = {\n singleSelection: false,\n idField: 'id',\n textField: 'nomenclature',\n tooltipField: 'Sensor',\n selectAllText: 'Todos',\n unSelectAllText: 'Limpiar',\n searchPlaceholderText: 'Buscar',\n noFilteredDataAvailablePlaceholderText: 'Item no encontrado',\n itemsShowLimit: 6,\n allowSearchFilter: false, //input search\n };\n }\n\n ngOnInit(): void {\n this.setTheme();\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\n this.createForm();\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\n this.getZonesList()\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\n this.dataSource.paginator = this.paginator;\n }\n\n setTheme(){\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\n }\n\n ngAfterContentChecked(): void {\n if (this.paginatorTop) {\n this.paginatorBottom.length = this.paginatorTop.length;\n }\n}\n\nhandlePaginatorTop(e): void {\n const { pageSize, pageIndex } = e;\n this.paginatorTop.pageSize = pageSize\n this.paginatorTop.pageIndex = pageIndex;\n this.paginatorTop.page.emit(e);\n}\n\nhandlePaginatorBottom(e): void {\n const { pageSize, pageIndex } = e;\n this.paginatorBottom.pageSize = pageSize\n this.paginatorBottom.length = this.paginatorTop.length;\n this.paginatorBottom.pageIndex = pageIndex;\n }\n\n createForm(){\n this.reportForm = this.formBuilder.group({\n startDateReport: ['', [Validators.required]],\n endDateReport: ['', [Validators.required]],\n startTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\n endTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\n idEnterprise: ['', [Validators.required]],\n idHeadquarter: ['', [Validators.required]],\n idGateway: ['', [Validators.required]],\n idZone: ['', [Validators.required]],\n idSensors: ['']\n });\n }\n\n getEnterprises() {\n this.spinner.show();\n if (this.isAdminGys) {\n this.enterpriseService.getEnterprises().subscribe((response) => {\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\n this.getHeadquarters();\n },\n (error: HttpErrorResponse) => {\n this.spinner.hide();\n });\n } else {\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE);\n this.getHeadquarters();\n }\n }\n\n _keyUp(event: any) {\n let charCode = (event.which) ? event.which : event.keyCode;\n console.log(event.keyCode)\n if (charCode != 46 && charCode != 58 && charCode > 31\n && (charCode < 48 || charCode > 57)) {\n return false;\n }\n }\n\n\n get f() { return this.reportForm.controls; }\n onItemSelect(item: any) {\n console.log(item);\n }\n onSelectAll(items: any) {\n console.log(items);\n }\n\n closeModal(){\n this.dialog.closeAll();\n }\n\n search(){\n var idSensors = [];\n this.selectedItems.forEach(x => {\n idSensors.push(x.id);\n });\n\n if(idSensors.length == 0){\n this.AlertService.showMessage(\n AppConstants.MessageModal.FILTER_SENSOR_VALIDATE,\"\",\n MessageSeverity.error);\n return false;\n }\n\n if(this.date > this.dateF){\n this.AlertService.showMessage(\n AppConstants.MessageModal.FILTER_DATES_VALIDATE,\"\",\n MessageSeverity.error);\n return false\n }\n\n var filter = {\n dateI: this.reportForm.value[\"startDateReport\"],\n dateF: this.reportForm.value[\"endDateReport\"],\n timeI: this.timeI,\n timeF: this.timeF,\n idEnterprise: this.enterpriseSelect,\n idHeadquarter: this.headquarterSelect,\n idGateway: this.gatewaySelect,\n idZone: this.zoneSelect,\n idSensors: idSensors\n };\n filter.dateI = this.datePipe.transform(filter.dateI, 'yyyy-MM-dd');\n filter.dateF = this.datePipe.transform(filter.dateF, 'yyyy-MM-dd');\n this.spinner.show();\n this.panelIOTService.reportActivity(filter).subscribe(\n result => {\n if(result.error == null){\n this.dataSource.data = result.data;\n if(result.data.length == 0){\n this.AlertService.showMessage(\"No tiene registros\", \"\", MessageSeverity.error);\n }\n }\n this.spinner.hide();\n },\n (error: HttpErrorResponse) => {\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\n });\n }\n\n changeEnterprise(data) {\n this.enterpriseSelect = data.value;\n this.getHeadquarters();\n }\n\n getHeadquarters() {\n if (this.isAdminGys) {\n this.spinner.show();\n this.headquarterService.getListAll().subscribe((response) => {\n if(response.error == null){\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\n if(this.headquarters.length == 1){\n this.headquarterSelect = this.headquarters[0][\"id\"];\n }else{\n this.headquarterSelect = 0;\n }\n this.getZonesList()\n }else{\n this.headquarters = [];\n }\n this.spinner.hide();\n },\n (error: HttpErrorResponse) => {\n this.headquarters = [];\n this.spinner.hide();\n });\n } else {\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\n // this.getList(1);\n }\n }\n\n getGateways(){\n this.gatewayService.getListAll().subscribe((_) => {\n if(_.error == null){\n if(this.headquarterSelect == 0){\n this.gateways = _.data.filter(x => x.idEnterprise == this.enterpriseSelect);\n }else{\n this.gateways = _.data.filter(x => x.idEnterprise == this.enterpriseSelect && x.idHeadquarter == this.headquarterSelect);\n }\n\n if(this.gateways.length == 1){\n this.gatewaySelect = this.gateways[0][\"id\"];\n }else{\n this.gatewaySelect = 0;\n }\n }\n this.getSensors();\n });\n }\n\n getZonesList() {\n this.zoneService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\n if(response.error == null){\n this.zones = response.data.filter(x => x.type == 2);\n if(this.zones.length == 1){\n this.zoneSelect = this.zones[0][\"id\"];\n }else if(this.zones.length>1){\n this.zoneSelect = 0;\n }else{\n this.AlertService.showMessage(\"No tiene zonas IOT registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\n }\n }\n this.getGateways();\n this.spinner.hide();\n },\n (error: HttpErrorResponse) => {\n this.spinner.hide();\n });\n }\n\n getSensors(){\n var filter = {\n idEnterprise: this.enterpriseSelect,\n idHeadquarter: this.headquarterSelect,\n idZone: this.zoneSelect,\n idGateway: this.gatewaySelect\n }\n this.spinner.show();\n this.selectedItems = [];\n this.panelIOTService.getList(filter).subscribe((_) => {\n this.sensors = [];\n if(_.error == null){\n var s = _.data.filter(x => x.idActuatorType == 1);\n this.sensors=this.sensors.concat(s);\n console.log(\"sensors\",this.sensors);\n }\n this.spinner.hide();\n });\n }\n\n changeGateway(data) {\n this.gatewaySelect = data.value;\n this.getSensors();\n //this.getList(1);\n }\n\n changeZone(data) {\n this.zoneSelect = data.value;\n var zone = this.zones.filter(x => x.id == data.value)[0];\n this.headquarterSelect = zone.idHeadquarter;\n this.getGateways();\n this.getSensors();\n }\n\n changeHeadquarter(data) {\n this.headquarterSelect = data.value;\n this.getZonesList();\n }\n\n}\n\n","
\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Fecha inicio\r\n \r\n \r\n \r\n \r\n La fecha de Inicio es obligatorio\r\n \r\n \r\n La fecha de Inicio no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Fecha Fin\r\n \r\n \r\n \r\n \r\n La fecha Final es obligatorio\r\n \r\n \r\n La fecha Final no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora inicio\r\n \r\n \r\n La Hora Inicial es obligatorio\r\n \r\n \r\n La Hora Inicial tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora fin\r\n \r\n \r\n La Hora Final es obligatorio\r\n \r\n \r\n La Hora Final tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Zonas\r\n \r\n 1\">\r\n Todas\r\n \r\n \r\n {{zone.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Gateway\r\n \r\n 1\">\r\n Todos\r\n \r\n \r\n {{gateway.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
0\" >\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Sede {{element.headquarter}} Zona {{element.zone}} Item {{element.panelIOT}} Description {{element.description}} Fecha {{element.date}}
\r\n\r\n \r\n
\r\n
\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material';\r\nimport { APP_DATE_FORMATS, AppDateAdapter } from 'src/app/shared/helpers/format-datepicker';\r\n\r\n@Component({\r\n selector: 'app-alert-iot-report',\r\n templateUrl: './alert-iot-report.component.html',\r\n styleUrls: ['./alert-iot-report.component.css'],\r\n providers: [\r\n {provide: DateAdapter, useClass: AppDateAdapter},\r\n {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS}\r\n ]\r\n})\r\nexport class ReportAlertIOTComponent implements OnInit {\r\n\r\n cameraSelect: number;\r\n cameraAlertType = [];\r\n reportForm: FormGroup;\r\n myDate = new Date();\r\n alertSelect: number = 0;\r\n date = new Date();\r\n dateF = new Date();\r\n timeI: string;\r\n timeF: string;\r\n dateV:string;\r\n isAdministrator=false;\r\n dateIView:string;\r\n dateFView:string;\r\n\r\n dropdownList = [];\r\n selectedItems = [];\r\n dropdownSettings:IDropdownSettings;\r\n chartItem:any;\r\n\r\n labelsChart = [];\r\n dataChart:any;\r\n isAdminGys: boolean = false;\r\n enterprises = [];\r\n headquarters = [];\r\n gateways = [];\r\n enterpriseSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n headquarterSelect: number = 0;\r\n gatewaySelect: number = 0;\r\n zones = [];\r\n zoneSelect: number = 0;\r\n sensors = [];\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','headquarter', 'zone','sensor', 'value', 'date'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('paginatorTop', { static: false }) paginatorTop: MatPaginator;\r\n @ViewChild('paginatorBottom', { static: false }) paginatorBottom: MatPaginator;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n\r\n constructor(\r\n private datePipe: DatePipe,\r\n public dialog: MatDialog,\r\n private AlertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private panelIOTService: PanelIOTService,\r\n private headquarterService: HeadquarterService,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n private gatewayService: GatewayService,\r\n private zoneService: ZoneService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'IOT > Reporte de Alerta';\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'nomenclature',\r\n tooltipField: 'Sensor',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Limpiar',\r\n searchPlaceholderText: 'Buscar',\r\n noFilteredDataAvailablePlaceholderText: 'Item no encontrado',\r\n itemsShowLimit: 6,\r\n allowSearchFilter: false, //input search\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setTheme();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.createForm();\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getZonesList()\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n setTheme(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.paginatorTop) {\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n }\r\n}\r\n\r\nhandlePaginatorTop(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorTop.pageSize = pageSize\r\n this.paginatorTop.pageIndex = pageIndex;\r\n this.paginatorTop.page.emit(e);\r\n}\r\n\r\nhandlePaginatorBottom(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorBottom.pageSize = pageSize\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n this.paginatorBottom.pageIndex = pageIndex;\r\n }\r\n\r\n createForm(){\r\n this.reportForm = this.formBuilder.group({\r\n startDateReport: ['', [Validators.required]],\r\n endDateReport: ['', [Validators.required]],\r\n startTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n endTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n idEnterprise: ['', [Validators.required]],\r\n idHeadquarter: ['', [Validators.required]],\r\n idGateway: ['', [Validators.required]],\r\n idZone: ['', [Validators.required]],\r\n idSensors: ['']\r\n });\r\n }\r\n\r\n getEnterprises() {\r\n this.spinner.show();\r\n if (this.isAdminGys) {\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE);\r\n this.getHeadquarters();\r\n }\r\n }\r\n\r\n _keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n console.log(event.keyCode)\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n get f() { return this.reportForm.controls; }\r\n onItemSelect(item: any) {\r\n console.log(item);\r\n }\r\n onSelectAll(items: any) {\r\n console.log(items);\r\n }\r\n\r\n closeModal(){\r\n this.dialog.closeAll();\r\n }\r\n\r\n search(){\r\n var idSensors = [];\r\n this.selectedItems.forEach(x => {\r\n idSensors.push(x.id);\r\n });\r\n\r\n if(idSensors.length == 0){\r\n this.AlertService.showMessage(\r\n AppConstants.MessageModal.FILTER_SENSOR_VALIDATE,\"\",\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n\r\n if(this.date > this.dateF){\r\n this.AlertService.showMessage(\r\n AppConstants.MessageModal.FILTER_DATES_VALIDATE,\"\",\r\n MessageSeverity.error);\r\n return false\r\n }\r\n\r\n var filter = {\r\n dateI: this.reportForm.value[\"startDateReport\"],\r\n dateF: this.reportForm.value[\"endDateReport\"],\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n idZone: this.zoneSelect,\r\n idSensors: idSensors\r\n };\r\n filter.dateI = this.datePipe.transform(filter.dateI, 'yyyy-MM-dd');\r\n filter.dateF = this.datePipe.transform(filter.dateF, 'yyyy-MM-dd');\r\n this.spinner.show();\r\n this.panelIOTService.reportAlerts(filter).subscribe(\r\n result => {\r\n if(result.error == null){\r\n this.dataSource.data = result.data;\r\n if(result.data.length == 0){\r\n this.AlertService.showMessage(\"No tiene registros\", \"\", MessageSeverity.error);\r\n }\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.getHeadquarters();\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length == 1){\r\n this.headquarterSelect = this.headquarters[0][\"id\"];\r\n }else{\r\n this.headquarterSelect = 0;\r\n }\r\n this.getZonesList()\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n // this.getList(1);\r\n }\r\n }\r\n\r\n getGateways(){\r\n this.gatewayService.getListAll().subscribe((_) => {\r\n if(_.error == null){\r\n if(this.headquarterSelect == 0){\r\n this.gateways = _.data.filter(x => x.idEnterprise == this.enterpriseSelect);\r\n }else{\r\n this.gateways = _.data.filter(x => x.idEnterprise == this.enterpriseSelect && x.idHeadquarter == this.headquarterSelect);\r\n }\r\n\r\n if(this.gateways.length == 1){\r\n this.gatewaySelect = this.gateways[0][\"id\"];\r\n }else{\r\n this.gatewaySelect = 0;\r\n }\r\n }\r\n this.getSensors();\r\n });\r\n }\r\n\r\n getZonesList() {\r\n this.zoneService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n this.zones = response.data.filter(x => x.type == 2);\r\n if(this.zones.length == 1){\r\n this.zoneSelect = this.zones[0][\"id\"];\r\n }else if(this.zones.length>1){\r\n this.zoneSelect = 0;\r\n }else{\r\n this.AlertService.showMessage(\"No tiene zonas IOT registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\r\n }\r\n }\r\n this.getGateways();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getSensors(){\r\n var filter = {\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idZone: this.zoneSelect,\r\n idGateway: this.gatewaySelect\r\n }\r\n this.spinner.show();\r\n this.selectedItems = [];\r\n this.panelIOTService.getList(filter).subscribe((_) => {\r\n this.sensors = [];\r\n if(_.error == null){\r\n var s = _.data;//.filter(x => x.stateSensor != \"instalado\");\r\n this.sensors=this.sensors.concat(s);\r\n console.log(\"sensors\",this.sensors);\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeGateway(data) {\r\n this.gatewaySelect = data.value;\r\n this.getSensors();\r\n //this.getList(1);\r\n }\r\n\r\n changeZone(data) {\r\n this.zoneSelect = data.value;\r\n var zone = this.zones.filter(x => x.id == data.value)[0];\r\n this.headquarterSelect = zone.idHeadquarter;\r\n this.getGateways();\r\n this.getSensors();\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getZonesList();\r\n }\r\n\r\n}\r\n\r\n","\n\n\n ","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit, Pipe } from '@angular/core';\nimport { MatDialog } from '@angular/material';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { PowerBIService } from 'src/app/services/power-bi/power-bi.service';\nimport { PowerbiModalComponent } from 'src/app/shared/components/modals/powerbi-modal/powerbi-modal.component';\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\n\n@Component({\n selector: 'app-report-bi-iot',\n templateUrl: './report-bi-iot.component.html',\n styleUrls: ['./report-bi-iot.component.css']\n})\n@Pipe({ name: 'safe' })\nexport class ReportBiIOTComponent implements OnInit {\n\n url:SafeResourceUrl;\n enterpriseSelect: number = 0;\n headquarterSelect: number = 0;\n color1: string;\n color2: string;\n colorFont: string;\n colorFont2: string;\n enabledRead: number;\n enabledWrite: number;\n\n constructor(\n public dialog: MatDialog,\n private spinner: NgxSpinnerService,\n private router: Router,\n private _sanitizer: DomSanitizer,\n private powerBIService: PowerBIService) {\n document.getElementById(\"titleHeaderNav\").innerHTML = 'IOT > Reporte Power BI';\n }\n\n ngOnInit() {\n this.setLS();\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\n this.getPowerBI();\n }\n\n setLS(){\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\n //validate Permisses menu\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\n var page = this.router.url.split(\"/\");\n var i = page[page.length-1];\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\n if(itemTag.length>0){\n this.enabledRead = itemTag[0].activeRead;\n this.enabledWrite = itemTag[0].activeWrite;\n }else{\n this.enabledRead = 0;\n this.enabledWrite = 0;\n }\n }\n\n getPowerBI() {\n this.spinner.show();\n this.powerBIService.getListAll(this.enterpriseSelect,this.headquarterSelect,2).subscribe((response) => {\n if(response.data.length>0){\n this.url = this._sanitizer.bypassSecurityTrustResourceUrl(response.data[0].url);\n }\n this.spinner.hide();\n },\n (error: HttpErrorResponse) => {\n this.spinner.hide();\n });\n }\n\n openAddModal() {\n let dialogRef = this.dialog.open(PowerbiModalComponent, {\n data: {\n title: AppConstants.TitleModal.POWER_BI,\n action: AppConstants.OperationType.ADD,\n idSystem:2,\n idEnterprise: this.enterpriseSelect,\n idHeadquarter: this.headquarterSelect,\n enabledWrite: this.enabledWrite,\n enabledRead: this.enabledRead,\n color: this.color1,\n colorFont: this.color2,\n obj:null},\n width: '500px',\n hasBackdrop: true\n });\n dialogRef.afterClosed().subscribe(_ => {\n if (_.result == true) {\n /* this.page = 1;\n this.paginator.pageIndex = 0;\n this.getList(); */\n }\n });\n }\n}\n","
\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Fecha inicio\r\n \r\n \r\n \r\n \r\n La fecha de Inicio es obligatorio\r\n \r\n \r\n La fecha de Inicio no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Fecha Fin\r\n \r\n \r\n \r\n \r\n La fecha Final es obligatorio\r\n \r\n \r\n La fecha Final no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora inicio\r\n \r\n \r\n La Hora Inicial es obligatorio\r\n \r\n \r\n La Hora Inicial tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora fin\r\n \r\n \r\n La Hora Final es obligatorio\r\n \r\n \r\n La Hora Final tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Zonas\r\n \r\n 1\">\r\n Todas\r\n \r\n \r\n {{zone.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Gateway\r\n \r\n 1\">\r\n Todos\r\n \r\n \r\n {{gateway.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Empresa {{element.enterprise}} Sede {{element.headquarter}} Zona {{element.zone}} Gateway {{element.gateway}} Actuador Sensor Item {{element.sensor}} Valor {{element.value}} Fecha {{element.date}}
\r\n\r\n \r\n
\r\n
\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material';\r\nimport { APP_DATE_FORMATS, AppDateAdapter } from 'src/app/shared/helpers/format-datepicker';\r\n\r\n@Component({\r\n selector: 'app-iot-report',\r\n templateUrl: './iot-report.component.html',\r\n styleUrls: ['./iot-report.component.css'],\r\n providers: [\r\n {provide: DateAdapter, useClass: AppDateAdapter},\r\n {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS}\r\n ]\r\n})\r\nexport class ReportIOTComponent implements OnInit {\r\n\r\n cameraSelect: number;\r\n cameraAlertType = [];\r\n reportForm: FormGroup;\r\n myDate = new Date();\r\n alertSelect: number = 0;\r\n date = new Date();\r\n dateF = new Date();\r\n timeI: string;\r\n timeF: string;\r\n dateV:string;\r\n isAdministrator=false;\r\n dateIView:string;\r\n dateFView:string;\r\n\r\n dropdownList = [];\r\n selectedItems = [];\r\n dropdownSettings:IDropdownSettings;\r\n chartItem:any;\r\n\r\n labelsChart = [];\r\n dataChart:any;\r\n isAdminGys: boolean = false;\r\n enterprises = [];\r\n headquarters = [];\r\n gateways = [];\r\n enterpriseSelect: number = 0;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = AppConstants.Paginado.DEFAULT_PAGE_SIZE_PAGINATION;\r\n length: number = 0;\r\n page: number = 1;\r\n headquarterSelect: number = 0;\r\n gatewaySelect: number = 0;\r\n zones = [];\r\n zoneSelect: number = 0;\r\n sensors = [];\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','enterprise', 'headquarter', 'gateway', 'zone','isActuator', 'sensor', 'value', 'date'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('paginatorTop', { static: false }) paginatorTop: MatPaginator;\r\n @ViewChild('paginatorBottom', { static: false }) paginatorBottom: MatPaginator;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n\r\n constructor(\r\n private datePipe: DatePipe,\r\n public dialog: MatDialog,\r\n private AlertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private panelIOTService: PanelIOTService,\r\n private headquarterService: HeadquarterService,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n private gatewayService: GatewayService,\r\n private zoneService: ZoneService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'IOT > Reporte de Actuadores y Sensores';\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'nomenclature',\r\n tooltipField: 'Sensor',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Limpiar',\r\n searchPlaceholderText: 'Buscar',\r\n noFilteredDataAvailablePlaceholderText: 'Item no encontrado',\r\n itemsShowLimit: 6,\r\n allowSearchFilter: false, //input search\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setTheme();\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.createForm();\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getZonesList()\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n setTheme(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.paginatorTop) {\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n }\r\n}\r\n\r\nhandlePaginatorTop(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorTop.pageSize = pageSize\r\n this.paginatorTop.pageIndex = pageIndex;\r\n this.paginatorTop.page.emit(e);\r\n}\r\n\r\nhandlePaginatorBottom(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorBottom.pageSize = pageSize\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n this.paginatorBottom.pageIndex = pageIndex;\r\n }\r\n\r\n createForm(){\r\n this.reportForm = this.formBuilder.group({\r\n startDateReport: ['', [Validators.required]],\r\n endDateReport: ['', [Validators.required]],\r\n startTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n endTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n idEnterprise: ['', [Validators.required]],\r\n idHeadquarter: ['', [Validators.required]],\r\n idGateway: ['', [Validators.required]],\r\n idZone: ['', [Validators.required]],\r\n idSensors: ['']\r\n });\r\n }\r\n\r\n getEnterprises() {\r\n this.spinner.show();\r\n if (this.isAdminGys) {\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.enterpriseSelect = +localStorage.getItem(AppConstants.Session.ENTERPRISE);\r\n this.getHeadquarters();\r\n }\r\n }\r\n\r\n _keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n console.log(event.keyCode)\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n get f() { return this.reportForm.controls; }\r\n onItemSelect(item: any) {\r\n console.log(item);\r\n }\r\n onSelectAll(items: any) {\r\n console.log(items);\r\n }\r\n\r\n closeModal(){\r\n this.dialog.closeAll();\r\n }\r\n\r\n search(){\r\n var idSensors = [];\r\n this.selectedItems.forEach(x => {\r\n idSensors.push(x.id);\r\n });\r\n\r\n if(idSensors.length == 0){\r\n this.AlertService.showMessage(\r\n AppConstants.MessageModal.FILTER_SENSOR_VALIDATE,\"\",\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n\r\n if(this.date > this.dateF){\r\n this.AlertService.showMessage(\r\n AppConstants.MessageModal.FILTER_DATES_VALIDATE,\"\",\r\n MessageSeverity.error);\r\n return false\r\n }\r\n\r\n var filter = {\r\n dateI: this.reportForm.value[\"startDateReport\"],\r\n dateF: this.reportForm.value[\"endDateReport\"],\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idGateway: this.gatewaySelect,\r\n idZone: this.zoneSelect,\r\n idSensors: idSensors\r\n };\r\n filter.dateI = this.datePipe.transform(filter.dateI, 'yyyy-MM-dd');\r\n filter.dateF = this.datePipe.transform(filter.dateF, 'yyyy-MM-dd');\r\n this.spinner.show();\r\n this.panelIOTService.reportSensors(filter).subscribe(\r\n result => {\r\n if(result.error == null){\r\n this.dataSource.data = result.data;\r\n if(result.data.length == 0){\r\n this.AlertService.showMessage(\"No tiene registros\", \"\", MessageSeverity.error);\r\n }\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.getHeadquarters();\r\n }\r\n\r\n getHeadquarters() {\r\n if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length == 1){\r\n this.headquarterSelect = this.headquarters[0][\"id\"];\r\n }else{\r\n this.headquarterSelect = 0;\r\n }\r\n this.getZonesList()\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n // this.getList(1);\r\n }\r\n }\r\n\r\n getGateways(){\r\n this.gatewayService.getListAll().subscribe((_) => {\r\n if(_.error == null){\r\n if(this.headquarterSelect == 0){\r\n this.gateways = _.data.filter(x => x.idEnterprise == this.enterpriseSelect);\r\n }else{\r\n this.gateways = _.data.filter(x => x.idEnterprise == this.enterpriseSelect && x.idHeadquarter == this.headquarterSelect);\r\n }\r\n\r\n if(this.gateways.length == 1){\r\n this.gatewaySelect = this.gateways[0][\"id\"];\r\n }else{\r\n this.gatewaySelect = 0;\r\n }\r\n }\r\n this.getSensors();\r\n });\r\n }\r\n\r\n getZonesList() {\r\n this.zoneService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n if(response.error == null){\r\n this.zones = response.data.filter(x => x.type == 2);\r\n if(this.zones.length == 1){\r\n this.zoneSelect = this.zones[0][\"id\"];\r\n }else if(this.zones.length>1){\r\n this.zoneSelect = 0;\r\n }else{\r\n this.AlertService.showMessage(\"No tiene zonas IOT registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\r\n }\r\n }\r\n this.getGateways();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getSensors(){\r\n var filter = {\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n idZone: this.zoneSelect,\r\n idGateway: this.gatewaySelect\r\n }\r\n this.spinner.show();\r\n this.selectedItems = [];\r\n this.panelIOTService.getList(filter).subscribe((_) => {\r\n this.sensors = [];\r\n if(_.error == null){\r\n var s = _.data;//.filter(x => x.stateSensor != \"instalado\");\r\n this.sensors=this.sensors.concat(s);\r\n console.log(\"sensors\",this.sensors);\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeGateway(data) {\r\n this.gatewaySelect = data.value;\r\n this.getSensors();\r\n //this.getList(1);\r\n }\r\n\r\n changeZone(data) {\r\n this.zoneSelect = data.value;\r\n var zone = this.zones.filter(x => x.id == data.value)[0];\r\n this.headquarterSelect = zone.idHeadquarter;\r\n this.getGateways();\r\n this.getSensors();\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getZonesList();\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n ShowRoom > Email \r\n
\r\n
\r\n
\r\n
\r\n Lista de Correos para envĆ­o de notificaciones de alertas\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Correo {{element.email}} Acciones \r\n create\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { ItemdomainIframeStreamingModalComponent } from 'src/app/shared/components/modals/domain-iframe-streaming/domain-iframe-streaming-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { ModalEmailShowRoomComponent } from 'src/app/shared/components/modals/showroom/modal-email-show-room/modal-email-show-room.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-showroom-email',\r\n templateUrl: './showroom-email.component.html',\r\n styleUrls: ['./showroom-email.component.css']\r\n})\r\nexport class ShowroomEmailComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n dataSources = new MatTableDataSource();\r\n displayedColumns: string[] = ['email','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginators: MatPaginator;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private spinner: NgxSpinnerService,\r\n private showRoomService: ShowRoomService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSources.paginator = this.paginators;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.paginators._intl.itemsPerPageLabel = '';\r\n this.getList();\r\n }\r\n\r\n getList(){\r\n this.showRoomService.getEmails().subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource.data = _.data;\r\n }\r\n });\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(ModalEmailShowRoomComponent, {\r\n data: { title: 'Agregar Correo', action: 0,obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(ModalEmailShowRoomComponent, {\r\n data: { title: 'Actualizar Correo', action: 1,obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_EMAIL_CONFIRMATION_MESSAGE1}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.showRoomService.deleteEmail(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n close\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n keyboard_arrow_left\r\n
\r\n
\r\n\r\n
\r\n
0\">\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n keyboard_arrow_right\r\n
\r\n
\r\n\r\n\r\n
\r\n G&S\r\n gestiĆ³n y sistemas\r\n
\r\n\r\n
\r\n G&S LAB\r\n
\r\n\r\n
{{nivel}}
\r\n
{{presion}}
\r\n
{{temperatura}}
\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { MatDialog } from '@angular/material';\r\nimport { ModalReportSensorPbiShowRoomComponent } from 'src/app/shared/components/modals/showroom/modal-report-sensor-pbi/modal-report-sensor-pbi-show-room.component';\r\n\r\n@Component({\r\n selector: 'app-showroom-panel-diagram-public',\r\n templateUrl: './showroom-panel-diagram-public.component.html',\r\n styleUrls: ['./showroom-panel-diagram-public.component.css']\r\n})\r\nexport class ShowroomPanelDiagramPublicComponent implements OnInit {\r\n private _hubConnection: HubConnection;\r\n imagePanel = environment.pathFile + \"assets/showroom/public/1.png\";\r\n imagePanelOrden = 1;\r\n showActuatorPanel=false;\r\n actuators = [];\r\n staticActuators = [];\r\n startButton = 0;\r\n stopButton = 0;\r\n startAlert = 0;\r\n stopAlert = 0;\r\n stepIndex: number = 0;\r\n showScreenshot = false;\r\n showMenu = false;\r\n docElement: HTMLElement;\r\n isFullScreen: boolean = false;\r\n nivel = \"\";\r\n temperatura = 0;\r\n presion = \"\";\r\n showDataPanel = true;\r\n showDataShare = true;\r\n bomba = 0;\r\n\r\n constructor(\r\n private router: Router,\r\n private alertService: AlertService,\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n public showroomService: ShowRoomService) {\r\n var _this = this;\r\n setInterval(function () {\r\n _this.listPanels();\r\n },\r\n 1000);\r\n var _this = this;\r\n const connection = this._hubConnection = new HubConnectionBuilder()\r\n .withUrl(environment.wsUrl +\"/ws/showroom\",{\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n var _this = this;\r\n console.log(environment.wsUrl +\"/ws/showroom\");\r\n connection.on(\"updatePanel\", (panel) => {\r\n console.log(\"updatepanel -- \",panel);\r\n if(panel.value==\"1\"){ document.getElementById('actuactorPanel'+panel.id).style.display=\"initial\"; }\r\n else{ document.getElementById('actuactorPanel'+panel.id).style.display=\"none\"; }\r\n });\r\n connection.start().catch(err => document.write(err));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.docElement = document.documentElement;\r\n this.getListActuators();\r\n }\r\n\r\n listPanels(){\r\n var _this = this;\r\n _this.nivel = _this.showroomService.getNivel();\r\n _this.temperatura = _this.showroomService.getTemperatura();\r\n _this.presion = _this.showroomService.getPresion();\r\n _this.bomba = _this.showroomService.getBomba();\r\n if(_this.showDataShare){\r\n\r\n _this.showroomService.getPanels().subscribe(_=>{\r\n if(_.error == null){\r\n _this.showDataShare = false;\r\n var sc = _.data.filter( x => x.id == 'sharedControl')[0];\r\n if(!sc.value){ _this.router.navigate(['/gys/showroom']) }\r\n _.data = _.data.filter(_ =>_.id != 'sharedControl');\r\n _.data.forEach( _ =>{\r\n\r\n if(_.id == 0){\r\n _this.imagePanel = environment.pathFile + \"assets/showroom/\"+_.value+\".png\";\r\n }else{\r\n if(_.value){ document.getElementById('actuactorPanel'+_.id).style.display=\"initial\"; }\r\n else{ document.getElementById('actuactorPanel'+_.id).style.display=\"none\"; }\r\n }\r\n\r\n });\r\n\r\n _this.showDataShare = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectMenu(){\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n goControl(){\r\n this.router.navigate(['/gys/showroom']);\r\n }\r\n\r\n saveActuators(){\r\n //this.spinner.show();\r\n console.log('data enviada');\r\n console.log(this.actuators);\r\n this.showroomService.updateActuators(this.actuators).subscribe((_) => {\r\n // this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n // this.spinner.hide();\r\n });\r\n }\r\n\r\n getListActuators(){\r\n this.spinner.show();\r\n this.showroomService.getListActuators().subscribe((_) => {\r\n this.actuators = _.data;\r\n var start = parseInt(this.actuators.filter(_ => _.id == 6)[0].value);\r\n var stop = parseInt(this.actuators.filter(_ => _.id == 7)[0].value);\r\n var startAlert = parseInt(this.actuators.filter(_ => _.id == 11)[0].value);\r\n var stopAlert = parseInt(this.actuators.filter(_ => _.id == 12)[0].value);\r\n // if(start==1 && stop==0){ start = 0; }\r\n this.stopButton = stop;\r\n this.startButton = start;\r\n this.stopAlert = stopAlert;\r\n this.startAlert = startAlert;\r\n this.actuators.filter(_ => {\r\n let options;\r\n _.idOrigin = _.id;\r\n _.idPanel = \"panelActuator\"+_.id;\r\n if(_.maxLimit > 0){\r\n _.value =(_.value * 100) / _.maxLimit;\r\n }\r\n if(_.type==2){\r\n _.colors = ['#e5f6ff', '#82cfff'];\r\n }else{\r\n if(_.stepOptions != \"\" && _.stepOptions){\r\n var stepsArray = [];\r\n var array = _.stepOptions.split(\",\");\r\n array.forEach(function(n) {\r\n stepsArray.push({value: n});\r\n })\r\n options = {\r\n floor: 0,\r\n ceil: 100,\r\n showTicks: false,\r\n showTicksValues: true,\r\n stepsArray: stepsArray,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n };\r\n }else{\r\n options = {\r\n floor: 0,\r\n ceil: 100,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(_.type == 6){\r\n _.relationshipActuators.filter(__ => {\r\n __.idPanel = \"panelActuator\"+__.id;\r\n __.update = 0;\r\n this.actuators.push(__);\r\n });\r\n }\r\n\r\n _.dataValue = _.value;\r\n _.options = options;\r\n _.update = 0;\r\n _.beforeValue = _.value;\r\n });\r\n this.staticActuators = this.actuators;\r\n this.staticActuators = this.staticActuators.filter(_ => _.id != 6 && _.id != 7 && _.id != 11 && _.id != 12 && _.id != 14);\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n nextPanel(){\r\n /*this.imagePanelOrden++;\r\n if(this.imagePanelOrden == 8){\r\n this.imagePanelOrden=1;\r\n }\r\n\r\n this.imagePanel = environment.pathFile + \"assets/showroom/\"+this.imagePanelOrden+\".png\";*/\r\n }\r\n\r\n showPanel(id){\r\n\r\n if(id == 4){ //Resistencia\r\n //var motor = this.actuators.filter(x => x.id == 8)[0];\r\n //console.log(\"actuators\" , this.actuators)\r\n console.log(\"motor value\",this.bomba);\r\n if(this.bomba == 0){\r\n this.alertService.showMessage(\"\", \"Prenda el motor\", MessageSeverity.error);\r\n }else{\r\n var data = {\r\n id: id,\r\n value: 1\r\n }\r\n this.showroomService.updatePanelValue(data).subscribe(_ => {\r\n document.getElementById('actuactorPanel'+id).style.display=\"initial\";\r\n });\r\n }\r\n }else{\r\n var data = {\r\n id: id,\r\n value: 1\r\n }\r\n this.showroomService.updatePanelValue(data).subscribe(_ => {\r\n document.getElementById('actuactorPanel'+id).style.display=\"initial\";\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n closeModal(id){\r\n var data = {\r\n id: id,\r\n value: 0\r\n }\r\n this.showroomService.updatePanelValue(data).subscribe(_ => {\r\n document.getElementById('actuactorPanel'+id).style.display=\"none\";\r\n });\r\n }\r\n\r\n playButtonShowRoom(){\r\n this.startButton = 1;\r\n this.stopButton = 1;\r\n var value6,value7;\r\n this.actuators.filter(_ => {\r\n if(_.id == 6){\r\n value6 = 1;\r\n }\r\n if(_.id == 7){\r\n value7 = 0;\r\n }\r\n });\r\n this.save(6,value6);\r\n this.save(7,value7);\r\n }\r\n\r\n stopButtonShowRoom(){\r\n this.startButton = 0;\r\n this.stopButton = 0;\r\n var value6,value7;\r\n this.actuators.filter(_ => {\r\n if(_.id == 6){\r\n value6 = 0;\r\n }\r\n if(_.id == 7){\r\n value7 = 1;\r\n }\r\n });\r\n this.save(6,value6);\r\n this.save(7,value7);\r\n }\r\n\r\n playButtonAlert(){\r\n this.showroomService.startAlert().subscribe(_ =>{});\r\n this.startAlert = 1;\r\n this.stopAlert = 1;\r\n var value11,value12;\r\n this.actuators.filter(_ => {\r\n if(_.id == 11){\r\n value11 = 1;\r\n }\r\n if(_.id == 12){\r\n value12 = 0;\r\n }\r\n });\r\n this.save(11,value11);\r\n this.save(12,value12);\r\n }\r\n\r\n stopButtonAlert(){\r\n this.showroomService.stopAlert().subscribe(_ =>{});\r\n this.startAlert = 0;\r\n this.stopAlert = 0;\r\n var value11,value12;\r\n this.actuators.filter(_ => {\r\n if(_.id == 11){\r\n value11 = 0;\r\n }\r\n if(_.id == 12){\r\n value12 = 1;\r\n }\r\n });\r\n this.save(11,value11);\r\n this.save(12,value12);\r\n }\r\n\r\n save(id,value){\r\n var data = {\r\n id: id,\r\n value: value\r\n }\r\n\r\n this.showroomService.updateSensorValue(data).subscribe(_ => {\r\n console.log(\"UPDATE SENSOR: \",_);\r\n });\r\n }\r\n\r\n toggleFullScreen() {\r\n if (!this.isFullScreen) {\r\n this.docElement.requestFullscreen();\r\n }\r\n else {\r\n document.exitFullscreen();\r\n }\r\n this.isFullScreen = !this.isFullScreen;\r\n }\r\n\r\n showPBI(){\r\n let dialogRef = this.dialog.open(ModalReportSensorPbiShowRoomComponent, {\r\n width: '1000px',\r\n });\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { ChangeContext } from '@angular-slider/ngx-slider';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n\r\n@Component({\r\n selector: 'app-showroom-actuator-panel',\r\n templateUrl: './showroom-actuator-panel.component.html',\r\n styleUrls: ['./showroom-actuator-panel.component.css']\r\n})\r\nexport class ShowroomActuatorPanelComponent implements OnInit {\r\n private _hubConnection: HubConnection;\r\n @Input('data') item : any;\r\n @Input('items') items : any;\r\n dataValue: any;\r\n imagePanel = environment.pathFile + \"assets/showroom/1.png\";\r\n imagePanelOrden = 1;\r\n showActuatorPanel=false;\r\n actuators = [];\r\n staticActuators = [];\r\n startButton = 0;\r\n stopButton = 0;\r\n startAlert = 0;\r\n stopAlert = 0;\r\n stepIndex: number = 0;\r\n showScreenshot = false;\r\n showMenu = false;\r\n tiempoDisabledResistencia = false;\r\n disabledResistencia: any;\r\n offResistencia: any;\r\n showData = true;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n public showroomService: ShowRoomService) {}\r\n\r\n ngOnInit(): void {\r\n if(this.item.id != 5 && this.item.id != 8 && this.item.id != 9){\r\n var _this = this;\r\n this.dataValue = this.item.value;\r\n const connection = this._hubConnection = new HubConnectionBuilder()\r\n .withUrl(environment.wsUrl +\"/ws/showroom\",{\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n var _this = this;\r\n console.log(environment.wsUrl +\"/ws/showroom\");\r\n connection.on(\"streamingActuator\", (actuator) => {\r\n var actuator = actuator.data;\r\n if(actuator.id == _this.item.idOrigin){\r\n if(_this.item.maxLimit > 0){\r\n var value = 0;\r\n if(actuator.id == 2){ // centrifuga\r\n if(actuator.value == 0){\r\n value = 0;\r\n }else{\r\n value = (actuator.value-85)/1.7;\r\n }\r\n }else if(actuator.id == 1){ // faja\r\n if(actuator.value == 0){\r\n value = 0;\r\n }else{\r\n value = (actuator.value-36.061)/2.1894;\r\n }\r\n }\r\n _this.item.value = value;\r\n console.log(\"value actuator: \",value);\r\n }\r\n }\r\n });\r\n connection.start().catch(err => document.write(err));\r\n /*setInterval(function () {\r\n if(_this.showData){\r\n _this.showData = false;\r\n _this.showroomService.getActuatorValue(_this.item.idOrigin).subscribe(_ => {\r\n if(_.data.maxLimit > 0){\r\n _this.item.value =(_.data.value * 100) / _.data.maxLimit;\r\n }\r\n _this.showData = true;\r\n });\r\n }\r\n },\r\n 1000)*/\r\n };\r\n }\r\n\r\n onInputChange(changeContext: ChangeContext,item:any): void {\r\n var data = changeContext.value;\r\n var value = data;\r\n if(item.maxLimit > 0){\r\n if(item.id == 2){ // centrifuga\r\n if(data == 0){\r\n value = 0;\r\n }else{\r\n value = (1.7*data+85);\r\n }\r\n }else if(item.id == 1){ // faja\r\n if(data == 0){\r\n value = 0;\r\n }else{\r\n value = 2.1894*data+36.061;\r\n }\r\n }\r\n }\r\n this.dataValue = parseFloat(value.toString());\r\n this.save();\r\n }\r\n\r\n\r\n onChangeToogle(value, id){\r\n var value = this.dataValue;\r\n if(this.item.id == 4){ //resistencia\r\n if(!this.tiempoDisabledResistencia){\r\n if(this.item.maxLimit > 0){\r\n if(value){this.dataValue = 0; }else{this.dataValue = this.item.maxLimit; }\r\n }else{\r\n if(value){this.dataValue = 0; }else{this.dataValue = 1; }\r\n }\r\n this.item.value = this.dataValue;\r\n var _this = this;\r\n this.save();\r\n if(this.dataValue){\r\n this.showroomService.setResistencia(true);\r\n this.offResistencia = setInterval(function () {\r\n _this.item.value = 0;\r\n _this.dataValue = 0;\r\n _this.tiempoDisabledResistencia = true;\r\n _this.showroomService.setResistencia(false);\r\n _this.save();\r\n clearInterval(_this.offResistencia);\r\n },\r\n 30000);\r\n this.disabledResistencia = setInterval(function () {\r\n _this.save();\r\n _this.tiempoDisabledResistencia = false;\r\n clearInterval(_this.offResistencia);\r\n clearInterval(_this.disabledResistencia);\r\n },\r\n 180000);\r\n\r\n }else{\r\n this.showroomService.setResistencia(false);\r\n clearInterval(_this.disabledResistencia);\r\n clearInterval(_this.offResistencia);\r\n this.tiempoDisabledResistencia = false;\r\n }\r\n }else{\r\n this.alertService.showMessage(\"\", \"Por favor, esperar 3 minutos para volver a activar\", MessageSeverity.error);\r\n }\r\n }else{\r\n if(this.item.maxLimit > 0){\r\n if(value){this.dataValue = 0; }else{this.dataValue = this.item.maxLimit; }\r\n }else{\r\n if(value){this.dataValue = 0; }else{this.dataValue = 1; }\r\n }\r\n if(this.item.id == 8){ this.showroomService.setBomba(this.dataValue); } // Bomba\r\n if(this.item.id == 9){ this.showroomService.setValvulaSelenoide(this.dataValue); } // VĆ”lvula Selenoide\r\n this.save();\r\n\r\n\r\n if(this.item.id == 8){\r\n if(this.dataValue){\r\n this.alertService.showMessage(\"\", \"Se prendiĆ³ la bomba\", MessageSeverity.success);\r\n }else{\r\n this.alertService.showMessage(\"\", \"Se apagĆ³ la bomba\", MessageSeverity.error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n onChangeToogleChild(idParent, value, id){\r\n if(value){ this.dataValue = 0; }else{ this.dataValue = 1; }\r\n this.item.value = !this.dataValue;\r\n this.save();\r\n }\r\n\r\n onInputChangeSlider($event: any,item:any) {\r\n this.stepIndex = +$event.value;\r\n var array = item.stepOptions.split(\",\");\r\n var data = parseInt(array[this.stepIndex]);\r\n this.dataValue = data;\r\n this.save();\r\n }\r\n\r\n save(){\r\n var data = {\r\n id: this.item.id,\r\n value: this.dataValue\r\n }\r\n\r\n this.showroomService.updateSensorValue(data).subscribe(_ => {\r\n console.log(\"UPDATE SENSOR: \",_);\r\n });\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n close\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n keyboard_arrow_left\r\n
\r\n
\r\n\r\n
\r\n
0\">\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n keyboard_arrow_right\r\n
\r\n
\r\n\r\n\r\n
\r\n G&S\r\n gestiĆ³n y sistemas\r\n
\r\n\r\n
\r\n G&S LAB\r\n
\r\n\r\n
{{nivel}}
\r\n
{{presion}}
\r\n
{{temperatura}}
\r\n\r\n","import { ChangeContext } from '@angular-slider/ngx-slider';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { ModalReportSensorPbiShowRoomComponent } from 'src/app/shared/components/modals/showroom/modal-report-sensor-pbi/modal-report-sensor-pbi-show-room.component';\r\nimport { MatDialog } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-showroom-panel-diagram',\r\n templateUrl: './showroom-panel-diagram.component.html',\r\n styleUrls: ['./showroom-panel-diagram.component.css']\r\n})\r\nexport class ShowroomPanelDiagramComponent implements OnInit {\r\n private _hubConnection: HubConnection;\r\n imagePanelOrden = 1;\r\n showActuatorPanel=false;\r\n actuators = [];\r\n staticActuators = [];\r\n startButton = 0;\r\n stopButton = 0;\r\n startAlert = 0;\r\n stopAlert = 0;\r\n imagePanel = \"\";\r\n stepIndex: number = 0;\r\n showScreenshot = false;\r\n showMenu = false;\r\n docElement: HTMLElement;\r\n isFullScreen: boolean = false;\r\n nivel = \"\";\r\n temperatura = 0;\r\n presion = \"\";\r\n showDataPanel = true;\r\n bomba = 0;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n public showroomService: ShowRoomService) {\r\n var _this = this;\r\n this.imagePanel = environment.pathFile + \"assets/showroom/\"+this.showroomService.getImageDiagram()+\".png\";\r\n setInterval(function () {\r\n _this.listPanels();\r\n },\r\n 1000);\r\n\r\n var _this = this;\r\n const connection = this._hubConnection = new HubConnectionBuilder()\r\n .withUrl(environment.wsUrl +\"/ws/showroom\",{\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n var _this = this;\r\n console.log(environment.wsUrl +\"/ws/showroom\");\r\n connection.on(\"updatePanel\", (panel) => {\r\n if(panel.value == \"1\"){ document.getElementById('actuactorPanel'+panel.id).style.display=\"initial\"; }\r\n else{ document.getElementById('actuactorPanel'+panel.id).style.display=\"none\"; }\r\n });\r\n connection.on(\"streamingSensors\", (sensores) => {\r\n _this.nivel = _this.showroomService.getNivel();\r\n _this.temperatura = _this.showroomService.getTemperatura();\r\n _this.presion = _this.showroomService.getPresion();\r\n });\r\n connection.start().catch(err => document.write(err));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.docElement = document.documentElement;\r\n this.getListActuators();\r\n }\r\n\r\n selectMenu(){\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n saveActuators(){\r\n //this.spinner.show();\r\n console.log('data enviada');\r\n console.log(this.actuators);\r\n this.showroomService.updateActuators(this.actuators).subscribe((_) => {\r\n // this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n // this.spinner.hide();\r\n });\r\n }\r\n\r\n getListActuators(){\r\n this.spinner.show();\r\n this.showroomService.getListActuators().subscribe((_) => {\r\n this.actuators = _.data;\r\n var start = parseInt(this.actuators.filter(_ => _.id == 6)[0].value);\r\n var stop = parseInt(this.actuators.filter(_ => _.id == 7)[0].value);\r\n var startAlert = parseInt(this.actuators.filter(_ => _.id == 11)[0].value);\r\n var stopAlert = parseInt(this.actuators.filter(_ => _.id == 12)[0].value);\r\n // if(start==1 && stop==0){ start = 0; }\r\n this.stopButton = stop;\r\n this.startButton = start;\r\n this.stopAlert = stopAlert;\r\n this.startAlert = startAlert;\r\n this.actuators.filter(_ => {\r\n let options;\r\n _.idOrigin=_.id;\r\n if(_.idSensors != null){\r\n _.idPanel = \"panelActuator\"+_.id;\r\n if(_.maxLimit > 0){\r\n _.value =(_.value * 100) / _.maxLimit;\r\n }\r\n if(_.type==2){\r\n _.colors = ['#e5f6ff', '#82cfff'];\r\n }else{\r\n if(_.stepOptions != \"\" && _.stepOptions){\r\n var stepsArray = [];\r\n var array = _.stepOptions.split(\",\");\r\n array.forEach(function(n) {\r\n stepsArray.push({value: n});\r\n })\r\n options = {\r\n floor: 0,\r\n ceil: 100,\r\n showTicks: false,\r\n showTicksValues: true,\r\n stepsArray: stepsArray,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n };\r\n }else{\r\n options = {\r\n floor: 0,\r\n ceil: 100,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if(_.type == 6){\r\n _.relationshipActuators.filter(__ => {\r\n __.idPanel = \"panelActuator\"+__.id;\r\n __.update = 0;\r\n this.actuators.push(__);\r\n });\r\n }\r\n\r\n _.dataValue = _.value;\r\n _.options = options;\r\n _.update = 0;\r\n _.beforeValue = _.value;\r\n });\r\n this.staticActuators = this.actuators;\r\n this.staticActuators = this.staticActuators.filter(_ => _.id != 6 && _.id != 7 && _.id != 11 && _.id != 12);\r\n console.log(this.staticActuators);\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n nextPanel(){\r\n /*this.imagePanelOrden++;\r\n if(this.imagePanelOrden == 8){\r\n this.imagePanelOrden=1;\r\n }\r\n\r\n this.imagePanel = environment.pathFile + \"assets/showroom/\"+this.imagePanelOrden+\".png\";*/\r\n }\r\n\r\n showPanel(id){\r\n if(id == 4){ //Resistencia\r\n // var motor = this.actuators.filter(x => x.id == 8)[0]; //motor\r\n //console.log(\"actuators\" , this.actuators)\r\n console.log(\"motor value\",this.bomba);\r\n if(this.bomba == 0){\r\n this.alertService.showMessage(\"\", \"Prenda el motor\", MessageSeverity.error);\r\n }else{\r\n var data = {\r\n id: id,\r\n value: 1\r\n }\r\n this.showroomService.updatePanelValue(data).subscribe(_ => {\r\n console.log(\"updatePanelValue: \",_);\r\n document.getElementById('actuactorPanel'+id).style.display=\"initial\";\r\n });\r\n }\r\n }else{\r\n var data = {\r\n id: id,\r\n value: 1\r\n }\r\n this.showroomService.updatePanelValue(data).subscribe(_ => {\r\n console.log(\"updatePanelValue: \",_);\r\n document.getElementById('actuactorPanel'+id).style.display=\"initial\";\r\n });\r\n }\r\n\r\n }\r\n\r\n closeModal(id){\r\n\r\n var data = {\r\n id: id,\r\n value: 0\r\n }\r\n this.showroomService.updatePanelValue(data).subscribe(_ => {\r\n console.log(\"actuactorPanel: \",_);\r\n document.getElementById('actuactorPanel'+id).style.display=\"none\";\r\n });\r\n }\r\n\r\n playButtonShowRoom(){\r\n this.startButton = 1;\r\n this.stopButton = 1;\r\n var value6,value7;\r\n this.actuators.filter(_ => {\r\n if(_.id == 6){\r\n value6 = 1;\r\n }\r\n if(_.id == 7){\r\n value7 = 0;\r\n }\r\n });\r\n console.log(\"valor de showroom play\",value6);\r\n this.save(6,value6);\r\n //this.save(7,value7);\r\n }\r\n\r\n stopButtonShowRoom(){\r\n this.startButton = 0;\r\n this.stopButton = 0;\r\n var value6,value7;\r\n this.actuators.filter(_ => {\r\n if(_.id == 6){\r\n value6 = 0;\r\n }\r\n if(_.id == 7){\r\n value7 = 1;\r\n }\r\n });\r\n console.log(\"valor de showroom play\",value6);\r\n this.save(6,value6);\r\n //this.save(7,value7);\r\n }\r\n\r\n playButtonAlert(){\r\n this.showroomService.startAlert().subscribe(_ =>{});\r\n this.startAlert = 1;\r\n this.stopAlert = 1;\r\n var value11,value12;\r\n this.actuators.filter(_ => {\r\n if(_.id == 11){\r\n value11 = 1;\r\n }\r\n if(_.id == 12){\r\n value12 = 0;\r\n }\r\n });\r\n this.save(11,value11);\r\n this.save(12,value12);\r\n }\r\n\r\n stopButtonAlert(){\r\n this.showroomService.stopAlert().subscribe(_ =>{});\r\n this.startAlert = 0;\r\n this.stopAlert = 0;\r\n var value11,value12;\r\n this.actuators.filter(_ => {\r\n if(_.id == 11){\r\n value11 = 0;\r\n }\r\n if(_.id == 12){\r\n value12 = 1;\r\n }\r\n });\r\n this.save(11,value11);\r\n this.save(12,value12);\r\n }\r\n\r\n save(id,value){\r\n var data = {\r\n id: id,\r\n value: value\r\n }\r\n console.log(data);\r\n this.showroomService.updateSensorValue(data).subscribe(_ => {\r\n console.log(\"UPDATE SENSOR: \",_);\r\n });\r\n }\r\n\r\n toggleFullScreen() {\r\n if (!this.isFullScreen) {\r\n this.docElement.requestFullscreen();\r\n }\r\n else {\r\n document.exitFullscreen();\r\n }\r\n this.isFullScreen = !this.isFullScreen;\r\n }\r\n\r\n sharedWindow(value){\r\n //this.sharedVideoAnalitica(0);\r\n var data ={\r\n id: 'sharedControl',\r\n value: 1\r\n }\r\n this.showroomService.updatePanelValue(data).subscribe(_ =>{\r\n console.log(\"update shared\");\r\n });\r\n }\r\n\r\n sharedVideoAnalitica(value){\r\n this.sharedWindow(0);\r\n var data ={\r\n id: 'sharedControl',\r\n value: 0\r\n }\r\n this.showroomService.updatePanelValue(data).subscribe(_ =>{\r\n console.log(\"update shared\");\r\n });\r\n }\r\n\r\n listPanels(){\r\n var _this = this;\r\n _this.nivel = _this.showroomService.getNivel();\r\n _this.temperatura = _this.showroomService.getTemperatura();\r\n _this.presion = _this.showroomService.getPresion();\r\n _this.bomba = _this.showroomService.getBomba();\r\n\r\n if(_this.showDataPanel){\r\n\r\n _this.showroomService.getPanels().subscribe(_=>{\r\n if(_.error == null){\r\n _this.showDataPanel = false;\r\n _.data = _.data.filter(_ =>_.id != 'sharedControl');\r\n _.data.forEach( _ =>{\r\n\r\n if(_.id == 0){\r\n _this.imagePanel = environment.pathFile + \"assets/showroom/\"+_.value+\".png\";\r\n }else{\r\n if(_.value){ document.getElementById('actuactorPanel'+_.id).style.display=\"initial\"; }\r\n else{ document.getElementById('actuactorPanel'+_.id).style.display=\"none\"; }\r\n }\r\n\r\n });\r\n _this.showDataPanel = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n showPBI(){\r\n let dialogRef = this.dialog.open(ModalReportSensorPbiShowRoomComponent, {\r\n width: '1000px',\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
0\">\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n keyboard_arrow_left\r\n
\r\n
\r\n\r\n
\r\n
0\">\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n keyboard_arrow_right\r\n
\r\n
\r\n
\r\n
\r\n CAPTURAR VALORES\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n G&S\r\n gestiĆ³n y sistemas\r\n
\r\n\r\n
\r\n
\r\n \r\n

Captura de datos exitosa

\r\n
\r\n
","import { ChangeContext, Options } from '@angular-slider/ngx-slider';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport html2canvas from \"html2canvas\"; \r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NgxCaptureService } from 'ngx-capture';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { __values } from 'tslib';\r\n\r\n@Component({\r\n selector: 'app-showroom-panel',\r\n templateUrl: './showroom-panel.component.html',\r\n styleUrls: ['./showroom-panel.component.css']\r\n})\r\nexport class ShowroomPanelComponent implements OnInit {\r\n actuators = [];\r\n staticActuators = [];\r\n startButton = 0;\r\n stopButton = 0;\r\n startAlert = 0;\r\n stopAlert = 0;\r\n stepIndex: number = 0;\r\n showScreenshot = false;\r\n showMenu = false;\r\n humedadLoop:any;\r\n imagePath:any;\r\n @ViewChild('screen', { static: true }) screen: any;\r\n\r\n public steps: Array;\r\n finalValue: number = 0;\r\n options: Options = {\r\n floor: 0,\r\n ceil: 100,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n };\r\n\r\n options2: Options = {\r\n floor: 0,\r\n ceil: 100,\r\n showTicks: false,\r\n showTicksValues: true,\r\n stepsArray: [\r\n {value: 0},\r\n {value: 10},\r\n {value: 25},\r\n {value: 50},\r\n {value: 100}\r\n ],\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n };\r\n \r\n constructor(\r\n public dialog: MatDialog,\r\n private router: Router,\r\n private spinner: NgxSpinnerService,\r\n private _sanitizer: DomSanitizer,\r\n public showroomService: ShowRoomService,\r\n public captureService: NgxCaptureService) {\r\n this.spinner.show();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getListActuators();\r\n }\r\n\r\n selectMenu(){\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n onInputChangeSlider($event: any,item:any) {\r\n this.stepIndex = +$event.value;\r\n var array = item.stepOptions.split(\",\");\r\n var data = parseInt(array[this.stepIndex]);\r\n this.actuators.filter(_ => {\r\n if(_.id == item.id){\r\n if(data != _.value){ _.update = 1; }else{ _.update = 0; }\r\n _.value = data;\r\n }\r\n });\r\n //document.getElementById(\"value-slider\"+item.id).innerHTML = array[this.stepIndex] + \"%\";\r\n this.saveActuators();\r\n }\r\n /*\r\n @HostListener('contextmenu', ['$event'])\r\n onRightClick(event) {\r\n event.preventDefault();\r\n }\r\n */\r\n getListActuators(){\r\n this.showroomService.getListActuators().subscribe((_) => {\r\n this.actuators = _.data;\r\n var start = parseInt(this.actuators.filter(_ => _.id == 6)[0].value);\r\n var stop = parseInt(this.actuators.filter(_ => _.id == 7)[0].value);\r\n var startAlert = parseInt(this.actuators.filter(_ => _.id == 11)[0].value);\r\n var stopAlert = parseInt(this.actuators.filter(_ => _.id == 12)[0].value);\r\n // if(start==1 && stop==0){ start = 0; }\r\n this.stopButton = stop;\r\n this.startButton = start; \r\n this.stopAlert = stopAlert;\r\n this.startAlert = startAlert; \r\n this.actuators.filter(_ => {\r\n let options;\r\n console.log(\"sensors \"+ _.idSensors);\r\n _.idPanel = \"panelActuator\"+_.id;\r\n if(_.maxLimit > 0){\r\n _.value =(_.value * 100) / _.maxLimit;\r\n }\r\n if(_.type==2){\r\n _.colors = ['#e5f6ff', '#82cfff'];\r\n }else{\r\n if(_.stepOptions != \"\" && _.stepOptions){\r\n var stepsArray = [];\r\n var array = _.stepOptions.split(\",\");\r\n array.forEach(function(n) {\r\n stepsArray.push({value: n});\r\n })\r\n options = {\r\n floor: 0,\r\n ceil: 100,\r\n showTicks: false,\r\n showTicksValues: true,\r\n stepsArray: stepsArray,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n };\r\n }else{\r\n options = {\r\n floor: 0,\r\n ceil: 100,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(_.type == 6){\r\n _.relationshipActuators.filter(__ => {\r\n __.idPanel = \"panelActuator\"+__.id;\r\n __.update = 0;\r\n });\r\n }\r\n console.log(\"valor :\"+ _.value);\r\n _.dataValue = _.value;\r\n _.options = options;\r\n _.update = 0;\r\n _.beforeValue = _.value;\r\n });\r\n this.staticActuators = this.actuators;\r\n this.staticActuators = this.staticActuators.filter(_ => _.id != 6 && _.id != 7 && _.id != 11 && _.id != 12);\r\n console.log(this.staticActuators);\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n\r\n formatLabel(value: number | null) {\r\n if (!value) {\r\n return 0;\r\n }\r\n\r\n if (value >= 1000) {\r\n var data = Math.round(value / 1000);\r\n return data + '%';\r\n }\r\n \r\n return value;\r\n }\r\n\r\n formatLabel2(value: number | null) {\r\n if (!value) {\r\n return 0;\r\n }\r\n var array = [0, 25, 50, 75, 90];\r\n value = array[value];\r\n\r\n if (value >= 1000) {\r\n var data = Math.round(value / 1000);\r\n return data + '%';\r\n }\r\n \r\n return value;\r\n }\r\n\r\n onInputChange(changeContext: ChangeContext,item:any): void {\r\n var data = changeContext.value;\r\n var id = item.id;\r\n var beforeValue = item.beforeValue;\r\n // document.getElementById(\"value-slider\"+id).innerHTML = data.toString() + \"%\";\r\n /**/\r\n this.actuators.filter(_ => {\r\n if(_.id == id){\r\n if(data != beforeValue){ _.update = 1; }else{ _.update = 0; }\r\n var dataValue = data;\r\n if(item.maxLimit > 0){\r\n dataValue = (item.maxLimit * data)/100;\r\n }\r\n _.dataValue = parseFloat(dataValue.toString());\r\n _.value = data;\r\n _.beforeValue = data;\r\n }\r\n });\r\n this.staticActuators = this.actuators;\r\n this.staticActuators = this.staticActuators.filter(_ => _.id != 6 && _.id != 7 && _.id != 11 && _.id != 12);\r\n this.saveActuators();\r\n }\r\n\r\n /*onInputChange(data: any,item:any) {\r\n console.log(data);\r\n var data = Math.round(event.value / 1000);\r\n var id = event.source._elementRef.nativeElement.id\r\n document.getElementById(\"value-slider\"+id).innerHTML = data.toString() + \"%\";\r\n var dataValue = data;\r\n if(item.maxLimit > 0){\r\n dataValue = (item.maxLimit * data)/100;\r\n }\r\n this.actuators.filter(_ => {\r\n if(_.id == id){\r\n if(dataValue != _.value){ _.update = 1; }else{ _.update = 0; }\r\n _.value = dataValue;\r\n }\r\n });\r\n }*/\r\n\r\n onChangeToogle(value, id){\r\n var valueActuator;\r\n if(value){ valueActuator = 0; }else{ valueActuator = 1; }\r\n this.actuators.filter(_ => {\r\n if(_.id == id){\r\n _.update = 1;\r\n _.value = valueActuator;\r\n _.dataValue = _.value;\r\n if(_.type==6){\r\n _.relationshipActuators.filter(__ => {\r\n __.update = 1;\r\n __.value = 0;\r\n __.dataValue = __.value;\r\n });\r\n }\r\n }\r\n });\r\n this.staticActuators = this.actuators;\r\n this.staticActuators = this.staticActuators.filter(_ => _.id != 6 && _.id != 7 && _.id != 11 && _.id != 12);\r\n this.saveActuators();\r\n\r\n if(id == 14){ // Humedad\r\n var dataH = {\r\n id: id,\r\n value: valueActuator\r\n }\r\n var _this = this;\r\n clearInterval(_this.humedadLoop);\r\n this.humedadLoop = setInterval(()=>{\r\n _this.showroomService.updateSensorlValue(dataH).subscribe(_ =>{\r\n console.log(\"update sensor\");\r\n });\r\n },2000);\r\n }\r\n }\r\n\r\n onChangeToogleChild(idParent, value, id){\r\n this.actuators.filter(_ => {\r\n if(_.id == idParent){\r\n _.update = 1;\r\n _.relationshipActuators.filter(__ =>{\r\n if(__.id == id){\r\n __.update = 1;\r\n if(value){ __.value = 0; }else{ __.value = 1; }\r\n __.dataValue = __.value;\r\n }\r\n });\r\n }\r\n });\r\n this.staticActuators = this.actuators;\r\n this.staticActuators = this.staticActuators.filter(_ => _.id != 6 && _.id != 7 && _.id != 11 && _.id != 12);\r\n this.saveActuators();\r\n }\r\n/*\r\n @HostListener('contextmenu', ['$event'])\r\n onRightClick(event) {\r\n event.preventDefault();\r\n }\r\n*/\r\n saveActuators(){\r\n //this.spinner.show();\r\n console.log('data enviada');\r\n console.log(this.actuators);\r\n this.showroomService.updateActuators(this.actuators).subscribe((_) => {\r\n // this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n // this.spinner.hide();\r\n });\r\n }\r\n\r\n playButtonShowRoom(){\r\n this.startButton = 1;\r\n this.stopButton = 1;\r\n this.actuators.filter(_ => {\r\n if(_.id == 6){\r\n _.update = 1;\r\n _.value = 1;\r\n }\r\n if(_.id == 7){\r\n _.update = 1;\r\n _.value = 0;\r\n }\r\n _.dataValue = _.value;\r\n });\r\n this.saveActuators();\r\n }\r\n\r\n stopButtonShowRoom(){\r\n this.startButton = 0;\r\n this.stopButton = 0;\r\n this.actuators.filter(_ => {\r\n if(_.id == 6){\r\n _.update = 1;\r\n _.value = 0;\r\n }\r\n if(_.id == 7){\r\n _.update = 1;\r\n _.value = 1;\r\n }\r\n _.dataValue = _.value;\r\n });\r\n console.log(this.actuators);\r\n this.saveActuators();\r\n }\r\n\r\n playButtonAlert(){\r\n this.showroomService.startAlert().subscribe(_ =>{});\r\n this.startAlert = 1;\r\n this.stopAlert = 1;\r\n this.actuators.filter(_ => {\r\n if(_.id == 11){\r\n _.update = 1;\r\n _.value = 1;\r\n }\r\n if(_.id == 12){\r\n _.update = 1;\r\n _.value = 0;\r\n }\r\n _.dataValue = _.value;\r\n });\r\n this.saveActuators();\r\n } \r\n\r\n stopButtonAlert(){\r\n this.showroomService.stopAlert().subscribe(_ =>{});\r\n this.startAlert = 0;\r\n this.stopAlert = 0;\r\n this.actuators.filter(_ => {\r\n if(_.id == 11){\r\n _.update = 1;\r\n _.value = 0;\r\n }\r\n if(_.id == 12){\r\n _.update = 1;\r\n _.value = 1;\r\n }\r\n _.dataValue = _.value;\r\n });\r\n this.saveActuators();\r\n }\r\n\r\n changeIcon(){\r\n this.router.navigate(['/gys/showroom']);\r\n }\r\n\r\n save(){ \r\n this.spinner.show();\r\n this.saveActuators();\r\n var _this = this;\r\n setTimeout(function(){\r\n html2canvas(document.querySelector('.control-actuators')).then(function(canvas) {\r\n _this.imagePath = canvas.toDataURL('image/png');\r\n _this.showScreenshot = true; \r\n _this.spinner.hide();\r\n setTimeout(function(){\r\n _this.showScreenshot = false; \r\n }, 3000)\r\n });\r\n }, 100);\r\n }\r\n\r\n getDate(){\r\n var d = new Date(),\r\n hora = d.getHours(),\r\n minutos = d.getMinutes(),\r\n segundos = d.getSeconds(),\r\n month = (d.getMonth()+1),\r\n day = d.getDate().toString();\r\n if(parseInt(day) < 10){ day = \"0\"+day.toString(); }\r\n var m = month.toString();\r\n if(month < 10){ m = \"0\"+month; }\r\n return d.getFullYear() + \"-\" + m + \"-\" + day + \" \"+ hora+\":\"+minutos+\":\"+segundos;\r\n }\r\n\r\n}\r\n","","import { Component, OnInit } from '@angular/core';\r\nimport { io } from \"socket.io-client\";\r\n\r\n@Component({\r\n selector: 'app-showroom-va-streaming',\r\n templateUrl: './showroom-va-streaming.component.html',\r\n styleUrls: ['./showroom-va-streaming.component.css']\r\n})\r\n\r\nexport class ShowroomVAStreamingComponent implements OnInit {\r\n socket = io('ws://192.168.2.51:8080/camera-feed');\r\n\r\n constructor() { \r\n }\r\n\r\n ngOnInit(): void {\r\n this.socket.on('new-frame', message => {\r\n document.getElementById('camera-frame').setAttribute(\r\n 'src', `data:image/jpeg;base64,${message.base64}`\r\n );\r\n });\r\n var _this = this;\r\n window.setInterval(() => {\r\n _this.socket.emit('request-frame', {});\r\n }, 100);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Tipo de alerta\r\n \r\n 0\">\r\n Todos\r\n \r\n \r\n {{cameraAlerts.c_Alert}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Estado de alertas\r\n NĀŗ de Alertas: {{countAlerts}}\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CameraZoneViewModel } from 'src/app/models/camera/camera';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService,MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport 'fabric';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { OcurrenceService } from 'src/app/services/Ocurrence/ocurrence.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { ModalReportVideoAnaliticaShowRoomComponent } from 'src/app/shared/components/modals/showroom/modal-report-video-analitica-show-room/modal-report-video-analitica-show-room.component';\r\n\r\ndeclare const fabric: any;\r\n\r\n@Component({\r\n selector: 'app-showroom-va',\r\n templateUrl: './showroom-va.component.html',\r\n styleUrls: ['./showroom-va.component.css']\r\n})\r\nexport class ShowroomVaComponent implements OnInit {\r\n imgAlert = \"../../../../assets/images/sin_image.jpg\";\r\n loading: boolean = false;\r\n enterprises = [];\r\n enterpriseSelect: number = 0;\r\n enterprisesZones = [];\r\n enterpriseZoneSelect: number = 0;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index', 'camera', 'enabled'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n subscription: Subscription;\r\n listCameras = new Array();\r\n reportForm: FormGroup;\r\n myDate = new Date();\r\n alertSelect: number = 0;\r\n idStorageFile: number;\r\n date = new Date();\r\n dateF = new Date();\r\n timeI: string;\r\n timeF: string;\r\n dateV:string;\r\n\r\n dateIView:string;\r\n dateFView:string;\r\n\r\n image: any;\r\n file: File = null;\r\n canvas: any;\r\n genredCanva: boolean = true;\r\n nameMarker: string = '';\r\n cameraId: number = 0;\r\n cameraSelect: number = 0;\r\n cameras = [];\r\n zoneId: number = 0;\r\n filterCamera = '';\r\n countAlerts = 0;\r\n isAdministrator=false;\r\n cameraAlert = [];\r\n cameraAlertType = [];\r\n filter = 0;\r\n private _hubConnection: HubConnection;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n private cameraService: CameraService,\r\n private alertService: AlertService,\r\n private OcurrenceService: OcurrenceService,\r\n private showRoomService: ShowRoomService,\r\n private formBuilder: FormBuilder,\r\n private datePipe: DatePipe\r\n ) {\r\n this.cameraSelect = 235//228;\r\n }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\r\n\r\n\r\n this.enterpriseSelect = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.getZonesByEnterprise(68);\r\n this.getCanvas();\r\n this.changeCamera();\r\n\r\n const connection = this._hubConnection = new HubConnectionBuilder()\r\n .withUrl(environment.wsUrl +\"/ws/showroom\",{\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n var _this = this;\r\n connection.on(\"newAlertShowRoom\", (data) => {\r\n _this.cameraAlert.splice(0, 0, data);\r\n _this.countAlerts++;\r\n _this.OcurrenceService.GetListOcurrenceById(data.ocurennceId).subscribe((response) => {\r\n if(response.idStorageFile == 1){\r\n _this.imgAlert = environment.pathFile + response.patch;\r\n }\r\n });\r\n });\r\n connection.start().catch(err => document.write(err));\r\n /* connection.start().then(function () {\r\n\r\n var filterData;\r\n filterData = {\r\n dateI: 0,\r\n dateF: 0,\r\n timeI: 0,\r\n timeF: 0,\r\n zoneId: 142,\r\n alertId: _this.alertSelect,\r\n cameraId: 228\r\n };\r\n console.log(filterData);\r\n connection.stream('GetAlerts', filterData.toString()).subscribe({\r\n next: (response) => {\r\n console.log(\"return data alerts\",response);\r\n _this.cameraAlert = response;\r\n _this.countAlerts = response.length;\r\n if(response.length > 0 && _this.filter == 0){\r\n var dateI = _this.cameraAlert[response.length - 1].date;\r\n _this.date = dateI;\r\n _this.dateF = _this.myDate;\r\n }\r\n _this.spinner.hide();\r\n if(_this.countAlerts > 0){\r\n _this.clearCanvas();\r\n _this.createMarkers();\r\n _this.alerta(_this.cameraAlert[response.length - 1].ocurennceId,1);\r\n }\r\n },\r\n complete: () => {\r\n console.log(\"finished.\");\r\n },\r\n error: (err) => {\r\n console.log(err);\r\n }\r\n });\r\n })*/\r\n\r\n\r\n\r\n\r\n\r\n /* window.setInterval(() => {\r\n this.socketShowRoom.emit('showroomshowroom/va', {});\r\n }, 100);\r\n this.refreshAlerts(1);\r\n //this.changeCamera();\r\n setInterval(() => {\r\n this.refreshAlerts(0);\r\n }, 2000);\r\n\r\n setInterval(() => {\r\n window.location.reload();\r\n },600000);*/\r\n }\r\n\r\n createForm() {\r\n this.reportForm = this.formBuilder.group({\r\n enterpriseId: [68, [Validators.required]],\r\n zoneId: [142, [Validators.required]],\r\n cameraReport: [228, [Validators.required]],\r\n alertReport: [0, []],\r\n });\r\n }\r\n\r\n refreshAlerts(init){\r\n this.updateColor();\r\n this.getCameras(this.enterpriseZoneSelect,0);\r\n this.ocurrenceListByCamera(init);\r\n }\r\n/*\r\n cameraList() {\r\n this.cameras = [];\r\n this.cameraService.GetListCameraByEnterprise(this.enterpriseSelect).subscribe((response) => {\r\n this.cameras = this.cameras.concat(response);\r\n this.cameraSelect = 0;\r\n this.createMarkers();\r\n this.changeCamera();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }*/\r\n\r\n updateColor(){\r\n let data = this.listCameras;\r\n for(let j= 0;j < data.length;j++){\r\n let registers =\r\n {\r\n cameraId: data[j].cameraId\r\n }\r\n this.cameraService.postColor(registers).subscribe(\r\n result => {\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n get f() { return this.reportForm.controls; }\r\n\r\n showAllAlert(){\r\n this.cameraSelect = 228;\r\n this.alertSelect = 0;\r\n this.filterCamera = \"\";\r\n this.filter = 0;\r\n this.ocurrenceListByCamera(0);\r\n }\r\n\r\n getCanvas() {\r\n this.canvas = new fabric.Canvas('canvas');\r\n var _this = this;\r\n this.canvas.on('mouse:down', function (e) {\r\n _this.filterCamera = \" - \"+ e.target.camera;\r\n _this.cameraSelect = e.target.cameraId;\r\n _this.changeCamera();\r\n _this.reportForm.controls['cameraReport'].setValue(_this.cameraSelect);\r\n _this.ocurrenceListByCamera(0);\r\n // _this.cameraAlert = _this.cameraAlert.filter(x => x.cameraId == _this.cameraSelect);\r\n return false;\r\n });\r\n }\r\n\r\n getEnterprises() {\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getZonesByEnterprise(this.enterpriseSelect);\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getZonesByEnterprise(enterpriseId: number) {\r\n this.enterprisesZones = [];\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n if (response.enterpriseZone.length > 0) {\r\n this.idStorageFile = response.idStorageFile;\r\n this.enterprisesZones = response.enterpriseZone;\r\n this.enterprisesZones.forEach(function(e){\r\n if(response.idStorageFile == 1){ // Mode Local\r\n e.zonePath = environment.pathFile + e.zonePath;\r\n }\r\n });\r\n this.enterpriseZoneSelect = this.enterprisesZones[0][\"zoneId\"];\r\n if(this.enterprisesZones[0][\"zonePath\"]){\r\n this.changeImage(this.enterprisesZones[0][\"zonePath\"]);\r\n }else{\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n //this.getCameras(this.enterpriseZoneSelect,1);\r\n this.zoneId = this.enterpriseZoneSelect;\r\n this.reportForm.controls['zoneId'].setValue(this.zoneId);\r\n //this.ocurrenceListByCamera();\r\n this.getCameras(this.zoneId,1);\r\n } else {\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getCameras(zoneId: number,init: number) {\r\n this.cameraService.getCameraByZoneCP(zoneId).subscribe((response => {\r\n this.listCameras = response;\r\n this.dataSource.data = this.listCameras;\r\n this.spinner.hide();\r\n if(init){\r\n this.clearCanvas();\r\n this.createMarkers();\r\n }\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n clearCanvas() {\r\n this.canvas.remove(...this.canvas.getObjects());\r\n }\r\n\r\n positionMarkers() {\r\n let data = this.canvas._objects.filter(f => f.cameraId != undefined);\r\n data.forEach(f => {\r\n let index = this.listCameras.findIndex(item => item.cameraId == f.cameraId);\r\n if (index != -1) {\r\n var obj = this.listCameras[index];\r\n obj.cameraPosX = f.group.left;\r\n obj.cameraPosY = f.group.top;\r\n }\r\n });\r\n }\r\n\r\n createMarkers() {\r\n for (var i = 0; i < this.listCameras.length; i++) {\r\n var obj = this.listCameras[i];\r\n if (obj.cameraPosX != 0 && obj.cameraPosY != 0) {\r\n //Dynamic red - alerts\r\n var color = obj.cameraColor;\r\n if(color == \"red\"){\r\n if(this.cameraAlert.filter(x => x.camera == obj.camera).length < 1){\r\n color = \"green\";\r\n }\r\n }\r\n this.newGroup(obj,color);\r\n }\r\n }\r\n }\r\n\r\n newGroup(obj,color) {\r\n var _this = this;\r\n if(this.idStorageFile == 1){ // Mode Local\r\n obj.pathPinMap = environment.pathFile + obj.pathPinMap;\r\n }\r\n new fabric.Image.fromURL(obj.pathPinMap,\r\n function(img) {\r\n img.scaleToWidth(40);\r\n img.scaleToHeight(40);\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n angle: 0,\r\n top: -10,\r\n scaleX: obj.oppositeMapDirection == '0' ? 0.1 : -0.1,\r\n scaleY: 0.1\r\n });\r\n\r\n var text = new fabric.Text(obj.camera, //.replace(\" \",\"\\n\")\r\n {\r\n textBackgroundColor:color,\r\n fill: 'white',\r\n fontSize: 15,\r\n originX: 'center',\r\n originY: 'center'\r\n }\r\n );\r\n\r\n var group = new fabric.Group([text, img1], {\r\n left: obj.cameraPosX,\r\n top: obj.cameraPosY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n camera: obj.camera,\r\n cameraId: obj.cameraId,\r\n });\r\n\r\n _this.canvas.add(group);\r\n });\r\n }\r\n\r\n stopDragging(element) {\r\n element.lockMovementX = true;\r\n element.lockMovementY = true;\r\n }\r\n\r\n changeImage(urlImage : string) {\r\n fabric.Image.fromURL(urlImage, (img) => {\r\n img.set({\r\n opacity: 0.5,\r\n scaleX: this.canvas.width / img.width,\r\n scaleY: this.canvas.height / img.height,\r\n });\r\n this.canvas.setBackgroundImage(img, this.canvas.requestRenderAll.bind(this.canvas));\r\n });\r\n }\r\n\r\n ocurrenceListByCamera(init) {\r\n var filterData;\r\n //if(this.filter){\r\n filterData = {\r\n dateI: 0,\r\n dateF: 0,\r\n timeI: 0,\r\n timeF: 0,\r\n zoneId: 142,\r\n alertId: this.alertSelect,\r\n cameraId: 228\r\n };\r\n /*}else{\r\n filterData = {\r\n dateI: 0,\r\n dateF: 0,\r\n timeI: 0,\r\n timeF: 0,\r\n zoneId: 142,\r\n alertId: this.alertSelect,\r\n cameraId: 228\r\n };\r\n }\r\n*/\r\n this.OcurrenceService.GetListOcurrenceCP(filterData).subscribe((response) => {\r\n this.cameraAlert = response;\r\n this.countAlerts = response.length;\r\n if(response.length > 0 && this.filter == 0){\r\n var dateI = this.cameraAlert[response.length - 1].date;\r\n this.date = dateI;\r\n this.dateF = this.myDate;\r\n }\r\n this.spinner.hide();\r\n if(this.countAlerts > 0){\r\n this.clearCanvas();\r\n this.createMarkers();\r\n this.alerta(this.cameraAlert[0].ocurennceId,1);\r\n }\r\n /* if(filterData.cameraId != 0){\r\n this.filterCamera = \" - \"+ this.listCameras.find(x => x.cameraId == filterData.cameraId).camera;\r\n }else{\r\n this.filterCamera = \" - todas las cƔmaras\";\r\n }*/\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n this.cameraAlert = [];\r\n });\r\n }\r\n\r\n showReport(){\r\n let dialogRef = this.dialog.open(ModalReportVideoAnaliticaShowRoomComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_SENSOR,\r\n action: 0,\r\n },\r\n panelClass: 'report-modal',\r\n width: '1000px',\r\n hasBackdrop: true\r\n });\r\n }\r\n\r\n changeCamera() {\r\n this.cameraAlertType = [];\r\n this.alertSelect = 0;\r\n var cameraId = this.cameraSelect;// this.filterCameraId = 0 ? this.cameraSelect : this.filterCameraId;\r\n //if(cameraId != 0){\r\n this.cameraService.GetAlertByCamera(cameraId,0).subscribe((response) => {\r\n this.cameraAlertType = response;\r\n //this.alertSelect = cameraId;\r\n this.spinner.hide();\r\n this.searchAlerts();\r\n //this.searchAlerts();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.cameraAlertType = []\r\n });\r\n //}\r\n\r\n }\r\n\r\n alerta(id,init) {\r\n this.OcurrenceService.GetListOcurrenceById(id).subscribe((response) => {\r\n if(response.idStorageFile == 1){\r\n this.imgAlert = environment.pathFile + response.patch;\r\n }\r\n });\r\n /*var _this = this;\r\n setInterval(()=>{\r\n _this.filter = false;\r\n },10000);*/\r\n /*let dialogRef = this.dialog.open(PanelCameraModalComponent, {\r\n data: { ocurrenceId: id, cameraId: id1, enterpiseId: this.enterpriseSelect },\r\n width: '800px', hasBackdrop: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(() => {\r\n this.refreshAlerts();\r\n });*/\r\n }\r\n\r\n searchAlerts(){\r\n if (this.reportForm.valid) {\r\n //this.filter = true;\r\n this.imgAlert = \"../../../../assets/images/sin_image.jpg\";\r\n var data = this.reportForm.value;\r\n this.ocurrenceListByCamera(0);\r\n /*var zone = this.reportForm.value[\"zoneId\"];\r\n if(this.enterpriseZoneSelect != zone){\r\n this.changeZone(zone);\r\n }else{\r\n var data = this.reportForm.value;\r\n this.ocurrenceListByCamera(data);\r\n }*/\r\n }\r\n }\r\n\r\n _keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n }\r\n\r\n changeZone() {\r\n this.nameMarker = ''\r\n this.clearCanvas();\r\n this.zoneId = this.enterpriseZoneSelect;\r\n var item = this.enterprisesZones.filter(f => f.zoneId == this.zoneId);\r\n if(item[0][\"zonePath\"] != null && item[0][\"zonePath\"] != \"\"){\r\n this.changeImage(item[0][\"zonePath\"]);\r\n }\r\n this.getCameras(this.zoneId,1);\r\n }\r\n\r\n changeAlert(data){\r\n this.alertSelect = data.value;\r\n this.searchAlerts();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
PLATAFORMA VIDEOANALƍTICA
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n
\r\n \r\n keyboard_arrow_left\r\n \r\n
\r\n \r\n
\r\n
0\">\r\n \r\n \r\n \r\n
\r\n
\r\n keyboard_arrow_right\r\n
\r\n
\r\n \r\n\r\n
\r\n G&S\r\n gestiĆ³n y sistemas\r\n
\r\n
","import { Options } from '@angular-slider/ngx-slider';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, HostListener, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { ModalReportSensorPbiShowRoomComponent } from 'src/app/shared/components/modals/showroom/modal-report-sensor-pbi/modal-report-sensor-pbi-show-room.component';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-showroom',\r\n templateUrl: './showroom.component.html',\r\n styleUrls: ['./showroom.component.css']\r\n})\r\nexport class ShowroomComponent implements OnInit {\r\n public itemMenu: number;\r\n public steps: Array;\r\n showLab = false;\r\n isFullScreen: boolean = false;\r\n imagePanel = environment.pathFile + \"assets/showroom/1.png\";\r\n imagePanelOrden = 1;\r\n showMenu = false;\r\n docElement: HTMLElement;\r\n finalValue: number = 0;\r\n showDataPanel=true;\r\n elem: any;\r\n private _hubConnection: HubConnection;\r\n options: Options = {\r\n floor: 0,\r\n ceil: 100,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n };\r\n\r\n options2: Options = {\r\n floor: 0,\r\n ceil: 100,\r\n showTicks: false,\r\n showTicksValues: true,\r\n stepsArray: [\r\n {value: 0},\r\n {value: 10},\r\n {value: 25},\r\n {value: 50},\r\n {value: 100}\r\n ],\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n };\r\n actuators = [];\r\n staticActuators = [];\r\n constructor(private router: Router ,\r\n public dialog: MatDialog,\r\n public showroomService: ShowRoomService,) {\r\n this.itemMenu = 1;\r\n this.showroomService.getPanels().subscribe(_=>{\r\n if(_.error == null){\r\n var sc = _.data.filter( x => x.id == 'sharedControl')[0];\r\n if(sc.value){ _this.showLab = true;}else{ _this.showLab = false; }// _this.router.navigate(['/gys/showroom/panel/diagram/public']) }\r\n }\r\n });\r\n\r\n var _this = this;\r\n const connection = this._hubConnection = new HubConnectionBuilder()\r\n .withUrl(environment.wsUrl +\"/ws/showroom\",{\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n }).build();\r\n var _this = this;\r\n connection.on(\"sharedDiagram\", (data) => {\r\n _this.showLab = data;\r\n _this.openFullscreen();\r\n });\r\n connection.start().catch(err => document.write(err));\r\n /* setInterval(function () {\r\n if(_this.showDataPanel){\r\n _this.showroomService.getPanels().subscribe(_=>{\r\n if(_.error == null){\r\n _this.showDataPanel = false;\r\n var sc = _.data.filter( x => x.id == 'sharedControl')[0];\r\n console.log(\"redirrecion a diagrama\",sc.value);\r\n if(sc.value){ _this.showLab = true;}else{ _this.showLab = false; }// _this.router.navigate(['/gys/showroom/panel/diagram/public']) }\r\n _this.showDataPanel = true;\r\n }\r\n });\r\n }\r\n },\r\n 500);*/\r\n\r\n }\r\n\r\n getListActuators(){\r\n this.showroomService.getListActuators().subscribe((_) => {\r\n this.actuators = _.data;\r\n var start = parseInt(this.actuators.filter(_ => _.id == 6)[0].value);\r\n var stop = parseInt(this.actuators.filter(_ => _.id == 7)[0].value);\r\n var startAlert = parseInt(this.actuators.filter(_ => _.id == 11)[0].value);\r\n var stopAlert = parseInt(this.actuators.filter(_ => _.id == 12)[0].value);\r\n // if(start==1 && stop==0){ start = 0; }\r\n\r\n this.actuators.filter(_ => {\r\n let options;\r\n _.idPanel = \"panelActuator\"+_.id;\r\n if(_.maxLimit > 0){\r\n _.value =(_.value * 100) / _.maxLimit;\r\n }\r\n if(_.type==2){\r\n _.colors = ['#e5f6ff', '#82cfff'];\r\n }else{\r\n if(_.stepOptions != \"\" && _.stepOptions){\r\n var stepsArray = [];\r\n var array = _.stepOptions.split(\",\");\r\n array.forEach(function(n) {\r\n stepsArray.push({value: n});\r\n })\r\n options = {\r\n floor: 0,\r\n ceil: 100,\r\n showTicks: false,\r\n showTicksValues: true,\r\n stepsArray: stepsArray,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n };\r\n }else{\r\n options = {\r\n floor: 0,\r\n ceil: 100,\r\n showSelectionBar: true,\r\n selectionBarGradient: {\r\n from: 'white',\r\n to: '#01c4e7'\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(_.type == 6){\r\n _.relationshipActuators.filter(__ => {\r\n __.idPanel = \"panelActuator\"+__.id;\r\n __.update = 0;\r\n });\r\n }\r\n _.dataValue = _.value;\r\n _.options = options;\r\n _.update = 0;\r\n _.beforeValue = _.value;\r\n });\r\n this.staticActuators = this.actuators;\r\n this.staticActuators = this.staticActuators.filter(_ => _.id != 6 && _.id != 7 && _.id != 11 && _.id != 12);\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n\r\n });\r\n }\r\n ngOnInit() {\r\n this.docElement = document.documentElement;\r\n this.getListActuators();\r\n }\r\n\r\n goControl(){\r\n this.router.navigate(['/gys/showroom/panel/diagram/public']);\r\n }\r\n\r\n showMenuItem(item){\r\n this.itemMenu = item;\r\n }\r\n\r\n\r\n selectMenu(){\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n toggleFullScreen() {\r\n if (!this.isFullScreen) {\r\n this.docElement.requestFullscreen();\r\n }\r\n else {\r\n document.exitFullscreen();\r\n }\r\n this.isFullScreen = !this.isFullScreen;\r\n }\r\n\r\n\r\n nextPanel(){\r\n this.imagePanelOrden++;\r\n if(this.imagePanelOrden == 8){\r\n this.imagePanelOrden=1;\r\n }\r\n\r\n this.imagePanel = environment.pathFile + \"assets/showroom/\"+this.imagePanelOrden+\".png\";\r\n }\r\n/*\r\n @HostListener('contextmenu', ['$event'])\r\n onRightClick(event) {\r\n event.preventDefault();\r\n }*/\r\n\r\n\r\n getDate(){\r\n var d = new Date(),\r\n hora = d.getHours(),\r\n minutos = d.getMinutes(),\r\n segundos = d.getSeconds(),\r\n month = (d.getMonth()+1),\r\n day = d.getDate().toString();\r\n if(parseInt(day) < 10){ day = \"0\"+day.toString(); }\r\n var m = month.toString();\r\n if(month < 10){ m = \"0\"+month; }\r\n return d.getFullYear() + \"-\" + m + \"-\" + day + \" \"+ hora+\":\"+minutos+\":\"+segundos;\r\n}\r\n\r\n\r\nopenFullscreen() {\r\n if (this.elem.requestFullscreen) {\r\n this.elem.requestFullscreen();\r\n } else if (this.elem.mozRequestFullScreen) {\r\n /* Firefox */\r\n this.elem.mozRequestFullScreen();\r\n } else if (this.elem.webkitRequestFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.elem.webkitRequestFullscreen();\r\n } else if (this.elem.msRequestFullscreen) {\r\n /* IE/Edge */\r\n this.elem.msRequestFullscreen();\r\n }\r\n}\r\n\r\n showPBI(){\r\n let dialogRef = this.dialog.open(ModalReportSensorPbiShowRoomComponent, {\r\n width: '1000px',\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Color Primario*\r\n \r\n \r\n El Color 1 es requerido.\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Color Secundario*\r\n \r\n \r\n El Color 2 es requerido.\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseSettingService } from 'src/app/services/enterprise-setting/enterprise-setting.service';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-enterprise-profile',\r\n templateUrl: './enterprise-profile.component.html',\r\n styleUrls: ['./enterprise-profile.component.css']\r\n})\r\nexport class EnterpriseProfileComponent implements OnInit {\r\n settingForm: FormGroup\r\n title: string;\r\n loading: boolean = false;\r\n isAdminGys: boolean = false;\r\n sessionUserId: string;\r\n storageFileSelect: number;\r\n logo = \"../../../../../../assets/images/enterprise-default.png\";\r\n fileLogo: File;\r\n idEnterprise: number;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n colorPrimary: string;\r\n colorSecundary: string;\r\n\r\n constructor(\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private router: Router,\r\n private enterpriseSettingService: EnterpriseSettingService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService) {\r\n this.idEnterprise = +localStorage.getItem(AppConstants.Session.ENTERPRISE);\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Mi Empresa';\r\n }\r\n\r\n setTheme(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setTheme();\r\n this.title = AppConstants.TitleModal.UPDATE_ENTERPRISE_SETTING ;\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.createForm();\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.spinner.show();\r\n this.enterpriseSettingService.getEnterpriseSetting(this.idEnterprise).subscribe((response => {\r\n if(response.error == null && response.enterpriseSetting != null){\r\n this.settingForm.patchValue({\r\n idEnterprise: this.idEnterprise,\r\n color1: \"\",//response.enterpriseSetting.color1,\r\n color2: \"\",\r\n /*idStorageFile: response.enterpriseSetting.idStorageFile,\r\n pathFile: response.enterpriseSetting.pathFile,*/\r\n userId: parseInt(this.sessionUserId)\r\n });\r\n this.colorPrimary = response.enterpriseSetting.color1;\r\n this.colorSecundary = response.enterpriseSetting.color2;\r\n if(response.enterpriseSetting.logo != \"\" && response.enterpriseSetting.logo){\r\n if(response.enterpriseSetting.idStorageType == 2){//azure\r\n this.logo = response.enterpriseSetting.logo;\r\n }else{\r\n this.logo = response.enterpriseSetting.storagePath + \"/\"+response.enterpriseSetting.logo;\r\n }\r\n }\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n createForm() {\r\n this.settingForm = this.formBuilder.group({\r\n idEnterprise: this.idEnterprise,\r\n color1: [true, []],\r\n color2: [true, []],\r\n /*idStorageFile: [[Validators.required]],\r\n pathFile: [],*/\r\n userId: parseInt(this.sessionUserId)\r\n });\r\n }\r\n\r\n get f() { return this.settingForm.controls; }\r\n\r\n openConfirmationModal() {\r\n if (this.settingForm.valid) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.ENTERPRISE_SETTING_UPDATE,\r\n message: AppConstants.MessageModal.UPDATE_MESSAGE_ENTERPRISE_SETTING_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.update();\r\n }\r\n });\r\n\r\n } else {\r\n this.settingForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n update() {\r\n /*if(this.settingForm.get('idStorageFile').value == 1 && !this.settingForm.get('pathFile').value){\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal.REQUIRED_ENTERPRISE_SETTING_PATH_FILE, MessageSeverity.error);\r\n return false;\r\n }*/\r\n\r\n if(this.settingForm.valid){\r\n this.spinner.show();\r\n\r\n var formData = new FormData();\r\n formData.append(\"color1\",this.colorPrimary);\r\n formData.append(\"color2\",this.colorSecundary);\r\n formData.append(\"userId\",this.sessionUserId);\r\n formData.append(\"idEnterprise\",this.idEnterprise.toString());\r\n formData.append(\"logo\",this.fileLogo);\r\n\r\n this.enterpriseSettingService.updateEnterpriseSetting(formData).subscribe((response => {\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal.UPDATE_ENTERPRISE_SETTING, MessageSeverity.success);\r\n this.spinner.hide();\r\n // localStorage.setItem(AppConstants.Session.LOGO, enterprise.enterprises[0]['logo'].toString());\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR1, this.colorPrimary);\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR2, this.colorSecundary);\r\n \r\n window.location.reload();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(\"\", error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.settingForm.markAllAsTouched();\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal, MessageSeverity.error);\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n onFileSelected(event: any) {\r\n if (event.target.files && event.target.files[0]) {\r\n var reader = new FileReader();\r\n var _this = this;\r\n reader.onload = (event:any) => {\r\n _this.logo = event.target.result;\r\n }\r\n\r\n reader.readAsDataURL(event.target.files[0]);\r\n this.fileLogo = event.target.files[0];\r\n }\r\n }\r\n}\r\n\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n Correo\r\n \r\n \r\n El correo es requerido.\r\n \r\n \r\n El correo debe tener mƔximo 100 caractƩres.\r\n \r\n \r\n Error en el formato.\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Nombres(s)\r\n \r\n \r\n \r\n El nĆŗmero de documento debe tener mĆ”ximo 30 caractĆ©res.\r\n \r\n \r\n El nĆŗmero de documento es requerido.\r\n \r\n \r\n
\r\n
\r\n \r\n Apellidos\r\n \r\n \r\n \r\n El Apellido debe tener mƔximo 30 caractƩres.\r\n \r\n \r\n El Apellido es requerido.\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Nueva contraseƱa\r\n \r\n {{hide ? 'visibility_off' : 'visibility'}}\r\n \r\n La contraseƱa debe tener 6 caractƩres.\r\n \r\n \r\n
\r\n
\r\n \r\n Repetir Nueva ContraseƱa\r\n \r\n {{repeatHide ? 'visibility_off' : 'visibility'}}\r\n\r\n \r\n La contraseƱa debe tener 6 caractƩres.\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { UserService } from 'src/app/services/user/user.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-user-profile',\r\n templateUrl: './user-profile.component.html',\r\n styleUrls: ['./user-profile.component.css']\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n hide = true;\r\n repeatHide = true;\r\n userForm: FormGroup\r\n headquarterSelect = 0;\r\n headquarters = [];\r\n showEdit: boolean = false;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private spinner: NgxSpinnerService,\r\n private userService: UserService,\r\n private alertService: AlertService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Mi Perfil';\r\n }\r\n\r\n ngOnInit() {\r\n this.createForm()\r\n this.setValues();\r\n }\r\n\r\n createForm() {\r\n this.userForm = this.formBuilder.group({\r\n // documentNumber: ['', [Validators.required, Validators.minLength(8), Validators.maxLength(8)]],\r\n email: ['', [Validators.required, Validators.maxLength(100), Validators.email]],\r\n names: ['', [Validators.required, Validators.maxLength(30), this.noWhitespaceValidator]],\r\n lastName: ['', [Validators.required, Validators.maxLength(30), this.noWhitespaceValidator]],\r\n role: ['', [Validators.required]],\r\n password: ['', [Validators.minLength(6)]],\r\n confirmPassword: ['', [Validators.minLength(6)]],\r\n status: [true, [Validators.required]],\r\n sendEmail: [true, [Validators.required]],\r\n idHeadquarter: ['', []],\r\n idUser: [localStorage.getItem(AppConstants.Session.USERID)]\r\n // locked: [false],\r\n });\r\n }\r\n\r\n passwordMatcher(): boolean {\r\n const password = this.userForm.get('password');\r\n const confirmPassword = this.userForm.get('confirmPassword');\r\n\r\n if (password.value === confirmPassword.value) {\r\n return true;\r\n }\r\n return false ;\r\n }\r\n\r\n get f() { return this.userForm.controls; }\r\n\r\n setValues() {\r\n this.spinner.show();\r\n this.userService.getUserById(parseInt(localStorage.getItem(AppConstants.Session.USERID))).subscribe((response => {\r\n this.userForm.patchValue({\r\n // documentNumber: this.data.row.dni,\r\n email: response.username,\r\n names: response.names,\r\n lastName: response.lasName,\r\n // password: '******',\r\n // confirmPassword: '******',\r\n status: response.enabled,\r\n sendEmail: response.sendEmail,\r\n idHeadquarter: response.idHeadquarter\r\n // locked: response.locked\r\n });\r\n this.headquarterSelect = !response.idHeadquarter ? 0 : response.idHeadquarter;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n\r\n save(){\r\n\r\n if(!this.passwordMatcher()){\r\n this.alertService.showMessage(\"\", \"No coincide la contraseƱa con la contraseƱa de confirmaciĆ³n\", MessageSeverity.error);\r\n return false;\r\n }\r\n\r\n this.spinner.show();\r\n this.userService.updateUserMyProfile(this.userForm.value).subscribe((response => {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_USER, AppConstants.MessageModal.UPDATE_USER, MessageSeverity.success);\r\n localStorage.setItem(AppConstants.Session.USER,this.userForm.get('names').value+ \" \"+this.userForm.get('lastName').value);\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_USER, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n Buscar CƔmara\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ (item.camera.length>limitTitleStreaming) ? (item.camera | slice:0:limitTitleStreaming)+ '...' :(item.camera) }}\r\n \r\n \r\n\r\n
\r\n \"img-camera\"\r\n
\r\n
\r\n \"img-play\"\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n

{{ item.streamingDescription }}

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CameraStreaming } from 'src/app/models/streaming/cameraStreaming';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { StreamingService } from 'src/app/services/streaming/streaming.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-camera-streaming',\r\n templateUrl: './camera-streaming.component.html',\r\n styleUrls: ['./camera-streaming.component.css']\r\n})\r\n\r\nexport class CameraStreamingComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n isAdministrator=false;\r\n isAdministratorStreaming=false;\r\n enterprises = [];\r\n enterpriseSelect: number = 0;\r\n enterpriseToken: string;\r\n enterprisesZones = [];\r\n enterpriseZoneSelect: number = 0;\r\n listCameras = new Array();\r\n listInitCameras = new Array();\r\n listStreaming = [];\r\n limitTitleStreaming = 15;\r\n inputSearch = \"\";\r\n headquarterSelect = 0;\r\n headquarters=[];\r\n\r\n constructor(\r\n private enterpriseService: EnterpriseService,\r\n private streamingService: StreamingService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n private headquarterService: HeadquarterService,\r\n private alertService: AlertService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Streaming > CĆ”maras';\r\n }\r\n\r\n ngOnInit() {\r\n ///this.getEnterprises();\r\n if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.AdministradorGyS) this.isAdministrator = true;\r\n if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.AdministradorEmpresaStreaming) this.isAdministratorStreaming = true;\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getCameras();\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getCameras();\r\n }\r\n\r\n showStreaming(token: string,enterprise: number){\r\n var port = document.location.port;\r\n if(port){ port = \":\"+port;}\r\n var hostname = document.location.protocol +'//'+ document.location.hostname + ((port != \"80\") ? port : \"\");\r\n var url = hostname+\"/streaming/camera/\" + token;\r\n if(enterprise == 1){\r\n url = hostname+\"/streaming/enterprise/\" + token;\r\n }\r\n window.open(url, '_blank').focus();\r\n }\r\n\r\n copyIframe(token: string){\r\n this.spinner.show();\r\n this.streamingService.getIframeCamera(token).subscribe(_ => {\r\n if(_.error == null){\r\n let listener = (e: ClipboardEvent) => {\r\n e.clipboardData.setData('text/plain', _.iframe);\r\n e.preventDefault();\r\n };\r\n document.addEventListener('copy', listener);\r\n document.execCommand('copy');\r\n document.removeEventListener('copy', listener);\r\n this.alertService.showMessage(\"Se copiĆ³ el link del iframe de la cĆ”mara\", \"\", MessageSeverity.success);\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getEnterprises() {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n /*this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));*/\r\n this.enterpriseToken = response.filter(f => f.enterpriseId == this.enterpriseSelect)[0].token.toString();\r\n // this.getHeadquarters();\r\n //this.getZonesByEnterprise(this.enterpriseSelect);\r\n // this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getHeadquarters() {\r\n // if (this.isAdminGys) {\r\n //this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n this.headquarterSelect = 0;\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.getCameras();\r\n //this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n //} else {\r\n // this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n //}\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.listCameras = [];\r\n this.listStreaming = [];\r\n this.enterpriseToken = this.enterprises.filter(f => f.enterpriseId == this.enterpriseSelect)[0].token;\r\n this.getHeadquarters();\r\n //this.getZonesByEnterprise(this.enterpriseSelect);\r\n }\r\n\r\n getZonesByEnterprise(enterpriseId: number) {\r\n this.enterprisesZones = [];\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(enterpriseId).subscribe((response => {\r\n if (response.enterpriseZone.length > 0) {\r\n this.enterprisesZones = response.enterpriseZone;\r\n this.enterpriseZoneSelect = this.enterprisesZones[0][\"zoneId\"];\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getCameras() {\r\n this.spinner.show();\r\n this.listCameras = new Array();\r\n this.streamingService.getCameraByEnterprise(this.enterpriseSelect,this.headquarterSelect).subscribe((res => {\r\n if(res.error == null){\r\n this.listCameras = res.camera;\r\n this.listCameras.forEach(function (value) {\r\n value.play = false;\r\n\r\n if(value.streamingImage == null && !value.streamingImage){ value.streamingImage = \"../../../../../assets/images/sin_image.jpg\"; }\r\n //else{ value.streamingImage = environment.pathFile + value.streamingImage;}\r\n\r\n if(value.streamingDescription == null && !value.streamingDescription){ value.streamingDescription = \"\"; }\r\n });\r\n this.listInitCameras = this.listCameras;\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n playStreaming(id){\r\n var item = this.listCameras.filter(x => x.cameraId == id);\r\n if(item){\r\n item[0].play = true;\r\n }\r\n }\r\n\r\n /* changeZone(data) {\r\n var item = this.enterprisesZones.filter(f => f.zoneId == data.value);\r\n this.enterpriseToken = item[0].token;\r\n this.listStreaming = [];\r\n this.getCameras(data.value);\r\n }*/\r\n\r\n loadStream(data:CameraStreaming){\r\n var id = \"video\"+data.cameraId.toString();\r\n let searchData = this.listStreaming.filter(x => x.id.toString().startsWith(id));\r\n if(searchData.length > 0 ){\r\n for(let i = 0;this.listStreaming.length > i;i++){\r\n if(this.listStreaming[i].id == id){\r\n this.listStreaming.splice(i,1);\r\n }\r\n }\r\n }else{\r\n this.listStreaming = this.listStreaming.concat({\r\n id:id,\r\n name:data.camera,\r\n linkStre:data.streamingUrl,\r\n /*urlFile: data.streamingFile,\r\n streamingKey: data.streamingKey,*/\r\n token: data.token\r\n });\r\n }\r\n }\r\n\r\n\r\n search(){\r\n if(this.inputSearch != \"\"){\r\n this.listCameras = this.listCameras.filter(x => x.camera.toLowerCase().indexOf(this.inputSearch.toLowerCase()) != -1);\r\n }else{\r\n this.listCameras = this.listInitCameras;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Dominio {{element.domain}} Acciones \r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { StreamingDomainIframeService } from 'src/app/services/streamingDomainIframe/streamingDomainIframe.service';\r\nimport { ItemdomainIframeStreamingModalComponent } from 'src/app/shared/components/modals/domain-iframe-streaming/domain-iframe-streaming-modal.component';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-domain-iframe-streaming',\r\n templateUrl: './domain-iframe-streaming.component.html',\r\n styleUrls: ['./domain-iframe-streaming.component.css']\r\n})\r\nexport class StreamingDomainIframeComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n dataSources = new MatTableDataSource();\r\n displayedColumns: string[] = ['domain','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginators: MatPaginator;\r\n enterprises = [];\r\n headquarterSelect = 0;\r\n enterpriseSelect: number = 0;\r\n headquarters=[];\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private spinner: NgxSpinnerService,\r\n private router: Router,\r\n private securityService: StreamingDomainIframeService,\r\n private enterpriseService: EnterpriseService,\r\n private headquarterService: HeadquarterService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Streaming > Dominios Iframe ';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSources.paginator = this.paginators;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.paginators._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.getList();\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getEnterprises() {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.getHeadquarters();\r\n //this.getZonesByEnterprise(this.enterpriseSelect);\r\n // this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n}\r\n\r\ngetHeadquarters() {\r\n // if (this.isAdminGys) {\r\n //this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n this.headquarterSelect = 0;\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.getList();\r\n //this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n //} else {\r\n // this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n //}\r\n}\r\n\r\nchangeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.getList();//this.getHeadquarters();\r\n}\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getList();\r\n }\r\n\r\n getList(){\r\n this.securityService.getList(this.enterpriseSelect).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource.data = _.security;\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(ItemdomainIframeStreamingModalComponent, {\r\n data: { title: 'Agregar dominio', action: 0,idEnterprise: this.enterpriseSelect , enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,obj:null},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(ItemdomainIframeStreamingModalComponent, {\r\n data: { title: 'Actualizar dominio', action: 1,idEnterprise: this.enterpriseSelect ,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,obj:data},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_SECURITY_CONFIRMATION_MESSAGE1}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.securityService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SECURITY, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SECURITY, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Buscador\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Nombre {{element.name}} IP {{element.ip}} RMTP {{element.streamingRtmp}} File {{element.streamingFile}} Acciones \r\n create\r\n remove_red_eye\r\n delete\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { StreamingServerService } from 'src/app/services/streamingServer/streamingServer.service';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { ServerStreamingModalComponent } from 'src/app/shared/components/modals/server-streaming/server-streaming-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-server-streaming',\r\n templateUrl: './server-streaming.component.html',\r\n styleUrls: ['./server-streaming.component.css']\r\n})\r\nexport class ServerStreamingComponent implements OnInit {\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['name','ip','streamingRtmp','streamingFile','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n enterprises = [];\r\n enterpriseSelect = 0;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private spinner: NgxSpinnerService,\r\n private router: Router,\r\n private streamingServerService: StreamingServerService,\r\n private enterpriseService: EnterpriseService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Streaming > Servidores';\r\n }\r\n\r\n ngOnInit() {\r\n this.setTheme();\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.getList();\r\n }\r\n\r\n setTheme(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n getEnterprises() {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.getList();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getList(){\r\n this.spinner.show();\r\n this.streamingServerService.getList(this.enterpriseSelect).subscribe((_) => {\r\n if(_.error == null){\r\n this.dataSource.data = _.data;\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n openAddModal() {\r\n let dialogRef = this.dialog.open(ServerStreamingModalComponent, {\r\n data: { title: AppConstants.TitleModal.CREATE_SERVER_STREAMING, enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead, action: 0,idEnterprise: this.enterpriseSelect, obj:null,\r\n color: this.color1,colorFont:this.color2},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }\r\n\r\n openEditModal(data){\r\n let dialogRef = this.dialog.open(ServerStreamingModalComponent, {\r\n data: { title: AppConstants.TitleModal.UPDATE_SERVER_STREAMING, enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,action: 1,idEnterprise: this.enterpriseSelect,obj:data,\r\n color: this.color1,colorFont:this.color2},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n dialogRef.afterClosed().subscribe(_ => {\r\n this.getList();\r\n });\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.getList();\r\n }\r\n\r\n delete(obj) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_SERVER_CONFIRMATION_MESSAGE1}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteSecurity(obj.id);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteSecurity(id: number) {\r\n this.spinner.show();\r\n this.streamingServerService.delete(id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_STREAMING_SERVER, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_STREAMING_SERVER, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n}\r\n","
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Fecha inicio\r\n \r\n \r\n \r\n \r\n La fecha de Inicio es obligatorio\r\n \r\n \r\n La fecha de Inicio no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Fecha Fin\r\n \r\n \r\n \r\n \r\n La fecha Final es obligatorio\r\n \r\n \r\n La fecha Final no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora inicio\r\n \r\n \r\n La Hora Inicial es obligatorio\r\n \r\n \r\n La Hora Inicial tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora fin\r\n \r\n \r\n La Hora Final es obligatorio\r\n \r\n \r\n La Hora Final tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Vista GrƔfica\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Empresa {{element.enterprise}} CĆ”mara {{element.camera}} Fecha de Registro {{element.createdAt}} IP {{element.ip}} PC / MĆ³vil {{element.pc_movil}} Navegador {{element.browser}} Origen {{element.origin}} Dominio {{element.originDomain}} Agente {{element.userAgent}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ chart }}\r\n
\r\n
\r\n {{ chart2 }}\r\n
\r\n
\r\n {{ chart3 }}\r\n
\r\n
\r\n {{ chart4 }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { StreamingStadisticsService } from 'src/app/services/streamingStadistics/streamingStadistics.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { CameraService } from '../../../../services/camera/camera.service';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\nimport * as FileSaver from 'file-saver';\r\nimport { sum } from 'lodash';\r\nimport { StreamingStadisticsModel } from 'src/app/models/streamingStadistics/streamingStadistics';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material';\r\nimport { APP_DATE_FORMATS, AppDateAdapter } from 'src/app/shared/helpers/format-datepicker';\r\nimport {Chart} from 'chart.js';\r\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\r\n\r\n@Component({\r\n selector: 'app-streaming-stadistics',\r\n templateUrl: './streaming-stadistics.component.html',\r\n styleUrls: ['./streaming-stadistics.component.css']\r\n})\r\nexport class StreamingStadisticsComponent implements OnInit {\r\n dataSource = new MatTableDataSource();\r\n dataSources = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','enterprise', 'camera', 'createdAt', 'ip', 'pc_movil', 'browser', 'origin', 'originDomain', 'userAgent'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('chart', { static: false }) canvas: ElementRef;\r\n @ViewChild('chart2', { static: false }) canvas2: ElementRef;\r\n @ViewChild('chart3', { static: false }) canvas3: ElementRef;\r\n @ViewChild('chart4', { static: false }) canvas4: ElementRef;\r\n\r\n enterpriseSelect: number = 0;\r\n cameraSelect = \"TODOS\";\r\n length: number = 0;\r\n isAdministratorStreaming=false;\r\n reportForm: FormGroup;\r\n camerasSelect = new FormControl();\r\n myDate = new Date();\r\n pageEvent: PageEvent;\r\n pageSize: number = 12;\r\n cameras = [];\r\n enterprises = [];\r\n date = new Date();\r\n dateF = new Date();\r\n timeI: string;\r\n timeF: string;\r\n dateV:string;\r\n showData = false;\r\n showPaginator = true;\r\n displayListStadistics = 'block';\r\n dateIView:string;\r\n dateFView:string;\r\n dataStreamingStadistics: Array;\r\n headquarterSelect = 0;\r\n headquarters = [];\r\n dropdownSettings:IDropdownSettings;\r\n selectedItems = [];\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n showGraph = false;\r\n\r\n constructor(public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n private datePipe: DatePipe,\r\n private AlertService: AlertService,\r\n private headquarterService: HeadquarterService,\r\n private CameraService: CameraService,\r\n private streamingStadisticsService: StreamingStadisticsService,\r\n private formBuilder: FormBuilder) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Streaming > EstadĆ­sticas';\r\n this.camerasSelect.setValue([0]);\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'cameraId',\r\n textField: 'camera',\r\n tooltipField: 'CĆ”mara',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Limpiar',\r\n searchPlaceholderText: 'Buscar',\r\n noFilteredDataAvailablePlaceholderText: 'Item no encontrado',\r\n itemsShowLimit: 3,\r\n allowSearchFilter: false, //input search\r\n };/*\r\n Chart.register(ChartDataLabels);\r\n Chart.defaults.set('plugins.datalabels', {\r\n color: 'black'\r\n });*/\r\n }\r\n\r\n ngOnInit() {\r\n this.setTheme();\r\n if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.AdministradorEmpresaStreaming) this.isAdministratorStreaming = true;\r\n this.createForm();\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.cameraList();\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\r\n //this.setData();\r\n }\r\n\r\n setTheme(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n }\r\n\r\n ngAfterViewInit(){\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n _keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n }\r\n\r\n createForm() {\r\n this.reportForm = this.formBuilder.group({\r\n startDateReport: ['', [Validators.required]],\r\n endDateReport: ['', [Validators.required]],\r\n startTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n endTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n idEnterprise: ['0', [Validators.required]],\r\n idHeadquarter: ['0', [Validators.required]],\r\n // cameraReport: [[], [Validators.required]],\r\n idCameras:[],\r\n showGraph: [false]\r\n });\r\n }\r\n\r\n get f() { return this.reportForm.controls; }\r\n\r\n checkGraph(refreshData){\r\n if(!refreshData){\r\n this.showPaginator = !this.showPaginator;\r\n this.reportForm.controls[\"showGraph\"].setValue(this.reportForm.value[\"showGraph\"] == false ? true:false);\r\n }\r\n \r\n if(this.reportForm.value[\"showGraph\"]){ \r\n this.showData = true;\r\n /*if (this.canvas) {\r\n this.canvas.nativeElement.destroy(); // Destruye el grĆ”fico existente si ya estĆ” creado\r\n }*/\r\n //this.displayListStadistics = 'block';\r\n //var chartExist = Chart.getChart(\"myChart123\");\r\n /*var chartExist2 = Chart.getChart(\"myChart2\");\r\n var chartExist3 = Chart.getChart(\"myChart3\");\r\n var chartExist4 = Chart.getChart(\"myChart4\");\r\n if (chartExist != undefined){\r\n chartExist.destroy();\r\n /*chartExist2.destroy();\r\n chartExist3.destroy();\r\n chartExist4.destroy();*/\r\n // }*/\r\n //}\r\n\r\n // if(this.reportForm.get(\"showGraph\").value){\r\n this.displayListStadistics = 'none';\r\n if(!refreshData){this.displayListStadistics = 'none';}\r\n this.loadChartCamerasByVisit();\r\n this.loadPiePCMobile();\r\n this.loadChartTypesVisit();\r\n this.loadLineVisitByMonth();\r\n }else{\r\n this.showData = false;\r\n this.displayListStadistics = 'block';\r\n }\r\n }\r\n\r\n getHeadquarters() {\r\n // if (this.isAdminGys) {\r\n //this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n // this.headquarterSelect = 0;\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.cameraList();\r\n //this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n //} else {\r\n // this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n //}\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.cameraList();\r\n }\r\n\r\n cameraList() {\r\n this.cameras = [];\r\n this.CameraService.GetCamerasIdEnterprise(this.enterpriseSelect,this.headquarterSelect).subscribe((response) => {\r\n setTimeout(()=> { this.cameras = response; },1000);\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getEnterprises() {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n if(response != null){\r\n this.enterprises = response;\r\n this.enterpriseSelect = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.getHeadquarters();\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.getHeadquarters();\r\n }\r\n\r\n onItemSelect(item: any) {\r\n console.log(item);\r\n }\r\n onSelectAll(items: any) {\r\n console.log(items);\r\n }\r\n\r\n setFilter(){\r\n /*let search = this.reportForm.value;\r\n try{\r\n this.dateIView = search.startDateReport;\r\n this.dateFView = search.endDateReport;\r\n }catch{\r\n this.dateIView = search.startDateReport;\r\n this.dateFView = search.endDateReport;\r\n\r\n search.startDateReport = search.startDateReport;\r\n search.endDateReport = search.endDateReport;\r\n }*/\r\n\r\n var idCameras = \"\";\r\n this.selectedItems.forEach(x => {\r\n idCameras = idCameras+\",\"+ x.cameraId;\r\n });\r\n\r\n\r\n if(idCameras == \"\"){\r\n this.AlertService.showMessage(\r\n AppConstants.MessageModal.FILTER_CAMERA_VALIDATE,\"\",\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n\r\n if(this.date > this.dateF){\r\n this.AlertService.showMessage(\r\n AppConstants.MessageModal.FILTER_DATES_VALIDATE,\"\",\r\n MessageSeverity.error);\r\n return false\r\n }\r\n\r\n var filterS = {\r\n dateI: this.reportForm.value[\"startDateReport\"],\r\n dateF: this.reportForm.value[\"endDateReport\"],\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n idCamera: idCameras.replace(idCameras.charAt(0), \"\"),\r\n idEnterprise: this.enterpriseSelect,\r\n };\r\n filterS.dateI = this.datePipe.transform(filterS.dateI, 'yyyy-MM-dd');\r\n filterS.dateF = this.datePipe.transform(filterS.dateF, 'yyyy-MM-dd');\r\n return filterS;\r\n }\r\n\r\n setData(){\r\n this.spinner.show();\r\n this.streamingStadisticsService.getList(this.setFilter()).subscribe((response) => {\r\n if(response.error == null){\r\n if(response.data.length > 0){\r\n this.dataSource.data = response.data;\r\n this.paginator.pageIndex = 0;\r\n }else{\r\n this.dataSource.data = response.data;\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL_SEARCH,\r\n MessageSeverity.error);\r\n }\r\n this.dataStreamingStadistics = response.data;\r\n this.length = response.data.length;\r\n this.checkGraph(1);\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n exportExcel(){\r\n this.streamingStadisticsService.downloadExportExcel(this.setFilter()).subscribe((response) => {\r\n const data: Blob = new Blob([response], {\r\n type: response.type\r\n });\r\n FileSaver.saveAs(data, 'archivo');\r\n });\r\n }\r\n\r\n loadChartCamerasByVisit(){\r\n /*var chartExist = Chart.getChart(\"myChart123\"); // id\r\n if (chartExist != undefined)\r\n chartExist.destroy();*/\r\n\r\n var arrayCameras = [];\r\n if(this.dataStreamingStadistics.length>0){\r\n this.dataStreamingStadistics.forEach(element => {\r\n if(element.camera == null || element.camera == \"\" || !element.camera){ element.camera = \"vista mĆŗltiple\"; }\r\n arrayCameras.push(element.camera);\r\n });\r\n }\r\n var dataCameras = this.find_duplicate_in_array(arrayCameras);\r\n var arrayColors = [];\r\n var labels = Object.keys(dataCameras);\r\n if(dataCameras){\r\n labels.forEach(element => {\r\n arrayColors.push(this.random_rgb());\r\n });\r\n }\r\n\r\n var data = {\r\n labels: labels,\r\n datasets: [{\r\n data: Object.values(dataCameras),\r\n backgroundColor: arrayColors,\r\n borderColor: arrayColors,\r\n borderWidth: 1\r\n }]\r\n };\r\n\r\n return new Chart(this.canvas.nativeElement, {\r\n type: 'bar',\r\n data: data,\r\n options: {\r\n //indexAxis: 'y',\r\n plugins: {\r\n legend: {\r\n display: false\r\n },\r\n title: {\r\n display: true,\r\n text: 'CĆ”maras / Cantidad de Visitas'\r\n },\r\n tooltip: {\r\n enabled: true,\r\n usePointStyle: true\r\n },\r\n datalabels: {\r\n display: true,\r\n color: 'white'\r\n }\r\n },\r\n layout: {\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n top: 15,\r\n bottom: 0\r\n }\r\n },\r\n scales: {\r\n xAxes: [{\r\n ticks: {stepSize:10, beginAtZero: true} \r\n }],\r\n yAxes: [{\r\n ticks: {\r\n autoSkip: false\r\n }\r\n }]\r\n },\r\n /*scales: {\r\n xAxes: { beginAtZero: true,ticks: {stepSize:10} },\r\n y: { ticks: {autoSkip: false} }\r\n },*/\r\n events: [],\r\n responsive: true,\r\n maintainAspectRatio: false\r\n }\r\n });\r\n }\r\n\r\n loadPiePCMobile(){\r\n var arrayPCMobile = [];\r\n if(this.dataStreamingStadistics.length>0){\r\n this.dataStreamingStadistics.forEach(element => {\r\n arrayPCMobile.push(element.pc_movil);\r\n });\r\n }\r\n\r\n var dataReport = this.find_duplicate_in_array(arrayPCMobile);\r\n\r\n /*var chartExist = Chart.getChart(\"myChart2\"); // id\r\n if (chartExist != undefined)\r\n chartExist.destroy();*/\r\n var data = {\r\n datasets: [{\r\n data: Object.values(dataReport),\r\n backgroundColor: [\r\n \"#FF6384\",\r\n \"#4BC0C0\",\r\n \"#89aeeb\"\r\n ],\r\n label: 'My dataset' // for legend\r\n }],\r\n labels: Object.keys(dataReport)\r\n };\r\n\r\n return new Chart(this.canvas2.nativeElement, {\r\n type: 'doughnut',\r\n data: data,\r\n options: {\r\n plugins: {\r\n legend: {\r\n display: true,\r\n position: 'bottom'\r\n },\r\n title: {\r\n display: true,\r\n text: '% Uso PC / MĆ³vil'\r\n },\r\n tooltip: {\r\n enabled: false,\r\n },\r\n datalabels: {\r\n formatter: (value, ctx) => {\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n let total = sum(dataArr); // sum from lodash\r\n let percentage = (value * 100 / total).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: 'white',\r\n }\r\n },\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n }\r\n });\r\n }\r\n\r\n loadLineVisitByMonth(){\r\n\r\n var arrayVisitTime = [];\r\n if(this.dataStreamingStadistics.length>0){\r\n this.dataStreamingStadistics.forEach(element => {\r\n var dates =element.createdAt.split(\" \");\r\n var date = dates[0].split(\"/\");\r\n arrayVisitTime.push(date[1]+\" \"+date[2]);\r\n }); //\r\n }\r\n arrayVisitTime = arrayVisitTime.sort(function(a, b){return b.trim() - a.trim()});\r\n arrayVisitTime = arrayVisitTime.reverse();\r\n\r\n var dataReport = this.find_duplicate_in_array(arrayVisitTime);\r\n var arrayLabels = [];\r\n Object.keys(dataReport).forEach(_ => {\r\n var d = _.split(\" \");\r\n var monthNames = [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\",\r\n \"Julio\", \"Agosto\", \"Setiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"];\r\n var dd = monthNames[(parseInt(d[0])-1)] + \" \"+ d[1];\r\n arrayLabels.push(dd);\r\n });\r\n /*/var chartExist = Chart.getChart(\"myChart3\");\r\n if (chartExist != undefined)\r\n chartExist.destroy();*/\r\n var data = {\r\n labels: arrayLabels,\r\n datasets: [{\r\n data: Object.values(dataReport),\r\n fill: false,\r\n borderColor: 'rgb(218, 41, 28)',\r\n tension: 0.1\r\n }]\r\n };\r\n return new Chart(this.canvas3.nativeElement, {\r\n type: 'line',\r\n data: data,\r\n options: {\r\n scales: {\r\n xAxes: [{\r\n ticks: {autoSkip: false, maxRotation: 75,minRotation: 75} \r\n }]\r\n },\r\n plugins: {\r\n legend: {\r\n display: false\r\n },\r\n title: {\r\n display: true,\r\n text: 'Visitas por Mes y AƱo'\r\n },\r\n tooltip: {\r\n enabled: false,\r\n usePointStyle: false\r\n },\r\n datalabels: {\r\n display: false,\r\n }\r\n },\r\n events: [],\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n animation: {\r\n onComplete: function({ chart }) {\r\n const ctx = chart.ctx;\r\n ctx.textAlign = 'center';\r\n ctx.textBaseline = 'bottom';\r\n chart.config.data.datasets.forEach(function(dataset, i) {\r\n const meta = chart.getDatasetMeta(i);\r\n\r\n meta.data.forEach(function(bar, index) {\r\n if (dataset.data[index] > 0) {\r\n var data = dataset.data[index];\r\n ctx.fillText(data.toString(), bar.x, bar.y - 7);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n loadChartTypesVisit(){\r\n\r\n var arrayTypesVisit = [];\r\n if(this.dataStreamingStadistics.length>0){\r\n this.dataStreamingStadistics.forEach(element => {\r\n arrayTypesVisit.push(element.origin);\r\n });\r\n }\r\n\r\n var dataTypes = this.find_duplicate_in_array(arrayTypesVisit);\r\n var arrayColors = ['#374394','#3e8b23','#bc4004'];\r\n var labels = Object.keys(dataTypes);\r\n /*var chartExist = Chart.getChart(\"myChart4\");\r\n if (chartExist != undefined)\r\n chartExist.destroy();*/\r\n var data = {\r\n labels: labels,\r\n datasets: [{\r\n data: Object.values(dataTypes),\r\n backgroundColor: arrayColors,\r\n borderColor: arrayColors,\r\n borderWidth: 1\r\n }]\r\n };\r\n return new Chart(this.canvas4.nativeElement, {\r\n type: 'bar',\r\n data: data,\r\n options: {\r\n //indexAxis: 'x',\r\n plugins: {\r\n legend: {\r\n display: false\r\n },\r\n title: {\r\n display: true,\r\n text: 'Tipo de Visita / Cantidad de Visitas'\r\n },\r\n tooltip: {\r\n enabled: false,\r\n usePointStyle: false\r\n },\r\n datalabels: {\r\n color: 'white',\r\n }\r\n },\r\n scales: {\r\n xAxes: [{\r\n ticks: {stepSize:10, beginAtZero: true} \r\n }]\r\n },\r\n events: [],\r\n responsive: true,\r\n maintainAspectRatio: false\r\n }\r\n });\r\n }\r\n\r\n find_duplicate_in_array(array){\r\n const count = {}\r\n const result = []\r\n\r\n array.forEach(item => {\r\n if (count[item]) {\r\n count[item] +=1\r\n return\r\n }\r\n count[item] = 1\r\n })\r\n\r\n for (let prop in count){\r\n if (count[prop] >=2){\r\n result.push(prop)\r\n }\r\n }\r\n\r\n return count;\r\n\r\n }\r\n\r\n random_rgb() {\r\n const randomBetween = (min, max) => min + Math.floor(Math.random() * (max - min + 1));\r\n const r = randomBetween(0, 255);\r\n const g = randomBetween(0, 255);\r\n const b = randomBetween(0, 255);\r\n return `rgb(${r},${g},${b})`;\r\n }\r\n\r\n}\r\n","
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Seleccionar Zona\r\n \r\n \r\n {{zone.name}}\r\n \r\n \r\n \r\n La zona es obligatorio\r\n \r\n \r\n
\r\n
\r\n \r\n CƔmara\r\n \r\n 0\">\r\n Todos\r\n \r\n \r\n {{camera.camera}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Tipo de alerta\r\n \r\n \r\n Todos\r\n \r\n \r\n {{cameraAlerts.c_Alert}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Fecha inicio\r\n \r\n \r\n \r\n \r\n La fecha de Inicio es obligatorio\r\n \r\n \r\n La fecha de Inicio no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Fecha Fin\r\n \r\n \r\n \r\n \r\n La fecha Final es obligatorio\r\n \r\n \r\n La fecha Final no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora inicio\r\n \r\n \r\n La Hora Inicial es obligatorio\r\n \r\n \r\n La Hora Inicial tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora fin\r\n \r\n \r\n La Hora Final es obligatorio\r\n \r\n \r\n La Hora Final tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Estado de alertas {{filterCamera}}\r\n NĀŗ de Alertas: {{countAlerts}}\r\n
\r\n
\r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n photo_camera{{item.camera}}\r\n \r\n supervisor_account\r\n phonelink_ring\r\n \r\n
    \r\n
    \r\n calendar_today{{item.date}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n supervisor_account Sin casco\r\n
\r\n
\r\n phonelink_ring Uso de celular\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Alerta\r\n
\r\n
\r\n \r\n En Proceso\r\n
\r\n
\r\n \r\n Normal\r\n
\r\n
\r\n \r\n Desactivado\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\nimport 'fabric';\r\nimport { AlertService, MessageSeverity } from '../../../../shared/services/alert.service';\r\nimport { OcurrenceService } from 'src/app/services/Ocurrence/ocurrence.service';\r\nimport { PanelCameraModalComponent } from 'src/app/shared/components/modals/panel/camera/panel-camera-modal.component';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { CameraZoneViewModel } from 'src/app/models/camera/camera';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material';\r\nimport { APP_DATE_FORMATS, AppDateAdapter } from 'src/app/shared/helpers/format-datepicker';\r\n//import { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport * as signalR from '@microsoft/signalr';\r\ndeclare const fabric: any;\r\n\r\n@Component({\r\n selector: 'app-camera-alert',\r\n templateUrl: './camera-alert.component.html',\r\n styleUrls: ['./camera-alert.component.css'],\r\n providers: [\r\n {provide: DateAdapter, useClass: AppDateAdapter},\r\n {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS}\r\n ]\r\n})\r\nexport class CameraAlertComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n enterprises = [];\r\n enterpriseSelect: number = 0;\r\n enterprisesZones = [];\r\n enterpriseZoneSelect: number = 0;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index', 'camera', 'enabled'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n subscription: Subscription;\r\n listCameras = new Array();\r\n reportForm: FormGroup;\r\n myDate = new Date();\r\n alertSelect: number = 0;\r\n idStorageType: number;\r\n date = new Date();\r\n dateF = new Date();\r\n timeI: string;\r\n timeF: string;\r\n dateV:string;\r\n headquarterSelect = 0;\r\n headquarters = [];\r\n dateIView:string;\r\n dateFView:string;\r\n isAdminGys: boolean = false;\r\n image: any;\r\n file: File = null;\r\n canvas: any;\r\n genredCanva: boolean = true;\r\n nameMarker: string = '';\r\n cameraId: number = 0;\r\n cameraSelect: number = 0;\r\n cameras = [];\r\n zoneId: number = 0;\r\n filterCamera = '';\r\n countAlerts = 0;\r\n isAdministrator=false;\r\n cameraAlert = [];\r\n cameraAlertType = [];\r\n filter = false;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n //private connection: HubConnection;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n private cameraService: CameraService,\r\n private alertService: AlertService,\r\n private OcurrenceService: OcurrenceService,\r\n private formBuilder: FormBuilder,\r\n private datePipe: DatePipe,\r\n private headquarterService: HeadquarterService,\r\n private zoneService: ZoneService,\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Video AnalĆ­tica > Alertas';\r\n }\r\n\r\n ngOnInit() {\r\n this.setTheme();\r\n this.createForm();\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\r\n this.getCanvas();\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getZonesByEnterprise();\r\n\r\n var _this = this;\r\n const connection = new signalR.HubConnectionBuilder()\r\n .withUrl(environment.fnVA + '/api')\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Information)\r\n .build();\r\n\r\n connection.on('newAlert', (data) => {\r\n console.log(\"data alert\",data);\r\n //_this.countAlerts = _this.countAlerts+1;\r\n if(data.stateId == 1){ data.color = \"red\" }else{ data.color = \"blue\"; }\r\n if(!_this.filter){\r\n //_this.cameraAlert.splice(0, 0, data);\r\n _this.ocurrenceListByCamera();\r\n }else{\r\n if(\r\n _this.enterpriseSelect == data.enterpriseId &&\r\n ( _this.alertSelect == data.alertId || _this.alertSelect == 0 )\r\n ){\r\n _this.ocurrenceListByCamera();\r\n //_this.cameraAlert.splice(0, 0, data);\r\n }\r\n }\r\n });\r\n\r\n connection.start()\r\n .catch(console.error);\r\n\r\n/*\r\n setInterval(() => {\r\n this.ocurrenceListByCamera();\r\n }, 2000);*/\r\n }\r\n\r\n createForm() {\r\n this.reportForm = this.formBuilder.group({\r\n zoneId: ['', [Validators.required]],\r\n startDateReport: ['', [Validators.required]],\r\n endDateReport: ['', [Validators.required]],\r\n startTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n endTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n alertReport: [0, []],\r\n cameraReport: [0, [Validators.required]]\r\n });\r\n }\r\n\r\n setTheme(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n }\r\n\r\n refreshAlerts(){\r\n this.updateColor();\r\n this.getCameras(this.enterpriseZoneSelect,0);\r\n this.ocurrenceListByCamera();\r\n }\r\n\r\n updateColor(){\r\n let data = this.listCameras;\r\n for(let j= 0;j < data.length;j++){\r\n let registers =\r\n {\r\n cameraId: data[j].cameraId\r\n }\r\n this.cameraService.postColor(registers).subscribe(\r\n result => {\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n get f() { return this.reportForm.controls; }\r\n\r\n showAllAlert(){\r\n this.cameraSelect = 0;\r\n this.alertSelect = 0;\r\n this.filterCamera = \"\";\r\n this.filter = false;\r\n this.ocurrenceListByCamera();\r\n }\r\n\r\n getCanvas() {\r\n this.canvas = new fabric.Canvas('canvas',{selection: false});\r\n var _this = this;\r\n this.canvas.on('mouse:down', function (e) {\r\n if(e.button === 1) {\r\n if( e.target!= null){\r\n _this.filterCamera = \" - \"+ e.target.camera;\r\n _this.cameraSelect = e.target.cameraId;\r\n _this.changeCamera();\r\n _this.reportForm.controls['cameraReport'].setValue(_this.cameraSelect);\r\n }else{\r\n console.log(\"null left click\",e);\r\n }\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n getZonesByEnterprise() {\r\n this.enterprisesZones = [];\r\n this.spinner.show();\r\n this.zoneService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe(response => {\r\n if(response.error == null){\r\n var zones = response.data.filter(_ => _.type == 1);\r\n this.enterprisesZones = zones;\r\n if(this.enterprisesZones.length>0){\r\n this.enterpriseZoneSelect = this.enterprisesZones[0][\"id\"];\r\n }else{\r\n this.alertService.showMessage(\"No tiene zonas VA registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\r\n }\r\n this.changeZone();\r\n }else{\r\n this.enterprisesZones = [];\r\n this.cameras = [];\r\n }\r\n // this.getCameras(this.enterpriseZoneSelect,1);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getCameras(zoneId: number,init: number) {\r\n this.spinner.show();\r\n var data = {\r\n idZone: zoneId,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect\r\n }\r\n this.cameraService.getCameraByZoneCP(data).subscribe((response => {\r\n this.listCameras = response.filter(x => x.enabled == 1);\r\n this.dataSource.data = this.listCameras;\r\n this.spinner.hide();\r\n if(init){\r\n this.clearCanvas();\r\n this.createMarkers();\r\n }\r\n this.ocurrenceListByCamera();\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n clearCanvas() {\r\n this.canvas.remove(...this.canvas.getObjects());\r\n var json = this.canvas.toJSON();\r\n this.canvas.clear();\r\n this.canvas.loadFromJSON(json, this.canvas.renderAll.bind(this.canvas));\r\n var objects = this.canvas.getObjects();\r\n for(var i = 0; i < objects.length; i++){\r\n this.canvas.remove(objects[i]);\r\n }\r\n this.canvas.renderAll();\r\n }\r\n\r\n positionMarkers() {\r\n let data = this.canvas._objects.filter(f => f.cameraId != undefined);\r\n data.forEach(f => {\r\n let index = this.listCameras.findIndex(item => item.cameraId == f.cameraId);\r\n if (index != -1) {\r\n var obj = this.listCameras[index];\r\n obj.cameraPosX = f.group.left;\r\n obj.cameraPosY = f.group.top;\r\n }\r\n });\r\n }\r\n\r\n createMarkers() {\r\n var path = \"m216.210938 0c-122.664063 0-222.460938 99.796875-222.460938 222.460938 0 154.175781 222.679688 417.539062 222.679688 417.539062s222.242187-270.945312 222.242187-417.539062c0-122.664063-99.792969-222.460938-222.460937-222.460938zm67.121093 287.597656c-18.507812 18.503906-42.8125 27.757813-67.121093 27.757813-24.304688 0-48.617188-9.253907-67.117188-27.757813-37.011719-37.007812-37.011719-97.226562 0-134.238281 17.921875-17.929687 41.761719-27.804687 67.117188-27.804687 25.355468 0 49.191406 9.878906 67.121093 27.804687 37.011719 37.011719 37.011719 97.230469 0 134.238281zm0 0\";\r\n for (var i = 0; i < this.listCameras.length; i++) {\r\n var obj = this.listCameras[i];\r\n if (obj.cameraPosX != 0 && obj.cameraPosY != 0) {\r\n //Dynamic red - alerts\r\n var color = obj.cameraColor;\r\n if(color == \"red\"){\r\n if(this.cameraAlert.length == 0){\r\n color = \"green\";\r\n }else{\r\n if(this.cameraAlert.filter(x => x.camera == obj.camera).length < 1){\r\n color = \"green\";\r\n }\r\n }\r\n }\r\n this.newGroup(obj,color);\r\n }\r\n }\r\n }\r\n\r\n newGroup(obj,color) {\r\n var _this = this;\r\n new fabric.Image.fromURL(obj.pathPinMap,\r\n function(img) {\r\n img.scaleToWidth(40);\r\n img.scaleToHeight(40);\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n angle: 0,\r\n top: -10,\r\n scaleX: obj.oppositeMapDirection == '0' ? 0.1 : -0.1,\r\n scaleY: 0.1,\r\n selectable:false,\r\n camera: obj != null ? obj.camera : \"\",\r\n cameraId: obj != null ? obj.cameraId : 0,\r\n });\r\n\r\n var text = new fabric.Text((obj != null ? obj.camera : \"\"),\r\n {\r\n textBackgroundColor:color,\r\n fill: 'white',\r\n fontSize: 15,\r\n originX: 'center',\r\n originY: 'center',\r\n selectable:false,\r\n camera: obj != null ? obj.camera : \"\",\r\n cameraId: obj != null ? obj.cameraId : 0,\r\n }\r\n );\r\n\r\n var group = new fabric.Group([text, img1], {\r\n left: obj.cameraPosX,\r\n top: obj.cameraPosY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n camera: obj != null ? obj.camera : \"\",\r\n cameraId: obj != null ? obj.cameraId : 0,\r\n selectable:false\r\n });\r\n\r\n _this.canvas.add(group);\r\n _this.canvas.renderAll();\r\n });\r\n }\r\n\r\n stopDragging(element) {\r\n element.lockMovementX = true;\r\n element.lockMovementY = true;\r\n }\r\n\r\n changeImage(urlImage : string) {\r\n var _this = this;\r\n fabric.Image.fromURL(urlImage, (img) => {\r\n img.set({\r\n opacity: 0.5,\r\n scaleX: this.canvas.width / img.width,\r\n scaleY: this.canvas.height / img.height,\r\n selectable:true\r\n });\r\n _this.canvas.setBackgroundImage(img, _this.canvas.requestRenderAll.bind(_this.canvas));\r\n _this.getCameras(this.zoneId,1);\r\n });\r\n }\r\n\r\n ocurrenceListByCamera() {\r\n var filterData;\r\n if(this.filter){\r\n filterData = {\r\n dateI: this.reportForm.value[\"startDateReport\"],\r\n dateF: this.reportForm.value[\"endDateReport\"],\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n zoneId: this.enterpriseZoneSelect,\r\n alertId: this.reportForm.value[\"alertReport\"],\r\n cameraId: this.reportForm.value[\"cameraReport\"]\r\n };\r\n filterData.dateI = this.datePipe.transform(filterData.dateI, 'dd/MM/yyyy');\r\n filterData.dateF = this.datePipe.transform(filterData.dateF, 'dd/MM/yyyy');\r\n }else{\r\n filterData = {\r\n dateI: 0,\r\n dateF: 0,\r\n timeI: 0,\r\n timeF: 0,\r\n zoneId: this.enterpriseZoneSelect,\r\n alertId: this.alertSelect,\r\n cameraId: this.cameraSelect\r\n };\r\n }\r\n\r\n this.OcurrenceService.GetListOcurrenceCP(filterData).subscribe((response) => {\r\n this.cameraAlert = response;\r\n this.countAlerts = response.length;\r\n if(response.length > 0 && this.filter == false){\r\n var dateI = this.cameraAlert[response.length - 1].date;\r\n this.date = dateI;\r\n this.dateF = this.myDate;\r\n }\r\n this.spinner.hide();\r\n if(this.countAlerts > 0){\r\n this.clearCanvas();\r\n this.createMarkers();\r\n }\r\n if(filterData.cameraId != 0){\r\n this.filterCamera = \" - \"+ this.listCameras.find(x => x.cameraId == filterData.cameraId).camera;\r\n }else{\r\n this.filterCamera = \" - todas las cĆ”maras\";\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n this.cameraAlert = [];\r\n });\r\n }\r\n\r\n changeCamera() {\r\n this.cameraAlertType = [];\r\n this.alertSelect = 0;\r\n var cameraId = this.cameraSelect;// this.filterCameraId = 0 ? this.cameraSelect : this.filterCameraId;\r\n //if(cameraId != 0){\r\n this.cameraService.GetAlertByCamera(cameraId,0).subscribe((response) => {\r\n this.cameraAlertType = response;\r\n this.alertSelect = cameraId;\r\n this.spinner.hide();\r\n this.alertSelect = 0;\r\n this.canvas.renderAll();\r\n this.searchAlerts();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.cameraAlertType = []\r\n });\r\n //}\r\n\r\n }\r\n\r\n alerta(id,id1) {\r\n let dialogRef = this.dialog.open(PanelCameraModalComponent, {\r\n data: { ocurrenceId: id, cameraId: id1, enterpiseId: this.enterpriseSelect },\r\n width: '800px', hasBackdrop: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((_) => {\r\n if(_.update){\r\n this.refreshAlerts();\r\n }\r\n });\r\n }\r\n\r\n searchAlerts(){\r\n if (this.reportForm.valid) {\r\n this.filter = true;\r\n this.ocurrenceListByCamera();\r\n }else{\r\n this.reportForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n _keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n }\r\n\r\n changeZone() {\r\n this.spinner.show();\r\n this.nameMarker = ''\r\n this.clearCanvas();\r\n this.zoneId = this.enterpriseZoneSelect;\r\n var item = this.enterprisesZones.filter(f => f.id == this.zoneId);\r\n if(item.length>0){\r\n if(item[0].image != null && item[0].image != \"\"){\r\n this.changeImage(item[0].image);\r\n }else{\r\n this.getCameras(this.zoneId,1);\r\n }\r\n }else{\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Zona\r\n \r\n \r\n {{zone.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Fecha inicio\r\n \r\n \r\n \r\n \r\n La fecha de Inicio es obligatorio\r\n \r\n \r\n La fecha de Inicio no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Fecha Fin\r\n \r\n \r\n \r\n \r\n La fecha Final es obligatorio\r\n \r\n \r\n La fecha Final no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora inicio\r\n \r\n \r\n La Hora Inicial es obligatorio\r\n \r\n \r\n La Hora Inicial tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora fin\r\n \r\n \r\n La Hora Final es obligatorio\r\n \r\n \r\n La Hora Final tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n CƔmaras\r\n \r\n \r\n {{camera.camera}}\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Mayor cantidad de alerta en un mismo punto

\r\n
\r\n \r\n
\r\n
10
\r\n
5
\r\n
0
\r\n
\r\n
\r\n

Menor cantidad de alerta en un mismo punto

\r\n
\r\n
\r\n

ƚltima imagen actualizada - {{lastDateUrl}}

\r\n
\r\n
\r\n
\r\n
\r\n
Total de Alertas: {{length}}
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Tipo de Alarma {{element.typeAlert}} Fecha de Registro {{element.insertDateOcurrence}} Usuario AtenciĆ³n {{element.userName}} Estado {{element.enabled}} Fecha ModificaciĆ³n {{element.updateCamera}} Fecha AtenciĆ³n {{element.insertDate}}
\r\n \r\n
\r\n\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { AlertType } from 'src/app/models/alert/alert-type';\r\nimport { AlertsServices } from '../../../../services/alert/alert.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { CameraZoneViewModel } from '../../../../models/camera/camera';\r\nimport * as FileSaver from 'file-saver';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { HeatMapService } from 'src/app/services/heatmap/heatmap.service';\r\nimport {IonRangeSliderComponent} from \"ng2-ion-range-slider\";\r\nimport { Heatmap } from 'src/app/models/heatmap/heatmap';\r\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material';\r\nimport { APP_DATE_FORMATS, AppDateAdapter } from 'src/app/shared/helpers/format-datepicker';\r\n\r\ndeclare var $: any\r\n\r\ntype IData = number[][];\r\n\r\n@Component({\r\n selector: 'app-camera',\r\n templateUrl: './heatmap.component.html',\r\n styleUrls: ['./heatmap.component.css'],\r\n providers: [\r\n {provide: DateAdapter, useClass: AppDateAdapter},\r\n {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS}\r\n ]\r\n})\r\nexport class HeatmapComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n alertTypes = Array();\r\n zoneSelect: number = 0;\r\n cameraSelect: number = 0;\r\n cameras = [];\r\n enterprisesZones = [];\r\n enterprises = [];\r\n enterpriseSelect : number = 0;\r\n isAdministrator=false;\r\n\r\n pictureUrl: string;\r\n enterpriseId: number;\r\n alertTypeId: number = 0;\r\n cameraId: number = 0;\r\n defaultPicture: string = \"./assets/images/instrucciones_mapacalor.png\";\r\n heatSpectrum: string = \"./assets/images/espectro-calor.png\";\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','typeAlert', 'insertDateOcurrence', 'enabled','userName', 'updateCamera', 'insertDate'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('paginatorTop', { static: false }) paginatorTop: MatPaginator;\r\n @ViewChild('paginatorBottom', { static: false }) paginatorBottom: MatPaginator;\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = 0;\r\n length: number = 0;\r\n alertNow: number = 0;\r\n dateFilter: string;\r\n reportAlertForm: FormGroup;\r\n myDate = new Date();\r\n date = new Date();\r\n dateF = new Date();\r\n timeI: string;\r\n timeF: string;\r\n dateV:string;\r\n idStorageFile: number;\r\n dateIView:string;\r\n dateFView:string;\r\n lastDateUrl:string;\r\n canvas: HTMLCanvasElement;\r\n circle: HTMLCanvasElement;\r\n ctx: CanvasRenderingContext2D | null;\r\n width: number;\r\n height: number;\r\n widthInit: number;\r\n heightInit: number;\r\n // data: IData;\r\n radius: number;\r\n unit8Gradient: Uint8ClampedArray;\r\n headquarterSelect = 0;\r\n headquarters = [];\r\n _this = this;\r\n lang = \"en-US\";\r\n year = 2018;\r\n displayListStadistics = 'none';\r\n dataHeatMap:Heatmap;\r\n\r\n constructor(\r\n private alertService: AlertsServices,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n private cameraService: CameraService,\r\n private datePipe: DatePipe,\r\n private AlertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private headquarterService: HeadquarterService,\r\n private zoneService: ZoneService,\r\n private heatMapService: HeatMapService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Video AnalĆ­tica > Mapa de calor';\r\n }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.enterpriseId = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.dataSource.paginator = this.paginator;\r\n this.getZonesByEnterprise();\r\n // if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.AdministradorGyS) this.isAdministrator = true;\r\n // if(this.isAdministrator)\r\n // this.getEnterprises();\r\n this.getAlertTypes();\r\n this.pictureUrl = this.defaultPicture;\r\n // if(!this.isAdministrator) this.getZonesByEnterprise();\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\r\n\r\n $(\"#sliderElement\").ionRangeSlider({\r\n skin: \"big\",\r\n type: \"double\",\r\n grid: true,\r\n prettify: this.tsToDate\r\n });\r\n }\r\n\r\n\r\n dateToTS (date) {\r\n return date.valueOf();\r\n }\r\n\r\n tsToDate (ts) {\r\n var d = new Date(ts);\r\n\r\n return d.toLocaleDateString(this.lang, {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric',\r\n hour: 'numeric'\r\n });\r\n }\r\n\r\n setImageHeatMap(image:string, dataPositions:any,date: any, dateF:any,timeI:any, timeF:any,init): void{\r\n console.log(\"data origen dataPositions - setImageHeatMap\",dataPositions);\r\n //document.getElementById(\"background-heat-map\").style.backgroundImage = \"url('../../../../../assets/heat-map/example-videoanalitica.png')\";\r\n document.getElementById(\"heat-map\").style.backgroundImage = \"url(\"+image+\")\"; //\"url('../../../../../assets/heat-map/example-videoanalitica2.png')\";//\r\n document.getElementById(\"heat-map\").style.backgroundSize = \"contain\";\r\n document.getElementById(\"heat-map\").style.backgroundRepeat = \"no-repeat\";\r\n\r\n var canvas = document.getElementById('heat-map');\r\n this.ctx = canvas.getContext(\"2d\");\r\n\r\n this.widthInit = canvas.width;\r\n this.heightInit = canvas.height;\r\n this.width = 684;//canvas.width; //650;\r\n this.height = 385;//canvas.height; //385;\r\n\r\n this.circle = HeatmapComponent.createCanvas();\r\n this.radius = 5 + 5;\r\n this.computeRadius(5, 5);\r\n\r\n this.unit8Gradient = HeatmapComponent.computeGradient({\r\n 0.4: \"blue\",\r\n 0.7: \"lime\",\r\n 0.8: \"yellow\",\r\n 1.0: \"red\"\r\n });\r\n\r\n dataPositions.values.forEach(_=>{\r\n //console.log(_.date +\" <> \"+ dateFrom+ \" \"+this.timeI && _.date +\" <> \"+ dateTo+ \" \"+this.timeF);\r\n if(_.date >= date+ \" \"+timeI+\":00\" && _.date <= dateF+ \" \"+timeF+\":59\"){\r\n _.x = Math.round(parseFloat(_.x)*canvas.width).toString(); //210\r\n _.y = Math.round((parseFloat(_.y)*canvas.height)).toString(); //95\r\n _.model = parseInt(_.model).toString();\r\n }else{\r\n dataPositions.values = dataPositions.values.filter(person => person.x != _.x && person.y != _.y && person.date != _.date && person.model != _.model);\r\n }\r\n });\r\n // counting repeats of x,y,date\r\n const contador = {};\r\n let vecesMasRepetido = 0;\r\n let idMasRepetido = null;\r\n dataPositions.values.forEach(({ x,y,model }) => {\r\n if(parseInt(model) == this.alertTypeId){\r\n contador[x+\"_\"+y+\"_\"+model] = (contador[x+\"_\"+y+\"_\"+model] == null ? 1 : contador[x+\"_\"+y+\"_\"+model] + 1);\r\n if (contador[x+\"_\"+y+\"_\"+model] > vecesMasRepetido) {\r\n idMasRepetido = x+\"_\"+y+\"_\"+model;\r\n vecesMasRepetido = contador[x+\"_\"+y+\"_\"+model];\r\n }\r\n }\r\n });\r\n\r\n // generate values colors with repeats, assign of color\r\n var arrayKey = Object.keys(contador);\r\n var arrayCount = Object.values(contador);\r\n var dataVal = [];\r\n var i = 0;\r\n arrayKey.forEach(_=>{\r\n var item = _.split(\"_\");\r\n var c = parseFloat(arrayCount[i].toString());\r\n if(c>10){ c=10; }\r\n dataVal.push([parseInt(item[0]),parseInt(item[1]),parseFloat((c/10).toFixed(1))]);\r\n i++;\r\n });\r\n\r\n //console.log(\"values pintar\",dataVal);\r\n this.draw(dataVal);\r\n\r\n\r\n if(init==1){\r\n var slider = $(\"#sliderElement\").data(\"ionRangeSlider\");\r\n var _this = this;\r\n slider.update({\r\n min: this.dateToTS(new Date(dataPositions.values[0].date)),\r\n max: this.dateToTS(new Date(dataPositions.values[dataPositions.values.length-1].date)),\r\n from: this.dateToTS(new Date(dataPositions.values[0].date)),\r\n to: this.dateToTS(new Date(dataPositions.values[dataPositions.values.length-1].date)),\r\n prettify: this.tsToDate,\r\n onFinish: function (data) {\r\n // Called then action is done and mouse is released\r\n /*console.log(\"from\",data.from);\r\n console.log(\"to\",data.to);*/\r\n _this.changeValueMap(_this.formatDate(new Date(data.from)),_this.formatDate(new Date(data.to)));\r\n },\r\n });\r\n // RESET - reset slider to it's first values\r\n slider.reset();\r\n }\r\n console.log(\"data origen API \",this.dataHeatMap);\r\n this.displayListStadistics = 'block';\r\n // DESTROY - destroys slider and restores original input field\r\n //slider.destroy();\r\n }\r\n\r\n changeValueMap(datefrom,dateto){\r\n console.log(\"data origen API - changeValueMap\",this.dataHeatMap);\r\n var images = this.dataHeatMap.images;\r\n var datas = this.dataHeatMap.values;\r\n var dateS = datefrom.split(\" \");\r\n var dateF = dateto.split(\" \");\r\n var imageInit = \"\";\r\n images.forEach(_=>{\r\n if(_.date == dateS[0]){\r\n imageInit = _.image;\r\n return false\r\n }\r\n });\r\n this.dataHeatMap.images = images;\r\n //console.log(dateS[0]+\"----------\"+dateF[0]+\"----------\"+dateS[1]+\"----------\"+dateF[1]);\r\n //console.log(\"enviar data value base sin modificar\",datas);\r\n this.setImageHeatMap(imageInit,this.dataHeatMap,dateS[0],dateF[0],dateS[1],dateF[1],0);\r\n }\r\n\r\n computeRadius(r: number, blur: number): void {\r\n const { circle } = this;\r\n\r\n const ctx = circle.getContext(\"2d\");\r\n\r\n if (!ctx) {\r\n throw new Error(\"The ctx is undefined\");\r\n }\r\n\r\n const r2 = this.radius;\r\n\r\n circle.height = r2 * 2;\r\n circle.width = r2 * 2;\r\n\r\n ctx.shadowOffsetY = r2 * 2;\r\n ctx.shadowOffsetX = r2 * 2;\r\n\r\n //ctx.shadowBlur = blur;\r\n ctx.shadowColor = \"black\";\r\n\r\n ctx.beginPath();\r\n ctx.arc(-r2, -r2, r, 0, Math.PI * 2, true);\r\n ctx.closePath();\r\n ctx.fill();\r\n }\r\n\r\n resize() {\r\n this.width = this.canvas.width;\r\n this.height = this.canvas.height;\r\n }\r\n\r\n draw(data): void { //minOpacity: number\r\n const { ctx } = this;\r\n\r\n if (!ctx) {\r\n throw new Error(\"The ctx is undefined\");\r\n }\r\n\r\n ctx.clearRect(0, 0, this.width, this.height);\r\n\r\n for (let i = 0, len = data.length, p; i < len; i++) {\r\n p = data[i];\r\n ctx.globalAlpha = Math.min(p[2], 1);\r\n\r\n if (!this.circle || !this.radius) {\r\n throw new Error(\"The circle || radius is undefined\");\r\n }\r\n\r\n ctx.drawImage(this.circle, p[0] - this.radius, p[1] - this.radius);\r\n }\r\n\r\n const colored = HeatmapComponent.colorize(\r\n ctx.getImageData(0, 0, this.width, this.height),\r\n this.unit8Gradient\r\n );\r\n\r\n ctx.putImageData(colored, 0, 0);\r\n }\r\n\r\n setImageBackground(image):void{\r\n var imageObj = new Image();\r\n var _this = this;\r\n imageObj.onload = function() {\r\n _this.ctx.drawImage(imageObj,0,0, _this.widthInit,_this.heightInit);\r\n };\r\n imageObj.src = image;\r\n }\r\n\r\n\r\n static computeGradient(grad: Record): Uint8ClampedArray {\r\n const canvas = this.createCanvas();\r\n const ctx = canvas.getContext(\"2d\");\r\n\r\n if (!ctx) {\r\n throw new Error(\"The ctx is undefined\");\r\n }\r\n\r\n const gradient = ctx.createLinearGradient(0, 0, 0, 256);\r\n\r\n canvas.width = 1;\r\n canvas.height = 256;\r\n\r\n Object.keys(grad).forEach((i) => {\r\n gradient.addColorStop(+i, grad[+i]);\r\n });\r\n\r\n ctx.fillStyle = gradient;\r\n ctx.fillRect(0, 0, 1, 256);\r\n\r\n return ctx.getImageData(0, 0, 1,256).data;\r\n }\r\n\r\n static colorize(\r\n imageData: ImageData,\r\n gradient: Uint8ClampedArray\r\n ): ImageData {\r\n const pixels = imageData.data;\r\n\r\n for (let i = 0, len = pixels.length, j; i < len; i += 4) {\r\n j = pixels[i + 3] * 4;\r\n\r\n if (j) {\r\n pixels[i] = gradient[j];\r\n pixels[i + 1] = gradient[j+1];\r\n pixels[i + 2] = gradient[j+2];\r\n }\r\n }\r\n\r\n return imageData;\r\n }\r\n\r\n static createCanvas(): HTMLCanvasElement {\r\n return document.createElement(\"canvas\");\r\n }\r\n\r\n\r\n createForm() {\r\n this.reportAlertForm = this.formBuilder.group({\r\n startDate: ['', [Validators.required]],\r\n endDate: ['', [Validators.required]],\r\n startHour: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n endHour: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]]\r\n });\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.paginatorTop) {\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n }\r\n }\r\n\r\n handlePaginatorTop(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorTop.pageSize = pageSize\r\n this.paginatorTop.pageIndex = pageIndex;\r\n this.paginatorTop.page.emit(e);\r\n }\r\n\r\n handlePaginatorBottom(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorBottom.pageSize = pageSize\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n this.paginatorBottom.pageIndex = pageIndex;\r\n }\r\n\r\n\r\n\r\n _keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n }\r\n\r\n get f() { return this.reportAlertForm.controls; }\r\n\r\n setData(){\r\n if(!this.cameraId || !this.alertTypeId){\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.SEARCH_ALERT_NOT_SELECTED_HEATMAP,\r\n MessageSeverity.error);\r\n }else{\r\n let search = this.reportAlertForm.value;\r\n try{\r\n this.dateIView = search.startDateReport;\r\n this.dateFView = search.endDateReport;\r\n }catch{\r\n this.dateIView = search.startDateReport;\r\n this.dateFView = search.endDateReport;\r\n\r\n search.startDateReport = search.startDateReport;\r\n search.endDateReport = search.endDateReport;\r\n }\r\n this.searchs();\r\n }\r\n }\r\n\r\n searchs(){\r\n var filter = {\r\n enterpriseId: this.enterpriseId,\r\n dateI: this.dateIView,\r\n dateF: this.dateFView,\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n cameraId: this.cameraSelect,\r\n alertId: this.alertTypeId\r\n };\r\n this.getAlerts(filter,0);\r\n }\r\n\r\n getEnterprises() {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseId = this.enterprises[0][\"enterpriseId\"];\r\n // this.idStorageFile = this.enterprises[0][\"idStorageFile\"];\r\n this.enterpriseSelect = this.enterpriseId;\r\n this.getHeadquarters();\r\n //this.getZonesByEnterprise();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getHeadquarters() {\r\n //if (this.isAdminGys) {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length>0){\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }else{\r\n this.headquarterSelect = 0;\r\n }\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.getZonesByEnterprise();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n /* } else {\r\n this.headquarterSelect = +localStorage.getItem(AppConstants.Session.HEADQUARTER)\r\n }*/\r\n }\r\n\r\n changeEnterprise(data){\r\n this.enterpriseId = data.value;\r\n this.cameraId=0;\r\n this.cameraSelect = 0;\r\n this.cameras = [];\r\n this.headquarterSelect = 0;\r\n this.headquarters = [];\r\n this.enterprisesZones = [];\r\n this.getHeadquarters();\r\n }\r\n\r\n formatLabel(value: number | null) {\r\n if (!value) {\r\n return 0;\r\n }\r\n\r\n let decimalPart = +value.toString().replace(/^[^\\.]+/,'0');\r\n let mm = decimalPart * 60;\r\n var mmPart = mm.toString().length == 1 ? mm.toString() + \"0\" : mm.toString();\r\n\r\n if (value >= 0) {\r\n let valueStr = value.toFixed(2);\r\n let strArr = valueStr.split(\".\");\r\n if(strArr[0].length == 1) {\r\n strArr[0] = \"0\" + strArr[0];\r\n }\r\n var hhPart = strArr[0];\r\n }\r\n\r\n return hhPart + \":\" + mmPart;\r\n }\r\n\r\n getAlertTypes() {\r\n this.spinner.show();\r\n this.alertService.getTypes().subscribe((response) => {\r\n this.alertTypes = response;\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeCamera(id: number) {\r\n this.cameraId = id;\r\n this.pictureUrl = this.defaultPicture;\r\n this.alertTypeId = 0;\r\n this.dataSource.data = [];\r\n }\r\n\r\n showPicture(alertTypeId: number) {\r\n this.alertTypeId = alertTypeId;\r\n /* var filter = {\r\n enterpriseId: this.enterpriseId,\r\n dateI: this.dateV,\r\n dateF: this.dateV,\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n cameraId: this.cameraSelect,\r\n alertId: this.alertTypeId\r\n };\r\n this.alertNow = 0;\r\n this.getAlerts(filter,1);\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.reportAlertForm.reset({\r\n startDateReport: new Date(),\r\n endDateReport: new Date(),\r\n startTimeReport: this.timeI,\r\n endTimeReport: this.timeF\r\n });*/\r\n }\r\n\r\n changeDate(){\r\n this.pictureUrl = this.defaultPicture;\r\n }\r\n\r\n showHeatMap(){\r\n //this.setData();\r\n var camera = this.cameras.filter(x => x.cameraId == this.cameraSelect)[0];\r\n var data = {\r\n cameraId: this.cameraId,\r\n alertTypeId: this.alertTypeId,\r\n cameraIp: camera['ip'],\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.enterpriseSelect,\r\n startDate: this.date.toString(),\r\n endDate: this.dateF.toString(),\r\n startHour: this.timeI,\r\n endHour: this.timeF\r\n }\r\n data.startDate = this.datePipe.transform(data.startDate, 'yyyy-MM-dd');\r\n data.endDate = this.datePipe.transform(data.endDate, 'yyyy-MM-dd');\r\n this.heatMapService.getImageUriHeathmap(data).subscribe((response => {\r\n if(response.error == null){\r\n var dataHM = response.data;\r\n this.dataHeatMap = response.data;\r\n console.log(\"data origen API - showHeatMap\",this.dataHeatMap);\r\n if(response.data.values.length>0){\r\n var dateFrom = this.parseDate(this.date.toLocaleDateString());\r\n var dateFrom = this.parseDate(this.dateF.toLocaleDateString());\r\n var _this = this;\r\n setTimeout(() => {\r\n console.log(\"data origen API - showHeatMap 2\",_this.dataHeatMap);\r\n _this.setImageHeatMap(response.data.images[0].image,_this.dataHeatMap,dateFrom,dateFrom,_this.timeI,_this.timeF,1);\r\n }, 5000);\r\n }else{\r\n this.AlertService.showMessage(\"No existe data con los filtros seleccionados\",\"\", MessageSeverity.error);\r\n this.displayListStadistics = 'none';\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n /*if(this.idStorageFile == 1){ // Mode Local\r\n response.url = environment.pathFile + response.url;\r\n }\r\n this.pictureUrl = response.url;\r\n this.dateFilter = this.parseDate((response.date).split(\" \")[0]);\r\n this.lastDateUrl = response.date;\r\n var filter = {\r\n enterpriseId: this.enterpriseId,\r\n dateI: this.dateFilter,//this.dateV,\r\n dateF: this.dateFilter,//this.dateV,\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n cameraId: this.cameraSelect,\r\n alertId: this.alertTypeId\r\n };*/\r\n //this.getAlerts(filter,1);\r\n }else{\r\n this.displayListStadistics = 'none';\r\n this.length = 0;\r\n this.pictureUrl = \"\";\r\n this.lastDateUrl = \"\";\r\n this.alertNow = 0;\r\n this.dataSource.data = [];\r\n this.pictureUrl = this.defaultPicture;\r\n this.AlertService.showMessage(\"No existe una imagen de mapa de calor en esta fecha\",\"\", MessageSeverity.error);\r\n }\r\n this.loading = false;\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.loading = false;\r\n console.log(error);\r\n });\r\n /*\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.reportAlertForm.reset({\r\n startDateReport: new Date(),\r\n endDateReport: new Date(),\r\n startTimeReport: this.timeI,\r\n endTimeReport: this.timeF\r\n });*/\r\n }\r\n\r\n parseDate(dateStr) {\r\n var date = dateStr.split('/');\r\n var day = date[0];\r\n var month = date[1];\r\n var year = date[2];\r\n month = month < 10 ? '0'+month : month;\r\n day = day < 10 ? '0'+day : day;\r\n return year + '-' + month + '-' + day;\r\n }\r\n\r\n formatDate(date) {\r\n var hours = date.getHours();\r\n var month = (date.getMonth()+1);\r\n var minutes = date.getMinutes();\r\n var day = date.getDate();\r\n var ampm = hours >= 12 ? 'pm' : 'am';\r\n minutes = minutes < 10 ? '0'+minutes : minutes;\r\n month = month < 10 ? '0'+month : month;\r\n day = day < 10 ? '0'+day : day;\r\n hours = hours < 10 ? '0'+hours : hours;\r\n var strTime = hours + ':' + minutes;\r\n return date.getFullYear() + \"-\" + month + \"-\" + day + \" \" + strTime;\r\n }\r\n\r\n getAlerts(filter: any,picture : number){\r\n filter.dateI = this.datePipe.transform(filter.dateI, 'dd/MM/yyyy');\r\n filter.dateF = this.datePipe.transform(filter.dateF, 'dd/MM/yyyy');\r\n this.cameraService.getHeathmapResumen(filter).subscribe((response => {\r\n this.length = response.length;\r\n if(picture){\r\n this.alertNow = this.length;\r\n }\r\n this.dataSource.data = response;\r\n }));\r\n }\r\n\r\n searchAlerts(){\r\n if(this.cameraSelect != 0 && this.alertTypeId != 0){\r\n this.showHeatMap();\r\n }else{\r\n this.AlertService.showMessage(\"Seleccione la cĆ”mara y el tipo de alerta\",\"\", MessageSeverity.error);\r\n }\r\n }\r\n\r\n getZonesByEnterprise() {\r\n this.enterprisesZones = [];\r\n this.spinner.show();\r\n this.zoneService.getListAll(this.enterpriseId,this.headquarterSelect).subscribe(response => {\r\n if(response.error == null){\r\n var zones = response.data.filter(_ => _.type == 1);\r\n this.enterprisesZones = zones;\r\n if(this.enterprisesZones.length>0){\r\n this.zoneSelect = this.enterprisesZones[0][\"id\"];\r\n this.getCameras(this.zoneSelect);\r\n }else{\r\n this.AlertService.showMessage(\"No tiene zonas VA registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\r\n }\r\n }else{\r\n this.enterprisesZones = [];\r\n this.cameras = [];\r\n }\r\n });\r\n }\r\n\r\n getCameras(zoneId: number) {\r\n this.cameraId = 0;\r\n this.spinner.show();\r\n this.cameras = new Array();\r\n this.cameraService.getCameraByZone(zoneId).subscribe((response => {\r\n this.cameras = response;\r\n if(this.cameras.length>0){\r\n this.cameraSelect = this.cameras[0].cameraId;\r\n this.cameraId = this.cameras[0].cameraId;\r\n this.pictureUrl = this.defaultPicture;\r\n this.alertTypeId = 0;\r\n this.dataSource.data = [];\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n donwloadPicture() {\r\n if(this.idStorageFile == 2){ //Azure\r\n this.cameraService.downloadHeatmap(this.cameraId, this.alertTypeId, this.dateFilter,this.idStorageFile).subscribe((response => {\r\n let myGuid = uuidv4();\r\n const file = new Blob([response], { type: response.type });\r\n FileSaver.saveAs(file, `${myGuid}.jpg`);\r\n this.loading = false;\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.loading = false;\r\n });\r\n }else if(this.idStorageFile == 1){ // Mode Local\r\n var data = {\r\n cameraId: this.cameraId,\r\n alertTypeId: this.alertTypeId,\r\n dateFilter: this.dateFilter,\r\n idHeadquarter: this.headquarterSelect\r\n }\r\n this.heatMapService.getImageUriHeathmap(data).subscribe((response => {\r\n /*if(response.url != \"\" && response.url != null){\r\n if(this.idStorageFile == 1){ // Mode Local\r\n var path = environment.pathFile + response.url;\r\n let link = document.createElement(\"a\");\r\n link.download = uuidv4();\r\n link.href = path;\r\n link.click();\r\n }\r\n }*/\r\n }));\r\n }\r\n\r\n }\r\n\r\n public saveToFileSystem(response: any, name: string) {\r\n let dataType = response.type;\r\n let binaryData = [];\r\n let filename = name;\r\n binaryData.push(response);\r\n let downloadLink = document.createElement('a');\r\n downloadLink.href = window.URL.createObjectURL(new Blob(binaryData, { type: dataType }));\r\n if (filename) {\r\n downloadLink.setAttribute('download', filename);\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n }\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.cameras = [];\r\n this.cameraSelect = 0;\r\n this.cameraId= 0;\r\n this.getZonesByEnterprise();\r\n }\r\n\r\n}\r\n","
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Seleccionar Zona\r\n \r\n \r\n {{zone.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n CĆ”mara {{element.camera}} Pin {{element.pinMap}} PosiciĆ³n \r\n Predeterminado\r\n Opuesta\r\n \r\n \r\n Eliminar\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MessageModalComponent } from 'src/app/shared/components/modals/message/message-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\nimport 'fabric';\r\nimport { AlertService, MessageSeverity } from '../../../../shared/services/alert.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { CameraZoneUpdate, CameraZoneViewModel } from 'src/app/models/camera/camera';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { LocationPinCameraModalComponent } from 'src/app/shared/components/modals/location-pin-camera/location-pin-camera-modal.component';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { Router } from '@angular/router';\r\ndeclare const fabric: any;\r\n\r\n@Component({\r\n selector: 'app-location-camera',\r\n templateUrl: './location-camera.component.html',\r\n styleUrls: ['./location-camera.component.css']\r\n})\r\nexport class LocationCameraComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n enterprises = [];\r\n enterpriseSelect: number = 0;\r\n enterprisesZones = [];\r\n enterpriseZoneSelect: number = 0;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index', 'camera', 'pin', 'posicion', 'enabled','delete'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('paginatorTop', { static: false }) paginatorTop: MatPaginator;\r\n @ViewChild('paginatorBottom', { static: false }) paginatorBottom: MatPaginator;\r\n subscription: Subscription;\r\n listCameras = new Array();\r\n idPinMap: number;\r\n pathPinMap: string;\r\n directionPinMap: string;\r\n idStorageFile: number;\r\n image: any;\r\n file: File = null;\r\n canvas: any;\r\n genredCanva: boolean = true;\r\n nameMarker: string = '';\r\n cameraId: number = 0;\r\n sessionUserId: string;\r\n headquarterSelect: number = 0;\r\n headquarters=[];\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n widthDefault = 720;\r\n heightDefault = 520;\r\n isPhone = false;\r\n isTablet = false;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n private cameraService: CameraService,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private headquarterService: HeadquarterService,\r\n private zoneService: ZoneService\r\n ) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Video AnalĆ­tica > UbicaciĆ³n GeogrĆ”fica';\r\n const userAgent: string = navigator.userAgent || navigator.vendor;\r\n const isMobileDevice = (): boolean => {\r\n const regexs = [/(Android)(.+)(Mobile)/i, /BlackBerry/i, /iPhone|iPod/i, /Opera Mini/i, /IEMobile/i]\r\n return regexs.some((b) => userAgent.match(b))\r\n }\r\n const isTabletDevice = (): boolean => {\r\n const regexs = [/iPad/i, /iPod/i, /tablet/i, /tablet|ipad/i, /^((?!chrome|android).)*safari/i]\r\n return regexs.some((b) => userAgent.match(b))\r\n }\r\n this.isPhone = isMobileDevice();\r\n this.isTablet = isTabletDevice();\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getZonesByEnterprise();\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.getCanvas();\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getCanvas() {\r\n this.canvas = new fabric.Canvas('canvasLocation',{selection: false});\r\n if(this.isPhone){\r\n this.widthDefault = this.widthDefault / 2.5;\r\n this.heightDefault = this.heightDefault / 2.5;\r\n }\r\n this.canvas.setWidth(this.widthDefault);\r\n this.canvas.setHeight(this.heightDefault);\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.paginatorTop) {\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n }\r\n}\r\n\r\nchangeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.nameMarker = ''\r\n this.clearDataTable();\r\n this.clearCanvas();\r\n this.enterpriseZoneSelect = 0;\r\n this.getZonesByEnterprise();\r\n}\r\n\r\nhandlePaginatorTop(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorTop.pageSize = pageSize\r\n this.paginatorTop.pageIndex = pageIndex;\r\n this.paginatorTop.page.emit(e);\r\n}\r\n\r\nhandlePaginatorBottom(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorBottom.pageSize = pageSize\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n this.paginatorBottom.pageIndex = pageIndex;\r\n }\r\n\r\n\r\n openAddModal() {\r\n const dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CONFIRM_TITLE_RECORDER,\r\n message: AppConstants.MessageModal.REGISTER_MESSAGE_LOCATION_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'ACEPTAR',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.saveUbicationMarkers();\r\n }\r\n });\r\n }\r\n\r\n getEnterprises() {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterprises().subscribe((response) => {\r\n this.enterprises = response.filter(f => f.enabled == AppConstants.Flag.Active);\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n // this.getZonesByEnterprise(this.enterpriseSelect);\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getHeadquarters() {\r\n this.listCameras = [];\r\n this.enterprisesZones = [];\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length>0){\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }else{\r\n this.headquarterSelect = 0;\r\n }\r\n this.getZonesByEnterprise();\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.clearDataTable();\r\n this.clearCanvas();\r\n this.getHeadquarters();\r\n }\r\n\r\n openModal(element){\r\n if(element.cameraPosX == 0){\r\n let dialogRef = this.dialog.open(LocationPinCameraModalComponent, {\r\n data: { idEnterprise : this.enterpriseSelect,idHeadquarter: this.headquarterSelect,\r\n enabledWrite: this.enabledWrite,\r\n enabledRead: this.enabledRead,\r\n color:this.color1,\r\n colorFont: this.color2 },\r\n width: '800px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if(result.data != null){\r\n this.idPinMap = result.data.pinMap;\r\n this.directionPinMap = result.data.direction;\r\n this.pathPinMap = result.data.path;\r\n this.nameMarker = element.camera;\r\n this.cameraId = element.cameraId;\r\n let index = this.listCameras.findIndex(item => item.cameraId == this.cameraId);\r\n if (index != -1) {\r\n var obj2 = this.listCameras[index];\r\n obj2.idPinMap = this.idPinMap;\r\n obj2.id_Zone = this.enterpriseZoneSelect;\r\n obj2.oppositeMapDirection = this.directionPinMap.toString();\r\n }\r\n this.handleDrop();\r\n }\r\n });\r\n }else{\r\n this.alertService.showMessage(AppConstants.MessageModal.CAMERA_EXIST_ZONE, \"\", MessageSeverity.error);\r\n }\r\n }\r\n\r\n clearDataTable() {\r\n this.dataSource.data = [];\r\n this.dataSource = new MatTableDataSource(this.dataSource.data);\r\n setTimeout(() => {\r\n this.dataSource.paginator = this.paginator;\r\n });\r\n }\r\n\r\n getZonesByEnterprise() {\r\n this.enterprisesZones = [];\r\n this.spinner.show();\r\n this.zoneService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe(response => {\r\n if(response.error == null){\r\n var zones = response.data.filter(_ => _.type == 1);\r\n this.enterprisesZones = zones;\r\n if(this.enterprisesZones.length > 0){\r\n var data = this.enterprisesZones[0];\r\n this.enterpriseZoneSelect = data.id;\r\n var zonePath = data.image;\r\n if(data.idStorageTypeBlob == 1){ // Mode Local\r\n zonePath = data.storagePathBlob + zonePath;\r\n }\r\n this.changeImage(zonePath);\r\n } else {\r\n this.alertService.showMessage(\"No tiene zonas VA registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n this.getCameras();\r\n }else{\r\n this.enterprisesZones = [];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeZone(data) {\r\n this.nameMarker = ''\r\n this.clearDataTable();\r\n this.clearCanvas();\r\n this.enterpriseZoneSelect = data.value;\r\n var item = this.enterprisesZones.filter(f => f.id == data.value);\r\n console.log(\"zone change\",item);\r\n if(item.length>0){\r\n var data = item[0];\r\n var zonePath = data.image;\r\n if(data.idStorageTypeBlob == 1){ // Mode Local\r\n zonePath = data.storagePathBlob + zonePath;\r\n }\r\n this.changeImage(zonePath);\r\n }else{\r\n this.changeImage('./assets/images/sin_image.jpg');\r\n }\r\n this.getCameras();\r\n }\r\n\r\n getCameras() {\r\n this.listCameras = new Array();\r\n if(this.enterpriseZoneSelect > 0){\r\n this.spinner.show();\r\n this.cameraService.getCameraByZone(this.enterpriseZoneSelect).subscribe((response => {\r\n this.listCameras = response;\r\n this.dataSource.data = this.listCameras;\r\n this.createMarkers();\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n }\r\n\r\n democlcik(data) {\r\n this.nameMarker = data.camera;\r\n this.cameraId = data.cameraId;\r\n }\r\n\r\n deleteMark(e){\r\n var data = this.canvas._objects.filter(f => f.cameraId == e.cameraId);\r\n var index = this.canvas._objects.findIndex(f => f.cameraId == e.cameraId);\r\n var obj = this.canvas.getObjects();\r\n this.listCameras.forEach(f => {\r\n if(f.cameraId == e.cameraId) {\r\n f.cameraPosX=0;\r\n f.cameraPosY=0;\r\n f.idPinMap=0;\r\n f.oppositeMapDirection='-';\r\n }\r\n });\r\n if (data.length > 0) {\r\n this.canvas.remove(obj[index]);\r\n }\r\n }\r\n handleDrop() {\r\n this.listenMovement();\r\n if (this.nameMarker != '') {\r\n\r\n let data = this.canvas._objects.filter(f => f.cameraId == this.cameraId);\r\n if (data.length > 0) {\r\n this.alertService.showMessage(AppConstants.TitleModal.ADD_ZONE_CAMERA, AppConstants.MessageModal.ADD_ZONE_CAMERA_MESSAGE_DUPLICATE, MessageSeverity.warn);\r\n this.nameMarker = '';\r\n return;\r\n } else {\r\n var _this = this;\r\n var text = new fabric.Text(_this.nameMarker, {textBackgroundColor:'#1f5165',fill: 'white', fontSize: 15, originX: 'center', originY: 'center'});\r\n if(this.idStorageFile == 1){ // Mode Local\r\n this.pathPinMap = environment.pathFile + this.pathPinMap;\r\n }\r\n\r\n new fabric.Image.fromURL(this.pathPinMap,\r\n function(img) {\r\n if(_this.isPhone){\r\n img.scaleToWidth(40 / 2.5);\r\n img.scaleToHeight(40 / 2.5);\r\n }else{\r\n img.scaleToWidth(40);\r\n img.scaleToHeight(40);\r\n }\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n top: -10,\r\n scaleX: _this.directionPinMap == '0' ? 0.1 : -0.1,\r\n scaleY: 0.1\r\n });\r\n var group = new fabric.Group([text, img1], {\r\n left: 50,\r\n top: 150,\r\n borderColor: 'transparent',\r\n cameraId: _this.cameraId,\r\n idPinMap: _this.idPinMap,\r\n hasControls: false,\r\n hasRotatingPoint: false\r\n });\r\n _this.canvas.add(group);\r\n _this.nameMarker = '';\r\n });\r\n }\r\n }\r\n }\r\n\r\n clearCanvas() {\r\n this.canvas.remove(...this.canvas.getObjects());\r\n }\r\n\r\n createMarkers() {\r\n for (var i = 0; i < this.listCameras.length; i++) {\r\n var obj = this.listCameras[i];\r\n console.log(obj);\r\n if (obj.cameraPosX != 0 && obj.cameraPosY != 0 && obj.id_Zone == this.enterpriseZoneSelect) {\r\n this.newGroup(obj);\r\n }\r\n }\r\n }\r\n\r\n newGroup(obj) {\r\n var _this = this;\r\n if(obj.idStorageType == 1){ // Mode Local\r\n obj.pathPinMap = environment.pathFile + obj.pathPinMap;\r\n }\r\n new fabric.Image.fromURL(obj.pathPinMap,\r\n function(img) {\r\n if(_this.isPhone){\r\n img.scaleToWidth(40 / 2.5);\r\n img.scaleToHeight(40 / 2.5);\r\n }else{\r\n img.scaleToWidth(40);\r\n img.scaleToHeight(40);\r\n }\r\n var img1 = img.set({\r\n originX: 'center',\r\n originY: 'bottom',\r\n angle: 0,\r\n top: -10,\r\n scaleX: obj.oppositeMapDirection == '0' ? 0.1 : -0.1,\r\n scaleY: 0.1\r\n });\r\n console.log(\"id Pin Map\"+obj.idPinMap);\r\n var text = new fabric.Text(obj.camera, {textBackgroundColor:'#1f5165',fill: 'white', fontSize: 15, originX: 'center', originY: 'center'});\r\n var group = new fabric.Group([text, img1], {\r\n left: obj.cameraPosX,\r\n top: obj.cameraPosY,\r\n borderColor: 'transparent',\r\n hasControls: false,\r\n hasRotatingPoint: false,\r\n cameraId: obj.cameraId,\r\n idPinMap: obj.idPinMap\r\n });\r\n _this.canvas.add(group);\r\n });\r\n }\r\n\r\n\r\n saveUbicationMarkers() {\r\n this.spinner.show();\r\n var model = new CameraZoneUpdate();\r\n this.positionMarkers();\r\n model.cameras = this.listCameras;\r\n model.userUpdate = this.sessionUserId;\r\n this.cameraService.updateCameraZone(model).subscribe((response => {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_CAMERA_ZONE, AppConstants.MessageModal.UPDATE_CAMERA_ZONE, MessageSeverity.success);\r\n this.clearCanvas();\r\n this.getCameras();\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_CAMERA_ZONE, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n positionMarkers() {\r\n let data = this.canvas._objects.filter(f => f.cameraId != undefined);\r\n data.forEach(f => {\r\n let index = this.listCameras.findIndex(item => item.cameraId == f.cameraId);\r\n if (index != -1) {\r\n var obj = this.listCameras[index];\r\n obj.cameraPosX = f.left;\r\n obj.cameraPosY = f.top;\r\n }\r\n });\r\n }\r\n\r\n changeImage(urlImage : string) {\r\n fabric.Image.fromURL(urlImage, (img) => {\r\n img.set({\r\n opacity: 0.5,\r\n scaleX: this.canvas.width / img.width,\r\n scaleY: this.canvas.height / img.height,\r\n });\r\n this.canvas.setBackgroundImage(img, this.canvas.requestRenderAll.bind(this.canvas));\r\n });\r\n }\r\n\r\n listenMovement(){\r\n var _this = this;\r\n this.canvas.on(\"object:moving\", function(e) {\r\n var obj = e.target;\r\n console.log('PINMAP',obj);\r\n var canvas = obj.canvas;\r\n var top = obj.top;\r\n var left = obj.left;\r\n var pan_x = canvas.viewportTransform[4];\r\n var pan_y = canvas.viewportTransform[5];\r\n\r\n var c_width = canvas.width;\r\n var c_height = canvas.height;\r\n\r\n var w = obj.width * obj.scaleX\r\n\r\n var left_adjust, right_adjust\r\n if(obj.originX == \"center\") {\r\n left_adjust = right_adjust = w / 2;\r\n } else {\r\n left_adjust = 0;\r\n right_adjust = w;\r\n }\r\n\r\n var h = obj.height * obj.scaleY;\r\n var top_adjust, bottom_adjust;\r\n if(obj.originY == \"center\") {\r\n top_adjust = bottom_adjust = h / 2;\r\n } else {\r\n top_adjust = 0;\r\n bottom_adjust = h;\r\n }\r\n var top_margin = 0;\r\n var bottom_margin = 0;\r\n var left_margin = 0;\r\n var right_margin = 0;\r\n\r\n var top_bound = top_margin + top_adjust - pan_y;\r\n var bottom_bound = c_height - bottom_adjust - bottom_margin - pan_y;\r\n var left_bound = left_margin + left_adjust - pan_x;\r\n var right_bound = c_width - right_adjust - right_margin - pan_x;\r\n\r\n if( w > c_width ) {\r\n obj.left=(left_bound);\r\n } else {\r\n obj.left=(Math.min(Math.max(left, left_bound), right_bound));\r\n }\r\n\r\n if( h > c_height ) {\r\n obj.top=(top_bound);\r\n } else {\r\n obj.top=(Math.min(Math.max(top, top_bound), bottom_bound));\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\n\n\n ","\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit, Pipe } from '@angular/core';\nimport { MatDialog } from '@angular/material';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { PowerBIService } from 'src/app/services/power-bi/power-bi.service';\nimport { PowerbiModalComponent } from 'src/app/shared/components/modals/powerbi-modal/powerbi-modal.component';\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\n\n@Component({\n selector: 'app-report-bi-va',\n templateUrl: './report-bi-va.component.html',\n styleUrls: ['./report-bi-va.component.css']\n})\nexport class ReportBiVAComponent implements OnInit {\n\n url:SafeResourceUrl;\n enterpriseSelect: number = 0;\n headquarterSelect: number = 0;\n color1: string;\n color2: string;\n colorFont: string;\n colorFont2: string;\n enabledRead: number;\n enabledWrite: number;\n\n constructor(\n public dialog: MatDialog,\n private spinner: NgxSpinnerService,\n private router: Router,\n private _sanitizer: DomSanitizer,\n private powerBIService: PowerBIService) {\n document.getElementById(\"titleHeaderNav\").innerHTML = 'VideoanalĆ­tica > Reporte Power BI';\n }\n\n ngOnInit() {\n this.setLS();\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\n this.getPowerBI();\n }\n\n setLS(){\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\n //validate Permisses menu\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\n var page = this.router.url.split(\"/\");\n var i = page[page.length-1];\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\n if(itemTag.length>0){\n this.enabledRead = itemTag[0].activeRead;\n this.enabledWrite = itemTag[0].activeWrite;\n }else{\n this.enabledRead = 0;\n this.enabledWrite = 0;\n }\n }\n\n getPowerBI() {\n this.spinner.show();\n this.powerBIService.getListAll(this.enterpriseSelect,this.headquarterSelect,1).subscribe((response) => {\n if(response.data.length>0){\n this.url = this._sanitizer.bypassSecurityTrustResourceUrl(response.data[0].url);\n }\n this.spinner.hide();\n },\n (error: HttpErrorResponse) => {\n this.spinner.hide();\n });\n }\n\n openAddModal() {\n let dialogRef = this.dialog.open(PowerbiModalComponent, {\n data: {\n title: AppConstants.TitleModal.POWER_BI,\n action: AppConstants.OperationType.ADD,\n idSystem:1,\n idEnterprise: this.enterpriseSelect,\n idHeadquarter: this.headquarterSelect,\n enabledWrite: this.enabledWrite,\n enabledRead: this.enabledRead,\n color: this.color1,\n colorFont: this.color2,\n obj:null},\n width: '500px',\n hasBackdrop: true\n });\n dialogRef.afterClosed().subscribe(_ => {\n if (_.result == true) {\n /* this.page = 1;\n this.paginator.pageIndex = 0;\n this.getList(); */\n }\n });\n }\n}\n","
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Fecha inicio\r\n \r\n \r\n \r\n \r\n La fecha de Inicio es obligatorio\r\n \r\n \r\n La fecha de Inicio no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Fecha Fin\r\n \r\n \r\n \r\n \r\n La fecha Final es obligatorio\r\n \r\n \r\n La fecha Final no tiene el formato correcto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora inicio\r\n \r\n \r\n La Hora Inicial es obligatorio\r\n \r\n \r\n La Hora Inicial tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n \r\n Hora fin\r\n \r\n \r\n La Hora Final es obligatorio\r\n \r\n \r\n La Hora Final tiene formato incorrecto\r\n \r\n \r\n
\r\n
\r\n \r\n Seleccionar Zona\r\n \r\n \r\n {{zone.name}}\r\n \r\n \r\n \r\n La zona es obligatorio\r\n \r\n \r\n
\r\n
\r\n \r\n Estado\r\n \r\n 0\">\r\n Todos\r\n \r\n \r\n {{status.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n CƔmara\r\n \r\n 1\">\r\n Todos\r\n \r\n \r\n {{camera.camera}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Tipo de alerta\r\n \r\n 1\">\r\n Todos\r\n \r\n \r\n {{cameraAlerts.c_Alert}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Usuario\r\n \r\n 0\">\r\n Todos\r\n \r\n \r\n {{user.fullName}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n VER ALERTAS FALSO POSITIVOS\r\n
\r\n
0\">\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
# \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n CĆ”mara {{element.camera}} Tipo de Alarma {{element.typeAlert}} Fecha de Registro {{element.insertDateOcurrence}} Usuario AtenciĆ³n {{element.userName}} Estado {{element.enabled}} Fecha ModificaciĆ³n {{element.updateCamera}} Fecha AtenciĆ³n {{element.insertDate}} Acciones \r\n remove_red_eye\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { EmitterService } from '../../../../shared/services/emitter.service';\r\nimport { ReportService } from '../../../../services/reportAlert/report.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { AppConstants } from '../../../../shared/constants/app.contants';\r\nimport { CameraService } from '../../../../services/camera/camera.service';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\nimport * as FileSaver from 'file-saver';\r\nimport { PanelCameraModalComponent } from 'src/app/shared/components/modals/panel/camera/panel-camera-modal.component';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { UserService } from 'src/app/services/user/user.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material';\r\nimport { APP_DATE_FORMATS, AppDateAdapter } from 'src/app/shared/helpers/format-datepicker';\r\nimport { LOCALE_ID } from '@angular/core';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-report',\r\n templateUrl: './report.component.html',\r\n styleUrls: ['./report.component.css'],\r\n providers: [\r\n {provide: DateAdapter, useClass: AppDateAdapter},\r\n {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS},\r\n ]\r\n})\r\nexport class ReportComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index','camera', 'typeAlert', 'insertDateOcurrence', 'enabled', 'userName', 'updateCamera', 'insertDate', 'action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('paginatorTop', { static: false }) paginatorTop: MatPaginator;\r\n @ViewChild('paginatorBottom', { static: false }) paginatorBottom: MatPaginator;\r\n subscription: Subscription;\r\n alertError = 0;\r\n\r\n cameras = [];\r\n users = [];\r\n cameraAlert = [];\r\n stats = [\r\n {\r\n id: 1, name: 'Pendiente'\r\n },\r\n {\r\n id: 2, name: 'En Proceso'\r\n },\r\n {\r\n id: 3, name: 'Atendido'\r\n }\r\n ];\r\n enterprises = [];\r\n enterpriseSelect: number;\r\n alertSelect: number = 0;\r\n cameraSelect: number = 0;\r\n userSelect: number = 0;\r\n statuselect: number = 0;\r\n\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = 0;\r\n length: number = 0;\r\n\r\n reportForm: FormGroup;\r\n\r\n myDate = new Date();\r\n zoneId: number = 0;\r\n date = new Date();\r\n dateF = new Date();\r\n timeI: string;\r\n timeF: string;\r\n dateV:string;\r\n isAdministrator=false;\r\n dateIView:string;\r\n dateFView:string;\r\n headquarterSelect = 0;\r\n enterprisesZones = [];\r\n enterpriseZoneSelect: number = 0;\r\n color1: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n enabledRead: number;\r\n enabledWrite: number;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private router: Router,\r\n private spinner: NgxSpinnerService,\r\n private ReportService: ReportService,\r\n private userService: UserService,\r\n private enterpriseService: EnterpriseService,\r\n private CameraService: CameraService,\r\n private datePipe: DatePipe,\r\n private AlertService: AlertService,\r\n private zoneService: ZoneService,\r\n private formBuilder: FormBuilder,) {\r\n document.getElementById(\"titleHeaderNav\").innerHTML = 'Video AnalĆ­tica > Reportes';\r\n }\r\n\r\n ngOnInit() {\r\n this.setLS();\r\n this.createForm();\r\n this.enterpriseSelect = (+localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n this.headquarterSelect = (+localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n this.getZonesByEnterprise();\r\n this.userList();\r\n this.dataSource.paginator = this.paginator;\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\r\n }\r\n\r\n setLS(){\r\n this.color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT);\r\n this.colorFont2 = localStorage.getItem(AppConstants.Session.THEME_COLOR_FONT2);\r\n //validate Permisses menu\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n var page = this.router.url.split(\"/\");\r\n var i = page[page.length-1];\r\n var itemTag = menu.filter(x => x.tag != null && (x.tag.toString()).toLowerCase().includes(i));\r\n if(itemTag.length>0){\r\n this.enabledRead = itemTag[0].activeRead;\r\n this.enabledWrite = itemTag[0].activeWrite;\r\n }else{\r\n this.enabledRead = 0;\r\n this.enabledWrite = 0;\r\n }\r\n }\r\n\r\n getZonesByEnterprise() {\r\n this.enterprisesZones = [];\r\n this.spinner.show();\r\n this.zoneService.getListAll(this.enterpriseSelect,this.headquarterSelect).subscribe(response => {\r\n if(response.error == null){\r\n var zones = response.data.filter(_ => _.type == 1);\r\n this.enterprisesZones = zones;\r\n if(this.enterprisesZones.length>0){\r\n this.enterpriseZoneSelect = this.enterprisesZones[0][\"id\"];\r\n }else{\r\n this.AlertService.showMessage(\"No tiene zonas VA registradas, debes de crear una zona para usar este mĆ³dulo\", \"\", MessageSeverity.error);\r\n }\r\n this.changeZone(0);\r\n }else{\r\n this.enterprisesZones = [];\r\n this.cameras = [];\r\n }\r\n this.cameraList();\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeZone(e: any) {\r\n if(e != 0){\r\n this.enterpriseZoneSelect = e.id;\r\n }\r\n this.cameraList();\r\n }\r\n\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.paginatorTop) {\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n }\r\n }\r\n\r\n handlePaginatorTop(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorTop.pageSize = pageSize\r\n this.paginatorTop.pageIndex = pageIndex;\r\n this.paginatorTop.page.emit(e);\r\n }\r\n\r\n handlePaginatorBottom(e): void {\r\n const { pageSize, pageIndex } = e;\r\n this.paginatorBottom.pageSize = pageSize\r\n this.paginatorBottom.length = this.paginatorTop.length;\r\n this.paginatorBottom.pageIndex = pageIndex;\r\n }\r\n\r\n checkError(){\r\n if(!this.alertError){\r\n this.alertError = 1;\r\n }else{\r\n this.alertError = 0;\r\n }\r\n }\r\n\r\n createForm() {\r\n this.reportForm = this.formBuilder.group({\r\n zoneId: ['', [Validators.required]],\r\n enterpriseId: ['', [Validators.required]],\r\n startDateReport: ['', [Validators.required]],\r\n endDateReport: ['', [Validators.required]],\r\n startTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n endTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n statusReport: ['', [Validators.required]],\r\n cameraReport: ['', [Validators.required]],\r\n alertReport: ['', [Validators.required]],\r\n userReport: ['', [Validators.required]],\r\n });\r\n }\r\n\r\n _keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n console.log(event.keyCode)\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n }\r\n\r\n get f() { return this.reportForm.controls; }\r\n\r\n cameraList() {\r\n this.cameras = [];\r\n var data = {\r\n idZone: this.enterpriseZoneSelect,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect\r\n }\r\n console.log(\"filter\",data);\r\n this.CameraService.getCameraByZoneCP(data).subscribe((response => {\r\n this.cameras = response;\r\n if(this.cameras.length>1){\r\n this.cameraSelect = 0;\r\n }else if(this.cameras.length!=0){\r\n this.cameraSelect = this.cameras[0].cameraId;\r\n }\r\n this.changeCamera(1);\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n userList() {\r\n this.users = [];\r\n var filter = {\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect\r\n };\r\n this.userService.getUserEnterpriseHeadquarters(filter).subscribe((response) => {\r\n if(response.error == null){\r\n this.users = this.users.concat(response.data);\r\n }\r\n this.userSelect = 0;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n changeCameras() {\r\n this.changeCamera(0);\r\n }\r\n\r\n changeCamera(id: number) {\r\n this.spinner.show();\r\n this.cameraAlert = [];\r\n this.alertSelect = 0;\r\n this.CameraService.GetAlertByCamera(this.cameraSelect,0).subscribe((response) => {\r\n this.cameraAlert = response;\r\n this.alertSelect = 0;\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.cameraAlert = []\r\n });\r\n }\r\n\r\n searchs() { \r\n this.getListReportAlert(1, 'ALL'); \r\n }\r\n\r\n exp() {\r\n // this.loading = true;//ruta no existe, activar cuando el servicio funcione\r\n this.ReportService.downloadFile(\r\n this.enterpriseSelect,\r\n this.datePipe.transform(this.date, 'dd-MM-yyyy'),\r\n this.datePipe.transform(this.dateF, 'dd-MM-yyyy'),\r\n this.timeI,\r\n this.timeF,\r\n this.statuselect,\r\n this.cameraSelect,\r\n this.alertSelect,\r\n this.userSelect,\r\n this.alertError\r\n ).subscribe(\r\n (response) => {\r\n const data: Blob = new Blob([response], {\r\n type: response.type\r\n });\r\n FileSaver.saveAs(data, 'archivo');\r\n this.loading=false;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.AlertService.showMessage(AppConstants.TitleModal.DOWNLOAD_FILES, AppConstants.MessageModal.DOWNLOAD_FILE_MESSAGE, MessageSeverity.error);\r\n },()=>{this.loading=false;}\r\n );\r\n }\r\n\r\n setData(){\r\n let search = this.reportForm.value;\r\n try{\r\n this.dateIView = search.startDateReport;//this.datePipe.transform(search.startDateReport, 'dd/MM/yyyy');\r\n this.dateFView = search.endDateReport; //this.datePipe.transform(search.endDateReport, 'dd/MM/yyyy');\r\n // alert(\"try catch 2 - \" + this.dateIView);\r\n // search.startDateReport = this.datePipe.transform(search.startDateReport, 'dd/MM/yyyy');\r\n // search.endDateReport = this.datePipe.transform(search.endDateReport, 'dd/MM/yyyy');\r\n }catch{\r\n this.dateIView = search.startDateReport;\r\n this.dateFView = search.endDateReport;\r\n\r\n search.startDateReport = search.startDateReport;\r\n search.endDateReport = search.endDateReport;\r\n }\r\n\r\n this.searchs();\r\n }\r\n\r\n setDatas(){\r\n let search = this.reportForm.value;\r\n\r\n this.dateIView = this.datePipe.transform(search.startDateReport, 'dd/MM/yyyy');\r\n this.dateFView = this.datePipe.transform(search.endDateReport, 'dd/MM/yyyy');\r\n\r\n // search.startDateReport = this.datePipe.transform(search.startDateReport, 'dd/MM/yyyy');\r\n // search.endDateReport = this.datePipe.transform(search.endDateReport, 'dd/MM/yyyy');\r\n\r\n }\r\n\r\n getListReportAlert(id: number, value: string) {\r\n this.spinner.show();\r\n if (value == '%') {\r\n this.loading = true;\r\n var filter = {\r\n enterpriseId: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n dateI: this.dateV,\r\n dateF: this.dateV,\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n statusId: this.statuselect,\r\n cameraId: this.cameraSelect,\r\n alertId: this.alertSelect,\r\n userId: this.userSelect,\r\n error: this.alertError\r\n };\r\n filter.dateI = this.datePipe.transform(filter.dateI, 'dd/MM/yyyy');\r\n filter.dateF = this.datePipe.transform(filter.dateF, 'dd/MM/yyyy');\r\n this.ReportService.getReport(filter).subscribe((response) => {\r\n if(response.length > 0){\r\n this.dataSource.data = response;\r\n }else{\r\n this.dataSource.data = response;\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL_SEARCH,\r\n MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n } else {\r\n this.loading = true;\r\n var filterS = {\r\n enterpriseId: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n dateI: this.dateIView,\r\n dateF: this.dateFView,\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n statusId: this.statuselect,\r\n cameraId: this.cameraSelect,\r\n alertId: this.alertSelect,\r\n userId: this.userSelect,\r\n error: this.alertError\r\n };\r\n filterS.dateI = this.datePipe.transform(filterS.dateI, 'dd/MM/yyyy');\r\n filterS.dateF = this.datePipe.transform(filterS.dateF, 'dd/MM/yyyy');\r\n this.ReportService.getReport(filterS).subscribe((response) => {\r\n if(response.length > 0){\r\n this.dataSource.data = response;\r\n }else{\r\n this.dataSource.data = response;\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL_SEARCH,\r\n MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n }\r\n\r\n alerta(element) {\r\n let dialogRef = this.dialog.open(PanelCameraModalComponent, {\r\n data: { ocurrenceId: element.id_Ocurrence, cameraId: element.id_Camera, enterpiseId: this.enterpriseSelect },\r\n width: '800px', hasBackdrop: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(() => {\r\n this.setData();\r\n });\r\n }\r\n\r\n}\r\n","

Ha acabado el perĆ­odo de prueba, por favor comunĆ­quese con G&S Gestion y Sistemas.

\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-license',\r\n templateUrl: './license.component.html',\r\n styleUrls: ['./license.component.css']\r\n})\r\nexport class LicenseComponent implements OnInit {\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n //license\r\n var d = new Date();\r\n var date = d.getDate();\r\n var month = (d.getMonth()+1);\r\n var day = date.toString();\r\n if(date < 10){ day = \"0\"+date; }\r\n var m = month.toString();\r\n if(month < 10){ m = \"0\"+month; }\r\n var datestring = d.getFullYear() + \"-\" + m + \"-\" + day ;\r\n if(datestring < environment.expiredLicense){\r\n this.router.navigate(['/home']);\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n Ā”Bienvenido!\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{titleLogin}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{titleForm}}

\r\n
\r\n
\r\n
\r\n
\r\n {{descriptionForm}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Correo electrĆ³nico\r\n portrait\r\n \r\n \r\n * El usuario es requerido\r\n \r\n \r\n \r\n ContraseƱa\r\n lock\r\n \r\n {{hide ? 'visibility_off' : 'visibility'}}\r\n \r\n * La contraseƱa es requerida\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Correo electrĆ³nico\r\n portrait\r\n \r\n \r\n * El usuario es requerido\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{error}}\r\n
\r\n
\r\n {{success}}\r\n
\r\n ĀæOlvidaste tu contraseƱa?, haz click aquĆ­\r\n Iniciar sesiĆ³n, haz click aquĆ­\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { AdminService } from 'src/app/services/admin/admin.service';\r\nimport { AuthService } from 'src/app/services/auth/auth.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { GetUserInfo, UserInfo } from \"src/app/models/admin/admin\";\r\nimport { ThemeService } from 'src/app/services/theme/theme.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n error = \"\";\r\n success = \"\";\r\n descriptionForm = AppConstants.Auth.DescriptionForm;\r\n titleForm = AppConstants.Auth.TitleForm;\r\n logo: string;\r\n hide = true;\r\n logoEnterprise: string;\r\n background: string;\r\n color1: string;\r\n color2: string;\r\n titleLogin: string;\r\n showLogin = true;\r\n form = new FormGroup({\r\n username: new FormControl('', [Validators.required]),\r\n password: new FormControl('', [Validators.required])\r\n });\r\n formPassword = new FormGroup({\r\n username: new FormControl('', [Validators.required])\r\n });\r\n\r\n constructor(\r\n private spinner: NgxSpinnerService,\r\n private router: Router,\r\n //private msService: MsalService,\r\n private authService: AuthService,\r\n private adminService: AdminService,\r\n private themeService: ThemeService\r\n ) {\r\n this.spinner.hide();\r\n if(environment.logoPrincipal != \"\"){\r\n this.logo = environment.logoEnterprise;\r\n }\r\n\r\n if(environment.logoEnterprise != \"\"){\r\n this.logoEnterprise = environment.logoEnterprise;\r\n }\r\n\r\n document.body.style.background = environment.themeColor1 + \" !important\";\r\n this.color1 = environment.themeColor1;\r\n this.color2 = environment.themeColor2;\r\n this.titleLogin = environment.titleLogin;\r\n }\r\n\r\n ngOnInit() {\r\n if(localStorage.getItem(\"isAzure\") != null && localStorage.getItem(\"isAzure\") == \"1\"){ // ACCESS MICROSOFT AZURE\r\n this.spinner.show();\r\n /*if(this.msService.instance.getActiveAccount() != null){\r\n this.generateToken(localStorage.getItem(AppConstants.Session.USERNAME));\r\n }*/\r\n }\r\n\r\n if(localStorage.getItem(AppConstants.Session.USERNAME) != null && localStorage.getItem(AppConstants.Session.USERNAME) != \"\"){\r\n this.spinner.show();\r\n this.getUserInfo(localStorage.getItem(AppConstants.Session.USERNAME));\r\n }\r\n }\r\n\r\n get f(){\r\n return this.form.controls;\r\n }\r\n\r\n get fPassword(){\r\n return this.formPassword.controls;\r\n }\r\n\r\n showPassword(){\r\n this.error = \"\";\r\n this.descriptionForm = AppConstants.Auth.DescriptionPasswordForm;\r\n this.titleForm = AppConstants.Auth.TitlePasswordForm;\r\n this.showLogin = false;\r\n }\r\n\r\n showSignIn(){\r\n this.error = \"\";\r\n this.descriptionForm = AppConstants.Auth.DescriptionForm;\r\n this.titleForm = AppConstants.Auth.TitleForm;\r\n this.showLogin = true;\r\n }\r\n\r\n login(){\r\n if(this.form.status === 'VALID'){\r\n this.spinner.show();\r\n this.authService.login(this.form.value).subscribe(res => {\r\n if(res.error){\r\n this.error = res.error.message;\r\n this.spinner.hide();\r\n }else{\r\n localStorage.setItem(\"_token_VD_GYS\",res.token);\r\n localStorage.setItem(\"isAzure\",\"0\");\r\n var username = this.form.get(\"username\").value;\r\n localStorage.setItem(AppConstants.Session.USERNAME,username);\r\n this.getUserInfo(username);\r\n }\r\n });\r\n }\r\n }\r\n\r\n password(){\r\n if(this.formPassword.status === 'VALID'){\r\n this.spinner.show();\r\n this.authService.password(this.formPassword.value).subscribe(res => {\r\n if(res.message == null){\r\n this.showLogin = true;\r\n this.error = \"\";\r\n this.success = \"Se acaba de enviar su nueva contraseƱa. Revise su bandeja de entrada o spam\";\r\n }else{\r\n this.error = res.error.message;\r\n this.success = \"\";\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n }\r\n\r\n\r\n loginMS(){\r\n localStorage.setItem(AppConstants.Session.USERNAME,this.form.get(\"username\").value);\r\n localStorage.setItem(\"isAzure\",\"1\");\r\n }\r\n\r\n generateToken(username: string){\r\n this.authService.generateToken().subscribe( _ => {\r\n if(_.token != null || _.token != \"\"){\r\n localStorage.setItem(\"_token_VD_GYS\",_.token);\r\n this.getUserInfo(username);\r\n }\r\n });\r\n }\r\n\r\n getUserInfo(username: string) {\r\n this.adminService.getUserInfoByUsername(username)\r\n .subscribe((response: GetUserInfo) => {\r\n console.log(response);\r\n if(response.error == null){\r\n var enterprise = response.data;\r\n localStorage.setItem(AppConstants.Session.USERID, enterprise.userId.toString());\r\n localStorage.setItem(AppConstants.Session.USER, enterprise.fullName.toString());\r\n localStorage.setItem(AppConstants.Session.ENTERPRISES, JSON.stringify(enterprise.enterprises));\r\n localStorage.setItem(AppConstants.Session.HEADQUARTERS, JSON.stringify(enterprise.headquarters));\r\n localStorage.setItem(AppConstants.Session.ENTERPRISE_SYSTEM, enterprise.systems.toString());\r\n localStorage.setItem(AppConstants.Session.MENU_ICON, \"0\");\r\n localStorage.setItem(AppConstants.Session.CHANGE_ENTERPRISE_MENU, \"0\");\r\n if(enterprise.enterprises.length>0){\r\n var idEnterprise = enterprise.enterprises[0]['id'];\r\n localStorage.setItem(AppConstants.Session.ENTERPRISE, idEnterprise.toString());\r\n var listHeadquarters = enterprise.headquarters;\r\n var headquarters = listHeadquarters.filter(x => x.idEnterprise = idEnterprise);\r\n var idHeadquarter = headquarters[0].id;\r\n localStorage.setItem(AppConstants.Session.HEADQUARTER, idHeadquarter.toString());\r\n var listmenuEnterpriseHeadquarterRole = enterprise.menuEnterpriseHeadquarterRole;\r\n var listmenuEnterpriseHeadquarterRoles = listmenuEnterpriseHeadquarterRole.filter(x => x.idEnterprise == idEnterprise && x.idHeadquarter == idHeadquarter);\r\n var role = listmenuEnterpriseHeadquarterRoles[0].role;\r\n localStorage.setItem(AppConstants.Session.ROLE, role.toString());\r\n localStorage.setItem(AppConstants.Session.MENU_ROLE, JSON.stringify(enterprise.menuEnterpriseHeadquarterRole));\r\n localStorage.setItem(AppConstants.Session.LOGO, enterprise.enterprises[0]['logo'].toString());\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR1, enterprise.enterprises[0]['themeColor1'].toString());\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR2, enterprise.enterprises[0]['themeColor2'].toString());\r\n var idUser = parseInt(localStorage.getItem(AppConstants.Session.USERID));\r\n this.adminService.getMenuEnterpriseRole(parseInt(idEnterprise),parseInt(localStorage.getItem(AppConstants.Session.HEADQUARTER)),idUser).subscribe((response) => {\r\n var menu = response.data;\r\n localStorage.setItem(AppConstants.Session.MENU, JSON.stringify(menu));\r\n for (var i = 0; i < menu.length; i++) {\r\n var link = menu[i].tag;\r\n var childs = menu.filter(x => x.idParent == menu[i].id);\r\n if (childs.length > 0) {\r\n var redirect = false;\r\n for(var ii = 0; ii {\r\n this.spinner.hide();\r\n // localStorage.clear();\r\n // this.authService.logout();\r\n });\r\n}\r\n\r\n}\r\n","\r\n

{{streaming}}

\r\n
\r\n \r\n
\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { StreamingService } from 'src/app/services/streaming/streaming.service';\r\nimport { StreamingDomainIframeService } from 'src/app/services/streamingDomainIframe/streamingDomainIframe.service';\r\nimport { StreamingStadisticsService } from 'src/app/services/streamingStadistics/streamingStadistics.service';\r\n\r\n@Component({\r\n selector: 'app-iframe-streaming',\r\n templateUrl: './iframe-streaming.component.html',\r\n styleUrls: ['./iframe-streaming.component.css']\r\n})\r\nexport class IframeStreamingComponent implements OnInit{\r\n token: string;\r\n showCamera = true;\r\n streaming = 'Validando...';\r\n imagePreview = \"\";\r\n showLive = false;\r\n streamingFile = \"\";\r\n streamingUrl = \"\";\r\n id = \"\";\r\n streamingKey = \"\";\r\n successValidate = 0;\r\n url:string;\r\n enterpriseId = 0;\r\n idCamera = 0;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private spinner: NgxSpinnerService,\r\n private streamingStadisticsService: StreamingStadisticsService,\r\n private streamingService: StreamingService,\r\n private streamingDomainIframeService: StreamingDomainIframeService) {\r\n this.route.params.subscribe(params => {\r\n this.token = params['token'];\r\n });\r\n }\r\n\r\n ngOnInit(){\r\n this.spinner.show();\r\n this.url = (window.location != window.parent.location)\r\n ? document.referrer\r\n : document.location.href;\r\n if(!this.url){\r\n if(window.location.ancestorOrigins != null){\r\n this.url = window.location.ancestorOrigins[0];\r\n }\r\n }\r\n\r\n /*if(this.url == \"\"){\r\n this.streaming = 'SU NAVEGADOR NO SOPORTA LA TRANSMISIƓN';\r\n this.saveStadistics();\r\n this.spinner.hide();\r\n }else{\r\n this.streamingDomainIframeService.validateDomain(this.url).subscribe( _ => {\r\n if(_.error == null && _.validate){*/\r\n this.successValidate = 1;\r\n this.showIframe();\r\n /* }else{\r\n this.streaming = 'NO TIENE PERMISOS PARA VER LA TRANSMISIƓN';\r\n this.saveStadistics();\r\n this.spinner.hide();\r\n }\r\n });\r\n }*/\r\n }\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n onRightClick(event: { preventDefault: () => void; }) {\r\n event.preventDefault();\r\n }\r\n\r\n\r\n saveStadistics(){\r\n var data = {\r\n successValidate: this.successValidate,\r\n originDomain: this.url,\r\n idCamera: this.idCamera,\r\n idEnterprise: this.enterpriseId,\r\n origin: 'iframe'\r\n }\r\n this.streamingStadisticsService.createStadistics(data).subscribe(_ => {});\r\n }\r\n\r\n showIframe(){\r\n\r\n this.streamingService.getCameraIframeToken(this.token).subscribe( _ => {\r\n if(_.camera != null){\r\n this.streaming = '';\r\n //this.streamingFile = _.camera.streamingFile;\r\n if(_.camera.streamingImage == null && !_.camera.streamingImage){\r\n this.imagePreview = \"../../../../../assets/images/logo-claro.png\";\r\n }else{\r\n this.imagePreview = _.camera.streamingImage;\r\n }\r\n this.streamingUrl = _.camera.streamingUrl;\r\n this.enterpriseId = _.camera.enterpriseId;\r\n //this.streamingKey = _.camera.streamingKey;\r\n this.id = \"video\"+_.camera.cameraId.toString();\r\n this.idCamera = _.camera.cameraId;\r\n this.showCamera = false;\r\n }else{\r\n this.streaming = 'LA TRANSMISIƓN HA SIDO DADA DE BAJA';\r\n }\r\n this.spinner.hide();\r\n this.saveStadistics();\r\n });\r\n }\r\n\r\n showStreaming(){\r\n this.showLive = true;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{titleMultipleStreaming}}

\r\n

{{descriptionMultipleStreaming}}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n

\r\n {{item.camera}}\r\n
\r\n {{item.streamingDescription}} \r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
Todos los derechos reservados 2022
\r\n
\r\n
\r\n\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { StreamingService } from 'src/app/services/streaming/streaming.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport * as $ from 'jquery';\r\nimport { CameraTopStreaming } from 'src/app/models/streaming/cameraTopStreaming.js';\r\nimport { StreamingDomainIframeService } from 'src/app/services/streamingDomainIframe/streamingDomainIframe.service';\r\nimport { StreamingStadisticsService } from 'src/app/services/streamingStadistics/streamingStadistics.service';\r\n\r\n@Component({\r\n selector: 'app-multiple-streaming',\r\n templateUrl: './multiple-streaming.component.html',\r\n styleUrls: ['./multiple-streaming.component.css']\r\n})\r\nexport class MultiplestreamingComponent implements OnInit{\r\n token: string;\r\n logo: string;\r\n text: string;\r\n logoEnterprise: string;\r\n hideLive = true;\r\n titleMultipleStreaming = 'Validando...';\r\n descriptionMultipleStreaming = '';\r\n textLive = 'Validando empresa';\r\n cameras = Array();\r\n iconRigth: string;\r\n showControls = true;\r\n enterpriseId = 0;\r\n iconLeft: string;\r\n url: string;\r\n successValidate = 0;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private streamingDomainIframeService: StreamingDomainIframeService,\r\n private streamingStadisticsService: StreamingStadisticsService,\r\n private spinner: NgxSpinnerService,\r\n private streamingService: StreamingService) {\r\n this.spinner.show();\r\n this.route.params.subscribe(params => {\r\n this.token = params['token'];\r\n this.iconLeft = environment.pathFile + \"assets/svg/left-pointer-carousel.svg\";\r\n this.iconRigth = environment.pathFile + \"assets/svg/right-pointer-carousel.svg\";\r\n });\r\n }\r\n\r\n ngOnInit(){\r\n this.url = (window.location != window.parent.location)\r\n ? document.referrer\r\n : document.location.href;\r\n if(!this.url){\r\n if(window.location.ancestorOrigins != null){\r\n this.url = window.location.ancestorOrigins[0];\r\n }\r\n }\r\n\r\n /*if(this.url == \"\"){\r\n this.titleMultipleStreaming = 'SU NAVEGADOR NO SOPORTA LA TRANSMISIƓN';\r\n this.spinner.hide();\r\n this.saveStadistics();\r\n }else{\r\n this.streamingDomainIframeService.validateDomain(this.url).subscribe( _ => {\r\n if(_.error == null && _.validate){*/\r\n this.titleMultipleStreaming = 'TrĆ”fico en vivo';\r\n this.successValidate = 1;\r\n this.descriptionMultipleStreaming = 'Visualiza y selecciona las zonas del trĆ”fico que deseas';\r\n this.loadData();\r\n /*}else{\r\n this.descriptionMultipleStreaming = \"\";\r\n this.titleMultipleStreaming = 'NO TIENE PERMISOS PARA VER LA TRANSMISIƓN';\r\n this.saveStadistics();\r\n this.spinner.hide();\r\n }\r\n });\r\n }*/\r\n }\r\n\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n onRightClick(event) {\r\n event.preventDefault();\r\n }\r\n\r\n\r\n saveStadistics(){\r\n var data = {\r\n successValidate: this.successValidate,\r\n originDomain: this.url,\r\n idEnterprise: this.enterpriseId,\r\n idCamera: 0,\r\n origin: 'vista mĆŗltiple'\r\n }\r\n this.streamingStadisticsService.createStadistics(data).subscribe(_ => {});\r\n }\r\n\r\n loadData(){\r\n this.streamingService.getCameraEnterpriseToken(this.token).subscribe( _ => {\r\n console.log(_);\r\n if(_.error == null){\r\n if(environment.logoPrincipal != \"\"){\r\n this.logo = environment.logoPrincipal;\r\n }\r\n\r\n if(environment.logoEnterprise != \"\"){\r\n this.logoEnterprise = environment.logoEnterprise;\r\n }\r\n\r\n document.body.style.background = environment.themeColor1 + \" !important\";\r\n this.text = environment.themeColor2;\r\n\r\n this.hideLive = false;\r\n this.enterpriseId = _.cameras[0].enterpriseId;\r\n _.cameras.forEach(function (value) {\r\n if(value.streamingImage == null && !value.streamingImage){\r\n //value.streamingImage = \"../../../../../assets/images/sin_image.jpg\";\r\n value.streamingImage = \"../../../../../assets/images/logo-claro.png\";\r\n }\r\n else value.streamingImage = environment.pathFile + value.streamingImage;\r\n });\r\n this.cameras = _.cameras;\r\n console.log(this.cameras);\r\n var _this = this;\r\n setTimeout(function(){\r\n _this.loadCarousel();\r\n _this.spinner.hide();\r\n }, 5000);\r\n }else{\r\n this.textLive = 'No se encontrĆ³ la empresa';\r\n this.spinner.hide();\r\n }\r\n this.saveStadistics();\r\n });\r\n\r\n var win = window,\r\n doc = document,\r\n docElem = doc.documentElement,\r\n body = doc.getElementsByTagName('body')[0],\r\n x = win.innerWidth || docElem.clientWidth || body.clientWidth,\r\n y = win.innerHeight|| docElem.clientHeight|| body.clientHeight;\r\n //alert(x + ' Ɨ ' + y);\r\n }\r\n\r\n loadCarousel(){\r\n var slide = $('.slider-single');\r\n var slideTotal = slide.length - 1;\r\n var slideCurrent = -1;\r\n //var _intervalRight: string | number | NodeJS.Timeout | undefined;\r\n var _this = this;\r\n function slideInitial() {\r\n if(slide.length == 1){\r\n _this.showControls = false;\r\n slide.addClass('active');\r\n }else{\r\n slide.addClass('proactivede');\r\n slideRight();\r\n }\r\n }\r\n function slideRight() {\r\n //clearInterval(_intervalRight);\r\n //_intervalRight = setInterval(slideRight, 999999); //4500\r\n if (slideCurrent < slideTotal) {\r\n slideCurrent++;\r\n } else {\r\n slideCurrent = 0;\r\n }\r\n\r\n if (slideCurrent > 0) {\r\n var preactiveSlide = slide.eq(slideCurrent - 1);\r\n } else {\r\n var preactiveSlide = slide.eq(slideTotal);\r\n }\r\n var activeSlide = slide.eq(slideCurrent);\r\n if (slideCurrent < slideTotal) {\r\n var proactiveSlide = slide.eq(slideCurrent + 1);\r\n } else {\r\n var proactiveSlide = slide.eq(0);\r\n\r\n }\r\n\r\n slide.each(function() {\r\n var thisSlide = $(this);\r\n if (thisSlide.hasClass('preactivede')) {\r\n thisSlide.removeClass('preactivede preactive active proactive').addClass('proactivede');\r\n }\r\n if (thisSlide.hasClass('preactive')) {\r\n thisSlide.removeClass('preactive active proactive proactivede').addClass('preactivede');\r\n }\r\n });\r\n preactiveSlide.removeClass('preactivede active proactive proactivede').addClass('preactive');\r\n activeSlide.removeClass('preactivede preactive proactive proactivede').addClass('active');\r\n proactiveSlide.removeClass('preactivede preactive active proactivede').addClass('proactive');\r\n }\r\n\r\n function slideLeft() {\r\n //clearInterval(_intervalRight);\r\n // _intervalRight = setInterval(slideRight, 4500);\r\n if (slideCurrent > 0) {\r\n slideCurrent--;\r\n } else {\r\n slideCurrent = slideTotal;\r\n }\r\n\r\n if (slideCurrent < slideTotal) {\r\n var proactiveSlide = slide.eq(slideCurrent + 1);\r\n } else {\r\n var proactiveSlide = slide.eq(0);\r\n }\r\n var activeSlide = slide.eq(slideCurrent);\r\n if (slideCurrent > 0) {\r\n var preactiveSlide = slide.eq(slideCurrent - 1);\r\n } else {\r\n var preactiveSlide = slide.eq(slideTotal);\r\n }\r\n slide.each(function() {\r\n var thisSlide = $(this);\r\n if (thisSlide.hasClass('proactivede')) {\r\n thisSlide.removeClass('preactive active proactive proactivede').addClass('preactivede');\r\n }\r\n if (thisSlide.hasClass('proactive')) {\r\n thisSlide.removeClass('preactivede preactive active proactive').addClass('proactivede');\r\n }\r\n });\r\n preactiveSlide.removeClass('preactivede active proactive proactivede').addClass('preactive');\r\n activeSlide.removeClass('preactivede preactive proactive proactivede').addClass('active');\r\n proactiveSlide.removeClass('preactivede preactive active proactivede').addClass('proactive');\r\n }\r\n var left = $('.slider-left');\r\n var right = $('.slider-right');\r\n left.on('click', function() {\r\n slideLeft();\r\n });\r\n right.on('click', function() {\r\n slideRight();\r\n });\r\n slideInitial();\r\n var _isOpen = false;\r\n $(\".dropbtn\").on('click', function(e) {\r\n if (_isOpen) {\r\n $(\"#myDropdown\").slideUp(100);\r\n _isOpen = false;\r\n }\r\n else {\r\n $(\"#myDropdown\").slideDown(100);\r\n _isOpen = true;\r\n }\r\n e.stopPropagation();\r\n });\r\n\r\n $(window).on('click', function() {\r\n $(\"#myDropdown\").hide();\r\n _isOpen = false;\r\n });\r\n\r\n\r\n $(\".dropbtnbir\").on('click', function(e) {\r\n if (_isOpen) {\r\n $(\"#myDropdownbir\").slideUp(300);\r\n _isOpen = false;\r\n }\r\n else {\r\n $(\"#myDropdownbir\").slideDown(300);\r\n _isOpen = true;\r\n }\r\n e.stopPropagation();\r\n });\r\n }\r\n\r\n showCamera(token:string){\r\n var port = document.location.port;\r\n if(port){ port = \":\"+port;}\r\n var hostname = document.location.protocol +'//'+ document.location.hostname + ((port != \"80\") ? port : \"\");\r\n var url = hostname+\"/streaming/camera/\" + token;\r\n window.location.href = url;\r\n this.spinner.show();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n

{{description}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{camera}}\r\n {{cameraDescription}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{(item.camera.length>limitLengthTitleStreaming)? (item.camera | slice:0:limitLengthTitleStreaming)+'...':(item.camera)}}\r\n {{(item.streamingDescription.length>limitLengthDescriptionStreaming)? (item.streamingDescription | slice:0:limitLengthDescriptionStreaming)+'...':(item.streamingDescription)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
Todos los derechos reservados 2022
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{(item.camera.length>limitLengthTitleStreaming)? (item.camera | slice:0:limitLengthTitleStreaming)+'...':(item.camera)}}\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit,OnDestroy, HostListener } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { StreamingService } from 'src/app/services/streaming/streaming.service';\r\nimport { StreamingDomainIframeService } from 'src/app/services/streamingDomainIframe/streamingDomainIframe.service';\r\nimport { StreamingStadisticsService } from 'src/app/services/streamingStadistics/streamingStadistics.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-view-streaming',\r\n templateUrl: './view-streaming.component.html',\r\n styleUrls: ['./view-streaming.component.css']\r\n})\r\nexport class ViewStreamingComponent implements OnInit{\r\n token: string;\r\n url: string;\r\n urlFile: string;\r\n streamingKey: string;\r\n id: string;\r\n title: string;\r\n description: string;\r\n camerasInit = [] as any;\r\n cameras = [] as any;\r\n camera: string;\r\n cameraDescription: string;\r\n logo: string;\r\n text: string;\r\n searchMobile = false;\r\n logoEnterprise: string;\r\n showLive = false;\r\n textLive = ''; //Validando cĆ”mara\r\n inputSearch: string;\r\n inputSearchMobile: string;\r\n limitLengthTitleStreaming = 25;\r\n limitLengthDescriptionStreaming = 40;\r\n idCamera = 0;\r\n urlStadistics: string;\r\n successValidate = 0;\r\n enterpriseId = 0;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private spinner: NgxSpinnerService,\r\n private streamingStadisticsService: StreamingStadisticsService,\r\n private streamingDomainIframeService: StreamingDomainIframeService,\r\n private streamingService: StreamingService) {\r\n this.spinner.show();\r\n }\r\n\r\n ngOnInit(){\r\n this.urlStadistics = (window.location != window.parent.location)\r\n ? document.referrer\r\n : document.location.href;\r\n if(!this.urlStadistics){\r\n if(window.location.ancestorOrigins != null){\r\n this.urlStadistics = window.location.ancestorOrigins[0];\r\n }\r\n }\r\n\r\n /*if(this.urlStadistics == \"\"){\r\n this.title = 'SU NAVEGADOR NO SOPORTA LA TRANSMISIƓN';\r\n this.saveStadistics();\r\n this.spinner.hide();\r\n }else{\r\n this.streamingDomainIframeService.validateDomain(this.urlStadistics).subscribe( _ => {\r\n if(_.error == null && _.validate){*/\r\n this.title = 'TrĆ”fico en vivo';\r\n this.successValidate = 1;\r\n this.loadData();\r\n /*}else{\r\n this.title = 'NO TIENE PERMISOS PARA VER LA TRANSMISIƓN';\r\n this.saveStadistics();\r\n this.spinner.hide();\r\n }\r\n });\r\n }*/\r\n }\r\n\r\n saveStadistics(){\r\n var data = {\r\n successValidate: this.successValidate,\r\n originDomain: this.urlStadistics,\r\n idCamera: this.idCamera,\r\n idEnterprise: this.enterpriseId,\r\n origin: 'vista individual'\r\n }\r\n this.streamingStadisticsService.createStadistics(data).subscribe(_ => {});\r\n }\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n onRightClick(event: { preventDefault: () => void; }) {\r\n event.preventDefault();\r\n }\r\n\r\n loadData(){\r\n this.route.params.subscribe(params => {\r\n this.token = params['token'];\r\n this.streamingService.getCameraToken(this.token).subscribe( _ => {\r\n if(_.camera != null){\r\n var camera = _.camera;\r\n if(environment.logoPrincipal != \"\"){\r\n this.logo = environment.logoPrincipal;\r\n }\r\n\r\n if(environment.logoEnterprise != \"\"){\r\n this.logoEnterprise = environment.logoEnterprise;\r\n }\r\n\r\n document.body.style.background = environment.themeColor1 + \" !important\";\r\n this.text = environment.themeColor2;\r\n //this.urlFile = camera.streamingFile;\r\n //this.streamingKey = camera.streamingKey;\r\n this.url = camera.streamingUrl;\r\n _.cameras.forEach(function (value) {\r\n if(value.streamingImage == null && !value.streamingImage){\r\n //value.streamingImage = \"../../../../../assets/images/sin_image.jpg\";\r\n value.streamingImage = \"../../../../../assets/images/logo-claro.png\";\r\n }\r\n else value.streamingImage = value.streamingImage;\r\n });\r\n this.cameras = _.cameras;\r\n this.enterpriseId = _.camera.enterpriseId;\r\n this.id = \"video\"+camera.cameraId.toString();\r\n this.camera = camera.camera;\r\n this.idCamera = camera.cameraId;\r\n this.camerasInit = _.cameras;\r\n this.cameraDescription = camera.streamingDescription;\r\n this.title = _.enterprise.title;\r\n this.description = _.enterprise.description;\r\n this.showLive = true;\r\n }else{\r\n this.textLive = 'No se encontrĆ³ la cĆ”mara';\r\n }\r\n this.saveStadistics();\r\n this.spinner.hide();\r\n });\r\n });\r\n\r\n var width = screen.width;\r\n if(width <= 390 && width > 360){\r\n this.limitLengthTitleStreaming = 8;\r\n this.limitLengthDescriptionStreaming = 38;\r\n }\r\n if(width <= 360){\r\n this.limitLengthTitleStreaming = 6;\r\n this.limitLengthDescriptionStreaming = 35;\r\n }\r\n }\r\n\r\n showStreaming(){\r\n\r\n }\r\n\r\n openCamera(item:any){\r\n var port = document.location.port;\r\n if(port){ port = \":\"+port;}\r\n var hostname = document.location.protocol +'//'+ document.location.hostname + ((port != \"80\") ? port : \"\");\r\n var url = hostname+\"/streaming/camera/\" + item.token;\r\n window.location.href = url;\r\n }\r\n\r\n search(){\r\n if(this.inputSearch != \"\"){\r\n this.cameras = this.cameras.filter((x: { camera: string; }) => x.camera.toLowerCase().indexOf(this.inputSearch.toLowerCase()) != -1);\r\n }else{\r\n this.cameras = this.camerasInit;\r\n }\r\n }\r\n\r\n searchInputMobile(){\r\n if(this.inputSearchMobile != \"\"){\r\n this.cameras = this.cameras.filter((x: { camera: string; }) => x.camera.toLowerCase().indexOf(this.inputSearchMobile.toLowerCase()) != -1);\r\n }else{\r\n this.cameras = this.camerasInit;\r\n }\r\n }\r\n\r\n showSearchMobile(){\r\n this.searchMobile = !this.searchMobile;\r\n }\r\n\r\n}\r\n","import { EnterpriseViewModel } from \"../enterprise/enterprise\";\r\nimport { HeadquarterModel } from \"../headquarter/headquarter\";\r\nimport { MenuEnterpriseHeadquarterRoleModel } from \"../menu/menuEnterpriseHeadquarterRoleModel\";\r\n\r\nexport class Admin {\r\n}\r\n\r\nexport class Rol {\r\n rolId: number;\r\n rolName: string;\r\n enanled: number;\r\n}\r\n\r\nexport class Menu {\r\n menuSection: Array;\r\n enterpriseSystem: EnterpriseSystem;\r\n}\r\n\r\nexport class EnterpriseSystem {\r\n va: number;\r\n showroom: number;\r\n iot: number;\r\n streaming: number;\r\n}\r\n\r\nexport class MenuSection {\r\n heading: string;\r\n icon: string;\r\n link: string;\r\n pages: Array;\r\n}\r\n\r\nexport class Pages {\r\n title: string;\r\n link: string;\r\n icon: string;\r\n}\r\n\r\nexport class GetUserInfo {\r\n data: UserInfo;\r\n error: Error;\r\n}\r\n\r\nexport class UserInfo {\r\n userId : number;\r\n enterprises : Array;\r\n headquarters : Array;\r\n menuEnterpriseHeadquarterRole : Array;\r\n fullName: string;\r\n roleId : number;\r\n enterpriseId: number;\r\n idHeadquarter: number;\r\n token: string;\r\n systems: string;\r\n}\r\n\r\n\r\n","export class Alert {\r\n id_Alert: number;\r\n id_AlertParameter: number;\r\n n_Value: number;\r\n c_Alert: string;\r\n}\r\n\r\nexport class CameraByEnterprise {\r\n id_Enterprise: number;\r\n id_Camera: number;\r\n c_Camera: string;\r\n b_Enabled: number;\r\n id_CameraState: number;\r\n c_Color: string;\r\n c_State: string;\r\n}\r\n\r\nexport class Camera {\r\n id_Camera: number;\r\n id_CameraAlert: number;\r\n c_Alert: string;\r\n time: Date;\r\n c_Model: string;\r\n}\r\n\r\nexport class CameraState {\r\n id_CameraState: number;\r\n c_State: string;\r\n c_Color: string;\r\n}\r\n\r\nexport class CameraPost {\r\n idOcurrence: number;\r\n EnterpriseId: number;\r\n CameraId: number;\r\n AlertId: number;\r\n Description: string;\r\n userId: number;\r\n stateId: number;\r\n idAttention: number;\r\n DateRegister: string;\r\n}\r\n\r\nexport class UserValidate {\r\n userId: number;\r\n password: string;\r\n}\r\n\r\nexport class Color {\r\n cameraId: number;\r\n}\r\n\r\nexport class CameraValidate {\r\n cameraId: number;\r\n alertId: number;\r\n}\r\n\r\nexport class OcurrenceCamera{\r\n ocurennceId: number;\r\n alert: string;\r\n camera: string;\r\n time: Date;\r\n alertId: number;\r\n patch: string;\r\n enterpriseId: number;\r\n stateId: number;\r\n message: string;\r\n idStorageFile: number;\r\n attetionId: number;\r\n date: string;\r\n cameraId: number;\r\n error: string;\r\n}\r\n\r\nexport class OcurrenceId{\r\n id:number;\r\n}\r\n\r\nexport class CameraViewModel{\r\n cameraId:number;\r\n Model:string;\r\n IpAdress: string;\r\n Camera: string;\r\n zone:string;\r\n Alerts: string;\r\n active:boolean;\r\n}\r\n\r\nexport class Zone {\r\n id: number;\r\n name: string;\r\n idEnterprise: number;\r\n}\r\n\r\nexport class CameraById{\r\n cameraId: number;\r\n zoneId: number;\r\n enaledId: boolean;\r\n camera: string;\r\n model: string;\r\n serie: string;\r\n mac: string;\r\n ipAdress: string;\r\n streamingDomain: string;\r\n token: string;\r\n streamingRtmp: string;\r\n streamingKey: string;\r\n streamingUrl: string;\r\n streamingDescription: string;\r\n streamingImage: string;\r\n idServer: number;\r\n idHeadquarter: number;\r\n}\r\n\r\nexport class AlertParameter{\r\n parameterId: number;\r\n c_Parameter: string;\r\n unit: string;\r\n value: number;\r\n}\r\n\r\nexport class AlertUpdateList{\r\n id:number;\r\n parameter:string;\r\n value: number;\r\n}\r\n","export class CameraZoneViewModel {\r\n cameraId: number;\r\n camera: string;\r\n cameraPosX: number;\r\n cameraPosY: number;\r\n cameraColor: string;\r\n enabled: number;\r\n idPinMap: number;\r\n id_Zone: number;\r\n idStorageType: number;\r\n pinMap: string;\r\n oppositeMapDirection: string;\r\n pathPinMap: string;\r\n}\r\n\r\nexport class CameraZoneUpdate {\r\n cameras: Array;\r\n userUpdate: string;\r\n}\r\n\r\n//export class CameraZoneUbicacion {\r\n// cameraId: number;\r\n// cameraColor: string;\r\n// cameraPosX: number;\r\n// cameraPosY: number;\r\n//}\r\n","import { EnterprisePinMaps } from \"./enterprisePinMaps\";\r\n\r\nexport class EnterpriseViewModel {\r\n enterpriseId: number;\r\n ruc: string;\r\n businessName: string;\r\n legalRepresentative: string;\r\n contac: string;\r\n representativeTelephone: string;\r\n contacTelephone: string;\r\n address: string;\r\n reference: string;\r\n maximumUsers: number;\r\n gyS: number;\r\n enabled: number;\r\n userCreation: string;\r\n userCreationDate: Date;\r\n userUpdate: string;\r\n userUpdateDate: Date;\r\n expirationDate: Date;\r\n codeEnterprise: string;\r\n idStorageFile: number;\r\n enterpriseZone: Array;\r\n streamingRtmp: string;\r\n streamingApi: string;\r\n streamingFile: string;\r\n streamingTitle: string;\r\n streamingDescription: string;\r\n token: number;\r\n enterprisePinMap: Array;\r\n domain: string;\r\n logo: string;\r\n themeColor1: string;\r\n themeColor2: string;\r\n}\r\n\r\nexport class EnterprisePut {\r\n enterpriseId: number;\r\n ruc: string;\r\n businessName: string;\r\n legalRepresentative: string;\r\n contac: string;\r\n representativeTelephone: string;\r\n contacTelephone: string;\r\n address: string;\r\n reference: string;\r\n maximumUsers: number;\r\n gys: number;\r\n enabled: number;\r\n userUpdate: string\r\n zonesDelete: Array;\r\n}\r\n\r\nexport class Enterprise {\r\n ruc: string;\r\n businessName: string;\r\n legalRepresentative: string;\r\n contac: string;\r\n representativeTelephone: string;\r\n contacTelephone: string;\r\n address: string;\r\n reference: string;\r\n maximumUsers: number;\r\n gys: number;\r\n enabled: number;\r\n userCreation: string\r\n}\r\n\r\nexport class EnterpriseSearch {\r\n search: string;\r\n searchByRuc: boolean;\r\n searchByBusinesName: boolean;\r\n}\r\n\r\nexport class EnterpriseContract {\r\n enterpriseId: number;\r\n contractId: number;\r\n contractName: string;\r\n numberContract: string;\r\n subscription: Date;\r\n validityStart: Date;\r\n validityEnd: Date;\r\n pathContract: string;\r\n pathContractName: string;\r\n pathAdenda: string;\r\n pathAdendaName: string;\r\n reasonValidity: string;\r\n canceled: number;\r\n adendaName: string;\r\n adendaId: number\r\n userCreation: string;\r\n userCreationDate: Date;\r\n userUpdate: string;\r\n userUpdateDate: Date\r\n}\r\n\r\nexport class EnterpriseZones {\r\n zoneId: number;\r\n enterpriseId: number;\r\n zoneName: string;\r\n path: string;\r\n file: File;\r\n token: number;\r\n}\r\n","export class EnterprisePinMaps {\r\n pinMapId: number;\r\n enterpriseId: number;\r\n name: string;\r\n path: string;\r\n file: File;\r\n}","import { BaseModel } from \"../../shared/models/base-model\";\r\n\r\nexport class UserViewModel {\r\n userId: number;\r\n enterpriseId: number;\r\n rolId: number;\r\n username: string;\r\n lasName: string;\r\n names: string;\r\n fullName: string;\r\n password: string;\r\n locked: number;\r\n lockedDate: Date;\r\n retries: number;\r\n enabled: number;\r\n rol: string;\r\n sendEmail: number;\r\n userCreation: string;\r\n userCreationDate: Date;\r\n userUpdate: string;\r\n userUpdateDate: Date; \r\n idHeadquarter:number;\r\n}\r\n\r\nexport class User {\r\n enterpriseId: number;\r\n rolId: number;\r\n dni: string;\r\n lasName: string;\r\n names: string;\r\n password: string;\r\n confirmNewPassword: string;\r\n enabled: number;\r\n sendEmail: number;\r\n email: string;\r\n userCreation: string;\r\n idHeadquarter:number;\r\n}\r\n\r\nexport class UserPut {\r\n userId: number;\r\n enterpriseId: number;\r\n rolId: number;\r\n dni: string;\r\n lasName: string;\r\n names: string;\r\n password: string;\r\n confirmNewPassword: string;\r\n enabled: number;\r\n locked: number;\r\n sendEmail: number;\r\n email: string;\r\n userUpdate: string;\r\n idHeadquarter:number;\r\n}\r\n\r\nexport class LoginModel extends BaseModel {\r\n client_id: string;\r\n grant_type: string;\r\n client_secret: string;\r\n enterprise: string;\r\n dni: string;\r\n KeyboardId: number;\r\n HashCodes1: string;\r\n HashCodes2: string;\r\n HashCodes3: string;\r\n HashCodes4: string;\r\n HashCodes5: string;\r\n HashCodes6: string;\r\n}\r\n\r\nexport class TokenModel {\r\n access_token: string;\r\n expires_in: number;\r\n token_type: string;\r\n refresh_token: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { OcurrenceCamera, AlertUpdateList, OcurrenceId } from '../../models/alert/alert';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OcurrenceService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Ocurrence';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n private POST_ENDPOINTS: string = 'Camera';\r\n private REQUEST_URLS: string = `${this.BASE_URL}/${this.POST_ENDPOINTS}`;\r\n\r\n GetListOcurrence(CameraId : number,EnterpriseId : number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetListOcurrence/`\r\n + CameraId + \"/\" +EnterpriseId);\r\n }\r\n\r\n GetListOcurrenceCP(data : any): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/GetListOcurrenceCP`,data);\r\n }\r\n\r\n GetListOcurrenceById(ocurennceId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetListOcurrenceById/`\r\n + ocurennceId);\r\n }\r\n\r\n OcurrenceById(ocurennceId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/getOcurrenceById/`\r\n + ocurennceId);\r\n }\r\n\r\n getListUpdateCamera(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URLS}/GetCameraUpdateColor`);\r\n }\r\n\r\n CheckError(id: number): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/check-error`,{id: id, idUser: localStorage.getItem(AppConstants.Session.USERID)});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetActuator } from 'src/app/models/actuator/getActuator';\r\nimport { GetActuatorType } from 'src/app/models/actuator/getActuatorType';\r\nimport { GetActuatorDataType } from 'src/app/models/actuator/getActuatorDataType';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActuatorService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Actuator';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(idEnterprise:number,idHeadquarter:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}/headquarter/${idHeadquarter}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n\r\n getListActuatorTypes(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/types`);\r\n }\r\n\r\n getListActuatorDataTypes(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/data-types`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { Rol, Menu, UserInfo, GetUserInfo } from '../../models/admin/admin';\r\nimport { GetMenu } from 'src/app/models/menu/getMenu';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Admin';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getEnterprises(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetRoles`);\r\n }\r\n\r\n getMenu(roleId: number,enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/Role/${roleId}/enterprise/${enterpriseId}/GetMenu`);\r\n }\r\n\r\n getUserInfoByUsername(username: string) : Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/user/${username}/info`);\r\n }\r\n\r\n getMenuEnterprise(enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/menu/enterprise/${enterpriseId}`);\r\n }\r\n\r\n getMenuEnterpriseRole(idEnterprise:number, idHeadquarter:number,idUser:number): Observable{\r\n return this.httpClient.get(`${this.REQUEST_URL}/menu/enterprise/${idEnterprise}/headquarter/${idHeadquarter}/user/${idUser}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { Alert, AlertParameter, OcurrenceId } from '../../models/alert/alert';\r\nimport { AlertType } from '../../models/alert/alert-type';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AlertsServices {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Alert';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getAlert(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetAlert`);\r\n }\r\n\r\n getAlertarameter(id:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetAlertParameter?alertId=`+ id);\r\n }\r\n\r\n getAlertarameterById(id:number,cameraId:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetListAlertParameterByCamera/`+ id+'/'+cameraId);\r\n }\r\n\r\n getAlertExcel(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/Excel`, { params: httpParams });\r\n }\r\n\r\n getTypes() : Observable> {\r\n return this.httpClient.get>(`${this.REQUEST_URL}/types`);\r\n }\r\n\r\n CheckError(id: number): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/check-error`,{id: id, idUser: localStorage.getItem(AppConstants.Session.USERID)});\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { LoginModel, TokenModel } from '../../models/user/user';\r\nimport { Router } from '@angular/router';\r\nimport { AuthLogin } from '../../models/auth/login';\r\nimport { AppConstants } from '../../shared/constants/app.contants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n constructor(\r\n private httpClient: HttpClient,\r\n private router: Router\r\n ) { }\r\n\r\n private BASE_URL: string = `${environment.identityServer}`;\r\n private BASE_URL_AUTH: string = `${environment.sistemaWebAdmin}`;\r\n\r\n getAuthTokenAsync(model: LoginModel): Observable {\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n })\r\n };\r\n\r\n return this.httpClient.post(`${this.BASE_URL}`,`client_id=${model.client_id}&grant_type=${model.grant_type}&client_secret=${model.client_secret}&enterprise=${model.enterprise}&dni=${model.dni}&KeyboardId=${model.KeyboardId}&HashCodes1=${model.HashCodes1}&HashCodes2=${model.HashCodes2}&HashCodes3=${model.HashCodes3}&HashCodes4=${model.HashCodes4}&HashCodes5=${model.HashCodes5}&HashCodes6=${model.HashCodes6}`,httpOptions);\r\n }\r\n\r\n logout(token) {\r\n return this.httpClient.get(`${this.BASE_URL_AUTH}/auth/logout/${token}` /*{headers:{skip_auth:\"true\"}}*/);\r\n }\r\n\r\n login(data:any): Observable {\r\n return this.httpClient.post(`${this.BASE_URL_AUTH}/auth/login`, data, /*{headers:{skip_auth:\"true\"}}*/);\r\n }\r\n\r\n password(data:any): Observable {\r\n return this.httpClient.post(`${this.BASE_URL_AUTH}/auth/password`, data, /*{headers:{skip_auth:\"true\"}}*/);\r\n }\r\n\r\n generateToken(): Observable {\r\n var data = { username: localStorage.getItem(AppConstants.Session.USERNAME) };\r\n return this.httpClient.post(`${this.BASE_URL_AUTH}/auth/generate-token`, data);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { CameraState, CameraPost, UserValidate, CameraByEnterprise, Camera, CameraViewModel, Zone, CameraById, CameraValidate, Color } from '../../models/alert/alert';\r\nimport { CameraZoneUpdate, CameraZoneViewModel } from 'src/app/models/camera/camera';\r\nimport { ReportViewModel } from 'src/app/models/reportAlert/report';\r\nimport { EnterpriseViewModel } from 'src/app/models/enterprise/enterprise';\r\nimport { GetZone } from 'src/app/models/zone/getZone';\r\nimport { GetCamera } from 'src/app/models/camera/getCamera';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CameraService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Camera';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n private POST_ENDPOINTU: string = 'User';\r\n private BASE_URLU: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URLU: string = `${this.BASE_URLU}/${this.POST_ENDPOINTU}`;\r\n\r\n GetListCameraByEnterprise(EnterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetListCameraByEnterprise/` + EnterpriseId);\r\n }\r\n\r\n GetAlertByCamera(CameraId: number, OptionId:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetAlertByCamera/` + CameraId + \"/\" + OptionId);\r\n }\r\n\r\n GetCameras(CameraId: number, OptionId:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetAlertByCamera/` + CameraId + \"/\" + OptionId);\r\n }\r\n\r\n GetCamerasIdEnterprise(idEnterprise: number, idHeadquarter:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetCamerasIdEnterprise/` + idEnterprise + \"/\" + idHeadquarter);\r\n }\r\n\r\n getListCameraState(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/getListCameraState`);\r\n }\r\n\r\n postCameraAlert(camera: CameraPost): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}/PostOcurrence`, camera);\r\n }\r\n\r\n postCameraAlertAttentioon(camera: CameraPost): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}/PostCameraAlertAttention`, camera);\r\n }\r\n\r\n postUserValidate(userValidate: UserValidate): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URLU}/ValidateUser`, userValidate);\r\n }\r\n\r\n postColor(ColorValidate: Color): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/PatchColor`, ColorValidate);\r\n }\r\n\r\n postCameraValidate(CameraValidate: CameraValidate): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/PatchCameraOcurrence`, CameraValidate);\r\n }\r\n\r\n getListCamera(filter: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: filter,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListCameraById(enterpriseId: number, userId:number,cameraId:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetListCameraByEnterpriseById/` + enterpriseId + \"/\" + userId + \"/\" + cameraId);\r\n }\r\n\r\n getListCameraFilter(enterpriseId: number, userId:number,cameraId:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetListCameraByEnterpriseByNoFilter/` + enterpriseId + \"/\" + userId + \"/\" + cameraId);\r\n }\r\n\r\n getZones(idEnterprise:number,idHeadquarter:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetZones/${idEnterprise}/${idHeadquarter}`);\r\n }\r\n\r\n deleteCamera(cameraId: number) {\r\n return this.httpClient.delete(`${this.REQUEST_URL}/DeleteCamera/${cameraId}`);\r\n }\r\n\r\n registerCamera(model: FormData): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/CreateCamera`, model);\r\n }\r\n\r\n updatedCamera(model: FormData): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}/UpdateCamera`, model);\r\n }\r\n\r\n getCameraById(cameraId:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetListCameraById/` + cameraId);\r\n }\r\n\r\n getCameraByZone(zoneId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetListCameraByZone/${zoneId}`);\r\n }\r\n\r\n getEnterprises(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetEnterprises`);\r\n }\r\n\r\n getCameraByZoneCP(data: any): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/GetListCameraByZoneCP`,data);\r\n }\r\n\r\n updateCameraZone(camera: CameraZoneUpdate): Observable {\r\n console.log(camera);\r\n return this.httpClient.put(`${this.REQUEST_URL}/UpdateEnterpriseZone`, camera);\r\n }\r\n\r\n getImageUriHeathmap(cameraId: number, alertTypeId: number, dateFilter: string,idStorageFile: number){\r\n return this.httpClient.get(`${this.BASE_URL}/heatmap/camera/${cameraId}/alert-type/${alertTypeId}/image-url/${dateFilter}/idStorageFile/${idStorageFile}`);\r\n }\r\n\r\n downloadHeatmap(cameraId: number, alertTypeId: number, dateFilter: string,idStorageFile: number) {\r\n // return this.httpClient.get(`${this.BASE_URL}/heatmap/camera/${cameraId}/alert-type/${alertTypeId}/blob-download`, { observe: 'response', responseType: 'blob' as 'json' });\r\n return this.httpClient.get(`${this.BASE_URL}/heatmap/camera/${cameraId}/alert-type/${alertTypeId}/image-download/${dateFilter}/idStorageFile/${idStorageFile}`, { responseType: 'blob' });\r\n }\r\n\r\n getHeathmapResumen(enterpriseFilter: any): Observable{\r\n return this.httpClient.post(`${this.BASE_URL}/heatmap/camera/alert-type/resumen`,enterpriseFilter);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetDashboard } from 'src/app/models/dashboard/getDashboard';\r\nimport { GetWidget } from 'src/app/models/dashboard/widget/getWidget';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashboardService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Dashboard';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getListAll(idEnterprise: number = 0): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}`);\r\n }\r\n\r\n /*getListWidgetTypes(): Observable {\r\n // return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}`);\r\n }*/\r\n\r\n create(data: any): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any): Observable{\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n\r\n deleteWidget(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/widget/` + id);\r\n }\r\n\r\n createWidget(data:any){\r\n return this.httpClient.post(`${this.REQUEST_URL}/widget`,data);\r\n }\r\n\r\n updateWidget(data:any){\r\n return this.httpClient.put(`${this.REQUEST_URL}/widget`,data);\r\n }\r\n\r\n getListAllWidgets(idDashboard: number = 0): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/widgets/${idDashboard}`);\r\n }\r\n\r\n getWidget(idWidget: number = 0): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/widget/${idWidget}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetZone } from 'src/app/models/zone/getZone';\r\nimport { GetPin } from 'src/app/models/zone/getPin';\r\nimport { GetDigitalTwins } from 'src/app/models/digital-twins/getDigitalTwins';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DigitalTwinsService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'DigitalTwins';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(idEnterprise: number,idHeadquarter: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}/headquarter/${idHeadquarter}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetEnterpriseSetting } from 'src/app/models/enterprise/getEnterpriseSetting';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EnterpriseSettingService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) {}\r\n\r\n private POST_ENDPOINT: string = 'EnterpriseSetting';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getEnterpriseSetting(enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/${enterpriseId}`);\r\n }\r\n\r\n updateEnterpriseSetting(model: FormData): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}`, model);\r\n }\r\n}\r\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { EnterpriseViewModel, Enterprise, EnterpriseSearch, EnterpriseContract } from 'src/app/models/enterprise/enterprise';\r\nimport { GetEnterprise } from 'src/app/models/enterprise/getEnterprise';\r\nimport { GetEnterpriseStreaming } from 'src/app/models/enterprise/getEnterpriseStreaming';\r\nimport { GetEnterpriseSystem } from 'src/app/models/enterprise/getEnterpriseSystem';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EnterpriseService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) {}\r\n\r\n private POST_ENDPOINT: string = 'Enterprise';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getEnterprises(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}`);\r\n }\r\n\r\n getValidateMasterEnterprise(data: any): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/master`,data);\r\n }\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getEnterprisesPagination(data: any): Observable { //\r\n return this.httpClient.get(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n createEnterprise(data: FormData): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}`, data);\r\n }\r\n\r\n updateEnterprise(data: FormData): Observable {\r\n console.log(data);\r\n return this.httpClient.put(`${this.REQUEST_URL}`, data);\r\n }\r\n\r\n deleteEnterprise(enterpriseId: number): Observable {\r\n return this.httpClient.delete(`${this.REQUEST_URL}/${enterpriseId}`);\r\n }\r\n\r\n searchEnterprise(enterpriseFilter: EnterpriseSearch): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/SearchEnterprises`, enterpriseFilter);\r\n }\r\n\r\n createEnterpriseContract(data: FormData): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/CreateEnterpriseContract`, data);\r\n }\r\n\r\n getEnterpriseContracts(enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetEnterpriseContracts/${enterpriseId}`);\r\n }\r\n\r\n getEnterpriseById(enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/${enterpriseId}`);\r\n }\r\n\r\n updateEnterpriseContract(data: FormData): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/UpdateEnterpriseContract`, data);\r\n }\r\n\r\n downloadFile(idEnterprise: number,idDirectory: number, fileName: string): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/DownloadFile/${idEnterprise}/${idDirectory}/${fileName}`, {\r\n responseType: 'blob' as 'json'\r\n })\r\n .pipe(catchError(this.parseErrorBlob))\r\n }\r\n\r\n parseErrorBlob(err: HttpErrorResponse): Observable {\r\n const reader: FileReader = new FileReader();\r\n\r\n const obs = Observable.create((observer: any) => {\r\n reader.onloadend = (e) => {\r\n observer.error(JSON.parse(reader.result.toString()));\r\n observer.complete();\r\n }\r\n });\r\n reader.readAsText(err.error);\r\n return obs;\r\n }\r\n\r\n deleteContract(idEnterprise: number,ContractId: number,NumberId:string) {\r\n return this.httpClient.delete(`${this.REQUEST_URL}/DeleteContract/${idEnterprise}/${ContractId}/${NumberId}`);\r\n }\r\n\r\n getEnterpriseStreaming(enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/streaming/${enterpriseId}`);\r\n }\r\n\r\n updateEnterpriseStreaming(model: any): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/streaming`, model);\r\n }\r\n\r\n createEnterprisePin(data: FormData): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/pin`, data);\r\n }\r\n\r\n updateEnterprisePin(data: FormData): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/pin`, data);\r\n }\r\n\r\n deleteEnterprisePin(data: any): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/delete/pin`,data);\r\n }\r\n\r\n updateEnterpriseSystem(data: any): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/system`, data);\r\n }\r\n\r\n getEnterpriseSystem(enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/system/${enterpriseId}`);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetHeadquarter } from 'src/app/models/headquarter/getHeadquarter';\r\nimport { GetGateway } from 'src/app/models/gateway/getGateway';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GatewayService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Gateway';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(idEnterprise: number = 0, idHeadquarter: number = 0): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}/headquarter/${idHeadquarter}`);\r\n }\r\n\r\n create(data: any): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any): Observable{\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n\r\n updateSettingGateway(data: any): Observable{\r\n return this.httpClient.put(`${this.REQUEST_URL}/paneliot`,data);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetHeadquarter } from 'src/app/models/headquarter/getHeadquarter';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HeadquarterService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Headquarter';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { ReportViewModel } from 'src/app/models/reportAlert/report';\r\nimport { GetHeatmap } from 'src/app/models/heatmap/getHeatmap';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HeatMapService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Heatmap';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getImageUriHeathmap(data:any): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n downloadHeatmap(cameraId: number, alertTypeId: number, dateFilter: string,idStorageFile: number) {\r\n // return this.httpClient.get(`${this.BASE_URL}/heatmap/camera/${cameraId}/alert-type/${alertTypeId}/blob-download`, { observe: 'response', responseType: 'blob' as 'json' });\r\n return this.httpClient.get(`${this.REQUEST_URL}/camera/${cameraId}/alert-type/${alertTypeId}/image-download/${dateFilter}/idStorageFile/${idStorageFile}`, { responseType: 'blob' });\r\n }\r\n\r\n getHeathmapResumen(enterpriseFilter: any): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}/camera/alert-type/resumen`,enterpriseFilter);\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetPanelIOTActivity } from 'src/app/models/panelIOT/getPanelIOTActivity';\r\nimport { GetPanelIOTSensor } from 'src/app/models/panelIOT/getPanelIOTSensor';\r\nimport { GetReportPanelIOTSensor } from 'src/app/models/panelIOT/getReportPanelIOTSensor';\r\nimport { PanelIOTSensorModel } from 'src/app/models/panelIOT/panelIOTSensor';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PanelIOTService {\r\n dataSensors = [];\r\n updatePanelIOT = 0;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'PanelIOT';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getDataStreamingSensors(){\r\n return this.dataSensors;\r\n }\r\n\r\n setDataStreamingSensors(data){\r\n this.dataSensors = data;\r\n }\r\n\r\n createSensor(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}/sensor`,data);\r\n }\r\n\r\n updateSensor(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}/sensor`,data);\r\n }\r\n\r\n createActuator(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}/actuator`,data);\r\n }\r\n\r\n updateActuator(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}/actuator`,data);\r\n }\r\n\r\n deleteSensor(id){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/sensor/`+id,id);\r\n }\r\n\r\n getList(filter: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: filter,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}`,{ params: httpParams });\r\n }\r\n\r\n getSensorPanelIOT(id: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/sensor-panel/`+id);\r\n }\r\n\r\n updateSensorPanelIOT(data: any) {\r\n var dataS = {\r\n sensors: data\r\n }\r\n return this.httpClient.put(`${this.REQUEST_URL}/sensor/pos`,dataS);\r\n }\r\n\r\n reportSensors(data): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/report/sensor`,data);\r\n }\r\n\r\n reportAlerts(data): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/report/alert`,data);\r\n }\r\n\r\n reportActivity(data): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/report/actuator/activity`,data);\r\n }\r\n /*let httpParams = new HttpParams({\r\n fromObject: filter,\r\n });\r\n return this.httpClient.post(`${this.REQUEST_URL}/`,{ params: httpParams });\r\n */ \r\n createActivity(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}/actuator/activity`,data);\r\n }\r\n\r\n setUpdatePanelIOT(value){\r\n this.updatePanelIOT = value;\r\n }\r\n\r\n getUpdatePanelIOT(){\r\n return this.updatePanelIOT;\r\n }\r\n\r\n updateActuatorData(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}/actuator/data`,data);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetZone } from 'src/app/models/zone/getZone';\r\nimport { GetPin } from 'src/app/models/zone/getPin';\r\nimport { GetPowerBI } from 'src/app/models/power-bi/getPowerbi';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PowerBIService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'PowerBI';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(idEnterprise: number,idHeadquarter: number,idSystem: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}/headquarter/${idHeadquarter}/system/${idSystem}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n}\r\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ReportViewModel } from '../../models/reportAlert/report';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Alert';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getReport(enterpriseFilter: any): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/GetAlertList`, enterpriseFilter);\r\n }\r\n\r\n downloadFile(enterpriseId: number,\r\n dateI: string,\r\n dateF: string,\r\n timeI: string,\r\n timeF: string,\r\n statusId: number,\r\n cameraId: number,\r\n alertId: number,\r\n userId: number,\r\n error: number): Observable {\r\n\r\n let params: HttpParams = new HttpParams();\r\n params = params.append('enterpriseId', enterpriseId.toString());\r\n params = params.append('dateI', dateI.toString());\r\n params = params.append('dateF', dateF.toString());\r\n params = params.append('timeI', timeI.toString());\r\n params = params.append('timeF', timeF.toString());\r\n params = params.append('statusId', statusId.toString());\r\n params = params.append('cameraId', cameraId.toString());\r\n params = params.append('alertId', alertId.toString());\r\n params = params.append('userId', userId.toString());\r\n params = params.append('error', error.toString());\r\n\r\n return this.httpClient.get(`${this.REQUEST_URL}/Excel`, {params:params,\r\n responseType: 'blob' as 'json'\r\n })\r\n .pipe(catchError(this.parseErrorBlob))\r\n }\r\n\r\n parseErrorBlob(err: HttpErrorResponse): Observable {\r\n const reader: FileReader = new FileReader();\r\n\r\n const obs = Observable.create((observer: any) => {\r\n reader.onloadend = (e) => {\r\n observer.error(JSON.parse(reader.result.toString()));\r\n observer.complete();\r\n }\r\n });\r\n reader.readAsText(err.error);\r\n return obs;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetRole } from 'src/app/models/role/get-role';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Role';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(idEnterprise: number = 0): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(data: any){\r\n return this.httpClient.patch(`${this.REQUEST_URL}`,data);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetSensorReadingplace } from 'src/app/models/sensor-readingplace/get-sensor-readingplace';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SensorReadingplaceService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'SensorReadingplace';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(idEnterprise: number = 0, idHeadquarter: number = 0): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}/headquarter/${idHeadquarter}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetSensorType } from 'src/app/models/sensor-type/get-sensor-type';\r\nimport { GetSensorTypeGraph } from 'src/app/models/sensor-type/get-sensor-type-graph';\r\nimport { GetGraph } from 'src/app/models/panelIOT/getGraph';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SensorTypeService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'SensorType';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n private REQUEST_PANELIOT_URL: string = `${this.BASE_URL}/PanelIOT`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}`);\r\n }\r\n\r\n getListGraphAll(idSensorType: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/graphs/${idSensorType}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n createGraph(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}/graph`,data);\r\n }\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(data: any){\r\n return this.httpClient.patch(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n deleteGraph(data: any){\r\n return this.httpClient.patch(`${this.REQUEST_URL}/graph`,data);\r\n }\r\n\r\n getListGraphs(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_PANELIOT_URL}/graph`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetSensor } from 'src/app/models/sensor/getSensor';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SensorService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Sensor';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(idEnterprise:number,idHeadquarter:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}/headquarter/${idHeadquarter}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { GetEmailShowRoomModel } from 'src/app/models/showRoom/getEmailShowRoom';\r\nimport { GetReportAlertShowRoom } from 'src/app/models/showRoom/getReportAlertShowRoom';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ShowRoomService {\r\n pause = false;\r\n nivel = 0;\r\n presion = 0;\r\n temperatura = 0;\r\n imageDiagram = 1;\r\n resistencia:number;\r\n bomba = 0;\r\n valvulaSelenoide = 0;\r\n public data: any[];\r\n private hubConnection: signalR.HubConnection;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private REQUEST_URL_SHOWROOM: string = environment.showroomUrl;\r\n private REQUEST_URL: string = environment.sistemaWebAdmin+\"/showroom\";\r\n private REQUEST_URL_CAMERA: string = environment.camaraAlert;\r\n\r\n public startConnection = (url: string) => {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(url)\r\n .build();\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => console.log('Connection started'))\r\n .catch(err => console.log('Error while starting connection: ' + err))\r\n }\r\n\r\n public addTransferChartDataListener = () => {\r\n\r\n this.hubConnection.on('transferchartdata', (data) => {\r\n\r\n this.data = data;\r\n console.log(data);\r\n\r\n });\r\n\r\n this.hubConnection.on('transferchartSignoutdata', (data) => {\r\n\r\n console.log(data);\r\n\r\n });\r\n }\r\n\r\n getListActuators(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/actuators`);\r\n }\r\n\r\n getListSensors(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/sensors`);\r\n }\r\n\r\n getSensorCameraCounting(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/camera/couting-people`);\r\n }\r\n\r\n getSensorValue(id): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/sensor/`+id);\r\n }\r\n\r\n getActuatorValue(id): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/actuator/`+id);\r\n }\r\n\r\n updateSensorValue(data): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL_SHOWROOM}/dt_command`,data);\r\n }\r\n\r\n updatePanelValue(data): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/panel`,data);\r\n }\r\n\r\n updateSensorlValue(data): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/sensor-humedad`,data);\r\n }\r\n\r\n getPanels(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/panels`);\r\n }\r\n\r\n getListLog(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL_SHOWROOM}/logs`);\r\n }\r\n\r\n updateActuators(data: any): Observable {\r\n /* data.filter(_=>{\r\n _.value = _.dataValue;\r\n });*/\r\n return this.httpClient.patch(`${this.REQUEST_URL_SHOWROOM}/actuators`,data);\r\n }\r\n\r\n getPause(){\r\n return this.pause;\r\n }\r\n\r\n setPause(val){\r\n this.pause = val;\r\n }\r\n\r\n startAlert(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL_CAMERA}/start_alerts`);\r\n }\r\n\r\n stopAlert(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL_CAMERA}/stop_alerts`);\r\n }\r\n\r\n getNivel(){\r\n return this.nivel + \"%\";\r\n }\r\n\r\n setNivel(value){\r\n this.nivel = value;\r\n }\r\n\r\n getTemperatura(){\r\n return this.temperatura;\r\n }\r\n\r\n setTemperatura(value){\r\n this.temperatura = value;\r\n }\r\n\r\n getPresion(){\r\n return parseFloat(this.presion.toString()).toFixed(2).toString();\r\n }\r\n\r\n setPresion(value){\r\n this.presion = value;\r\n }\r\n\r\n getResistencia(){\r\n return this.resistencia;\r\n }\r\n\r\n setResistencia(value){\r\n if(value){ this.updateImagePublic(4); }else{ this.updateImagePublic(3); }\r\n this.resistencia = value;\r\n }\r\n\r\n getImageDiagram(){\r\n return this.imageDiagram;\r\n }\r\n\r\n setImageDiagram(value){\r\n this.imageDiagram = value;\r\n }\r\n\r\n getBomba(){\r\n return this.bomba;\r\n }\r\n\r\n setBomba(value){\r\n if(value){\r\n this.updateImagePublic(2);\r\n var _this = this;\r\n setTimeout(()=>{\r\n if(_this.imageDiagram == 2){\r\n _this.updateImagePublic(3);\r\n }\r\n },10000);\r\n } else {\r\n this.updateImagePublic(1);\r\n }\r\n this.bomba = value;\r\n }\r\n\r\n getValvulaSelenoide(){\r\n return this.valvulaSelenoide;\r\n }\r\n\r\n setValvulaSelenoide(value){\r\n if(value){\r\n this.updateImagePublic(5);\r\n var _this = this;\r\n setTimeout(()=>{\r\n if(_this.imageDiagram == 5){\r\n _this.updateImagePublic(6);\r\n }\r\n },10000);\r\n } else {\r\n if(!value && this.getBomba()==1){\r\n this.updateImagePublic(2);\r\n }else if(!value && this.getBomba()==0){\r\n this.updateImagePublic(1);\r\n } else{\r\n this.updateImagePublic(6);\r\n }\r\n }\r\n this.valvulaSelenoide = value;\r\n }\r\n\r\n updateImagePublic(value){\r\n var data ={\r\n id: 0,\r\n value: value\r\n }\r\n this.updatePanelValue(data).subscribe(_ =>{\r\n console.log(\"update image\");\r\n });\r\n }\r\n\r\n insertUpdateEmail(data): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/email`,data);\r\n }\r\n\r\n getEmails(): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/email`);\r\n }\r\n\r\n deleteEmail(id){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/email/` + id);\r\n }\r\n\r\n reportVideoanalitica(data): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/report/alert`,data);\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { SmsViewModel, SmsByIdModel, AlertSmsPending } from '../../models/sms/sms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SmsService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Sms';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getSms(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetSms`, { params: httpParams });\r\n }\r\n\r\n deleteSms(smsId: number) {\r\n return this.httpClient.delete(`${this.REQUEST_URL}/DeleteSms/${smsId}`);\r\n }\r\n\r\n getSmsByid(enterpriseId: number, smsId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetSmsById/` + enterpriseId + \"/\" + smsId);\r\n }\r\n\r\n registerSms(model: FormData) {\r\n return this.httpClient.post(`${this.REQUEST_URL}/CreateSms`, model);\r\n }\r\n\r\n updatedSms(model: FormData) {\r\n return this.httpClient.put(`${this.REQUEST_URL}/UpdateSms`, model);\r\n }\r\n\r\n getAlertByEmterprise(enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetAlertByEmterprise/` + enterpriseId);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetStorageFile } from 'src/app/models/storage/getStorageFile';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) {}\r\n\r\n private POST_ENDPOINT: string = 'Storage';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n get(idEnterprise: number,idHeadquarter: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}/headquarter/${idHeadquarter}`);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetCameraIframeStreaming } from 'src/app/models/streaming/getCameraIframeStreaming';\r\nimport { GetCameraStreaming } from 'src/app/models/streaming/getCameraStreaming';\r\nimport { GetCameraTokenStreaming } from 'src/app/models/streaming/getCameraTokenStreaming';\r\nimport { GetCameraTopStreaming } from 'src/app/models/streaming/getCameraTopStreaming';\r\nimport { ValidateDomainStreaming } from 'src/app/models/streaming/validateDomainStreaming';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StreamingService {\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n private POST_ENDPOINT: string = 'Streaming';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n\r\n getCameraByZone(zoneId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/cameras-by-zone/${zoneId}`);\r\n }\r\n\r\n getCameraByEnterprise(enterpriseId: number,headquarterId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/cameras-by-enterprise/${enterpriseId}/${headquarterId}`);\r\n }\r\n\r\n getCameraToken(token: string): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/camera-by-token/${token}`);\r\n }\r\n\r\n getCameraZoneToken(token: string): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/cameras-by-zone/token/${token}`);\r\n }\r\n\r\n getCameraEnterpriseToken(token: string): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/cameras-by-enterprise/token/${token}`);\r\n }\r\n\r\n getCameraIframeToken(token: string): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/camera-iframe-by-token/${token}`);\r\n }\r\n\r\n getIframeCamera(token: string): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/iframe-camera/${token}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ValidateDomainStreaming } from 'src/app/models/streaming/validateDomainStreaming';\r\nimport { GetDomainIframeStreaming } from 'src/app/models/streamingDomainIframe/getDomainIframeStreaming';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StreamingDomainIframeService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'StreamingDomainIframe';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(idEnterprise:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/${idEnterprise}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n\r\n validateDomain(domain: string): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/validate-by-domain`,{domain: domain});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetStreamingServer } from 'src/app/models/streamingServer/getStreamingServer';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StreamingServerService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'StreamingServer';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(idEnterprise: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/${idEnterprise}`);\r\n }\r\n\r\n create(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n update(data: any){\r\n return this.httpClient.put(`${this.REQUEST_URL}`,data);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetStreamingServer } from 'src/app/models/streamingServer/getStreamingServer';\r\nimport { GetStreamingStadistics } from 'src/app/models/streamingStadistics/getStreamingStadistics';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StreamingStadisticsService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'StreamingStadistics';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(data: any): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/getList`,data);\r\n }\r\n\r\n downloadExportExcel(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}/export-excel-list`, data,{\r\n responseType: 'blob' as 'json'\r\n })\r\n .pipe(catchError(this.parseErrorBlob))\r\n }\r\n\r\n parseErrorBlob(err: HttpErrorResponse): Observable {\r\n const reader: FileReader = new FileReader();\r\n\r\n const obs = Observable.create((observer: any) => {\r\n reader.onloadend = (e) => {\r\n observer.error(JSON.parse(reader.result.toString()));\r\n observer.complete();\r\n }\r\n });\r\n reader.readAsText(err.error);\r\n return obs;\r\n }\r\n\r\n createStadistics(data){\r\n var nAgt = navigator.userAgent;\r\n var browserName = navigator.appName;\r\n var nameOffset,verOffset;\r\n\r\n // In Opera, the true version is after \"Opera\" or after \"Version\"\r\n if ((verOffset=nAgt.indexOf(\"Opera\"))!=-1) {\r\n browserName = \"Opera\";\r\n // In MSIE, the true version is after \"MSIE\" in userAgent\r\n }else if ((verOffset=nAgt.indexOf(\"MSIE\"))!=-1) {\r\n browserName = \"Microsoft Internet Explorer\";\r\n }\r\n // In Chrome, the true version is after \"Chrome\"\r\n else if ((verOffset=nAgt.indexOf(\"Chrome\"))!=-1) {\r\n browserName = \"Chrome\";\r\n }\r\n // In Safari, the true version is after \"Safari\" or after \"Version\"\r\n else if ((verOffset=nAgt.indexOf(\"Safari\"))!=-1) {\r\n browserName = \"Safari\";\r\n // In Firefox, the true version is after \"Firefox\"\r\n }else if ((verOffset=nAgt.indexOf(\"Firefox\"))!=-1) {\r\n browserName = \"Firefox\";\r\n }\r\n // In most other browsers, \"name/version\" is at the end of userAgent\r\n else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) <\r\n (verOffset=nAgt.lastIndexOf('/')) )\r\n {\r\n browserName = nAgt.substring(nameOffset,verOffset);\r\n if (browserName.toLowerCase()==browserName.toUpperCase()) {\r\n browserName = navigator.appName;\r\n }\r\n }\r\n\r\n var OSName=\"Unknown OS\";\r\n if (navigator.appVersion.indexOf(\"Win\")!=-1) OSName=\"Windows\";\r\n if (navigator.appVersion.indexOf(\"Mac\")!=-1) OSName=\"MacOS\";\r\n if (navigator.appVersion.indexOf(\"X11\")!=-1) OSName=\"UNIX\";\r\n if (navigator.appVersion.indexOf(\"Linux\")!=-1) OSName=\"Linux\";\r\n\r\n const detectDeviceType = () =>\r\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)\r\n ? 'MĆ³vil'\r\n : 'PC';\r\n\r\n var body = {\r\n browser: browserName,\r\n userAgent: navigator.userAgent,\r\n os: OSName,\r\n successValidate: data.successValidate,\r\n ip: this.getIpCliente(),\r\n pc_movil: detectDeviceType(),\r\n originDomain: data.originDomain,\r\n idCamera: data.idCamera,\r\n origin: data.origin,\r\n idEnterprise: data.idEnterprise\r\n };\r\n\r\n return this.httpClient.post(`${this.REQUEST_URL}`,body);\r\n }\r\n\r\n getIpCliente() {\r\n var xmlHttp = new XMLHttpRequest();\r\n xmlHttp.open( \"GET\", \"https://api.ipify.org/\", false );\r\n xmlHttp.send( null );\r\n return xmlHttp.responseText;\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetTheme } from 'src/app/models/theme/getTheme';\r\nimport { Theme } from 'src/app/models/theme/theme';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ThemeService {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n private POST_ENDPOINT: string = 'Theme';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getTheme(enterpriseId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/${enterpriseId}`);\r\n }\r\n\r\n updateTheme(model: Theme): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/${model.enterpriseId}`, model);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { UserViewModel, User, UserPut } from '../../models/user/user';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'User';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getUsers(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getUserEnterprisesHeadquarters(idUser:number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise-headquarter/${idUser}`);\r\n }\r\n\r\n getUserEnterpriseHeadquarters(data): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}/list-enterprise-headquarters`, data);\r\n }\r\n\r\n createoUpadteEnterpriseHeadquarter(data): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/enterprise-headquarter`,data);\r\n }\r\n\r\n deleteEnterpriseHeadquarter(data): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/enterprise-headquarter`,data);\r\n }\r\n\r\n createUser(enterprise: User): Observable {\r\n return this.httpClient.post(`${this.REQUEST_URL}/CreateUser`, enterprise);\r\n }\r\n\r\n updateUser(model: UserPut): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/UpdateUser`, model);\r\n }\r\n\r\n deleteUser(userId: number) {\r\n return this.httpClient.delete(`${this.REQUEST_URL}/DeleteUser/${userId}`);\r\n }\r\n\r\n getUserById(userId: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/GetUser/${userId}`);\r\n }\r\n\r\n test() {\r\n return this.httpClient.get(`${this.REQUEST_URL}/test`);\r\n }\r\n\r\n updateUserMyProfile(data): Observable{\r\n return this.httpClient.post(`${this.REQUEST_URL}/profile`, data);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GetZone } from 'src/app/models/zone/getZone';\r\nimport { GetPin } from 'src/app/models/zone/getPin';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ZoneService {\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n private POST_ENDPOINT: string = 'Zone';\r\n private BASE_URL: string = `${environment.sistemaWebAdmin}`;\r\n private REQUEST_URL: string = `${this.BASE_URL}/${this.POST_ENDPOINT}`;\r\n\r\n getList(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pag`, { params: httpParams });\r\n }\r\n\r\n getListAll(idEnterprise: number,idHeadquarter: number): Observable {\r\n return this.httpClient.get(`${this.REQUEST_URL}/enterprise/${idEnterprise}/headquarter/${idHeadquarter}`);\r\n }\r\n\r\n getListPines(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pin`, { params: httpParams });\r\n }\r\n\r\n getListDefaultPines(parameters: any): Observable {\r\n let httpParams = new HttpParams({\r\n fromObject: parameters,\r\n });\r\n return this.httpClient.get(`${this.REQUEST_URL}/pin/default`, { params: httpParams });\r\n }\r\n\r\n createPin(data: any){\r\n return this.httpClient.post(`${this.REQUEST_URL}/pin`,data);\r\n }\r\n\r\n create(data: any){\r\n var formData = new FormData();\r\n formData.append(\"name\",data.name);\r\n formData.append(\"nomenclature\",data.nomenclature);\r\n formData.append(\"description\",data.description);\r\n formData.append(\"idHeadquarter\",data.idHeadquarter);\r\n formData.append(\"idEnterprise\",data.idEnterprise);\r\n formData.append(\"idUser\",data.idUser);\r\n formData.append(\"type\",data.type);\r\n formData.append(\"file\",data.file);\r\n return this.httpClient.post(`${this.REQUEST_URL}`,formData);\r\n }\r\n\r\n update(data: any){\r\n var formData = new FormData();\r\n formData.append(\"name\",data.name);\r\n formData.append(\"nomenclature\",data.nomenclature);\r\n formData.append(\"description\",data.description);\r\n formData.append(\"idHeadquarter\",data.idHeadquarter);\r\n formData.append(\"idEnterprise\",data.idEnterprise);\r\n formData.append(\"id\",data.id);\r\n formData.append(\"idUser\",data.idUser);\r\n formData.append(\"type\",data.type);\r\n formData.append(\"file\",data.file);\r\n return this.httpClient.put(`${this.REQUEST_URL}`,formData);\r\n }\r\n\r\n delete(id: number){\r\n return this.httpClient.delete(`${this.REQUEST_URL}/` + id);\r\n }\r\n\r\n deletePin(data: any): Observable {\r\n return this.httpClient.put(`${this.REQUEST_URL}/delete/pin`,data);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport * as Chart from 'chart.js'\r\n\r\n@Component({\r\n selector: 'app-chart-bar',\r\n templateUrl: './chart-bar.component.html',\r\n styleUrls: ['./chart-bar.component.css']\r\n})\r\nexport class ChartBarComponent implements OnInit {\r\n @Input('id') id : any;\r\n @Input('type') type : any;\r\n @Input('idCanvas') idCanvas : any;\r\n @Input('labelsChart') labelsChart : any;\r\n @Input('valuesChart') valuesChart : any;\r\n @Input('colorArray') colorArray : any;\r\n @Input('optionFilter') optionFilter : any;\r\n @Input('showroom') showroom : any;\r\n\r\n chart: Chart;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n getRandomColor() {\r\n var letters = '0123456789ABCDEF';\r\n var color = '#';\r\n for (var i = 0; i < 6; i++) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n return color;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const labels = this.labelsChart;\r\n const arrayData = this.valuesChart;\r\n var data = {\r\n labels: labels,\r\n datasets: arrayData\r\n }\r\n /* [{\r\n label: \"Ventas 2018\",\r\n data: [65,34,65,65,2343,65,213,6523,6523,3],//arrayData,\r\n backgroundColor: \"yellow\"\r\n }]\r\n };\r\n\r\n let width, height, gradient;\r\n function getGradient(ctx, chartArea) {\r\n const chartWidth = chartArea.right - chartArea.left;\r\n const chartHeight = chartArea.bottom - chartArea.top;\r\n if (!gradient || width !== chartWidth || height !== chartHeight) {\r\n // Create the gradient because this is either the first render\r\n // or the size of the chart has changed\r\n width = chartWidth;\r\n height = chartHeight;\r\n gradient = ctx.createLinearGradient(0, chartArea.bottom, 0, chartArea.top);\r\n gradient.addColorStop(0, 'blue');\r\n gradient.addColorStop(0.5, 'yellow');\r\n gradient.addColorStop(1, 'red');\r\n }\r\n\r\n return gradient;\r\n }*/\r\n this.chart = new Chart('chartBar'+this.idCanvas,{\r\n type: 'bar',\r\n data: data,\r\n options: {\r\n tooltips: {\r\n cornerRadius: 0,\r\n caretSize: 0,\r\n xPadding: 16,\r\n yPadding: 10,\r\n // backgroundColor: \"rgba(0, 150, 100, 0.9)\",\r\n titleFontStyle: \"normal\",\r\n titleMarginBottom: 15\r\n },\r\n plugins: {\r\n datalabels: {\r\n display: false\r\n }\r\n },\r\n scales: {\r\n yAxes: [\r\n {\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }\r\n ]\r\n },\r\n title: {\r\n display: false,\r\n text: \"\"\r\n },\r\n /*leyend: {\r\n display: false\r\n },*/\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n","import { AmChart, AmChartsService } from '@amcharts/amcharts3-angular';\r\nimport { Component, Input } from '@angular/core';\r\ndeclare var require: any\r\nconst gradstop = require('gradstop');\r\n\r\n@Component({\r\n selector: 'app-chart-gauge',\r\n templateUrl: './chart-gauge.component.html',\r\n styleUrls: ['./chart-gauge.component.css']\r\n})\r\nexport class ChartGaugeComponent {\r\n @Input('id') id : any;\r\n @Input('valueChart') valueChart : any;\r\n @Input('labelsChart') labelsChart : any;\r\n @Input('valueInterval') valueInterval : any;\r\n chart: AmChart | undefined;\r\n\r\n constructor(private AmCharts: AmChartsService) {}\r\n\r\n ngAfterViewInit(){\r\n console.log(\"id\",this.id);\r\n console.log(\"value\",this.valueChart);\r\n console.log(\"labelsChart\",this.labelsChart);\r\n var bands = [];\r\n var labels = JSON.parse(this.labelsChart);\r\n labels.forEach(element => {\r\n element.innerRadius = \"90%\",\r\n element.startValue = element.valueStart\r\n element.endValue = element.valueEnd\r\n });\r\n\r\n var endValue = labels[labels.length-1].endValue;\r\n\r\n this.chart = this.AmCharts.makeChart(\"chartdiv\"+this.id, {\r\n \"type\": \"gauge\",\r\n //\"theme\": \"light\",\r\n \"arrows\": [\r\n {\r\n \"value\": this.valueChart\r\n }\r\n ],\r\n \"axes\": [ {\r\n \"axisThickness\": 1,\r\n \"axisAlpha\": 0.2,\r\n \"tickAlpha\": 0.2,\r\n \"valueInterval\": this.valueInterval,\r\n \"bands\":labels/* [\r\n {\r\n \"color\": \"#84b761\",\r\n \"innerRadius\": \"90%\",\r\n \"endValue\": 40,\r\n \"startValue\": 0\r\n },\r\n {\r\n \"color\": \"#fdd400\",\r\n \"innerRadius\": \"90%\",\r\n \"endValue\": 70,\r\n \"startValue\": 40\r\n },\r\n {\r\n \"color\": \"#cc4748\",\r\n \"endValue\": 100,\r\n \"innerRadius\": \"90%\",\r\n \"startValue\": 70\r\n }\r\n ]*/,\r\n /*\"bottomText\": \"50%\",\r\n \"bottomTextYOffset\": 0,*/\r\n \"endValue\": \"100\"\r\n }],\r\n /*\"titles\": [\r\n {\r\n \"text\": \"Speedometer\",\r\n \"size\": 15\r\n }\r\n ],*/\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n {{chart}}\r\n
\r\n
\r\n {{ name }}\r\n {{valueSensor}} \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport {Chart} from 'chart.js';\r\n//import {StreamingPlugin} from 'chartjs-plugin-streaming';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-chart-line-streaming',\r\n templateUrl: './chart-line-streaming.component.html',\r\n styleUrls: ['./chart-line-streaming.component.css']\r\n})\r\nexport class ChartLineStreamingComponent implements OnInit {\r\n private _hubConnection: HubConnection;\r\n @Input('id') id : any;\r\n @Input('idCanvas') idCanvas : any;\r\n @Input('labelsChart') labelsChart : any;\r\n @Input('name') name : any;\r\n colors = [\"#31bfe9\"]; //#652c77\"#01c4e7\", [\"#99f2c8\",\"#f5af19\",\"#F37335\",\"#91EAE4\"];\r\n color = \"\";\r\n aligns = [3,1];\r\n lastValue = 0;\r\n valueSensor = 0;\r\n // @Input('valuesChart') valuesChart : any;\r\n // @Input('colorArray') colorArray : any;\r\n consultQuery = true;\r\n align = 0;\r\n value = 0;\r\n public chart: any;\r\n chartColors = {\r\n red: 'rgb(255, 99, 132)',\r\n orange: 'rgb(255, 159, 64)',\r\n yellow: 'rgb(255, 205, 86)',\r\n green: 'rgb(75, 192, 192)',\r\n blue: 'rgb(54, 162, 235)',\r\n purple: 'rgb(153, 102, 255)',\r\n grey: 'rgb(201, 203, 207)'\r\n };\r\n\r\n constructor(public showroomService: ShowRoomService) {\r\n this.color = this.colors[Math.floor(Math.random() * this.colors.length)];\r\n // this.align = this.aligns[Math.floor(Math.random() * this.aligns.length)];\r\n var _this = this;\r\n const connection = this._hubConnection = new HubConnectionBuilder()\r\n .withUrl(environment.wsUrl +\"/ws/showroom\",{\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n var _this = this;\r\n connection.on(\"streamingSensors\", (sensores) => {\r\n var sensor = sensores.data.filter(x => x.id == _this.id);\r\n if(sensor[0] != null){\r\n _this.valueSensor = sensor[0].value;\r\n _this.setSensors(sensor[0].id,sensor[0].value);\r\n }\r\n });\r\n connection.on(\"streamingHumedad\", (sensores) => {\r\n for (var i = 0; i < sensores.length; i++) {\r\n if(_this.id == sensores[i].x){\r\n _this.valueSensor = sensores[i].y;\r\n }\r\n }\r\n });\r\n connection.start().catch(err => document.write(err));\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n\r\n //Chart.pluginService.register(StreamingPlugin);\r\n var _this = this;\r\n var color = Chart.helpers.color;\r\n // const randomColor = Math.floor(Math.random()*16777215).toString(16);\r\n const data2 = {\r\n datasets: [\r\n {\r\n // label: 'Dataset 1 (Linear Interpolation)',\r\n /*backgroundColor: function(context) {\r\n const chart = context.chart;\r\n const {ctx, chartArea} = chart;\r\n\r\n if (!chartArea) {\r\n // This case happens on initial chart load\r\n return;\r\n }\r\n return _this.getGradient(ctx, chartArea,_this.color);\r\n },*/\r\n /*backgroundColor: \"blue\",\r\n\t\t\t borderColor: \"blue\", */\r\n backgroundColor: \"lightgray\",\r\n borderColor: this.color,\r\n lineTension: 0,\r\n borderDash: [8, 4],\r\n data: [],\r\n fill: true\r\n }\r\n ]\r\n };\r\n\r\n function randomScalingFactor(){\r\n return _this.valueSensor;\r\n }\r\n\r\n function onRefresh(chart) {\r\n const now = Date.now();\r\n var _this = this;\r\n chart.config.data.datasets.forEach(function(dataset) {\r\n dataset.data.push({\r\n x: now,\r\n y: randomScalingFactor()\r\n });\r\n });\r\n }\r\n /*const onRefresh = chart => {\r\n const now = Date.now();\r\n var _this = this;\r\n // chart.data.datasets\r\n chart.config.data.datasets.forEach(dataset => {\r\n dataset.data.push({\r\n x: now,\r\n y: _this.valueSensor\r\n });\r\n });\r\n\r\n if(this.consultQuery && !this.showroomService.getPause()){\r\n this.consultQuery = false;\r\n this.showroomService.getSensorValue(this.id).subscribe((_) => {\r\n var valueS = 0;\r\n if(_.error == null && _.data != null){\r\n this.value = _.data.y;\r\n valueS = this.value;\r\n this.setSensors(this.id,this.value);\r\n chart.data.datasets.forEach(dataset => {\r\n dataset.data.push({\r\n x: now,\r\n y: _.data.y\r\n });\r\n });\r\n }\r\n\r\n this.align++;\r\n this.lastValue = valueS;\r\n this.consultQuery = true;\r\n });\r\n }\r\n };*/\r\n /*\r\n Chart.defaults.set('plugins.streaming', {\r\n duration: 20000\r\n });\r\n\r\n Chart.plugins.register({\r\n streaming:{\r\n duration: 20000\r\n }\r\n });\r\n*/\r\n var _this = this;\r\n\r\n\r\n setTimeout(function(){\r\n\r\n var canvas = document.getElementById('chartLineStreaming'+_this.idCanvas);\r\n const ctx = canvas.getContext('2d');\r\n\r\n _this.chart = new Chart(ctx,{\r\n type: 'line',\r\n data: data2,\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false\r\n },\r\n title: {\r\n display: false,\r\n text: ''\r\n },\r\n scales: {\r\n xAxes: [{\r\n type: 'linear', // Utiliza el tipo 'linear' para el eje X\r\n position: 'bottom'\r\n /*type: 'realtime',\r\n realtime: {\r\n duration: 60000, // line time graph\r\n ttl: 60000,\r\n refresh: 2000,\r\n delay: 2000,\r\n onRefresh: onRefresh,\r\n frameRate: 90,\r\n pause: false\r\n },*/\r\n }],\r\n yAxes: [{\r\n scaleLabel: {\r\n display: false,\r\n labelString: 'Valor'\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n mode: 'nearest',\r\n intersect: false\r\n },\r\n hover: {\r\n mode: 'nearest',\r\n intersect: false\r\n }\r\n }\r\n })\r\n\r\n }\r\n , 3000);\r\n\r\n\r\n/*\r\n\r\n const labels = this.labelsChart;\r\n const arrayData = this.valuesChart;\r\n const data = {\r\n labels:labels,\r\n datasets: [\r\n {\r\n data: arrayData,\r\n borderColor: function(context) {\r\n const chart = context.chart;\r\n const {ctx, chartArea} = chart;\r\n\r\n if (!chartArea) {\r\n // This case happens on initial chart load\r\n return;\r\n }\r\n return getGradient(ctx, chartArea);\r\n },\r\n },\r\n ]\r\n };\r\n*/\r\n\r\n /*\r\n this.chart = new Chart('chartLine'+this.id,{\r\n type: 'line',\r\n data: data,\r\n options:{\r\n scales: {\r\n xAxes: {\r\n ticks: {\r\n autoSkip: false,\r\n maxRotation: 75,\r\n minRotation: 75\r\n }\r\n }\r\n },\r\n plugins: {\r\n legend: {\r\n display: false\r\n }\r\n }\r\n }\r\n });*/\r\n }\r\n\r\n getGradient(ctx, chartArea, color) {\r\n let width, height, gradient;\r\n const chartWidth = chartArea.right - chartArea.left;\r\n const chartHeight = chartArea.bottom - chartArea.top;\r\n if (!gradient || width !== chartWidth || height !== chartHeight) {\r\n // Create the gradient because this is either the first render\r\n // or the size of the chart has changed\r\n width = chartWidth;\r\n height = chartHeight;\r\n gradient = ctx.createLinearGradient(0, chartArea.bottom, 0, chartArea.top);\r\n gradient.addColorStop(0, '#ffffff45');\r\n gradient.addColorStop(0.5, color);\r\n gradient.addColorStop(1, '#ffffff45');\r\n }\r\n\r\n return gradient;\r\n }\r\n\r\n setSensors(id,value){\r\n if(id == 3){ // nivel\r\n this.showroomService.setNivel(value);\r\n }else if(id == 5){ // presion\r\n this.showroomService.setPresion(value);\r\n }else if(id == 1){ // temperatura\r\n this.showroomService.setTemperatura(value);\r\n }\r\n }\r\n}\r\n","
\r\n {{ chart }}\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport * as Chart from 'chart.js'\r\n\r\n@Component({\r\n selector: 'app-chart-line',\r\n templateUrl: './chart-line.component.html',\r\n styleUrls: ['./chart-line.component.css']\r\n})\r\nexport class ChartLineComponent implements OnInit {\r\n @Input('id') id : any;\r\n @Input('type') type : any;\r\n @Input('idCanvas') idCanvas : any;\r\n @Input('labelsChart') labelsChart : any;\r\n @Input('valuesChart') valuesChart : any;\r\n @Input('colorArray') colorArray : any;\r\n @Input('optionFilter') optionFilter : any;\r\n @Input('showroom') showroom : any;\r\n\r\n public chart: any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const labels = this.labelsChart;\r\n const arrayData = this.valuesChart;\r\n var data;\r\n if(this.showroom == \"1\"){\r\n data = {\r\n labels: labels,\r\n datasets: [\r\n {\r\n data: arrayData,\r\n borderColor: function(context) {\r\n const chart = context.chart;\r\n const {ctx, chartArea} = chart;\r\n\r\n if (!chartArea) {\r\n // This case happens on initial chart load\r\n return;\r\n }\r\n return getGradient(ctx, chartArea);\r\n },\r\n },\r\n ]\r\n };\r\n }else{\r\n data = {\r\n labels:labels, //\r\n datasets: arrayData\r\n };\r\n }\r\n\r\n let width, height, gradient;\r\n function getGradient(ctx, chartArea) {\r\n const chartWidth = chartArea.right - chartArea.left;\r\n const chartHeight = chartArea.bottom - chartArea.top;\r\n if (!gradient || width !== chartWidth || height !== chartHeight) {\r\n // Create the gradient because this is either the first render\r\n // or the size of the chart has changed\r\n width = chartWidth;\r\n height = chartHeight;\r\n gradient = ctx.createLinearGradient(0, chartArea.bottom, 0, chartArea.top);\r\n gradient.addColorStop(0, 'blue');\r\n gradient.addColorStop(0.5, 'yellow');\r\n gradient.addColorStop(1, 'red');\r\n }\r\n\r\n return gradient;\r\n }\r\n console.log('chartLine'+this.idCanvas);\r\n this.chart = new Chart('chartLine'+this.idCanvas,{\r\n type: 'line',\r\n data: data,\r\n options:{\r\n scales: {\r\n ticks: {\r\n autoSkip: false,\r\n maxRotation: 75,\r\n minRotation: 75\r\n },\r\n\r\n /* xAxes:[\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'probability'\r\n },\r\n ticks: {\r\n autoSkip: false,\r\n maxRotation: 75,\r\n minRotation: 75\r\n }\r\n }\r\n ]*/\r\n /* },\r\n yAxes: [{\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'probability'\r\n }\r\n }]*/\r\n },\r\n plugins: {\r\n legend: {\r\n display: false\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-chart-switch-vertical',\r\n templateUrl: './chart-switch-vertical.component.html',\r\n styleUrls: ['./chart-switch-vertical.component.css']\r\n})\r\nexport class ChartSwitchVerticalComponent implements OnInit {\r\n @Input('id') id : any;\r\n @Input('value') value : any;\r\n \r\n constructor() {\r\n this.id = \"PanelSwitchVertical\"+this.id;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n {{titleSwitch}}\r\n
\r\n","import { Component, Input} from '@angular/core';\r\nimport { cubicBezier, Gauge } from 'gauge-chart-js';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\ndeclare var require: any\r\nconst gradstop = require('gradstop');\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-chart-switch',\r\n templateUrl: './chart-switch.component.html',\r\n styleUrls: ['./chart-switch.component.css']\r\n})\r\nexport class ChartSwitchComponent {\r\n private _hubConnection: HubConnection;\r\n @Input('id') id : any;\r\n @Input('valueChart') valueChart : any;\r\n @Input('radius') radius : any;\r\n @Input('idOrigin') idOrigin : any;\r\n easeIn = cubicBezier(0, 0, 0.2, 5);\r\n mainGauge:Gauge;\r\n maxValue:any;\r\n backgroundColor = '';\r\n titleSwitch: string;\r\n boxShadowColor = '';\r\n showData = true;\r\n\r\n constructor(public showroomService: ShowRoomService) {\r\n\r\n var _this = this;\r\n const connection = this._hubConnection = new HubConnectionBuilder()\r\n .withUrl(environment.wsUrl +\"/ws/showroom\",{\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n console.log(environment.wsUrl +\"/ws/showroom\");\r\n connection.on(\"streamingActuator\", (actuator) => {\r\n var actuator = actuator.data;\r\n if(actuator.id == _this.idOrigin){\r\n if(actuator.value){\r\n _this.backgroundColor = '#01c4e7';\r\n _this.boxShadowColor =\"0px 0px 10.5px #01c4e7\";\r\n if(_this.idOrigin == 3){ _this.titleSwitch = \"CLOSE\"; }else{ _this.titleSwitch = \"ON\"; }\r\n }else{\r\n _this.backgroundColor = '#fff';\r\n _this.titleSwitch = \"OFF\";\r\n _this.boxShadowColor =\"0px 0px 10.5px #fff\";\r\n if(_this.idOrigin == 3){ _this.titleSwitch = \"OPEN\"; }else{ _this.titleSwitch = \"OFF\"; }\r\n }\r\n _this.valueChart = actuator.value;\r\n }\r\n });\r\n connection.start().catch(err => document.write(err));\r\n //setInterval(function () {\r\n /*if(_this.showData && _this.idOrigin){\r\n _this.showData = false;\r\n _this.showroomService.getActuatorValue(_this.idOrigin).subscribe(_ => {\r\n if(_.data.value){\r\n _this.backgroundColor = '#01c4e7';\r\n _this.boxShadowColor =\"0px 0px 10.5px #01c4e7\";\r\n if(_this.idOrigin == 3){ _this.titleSwitch = \"CLOSE\"; }else{ _this.titleSwitch = \"ON\"; }\r\n }else{\r\n _this.backgroundColor = '#fff';\r\n _this.titleSwitch = \"OFF\";\r\n _this.boxShadowColor =\"0px 0px 10.5px #fff\";\r\n if(_this.idOrigin == 3){ _this.titleSwitch = \"OPEN\"; }else{ _this.titleSwitch = \"OFF\"; }\r\n }\r\n _this.valueChart = _.data.value;\r\n _this.showData = true;\r\n });\r\n }*/\r\n /* },\r\n 1000);*/\r\n }\r\n\r\n async ngAfterViewInit(): Promise {\r\n /*const linear = cubicBezier(0, 0, 1, 1);\r\n const container = document.getElementById('countdown-gauge'+this.id);\r\n const sharedConfig = {\r\n container,\r\n gaugeRadius: this.radius,\r\n lineWidth: 0,\r\n fromAngle: 0,\r\n toAngle: 360,\r\n animationDuration: 500,\r\n easing: linear\r\n };*/\r\n\r\n var color;\r\n if(this.idOrigin == 3){\r\n\r\n if(this.valueChart){\r\n this.backgroundColor = '#01c4e7';\r\n this.boxShadowColor =\"0px 0px 10.5px #01c4e7\";\r\n this.titleSwitch = \"CLOSE\";\r\n color = '#01c4e7';\r\n }else{\r\n this.backgroundColor = '#fff';\r\n this.titleSwitch = \"OPEN\";\r\n this.boxShadowColor =\"0px 0px 10.5px #fff\";\r\n color = '#c80003';\r\n }\r\n }else{\r\n\r\n if(this.valueChart){\r\n this.backgroundColor = '#01c4e7';\r\n this.boxShadowColor =\"0px 0px 10.5px #01c4e7\";\r\n this.titleSwitch = \"ON\";\r\n color = '#01c4e7';\r\n }else{\r\n this.backgroundColor = '#fff';\r\n this.titleSwitch = \"OFF\";\r\n this.boxShadowColor =\"0px 0px 10.5px #fff\";\r\n color = '#c80003';\r\n }\r\n }\r\n //this.valueChart = !this.valueChart;\r\n /**this.maxValue = sharedConfig.toAngle - sharedConfig.fromAngle;\r\n const gaugeBackground = new Gauge({\r\n ...sharedConfig,\r\n color: color,\r\n lineWidth: 0,\r\n animationDuration: 500\r\n });\r\n\r\n gaugeBackground.setValue(this.maxValue);*/\r\n\r\n }\r\n/*\r\n wait(ms: number) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }*/\r\n\r\n on_off(){\r\n this.showData = false;\r\n //const linear = cubicBezier(0, 0, 1, 1);\r\n if(this.idOrigin == 4){ //resistencia\r\n var _this = this;\r\n setInterval(function(){\r\n var resistencia = _this.showroomService.getResistencia();\r\n if(!resistencia){\r\n _this.backgroundColor = '#fff';\r\n _this.boxShadowColor =\"0px 0px 10.5px #fff\";\r\n _this.titleSwitch = \"OFF\";\r\n _this.valueChart = 0;\r\n }else{\r\n _this.valueChart = 1;\r\n _this.backgroundColor = '#01c4e7';\r\n _this.boxShadowColor =\"0px 0px 10.5px #01c4e7\";\r\n _this.titleSwitch = \"ON\";\r\n }\r\n },1000);\r\n }else{\r\n var color;\r\n if(this.idOrigin == 3){\r\n if(!this.valueChart){\r\n color = '#01c4e7';\r\n this.backgroundColor = '#01c4e7';\r\n this.boxShadowColor =\"0px 0px 10.5px #01c4e7\";\r\n this.titleSwitch = \"CLOSE\";\r\n }else{\r\n this.backgroundColor = '#fff';\r\n this.boxShadowColor =\"0px 0px 10.5px #fff\";\r\n color = '#c80003';\r\n this.titleSwitch = \"OPEN\";\r\n }\r\n }else{\r\n if(!this.valueChart){\r\n color = '#01c4e7';\r\n this.backgroundColor = '#01c4e7';\r\n this.boxShadowColor =\"0px 0px 10.5px #01c4e7\";\r\n this.titleSwitch = \"ON\";\r\n }else{\r\n this.backgroundColor = '#fff';\r\n this.boxShadowColor =\"0px 0px 10.5px #fff\";\r\n color = '#c80003';\r\n this.titleSwitch = \"OFF\";\r\n }\r\n }\r\n\r\n this.valueChart = !this.valueChart;\r\n }\r\n\r\n setTimeout(_ =>{\r\n this.showData = true;\r\n },2000);\r\n/*\r\n const container = document.getElementById('countdown-gauge'+this.id);\r\n const sharedConfig = {\r\n container,\r\n gaugeRadius: this.radius,\r\n lineWidth: 0,\r\n color: color,\r\n fromAngle: 0,\r\n toAngle: 360,\r\n animationDuration: 500,\r\n easing: linear\r\n };\r\n const gaugeBackground = new Gauge({\r\n ...sharedConfig,\r\n color: color,\r\n lineWidth: 0,\r\n animationDuration: 500\r\n });\r\n\r\n gaugeBackground.setValue(this.maxValue);*/\r\n\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

\r\n

\r\n

de

\r\n

\r\n

del

\r\n

\r\n
\r\n
\r\n

\r\n

:

\r\n

\r\n

:

\r\n
\r\n

\r\n

\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport * as $ from 'jquery';\r\n\r\n@Component({\r\n selector: 'app-clock',\r\n templateUrl: './clock.component.html',\r\n styleUrls: ['./clock.component.css']\r\n})\r\nexport class ClockComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n var actualizarHora = function(){\r\n var fecha = new Date(),\r\n hora = fecha.getHours(),\r\n minutos = fecha.getMinutes(),\r\n segundos = fecha.getSeconds(),\r\n diaSemana = fecha.getDay(),\r\n dia = fecha.getDate(),\r\n mes = fecha.getMonth(),\r\n anio = fecha.getFullYear(),\r\n ampm;\r\n \r\n var $pHoras = $(\"#horas\"),\r\n $pSegundos = $(\"#segundos\"),\r\n $pMinutos = $(\"#minutos\"),\r\n $pAMPM = $(\"#ampm\"),\r\n $pDiaSemana = $(\"#diaSemana\"),\r\n $pDia = $(\"#dia\"),\r\n $pMes = $(\"#mes\"),\r\n $pAnio = $(\"#anio\");\r\n var semana = ['Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sabado'];\r\n var meses = ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];\r\n \r\n $pDiaSemana.text(semana[diaSemana]);\r\n $pDia.text(dia);\r\n $pMes.text(meses[mes]);\r\n $pAnio.text(anio);\r\n if(hora>=12){\r\n hora = hora - 12;\r\n ampm = \"PM\";\r\n }else{\r\n ampm = \"AM\";\r\n }\r\n if(hora == 0){\r\n hora = 12;\r\n }\r\n if(hora<10){$pHoras.text(\"0\"+hora)}else{$pHoras.text(hora)};\r\n if(minutos<10){$pMinutos.text(\"0\"+minutos)}else{$pMinutos.text(minutos)};\r\n if(segundos<10){$pSegundos.text(\"0\"+segundos)}else{$pSegundos.text(segundos)};\r\n $pAMPM.text(ampm);\r\n \r\n };\r\n \r\n \r\n actualizarHora();\r\n var intervalo = setInterval(actualizarHora,1000);\r\n }\r\n\r\n}\r\n","\r\n
\r\n close\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n
\r\n \r\n 0\"\r\n [style.color]=\"colorFont\"\r\n class=\"mat-elevation-z0 mat-expansion-menu\"\r\n style=\"background:transparent\"\r\n [hideToggle]=\"menuIcon\"\r\n >\r\n \r\n \r\n {{navItem.icon}}\r\n {{navItem.name}}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
1\">\r\n \r\n Empresa\r\n \r\n \r\n {{item.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Sede\r\n \r\n \r\n \r\n {{item.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{user}}\r\n \r\n
\r\n
\r\n
    \r\n
  • {{roleUser}}
  • \r\n
  • {{email}}
  • \r\n
    \r\n
  • account_circleMi Perfil
  • \r\n
    \r\n
  • exit_to_appCerrar SesiĆ³n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { Observable } from 'rxjs';\r\nimport { map, shareReplay } from 'rxjs/operators';\r\nimport { AppConstants } from '../../constants/app.contants';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AdminService } from 'src/app/services/admin/admin.service';\r\nimport { AuthService } from 'src/app/services/auth/auth.service';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-main-nav',\r\n templateUrl: './main-nav.component.html',\r\n styleUrls: ['./main-nav.component.css'],\r\n animations: [\r\n trigger('menuIconAnimation', [\r\n state('closed', style({ transform: 'rotate(0deg)' })),\r\n state('open', style({ transform: 'rotate(180deg)' })),\r\n transition('closed <=> open', animate('200ms ease-in-out'))\r\n ])\r\n ]\r\n})\r\nexport class MainNavComponent implements OnInit {\r\n user: any;\r\n email: string;\r\n loading: boolean = false;\r\n navList = [];\r\n headquarters = [];\r\n enterpriseSelect = 0;\r\n headquarterSelect = 0;\r\n roleUser: string;\r\n enterprises = [];\r\n isExpanded: boolean = true;\r\n logo: string;\r\n color1: string;\r\n title: string;\r\n color2: string;\r\n colorFont: string;\r\n colorFont2: string;\r\n profileoptions = false;\r\n initMenuIcon: boolean;\r\n isPhone = false;\r\n isTablet = false;\r\n menuIcon = localStorage.getItem(AppConstants.Session.MENU_ICON) == \"1\" ? true:false;\r\n isHandset$: Observable = this.breakpointObserver.observe(Breakpoints.Handset)\r\n .pipe(\r\n map(result => result.matches),\r\n shareReplay()\r\n );\r\n\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n //private authService: MsalService,\r\n\r\n private auService: AuthService,\r\n private adminService: AdminService,\r\n private spinner: NgxSpinnerService,\r\n private router: Router) {\r\n const userAgent: string = navigator.userAgent || navigator.vendor;\r\n const isMobileDevice = (): boolean => {\r\n const regexs = [/(Android)(.+)(Mobile)/i, /BlackBerry/i, /iPhone|iPod/i, /Opera Mini/i, /IEMobile/i]\r\n return regexs.some((b) => userAgent.match(b))\r\n }\r\n const isTabletDevice = (): boolean => {\r\n const regexs = [/iPad/i, /iPod/i, /tablet/i, /tablet|ipad/i, /^((?!chrome|android).)*safari/i]\r\n return regexs.some((b) => userAgent.match(b))\r\n }\r\n this.isPhone = isMobileDevice();\r\n this.isTablet = isTabletDevice();\r\n this.initMenuIcon = parseInt(localStorage.getItem(AppConstants.Session.MENU_ICON)) == 1 ? true : false;\r\n var color1 = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n var color2 = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n var logo = localStorage.getItem(AppConstants.Session.LOGO);\r\n if(color1 != null && color1 != \"\"){\r\n this.color1 = color1;\r\n this.colorFont = color1;\r\n }else{\r\n this.colorFont = environment.themeColorFont1;\r\n this.color1 = environment.themeColor1;\r\n }\r\n\r\n if(color2 != null && color2 != \"\"){\r\n this.color2 = color2;\r\n this.colorFont2 = color2;\r\n }else{\r\n this.color2 = environment.themeColor2;\r\n this.colorFont2 = environment.themeColorFont2;\r\n }\r\n\r\n if(this.logo == \"\" && this.logo == null){\r\n this.logo = '../../../'+environment.logoEnterprise;\r\n }else{\r\n this.logo = logo;\r\n }\r\n /*localStorage.setItem(AppConstants.Session.LOGO,this.logo);\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR1,this.color1);\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR2,this.color2);\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR_FONT,this.colorFont);\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR_FONT2,this.colorFont2);*/\r\n this.user = localStorage.getItem(AppConstants.Session.USER);\r\n this.email = localStorage.getItem(AppConstants.Session.USERNAME);\r\n this.listEnterprises();\r\n this.listHeadquarters();\r\n\r\n if(localStorage.getItem(AppConstants.Session.CHANGE_ENTERPRISE_MENU) == '1'){\r\n localStorage.setItem(AppConstants.Session.CHANGE_ENTERPRISE_MENU, '0');\r\n var item = localStorage.getItem(AppConstants.Session.FIRST_PAGE);\r\n if(item == \"dashboard\"){ item = \"home/\"+item; }\r\n this.router.navigate([item]);\r\n }\r\n }\r\n\r\n showProfileOptions(){\r\n this.profileoptions = this.profileoptions == false ? true:false;\r\n }\r\n\r\n listEnterprises(){\r\n var enterprises = JSON.parse(localStorage.getItem(AppConstants.Session.ENTERPRISES));\r\n this.enterprises = enterprises;\r\n if(localStorage.getItem(AppConstants.Session.ENTERPRISE) != \"\"){\r\n this.enterpriseSelect = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));\r\n }else{\r\n this.enterpriseSelect = enterprises[0].id;\r\n }\r\n }\r\n\r\n listHeadquarters(change = 0){\r\n var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n console.log(\"list\",headquarters);\r\n var _this = this;\r\n var h = headquarters.filter(x => x.idEnterprise == _this.enterpriseSelect);\r\n if(h.length > 0){\r\n _this.headquarters = h;\r\n }\r\n console.log(\"headquarters\",this.headquarters);\r\n // this.headquarters = headquarters.filter(x => x.idEnterprise == this.enterpriseSelect);\r\n if(this.headquarters.length>1){\r\n this.headquarterSelect = 0;\r\n if(localStorage.getItem(AppConstants.Session.HEADQUARTER) != \"\" && localStorage.getItem(AppConstants.Session.HEADQUARTER) != \"0\" && change == 0){\r\n this.headquarterSelect = parseInt(localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n }else{\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n }else{\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n\r\n console.log(\"headquarterSelect\",this.headquarterSelect);\r\n var listMenuEnterpriseHeadquarter = localStorage.getItem(AppConstants.Session.MENU_ROLE);\r\n\r\n var listMenuEH = JSON.parse(listMenuEnterpriseHeadquarter).filter(x => x.idEnterprise == this.enterpriseSelect);\r\n if(listMenuEH.length == 1){\r\n if(listMenuEH[0].idHeadquarter == 0){\r\n var listmenuEnterpriseHeadquarterRoles = JSON.parse(listMenuEnterpriseHeadquarter).filter(x => x.idEnterprise == this.enterpriseSelect);\r\n var role = listmenuEnterpriseHeadquarterRoles[0].role;\r\n localStorage.setItem(AppConstants.Session.ROLE, role.toString());\r\n this.roleUser = localStorage.getItem(AppConstants.Session.ROLE);\r\n }else{\r\n var listmenuEnterpriseHeadquarterRoles = JSON.parse(listMenuEnterpriseHeadquarter).filter(x => x.idEnterprise == this.enterpriseSelect && x.idHeadquarter == this.headquarterSelect);\r\n var role = listmenuEnterpriseHeadquarterRoles[0].role;\r\n localStorage.setItem(AppConstants.Session.ROLE, role.toString());\r\n this.roleUser = localStorage.getItem(AppConstants.Session.ROLE);\r\n }\r\n }else{\r\n var listmenuEnterpriseHeadquarterRoles = JSON.parse(listMenuEnterpriseHeadquarter).filter(x => x.idEnterprise == this.enterpriseSelect && x.idHeadquarter == this.headquarterSelect);\r\n if(listmenuEnterpriseHeadquarterRoles.length>0){\r\n var role = listmenuEnterpriseHeadquarterRoles[0].role;\r\n localStorage.setItem(AppConstants.Session.ROLE, role.toString());\r\n this.roleUser = localStorage.getItem(AppConstants.Session.ROLE);\r\n }\r\n }\r\n\r\n if(change == 1){\r\n localStorage.setItem(AppConstants.Session.HEADQUARTER,this.headquarterSelect.toString());\r\n // location.reload();\r\n this.changeMenu();\r\n }\r\n\r\n\r\n }\r\n\r\n changeEnterprise(e){\r\n this.spinner.show();\r\n this.enterpriseSelect = e;\r\n localStorage.setItem(AppConstants.Session.ENTERPRISE,this.enterpriseSelect.toString());\r\n localStorage.setItem(AppConstants.Session.HEADQUARTER, \"0\");\r\n var enterprises = JSON.parse(localStorage.getItem(AppConstants.Session.ENTERPRISES));\r\n console.log(\"enterprise ID\",e);\r\n console.log(\"enterprises\",enterprises);\r\n var enterprise = enterprises.filter(x => x.id == e);\r\n console.log(\"enterprise change\",enterprise);\r\n localStorage.setItem(AppConstants.Session.LOGO, enterprise[0].logo);\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR1, enterprise[0].themeColor1);\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR2, enterprise[0].themeColor2);\r\n this.listHeadquarters(1);\r\n // location.reload();\r\n }\r\n\r\n changeHeadquarter(e){\r\n this.spinner.show();\r\n this.headquarterSelect = e;\r\n localStorage.setItem(AppConstants.Session.HEADQUARTER,this.headquarterSelect.toString());\r\n this.changeMenu();\r\n }\r\n\r\n changeMenu(){\r\n var idUser = parseInt(localStorage.getItem(AppConstants.Session.USERID));\r\n this.adminService.getMenuEnterpriseRole(this.enterpriseSelect,this.headquarterSelect,idUser).subscribe((response) => {\r\n console.log(\"response\",response);\r\n var menu = response.data;\r\n localStorage.setItem(AppConstants.Session.MENU, JSON.stringify(menu));\r\n for (var i = 0; i < menu.length; i++) {\r\n var link = menu[i].tag;\r\n var childs = menu.filter(x => x.idParent == menu[i].id && (x.activeRead == 1 || x.activeWrite==1));\r\n if (childs.length > 0) {\r\n link = childs[0].tag;\r\n }\r\n localStorage.setItem(AppConstants.Session.FIRST_PAGE, link);\r\n localStorage.setItem(AppConstants.Session.CHANGE_ENTERPRISE_MENU, '1');\r\n location.reload();\r\n break;\r\n }\r\n });\r\n }\r\n\r\n minMenu(){\r\n this.menuIcon = !this.menuIcon;\r\n var icon = this.menuIcon ? \"1\":\"0\";\r\n localStorage.setItem(AppConstants.Session.MENU_ICON, icon);\r\n }\r\n\r\nngOnInit() {\r\n this.getMenu();\r\n}\r\n\r\nngOnChanges()\r\n{\r\n document.getElementById(\"titleHeaderNav\").innerHTML = localStorage.getItem(AppConstants.Session.MENU_TITLE);\r\n}\r\n\r\nasync getMenu() {\r\n var menu = JSON.parse(localStorage.getItem(AppConstants.Session.MENU));\r\n menu.forEach(x => {\r\n x.pages = menu.filter(y => y.idParent == x.id && (y.activeRead == 1 || y.activeWrite==1));\r\n });\r\n menu.forEach(function(item, index, object) {\r\n if (item.isChild === 1 || (item.activeWrite == 0 && item.activeRead == 0 && item.pages == 0)) {\r\n object.splice(index, 1);\r\n }\r\n });\r\n this.navList =menu;\r\n}\r\n\r\n@HostListener('window:popstate', ['$event'])\r\nonPopState(event) {\r\n window.history.forward();\r\n}\r\n\r\nlogout(){\r\n this.spinner.show();\r\n this.auService.logout(localStorage.getItem(\"_token_VD_GYS\")).subscribe(_ =>{\r\n localStorage.removeItem('_token_VD_GYS');\r\n if(localStorage.getItem(\"isAzure\") != null && localStorage.getItem(\"isAzure\") == \"1\"){\r\n localStorage.clear();\r\n }else{\r\n localStorage.clear();\r\n this.router.navigate(['/']);\r\n }\r\n });\r\n}\r\n\r\n\r\nmyProfile(){\r\n this.router.navigate(['/home/admin/profile']);\r\n}\r\n\r\nhideMobileMenu(): void {\r\n if (window.innerWidth <= 600) {\r\n this.menuIcon = true;\r\n }\r\n}\r\n\r\n}\r\n","
\n
\n {{ data.title }}\n
\n
\n close\n
\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ActuadorWarrantDensidadRadio
{{item.name}}
\n
\n\n\n\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ActuatorModel } from 'src/app/models/actuator/actuator';\nimport { ActuatorService } from 'src/app/services/actuator/actuator.service';\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\n\n@Component({\n selector: 'app-actuator-detail-panel-modal',\n templateUrl: './actuator-detail-panel-modal.component.html',\n styleUrls: ['./actuator-detail-panel-modal.component.css']\n})\nexport class ActuatorDetailPanelModalComponent implements OnInit {\n \n actuators = Array();\n \n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private spinner: NgxSpinnerService,\n private alertService: AlertService,\n private actuatorService: ActuatorService,\n private paneliotService: PanelIOTService) { }\n\n ngOnInit() {\n this.list();\n }\n\n list(){\n this.actuatorService.getListAll(this.data.idEnterprise,this.data.idHeadquarter).subscribe((response) => {\n this.actuators = response.data.filter(x => x.idActuatorType == 1);\n console.log(\"now values\",this.actuators);\n this.spinner.hide();\n },\n (error: HttpErrorResponse) => {\n this.spinner.hide();\n });\n }\n\n save(){\n var data = {\n Data: this.actuators\n }\n this.paneliotService.updateActuatorData(data).subscribe(_ => {\n if(!_.message){\n this.alertService.showMessage(\"\", AppConstants.MessageModal.PANELIOT_ACTUATOR_DATA, MessageSeverity.success);\n this.data.result = true;\n var totalguard = 0;\n this.actuators.forEach(x => {\n totalguard += x.minCapacity;\n });\n this.data.totalguard = totalguard;\n this.dialogRef.close(this.data);\n }else{\n this.alertService.showMessage(\n _.message,\n \"\",\n MessageSeverity.error);\n this.spinner.hide();\n }\n });\n }\n\n changeInputGuard(event:any,id){\n var value = (event.target as HTMLInputElement).value;\n this.actuators.forEach(x =>{\n if(x.id == id){\n console.log(\"min capacity \"+ parseFloat(value));\n x.minCapacity = parseFloat(value);\n }\n });\n }\n\n changeInputDensity(event:any,id){\n var value = (event.target as HTMLInputElement).value;\n this.actuators.forEach(x =>{\n if(x.id == id){\n console.log(\"density \"+ parseFloat(value));\n x.density = parseFloat(value);\n }\n });\n }\n\n changeInputRadio(event:any,id){\n var value = (event.target as HTMLInputElement).value;\n this.actuators.forEach(x =>{\n if(x.id == id){\n console.log(\"radio \"+ parseFloat(value));\n x.radio = parseFloat(value);\n }\n });\n }\n}\n","
\r\n
\r\n {{ data.title }}\r\n
\r\n
\r\n close\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n Sede*\r\n \r\n \r\n {{headquarter.name}}\r\n \r\n \r\n\r\n \r\n La sede es requerida.\r\n \r\n \r\n
\r\n
\r\n \r\n Gateway*\r\n \r\n \r\n {{gateway.name}}\r\n \r\n \r\n\r\n \r\n El gateway es requerida.\r\n \r\n \r\n
\r\n
\r\n \r\n Nombre*\r\n \r\n \r\n El Nombre es requerido.\r\n \r\n \r\n
\r\n
\r\n \r\n DescripciĆ³n\r\n \r\n \r\n
\r\n
\r\n \r\n Nomenclatura*\r\n \r\n \r\n La nomenclatura requerida.\r\n \r\n \r\n La nomenclatura no puede ser mayor a 30 caracteres.\r\n \r\n \r\n La nomenclatura no puede ser menor a 2 caracteres.\r\n \r\n \r\n
\r\n
\r\n \r\n Tipo de Actuador\r\n \r\n \r\n {{actuator.name}}\r\n \r\n \r\n\r\n \r\n El tipo de actuador es requerido.\r\n \r\n \r\n
\r\n
\r\n \r\n Tipo de Data\r\n \r\n \r\n {{actuator.name}}\r\n \r\n \r\n\r\n \r\n El tipo de data es requerido.\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Capacidad MƔxima(TNM)*\r\n \r\n \r\n
\r\n
\r\n \r\n Capacidad MĆ­nima (Warrant)\r\n \r\n \r\n
\r\n
\r\n \r\n Altura MƔxima(MTS)*\r\n \r\n \r\n
\r\n
\r\n \r\n Densidad\r\n \r\n \r\n
\r\n
\r\n \r\n Radio\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ActuatorService } from 'src/app/services/actuator/actuator.service';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { SensorService } from 'src/app/services/sensor/sensor.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-actuator-modal',\r\n templateUrl: './actuator-modal.component.html',\r\n styleUrls: ['./actuator-modal.component.css']\r\n})\r\nexport class ActuatorModalComponent implements OnInit {\r\n\r\n sensorForm: FormGroup;\r\n gatewaySelect: number;\r\n headquarterSelect: number;\r\n edit = false;\r\n editHeadquarter = false;\r\n gateways = [];\r\n headquarters = [];\r\n disabledHeadquarter = false;\r\n actuatorTypes = [];\r\n actuatorDataTypes = [];\r\n actuatorTypeSelect = 0;\r\n actuatorDataTypeSelect = 0;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private actuatorService: ActuatorService,\r\n public dialog: MatDialog,\r\n private headquarterService: HeadquarterService,\r\n private spinner: NgxSpinnerService,\r\n private gatewayService: GatewayService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.getActuatorTypes();\r\n this.getActuatorDataTypes();\r\n this.headquarters = this.data.headquarters;\r\n this.gateways = this.data.gateways;\r\n this.setHeadquarter();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.editHeadquarter = false;\r\n this.edit = false;\r\n /*if(this.data.idGateway > 0){\r\n this.headquarterSelect = (this.data.gateways.filter(x => x.id == this.data.idGateway)[0]).idHeadquarter;\r\n }*/\r\n\r\n if(this.data.idHeadquarter){\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n if(this.data.idGateway){\r\n this.gatewaySelect = this.data.idGateway;\r\n }\r\n }\r\n\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.editHeadquarter = true;\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n this.gatewaySelect = this.data.obj.idGateway;\r\n this.sensorForm.controls['name'].setValue(this.data.obj.name);\r\n this.sensorForm.controls['description'].setValue(this.data.obj.description);\r\n this.sensorForm.controls['nomenclature'].setValue(this.data.obj.nomenclature);\r\n this.sensorForm.controls['maxCapacity'].setValue(this.data.obj.maxCapacity);\r\n this.sensorForm.controls['minCapacity'].setValue(this.data.obj.minCapacity);\r\n this.sensorForm.controls['maxHeight'].setValue(this.data.obj.maxHeight);\r\n this.sensorForm.controls['density'].setValue(this.data.obj.density);\r\n this.sensorForm.controls['radio'].setValue(this.data.obj.radio);\r\n }\r\n }\r\n\r\n getActuatorTypes(){\r\n this.spinner.show();\r\n this.actuatorService.getListActuatorTypes().subscribe((response) => {\r\n this.actuatorTypes = response.data;\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.actuatorTypeSelect = this.data.obj.idActuatorType;\r\n }else{\r\n this.actuatorTypeSelect = this.actuatorTypes[0][\"id\"];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getActuatorDataTypes(){\r\n this.spinner.show();\r\n this.actuatorService.getListActuatorDataTypes().subscribe((response) => {\r\n this.actuatorDataTypes = response.data;\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.actuatorDataTypeSelect = this.data.obj.idActuatorDataType;\r\n }else{\r\n this.actuatorDataTypeSelect = this.actuatorDataTypes[0][\"id\"];\r\n }\r\n\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n}\r\n\r\n setHeadquarter(){\r\n if(this.data.idHeadquarter > 0){\r\n var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n var _this = this;\r\n var items = headquarters.filter(x => x.idEnterprise == _this.data.idEnterprise);\r\n if(items.length > 0){\r\n _this.headquarters = items;\r\n if(_this.data.idHeadquarter != 0){\r\n _this.headquarterSelect = items[0].id;\r\n _this.disabledHeadquarter = true;\r\n }\r\n }\r\n }else{\r\n this.getHeadquarters();\r\n }\r\n }\r\n\r\n \r\n getHeadquarters() {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.data.idEnterprise);\r\n if(this.data.obj != null){\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n }else{\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n }else{\r\n this.headquarters = [];\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n}\r\n\r\n createForm(){\r\n this.sensorForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]],\r\n description: ['', []],\r\n nomenclature: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]],\r\n idHeadquarter: ['', []],\r\n idActuatorDataType: ['', [Validators.required]],\r\n idActuatorType: ['', [Validators.required]],\r\n idGateway: ['', [Validators.required]],\r\n maxCapacity: [0, [Validators.required]],\r\n minCapacity: [0, []],\r\n maxHeight: [0, [Validators.required]],\r\n density: [0, []],\r\n radio: [0, []],\r\n })\r\n }\r\n\r\n get f() { return this.sensorForm.controls; }\r\n\r\n save(){\r\n if(this.sensorForm.valid){\r\n const payload = {\r\n name:this.sensorForm.value[\"name\"],\r\n nomenclature:this.sensorForm.value[\"nomenclature\"],\r\n description:this.sensorForm.value[\"description\"],\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.data.idEnterprise,\r\n idGateway: this.gatewaySelect,\r\n idActuatorDataType: this.actuatorDataTypeSelect,\r\n idActuatorType: this.actuatorTypeSelect,\r\n maxCapacity: this.sensorForm.value[\"maxCapacity\"],\r\n minCapacity: this.sensorForm.value[\"minCapacity\"],\r\n maxHeight: this.sensorForm.value[\"maxHeight\"],\r\n density: this.sensorForm.value[\"density\"],\r\n radio: this.sensorForm.value[\"radio\"],\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.actuatorService.create(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_SENSOR, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else{\r\n this.actuatorService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_SENSOR, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.sensorForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n changeGateway(data) {\r\n this.gatewaySelect = data.value;\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.gateways = this.data.gateways.filter(x => x.idHeadquarter == data.value);\r\n if(this.gateways.length>0){\r\n this.gatewaySelect = this.gateways[0].id;\r\n }\r\n }\r\n\r\n changeActuatorDataType(data) {\r\n this.actuatorDataTypeSelect = data.value;\r\n }\r\n\r\n changeActuatorType(data) {\r\n this.actuatorTypeSelect = data.value;\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n {{ data.title }}\r\n
\r\n
\r\n close\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n 0 || systems.Va > 0 || systems.Streaming > 0 || systems.streaming > 0\">\r\n
\r\n
\r\n \r\n Sede*\r\n \r\n \r\n {{headquarter.name}}\r\n \r\n \r\n \r\n La sede es requerida.\r\n \r\n \r\n
\r\n
\r\n \r\n Nombre*\r\n \r\n \r\n El nombre es requerido.\r\n \r\n \r\n El nombre es requerido.\r\n \r\n \r\n
\r\n
\r\n \r\n Modelo*\r\n \r\n \r\n El modelo es requerido.\r\n \r\n \r\n
\r\n
\r\n \r\n Serie*\r\n \r\n \r\n El nĆŗmero de serie es requerido.\r\n \r\n \r\n
\r\n
\r\n \r\n MAC*\r\n \r\n \r\n La MAC es requerida.\r\n \r\n \r\n La MAC tiene formato invƔlido.\r\n \r\n \r\n
\r\n
\r\n \r\n IP*\r\n \r\n \r\n La ip es requerida.\r\n \r\n \r\n La ip tiene formato invƔlido.\r\n \r\n \r\n
\r\n
0 || systems.Va > 0\">\r\n \r\n Zona*\r\n \r\n \r\n {{z.name}}\r\n \r\n \r\n \r\n La zona es requerida.\r\n \r\n \r\n
\r\n
\r\n
\r\n 0 || systems.streaming > 0\" [ngClass]=\" data.enabledWrite != 1 ? 'enabled-inputs' : '' \" >\r\n
\r\n
\r\n \r\n DescripciĆ³n Streaming\r\n \r\n \r\n La descripciĆ³n de streaming es excede el lĆ­mite de caracteres.\r\n \r\n \r\n
\r\n
\r\n \r\n Servidor\r\n \r\n \r\n {{z.name}}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Key Streaming*\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n RTMP: \r\n {{streamingRtmp}} link\r\n
\r\n
\r\n
\r\n
\r\n Key Streaming: \r\n {{streamingKey}} link\r\n
\r\n
\r\n
\r\n
\r\n Link Streaming: \r\n {{live}} link\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Habilitado\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Habilitado\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { ModalParameterComponent } from '../parameter/parameter-modal.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ImageModalComponent } from '../image/image-modal.component';\r\nimport { StreamingServerService } from 'src/app/services/streamingServer/streamingServer.service';\r\nimport { StreamingServerModel } from 'src/app/models/streamingServer/streamingServer';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { decryptData } from 'src/app/shared/helpers/decrypt';\r\n\r\n@Component({\r\n selector: 'camera-modal',\r\n templateUrl: 'camera-modal.component.html',\r\n styleUrls: ['./camera-modal.component.css'],\r\n providers: [DatePipe]\r\n})\r\n\r\nexport class CameraModalComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n cameraForm: FormGroup;\r\n checkStatus: boolean = false;\r\n zones = [];\r\n list = [];\r\n files: File[] = [];\r\n imageStreaming: string;\r\n isAdministratorStreaming=false;\r\n getServers: Array;\r\n myDate = new Date();\r\n sendAlert = 0;\r\n localSave: string;\r\n horaSave: string;\r\n streamingRtmp: string;\r\n streamingKey: string;\r\n live:string;\r\n clearImagePreviewStreaming = 0;\r\n headquarterSelect = 0;\r\n headquarters = [];\r\n disabledHeadquarter = false;\r\n disabledEnterprise = false;\r\n systems:any;\r\n titleVA = \"Video AnalĆ­tica\";\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n private cameraService:CameraService,\r\n private zoneService:ZoneService,\r\n private emitterService: EmitterService,\r\n private AlertService: AlertService,\r\n private serverService: StreamingServerService,\r\n public dialog: MatDialog,\r\n private datePipe: DatePipe,\r\n private headquarterService: HeadquarterService\r\n ) {\r\n var dd = decryptData(localStorage.getItem(AppConstants.Session.ENTERPRISE_SYSTEM));\r\n this.systems = JSON.parse(dd);\r\n console.log(this.systems);\r\n if((this.systems.Streaming == null || this.systems.Streaming == undefined) && (this.systems.streaming == null || this.systems.streaming == undefined)){\r\n this.systems = JSON.parse(this.systems);\r\n }\r\n if(this.systems.va == 0 || this.systems.Va == 0){\r\n this.titleVA = \"Datos Generales\";\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.headquarters = this.data.headquarters;\r\n this.setHeadquarter();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.checkStatus = true;\r\n if(this.data.idHeadquarter != 0){\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n }\r\n this.getZonesList();\r\n this.localSave = this.datePipe.transform(this.myDate, 'yyyy/MM/dd');\r\n this.horaSave = this.datePipe.transform(this.myDate, 'HH:mm');\r\n this.createForm();\r\n this.getServersList();\r\n this.extractList();\r\n }\r\n\r\n setHeadquarter(){\r\n if(this.data.idHeadquarter > 0){\r\n var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n var _this = this;\r\n var items = headquarters.filter(x => x.idEnterprise == _this.data.enterpriseId);\r\n if(items.length > 0){\r\n _this.headquarters = items;\r\n if(_this.data.idHeadquarter != 0){\r\n _this.headquarterSelect = items[0].id;\r\n _this.disabledHeadquarter = true;\r\n }\r\n }\r\n }else{\r\n this.getHeadquarters();\r\n }\r\n }\r\n\r\n createForm() {\r\n /*if(\r\n parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.AdministradorGyS\r\n || parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.UsuarioGyS\r\n ){*/\r\n this.cameraForm = this.formBuilder.group({\r\n model: ['', [Validators.required, Validators.maxLength(50), this.noWhitespaceValidator]],\r\n serie: ['', [Validators.required, Validators.maxLength(30), this.noWhitespaceValidator]],\r\n mac: ['', [Validators.required, Validators.maxLength(20), this.noWhitespaceValidator,\r\n Validators.pattern('^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})|([0-9a-fA-F]{4}\\\\.[0-9a-fA-F]{4}\\\\.[0-9a-fA-F]{4})$')]],\r\n ipAdress: ['', [Validators.required, Validators.maxLength(15) , Validators.minLength(7),\r\n Validators.pattern('(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)')]],\r\n zone: [0, []],\r\n camera: ['', [Validators.required, Validators.maxLength(500), this.noWhitespaceValidator]],\r\n //urlStreaming: ['', [Validators.required, Validators.maxLength(200), this.noWhitespaceValidator]],\r\n status: [, []],\r\n streamingDescription: ['', [Validators.maxLength(500)]],\r\n idServer: [0, []],\r\n date: [],\r\n ///streamingDomain: [''],\r\n streamingKey: [''],\r\n idHeadquarter: [0, [Validators.required]],\r\n })\r\n /* }\r\n else if(parseInt(localStorage.getItem(AppConstants.Session.ROLID)) == AppConstants.UserRole.AdministradorEmpresaStreaming)\r\n {\r\n this.isAdministratorStreaming = true;\r\n this.cameraForm = this.formBuilder.group({\r\n model: ['', [Validators.required, Validators.maxLength(50), this.noWhitespaceValidator]],\r\n serie: ['', [Validators.required, Validators.maxLength(30), this.noWhitespaceValidator]],\r\n mac: ['', [Validators.required, Validators.maxLength(20), this.noWhitespaceValidator]],\r\n ipAdress: ['', [Validators.required, Validators.maxLength(15) , Validators.minLength(7),\r\n Validators.pattern('(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)')]],\r\n zone: [{value:'', disabled: true}, []],\r\n camera: ['', [Validators.required, Validators.maxLength(500), this.noWhitespaceValidator]],\r\n //urlStreaming: ['', [Validators.required, Validators.maxLength(200), this.noWhitespaceValidator]],\r\n status: [true, [Validators.required]],\r\n streamingDescription: ['', [Validators.maxLength(500)]],\r\n idServer: [{value:0, disabled: true}, []],\r\n date: [],\r\n streamingKey: [''],\r\n idHeadquarter: [0, [Validators.required]],\r\n })\r\n }else{\r\n this.cameraForm = this.formBuilder.group({\r\n model: [{value:'', disabled: true},[Validators.required, Validators.maxLength(50), this.noWhitespaceValidator]],\r\n serie: [{value:'', disabled: true}, [Validators.required, Validators.maxLength(30), this.noWhitespaceValidator]],\r\n mac: [{value:'', disabled: true}, [Validators.required, Validators.maxLength(20), this.noWhitespaceValidator]],\r\n ipAdress: ['', [Validators.required, Validators.maxLength(15) , Validators.minLength(7),\r\n Validators.pattern('(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)')]],\r\n zone: [0, []],\r\n camera: ['', [Validators.required, Validators.maxLength(500), this.noWhitespaceValidator]],\r\n //urlStreaming: ['', [Validators.required, Validators.maxLength(200), this.noWhitespaceValidator]],\r\n status: [true, [Validators.required]],\r\n idServer: [0, []],\r\n streamingDescription: ['', [Validators.maxLength(500)]],\r\n date: [],\r\n streamingKey: [''],\r\n idHeadquarter: [0, [Validators.required]],\r\n })\r\n }*/\r\n }\r\n\r\n noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.getZonesList();\r\n }\r\n\r\n setValues() {\r\n this.clearFields();\r\n this.spinner.show();\r\n this.cameraService.getCameraById(this.data.obj.id).subscribe((response) => {\r\n var port = document.location.port;\r\n if(port){ port = \":\"+port;}\r\n var hostname = document.location.protocol +'//'+ document.location.hostname + ((port != \"80\") ? port : \"\");\r\n this.live = hostname+\"/streaming/camera/\" + response.token;\r\n this.streamingRtmp = response.streamingRtmp;\r\n this.streamingKey = response.streamingKey;\r\n this.cameraForm.patchValue({\r\n model:response.model,\r\n serie: response.serie,\r\n mac: response.mac,\r\n ipAdress: response.ipAdress,\r\n zone: response.zoneId,\r\n camera: response.camera,\r\n //urlStreaming: response.urlStreaming,\r\n status: response.enaledId,\r\n streamingDescription: response.streamingDescription,\r\n idServer: response.idServer,\r\n streamingDomain: \"\", //response.streamingDomain,\r\n date: this.localSave+\"T\"+this.horaSave+\":21.632Z\",\r\n streamingKey: response.streamingKey,\r\n idHeadquarter: response.idHeadquarter,\r\n });\r\n this.checkStatus = response.enaledId;\r\n setTimeout(() => {\r\n this.headquarterSelect = response.idHeadquarter;\r\n },1000);\r\n //this.headquarterSelect = !response.idHeadquarter ? 0 : response.idHeadquarter;\r\n /*if(this.data.idHeadquarter == 0){\r\n this.getHeadquarters();\r\n }else{\r\n this.headquarterSelect = !response.idHeadquarter ? 0 : response.idHeadquarter;\r\n this.getZonesList();\r\n }*/\r\n this.imageStreaming = response.streamingImage;\r\n })\r\n }\r\n\r\n clearFields() {\r\n this.cameraForm.controls['model'].setValue('');\r\n this.cameraForm.controls['serie'].setValue('');\r\n this.cameraForm.controls['mac'].setValue('');\r\n this.cameraForm.controls['ipAdress'].setValue('');\r\n this.cameraForm.controls['zone'].setValue(0);\r\n this.cameraForm.controls['camera'].setValue('');\r\n this.cameraForm.controls['streamingDescription'].setValue('');\r\n //this.cameraForm.controls['streamingDomain'].setValue('');\r\n this.cameraForm.controls['idServer'].setValue('');\r\n //this.cameraForm.controls['urlStreaming'].setValue('');\r\n this.cameraForm.controls['status'].setValue(false);\r\n this.checkStatus = false;\r\n }\r\n\r\n getZonesList() {\r\n if(this.headquarterSelect>0)\r\n {\r\n this.spinner.show();\r\n this.zoneService.getListAll(this.data.enterpriseId,this.headquarterSelect).subscribe((response) => {\r\n console.log(\"respons ezones\",response);\r\n if(!response.error){\r\n this.zones = response.data.filter(x => x.type == 1);\r\n if(this.data.action == AppConstants.OperationType.ADD && this.zones.length>0){\r\n this.cameraForm.controls['zone'].setValue(this.zones[0].id);\r\n }\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n }\r\n\r\n getServersList() {\r\n this.spinner.show();\r\n this.serverService.getList(this.data.enterpriseId).subscribe((response) => {\r\n this.getServers = response.data;\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n extractList(){\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.list = this.data.listview.filteredData;\r\n\r\n this.cameraForm.patchValue({\r\n date: this.localSave+\"T\"+this.horaSave+\":21.632Z\"\r\n });\r\n\r\n }else{\r\n this.list = this.data.listview;\r\n this.setValues();\r\n }\r\n }\r\n\r\n openConfirmationModal() {\r\n if (this.cameraForm.valid) {\r\n this.sendAlert = 1;\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.save();\r\n }else{\r\n this.edit();\r\n }\r\n }else{\r\n this.cameraForm.markAllAsTouched();\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL_REQUIRED,\r\n MessageSeverity.error);\r\n }\r\n }\r\n\r\n openConfirmationModalSave() {\r\n if (this.cameraForm.valid) {\r\n this.sendAlert = 0;\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.save();\r\n }else{\r\n this.edit();\r\n }\r\n }else{\r\n this.cameraForm.markAllAsTouched();\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL_REQUIRED,\r\n MessageSeverity.error);\r\n }\r\n }\r\n\r\n openParameter(){\r\n let valueint = 0;\r\n\r\n if( this.checkStatus == true){\r\n valueint = 1;\r\n }else{\r\n valueint = 0;\r\n }\r\n const camera = {\r\n model:this.cameraForm.get('model').value,\r\n serie: this.cameraForm.get('serie').value,\r\n mac: this.cameraForm.get('mac').value,\r\n ipAdress: this.cameraForm.get('ipAdress').value,\r\n zone: this.cameraForm.get('zone').value,\r\n camera: this.cameraForm.get('camera').value,\r\n //urlStreaming: this.cameraForm.get('urlStreaming').value,\r\n status: this.cameraForm.get('status').value,\r\n streamingDescription: this.cameraForm.get('streamingDescription').value,\r\n date: this.cameraForm.get('date').value,\r\n idServer: this.cameraForm.get('idServer').value,\r\n idEnterprise: this.data.enterpriseId,\r\n streamingDomain: \"\",//this.cameraForm.get('streamingDomain').value,\r\n clearImagePreviewStreaming: this.clearImagePreviewStreaming,\r\n streamingKey: this.cameraForm.get('streamingKey').value,\r\n idHeadquarter: this.headquarterSelect,\r\n file: this.files,\r\n enabled: valueint\r\n }\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n let dialogRef = this.dialog.open(ModalParameterComponent, {\r\n data: {\r\n title: 'Alertas',\r\n obj: camera,\r\n action:this.data.action,\r\n enabledWrite: this.data.enabledWrite,\r\n enabledRead: this.data.enabledRead,\r\n color:this.data.color,\r\n colorFont: this.data.colorFont\r\n },\r\n width: '800px',\r\n hasBackdrop: false\r\n });\r\n }else{\r\n let dialogRef = this.dialog.open(ModalParameterComponent, {\r\n data: {\r\n title: 'Alertas',\r\n obj: camera,\r\n action:this.data.action,\r\n idcameravalue:this.data.obj.id,\r\n enabledWrite: this.data.enabledWrite,\r\n enabledRead: this.data.enabledRead,\r\n color:this.data.color,\r\n colorFont: this.data.colorFont\r\n },\r\n width: '800px',\r\n hasBackdrop: false\r\n });\r\n }\r\n }\r\n\r\n clickEnabled(){\r\n this.checkStatus = this.checkStatus ? false : true;\r\n this.cameraForm.controls['status'].setValue(this.checkStatus);\r\n }\r\n\r\n save() {\r\n let register = this.cameraForm.value;\r\n if(this.list != null){\r\n let searchData = this.list.filter(list => list.ipAdress.toString().toLowerCase().startsWith(register.ipAdress.toString().toLowerCase()))\r\n if (searchData.length > 0) {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n \"El IP \" + AppConstants.MessageModal.DATA_REPET_CAMERA,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n searchData = [];\r\n searchData = this.list.filter(list => list.camera.toLowerCase().startsWith(register.camera.toLowerCase()))\r\n if (searchData.length > 0) {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n \"El nombre \" + AppConstants.MessageModal.DATA_REPET_CAMERA,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n if(!this.sendAlert){\r\n this.createCamera();\r\n }else{\r\n this.openParameter();\r\n }\r\n\r\n }\r\n\r\n edit(){\r\n let update = this.cameraForm.value;\r\n\r\n let searchData = this.list.filter(list => list.ipAdress.toString().toLowerCase().startsWith(update.ipAdress.toString().toLowerCase()))\r\n if (searchData.length > 0) {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n \"El IP \" + AppConstants.MessageModal.DATA_REPET_CAMERA,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n\r\n searchData = [];\r\n searchData = this.list.filter(list => list.camera.toLowerCase().startsWith(update.camera.toLowerCase()))\r\n if (searchData.length > 0) {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n \"El nombre \" + AppConstants.MessageModal.DATA_REPET_CAMERA,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n\r\n if(!this.sendAlert){\r\n this.editCamera();\r\n }else{\r\n this.openParameter();\r\n }\r\n\r\n }\r\n\r\n createCamera(){\r\n let valueint = 0;\r\n\r\n if( this.checkStatus == true){\r\n valueint = 1;\r\n }else{\r\n valueint = 0;\r\n }\r\n\r\n let create =\r\n {\r\n UserId: parseInt(localStorage.getItem(AppConstants.Session.USERID)),\r\n ZoneId: this.cameraForm.get('zone').value,\r\n Camera: this.cameraForm.get('camera').value,\r\n Model: this.cameraForm.get('model').value,\r\n Serie: this.cameraForm.get('serie').value,\r\n Mac: this.cameraForm.get('mac').value,\r\n Ip: this.cameraForm.get('ipAdress').value,\r\n IdEnterprise: this.data.enterpriseId,\r\n Url: '',\r\n Enabled: valueint,\r\n DateRegister: this.cameraForm.get('date').value,\r\n CameraAlerts: [],\r\n StreamingDescription: this.cameraForm.get('streamingDescription').value,\r\n streamingDomain: \"\",//this.cameraForm.get('streamingDomain').value,\r\n IdServer: this.cameraForm.get('idServer').value,\r\n ClearImagePreviewStreaming: this.clearImagePreviewStreaming,\r\n SendAlert: 0,\r\n idHeadquarter: this.headquarterSelect\r\n }\r\n\r\n let formData = new FormData();\r\n formData.append('data', JSON.stringify(create));\r\n formData.append('file', this.files[0]);\r\n this.cameraService.registerCamera(formData).subscribe(\r\n result => {\r\n if(!result.message){\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.CREATE_CAMERA,\r\n AppConstants.MessageModal.CREATE,\r\n MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListCamera);\r\n }else{\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, result.message, MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n }\r\n\r\n getHeadquarters() {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.data.enterpriseId);\r\n console.log(\"enterprises\",this.headquarters[0]);\r\n if(this.data.obj != null){\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n }else{\r\n console.log(\"enterprises\",this.headquarters[0].id);\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n console.log(\"idHeadquarter\",this.headquarterSelect);\r\n // this.cameraForm.controls['idHeadquarter'].setValue(this.headquarterSelect);\r\n this.getZonesList();\r\n }else{\r\n this.headquarters = [];\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n\r\n editCamera(){\r\n let valueint = 0;\r\n\r\n if( this.checkStatus == true){\r\n valueint = 1;\r\n }else{\r\n valueint = 0;\r\n }\r\n\r\n if(this.cameraForm.valid){\r\n let update =\r\n {\r\n CameraId: this.data.obj.id,\r\n UserId: parseInt(localStorage.getItem(AppConstants.Session.USERID)),\r\n ZoneId: this.cameraForm.get('zone').value,\r\n Camera: this.cameraForm.get('camera').value,\r\n Model: this.cameraForm.get('model').value,\r\n Serie: this.cameraForm.get('serie').value,\r\n Mac: this.cameraForm.get('mac').value,\r\n Ip: this.cameraForm.get('ipAdress').value,\r\n idEnterprise: parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE)),\r\n Url: '',\r\n Enabled: valueint,\r\n DateRegister: this.cameraForm.get('date').value,\r\n CameraAlerts: [],\r\n StreamingDescription: this.cameraForm.get('streamingDescription').value,\r\n IdServer: this.cameraForm.get('idServer').value,\r\n StreamingKey: this.cameraForm.get('streamingKey').value,\r\n ClearImagePreviewStreaming: this.clearImagePreviewStreaming,\r\n streamingDomain: \"\",//this.cameraForm.get('streamingDomain').value,\r\n SendAlert: 0,\r\n idHeadquarter: this.headquarterSelect\r\n }\r\n let formData = new FormData();\r\n formData.append('data', JSON.stringify(update));\r\n formData.append('file', this.files[0]);\r\n this.spinner.show();\r\n this.cameraService.updatedCamera(formData).subscribe(\r\n result => {\r\n if(!result.message){\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.UPDATE_CAMERA,\r\n AppConstants.MessageModal.UPDATE,\r\n MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListCamera);\r\n }else{\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, result.message, MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n }else{\r\n this.cameraForm.markAllAsTouched();\r\n }\r\n\r\n\r\n }\r\n\r\n isNumberKey(event) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode != 46 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n get f() { return this.cameraForm.controls; }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n copy(val){\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n this.AlertService.showMessage(\r\n \"Se copio el texto correctamente\",\"\",\r\n MessageSeverity.success);\r\n }\r\n\r\n onFileSelected(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n if (file.type == \"image/png\" || file.type == \"image/jpeg\") {\r\n this.files.push(file);\r\n } else {\r\n this.AlertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n event.srcElement.value = '';\r\n }\r\n }\r\n\r\n showImageStreaming(){\r\n let dialogRef = this.dialog.open(ImageModalComponent, {\r\n data: { image: this.imageStreaming},\r\n width: '800px',\r\n hasBackdrop: false\r\n });\r\n }\r\n\r\n deleteImageStreaming(){\r\n this.clearImagePreviewStreaming = 1;\r\n this.imageStreaming = \"\";\r\n }\r\n\r\n}\r\n","
\r\n
\r\n {{ data.title }}\r\n
\r\n
\r\n close\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n Nombre*\r\n \r\n \r\n El nombre no puede ser menor a 1 caracteres.\r\n \r\n \r\n El nombre requerida.\r\n \r\n \r\n El nombre no puede ser mayor a 30 caracteres.\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { DashboardService } from 'src/app/services/dashboard/dashboard.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-dashboard-modal',\r\n templateUrl: './dashboard-modal.component.html',\r\n styleUrls: ['./dashboard-modal.component.css']\r\n})\r\nexport class DashboardModalComponent implements OnInit {\r\n dashboardForm: FormGroup;\r\n headquarterSelect: number;\r\n headquarters = [];\r\n edit = false;\r\n disabledHeadquarter = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private dashboardService: DashboardService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.dashboardForm.controls['name'].setValue(this.data.obj.name);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.dashboardForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]]\r\n })\r\n }\r\n\r\n get f() { return this.dashboardForm.controls; }\r\n\r\n save(){\r\n if(this.dashboardForm.valid){\r\n const payload = {\r\n name:this.dashboardForm.value[\"name\"],\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idEnterprise: this.data.idEnterprise,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.dashboardService.create(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_DASHBOARD, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else{\r\n this.dashboardService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_DASHBOARD, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.dashboardForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","
\r\n
\r\n {{ data.title }}\r\n
\r\n
\r\n close\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
  • \r\n {{item.icon}}\r\n {{item.name}}\r\n
  • \r\n
    \r\n
    \r\n
    \r\n
    0\">\r\n
    \r\n \r\n Nombre\r\n \r\n \r\n El nombre es requerido.\r\n \r\n \r\n El nombre es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Eje X (horas)\r\n \r\n \r\n {{z}}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Sensor\r\n \r\n \r\n {{sensor.nomenclature}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Valor de Intervalo\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Nombre Y\r\n \r\n \r\n El nombre es requerido.\r\n \r\n \r\n El nombre es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n El min de Y\r\n \r\n Auto\r\n \r\n {{z}}\r\n \r\n \r\n \r\n El min de Y requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n El max de Y\r\n \r\n Auto\r\n \r\n {{z}}\r\n \r\n \r\n \r\n El max de Y requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Unidad de Y\r\n \r\n \r\n La Unidad de Y es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Sensor
    \r\n
    Color
    \r\n
    \r\n
    \r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n add_circle_outline\r\n 0 || sensorsData.length > 1\" (click)=\"removeItem(item)\" class=\"add-sensor\" >remove_circle_outline\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Nombre
    \r\n
    Sensor
    \r\n
    Color
    \r\n
    \r\n
    \r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n add_circle_outline\r\n 0 || sensorsData.length > 1\" (click)=\"removeItem(item)\" class=\"add-sensor\" >remove_circle_outline\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Valor Inicio
    \r\n
    Valor Fin
    \r\n
    Color
    \r\n
    \r\n
    \r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n add_circle_outline\r\n 0 || sensorsData.length > 1\" (click)=\"removeItem(item)\" class=\"add-sensor\" >remove_circle_outline\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { DashboardService } from 'src/app/services/dashboard/dashboard.service';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-widget-modal',\r\n templateUrl: './widget-modal.component.html',\r\n styleUrls: ['./widget-modal.component.css']\r\n})\r\nexport class WidgetModalComponent implements OnInit {\r\n dashboardForm: FormGroup;\r\n headquarterSelect: number;\r\n headquarters = [];\r\n edit = false;\r\n disabledHeadquarter = false;\r\n contentWidget: any;\r\n selectWidgetType: number;\r\n // itemsGraph: Array = new Array();\r\n widgetTypes = [\r\n {\r\n id: 1,\r\n name: 'GrƔfico lineal',\r\n icon: 'linear_scale'\r\n },\r\n {\r\n id: 2,\r\n name: 'GrƔfico de barra',\r\n icon: 'insert_chart_outlined'\r\n },\r\n {\r\n id: 3,\r\n name: 'GrƔfico gauge',\r\n icon: 'wifi_tethering'\r\n },\r\n ];\r\n\r\n hours=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24];\r\n sensorsData = [];\r\n selectTypeMinY1 = 1;\r\n selectTypeMaxY1 = 1;\r\n sensors = [];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private dashboardService: DashboardService,\r\n private spinner: NgxSpinnerService,\r\n private panelIOTService: PanelIOTService,\r\n public dialog: MatDialog,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.getSensors();\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n console.log(\"data\",this.data.obj);\r\n this.selectWidgetType = this.data.obj.idWidgetType;\r\n this.dashboardForm.controls['name'].setValue(this.data.obj.name);\r\n\r\n var dataHead = JSON.parse(this.data.obj.contentHead);\r\n this.dashboardForm.controls['hourX'].setValue(dataHead.hourX);\r\n this.dashboardForm.controls['nameY1'].setValue(dataHead.nameY1);\r\n this.dashboardForm.controls['minY1'].setValue(dataHead.minY1);\r\n this.dashboardForm.controls['maxY1'].setValue(dataHead.maxY1);\r\n this.dashboardForm.controls['undY1'].setValue(dataHead.undY1);\r\n\r\n if(this.data.obj.idWidgetType == 3){ //gauge\r\n this.dashboardForm.controls['sensor'].setValue(dataHead.sensor);\r\n this.dashboardForm.controls['valueInterval'].setValue(dataHead.valueInterval);\r\n }\r\n\r\n var dataD = JSON.parse(this.data.obj.contentData);\r\n this.sensorsData = dataD;\r\n }else{\r\n this.sensorsData.push({id:0,pos:0,color: \"black\",sensor: 0,name:\"\",valueStart:0,valueEnd:0})\r\n }\r\n }\r\n\r\n createForm(){\r\n this.dashboardForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]],\r\n hourX: [''],\r\n nameY1: [''],\r\n minY1: [''],\r\n maxY1: [''],\r\n undY1:[''],\r\n sensor:[''],\r\n valueInterval:[]\r\n /*nameY2: [],\r\n minY2: [],\r\n maxY2: [],\r\n undY2:[],*/\r\n });\r\n }\r\n\r\n get f() { return this.dashboardForm.controls; }\r\n\r\n save(){\r\n if(this.dashboardForm.valid){\r\n const content = {\r\n hourX: this.dashboardForm.value[\"hourX\"],\r\n nameY1: this.dashboardForm.value[\"nameY1\"],\r\n minY1: this.dashboardForm.value[\"minY1\"],\r\n maxY1: this.dashboardForm.value[\"maxY1\"],\r\n undY1: this.dashboardForm.value[\"undY1\"],\r\n valueInterval: this.dashboardForm.value[\"valueInterval\"],\r\n sensor: this.dashboardForm.value[\"sensor\"],\r\n }\r\n const payload = {\r\n name: this.dashboardForm.value[\"name\"],\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idDashboard: this.data.idDashboard,\r\n idEnterprise: this.data.idEnterprise,\r\n idSystem: 2, //IOT\r\n idWidgetType: this.selectWidgetType,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID),\r\n contentHead: JSON.stringify(content),\r\n contentBody: JSON.stringify(this.sensorsData)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.dashboardService.createWidget(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_WIDGET, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else{\r\n this.dashboardService.updateWidget(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_WIDGET, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.dashboardForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n onlyNumberKey(evt) {\r\n\r\n // Only ASCII character in that range allowed\r\n var ASCIICode = (evt.which) ? evt.which : evt.keyCode\r\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57))\r\n return false;\r\n return true;\r\n }\r\n\r\n getSensors(){\r\n this.spinner.show();\r\n var filter = {\r\n idEnterprise: +localStorage.getItem(AppConstants.Session.ENTERPRISE),\r\n idHeadquarter: +localStorage.getItem(AppConstants.Session.HEADQUARTER),\r\n idZone: 0,\r\n idGateway: 0\r\n }\r\n this.panelIOTService.getList(filter).subscribe((_) => {\r\n if(_.error == null){\r\n this.sensors = _.data;\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n changeWidgetType(id){\r\n this.selectWidgetType = id;\r\n this.dashboardForm.controls['name'].setValue(this.widgetTypes[this.selectWidgetType-1].name);\r\n }\r\n\r\n addItem(item){\r\n this.sensorsData.push({id:0,pos:(item.pos+1),color: \"black\",sensor: 0,name:\"\",valueStart:0,valueEnd:0})\r\n }\r\n\r\n removeItem(item){\r\n this.sensorsData = this.sensorsData.filter(x => x.pos != item.pos);\r\n var pos = 0;\r\n this.sensorsData.forEach(x => {\r\n x.pos = pos;\r\n pos++;\r\n });\r\n }\r\n\r\n selectSensor(idSensor,pos){\r\n this.sensorsData.forEach(x => {\r\n if(x.pos == pos){\r\n x.sensor = idSensor;\r\n }\r\n });\r\n }\r\n\r\n onSearchChangeInput(searchValue,pos){\r\n this.sensorsData.forEach(x => {\r\n if(x.pos == pos){\r\n x.name = searchValue;\r\n }\r\n });\r\n }\r\n\r\n onSearchChangeInputValueStart(searchValue,pos){\r\n this.sensorsData.forEach(x => {\r\n if(x.pos == pos){\r\n x.valueStart = searchValue;\r\n }\r\n });\r\n }\r\n\r\n onSearchChangeInputValueEnd(searchValue,pos){\r\n this.sensorsData.forEach(x => {\r\n if(x.pos == pos){\r\n x.valueEnd = searchValue;\r\n }\r\n });\r\n }\r\n\r\n changeColor(color,pos){\r\n this.sensorsData.forEach(x => {\r\n if(x.pos == pos){\r\n x.color = color;\r\n }\r\n });\r\n console.log(\"data color\",this.sensorsData);\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Dominio\r\n \r\n \r\n El dominio es requerida.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { StreamingDomainIframeService } from 'src/app/services/streamingDomainIframe/streamingDomainIframe.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-domain-iframe-streaming-modal',\r\n templateUrl: './domain-iframe-streaming-modal.component.html',\r\n styleUrls: ['./domain-iframe-streaming-modal.component.css']\r\n})\r\nexport class ItemdomainIframeStreamingModalComponent implements OnInit {\r\n securityForm: FormGroup;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n private AlertService: AlertService,\r\n private streamingDomainIframeService: StreamingDomainIframeService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n if(this.data.action == 1){\r\n this.securityForm.controls['domain'].setValue(this.data.obj.domain);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.securityForm = this.formBuilder.group({\r\n domain: ['', [Validators.required, Validators.maxLength(500), this.noWhitespaceValidator]]\r\n })\r\n }\r\n\r\n get f() { return this.securityForm.controls; }\r\n\r\n noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n\r\n save(){\r\n if(this.securityForm.valid){\r\n const security = {\r\n domain:this.securityForm.value[\"domain\"],\r\n idEnterprise: this.data.idEnterprise,\r\n id: this.data.action == 1 ? this.data.obj.id : 0\r\n }\r\n if(this.data.action == 0){\r\n this.streamingDomainIframeService.create(security).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n this.AlertService.showMessage(AppConstants.TitleModal.CREATE_SECURITY, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.AlertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }else{\r\n this.streamingDomainIframeService.update(security).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n this.AlertService.showMessage(AppConstants.TitleModal.UPDATE_SECURITY, AppConstants.MessageModal.UPDATE_SECURITY, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.AlertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }\r\n }else{\r\n this.securityForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{title}}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Fecha de suscripciĆ³n*\r\n \r\n \r\n \r\n \r\n La fecha de suscripciĆ³n es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Inicio de Vigencia*\r\n \r\n \r\n \r\n \r\n La fecha de inicio de vigencia es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Fin de Vigencia*\r\n \r\n \r\n \r\n \r\n La fecha de fin de vigencia es requerida.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Archivo de Contrato*\r\n >\r\n folder\r\n \r\n El contrato es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Archivo de Adenda\r\n \r\n folder\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Motivo de Vigencia\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    # {{i+1}} NĆŗmero {{element.numberContract}} Contrato \r\n {{element.contractName}}\r\n Adenda \r\n {{element.adendaName}}\r\n Descargar \r\n archive Contrato\r\n archive Adenda\r\n AcciĆ³n \r\n delete\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { AlertService, MessageSeverity } from '../../../../services/alert.service';\r\nimport { EmitterService } from '../../../../services/emitter.service';\r\nimport { AppConstants, ArrayExtensionContracts } from '../../../../constants/app.contants';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { DatePipe } from '@angular/common'\r\nimport { Subscription } from 'rxjs';\r\nimport * as FileSaver from 'file-saver';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material';\r\nimport { APP_DATE_FORMATS, AppDateAdapter } from 'src/app/shared/helpers/format-datepicker';\r\n\r\n@Component({\r\n selector: 'app-enterprise-contract-modal',\r\n templateUrl: './enterprise-contract-modal.component.html',\r\n styleUrls: ['./enterprise-contract-modal.component.css'],\r\n providers: [\r\n {provide: DateAdapter, useClass: AppDateAdapter},\r\n {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS},\r\n ]\r\n})\r\nexport class EnterpriseContractModalComponent implements OnInit {\r\n saveForm: FormGroup;\r\n loading: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['index', 'numberContract', 'subscription', 'adenda', 'download', 'action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n subscription: Subscription;\r\n sessionUserId: string;\r\n isBusiness: boolean = false;\r\n listContractsDelete = new Array();\r\n title: string;\r\n maxStartValidity;\r\n minEndValidity;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n private enterpriseService: EnterpriseService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService,\r\n public datepipe: DatePipe\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.title = this.data.title;\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.dataSource.paginator = this.paginator;\r\n this.createForm();\r\n this.getEnterprisesContracts(this.data.row.id);\r\n // this.paginator._intl.itemsPerPageLabel = '';\r\n }\r\n\r\n createForm() {\r\n this.saveForm = this.formBuilder.group({\r\n subscriptionDate: ['', [Validators.required]],\r\n startValidity: ['', [Validators.required]],\r\n endValidity: ['', [Validators.required]],\r\n motiveValidity: ['Contrato Vigente'],\r\n file: ['', [Validators.required]],\r\n adenda: ['', ]\r\n })\r\n }\r\n\r\n get f() { return this.saveForm.controls; }\r\n\r\n dateToString(date: Date) {\r\n return this.datepipe.transform(date, 'yyyy-MM-dd');\r\n }\r\n\r\n saveArray(){\r\n if (this.saveForm.valid) {\r\n var data = new FormData();\r\n data.append('subscription', this.dateToString(this.saveForm.value[\"subscriptionDate\"]));\r\n data.append('validityStart', this.dateToString(this.saveForm.value[\"startValidity\"]));\r\n data.append('validityEnd', this.dateToString(this.saveForm.value[\"endValidity\"]));\r\n data.append('userCreation', this.sessionUserId);\r\n data.append('reasonValidity', this.saveForm.value[\"motiveValidity\"]);\r\n data.append('canceled', '0');\r\n if (this.saveForm.value[\"file\"] != '' && this.saveForm.value[\"file\"] != null) {\r\n data.append('file', this.saveForm.value[\"file\"][\"files\"][0]);\r\n }\r\n if (this.saveForm.value[\"adenda\"] != '' && this.saveForm.value[\"adenda\"] != null) {\r\n data.append('adenda', this.saveForm.value[\"adenda\"][\"files\"][0]);\r\n }\r\n data.append('enterpriseId', this.data.row.id);\r\n this.createEnterpriseContrato(data);\r\n }else{\r\n this.saveForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n createEnterpriseContrato(data: FormData) {\r\n this.spinner.show();\r\n this.enterpriseService.createEnterpriseContract(data).subscribe((response => {\r\n this.spinner.hide();\r\n this.getEnterprisesContracts(this.data.row.id);\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_ENTERPRISE_CONTRACT, \"Falta configurar la configuraciĆ³n de directorios de esta empresa\", MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n delete(obj) {\r\n let index = -1;\r\n\r\n for (var i = 0; i < this.dataSource.data.length; i++) {\r\n if (this.dataSource.data[i]['contractId'] == obj.contractId) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n this.spinner.show();\r\n this.enterpriseService.deleteContract(obj.enterpriseId,obj.contractId,obj.numberContract).subscribe((response => {\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SMS, 'Error', MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n\r\n this.dataSource.data.splice(index, 1);\r\n if (obj.contractId != undefined) {\r\n this.listContractsDelete.push(obj.contractId);\r\n }\r\n\r\n this.dataSource = new MatTableDataSource(this.dataSource.data);\r\n setTimeout(() => {\r\n this.dataSource.paginator = this.paginator;\r\n });\r\n }\r\n\r\n viewContract(obj) {\r\n this.downloadFile(AppConstants.BlobStorage.ContractsFiles, this.getPathName(obj.pathContract), obj.pathContractName);\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n viewAdenda(obj) {\r\n this.downloadFile(AppConstants.BlobStorage.AdendasFiles, this.getPathName(obj.pathAdenda), obj.pathAdendaName);\r\n }\r\n\r\n getPathName(name: string) {\r\n var arrayString = name.split('/');\r\n return arrayString[arrayString.length - 1]\r\n }\r\n\r\n startValidityDatehandler(event) {\r\n this.minEndValidity = event.value;\r\n }\r\n\r\n endValidityDatehandler(event) {\r\n this.maxStartValidity = event.value;\r\n }\r\n\r\n downloadFile(idDirectory: number, fileName: string, nameFile: string): void {\r\n this.spinner.show();\r\n this.enterpriseService.downloadFile(this.data.row.id,idDirectory, fileName).subscribe(\r\n (response) => {\r\n\r\n const data: Blob = new Blob([response], {\r\n type: response.type\r\n });\r\n FileSaver.saveAs(data, nameFile);\r\n },\r\n (error) => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DOWNLOAD_FILES, AppConstants.MessageModal.DOWNLOAD_FILE_MESSAGE, MessageSeverity.error);\r\n }\r\n ).add(() => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getEnterprisesContracts(enterpriseId: number) {\r\n this.dataSource.data = [];\r\n //this.spinner.show();\r\n this.enterpriseService.getEnterpriseContracts(enterpriseId).subscribe((response) => {\r\n this.dataSource.data = response;\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n onFileSelectedContract(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n var extension = file.name.split('.');\r\n var extensionFile = extension[extension.length - 1];\r\n if (ArrayExtensionContracts.filter(f => f == extensionFile).length == 0) {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT_CONTRACTS, MessageSeverity.warn);\r\n this.saveForm.controls['file'].setValue('');\r\n files = [];\r\n return;\r\n }\r\n if (file.size / 1024 / 1024 > 10) {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT_CONTRACTS_SIZE, MessageSeverity.warn);\r\n this.saveForm.controls['file'].setValue('');\r\n files = [];\r\n return;\r\n }\r\n }\r\n }\r\n\r\n onFileSelectedAdenda(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n var extension = file.name.split('.');\r\n var extensionFile = extension[extension.length - 1];\r\n if (ArrayExtensionContracts.filter(f => f == extensionFile).length == 0) {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT_CONTRACTS, MessageSeverity.warn);\r\n this.saveForm.controls['adenda'].setValue('');\r\n files = [];\r\n return;\r\n }\r\n if (file.size / 1024 / 1024 > 10) {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT_CONTRACTS_SIZE, MessageSeverity.warn);\r\n this.saveForm.controls['adenda'].setValue('');\r\n files = [];\r\n return;\r\n }\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n RUC*\r\n \r\n \r\n El ruc es requerido.\r\n \r\n \r\n El ruc debe tener 11 dĆ­gitos.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nombre de Empresa*\r\n \r\n \r\n \r\n El nombre de la empresa debe tener mƔximo 100 carƔcteres.\r\n \r\n \r\n El nombre de la empresa es requerida.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Contacto*\r\n \r\n \r\n El contacto es requerido.\r\n \r\n \r\n El contacto debe tener mƔximo 80 carƔcteres.\r\n \r\n \r\n
    \r\n
    \r\n \r\n TelƩfono*\r\n \r\n \r\n El telƩfono del Contacto es requerido.\r\n \r\n \r\n El telƩfono del Contacto debe tener mƔximo 11 carƔcteres.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n DirecciĆ³n\r\n \r\n \r\n La direcciĆ³n debe tener mĆ”ximo 100 carĆ”cteres.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Referencia\r\n \r\n \r\n La referencia debe tener mƔximo 100 carƔcteres.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Representante Legal\r\n \r\n \r\n El Representante Legal debe tener mƔximo 80 carƔcteres.\r\n \r\n \r\n El Representante Legal es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n TelƩfono\r\n \r\n \r\n El telƩfono del Legal debe tener mƔximo 11 carƔcteres.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Dominio*\r\n \r\n \r\n El dominio debe tener mƔximo 255 carƔcteres.\r\n \r\n \r\n El dominio es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n CĆ³digo de Empresa\r\n \r\n \r\n
    \r\n
    \r\n Habilitado\r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { EnterprisePinMaps } from 'src/app/models/enterprise/enterprisePinMaps';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { EnterpriseZones } from '../../../../models/enterprise/enterprise';\r\nimport { AppConstants } from '../../../constants/app.contants';\r\nimport { AlertService, MessageSeverity } from '../../../services/alert.service';\r\nimport { EmitterService } from '../../../services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-enterprise-modal',\r\n templateUrl: './enterprise-modal.component.html',\r\n styleUrls: ['./enterprise-modal.component.css']\r\n})\r\nexport class EnterpriseModalComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n enterpriseForm: FormGroup;\r\n files: File[] = [];\r\n pinMapfiles: File[] = [];\r\n dataSource = new MatTableDataSource();\r\n dataSource2 = new MatTableDataSource();\r\n displayedColumns: string[] = ['name', 'action']; //'index',\r\n displayedColumns2: string[] = ['name', 'action']; //'index',\r\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: false }) paginator2: MatPaginator;\r\n subscription: Subscription;\r\n listZones = new Array();\r\n listPinMaps = new Array();\r\n listZonesDelete = new Array();\r\n listPinMapsDelete = new Array();\r\n idStorageFile: number;\r\n\r\n todayDate: Date = new Date();\r\n showEdit: boolean = false;\r\n isBusiness: boolean = false;\r\n sessionUserId: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private spinner: NgxSpinnerService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private enterpriseService: EnterpriseService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService,\r\n public datepipe: DatePipe\r\n ) {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource2.paginator = this.paginator2;\r\n }\r\n\r\n ngOnInit() {\r\n this.isBusiness = +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGySComercial ? true : false;\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.createForm();\r\n this.setValues();\r\n }\r\n\r\n createForm() {\r\n this.showEdit = this.data.operation == AppConstants.OperationType.UPDATE ? true : false;\r\n this.enterpriseForm = this.formBuilder.group({\r\n ruc: ['-', [Validators.required, Validators.minLength(11), this.noWhitespaceValidator]],\r\n socialReason: ['', [Validators.required, Validators.maxLength(100), this.noWhitespaceValidator]],\r\n legalRepresentative: ['', [Validators.maxLength(80)]],\r\n domain: ['', [Validators.required,Validators.maxLength(255)]],\r\n phoneLegalRepresentative: ['', [Validators.maxLength(11)]],\r\n contact: ['', [Validators.required, Validators.maxLength(80), this.noWhitespaceValidator]],\r\n phoneContact: ['', [Validators.required, Validators.maxLength(11)]],\r\n address: ['', [Validators.maxLength(100)]],\r\n reference: ['', [Validators.maxLength(100)]],\r\n status: [true, [Validators.required]],\r\n expirationDate: ['', [Validators.required]],\r\n maxUsers: ['', [Validators.required, Validators.maxLength(4)]],\r\n codeEnterprise: '',\r\n })\r\n }\r\n\r\n get f() { return this.enterpriseForm.controls; }\r\n\r\n setValues() {\r\n this.clearFields();\r\n if (this.data.operation == AppConstants.OperationType.UPDATE) {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseById(this.data.row.id).subscribe((response => {\r\n console.log(response);\r\n this.enterpriseForm.patchValue({\r\n ruc: response.ruc,\r\n socialReason: response.businessName,\r\n legalRepresentative: response.legalRepresentative,\r\n phoneLegalRepresentative: response.representativeTelephone,\r\n contact: response.contac,\r\n phoneContact: response.contacTelephone,\r\n address: response.address,\r\n reference: response.reference,\r\n status: response.enabled,\r\n expirationDate: response.expirationDate,\r\n maxUsers: response.maximumUsers,\r\n codeEnterprise: response.codeEnterprise,\r\n domain: response.domain,\r\n });\r\n this.listZones = response.enterpriseZone;\r\n this.listPinMaps = response.enterprisePinMap;\r\n this.dataSource.data = this.listZones;\r\n this.dataSource2.data = this.listPinMaps;\r\n /*this.paginator.pageIndex = 0;\r\n this.paginator2.pageIndex = 0;*/\r\n this.idStorageFile = response.idStorageFile;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }else{\r\n var unix = Math.round(+new Date()/1000);\r\n this.enterpriseForm.patchValue({\r\n //ruc: unix,\r\n maxUsers: 9999999,\r\n expirationDate: '3000-01-01',\r\n });\r\n }\r\n }\r\n\r\n updateEnterprise(data: FormData) {\r\n this.spinner.show();\r\n this.enterpriseService.updateEnterprise(data).subscribe((response => {\r\n if(!response.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_ENTERPRISE, AppConstants.MessageModal.UPDATE_ENTERPRISE, MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListEnterpriseFilter);\r\n }else{\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_ENTERPRISE, response.message, MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_ENTERPRISE, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n save() {\r\n if (this.enterpriseForm.valid) {\r\n var data = new FormData();\r\n\r\n if (this.data.operation == AppConstants.OperationType.UPDATE) {\r\n data.append('enterpriseId', this.data.row.id);\r\n data.append('ruc', this.enterpriseForm.value[\"ruc\"]);\r\n data.append('businessName', this.enterpriseForm.value[\"socialReason\"].trim());\r\n data.append('legalRepresentative', this.enterpriseForm.value[\"legalRepresentative\"] ? this.enterpriseForm.value[\"legalRepresentative\"] : \"\");\r\n data.append('contac', this.enterpriseForm.value[\"contact\"].trim());\r\n data.append('representativeTelephone', this.enterpriseForm.value[\"phoneLegalRepresentative\"] ? this.enterpriseForm.value[\"phoneLegalRepresentative\"] : \"\");\r\n data.append('contacTelephone', this.enterpriseForm.value[\"phoneContact\"]);\r\n data.append('address', this.enterpriseForm.value[\"address\"] ? this.enterpriseForm.value[\"address\"] : \"\");\r\n data.append('reference', this.enterpriseForm.value[\"reference\"] ? this.enterpriseForm.value[\"reference\"] : \"\");\r\n data.append('maximumUsers', this.enterpriseForm.value[\"maxUsers\"]);\r\n data.append('domain', this.enterpriseForm.value[\"domain\"]);\r\n data.append('gys', \"0\");\r\n data.append('userUpdate', this.sessionUserId);\r\n data.append('enabled', this.unparseCheckBox(this.enterpriseForm.value[\"status\"]).toString());\r\n data.append('expirationDate', this.dateToString(this.enterpriseForm.value[\"expirationDate\"]));\r\n for (var i = 0; i < this.listZonesDelete.length; i++) {\r\n data.append('zonesDelete', this.listZonesDelete[i].toString());\r\n }\r\n for (var i = 0; i < this.files.length; i++) {\r\n data.append('file' + i, this.files[i]);\r\n }\r\n for (var i = 0; i < this.listPinMapsDelete.length; i++) {\r\n data.append('pinMapsDelete', this.listPinMapsDelete[i].toString());\r\n }\r\n for (var i = 0; i < this.pinMapfiles.length; i++) {\r\n data.append('filePinMap' + i, this.pinMapfiles[i]);\r\n }\r\n this.updateEnterprise(data);\r\n\r\n } else if (this.data.operation == AppConstants.OperationType.ADD) {\r\n data.append('ruc', this.enterpriseForm.value[\"ruc\"]);\r\n data.append('businessName', this.enterpriseForm.value[\"socialReason\"].trim());\r\n data.append('legalRepresentative', this.enterpriseForm.value[\"legalRepresentative\"].trim());\r\n data.append('contac', this.enterpriseForm.value[\"contact\"].trim());\r\n data.append('representativeTelephone', this.enterpriseForm.value[\"phoneLegalRepresentative\"]);\r\n data.append('contacTelephone', this.enterpriseForm.value[\"phoneContact\"]);\r\n data.append('address', this.enterpriseForm.value[\"address\"].trim());\r\n data.append('reference', this.enterpriseForm.value[\"reference\"].trim());\r\n data.append('maximumUsers', this.enterpriseForm.value[\"maxUsers\"]);\r\n data.append('domain', this.enterpriseForm.value[\"domain\"].trim());\r\n data.append('gys', '0');\r\n data.append('userCreation', this.sessionUserId);\r\n data.append('enabled', this.unparseCheckBox(this.enterpriseForm.value[\"status\"]).toString());\r\n data.append('expirationDate', this.dateToString(this.enterpriseForm.value[\"expirationDate\"]));\r\n for (var i = 0; i < this.files.length; i++) {\r\n data.append('file' + i, this.files[i]);\r\n }\r\n for (var i = 0; i < this.pinMapfiles.length; i++) {\r\n data.append('filePinMap' + i, this.pinMapfiles[i]);\r\n }\r\n this.createEnterprise(data);\r\n }\r\n } else {\r\n this.enterpriseForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n unparseCheckBox(id: boolean) {\r\n if (id) return 1; else return 0;\r\n }\r\n\r\n close() {\r\n this.data.result = false;\r\n this.dialogRef.close(this.data);\r\n }\r\n\r\n clearFields() {\r\n this.enterpriseForm.controls['ruc'].setValue('');\r\n this.enterpriseForm.controls['socialReason'].setValue('');\r\n this.enterpriseForm.controls['legalRepresentative'].setValue('');\r\n this.enterpriseForm.controls['phoneLegalRepresentative'].setValue('');\r\n this.enterpriseForm.controls['contact'].setValue('');\r\n this.enterpriseForm.controls['phoneContact'].setValue('');\r\n this.enterpriseForm.controls['address'].setValue('');\r\n this.enterpriseForm.controls['reference'].setValue('');\r\n this.enterpriseForm.controls['status'].setValue(true);\r\n this.enterpriseForm.controls['expirationDate'].setValue('');\r\n this.enterpriseForm.controls['domain'].setValue('');\r\n this.listZonesDelete = new Array();\r\n this.listPinMapsDelete = new Array();\r\n }\r\n\r\n createEnterprise(data: FormData) {\r\n this.spinner.show();\r\n this.enterpriseService.createEnterprise(data).subscribe((response => {\r\n if(!response.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_ENTERPRISE, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListEnterpriseFilter);\r\n }else{\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_ENTERPRISE, response.message, MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_ENTERPRISE, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n onFileSelected(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n if (file.type == \"image/png\" || file.type == \"image/jpeg\") {\r\n console.log(this.listZones);\r\n if (this.listZones.filter(f => f.zoneName == this.convertName(file.name)).length == 0) {\r\n var model = new EnterpriseZones();\r\n model.zoneName = this.convertName(file.name);\r\n model.file = file;\r\n\r\n this.listZones.push(model);\r\n this.files.push(file);\r\n this.dataSource.data = this.listZones;\r\n } else {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_ZONE_DUPLICATE, MessageSeverity.warn);\r\n }\r\n } else {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n event.srcElement.value = '';\r\n }\r\n }\r\n\r\n onFilePinMapSelected(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n if (file.type == \"image/png\" || file.type == \"image/jpeg\") {\r\n console.log(this.listPinMaps);\r\n if (this.listPinMaps.filter(f => f.name == this.convertName(file.name)).length == 0) {\r\n var model = new EnterprisePinMaps();\r\n model.name = this.convertName(file.name);\r\n model.file = file;\r\n this.listPinMaps.push(model);\r\n this.pinMapfiles.push(file);\r\n this.dataSource2.data = this.listPinMaps;\r\n } else {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_PINMAP_DUPLICATE, MessageSeverity.warn);\r\n }\r\n } else {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n event.srcElement.value = '';\r\n }\r\n }\r\n\r\n convertName(name: string) {\r\n return name.split('.').slice(0, -1).join();\r\n }\r\n\r\n delete(obj) {\r\n let index = -1;\r\n let indexFile = -1;\r\n for (var i = 0; i < this.listZones.length; i++) {\r\n if (this.listZones[i]['zoneName'] == obj.zoneName) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n\r\n if (obj.zoneId == undefined) {\r\n for (var i = 0; i < this.files.length; i++) {\r\n if (this.files[i]['name'] == obj.file.name) {\r\n indexFile = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (index != -1) {\r\n this.dataSource.data.splice(index, 1);\r\n }\r\n if (indexFile != -1) {\r\n this.files.splice(indexFile, 1);\r\n }\r\n\r\n if (obj.zoneId != undefined) {\r\n this.listZonesDelete.push(obj.zoneId);\r\n }\r\n\r\n this.dataSource = new MatTableDataSource(this.dataSource.data);\r\n setTimeout(() => {\r\n this.dataSource.paginator = this.paginator;\r\n });\r\n\r\n }\r\n\r\n deletePinMap(obj){\r\n let index = -1;\r\n let indexFile = -1;\r\n for (var i = 0; i < this.listPinMaps.length; i++) {\r\n if (this.listPinMaps[i]['name'] == obj.name) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n\r\n if (obj.pinMapId == undefined) {\r\n for (var i = 0; i < this.pinMapfiles.length; i++) {\r\n if (this.files[i]['name'] == obj.file.name) {\r\n indexFile = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (index != -1) {\r\n this.dataSource2.data.splice(index, 1);\r\n }\r\n if (indexFile != -1) {\r\n this.pinMapfiles.splice(indexFile, 1);\r\n }\r\n\r\n if (obj.pinMapId != undefined) {\r\n this.listPinMapsDelete.push(obj.pinMapId);\r\n }\r\n\r\n this.dataSource2 = new MatTableDataSource(this.dataSource2.data);\r\n setTimeout(() => {\r\n this.dataSource2.paginator = this.paginator2;\r\n });\r\n\r\n }\r\n\r\n dateToString(date: Date) {\r\n return this.datepipe.transform(date, 'yyyy-MM-dd');\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{title}}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Color Fondo*\r\n \r\n \r\n El Color 1 es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Color Texto*\r\n \r\n \r\n El Color 2 es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseSettingService } from 'src/app/services/enterprise-setting/enterprise-setting.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { MessageModalComponent } from '../../message/message-modal.component';\r\n\r\n@Component({\r\n selector: 'app-enterprise-setting-modal',\r\n templateUrl: './enterprise-setting-modal.component.html',\r\n styleUrls: ['./enterprise-setting-modal.component.css']\r\n})\r\nexport class EnterpriseSettingModalComponent implements OnInit {\r\n settingForm: FormGroup\r\n title: string;\r\n loading: boolean = false;\r\n isAdminGys: boolean = false;\r\n sessionUserId: string;\r\n storageFileSelect: number;\r\n logo = \"../../../../../../assets/images/enterprise-default.png\";\r\n fileLogo: File;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private enterpriseSettingService: EnterpriseSettingService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService) { }\r\n\r\n ngOnInit() {\r\n this.title = this.data.title;\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.createForm();\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.spinner.show();\r\n this.enterpriseSettingService.getEnterpriseSetting(this.data.row.id).subscribe((response => {\r\n if(response.error == null && response.enterpriseSetting != null){\r\n this.settingForm.patchValue({\r\n idEnterprise: this.data.row.id,\r\n color1: response.enterpriseSetting.color1,\r\n color2: response.enterpriseSetting.color2,\r\n /*idStorageFile: response.enterpriseSetting.idStorageFile,\r\n pathFile: response.enterpriseSetting.pathFile,*/\r\n userId: parseInt(this.sessionUserId)\r\n });\r\n if(response.enterpriseSetting.logo != \"\" && response.enterpriseSetting.logo){\r\n if(response.enterpriseSetting.idStorageType == 2){//azure\r\n this.logo = response.enterpriseSetting.logo;\r\n }else{\r\n this.logo = response.enterpriseSetting.storagePath + \"/\"+response.enterpriseSetting.logo;\r\n }\r\n }\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n createForm() {\r\n this.settingForm = this.formBuilder.group({\r\n idEnterprise: this.data.row.id,\r\n color1: [true, [Validators.required]],\r\n color2: [true, [Validators.required]],\r\n /*idStorageFile: [[Validators.required]],\r\n pathFile: [],*/\r\n userId: parseInt(this.sessionUserId)\r\n });\r\n }\r\n\r\n get f() { return this.settingForm.controls; }\r\n\r\n openConfirmationModal() {\r\n if (this.settingForm.valid) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.ENTERPRISE_SETTING_UPDATE,\r\n message: AppConstants.MessageModal.UPDATE_MESSAGE_ENTERPRISE_SETTING_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.update();\r\n }\r\n });\r\n\r\n } else {\r\n this.settingForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n update() {\r\n /*if(this.settingForm.get('idStorageFile').value == 1 && !this.settingForm.get('pathFile').value){\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal.REQUIRED_ENTERPRISE_SETTING_PATH_FILE, MessageSeverity.error);\r\n return false;\r\n }*/\r\n\r\n if(this.settingForm.valid){\r\n this.spinner.show();\r\n\r\n var formData = new FormData();\r\n formData.append(\"color1\",this.settingForm.value[\"color1\"]);\r\n formData.append(\"color2\",this.settingForm.value[\"color2\"]);\r\n formData.append(\"userId\",this.sessionUserId);\r\n formData.append(\"idEnterprise\",this.data.row.id);\r\n formData.append(\"logo\",this.fileLogo);\r\n\r\n this.enterpriseSettingService.updateEnterpriseSetting(formData).subscribe((response => {\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal.UPDATE_ENTERPRISE_SETTING, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.close();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(\"\", error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.settingForm.markAllAsTouched();\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal, MessageSeverity.error);\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n onFileSelected(event: any) {\r\n if (event.target.files && event.target.files[0]) {\r\n var reader = new FileReader();\r\n var _this = this;\r\n reader.onload = (event:any) => {\r\n _this.logo = event.target.result;\r\n }\r\n\r\n reader.readAsDataURL(event.target.files[0]);\r\n this.fileLogo = event.target.files[0];\r\n }\r\n }\r\n}\r\n","
    \r\n
    \r\n {{title}}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Tipo de directorio*\r\n \r\n Blob\r\n Datalake\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Tipo de Almacenamiento*\r\n \r\n Local\r\n Azure\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Tipo de Almacenamiento*\r\n \r\n Local\r\n Azure\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Directorio de Archivos - UbicaciĆ³n directorio assets front\r\n Key Vault\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Directorio de Archivos - UbicaciĆ³n directorio assets front\r\n Key Vault - Llave DataLake\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Ruta DataLake\r\n \r\n \r\n
    \r\n
    \r\n
    Lista de Directorios de Archivos
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
    Directorio de ArchivoNombre Propio
    {{item.fileDirectory}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Habilitar ConfiguraciĆ³n por sede\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { enterpriseStorage } from 'src/app/models/enterprise/enterpriseStorage';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { MessageModalComponent } from '../../message/message-modal.component';\r\nimport { StorageService } from 'src/app/services/storage/storage.service';\r\nimport { storageFileDirectory } from 'src/app/models/storage/storageFileDirectory';\r\n\r\n@Component({\r\n selector: 'app-enterprise-storage-modal',\r\n templateUrl: './enterprise-storage-modal.component.html',\r\n styleUrls: ['./enterprise-storage-modal.component.css']\r\n})\r\nexport class EnterpriseStorageModalComponent implements OnInit {\r\n fileForm: FormGroup\r\n title: string;\r\n loading: boolean = false;\r\n isAdminGys: boolean = false;\r\n disabledDirectoryType: boolean = false;\r\n sessionUserId: string;\r\n storageFileSelect: number = 1;\r\n directoryTypeSelect: number = 1;\r\n storageTypeSelect: number = 1;\r\n storageTypeSelect2: number = 1;\r\n listFiles: Array;\r\n listFilesInit: Array;\r\n arrayData: enterpriseStorage[];\r\n isDirectoryHeadquarter:boolean = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private storageService: StorageService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService) { }\r\n\r\n ngOnInit() {\r\n this.title = this.data.title;\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.isDirectoryHeadquarter = this.data.row.headquarterStorageEnabled == 1 ? true : false;\r\n this.createForm();\r\n this.getData();\r\n }\r\n\r\n checkHeadquarter(){\r\n this.isDirectoryHeadquarter = !this.isDirectoryHeadquarter;\r\n if(this.isDirectoryHeadquarter){\r\n if(this.directoryTypeSelect == 1){\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1 && x.isEnterprise == 1);\r\n }else if(this.directoryTypeSelect == 2){\r\n this.listFiles = this.listFilesInit.filter(x => x.dataLakeStorage == 1 && x.isEnterprise == 1);\r\n }\r\n }else{\r\n if(this.directoryTypeSelect == 1){\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1);\r\n }else if(this.directoryTypeSelect == 2){\r\n this.listFiles = this.listFilesInit.filter(x => x.dataLakeStorage == 1);\r\n }\r\n }\r\n\r\n //disabled storage\r\n if(this.listFilesInit.filter(x => x.dataLakeStorage == 1 && x.isEnterprise == 1).length == 0 && this.isDirectoryHeadquarter){\r\n if(this.directoryTypeSelect == 2){\r\n this.directoryTypeSelect = 1;\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1 && x.isEnterprise == 1);\r\n }\r\n this.disabledDirectoryType = true;\r\n }else{\r\n this.disabledDirectoryType = false;\r\n }\r\n\r\n }\r\n\r\n changeDirectory(data){\r\n this.directoryTypeSelect = data.value;\r\n if(this.isDirectoryHeadquarter){\r\n if(this.directoryTypeSelect == 1){\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1 && x.isEnterprise == 1);\r\n }else if(this.directoryTypeSelect == 2){\r\n this.listFiles = this.listFilesInit.filter(x => x.dataLakeStorage == 1 && x.isEnterprise == 1);\r\n }\r\n }else{\r\n if(this.directoryTypeSelect == 1){\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1);\r\n }else if(this.directoryTypeSelect == 2){\r\n this.listFiles = this.listFilesInit.filter(x => x.dataLakeStorage == 1);\r\n }\r\n }\r\n /*\r\n if(data.value == 1){\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1);\r\n }else if(data.value == 2){\r\n this.listFiles = this.listFilesInit.filter(x => x.dataLakeStorage == 1);\r\n }*/\r\n }\r\n\r\n getData() {\r\n this.spinner.show();\r\n this.storageService.get(this.data.row.id,0).subscribe((response => {\r\n if(response.error == null && response.data != null){\r\n this.listFilesInit = response.data.fileDirectories;\r\n console.log(\"filter dictories\",response.data.fileDirectories);\r\n this.listFiles = response.data.fileDirectories.filter(x => x.blobStorage == 1);\r\n this.storageTypeSelect = response.data.idStorageType;\r\n this.storageTypeSelect2 = response.data.idStorageType2;\r\n this.fileForm.patchValue({\r\n idStorageType: response.data.idStorageType,\r\n storagePath: response.data.storagePath,\r\n idStorageType2: response.data.idStorageType2,\r\n storagePath2: response.data.storagePath2,\r\n dataLakePath: response.data.dataLakePath,\r\n });\r\n if(this.isDirectoryHeadquarter){\r\n if(this.directoryTypeSelect == 1){\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1 && x.isEnterprise == 1);\r\n }else if(this.directoryTypeSelect == 2){\r\n this.listFiles = this.listFilesInit.filter(x => x.dataLakeStorage == 1 && x.isEnterprise == 1);\r\n }\r\n }else{\r\n if(this.directoryTypeSelect == 1){\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1);\r\n }else if(this.directoryTypeSelect == 2){\r\n this.listFiles = this.listFilesInit.filter(x => x.dataLakeStorage == 1);\r\n }\r\n }\r\n\r\n //disabled storage\r\n if(this.listFilesInit.filter(x => x.dataLakeStorage == 1 && x.isEnterprise == 1).length == 0 && this.isDirectoryHeadquarter){\r\n this.disabledDirectoryType = true;\r\n }else{\r\n this.disabledDirectoryType = false;\r\n }\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n createForm() {\r\n this.fileForm = this.formBuilder.group({\r\n idDirectoryType: [1,[Validators.required]],\r\n idStorageType: [0,[Validators.required]],\r\n storagePath: [''],\r\n idStorageType2: [0,[Validators.required]],\r\n storagePath2: [''],\r\n dataLakePath: ['']\r\n });\r\n }\r\n\r\n get f() { return this.fileForm.controls; }\r\n\r\n openConfirmationModal() {\r\n if (this.fileForm.valid) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_HEADQUARTER_FILE,\r\n message: AppConstants.MessageModal.UPDATE_MESSAGE_ENTERPRISE_SETTING_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.update();\r\n }\r\n });\r\n\r\n } else {\r\n this.fileForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n update() {\r\n\r\n if(this.fileForm.valid){\r\n\r\n this.listFiles.forEach(obj => {\r\n obj.idEnterprise = this.data.row.id;\r\n obj.idHeadquarter = 0;\r\n });\r\n\r\n var data = {\r\n idEnterprise: this.data.row.id,\r\n idHeadquarter: 0,\r\n idStorageType: this.fileForm.value[\"idStorageType\"],\r\n idStorageType2: this.fileForm.value[\"idStorageType2\"],\r\n storagePath: this.fileForm.value[\"storagePath\"],\r\n storagePath2: this.fileForm.value[\"storagePath2\"],\r\n dataLakePath: this.fileForm.value[\"dataLakePath\"],\r\n fileDirectories: this.listFilesInit,\r\n isDirectoryHeadquarter: this.isDirectoryHeadquarter ? 1:0,\r\n }\r\n this.spinner.show();\r\n this.storageService.update(data).subscribe((response => {\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal.UPDATE_ENTERPRISE_SETTING, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(\"\", error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.fileForm.markAllAsTouched();\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal, MessageSeverity.error);\r\n }\r\n }\r\n\r\n close() {\r\n this.data.result = false;\r\n this.dialogRef.close(this.data);\r\n }\r\n\r\n changeValue(item,event:any){\r\n this.listFilesInit.forEach(obj => {\r\n if(obj.idFileDirectory==item.idFileDirectory){\r\n obj.name = event.target.value;\r\n }\r\n });\r\n }\r\n}\r\n\r\n","
    \r\n
    \r\n {{title}}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n TĆ­tulo - Vista Individual*\r\n \r\n \r\n El TĆ­tulo - Vista Individual es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n DescripciĆ³n - Vista Individual\r\n \r\n \r\n
    \r\n
    \r\n \r\n TĆ­tulo - Vista MĆŗltiple*\r\n \r\n \r\n El TĆ­tulo - Vista MĆŗltiple - Vista Individual es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n DescripciĆ³n - Vista MĆŗltiple\r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n API *(Ejemplo: http://192.12.12.1/api/lives o http://streaming.com/api/lives)\r\n \r\n \r\n El API es requerida.\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n Color 1 (fondo / texto listado de cƔmaras)*\r\n \r\n \r\n El color1 es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Color 2 (texto)*\r\n \r\n \r\n El color2 es requerida.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { MessageModalComponent } from '../../message/message-modal.component';\r\n\r\n@Component({\r\n selector: 'app-enterprise-streaming-modal',\r\n templateUrl: './enterprise-streaming-modal.component.html',\r\n styleUrls: ['./enterprise-streaming-modal.component.css']\r\n})\r\nexport class EnterpriseStreamingModalComponent implements OnInit {\r\n streamingForm: FormGroup\r\n title: string;\r\n loading: boolean = false;\r\n isAdminGys: boolean = false;\r\n sessionUserId: string;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private enterpriseService: EnterpriseService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService) { }\r\n\r\n ngOnInit() {\r\n this.title = this.data.title;\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.createForm();\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseStreaming(this.data.row.id).subscribe((response => {\r\n if(response.error == null && response.enterpriseStreaming != null){\r\n //this.streamingForm.get('rtmp').setValue(response.enterpriseStreaming.rtmp);\r\n this.streamingForm.get('api').setValue(response.enterpriseStreaming.api);\r\n this.streamingForm.get('title').setValue(response.enterpriseStreaming.title);\r\n this.streamingForm.get('description').setValue(response.enterpriseStreaming.description);\r\n this.streamingForm.get('titleMultiple').setValue(response.enterpriseStreaming.titleMultiple);\r\n this.streamingForm.get('descriptionMultiple').setValue(response.enterpriseStreaming.descriptionMultiple);\r\n //this.streamingForm.get('file').setValue(response.enterpriseStreaming.file);\r\n this.streamingForm.get('color1').setValue(response.enterpriseStreaming.color1);\r\n this.streamingForm.get('color2').setValue(response.enterpriseStreaming.color2);\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n createForm() {\r\n this.streamingForm = this.formBuilder.group({\r\n idEnterprise: this.data.row.id,\r\n //rtmp: ['', []],\r\n api: ['', [Validators.required]],\r\n //file: ['', []],\r\n title: ['', [Validators.required]],\r\n titleMultiple: ['', [Validators.required]],\r\n description: ['', [Validators.required]],\r\n descriptionMultiple: ['', [Validators.required]],\r\n color1: ['', [Validators.required]],\r\n color2: ['', [Validators.required]],\r\n userId: parseInt(this.sessionUserId)\r\n });\r\n }\r\n\r\n get f() { return this.streamingForm.controls; }\r\n\r\n openConfirmationModal() {\r\n if (this.streamingForm.valid) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.ENTERPRISE_STREAMING_UPDATE,\r\n message: AppConstants.MessageModal.UPDATE_MESSAGE_ENTERPRISE_STREAMING_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.update();\r\n }\r\n });\r\n\r\n } else {\r\n this.streamingForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n update() {\r\n if(this.streamingForm.valid){\r\n this.spinner.show();\r\n this.enterpriseService.updateEnterpriseStreaming(this.streamingForm.value).subscribe((response => {\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal.UPDATE_ENTERPRISE_STREAMING, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.close();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(\"\", error.error.message, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.streamingForm.markAllAsTouched();\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal, MessageSeverity.error);\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{title}}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n VideoanalĆ­tica\r\n
    \r\n
    \r\n IOT\r\n
    \r\n
    \r\n Streaming\r\n
    \r\n
    \r\n ShowRoom\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-enterprise-system-modal',\r\n templateUrl: './enterprise-system-modal.component.html',\r\n styleUrls: ['./enterprise-system-modal.component.css']\r\n})\r\nexport class EnterpriseSystemModalComponent implements OnInit {\r\n selectIOT = false;\r\n selectVideoanalitica = false;\r\n selectShowRoom = false;\r\n selectStreaming = false;\r\n title:string;\r\n menu = [];\r\n menuAdmin = [];\r\n menuUser = [];\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private alertService: AlertService,) { }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data.title;\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.spinner.show();\r\n this.enterpriseService.getEnterpriseSystem(this.data.row.id).subscribe((response => {\r\n if(response.error == null && response.data != null){\r\n this.selectIOT = Boolean(response.data.iot);\r\n this.selectVideoanalitica = Boolean(response.data.va);\r\n this.selectShowRoom = Boolean(response.data.showroom);\r\n this.selectStreaming = Boolean(response.data.streaming);\r\n this.menu = response.data.menu;\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n\r\n getUniqueListBy(arr, key) {\r\n return [...new Map(arr.map(item => [item[key], item])).values()]\r\n }\r\n\r\n update() {\r\n this.menuAdmin = this.getUniqueListBy(this.menuAdmin, 'id');\r\n this.menuUser = this.getUniqueListBy(this.menuUser, 'id');\r\n var data = {\r\n idUser: parseInt(localStorage.getItem(AppConstants.Session.USERID)),\r\n idEnterprise: this.data.row.id,\r\n iot: this.selectIOT ? 1 : 0,\r\n va:this.selectVideoanalitica ? 1 : 0,\r\n streaming:this.selectStreaming ? 1 : 0,\r\n showroom:this.selectShowRoom ? 1 : 0,\r\n menuAdmin: JSON.stringify(this.menuAdmin),\r\n menuUser: JSON.stringify(this.menuUser),\r\n systems: ''\r\n }\r\n\r\n var systems = {\r\n iot: data.iot,\r\n va: data.va,\r\n streaming: data.streaming,\r\n showroom: data.showroom\r\n }\r\n\r\n data.systems = JSON.stringify(systems);\r\n\r\n this.spinner.show();\r\n this.enterpriseService.updateEnterpriseSystem(data).subscribe((response => {\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal.UPDATE_ENTERPRISE_STREAMING, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.close();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(\"\", error.error.message, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n changeVideoanaltica($event){\r\n this.selectVideoanalitica = $event.checked;\r\n if(this.selectVideoanalitica){\r\n var mva = this.menu.filter(x => x.va == 1);\r\n this.menuAdmin = this.menuAdmin.concat(mva.filter(x => x.isAdmin == 1));\r\n this.menuUser = this.menuUser.concat(mva.filter(x => x.isUser == 1));\r\n }else{\r\n this.menuAdmin = this.menuAdmin.filter(function(item) {\r\n return item.va !== 1\r\n })\r\n this.menuUser = this.menuUser.filter(function(item) {\r\n return item.va !== 1\r\n })\r\n }\r\n }\r\n\r\n changeIOT($event){\r\n this.selectIOT = $event.checked;\r\n if(this.selectIOT){\r\n var miot = this.menu.filter(x => x.iot == 1);\r\n this.menuAdmin = this.menuAdmin.concat(miot.filter(x => x.isAdmin == 1));\r\n this.menuUser = this.menuUser.concat(miot.filter(x => x.isUser == 1));\r\n }else{\r\n this.menuAdmin = this.menuAdmin.filter(function(item) {\r\n return item.iot !== 1\r\n })\r\n this.menuUser = this.menuUser.filter(function(item) {\r\n return item.iot !== 1\r\n })\r\n }\r\n }\r\n\r\n changeStreaming($event){\r\n this.selectStreaming = $event.checked;\r\n if(this.selectStreaming){\r\n var mStreaming = this.menu.filter(x => x.streaming == 1);\r\n this.menuAdmin = this.menuAdmin.concat(mStreaming.filter(x => x.isAdmin == 1));\r\n this.menuUser = this.menuUser.concat(mStreaming.filter(x => x.isUser == 1));\r\n }else{\r\n this.menuAdmin = this.menuAdmin.filter(function(item) {\r\n return item.streaming !== 1\r\n })\r\n this.menuUser = this.menuUser.filter(function(item) {\r\n return item.streaming !== 1\r\n })\r\n }\r\n }\r\n\r\n changeShowRoom($event){\r\n this.selectShowRoom = $event.checked;\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Sede*\r\n \r\n \r\n {{headquarter.name}}\r\n \r\n \r\n \r\n La sede es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nombre*\r\n \r\n \r\n El Nombre es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n DescripciĆ³n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nomenclatura*\r\n \r\n \r\n La nomenclatura no puede ser menor a 2 caracteres.\r\n \r\n \r\n La nomenclatura requerida.\r\n \r\n \r\n La nomenclatura no puede ser mayor a 30 caracteres.\r\n \r\n \r\n
    \r\n
    \r\n \r\n IP*\r\n \r\n \r\n La IP requerida.\r\n \r\n \r\n La ip tiene formato invƔlido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n MAC*\r\n \r\n \r\n La MAC es requerida.\r\n \r\n \r\n La MAC tiene formato invƔlido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-gateway-modal',\r\n templateUrl: './gateway-modal.component.html',\r\n styleUrls: ['./gateway-modal.component.css']\r\n})\r\nexport class GatewayModalComponent implements OnInit {\r\n\r\n gatewayForm: FormGroup;\r\n headquarterSelect: number;\r\n headquarters = [];\r\n edit = false;\r\n disabledHeadquarter = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private headquarterService: HeadquarterService,\r\n private gatewayService: GatewayService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.headquarters = this.data.headquarters;\r\n this.setHeadquarter();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n if(this.data.idHeadquarter == 0) this.edit = true;\r\n if(this.data.idHeadquarter){\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n }\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n this.gatewayForm.controls['idHeadquarter'].setValue(this.data.obj.idHeadquarter);\r\n this.gatewayForm.controls['name'].setValue(this.data.obj.name);\r\n this.gatewayForm.controls['description'].setValue(this.data.obj.description);\r\n this.gatewayForm.controls['nomenclature'].setValue(this.data.obj.nomenclature);\r\n this.gatewayForm.controls['ip'].setValue(this.data.obj.ip);\r\n this.gatewayForm.controls['mac'].setValue(this.data.obj.mac);\r\n }\r\n }\r\n\r\n setHeadquarter(){\r\n if(this.data.idHeadquarter > 0){\r\n var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n var _this = this;\r\n var items = headquarters.filter(x => x.idEnterprise == _this.data.enterpriseId);\r\n if(items.length > 0){\r\n _this.headquarters = items;\r\n if(_this.data.idHeadquarter != 0){\r\n _this.headquarterSelect = items[0].id;\r\n _this.disabledHeadquarter = true;\r\n }\r\n }\r\n }else{\r\n this.getHeadquarters();\r\n }\r\n }\r\n\r\n\r\n getHeadquarters() {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.data.idEnterprise);\r\n console.log(\"enterprises\",this.headquarters[0]);\r\n if(this.data.obj != null){\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n }else{\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n}\r\n\r\n\r\n createForm(){\r\n this.gatewayForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]],\r\n description: ['', []],\r\n nomenclature: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]],\r\n ip: ['', [Validators.required, Validators.maxLength(15) , Validators.minLength(7),\r\n Validators.pattern('(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)')]],\r\n mac: ['', [Validators.required,\r\n Validators.pattern('^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})|([0-9a-fA-F]{4}\\\\.[0-9a-fA-F]{4}\\\\.[0-9a-fA-F]{4})$')]],\r\n idHeadquarter: ['', []]\r\n })\r\n }\r\n\r\n get f() { return this.gatewayForm.controls; }\r\n\r\n save(){\r\n if(this.gatewayForm.valid){\r\n const payload = {\r\n name:this.gatewayForm.value[\"name\"],\r\n nomenclature:this.gatewayForm.value[\"nomenclature\"],\r\n description:this.gatewayForm.value[\"description\"],\r\n ip:this.gatewayForm.value[\"ip\"],\r\n mac:this.gatewayForm.value[\"mac\"],\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.data.idEnterprise,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.gatewayService.create(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_GATEWAY, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else{\r\n this.gatewayService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_GATEWAY, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.gatewayForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n }\r\n\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Nombre*\r\n \r\n \r\n El Nombre es requerido.\r\n \r\n \r\n La nomenclatura no puede ser mayor a 50 caracteres.\r\n \r\n \r\n
    \r\n
    \r\n \r\n DescripciĆ³n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nomenclatura*\r\n \r\n \r\n La nomenclatura no puede ser menor a 2 caracteres.\r\n \r\n \r\n La nomenclatura no puede ser mayor a 30 caracteres.\r\n \r\n \r\n La nomenclatura requerida.\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-headquarter-modal',\r\n templateUrl: './headquarter-modal.component.html',\r\n styleUrls: ['./headquarter-modal.component.css']\r\n})\r\nexport class HeadquarterModalComponent implements OnInit {\r\n\r\n headquarterForm: FormGroup;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private headquarterService: HeadquarterService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n console.log(\"log\",this.data.obj);\r\n this.headquarterForm.controls['name'].setValue(this.data.obj.name);\r\n this.headquarterForm.controls['description'].setValue(this.data.obj.description);\r\n this.headquarterForm.controls['nomenclature'].setValue(this.data.obj.nomenclature);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.headquarterForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]],\r\n description: ['', []],\r\n nomenclature: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]]\r\n })\r\n }\r\n\r\n get f() { return this.headquarterForm.controls; }\r\n\r\n save(){\r\n if(this.headquarterForm.valid){\r\n const payload = {\r\n name:this.headquarterForm.value[\"name\"],\r\n nomenclature:this.headquarterForm.value[\"nomenclature\"],\r\n description:this.headquarterForm.value[\"description\"],\r\n id: AppConstants.OperationType.UPDATE == this.data.action ? this.data.obj.id : 0,\r\n idEnterprise: this.data.idEnterprise,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.headquarterService.create(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_HEADQUARTER, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.headquarterService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_HEADQUARTER, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.headquarterForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","
    \r\n
    \r\n ConfiguraciĆ³n de directorios de archivos\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Tipo de directorio\r\n \r\n Blob\r\n Datalake\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Tipo de Almacenamiento\r\n \r\n Local\r\n Azure\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Tipo de Almacenamiento\r\n \r\n Local\r\n Azure\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Directorio de Archivos - UbicaciĆ³n directorio assets front\r\n Key Vault\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Directorio de Archivos - UbicaciĆ³n directorio assets front\r\n Key Vault - Llave DataLake\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Ruta DataLake\r\n \r\n \r\n
    \r\n
    \r\n
    Lista de Directorios de Archivos
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
    Directorio de ArchivoNombre Propio
    {{item.fileDirectory}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { headquarterStorage } from 'src/app/models/headquarter/headquarterStorage';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { MessageModalComponent } from '../../message/message-modal.component';\r\nimport { storageFileDirectory } from 'src/app/models/storage/storageFileDirectory';\r\nimport { StorageService } from 'src/app/services/storage/storage.service';\r\n\r\n@Component({\r\n selector: 'app-headquarter-storage-modal',\r\n templateUrl: './headquarter-storage-modal.component.html',\r\n styleUrls: ['./headquarter-storage-modal.component.css']\r\n})\r\nexport class HeadquarterStorageModalComponent implements OnInit {\r\n fileForm: FormGroup\r\n title: string;\r\n loading: boolean = false;\r\n isAdminGys: boolean = false;\r\n sessionUserId: string;\r\n storageFileSelect: number = 1;\r\n directoryTypeSelect: number = 1;\r\n storageTypeSelect: number = 1;\r\n storageTypeSelect2: number = 1;\r\n listFiles: Array;\r\n listFilesInit: Array;\r\n arrayData: headquarterStorage[];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private storageService: StorageService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService) { }\r\n\r\n ngOnInit() {\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.createForm();\r\n this.getData();\r\n }\r\n\r\n changeDirectory(data){\r\n if(data.value == 1){\r\n this.listFiles = this.listFilesInit.filter(x => x.blobStorage == 1 && x.isHeadquarter == 1);\r\n }else if(data.value == 2){\r\n this.listFiles = this.listFilesInit.filter(x => x.dataLakeStorage == 1 && x.isHeadquarter == 1);\r\n }\r\n }\r\n\r\n getData() {\r\n this.spinner.show();\r\n this.storageService.get(this.data.idEnterprise,this.data.idHeadquarter).subscribe((response => {\r\n if(response.error == null && response.data != null){\r\n console.log(response);\r\n this.listFilesInit = response.data.fileDirectories;\r\n this.listFiles = response.data.fileDirectories.filter(x => x.blobStorage == 1 && x.isHeadquarter == 1);\r\n this.storageTypeSelect = response.data.idStorageType;\r\n this.storageTypeSelect2 = response.data.idStorageType2;\r\n this.fileForm.patchValue({\r\n idStorageType: response.data.idStorageType,\r\n storagePath: response.data.storagePath,\r\n idStorageType2: response.data.idStorageType2,\r\n storagePath2: response.data.storagePath2,\r\n dataLakePath: response.data.dataLakePath,\r\n });\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n createForm() {\r\n this.fileForm = this.formBuilder.group({\r\n idDirectoryType: [1,[Validators.required]],\r\n idStorageType: [0,[Validators.required]],\r\n storagePath: [''],\r\n idStorageType2: [0],\r\n storagePath2: [''],\r\n dataLakePath: ['']\r\n });\r\n }\r\n\r\n get f() { return this.fileForm.controls; }\r\n\r\n openConfirmationModal() {\r\n if (this.fileForm.valid) {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_HEADQUARTER_FILE,\r\n message: AppConstants.MessageModal.UPDATE_MESSAGE_ENTERPRISE_SETTING_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.update();\r\n }\r\n });\r\n\r\n } else {\r\n this.fileForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n update() {\r\n\r\n if(this.fileForm.valid){\r\n\r\n this.listFilesInit.forEach(obj => {\r\n obj.idEnterprise = this.data.idEnterprise;\r\n obj.idHeadquarter = this.data.idHeadquarter;\r\n });\r\n\r\n var data = {\r\n idEnterprise: this.data.idEnterprise,\r\n idHeadquarter: this.data.idHeadquarter,\r\n idStorageType: this.fileForm.value[\"idStorageType\"],\r\n idStorageType2: this.fileForm.value[\"idStorageType2\"],\r\n storagePath: this.fileForm.value[\"storagePath\"],\r\n storagePath2: this.fileForm.value[\"storagePath2\"],\r\n dataLakePath: this.fileForm.value[\"dataLakePath\"],\r\n fileDirectories: this.listFilesInit,\r\n isDirectoryHeadquarter: 1\r\n }\r\n this.spinner.show();\r\n this.storageService.update(data).subscribe((response => {\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal.UPDATE_ENTERPRISE_SETTING, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(\"\", error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.fileForm.markAllAsTouched();\r\n this.alertService.showMessage(\"\", AppConstants.MessageModal, MessageSeverity.error);\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n changeValue(item,event:any){\r\n this.listFilesInit.forEach(obj => {\r\n if(obj.idFileDirectory==item.idFileDirectory){\r\n obj.name = event.target.value;\r\n }\r\n });\r\n console.log('files',this.listFilesInit);\r\n }\r\n}\r\n","
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, Inject, OnInit, Pipe } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-image-modal',\r\n templateUrl: './image-modal.component.html',\r\n styleUrls: ['./image-modal.component.css']\r\n})\r\n\r\nexport class ImageModalComponent implements OnInit {\r\n image: any;\r\n urlSafe: string;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private _sanitizer: DomSanitizer) {\r\n this.urlSafe= this.data.image;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n AƱadir Pin en la zona\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n DirecciĆ³n\r\n \r\n Predeterminado\r\n Opuesta\r\n \r\n \r\n
    \r\n
    \r\n

    Seleccione el icono de preferencia:

    \r\n
    0\">\r\n

    Mis Pines

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    0\">\r\n
    0\">\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, EventEmitter, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { EnterprisePinMaps } from 'src/app/models/enterprise/enterprisePinMaps';\r\nimport { PinModel } from 'src/app/models/zone/pin';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-location-pin-camera-modal',\r\n templateUrl: './location-pin-camera-modal.component.html',\r\n styleUrls: ['./location-pin-camera-modal.component.css']\r\n})\r\nexport class LocationPinCameraModalComponent implements OnInit {\r\n\r\n locationForm: FormGroup;\r\n listPinMaps = Array();\r\n selectPinId:number;\r\n selectPinPath:number;\r\n listDefaultPinMaps = Array();\r\n public event: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private alertService: AlertService,\r\n private zoneService: ZoneService) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.clearFields();\r\n this.getListPin();\r\n this.getListPinDefault();\r\n }\r\n\r\n createForm() {\r\n this.locationForm = this.formBuilder.group({\r\n // idPinMap: ['', Validators.required],\r\n oppositeMapDirection: [0, Validators.required],\r\n })\r\n }\r\n\r\n selectPinList(item){\r\n this.selectPinId = item.id;\r\n this.selectPinPath = item.path;\r\n }\r\n\r\n close() {\r\n this.dialogRef.close({\r\n event: 'close',\r\n data: null\r\n });\r\n }\r\n\r\n clearFields() {\r\n //this.locationForm.controls['idPinMap'].setValue('');\r\n this.locationForm.controls['oppositeMapDirection'].setValue(0);\r\n }\r\n\r\n getListPin() {\r\n\r\n var filter = {\r\n idEnterprise: this.data.idEnterprise,\r\n idHeadquarter: this.data.idHeadquarter,\r\n idSystem: 1\r\n }\r\n console.log(filter);\r\n this.zoneService.getListPines(filter).subscribe((response => {\r\n if(response.error == null){\r\n this.listPinMaps = response.data;\r\n /*if(this.listPinMaps.length > 0){\r\n this.locationForm.controls['idPinMap'].setValue(this.listPinMaps[0].id);\r\n }*/\r\n }\r\n /*if(response.idStorageFile == 1){ // Mode Local\r\n response.enterprisePinMap.forEach(function (x) {\r\n x.path = environment.pathFile + x.path;\r\n });\r\n }\r\n this.listPinMaps = response.enterprisePinMap;\r\n if(this.listPinMaps.length > 0){\r\n this.locationForm.controls['idPinMap'].setValue(this.listPinMaps[0].pinMapId);\r\n }*/\r\n }),\r\n (error: HttpErrorResponse) => {\r\n });\r\n }\r\n\r\n getListPinDefault(){\r\n var filter = {\r\n idSystem: 1\r\n }\r\n this.zoneService.getListDefaultPines(filter).subscribe((response => {\r\n if(response.error == null){\r\n this.listDefaultPinMaps = response.data;\r\n }\r\n }),\r\n (error: HttpErrorResponse) => {\r\n });\r\n }\r\n\r\n openConfirmationModal(){\r\n if(this.locationForm.valid && this.selectPinId) {\r\n //var pin = this.listPinMaps.filter(x => x.id == this.locationForm.get(\"idPinMap\").value)[0];\r\n var data = {\r\n pinMap: this.selectPinId,//this.locationForm.get(\"idPinMap\").value,\r\n direction: this.locationForm.get(\"oppositeMapDirection\").value,\r\n path: this.selectPinPath\r\n };\r\n this.dialogRef.close({\r\n event: 'close',\r\n data: data\r\n });\r\n }else{\r\n this.alertService.showMessage(\"Debe completar todos los campos\", \"\", MessageSeverity.error);\r\n }\r\n }\r\n\r\n}\r\n","

    \r\n \r\n {{ data.title }} \r\n \r\n \r\n \r\n

    \r\n\r\n {{ data.message }}\r\n\r\n\r\n \r\n \r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'message-modal',\r\n templateUrl: 'message-modal.component.html',\r\n styleUrls: ['./message-modal.component.css']\r\n})\r\n\r\nexport class MessageModalComponent implements OnInit {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n close(){\r\n this.data.result = false\r\n this.dialogRef.close(this.data)\r\n }\r\n\r\n onClickAccept(){\r\n this.data.result = true\r\n this.dialogRef.close(this.data)\r\n }\r\n}","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Actuador*\r\n \r\n \r\n {{sensor.name}}\r\n \r\n \r\n \r\n El actuador es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nomenclatura*\r\n \r\n \r\n La nomenclatura requerida.\r\n \r\n \r\n La nomenclatura no puede ser mayor a 30 caracteres.\r\n \r\n \r\n La nomenclatura no puede ser menor a 2 caracteres.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport { SensorReadingplaceService } from 'src/app/services/sensor-readingplace/sensor-readingplace.service';\r\nimport { SensorService } from 'src/app/services/sensor/sensor.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { MessageModalComponent } from '../message/message-modal.component';\r\nimport { SensorTypeService } from 'src/app/services/sensor-type/sensor-type.service';\r\nimport { ActuatorService } from 'src/app/services/actuator/actuator.service';\r\n\r\n@Component({\r\n selector: 'app-panel-actuator-modal',\r\n templateUrl: './panel-actuator-modal.component.html',\r\n styleUrls: ['./panel-actuator-modal.component.css']\r\n})\r\nexport class PanelActuatorModalComponent implements OnInit {\r\n\r\n sensorForm: FormGroup;\r\n actuators = [];\r\n graphs = [];\r\n sensorReadingPlaces = [];\r\n sensorTypes = [];\r\n sensorTypeSelect = 0;\r\n sensorTypeGraphSelect = 0;\r\n actuatorSelect = 0;\r\n constructor(\r\n private spinner: NgxSpinnerService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private actuatorService: ActuatorService,\r\n private sensorTypeService: SensorTypeService,\r\n private sensorReadingplaceService: SensorReadingplaceService,\r\n private panelIOTService: PanelIOTService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.getActuators();\r\n }\r\n\r\n setValue(){\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.sensorForm.controls['nomenclature'].setValue(this.data.obj.nomenclature);\r\n this.sensorForm.controls['idActuator'].setValue(this.data.obj.idActuator);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.sensorForm = this.formBuilder.group({\r\n idActuator: ['', [Validators.required]],\r\n nomenclature: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]]\r\n });\r\n }\r\n\r\n get f() { return this.sensorForm.controls; }\r\n\r\n getActuators(){\r\n this.spinner.show();\r\n this.actuatorService.getListAll(this.data.idEnterprise,this.data.idHeadquarter).subscribe((response) => {\r\n this.actuators = response.data;\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.actuatorSelect = this.data.obj.idActuator;\r\n }else{\r\n this.actuatorSelect = this.actuators[0][\"id\"];\r\n }\r\n\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n\r\n /* if(this.data.action == AppConstants.OperationType.ADD){\r\n this.sensorForm.controls['nomenclature'].setValue(this.sensors[0].nomenclatureInit);\r\n this.sensorForm.controls['idSensor'].setValue(this.sensors[0].id);\r\n } */\r\n }\r\n\r\n save(){\r\n if(this.sensorForm.valid){\r\n const payload = {\r\n id: this.data.action == AppConstants.OperationType.ADD ? 0 : this.data.obj.id,\r\n nomenclature: this.sensorForm.value[\"nomenclature\"],\r\n idEnterprise: this.data.isAdminGys ? this.data.idEnterprise : localStorage.getItem(AppConstants.Session.ENTERPRISE),\r\n idHeadquarter: this.data.idHeadquarter,\r\n idGateway: this.data.idGateway,\r\n idZone: this.data.idZone,\r\n idActuator: this.sensorForm.value[\"idActuator\"],\r\n idUser: localStorage.getItem(AppConstants.Session.USERID),\r\n }\r\n\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.panelIOTService.createActuator(payload).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_HEADQUARTER, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }else{\r\n this.panelIOTService.updateActuator(payload).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_HEADQUARTER, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }\r\n\r\n }else{\r\n this.sensorForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n changeSensor(data) {\r\n var sensor = this.actuators.filter(x => x.id == data.value)[0];\r\n this.sensorForm.controls['idActuator'].setValue(data.value);\r\n this.sensorForm.controls['nomenclature'].setValue(sensor.nomenclatureInit);\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n\r\n delete() {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteItem();\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteItem() {\r\n this.spinner.show();\r\n this.panelIOTService.deleteSensor(this.data.obj.id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SENSOR, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SENSOR, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n}\r\n\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n Sensor*\r\n \r\n \r\n {{sensor.name}}\r\n \r\n \r\n \r\n El sensor es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Tipo de Sensor*\r\n \r\n \r\n {{sensor.name}}\r\n \r\n \r\n \r\n El tipo de sensor es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n GrƔfico*\r\n \r\n \r\n {{graph.graph}}\r\n \r\n \r\n \r\n El grƔfico es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n UbicaciĆ³n de lectura*\r\n \r\n \r\n {{sensorReadingPlace.name}}\r\n \r\n \r\n \r\n La UbicaciĆ³n de lectura es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nomenclatura*\r\n \r\n \r\n La nomenclatura requerida.\r\n \r\n \r\n La nomenclatura no puede ser mayor a 30 caracteres.\r\n \r\n \r\n La nomenclatura no puede ser menor a 2 caracteres.\r\n \r\n \r\n
    \r\n
    \r\n \r\n El tiempo de consulta de streaming(s.)*\r\n \r\n \r\n El tiempo de consulta de streaming es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Seleccione el icono de preferencia:

    \r\n
    0\">\r\n

    Mis Pines

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    0\">\r\n
    0\">\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Cantidad de alerta MĆ­nima\r\n \r\n \r\n
    \r\n
    \r\n \r\n Cantidad de alerta MƔxima\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport { SensorReadingplaceService } from 'src/app/services/sensor-readingplace/sensor-readingplace.service';\r\nimport { SensorService } from 'src/app/services/sensor/sensor.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { MessageModalComponent } from '../message/message-modal.component';\r\nimport { SensorTypeService } from 'src/app/services/sensor-type/sensor-type.service';\r\nimport { PinModel } from 'src/app/models/zone/pin';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\n\r\n@Component({\r\n selector: 'app-panel-sensor-modal',\r\n templateUrl: './panel-sensor-modal.component.html',\r\n styleUrls: ['./panel-sensor-modal.component.css']\r\n})\r\nexport class PanelSensorModalComponent implements OnInit {\r\n\r\n sensorForm: FormGroup;\r\n sensors = [];\r\n graphs = [];\r\n sensorReadingPlaces = [];\r\n sensorTypes = [];\r\n sensorTypeSelect = 0;\r\n sensorTypeGraphSelect = 0;\r\n listPinMaps = Array();\r\n selectPinId:number;\r\n selectPinPath:number;\r\n listDefaultPinMaps = Array();\r\n constructor(\r\n private spinner: NgxSpinnerService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private sensorService: SensorService,\r\n private sensorTypeService: SensorTypeService,\r\n private sensorReadingplaceService: SensorReadingplaceService,\r\n private panelIOTService: PanelIOTService,\r\n public dialog: MatDialog,\r\n private zoneService: ZoneService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.getSensors();\r\n this.getListPin();\r\n this.getListPinDefault();\r\n }\r\n\r\n setValue(){\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.sensorForm.controls['nomenclature'].setValue(this.data.obj.nomenclature);\r\n this.sensorForm.controls['idSensor'].setValue(this.data.obj.idSensor);\r\n this.sensorForm.controls['idReadingPlace'].setValue(this.data.obj.idSensorReadingPlace);\r\n this.sensorForm.controls['streamingTime'].setValue(this.data.obj.streamingTime);\r\n this.sensorForm.controls['minAlert'].setValue(this.data.obj.minAlert);\r\n this.sensorForm.controls['maxAlert'].setValue(this.data.obj.maxAlert);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.sensorForm = this.formBuilder.group({\r\n idSensor: ['', [Validators.required]],\r\n idSensorType: ['', [Validators.required]],\r\n idGraph: ['', [Validators.required]],\r\n nomenclature: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]],\r\n idReadingPlace: ['', [Validators.required]],\r\n streamingTime: [60, [Validators.required]],\r\n minAlert: [0],\r\n maxAlert: [0]\r\n });\r\n }\r\n\r\n getListPin() {\r\n\r\n var filter = {\r\n idEnterprise: this.data.idEnterprise,\r\n idHeadquarter: this.data.idHeadquarter,\r\n idSystem: 2\r\n }\r\n console.log(filter);\r\n this.zoneService.getListPines(filter).subscribe((response => {\r\n if(response.error == null){\r\n this.listPinMaps = response.data;\r\n /*if(this.listPinMaps.length > 0){\r\n this.locationForm.controls['idPinMap'].setValue(this.listPinMaps[0].id);\r\n }*/\r\n }\r\n /*if(response.idStorageFile == 1){ // Mode Local\r\n response.enterprisePinMap.forEach(function (x) {\r\n x.path = environment.pathFile + x.path;\r\n });\r\n }\r\n this.listPinMaps = response.enterprisePinMap;\r\n if(this.listPinMaps.length > 0){\r\n this.locationForm.controls['idPinMap'].setValue(this.listPinMaps[0].pinMapId);\r\n }*/\r\n }),\r\n (error: HttpErrorResponse) => {\r\n });\r\n}\r\n\r\ngetListPinDefault(){\r\n var filter = {\r\n idSystem: 2\r\n }\r\n this.zoneService.getListDefaultPines(filter).subscribe((response => {\r\n if(response.error == null){\r\n this.listDefaultPinMaps = response.data;\r\n }\r\n }),\r\n (error: HttpErrorResponse) => {\r\n });\r\n}\r\n\r\nselectPinList(item){\r\n this.selectPinId = item.id;\r\n this.selectPinPath = item.path;\r\n}\r\n\r\n get f() { return this.sensorForm.controls; }\r\n\r\n getGraphs(change = 0){\r\n this.spinner.show();\r\n this.sensorTypeService.getListGraphAll(this.sensorTypeSelect).subscribe((response) => {\r\n if(response.error == null){\r\n this.graphs = response.data;\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.sensorForm.controls['idGraph'].setValue(this.data.obj.idGraph);\r\n }else{\r\n this.sensorForm.controls['idGraph'].setValue(this.graphs[0].id);\r\n }\r\n }\r\n if(change == 0){\r\n this.getSensorReadingplaces();\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getSensorTypes(){\r\n this.spinner.show();\r\n this.sensorTypeService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.sensorTypes = response.data;\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.sensorForm.controls['idSensorType'].setValue(this.data.obj.idSensorType);\r\n this.sensorTypeSelect = this.data.obj.idSensorType;\r\n }else{\r\n this.sensorForm.controls['idSensorType'].setValue(this.sensorTypes[0].id);\r\n this.sensorTypeSelect = this.sensorTypes[0].id;\r\n }\r\n }\r\n this.spinner.hide();\r\n this.getGraphs();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n changeSensorType(e:any){\r\n this.sensorTypeSelect = e.value;\r\n this.getGraphs(1);\r\n }\r\n\r\n getSensorReadingplaces(){\r\n this.spinner.show();\r\n this.sensorReadingplaceService.getListAll(this.data.idEnterprise,this.data.idHeadquarter).subscribe((response) => {\r\n if(response.error == null){\r\n this.sensorReadingPlaces = response.data;\r\n if(this.sensorReadingPlaces.length>0){\r\n this.sensorForm.controls['idReadingPlace'].setValue(this.sensorReadingPlaces[0].id);\r\n }\r\n }\r\n this.setValue();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getSensors(){\r\n this.sensors=this.data.sensors;\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.sensorForm.controls['nomenclature'].setValue(this.sensors[0].nomenclatureInit);\r\n this.sensorForm.controls['idSensor'].setValue(this.sensors[0].id);\r\n }\r\n this.getSensorTypes();\r\n }\r\n\r\n save(){\r\n if(this.sensorForm.valid && this.selectPinId){\r\n const payload = {\r\n id: this.data.action == AppConstants.OperationType.ADD ? 0 : this.data.obj.id,\r\n nomenclature: this.sensorForm.value[\"nomenclature\"],\r\n idGraph:this.sensorForm.value[\"idGraph\"],\r\n idSensorType:this.sensorForm.value[\"idSensorType\"],\r\n idEnterprise: this.data.isAdminGys ? this.data.idEnterprise : localStorage.getItem(AppConstants.Session.ENTERPRISE),\r\n idHeadquarter: this.data.idHeadquarter,\r\n idZone: this.data.idZone,\r\n idGateway: this.data.idGateway,\r\n idSensor: this.sensorForm.value[\"idSensor\"],\r\n idSensorReadingPlace: this.sensorForm.value[\"idReadingPlace\"],\r\n idUser: localStorage.getItem(AppConstants.Session.USERID),\r\n streamingTime:this.sensorForm.value[\"streamingTime\"],\r\n minAlert:this.sensorForm.value[\"minAlert\"],\r\n maxAlert:this.sensorForm.value[\"maxAlert\"],\r\n idPin: this.selectPinId\r\n }\r\n\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.panelIOTService.createSensor(payload).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_HEADQUARTER, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }else{\r\n this.panelIOTService.updateSensor(payload).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_HEADQUARTER, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }\r\n\r\n }else{\r\n if(!this.selectPinId){\r\n this.alertService.showMessage(\"\", \"Seleccione el Pin del sensor\", MessageSeverity.error);\r\n }\r\n this.sensorForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n changeSensor(data) {\r\n var sensor = this.sensors.filter(x => x.id == data.value)[0];\r\n this.sensorForm.controls['nomenclature'].setValue(sensor.nomenclatureInit);\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n\r\n delete() {\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_CONFIRMATION_TITLE,\r\n message: `${AppConstants.MessageModal.DELETE_DEFAULT}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n width: '600px',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteItem();\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteItem() {\r\n this.spinner.show();\r\n this.panelIOTService.deleteSensor(this.data.obj.id).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SENSOR, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_SENSOR, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n}\r\n\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ObservaciĆ³n\r\n \r\n \r\n La observaciĆ³n es requerida.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MessageModalComponent } from '../../../message/message-modal.component';\r\nimport { AppConstants } from '../../../../../constants/app.contants';\r\nimport { CameraPost, UserValidate } from '../../../../../../models/alert/alert';\r\nimport { CameraService } from '../../../../../../services/camera/camera.service';\r\nimport { AlertService, MessageSeverity } from '../../../../../services/alert.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\nimport { EmitterService } from '../../../../../services/emitter.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { OcurrenceService } from 'src/app/services/Ocurrence/ocurrence.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'panel-camera-alert-modal',\r\n templateUrl: './panel-camera-alert-modal.component.html',\r\n styleUrls: ['./panel-camera-alert-modal.component.css'],\r\n providers: [DatePipe]\r\n})\r\n\r\nexport class PanelCameraAlertModalComponent implements OnInit {\r\n\r\n alertForm: FormGroup\r\n\r\n hide = true;\r\n\r\n subscription: Subscription;\r\n\r\n loading: boolean = false;\r\n\r\n myDate = new Date();\r\n localSave: string;\r\n horaSave: string;\r\n update = false;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialog: MatDialog,\r\n private formBuilder: FormBuilder,\r\n private CameraService: CameraService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService,\r\n private datePipe: DatePipe,\r\n public dialogRef: MatDialogRef,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.localSave = this.datePipe.transform(this.myDate, 'yyyy/MM/dd');\r\n this.horaSave = this.datePipe.transform(this.myDate, 'HH:mm');\r\n this.createForm();\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListPanelCamara) {\r\n\r\n }\r\n });\r\n }\r\n\r\n createForm() {\r\n this.alertForm = this.formBuilder.group({\r\n // password: ['', [Validators.required, Validators.minLength(6), Validators.maxLength(6)]],\r\n description: [''] // , [Validators.required, Validators.maxLength(500)]\r\n })\r\n }\r\n\r\n get f() { return this.alertForm.controls; }\r\n\r\n postCameraSave(model: CameraPost) {\r\n if(this.data.stateId == 2){\r\n this.CameraService.postCameraAlertAttentioon(model).subscribe(response => {\r\n this.alertService.showMessage(\r\n AppConstants.TitleModal.CREATE_OCURRENCE,\r\n AppConstants.MessageModal.OCURRENCE_MESSAGER_CONFIRM + ' \"' + this.data.mode2 + '\" ' + AppConstants.MessageModal.OCURRENCE_NEXT_CONFIRM,\r\n MessageSeverity.success);\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListPanelCamara);\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(\r\n AppConstants.TitleModal.ERROR_TITLE,\r\n AppConstants.MessageModal.DATA_ERROR_MESSAGE,\r\n MessageSeverity.error);\r\n });\r\n }else{\r\n this.CameraService.postCameraAlert(model).subscribe(response => {\r\n\r\n this.alertService.showMessage(\r\n AppConstants.TitleModal.CREATE_OCURRENCE,\r\n AppConstants.MessageModal.OCURRENCE_MESSAGER_CONFIRM + ' \"' + this.data.mode2 + '\" ' + AppConstants.MessageModal.OCURRENCE_NEXT_CONFIRM,\r\n MessageSeverity.success);\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListPanelCamara);\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(\r\n AppConstants.TitleModal.ERROR_TITLE,\r\n AppConstants.MessageModal.DATA_ERROR_MESSAGE,\r\n MessageSeverity.error);\r\n });\r\n }\r\n\r\n let registers =\r\n {\r\n cameraId: this.data.cameraId\r\n }\r\n this.CameraService.postColor(registers).subscribe(\r\n result => {\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n }\r\n );\r\n\r\n this.update = true;\r\n this.close();\r\n }\r\n\r\n UserValidateSend(modelUser: UserValidate) {\r\n // this.CameraService.postUserValidate(modelUser).subscribe(response => {\r\n\r\n // if (response) {\r\n\r\n // this.OcurrenceService.OcurrenceById(this.data.ocurrenceId).subscribe((responses) => {\r\n // debugger;\r\n var model = new CameraPost;\r\n model.idOcurrence = this.data.ocurrenceId;\r\n model.EnterpriseId = this.data.enterpiseId;\r\n model.CameraId = this.data.cameraId;\r\n model.AlertId = this.data.alertId;\r\n model.Description = this.alertForm.value[\"description\"];\r\n model.userId = parseInt(localStorage.getItem(AppConstants.Session.USERID));\r\n model.stateId = this.data.stateId;\r\n model.idAttention = this.data.attetionI;\r\n model.DateRegister = this.localSave+\"T\"+this.horaSave+\":21.632Z\";\r\n this.postCameraSave(model);\r\n // });\r\n\r\n // } else {\r\n\r\n // this.alertService.showMessage(\r\n // AppConstants.TitleModal.WARNING_TITLE,\r\n // AppConstants.MessageModal.USERNAME_PASSWORD_ERROR_MESSAGE,\r\n // MessageSeverity.error);\r\n\r\n // }\r\n\r\n // },\r\n // (error: HttpErrorResponse) => {\r\n // this.alertService.showMessage(\r\n // AppConstants.TitleModal.ERROR_TITLE,\r\n // AppConstants.MessageModal.USERNAME_PASSWORD_ERROR_MESSAGE,\r\n // MessageSeverity.error);\r\n // });\r\n\r\n // this.loading = false;\r\n }\r\n\r\n openConfirmDialog() {\r\n if (this.alertForm.valid) {\r\n const dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CONFIRM_TITLE,\r\n message: AppConstants.MessageModal.REGISTER_MESSAGE_ALERT_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n })\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n if (this.alertForm.valid) {\r\n if (this.alertForm.value[\"description\"] == \"\" ||\r\n this.alertForm.value[\"description\"] == undefined) {\r\n\r\n this.alertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.REQUIRED_FIELDS_MESSAGE,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n\r\n this.loading = true;\r\n var modelUser = new UserValidate;\r\n modelUser.userId = parseInt(localStorage.getItem(AppConstants.Session.USERID));\r\n modelUser.password = this.alertForm.value[\"password\"];\r\n\r\n this.UserValidateSend(modelUser);\r\n }else{\r\n this.alertForm.markAllAsTouched();\r\n }\r\n }else{\r\n if (this.alertForm.valid) {\r\n }else{\r\n this.alertForm.markAllAsTouched();\r\n }\r\n }\r\n });\r\n }else{\r\n this.alertForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n close() {\r\n this.dialogRef.close({update: this.update});\r\n }\r\n\r\n closeModal(){\r\n this.update = false;\r\n this.close();\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ model }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Datos Alerta

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    0\" >\r\n chevron_left\r\n
    \r\n
    0\" >\r\n chevron_right\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n ","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { PanelCameraAlertModalComponent } from './alert/panel-camera-alert-modal.component';\r\nimport { OcurrenceService } from '../../../../../services/Ocurrence/ocurrence.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { AlertsServices } from 'src/app/services/alert/alert.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MessageModalComponent } from '../../message/message-modal.component';\r\n\r\n@Component({\r\n selector: 'panel-camera-modal',\r\n templateUrl: './panel-camera-modal.component.html',\r\n styleUrls: ['./panel-camera-modal.component.css'],\r\n providers: [DatePipe]\r\n})\r\n\r\nexport class PanelCameraModalComponent implements OnInit {\r\n\r\n hide = true;\r\n repeatHide = true;\r\n\r\n model: string = \"\";\r\n alertName:string = \"\";\r\n fecha: string = \"\";\r\n hora: string = \"\";\r\n alert: number;\r\n ocurrence: number;\r\n path: string = \"\";\r\n state: number;\r\n error: string = \"\";\r\n messageButton: string = \"\";\r\n attetion: number;\r\n\r\n myDate = new Date();\r\n localSave: string;\r\n horaSave: string;\r\n\r\n loading: boolean = false;\r\n update = false;\r\n alerts = [];\r\n index = 0;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public dialog: MatDialog,\r\n private datePipe: DatePipe,\r\n private OcurrenceService: OcurrenceService,\r\n private emitterService: EmitterService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.extractAlert();\r\n this.localSave = this.datePipe.transform(this.myDate, 'yyyy/MM/dd');\r\n this.horaSave = this.datePipe.transform(this.myDate, 'HH:mm');\r\n this.alerts = this.data.alerts;\r\n this.index = this.data.index;\r\n }\r\n\r\n leftAlert(){\r\n this.dialogRef.close({update:false,newId: this.data.beforeId});\r\n }\r\n\r\n rightAlert(){\r\n this.dialogRef.close({update:false,newId: this.data.afterId});\r\n\r\n /*var newAfterId = this.index + 1,newBefore = this.index - 1;\r\n if(this.index > 0){\r\n this.data.beforeId = this.alerts[newBefore].ocurennceId;\r\n if(alerts > (this.index+1)){\r\n this.data.afterId = this.alerts[newAfterId].ocurennceId;\r\n }\r\n }else{\r\n if(alerts > (this.index+1)){\r\n this.data.afterId = this.alerts[newAfterId].ocurennceId;\r\n }\r\n }\r\n this.index = this.index+1;*/\r\n }\r\n\r\n zoom(){\r\n let customFunction = function (url) {\r\n window.open(url);\r\n };\r\n\r\n // define elements\r\n let options = {\r\n container: \"#container\",\r\n zoom: \"#zoomlevel\",\r\n zoomIn: \"#zoomin\",\r\n zoomOut: \"#zoomout\",\r\n src: this.path,\r\n\r\n // from x, from y, to x, to y, title, url or function, ...any function arguments\r\n map: []\r\n };\r\n\r\n let ZoomPan = function (options) {\r\n // options / customisables\r\n let zoomSteps = options.zoomSteps || 100,\r\n stepSize = options.stepSize || 10,\r\n wheelSize = options.wheelSize || options.stepSize || 10,\r\n maxImageScale = options.maxImageScale || 1,\r\n imageSrc = options.src,\r\n map = options.map || [],\r\n container = document.querySelector(options.container),\r\n zoom = document.querySelector(options.zoom),\r\n zoomIn = document.querySelector(options.zoomIn),\r\n zoomOut = document.querySelector(options.zoomOut);\r\n\r\n // automatics\r\n let containerWidth,\r\n containerHeight,\r\n containerRatio,\r\n minImageScale,\r\n imageScaleRange,\r\n imageScale = 1,\r\n imageTranslateX = 0,\r\n imageTranslateY = 0,\r\n focalPoint,\r\n displayFocalPoint;\r\n\r\n zoom.min = 0;\r\n zoom.max = zoomSteps;\r\n zoom.value = zoomSteps / 2;\r\n zoom.value = 0;\r\n\r\n // handle interaction results\r\n\r\n let loadUrl = function (url) {\r\n window.location.assign(url);\r\n };\r\n\r\n let triggerMapClick = function (i) {\r\n let call = loadUrl;\r\n let args = map[i].slice(5);\r\n if (typeof map[i][5] === \"function\") {\r\n call = map[i][5];\r\n args = map[i].slice(6);\r\n }\r\n call.apply(this, args);\r\n };\r\n\r\n let naturaliseCoords = function (coords) {\r\n return {\r\n x: displayFocalPoint.x + (coords.x - containerWidth / 2) / imageScale,\r\n y: displayFocalPoint.y + (coords.y - containerHeight / 2) / imageScale\r\n };\r\n };\r\n\r\n let findMapMatch = function (coords) {\r\n for (let i in map) {\r\n if (\r\n map[i][0] < coords.x &&\r\n map[i][1] < coords.y &&\r\n map[i][2] > coords.x &&\r\n map[i][3] > coords.y\r\n ) {\r\n return i;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n let makeCoords = function (x, y) {\r\n return { x, y };\r\n };\r\n\r\n // handle events\r\n\r\n let dragging = false;\r\n let moved = false;\r\n\r\n let processClick = function (x, y) {\r\n let mapMatch = findMapMatch(naturaliseCoords(makeCoords(x, y)));\r\n if (mapMatch) {\r\n triggerMapClick(mapMatch);\r\n }\r\n };\r\n\r\n let hoverMatch = null;\r\n let handleMove = function (x, y, xMove, yMove) {\r\n let coords = naturaliseCoords(makeCoords(x, y));\r\n\r\n let mapMatch = findMapMatch(naturaliseCoords(makeCoords(x, y)));\r\n if (mapMatch !== null && mapMatch !== hoverMatch) {\r\n hoverMatch = mapMatch;\r\n image.style.cursor = \"pointer\";\r\n image.title = map[mapMatch][4];\r\n }\r\n\r\n if (mapMatch === null && hoverMatch !== null) {\r\n hoverMatch = null;\r\n image.style.cursor = \"\";\r\n image.title = \"\";\r\n }\r\n\r\n if (!dragging) {\r\n return;\r\n }\r\n\r\n focalPoint = { x: focalPoint.x - xMove, y: focalPoint.y - yMove };\r\n moved = true;\r\n\r\n positionImage();\r\n };\r\n\r\n let handleClick = function (e) {\r\n if (moved) {\r\n return;\r\n }\r\n processClick(e.clientX - e.target.x, e.clientY - e.target.y);\r\n };\r\n\r\n let handleMouseDown = function (e) {\r\n e.preventDefault();\r\n dragging = true;\r\n moved = false;\r\n };\r\n\r\n let handleMouseMove = function (e) {\r\n handleMove(e.clientX, e.clientY, e.movementX, e.movementY);\r\n };\r\n\r\n let handleMouseUp = function (e) {\r\n dragging = false;\r\n moved = false;\r\n };\r\n\r\n let handleTap = function (e) {\r\n processClick(\r\n e.touches[0].clientX - e.touches[0].target.x,\r\n e.touches[0].clientY - e.touches[0].target.y\r\n );\r\n };\r\n\r\n let lastTouch, touchStartEvent;\r\n let startPosition = {};\r\n let handleTouchStart = function (e) {\r\n touchStartEvent = e;\r\n startPosition = { x: e.touches[0].clientX, y: e.touches[0].clientY };\r\n this.startDrag(e);\r\n };\r\n\r\n let handleTouchMove = function (e) {\r\n let touch = { x: e.touches[0].clientX, y: e.touches[0].clientY };\r\n if (!lastTouch) {\r\n lastTouch = { x: touch.x, y: touch.y };\r\n }\r\n handleMove(touch.x, touch.y, touch.x - lastTouch.x, touch.y - lastTouch.y);\r\n lastTouch = { x: touch.x, y: touch.y };\r\n };\r\n\r\n let handleTouchEnd = function (e) {\r\n lastTouch = null;\r\n if (!moved) {\r\n handleTap(touchStartEvent);\r\n }\r\n this.endDrag(e);\r\n };\r\n\r\n // position / size calculations\r\n\r\n let getContainerSize = function () {\r\n containerWidth = container.offsetWidth;\r\n containerHeight = container.offsetHeight;\r\n containerRatio = containerHeight / containerWidth;\r\n };\r\n\r\n let checkFocalPoint = function () {\r\n displayFocalPoint = { x: focalPoint.x, y: focalPoint.y };\r\n let xScaleWidth = image.naturalWidth * imageScale;\r\n let xScaleMargin = (image.naturalWidth - xScaleWidth) / 2;\r\n let xMax = xScaleMargin + xScaleWidth - containerWidth / 2;\r\n let xMin = xScaleMargin + containerWidth / 2;\r\n\r\n if (displayFocalPoint.x > xMax) displayFocalPoint.x = xMax;\r\n if (displayFocalPoint.x < xMin) displayFocalPoint.x = xMin;\r\n if (xScaleWidth < containerWidth) {\r\n displayFocalPoint.x = xScaleMargin + xScaleWidth / 2;\r\n }\r\n\r\n let yScaleHeight = image.naturalHeight * imageScale;\r\n let yScaleMargin = (image.naturalHeight - yScaleHeight) / 2;\r\n let yMax = yScaleMargin + yScaleHeight - containerHeight / 2;\r\n let yMin = yScaleMargin + containerHeight / 2;\r\n\r\n if (displayFocalPoint.y > yMax) displayFocalPoint.y = yMax;\r\n if (displayFocalPoint.y < yMin) displayFocalPoint.y = yMin;\r\n if (yScaleHeight < containerHeight) {\r\n displayFocalPoint.y = yScaleMargin + yScaleHeight / 2;\r\n }\r\n if (dragging) {\r\n focalPoint = displayFocalPoint;\r\n }\r\n };\r\n\r\n let positionImage = function () {\r\n checkFocalPoint();\r\n\r\n imageTranslateX =\r\n -(image.naturalWidth - containerWidth) / 2 -\r\n (displayFocalPoint.x - image.naturalWidth / 2);\r\n imageTranslateY =\r\n -(image.naturalHeight - containerHeight) / 2 -\r\n (displayFocalPoint.y - image.naturalHeight / 2);\r\n\r\n updateStyles();\r\n };\r\n\r\n let sizeImage = function () {\r\n if (!focalPoint) {\r\n return;\r\n }\r\n if (containerRatio > imageRatio) {\r\n minImageScale = containerWidth / image.naturalWidth;\r\n } else {\r\n minImageScale = containerHeight / image.naturalHeight;\r\n }\r\n\r\n imageScale =\r\n minImageScale +\r\n ((maxImageScale - minImageScale) / zoomSteps) * zoom.value * 8; // mas lupa\r\n\r\n positionImage();\r\n };\r\n\r\n let updateStyles = function () {\r\n image.style.transform = `translateX(${imageTranslateX}px) translateY(${imageTranslateY}px) scale(${imageScale})`;\r\n };\r\n\r\n let updateZoom = function () {\r\n sizeImage();\r\n };\r\n\r\n // init\r\n\r\n let setupImage = function () {\r\n container.appendChild(image);\r\n imageRatio = image.naturalHeight / image.naturalWidth;\r\n focalPoint = { x: image.naturalWidth / 2, y: image.naturalHeight / 2 };\r\n sizeImage();\r\n image.addEventListener(\"click\", handleClick);\r\n image.addEventListener(\"mousedown\", handleMouseDown);\r\n image.addEventListener(\"mousemove\", handleMouseMove);\r\n image.addEventListener(\"mouseup\", handleMouseUp);\r\n image.addEventListener(\"touchstart\", handleTouchStart);\r\n image.addEventListener(\"touchmove\", handleTouchMove);\r\n image.addEventListener(\"touchend\", handleTouchEnd);\r\n };\r\n\r\n window.addEventListener(\"resize\", function () {\r\n getContainerSize();\r\n sizeImage();\r\n });\r\n\r\n zoom.addEventListener(\"input\", updateZoom);\r\n zoom.addEventListener(\"change\", updateZoom);\r\n\r\n zoomIn.addEventListener(\"click\", function () {\r\n zoom.value = parseInt(zoom.value) + stepSize;\r\n updateZoom();\r\n });\r\n\r\n zoomOut.addEventListener(\"click\", function () {\r\n zoom.value = parseInt(zoom.value) - stepSize;\r\n updateZoom();\r\n });\r\n\r\n container.addEventListener(\"wheel\", function (e) {\r\n e.preventDefault();\r\n zoom.value =\r\n parseInt(zoom.value) - (e.deltaY / Math.abs(e.deltaY)) * wheelSize;\r\n updateZoom();\r\n });\r\n\r\n let imageRatio;\r\n let image = new Image();\r\n image.onload = setupImage;\r\n image.src = imageSrc;\r\n\r\n getContainerSize();\r\n };\r\n\r\n ZoomPan(options);\r\n\r\n }\r\n\r\n extractAlert() {\r\n this.loading = true;\r\n this.getOcurrence(this.data.ocurrenceId);\r\n this.loading = false;\r\n }\r\n\r\n getOcurrence(id){\r\n this.OcurrenceService.GetListOcurrenceById(id).subscribe((response) => {\r\n this.state = response.stateId;\r\n this.alert = response.alertId;\r\n this.path = response.patch;\r\n this.error = response.error;\r\n this.ocurrence = response.ocurennceId;\r\n this.attetion = response.attetionId;\r\n this.alertName = response.alert;\r\n var alert = \"Atendido\";\r\n if(response.error == \"1\"){\r\n alert = \"Falso positivo\";\r\n }else{\r\n if(response.stateId == 1){ alert = \"Pendiente\"; }\r\n else if(response.stateId == 2){ alert = \"En Proceso\"; }\r\n }\r\n this.model = response.camera + \" - \" + alert;\r\n this.fecha = this.datePipe.transform(response.time, 'dd/MM/yyyy');\r\n this.hora = this.datePipe.transform(response.time, 'HH:mm');\r\n this.messageButton = response.message;\r\n this.zoom();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n errorAlert(){\r\n const dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CONFIRM_TITLE,\r\n message: AppConstants.MessageModal.REGISTER_MESSAGE_ALERT_ERROR_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n })\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.loading = true;\r\n this.OcurrenceService.CheckError(this.ocurrence).subscribe(_ =>{\r\n if(_ != null){\r\n this.update = true;\r\n this.dialogRef.close({update:true,newId:0});\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n openModal2() {\r\n let dialogRef = this.dialog.open(PanelCameraAlertModalComponent, {\r\n data: {\r\n title: \"AtenciĆ³n de alarma\", fech2: this.fecha, hora2: this.hora, mode2: this.model,stateId: this.state,attetionI: this.attetion,\r\n enterpiseId: this.data.enterpiseId, ocurrenceId: this.ocurrence, alertId: this.alert, cameraId: this.data.cameraId\r\n },\r\n width: '700px',\r\n hasBackdrop: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n this.update = response.update;\r\n this.closeOpen();\r\n });\r\n\r\n }\r\n\r\n closeOpen(){\r\n if(this.update){\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListPanelCamara);\r\n this.dialogRef.close({update:this.update,newId:0});\r\n }\r\n }\r\n\r\n closeModal(){\r\n this.dialogRef.close({update:false,newId:0});\r\n }\r\n\r\n onMouseMove(e) {\r\n console.log(e);\r\n var zoomer = e.currentTarget;\r\n var offsetX = 0;\r\n var offsetY = 0;\r\n var x = 0;\r\n var y = 0;\r\n e.offsetX ? offsetX = e.offsetX : offsetX = e.touches[0].pageX\r\n e.offsetY ? offsetY = e.offsetY : offsetX = e.touches[0].pageX\r\n x = offsetX/zoomer.offsetWidth*100\r\n y = offsetY/zoomer.offsetHeight*100\r\n zoomer.style.backgroundPosition = x + '% ' + y + '%';\r\n }\r\n\r\n getUrl(){\r\n return this.path;\r\n }\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Alertas\r\n \r\n \r\n {{alert.c_Alert}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    ParƔmetros

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    # \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n ParƔmetros {{element.c_Parameter}} Valor \r\n \r\n Valor\r\n \r\n \r\n Unidad {{element.unit}}
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
    # \r\n {{this.paginators.pageIndex == 0 ? i + 1 : 1 + i + this.paginators.pageIndex * this.paginators.pageSize}}\r\n Alerta {{elements.name}} AcciĆ³n \r\n delete\r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n","import { Component, OnInit, Inject, ViewChild, inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MessageModalComponent } from '../message/message-modal.component';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { AlertsServices } from 'src/app/services/alert/alert.service';\r\nimport { MessageSeverity,AlertService } from 'src/app/shared/services/alert.service';\r\nimport { CameraValidate } from 'src/app/models/alert/alert';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MatTableDataSource } from '@angular/material/table'\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'parameter-modal',\r\n templateUrl: 'parameter-modal.component.html',\r\n styleUrls:['./parameter-modal.component.css']\r\n})\r\n\r\nexport class ModalParameterComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n alerts = [];\r\n alertParameter = [];\r\n dataList = [];\r\n dataChange = [];\r\n copys = [];\r\n copia = [];\r\n dataCache = [];\r\n alertseSelect: number = 0;\r\n countIndex = 0;\r\n listStatus: number = 0;\r\n panelForm: FormGroup;\r\n listForm: FormGroup;\r\n loadingButton: boolean = false;\r\n isCompanyAdmin: boolean = false;\r\n\r\n dataSource = new MatTableDataSource();\r\n dataSources = new MatTableDataSource();\r\n displayedColumns: string[] = ['index', 'parameter', 'value', 'unit'];\r\n displayedColumn: string[] = ['index', 'name', 'action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginators: MatPaginator;\r\n subscription: Subscription;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private dialogRef: MatDialogRef,\r\n private AlertsServices :AlertsServices,\r\n private AlertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private cameraService:CameraService,\r\n private emitterService: EmitterService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSources.paginator = this.paginators;\r\n this.getAlert();\r\n }\r\n\r\n createForm() {\r\n if(parseInt(localStorage.getItem(AppConstants.Session.ROLID) || \"\") == AppConstants.UserRole.AdministradorEmpresa) this.isCompanyAdmin=true;\r\n if(parseInt(localStorage.getItem(AppConstants.Session.ROLID) || \"\") == AppConstants.UserRole.AdministradorGyS\r\n || parseInt(localStorage.getItem(AppConstants.Session.ROLID) || \"\") == AppConstants.UserRole.UsuarioGyS\r\n || parseInt(localStorage.getItem(AppConstants.Session.ROLID) || \"\") == AppConstants.UserRole.AdministradorEmpresaStreaming){\r\n this.panelForm = this.formBuilder.group({\r\n alertId: ['', [Validators.required]],\r\n })\r\n this.listForm = this.formBuilder.group({\r\n valueId: ['', [Validators.required]],\r\n })\r\n this.loadingButton = true;\r\n }else{\r\n this.panelForm = this.formBuilder.group({\r\n alertId: [{value:'', disabled: false}, [Validators.required]],\r\n })\r\n this.listForm = this.formBuilder.group({\r\n valueId: [{value:'', disabled: false}, [Validators.required]],\r\n })\r\n this.loadingButton = false;\r\n }\r\n }\r\n\r\n closeDialog(){\r\n this.dialogRef.close()\r\n }\r\n\r\n getAlert() {\r\n this.spinner.show();\r\n this.AlertsServices.getAlert().subscribe((response) => {\r\n this.spinner.hide();\r\n console.log(\"alerts\",response);\r\n this.alerts = response;\r\n this.alertseSelect = this.alerts[0][\"id_Alert\"];\r\n\r\n this.getAlertParametersTART(this.alerts[0][\"id_Alert\"]);\r\n\r\n this.loadData();\r\n\r\n this.loadDataAlert();\r\n\r\n this.addData();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n remoneChange(id:number){\r\n let data = [];\r\n for(let i = 0; i< this.dataChange.length;i++){\r\n if(this.dataChange[i].alertId == id){\r\n data = data.concat({id:i});\r\n }\r\n }\r\n data = data.sort();\r\n data = data.reverse();\r\n for(let i = 0;data.length > i;i++){\r\n this.dataChange.splice(data[i].id,1);\r\n }\r\n }\r\n\r\n removeListDta(id:number){\r\n let datas = [];\r\n this.copys = this.dataSources.data;\r\n for(let ij = 0; ij< this.copys.length;ij++){\r\n if(this.copys[ij].id == id){\r\n datas = datas.concat({id:ij});\r\n }\r\n }\r\n datas = datas.sort();\r\n datas = datas.reverse();\r\n for(let i = 0;datas.length > i;i++){\r\n this.copys.splice(datas[i].id,1);\r\n }\r\n }\r\n\r\n removeListDtaCopia(id:number){\r\n let datas = [];\r\n for(let ij = 0; ij< this.copia.length;ij++){\r\n if(this.copia[ij].id == id){\r\n datas = datas.concat({id:ij});\r\n }\r\n }\r\n datas = datas.sort();\r\n datas = datas.reverse();\r\n for(let i = 0;datas.length > i;i++){\r\n this.copia.splice(datas[i].id,1);\r\n }\r\n }\r\n\r\n remoneChangeList(obj){\r\n let nn:number = obj.id;\r\n this.copia = this.copia.concat({id:this.alertseSelect,name:obj.name});\r\n this.spinner.show();\r\n\r\n var modelCamera = new CameraValidate;\r\n modelCamera.cameraId = this.data.idcameravalue;\r\n modelCamera.alertId = obj.id;\r\n\r\n this.cameraService.postCameraValidate(modelCamera).subscribe(response => {\r\n\r\n if (!response) {\r\n this.remoneChange(nn);\r\n this.removeListDta(nn);\r\n\r\n let dt = { value: nn};\r\n\r\n this.getAlertParameter(dt,1);\r\n this.dataSources.data = this.copys;\r\n\r\n }else{\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.ERROR_TITLE,\r\n AppConstants.MessageModal.CAMERA_PCURRENCE_NOT_DELETE,\r\n MessageSeverity.error);\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.ERROR_TITLE,\r\n AppConstants.MessageModal.DATA_ERROR_MESSAGE,\r\n MessageSeverity.error);\r\n });\r\n\r\n this.spinner.hide();\r\n }\r\n\r\n sendData2(){\r\n let searchDataTable = this.alerts.filter(c => c.id_Alert.toString().toLowerCase().startsWith(this.alertseSelect));\r\n\r\n /*CAMBIAR POR ELIMINAR DE COPIA POR ID*/\r\n let sinR = [...new Set(this.copys)];\r\n this.copys = sinR;\r\n this.dataSources.data = this.copys;\r\n this.dataCache = this.dataCache.concat({id: this.alertseSelect});\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.remoneChange(this.alertseSelect);\r\n let vv = 0;\r\n let copys = [];\r\n if(this.dataChange.length == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n this.countIndex = this.countIndex+ this.dataChange.length;\r\n }else{\r\n this.dataList = [];\r\n copys = this.dataChange;\r\n let searchData = this.dataChange.filter(c => c.alertId.toString().toLowerCase().startsWith(this.alertseSelect))\r\n if (searchData.length < 1) {\r\n this.countIndex = this.countIndex+ this.dataSource.data.length;\r\n }\r\n for(let i of this.dataChange){\r\n if(i.alertId != this.alertseSelect){\r\n if(vv == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n vv = 1;\r\n }\r\n }else{\r\n if(vv == 0){\r\n this.dataChange = [];\r\n this.dataChange = this.dataSource.data;\r\n this.dataChange = this.dataChange.concat(copys);\r\n vv = 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else{\r\n /*ACTUALIZACIƓN*/\r\n this.remoneChange(this.alertseSelect);\r\n let vv = 0;\r\n let copyss = [];\r\n if(this.dataChange.length == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n }else{\r\n this.dataList = [];\r\n copyss = this.dataChange;\r\n for(let i of this.dataChange){\r\n if(i.alertId != this.alertseSelect){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n }else{\r\n if(vv == 0){\r\n this.dataChange = [];\r\n this.dataChange = this.dataSource.data;\r\n this.dataChange = this.dataChange.concat(copyss);\r\n vv = 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n sendDataMail(){\r\n let searchDataTableSearch = this.copys.filter(c => c.id.toString().toLowerCase().startsWith(this.alertseSelect));\r\n if(searchDataTableSearch.length > 0){\r\n this.removeListDtaCopia(this.alertseSelect);\r\n this.sendDataMail();\r\n }else{\r\n let searchDataTable = this.alerts.filter(c => c.id_Alert.toString().toLowerCase().startsWith(this.alertseSelect));\r\n this.copys = this.copys.concat(\r\n [\r\n {\r\n id:this.alertseSelect,\r\n name:searchDataTable[0].c_Alert\r\n }\r\n ]\r\n );\r\n /*CAMBIAR POR ELIMINAR DE COPIA POR ID*/\r\n this.removeListDtaCopia(this.alertseSelect);\r\n this.copia = this.copia.concat(\r\n [\r\n {\r\n id:this.alertseSelect,\r\n name:searchDataTable[0].c_Alert\r\n }\r\n ]\r\n );\r\n /*CAMBIAR POR ELIMINAR DE COPIA POR ID*/\r\n let sinR = [...new Set(this.copys)];\r\n this.copys = sinR;\r\n this.dataSources.data = this.copys;\r\n this.dataCache = this.dataCache.concat({id: this.alertseSelect});\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.remoneChange(this.alertseSelect);\r\n let vv = 0;\r\n let copys = [];\r\n if(this.dataChange.length == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n this.countIndex = this.countIndex+ this.dataChange.length;\r\n }else{\r\n this.dataList = [];\r\n copys = this.dataChange;\r\n let searchData = this.dataChange.filter(c => c.alertId.toString().toLowerCase().startsWith(this.alertseSelect))\r\n if (searchData.length < 1) {\r\n this.countIndex = this.countIndex+ this.dataSource.data.length;\r\n }\r\n for(let i of this.dataChange){\r\n if(i.alertId != this.alertseSelect){\r\n if(vv == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n vv = 1;\r\n }\r\n }else{\r\n if(vv == 0){\r\n this.dataChange = [];\r\n this.dataChange = this.dataSource.data;\r\n this.dataChange = this.dataChange.concat(copys);\r\n vv = 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else{\r\n /*ACTUALIZACIƓN*/\r\n this.remoneChange(this.alertseSelect);\r\n let vv = 0;\r\n let copyss = [];\r\n if(this.dataChange.length == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n }else{\r\n this.dataList = [];\r\n copyss = this.dataChange;\r\n for(let i of this.dataChange){\r\n if(i.alertId != this.alertseSelect){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n }else{\r\n if(vv == 0){\r\n this.dataChange = [];\r\n this.dataChange = this.dataSource.data;\r\n this.dataChange = this.dataChange.concat(copyss);\r\n vv = 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n addData(){\r\n this.dataChange = [];\r\n let fg = [];\r\n this.AlertsServices.getAlert().subscribe((res) => {\r\n for(let i=0;i {\r\n for(let h =0;h < response.length;h++){\r\n let sinR = [...new Set(response)];\r\n var hash = {};\r\n sinR = sinR.filter(function(current) {\r\n var exists = !hash[current.parameterId];\r\n hash[current.parameterId] = true;\r\n return exists;\r\n });\r\n fg = sinR;\r\n try{\r\n this.dataChange = this.dataChange.concat([\r\n {\r\n c_Parameter:fg[h].c_Parameter,\r\n parameterId:fg[h].parameterId,\r\n unit:fg[h].unit,\r\n value:fg[h].value,\r\n alertId:res[i].id_Alert\r\n }\r\n ]);\r\n }catch{\r\n\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n sendData(){\r\n let searchDataTable = this.alerts.filter(c => c.id_Alert.toString().toLowerCase().startsWith(this.alertseSelect));\r\n // this.copys = this.copys.concat(\r\n // [\r\n // {\r\n // id:this.alertseSelect,\r\n // name:searchDataTable[0].c_Alert\r\n // }\r\n // ]\r\n // );\r\n this.copys=[];\r\n /*CAMBIAR POR ELIMINAR DE COPIA POR ID*/\r\n this.removeListDtaCopia(this.alertseSelect);\r\n // this.copia = this.copia.concat(\r\n // [\r\n // {\r\n // id:this.alertseSelect,\r\n // name:searchDataTable[0].c_Alert\r\n // }\r\n // ]\r\n // );\r\n /*CAMBIAR POR ELIMINAR DE COPIA POR ID*/\r\n let sinR = [...new Set(this.copys)];\r\n this.copys = sinR;\r\n this.dataSources.data = this.copys;\r\n this.dataCache = this.dataCache.concat({id: this.alertseSelect});\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.remoneChange(this.alertseSelect);\r\n let vv = 0;\r\n let copys = [];\r\n if(this.dataChange.length == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n this.countIndex = this.countIndex+ this.dataChange.length;\r\n }else{\r\n this.dataList = [];\r\n copys = this.dataChange;\r\n let searchData = this.dataChange.filter(c => c.alertId.toString().toLowerCase().startsWith(this.alertseSelect))\r\n if (searchData.length < 1) {\r\n this.countIndex = this.countIndex+ this.dataSource.data.length;\r\n }\r\n for(let i of this.dataChange){\r\n if(i.alertId != this.alertseSelect){\r\n if(vv == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n vv = 1;\r\n }\r\n }else{\r\n if(vv == 0){\r\n this.dataChange = [];\r\n this.dataChange = this.dataSource.data;\r\n this.dataChange = this.dataChange.concat(copys);\r\n vv = 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else{\r\n /*ACTUALIZACIƓN*/\r\n this.remoneChange(this.alertseSelect);\r\n let vv = 0;\r\n let copyss = [];\r\n if(this.dataChange.length == 0){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n }else{\r\n this.dataList = [];\r\n copyss = this.dataChange;\r\n for(let i of this.dataChange){\r\n if(i.alertId != this.alertseSelect){\r\n this.dataChange = this.dataChange.concat(this.dataSource.data);\r\n }else{\r\n if(vv == 0){\r\n this.dataChange = [];\r\n this.dataChange = this.dataSource.data;\r\n this.dataChange = this.dataChange.concat(copyss);\r\n vv = 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n getAlertParameter(data,condition:number) {\r\n this.dataList = [];\r\n if(condition == 0){\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n\r\n this.AlertsServices.getAlertarameter(data.value).subscribe((response) => {\r\n let searchData = this.dataChange.filter(x => x.alertId.toString().toLowerCase().startsWith(this.alertseSelect));\r\n if(searchData.length < 1){\r\n for(let i = 0; i < response.length; i++){\r\n if(response[i].parameterId > 0){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:response[i].c_Parameter,\r\n parameterId:response[i].parameterId,\r\n unit:response[i].unit,\r\n value:0,\r\n alertId:this.alertseSelect\r\n }\r\n ]);\r\n }\r\n }\r\n }else{\r\n for(let j =0;j < response.length;j++){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:searchData[j].c_Parameter,\r\n parameterId:searchData[j].parameterId,\r\n unit:searchData[j].unit,\r\n value:searchData[j].value,\r\n alertId:searchData[j].alertId\r\n }\r\n ]);\r\n }\r\n }\r\n let sinR = [...new Set(this.dataList)];\r\n this.dataList = sinR;\r\n\r\n this.dataSource.data = this.dataList;\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n this.dataList = [];\r\n }\r\n else{\r\n /*ACTUALIZACIƓN*/\r\n this.dataList = [];\r\n this.AlertsServices.getAlertarameter(data.value).subscribe((response) => {\r\n this.AlertsServices.getAlertarameterById(this.alertseSelect,this.data.idcameravalue ).subscribe((respons) => {\r\n\r\n let searchData = this.dataChange.filter(x => x.alertId.toString().toLowerCase().startsWith(this.alertseSelect));\r\n let searchDatas = this.copia.filter(x => x.id.toString().toLowerCase().startsWith(this.alertseSelect));\r\n\r\n if(searchData.length < 1 && respons.length < 1 && searchDatas.length < 1){\r\n /*BUSQUEDA 1*/\r\n\r\n for(let i = 0; i < response.length; i++){\r\n if(response[i].parameterId > 0){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:response[i].c_Parameter,\r\n parameterId:response[i].parameterId,\r\n unit:response[i].unit,\r\n value:0,\r\n alertId:this.alertseSelect\r\n }\r\n ]);\r\n }\r\n }\r\n let sinR = [...new Set(this.dataList)];\r\n this.dataList = sinR;\r\n\r\n this.dataSource.data = this.dataList;\r\n }else{\r\n if(searchData.length < 1 && respons.length > 0 && searchDatas.length < 1){\r\n /*BUSQUEDA 2*/\r\n\r\n for(let i = 0; i < respons.length; i++){\r\n if(respons[i].parameterId > 0){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:respons[i].c_Parameter,\r\n parameterId:respons[i].parameterId,\r\n unit:respons[i].unit,\r\n value:respons[i].value,\r\n alertId: this.alertseSelect\r\n }\r\n ]);\r\n }\r\n }\r\n let sinR = [...new Set(this.dataList)];\r\n this.dataList = sinR;\r\n\r\n this.dataSource.data = this.dataList;\r\n this.sendData2();\r\n }else{\r\n if(searchData.length < 1 && respons.length > 0 && searchDatas.length == 1){\r\n /*BUSQUEDA 3*/\r\n\r\n for(let ij = 0; ij < respons.length; ij++){\r\n if(respons[ij].parameterId > 0){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:respons[ij].c_Parameter,\r\n parameterId:respons[ij].parameterId,\r\n unit:respons[ij].unit,\r\n value:respons[ij].value,\r\n alertId: this.alertseSelect\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n let sinR = [...new Set(this.dataList)];\r\n var hash = {};\r\n sinR = sinR.filter(function(current) {\r\n var exists = !hash[current.parameterId];\r\n hash[current.parameterId] = true;\r\n return exists;\r\n });\r\n this.dataList = sinR;\r\n\r\n this.dataSource.data = this.dataList;\r\n }else{\r\n /*BUSQUEDA 4*/\r\n\r\n if(searchData.length > 0 && searchDatas.length == 1){\r\n\r\n for(let i = 0; i < searchData.length; i++){\r\n if(searchData[i].parameterId > 0){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:searchData[i].c_Parameter,\r\n parameterId:searchData[i].parameterId,\r\n unit:searchData[i].unit,\r\n value:searchData[i].value,\r\n alertId: this.alertseSelect\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n let sinR = [...new Set(this.dataList)];\r\n var hash = {};\r\n sinR = sinR.filter(function(current) {\r\n var exists = !hash[current.parameterId];\r\n hash[current.parameterId] = true;\r\n return exists;\r\n });\r\n this.dataList = sinR;\r\n\r\n this.dataSource.data = this.dataList;\r\n }else{\r\n /*BUSQUEDA 5*/\r\n\r\n let dataLis = 0;\r\n this.AlertsServices.getAlertarameter(this.alertseSelect).subscribe((responses) => {\r\n if(dataLis == 0){\r\n for(let i = 0; i < responses.length; i++){\r\n if(responses[i].parameterId > 0){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:responses[i].c_Parameter,\r\n parameterId:responses[i].parameterId,\r\n unit:responses[i].unit,\r\n value:0,\r\n alertId: this.alertseSelect\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n this.dataSource.data = this.dataList;\r\n dataLis = 1;\r\n }else{\r\n this.dataList = [];\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n\r\n this.dataSource.data = this.dataList;\r\n }\r\n }\r\n }\r\n }\r\n this.spinner.hide();\r\n\r\n });\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n this.dataList = [];\r\n }\r\n }else{\r\n this.dataList = [];\r\n let dataLis: number = 0;\r\n if(data.value == this.alertseSelect){\r\n this.AlertsServices.getAlertarameter(data.value).subscribe((response) => {\r\n if(dataLis == 0){\r\n for(let i = 0; i < response.length; i++){\r\n if(response[i].parameterId > 0){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:response[i].c_Parameter,\r\n parameterId:response[i].parameterId,\r\n unit:response[i].unit,\r\n value:0,\r\n alertId: data.value\r\n }\r\n ]);\r\n }\r\n }\r\n let sinR = [...new Set(this.dataList)];\r\n this.dataList = sinR;\r\n\r\n this.dataSource.data = this.dataList;\r\n dataLis = 1;\r\n }else{\r\n this.dataList = [];\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }else{\r\n let dt = { value: 3};\r\n }\r\n }\r\n }\r\n\r\n getAlertParametersTART(id:number) {\r\n\r\n let cc = [];\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n let dataLis: number = 0;\r\n this.spinner.show();\r\n this.AlertsServices.getAlertarameter(id).subscribe((response) => {\r\n\r\n if(dataLis == 0){\r\n for(let i = 0; i < response.length; i++){\r\n if(response[i].parameterId > 0){\r\n cc = cc.concat([\r\n {\r\n c_Parameter:response[i].c_Parameter,\r\n parameterId:response[i].parameterId,\r\n unit:response[i].unit,\r\n value:0,\r\n alertId: id\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n this.dataSource.data = cc;\r\n dataLis = 1;\r\n }else{\r\n\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n this.spinner.hide();\r\n\r\n }\r\n else{\r\n /*ACTUALIZACIƓN*/\r\n\r\n let dataLis: number = 0;\r\n this.spinner.show();\r\n this.AlertsServices.getAlertarameterById(id,this.data.idcameravalue ).subscribe((response) => {\r\n try{\r\n if(response.length > 0){\r\n if(dataLis == 0){\r\n for(let i = 0; i < response.length; i++){\r\n if(response[i].parameterId > 0){\r\n cc = cc.concat([\r\n {\r\n c_Parameter:response[i].c_Parameter,\r\n parameterId:response[i].parameterId,\r\n unit:response[i].unit,\r\n value:response[i].value,\r\n alertId: id\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n let sinR = [...new Set(cc)];\r\n var hash = {};\r\n sinR = sinR.filter(function(current) {\r\n var exists = !hash[current.parameterId];\r\n hash[current.parameterId] = true;\r\n return exists;\r\n });\r\n cc = sinR;\r\n\r\n this.dataSource.data = cc;\r\n dataLis = 1;\r\n this.dataCache = this.dataCache.concat({id: id});\r\n }\r\n\r\n }else{\r\n this.AlertsServices.getAlertarameter(id).subscribe((responses) => {\r\n if(dataLis == 0){\r\n for(let i = 0; i < responses.length; i++){\r\n if(responses[i].parameterId > 0){\r\n cc = cc.concat([\r\n {\r\n c_Parameter:responses[i].c_Parameter,\r\n parameterId:responses[i].parameterId,\r\n unit:responses[i].unit,\r\n value:0,\r\n alertId: id\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n let sinR = [...new Set(cc)];\r\n var hash = {};\r\n sinR = sinR.filter(function(current) {\r\n var exists = !hash[current.parameterId];\r\n hash[current.parameterId] = true;\r\n return exists;\r\n });\r\n cc = sinR;\r\n\r\n this.dataSource.data = cc;\r\n dataLis = 1;\r\n }else{\r\n\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n }catch{\r\n this.AlertsServices.getAlertarameter(id).subscribe((responses) => {\r\n if(dataLis == 0){\r\n for(let i = 0; i < responses.length; i++){\r\n if(responses[i].parameterId > 0){\r\n cc = cc.concat([\r\n {\r\n c_Parameter:responses[i].c_Parameter,\r\n parameterId:responses[i].parameterId,\r\n unit:responses[i].unit,\r\n value:0,\r\n alertId: id\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n let sinR = [...new Set(cc)];\r\n var hash = {};\r\n sinR = sinR.filter(function(current) {\r\n var exists = !hash[current.parameterId];\r\n hash[current.parameterId] = true;\r\n return exists;\r\n });\r\n cc = sinR;\r\n\r\n this.dataSource.data = cc;\r\n dataLis = 1;\r\n }else{\r\n\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n this.spinner.hide();\r\n cc = [];\r\n }\r\n }\r\n\r\n loadData(){\r\n this.dataList = [];\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n\r\n }else{\r\n for(let is = 1;is < this.alerts.length;is++){\r\n this.AlertsServices.getAlertarameterById(this.alerts[is].id_Alert,this.data.idcameravalue ).subscribe((response) => {\r\n try{\r\n if(response.length > 0){\r\n for(let i = 0; i < response.length; i++){\r\n if(response[i].parameterId > 0){\r\n this.dataList = this.dataList.concat([\r\n {\r\n c_Parameter:response[i].c_Parameter,\r\n parameterId:response[i].parameterId,\r\n unit:response[i].unit,\r\n value:response[i].value,\r\n alertId: this.alerts[i].id_Alert\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n this.sendData();\r\n let sinR = [...new Set(this.copys)];\r\n var hash = {};\r\n sinR = sinR.filter(function(current) {\r\n var exists = !hash[current.id];\r\n hash[current.id] = true;\r\n return exists;\r\n });\r\n this.copys = sinR;\r\n this.dataSources.data = this.copys;\r\n }\r\n }\r\n catch{\r\n\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n loadDataAlert(){\r\n this.dataList = [];\r\n this.AlertsServices.getAlert().subscribe((respon) => {\r\n for(let is = 0;is < respon.length;is++){\r\n this.AlertsServices.getAlertarameterById(respon[is].id_Alert,this.data.idcameravalue ).subscribe((response) => {\r\n if(response.length > 0){\r\n this.copys = this.copys.concat(\r\n\r\n {\r\n id:respon[is].id_Alert,\r\n name:respon[is].c_Alert\r\n }\r\n\r\n );\r\n }\r\n let sinR = [...new Set(this.copys)];\r\n var hash = {};\r\n sinR = sinR.filter(function(current) {\r\n var exists = !hash[current.id];\r\n hash[current.id] = true;\r\n return exists;\r\n });\r\n this.copys = sinR;\r\n this.dataSources.data = this.copys;\r\n this.copia = this.copys;\r\n });\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n saveData(){\r\n if(this.dataChange.length < 1){\r\n this.spinner.show();\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL_REQUIRED_PARAMTER,\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n return false;\r\n }\r\n let message = '';\r\n switch (this.data.action) {\r\n case AppConstants.OperationType.ADD:\r\n message = AppConstants.MessageModal.REGISTER_MESSAGE_CAMERA_CONFIRM\r\n break;\r\n case AppConstants.OperationType.UPDATE:\r\n message = AppConstants.MessageModal.EDIT_MESSAGE_CAMERA_CONFIRM\r\n break;\r\n }\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: 'Confirmar Registro',\r\n message: message,\r\n hasButton: true,\r\n hasBackdrop: false,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n dialogRef.afterClosed().subscribe(response => {\r\n\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n if (response.result == true) {\r\n this.save();\r\n }\r\n }else{\r\n this.spinner.hide();\r\n if (response.result == true) {\r\n this.edit();\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n save(){\r\n this.spinner.show();\r\n let camerapre = [];\r\n let dataUnique = this.dataChange;\r\n for(let i = 0;dataUnique.length > i;i++){\r\n camerapre = camerapre.concat([\r\n {\r\n AlertId:dataUnique[i].alertId,\r\n ParameterId:dataUnique[i].parameterId,\r\n ValueId:dataUnique[i].value\r\n }\r\n ]);\r\n }\r\n\r\n if(camerapre.length < 1){\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL_REQUIRED_PARAMTER,\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n return false;\r\n }\r\n\r\n let valueint = 0;\r\n\r\n if( this.data.obj.status == true){\r\n valueint = 1;\r\n }else{\r\n valueint = 0;\r\n }\r\n\r\n let registers =\r\n {\r\n UserId: parseInt(localStorage.getItem(AppConstants.Session.USERID)),\r\n ZoneId: this.data.obj.zone,\r\n Camera: this.data.obj.camera,\r\n Model: this.data.obj.model,\r\n Serie: this.data.obj.serie,\r\n Mac: this.data.obj.mac,\r\n Ip: this.data.obj.ipAdress,\r\n Url: this.data.obj.urlStreaming,\r\n Enabled: valueint,\r\n DateRegister: this.data.obj.date,\r\n CameraAlerts: camerapre,\r\n StreamingDescription: this.data.obj.streamingDescription,\r\n IdServer: this.data.obj.idServer,\r\n IdEnterprise: this.data.obj.idEnterprise,\r\n IdHeadquarter: this.data.obj.idHeadquarter,\r\n ClearImagePreviewStreaming: this.data.obj.clearImagePreviewStreaming,\r\n SendAlert: 1\r\n }\r\n\r\n let formData = new FormData();\r\n formData.append('data', JSON.stringify(registers));\r\n\r\n this.cameraService.registerCamera(formData).subscribe(\r\n result => {\r\n if(!result.message){\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.CREATE_CAMERA,\r\n AppConstants.MessageModal.CREATE,\r\n MessageSeverity.success);\r\n this.data.result = true;\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.dialog.closeAll();\r\n }else{\r\n this.dialogRef.close(this.data);\r\n }\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListCamera);\r\n }else{\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, result.message, MessageSeverity.error);\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n\r\n this.spinner.hide();\r\n\r\n }\r\n\r\n edit(){\r\n this.spinner.show();\r\n let camerapre = [];\r\n let dataUnique:any = this.dataChange;\r\n for(let i = 0;dataUnique.length > i;i++){\r\n camerapre = camerapre.concat([\r\n {\r\n AlertId:dataUnique[i].alertId,\r\n ParameterId:dataUnique[i].parameterId,\r\n ValueId:dataUnique[i].value\r\n }\r\n ]);\r\n }\r\n\r\n let valueint = 0;\r\n\r\n if( this.data.obj.status == true){\r\n valueint = 1;\r\n }else{\r\n valueint = 0;\r\n }\r\n\r\n let updated =\r\n {\r\n CameraId: this.data.idcameravalue,\r\n IdHeadquarter: this.data.obj.idHeadquarter,\r\n UserId: parseInt(localStorage.getItem(AppConstants.Session.USERID)),\r\n ZoneId: this.data.obj.zone,\r\n Camera: this.data.obj.camera,\r\n Model: this.data.obj.model,\r\n Serie: this.data.obj.serie,\r\n Mac: this.data.obj.mac,\r\n Ip: this.data.obj.ipAdress,\r\n Url: this.data.obj.urlStreaming,\r\n Enabled: valueint,\r\n DateRegister: this.data.obj.date,\r\n CameraAlerts: camerapre,\r\n StreamingDescription: this.data.obj.streamingDescription,\r\n IdServer: this.data.obj.idServer,\r\n IdEnterprise: this.data.obj.idEnterprise,\r\n ClearImagePreviewStreaming: this.data.obj.clearImagePreviewStreaming,\r\n StreamingKey: this.data.obj.streamingKey,\r\n SendAlert: 1\r\n }\r\n let formData = new FormData();\r\n formData.append('data', JSON.stringify(updated));\r\n formData.append('file', this.data.obj.file[0]);\r\n this.cameraService.updatedCamera(formData).subscribe(\r\n result => {\r\n if(!result.message){\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.UPDATE_CAMERA,\r\n AppConstants.MessageModal.UPDATE,\r\n MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListCamera);\r\n }else{\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, result.message, MessageSeverity.error);\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n\r\n this.spinner.hide();\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n}\r\n","
    \n
    \n {{ data.title }}\n
    \n
    \n close\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n URL*\n \n \n La URL requerida.\n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n ","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { PowerBIService } from 'src/app/services/power-bi/power-bi.service';\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\n\n@Component({\n selector: 'app-powerbi-modal',\n templateUrl: './powerbi-modal.component.html',\n styleUrls: ['./powerbi-modal.component.css']\n})\nexport class PowerbiModalComponent implements OnInit {\n powerbiForm: FormGroup;\n headquarterSelect: number;\n headquarters = [];\n edit = false;\n disabledHeadquarter = false;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private formBuilder: FormBuilder,\n private alertService: AlertService,\n private powerBIService: PowerBIService,\n private spinner: NgxSpinnerService,\n public dialog: MatDialog,\n ) { }\n\n ngOnInit() {\n this.createForm();\n if(this.data.action == AppConstants.OperationType.UPDATE){\n this.edit = true;\n this.powerbiForm.controls['url'].setValue(this.data.obj.url);\n }\n }\n\n createForm(){\n this.powerbiForm = this.formBuilder.group({\n url: ['', [Validators.required]]\n })\n }\n\n get f() { return this.powerbiForm.controls; }\n\n save(){\n if(this.powerbiForm.valid){\n const payload = {\n url:this.powerbiForm.value[\"url\"],\n idHeadquarter: 0,\n idEnterprise: this.data.idEnterprise,\n idUser: localStorage.getItem(AppConstants.Session.USERID),\n idSystem: this.data.idSystem\n }\n this.spinner.show();\n //if(this.data.action == AppConstants.OperationType.ADD){\n this.powerBIService.create(payload).subscribe(_ => {\n if(!_.message){\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_DASHBOARD, AppConstants.MessageModal.CREATE, MessageSeverity.success);\n this.spinner.hide();\n this.data.result = true;\n this.dialogRef.close(this.data);\n }else{\n this.alertService.showMessage(\n _.message,\n \"\",\n MessageSeverity.error);\n this.spinner.hide();\n }\n });\n /* }else{\n this.dashboardService.update(payload).subscribe(_ => {\n if(!_.message){\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_DASHBOARD, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\n this.spinner.hide();\n this.data.result = true;\n this.dialogRef.close(this.data);\n }else{\n this.alertService.showMessage(\n _.message,\n \"\",\n MessageSeverity.error);\n this.spinner.hide();\n }\n });\n }*/\n }else{\n this.powerbiForm.markAllAsTouched();\n }\n }\n\n close() {\n this.dialog.closeAll();\n }\n}\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Nombre*\r\n \r\n \r\n El Nombre es requerido.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    MenuLecturaEscritura
    \r\n \r\n {{item.icon}}\r\n \r\n {{item.name}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { RoleService } from 'src/app/services/role/role.service';\r\nimport { AdminService } from 'src/app/services/admin/admin.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { GetUserInfo } from 'src/app/models/admin/admin';\r\n\r\n@Component({\r\n selector: 'app-role-modal',\r\n templateUrl: './role-modal.component.html',\r\n styleUrls: ['./role-modal.component.css']\r\n})\r\nexport class RoleModalComponent implements OnInit {\r\n roleForm: FormGroup;\r\n headquarterSelect: number;\r\n headquarters = [];\r\n edit = false;\r\n menu = [];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private roleService: RoleService,\r\n private adminService: AdminService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.getListMenu();\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.roleForm.controls['name'].setValue(this.data.obj.name);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.roleForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]],\r\n })\r\n }\r\n\r\n get f() { return this.roleForm.controls; }\r\n\r\n save(){\r\n if(this.roleForm.valid){\r\n const payload = {\r\n name:this.roleForm.value[\"name\"],\r\n menu: JSON.stringify(this.menu),\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idEnterprise: this.data.idEnterprise,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.roleService.create(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_ROLE, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else{\r\n this.roleService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_ROLE, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.adminService.getUserInfoByUsername(localStorage.getItem(AppConstants.Session.USERNAME))\r\n .subscribe((response: GetUserInfo) => {\r\n console.log(response);\r\n if(response.error == null){\r\n var enterprise = response.data;\r\n localStorage.setItem(AppConstants.Session.USERID, enterprise.userId.toString());\r\n localStorage.setItem(AppConstants.Session.USER, enterprise.fullName.toString());\r\n localStorage.setItem(AppConstants.Session.USER, enterprise.fullName.toString());\r\n localStorage.setItem(AppConstants.Session.ENTERPRISES, JSON.stringify(enterprise.enterprises));\r\n localStorage.setItem(AppConstants.Session.HEADQUARTERS, JSON.stringify(enterprise.headquarters));\r\n if(enterprise.enterprises.length>0){\r\n localStorage.setItem(AppConstants.Session.ENTERPRISE, enterprise.enterprises[0]['id'].toString());\r\n localStorage.setItem(AppConstants.Session.HEADQUARTER, \"0\");\r\n }\r\n localStorage.setItem(AppConstants.Session.ENTERPRISE_SYSTEM, enterprise.systems.toString());\r\n localStorage.setItem(AppConstants.Session.MENU_ICON, \"0\");\r\n localStorage.setItem(AppConstants.Session.CHANGE_ENTERPRISE_MENU, \"0\");\r\n localStorage.setItem(AppConstants.Session.LOGO, enterprise.enterprises[0]['logo'].toString());\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR1, enterprise.enterprises[0]['themeColor1'].toString());\r\n localStorage.setItem(AppConstants.Session.THEME_COLOR2, enterprise.enterprises[0]['themeColor2'].toString());\r\n var idUser = parseInt(localStorage.getItem(AppConstants.Session.USERID));\r\n this.adminService.getMenuEnterpriseRole(parseInt(enterprise.enterprises[0]['id']),parseInt(localStorage.getItem(AppConstants.Session.HEADQUARTER)),idUser).subscribe((response) => {\r\n var menu = response.data;\r\n localStorage.setItem(AppConstants.Session.MENU, JSON.stringify(menu));\r\n window.location.reload();\r\n });\r\n }\r\n this.spinner.hide();\r\n }, (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.roleForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n getListMenu(){\r\n this.spinner.show();\r\n this.adminService.getMenuEnterprise(this.data.idEnterprise).subscribe((_) => {\r\n var _this = this;\r\n if(AppConstants.OperationType.UPDATE == this.data.action){\r\n var json = JSON.parse(_this.data.obj.menu);\r\n if(json){\r\n _.data.forEach(x => {\r\n json.forEach(y => {\r\n if(x.id == y.id){\r\n console.log(\"activeWrite\",y.activeWrite);\r\n console.log(\"activeRead\",y.activeRead);\r\n x.activeWrite = y.activeWrite\r\n x.activeRead = y.activeRead\r\n }\r\n });\r\n });\r\n }\r\n }\r\n this.menu = _.data;\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n showCheckbox(item: any){\r\n if(!item.isChild){\r\n if(this.menu.filter(x => x.idParent == item.id).length > 0){\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n activeRead(item: any){\r\n this.menu.forEach(x => {\r\n if(x.id == item.id){\r\n x.activeRead = x.activeRead == 1 ? x.activeRead = 0 : x.activeRead = 1\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n activeWrite(item: any){\r\n this.menu.forEach(x => {\r\n if(x.id == item.id){\r\n x.activeWrite = x.activeWrite == 1 ? x.activeWrite = 0 : x.activeWrite = 1\r\n return false;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n close\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n *Disponible: {{item.value-item.minAlert}} TN\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ON\r\n
    \r\n
    \r\n
    \r\n OFF\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n close\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ item.nomenclature }}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport {Chart} from 'chart.js';\r\nimport StreamingPlugin from 'chartjs-plugin-streaming';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PanelIOTService } from 'src/app/services/panel-iot/panel-iot.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-sensor-graph-modal',\r\n templateUrl: './sensor-graph-modal.component.html',\r\n styleUrls: ['./sensor-graph-modal.component.css']\r\n})\r\nexport class SensorGraphModalComponent implements OnInit {\r\n @Input('sensors') sensors : any;\r\n @Input('idGateway') idGateway : any;\r\n dataSensors = [];\r\n public chart: any;\r\n dataIOTHub: any;\r\n //color = \"#31bfe9\";\r\n colors = [\"#31bfe9\"];\r\n valueSensor = 0;\r\n idCanvas = 0;\r\n myChart:any;\r\n valueInput = 0;\r\n color=\"\";\r\n colorFont = \"\";\r\n\r\n constructor(\r\n private panelIOTService: PanelIOTService,\r\n private spinner: NgxSpinnerService,\r\n private alertService: AlertService,\r\n private elementRef: ElementRef) {\r\n this.color = localStorage.getItem(AppConstants.Session.THEME_COLOR1);\r\n this.colorFont = localStorage.getItem(AppConstants.Session.THEME_COLOR2);\r\n var _this = this;\r\n const connection = new signalR.HubConnectionBuilder()\r\n .withUrl(environment.signalR + '/api')\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Information)\r\n .build();\r\n connection.on('eventHubIOT', (message) => {\r\n _this.dataIOTHub = message;\r\n });\r\n\r\n connection.start()\r\n .catch(console.error);\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterContentChecked(): void {\r\n if(this.dataSensors.length==0){\r\n this.dataSensors = this.sensors;\r\n console.log(\"paneliot\",this.dataSensors);\r\n }\r\n }\r\n\r\n on_off(item){\r\n this.spinner.show();\r\n var data = {\r\n id: item.id,\r\n value: item.value=='1' ? 0 : 1,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID),\r\n idActuatorType: item.idActuatorType\r\n };\r\n item.value = data.value.toString();\r\n this.panelIOTService.createActivity(data).subscribe((response) => {\r\n this.panelIOTService.setUpdatePanelIOT(1);\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if(this.dataSensors.length>0){\r\n\r\n // ngAfterViewInit(): void {\r\n // Chart.register(StreamingPlugin);\r\n if(this.dataSensors.length>0){\r\n var _this = this;\r\n // const randomColor = Math.floor(Math.random()*16777215).toString(16);\r\n\r\n\r\n const onRefresh = chart => {\r\n var _this = this;\r\n var keys = chart.canvas.id.split(\"_\");\r\n var data = _this.dataIOTHub;\r\n var value = 0;\r\n if(data != null && data != undefined){\r\n value = data[keys[1]];\r\n }\r\n _this.dataSensors.forEach(g => {\r\n if (g.nomenclature == keys[1]) {\r\n g.value = value;\r\n }\r\n });\r\n\r\n this.panelIOTService.setDataStreamingSensors(_this.dataSensors);\r\n\r\n _this.dataSensors;\r\n document.getElementById(\"value-slider\"+keys[1]).innerHTML = value.toString();\r\n const now = Date.now();\r\n chart.data.datasets.forEach(dataset => {\r\n if (dataset.id === keys[1]) {\r\n dataset.data.push({\r\n x: now,\r\n y: value\r\n });\r\n }\r\n });\r\n\r\n };\r\n /*\r\n Chart.defaults.set('plugins.streaming', {\r\n duration: 20000\r\n });*/\r\n\r\n var _this = this;\r\n let index = 0\r\n for(let d of this.dataSensors){\r\n\r\n const data2 = {\r\n datasets: [\r\n {\r\n // label: 'Dataset 1 (Linear Interpolation)',\r\n backgroundColor: function(context) {\r\n const chart = context.chart;\r\n const {ctx, chartArea} = chart;\r\n\r\n if (!chartArea) {\r\n // This case happens on initial chart load\r\n return;\r\n }\r\n return _this.getGradient(ctx, chartArea,_this.color);\r\n },\r\n borderColor: this.color,\r\n borderDash: [8, 4],\r\n data: [],\r\n fill: true,\r\n id: d.nomenclature\r\n }\r\n ]\r\n };\r\n\r\n let htmlRef = this.elementRef.nativeElement.querySelector(`#chartLineStreaming_`+d.nomenclature);\r\n console.log(\"htmlRef\",htmlRef + \"-----\" + d.nomenclature);\r\n new Chart(htmlRef, {\r\n type: 'line',\r\n data: data2,\r\n options: {\r\n /* plugins: {\r\n streaming: {\r\n duration: 20000\r\n },\r\n legend: {\r\n display: false\r\n }\r\n },\r\n scales: {\r\n x: {\r\n type: 'realtime',\r\n realtime: {\r\n duration: 60000,\r\n ttl: 60000,\r\n refresh: 2000,\r\n delay: 2000,\r\n onRefresh: onRefresh,\r\n frameRate: 90,\r\n pause: false\r\n },\r\n },\r\n y: {\r\n title: {\r\n display: false,\r\n text: 'Valor'\r\n }\r\n }\r\n },\r\n interaction: {\r\n intersect: false\r\n }*/\r\n }\r\n });\r\n index++\r\n }\r\n }\r\n }\r\n }\r\n\r\n getGradient(ctx, chartArea, color) {\r\n let width, height, gradient;\r\n const chartWidth = chartArea.right - chartArea.left;\r\n const chartHeight = chartArea.bottom - chartArea.top;\r\n if (!gradient || width !== chartWidth || height !== chartHeight) {\r\n // Create the gradient because this is either the first render\r\n // or the size of the chart has changed\r\n width = chartWidth;\r\n height = chartHeight;\r\n gradient = ctx.createLinearGradient(0, chartArea.bottom, 0, chartArea.top);\r\n gradient.addColorStop(0, '#ffffff45');\r\n gradient.addColorStop(0.5, color);\r\n gradient.addColorStop(1, '#ffffff45');\r\n }\r\n\r\n return gradient;\r\n }\r\n\r\n closeModal(id){\r\n var data = {\r\n id: id,\r\n value: 0\r\n }\r\n //this.showroomService.updatePanelValue(data).subscribe(_ => {\r\n document.getElementById('actuactorPanel'+id).style.display=\"none\";\r\n //});\r\n }\r\n\r\n onChangeToogle(value, id){\r\n /*var value = this.dataValue;\r\n if(this.item.id == 4){ //resistencia\r\n if(!this.tiempoDisabledResistencia){\r\n if(this.item.maxLimit > 0){\r\n if(value){this.dataValue = 0; }else{this.dataValue = this.item.maxLimit; }\r\n }else{\r\n if(value){this.dataValue = 0; }else{this.dataValue = 1; }\r\n }\r\n this.item.value = this.dataValue;\r\n var _this = this;\r\n this.save();\r\n if(this.dataValue){\r\n this.showroomService.setResistencia(true);\r\n this.offResistencia = setInterval(function () {\r\n _this.item.value = 0;\r\n _this.dataValue = 0;\r\n _this.tiempoDisabledResistencia = true;\r\n _this.showroomService.setResistencia(false);\r\n _this.save();\r\n clearInterval(_this.offResistencia);\r\n },\r\n 30000);\r\n this.disabledResistencia = setInterval(function () {\r\n _this.save();\r\n _this.tiempoDisabledResistencia = false;\r\n clearInterval(_this.offResistencia);\r\n clearInterval(_this.disabledResistencia);\r\n },\r\n 180000);\r\n\r\n }else{\r\n this.showroomService.setResistencia(false);\r\n clearInterval(_this.disabledResistencia);\r\n clearInterval(_this.offResistencia);\r\n this.tiempoDisabledResistencia = false;\r\n }\r\n }else{\r\n this.alertService.showMessage(\"\", \"Por favor, esperar 3 minutos para volver a activar\", MessageSeverity.error);\r\n }\r\n }else{\r\n if(this.item.maxLimit > 0){\r\n if(value){this.dataValue = 0; }else{this.dataValue = this.item.maxLimit; }\r\n }else{\r\n if(value){this.dataValue = 0; }else{this.dataValue = 1; }\r\n }\r\n if(this.item.id == 8){ this.showroomService.setBomba(this.dataValue); } // Bomba\r\n if(this.item.id == 9){ this.showroomService.setValvulaSelenoide(this.dataValue); } // VƔlvula Selenoide\r\n this.save();\r\n }*/\r\n }\r\n\r\n onInputChange($event: any,item:any) {\r\n /*this.stepIndex = +$event.value;\r\n var array = item.stepOptions.split(\",\");\r\n var data = parseInt(array[this.stepIndex]);\r\n this.dataValue = data;\r\n this.save();*/\r\n }\r\n\r\n onInputChangeSlider($event: any,item:any) {\r\n /*this.stepIndex = +$event.value;\r\n var array = item.stepOptions.split(\",\");\r\n var data = parseInt(array[this.stepIndex]);\r\n this.dataValue = data;\r\n this.save();*/\r\n }\r\n\r\n saveInput(item){\r\n var data = {\r\n id: item.id,\r\n value: this.valueInput,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID),\r\n idGateway: this.idGateway,\r\n idActuatorType: item.idActuatorType\r\n };\r\n item.value = data.value.toString();\r\n this.panelIOTService.createActivity(data).subscribe((response) => {\r\n if(response.code == 0){\r\n this.panelIOTService.setUpdatePanelIOT(1);\r\n }else{\r\n this.alertService.showMessage(\"\", response.message, MessageSeverity.error);\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Sede*\r\n \r\n \r\n {{headquarter.name}}\r\n \r\n \r\n\r\n \r\n La sede es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nombre*\r\n \r\n \r\n El Nombre es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n DescripciĆ³n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { SensorReadingplaceService } from 'src/app/services/sensor-readingplace/sensor-readingplace.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-sensor-readingplace-modal',\r\n templateUrl: './sensor-readingplace-modal.component.html',\r\n styleUrls: ['./sensor-readingplace-modal.component.css']\r\n})\r\nexport class SensorReadingplaceModalComponent implements OnInit {\r\n\r\n gatewayForm: FormGroup;\r\n headquarterSelect: number;\r\n headquarters = [];\r\n edit = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private headquarterService: HeadquarterService,\r\n private sensorReadingplaceService: SensorReadingplaceService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.headquarters = this.data.headquarters;\r\n this.setHeadquarter();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n if(this.data.idHeadquarter == 0) this.edit = true;\r\n if(this.data.idHeadquarter){\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n }\r\n\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n this.gatewayForm.controls['name'].setValue(this.data.obj.name);\r\n this.gatewayForm.controls['description'].setValue(this.data.obj.description);\r\n }\r\n }\r\n\r\n getHeadquarters() {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.data.idEnterprise);\r\n console.log(\"enterprises\",this.headquarters[0]);\r\n if(this.data.obj != null){\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n }else{\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n}\r\n\r\n setHeadquarter(){\r\n if(this.data.idHeadquarter > 0){\r\n var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n var _this = this;\r\n var items = headquarters.filter(x => x.idEnterprise == _this.data.enterpriseId);\r\n if(items.length > 0){\r\n _this.headquarters = items;\r\n if(_this.data.idHeadquarter != 0){\r\n _this.headquarterSelect = items[0].id;\r\n }\r\n }\r\n }else{\r\n this.getHeadquarters();\r\n }\r\n /*var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n var _this = this;\r\n var list = headquarters.filter(x => x.idEnterprise == _this.data.idEnterprise);\r\n if(list.length > 0){\r\n _this.headquarters = list;\r\n _this.headquarterSelect = list[0].id;\r\n }*/\r\n }\r\n\r\n createForm(){\r\n this.gatewayForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]],\r\n description: ['', []],\r\n idHeadquarter: ['', []]\r\n })\r\n }\r\n\r\n get f() { return this.gatewayForm.controls; }\r\n\r\n save(){\r\n if(this.gatewayForm.valid){\r\n const payload = {\r\n name:this.gatewayForm.value[\"name\"],\r\n description:this.gatewayForm.value[\"description\"],\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.data.idEnterprise,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.sensorReadingplaceService.create(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_SENSOR_READINGPLACE, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else{\r\n this.sensorReadingplaceService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_SENSOR_READINGPLACE, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.gatewayForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n }\r\n\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    # \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n GrƔfico {{element.graph}} Acciones \r\n delete\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatPaginator, MatTableDataSource } from '@angular/material';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { GraphNewAssignModalComponent } from '../graph-new-assign-modal/graph-new-assign-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MessageModalComponent } from '../../message/message-modal.component';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { SensorTypeService } from 'src/app/services/sensor-type/sensor-type.service';\r\n\r\n@Component({\r\n selector: 'app-graph-assign-modal',\r\n templateUrl: './graph-assign-modal.component.html',\r\n styleUrls: ['./graph-assign-modal.component.css']\r\n})\r\nexport class GraphAssignModalComponent implements OnInit {\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['graph','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n items = [];\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private spinner: NgxSpinnerService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialog: MatDialog,\r\n private sensorTypeService: SensorTypeService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.list();\r\n }\r\n\r\n list(){\r\n this.spinner.show();\r\n this.sensorTypeService.getListGraphAll(this.data.idSensorType).subscribe((response) => {\r\n if(!response.error){\r\n this.dataSource.data = response.data;\r\n }else{\r\n this.dataSource.data = [];\r\n }\r\n\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n add(){\r\n let dialogRef = this.dialog.open(GraphNewAssignModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.TITLE_USER_NEW_ASSING_MODAL,\r\n idUser: this.data.obj.userId,\r\n idSensorType: this.data.idSensorType,\r\n color: this.data.color,\r\n colorFont: this.data.colorFont\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.list();\r\n }\r\n });\r\n }\r\n\r\n delete(element){\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_TITLE_USER_ASSING_CONFIRM,\r\n message: `${AppConstants.MessageModal.DELETE_USER_ASSIGN_CONFIRMATION_MESSAGE1}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n })\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteUser(element.id);\r\n }\r\n });\r\n }\r\n\r\n deleteUser(id: number) {\r\n this.spinner.show();\r\n var data = {\r\n id: id,\r\n AuditUpdateUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n\r\n this.sensorTypeService.deleteGraph(data).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_USER_ASSIGN, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.list();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_USER_ASSIGN, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n GrƔfico*\r\n \r\n \r\n {{graph.name}}\r\n \r\n \r\n \r\n El grƔfico es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit,Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { RoleService } from 'src/app/services/role/role.service';\r\nimport { SensorTypeService } from 'src/app/services/sensor-type/sensor-type.service';\r\nimport { UserService } from 'src/app/services/user/user.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-graph-new-assign-modal',\r\n templateUrl: './graph-new-assign-modal.component.html',\r\n styleUrls: ['./graph-new-assign-modal.component.css']\r\n})\r\nexport class GraphNewAssignModalComponent implements OnInit {\r\n\r\n userForm: FormGroup;\r\n graphSelect: number;\r\n graphs = [];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private spinner: NgxSpinnerService,\r\n private alertService: AlertService,\r\n public dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private sensorTypeService: SensorTypeService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n this.getGraphs();\r\n }\r\n\r\n getGraphs() {\r\n this.spinner.show();\r\n this.sensorTypeService.getListGraphs().subscribe((response) => {\r\n if(response.error == null){\r\n this.graphs = response.data;\r\n if(this.graphs.length>0){\r\n this.graphSelect = this.graphs[0].id;\r\n }\r\n }else{\r\n this.graphs = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.graphs = [];\r\n this.spinner.hide();\r\n });\r\n}\r\n\r\n createForm(){\r\n this.userForm = this.formBuilder.group({\r\n idGraph: ['', [Validators.required]]\r\n })\r\n }\r\n\r\n get f() { return this.userForm.controls; }\r\n\r\n save(){\r\n if(this.userForm.valid){\r\n var data = {\r\n idGraph: this.graphSelect,\r\n idSensorType: this.data.idSensorType,\r\n idUser:localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n this.sensorTypeService.createGraph(data).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_USER_RELATIONSHIP, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.userForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Nombre*\r\n \r\n \r\n El Nombre es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { GatewayService } from 'src/app/services/gateway/gateway.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { SensorReadingplaceService } from 'src/app/services/sensor-readingplace/sensor-readingplace.service';\r\nimport { SensorTypeService } from 'src/app/services/sensor-type/sensor-type.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-sensor-type-modal',\r\n templateUrl: './sensor-type-modal.component.html',\r\n styleUrls: ['./sensor-type-modal.component.css']\r\n})\r\nexport class SensorTypeModalComponent implements OnInit {\r\n\r\n gatewayForm: FormGroup;\r\n headquarterSelect: number;\r\n headquarters = [];\r\n edit = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private sensorTypeService: SensorTypeService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.gatewayForm.controls['name'].setValue(this.data.obj.name);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.gatewayForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]]\r\n })\r\n }\r\n\r\n get f() { return this.gatewayForm.controls; }\r\n\r\n save(){\r\n if(this.gatewayForm.valid){\r\n const payload = {\r\n name:this.gatewayForm.value[\"name\"],\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.sensorTypeService.create(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_SENSOR_TYPE, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else{\r\n this.sensorTypeService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_SENSOR_TYPE, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.gatewayForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Sede*\r\n \r\n \r\n {{headquarter.name}}\r\n \r\n \r\n\r\n \r\n La sede es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Gateway*\r\n \r\n \r\n {{gateway.name}}\r\n \r\n \r\n\r\n \r\n El gateway es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nombre*\r\n \r\n \r\n El Nombre es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n DescripciĆ³n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nomenclatura*\r\n \r\n \r\n La nomenclatura requerida.\r\n \r\n \r\n La nomenclatura no puede ser mayor a 30 caracteres.\r\n \r\n \r\n La nomenclatura no puede ser menor a 2 caracteres.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { SensorService } from 'src/app/services/sensor/sensor.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-sensor-modal',\r\n templateUrl: './sensor-modal.component.html',\r\n styleUrls: ['./sensor-modal.component.css']\r\n})\r\nexport class SensorModalComponent implements OnInit {\r\n\r\n sensorForm: FormGroup;\r\n gatewaySelect: number;\r\n headquarterSelect: number;\r\n edit = false;\r\n editHeadquarter = false;\r\n gateways = [];\r\n headquarters = [];\r\n disabledHeadquarter = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private sensorService: SensorService,\r\n private headquarterService: HeadquarterService,\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.gateways = this.data.gateways;\r\n this.headquarters = this.data.headquarters;\r\n this.setHeadquarter();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.editHeadquarter = false;\r\n this.edit = false;\r\n if(this.data.idGateway > 0){\r\n this.headquarterSelect = (this.data.gateways.filter(x => x.id == this.data.idGateway)[0]).idHeadquarter;\r\n }\r\n\r\n if(this.data.idHeadquarter){\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n if(this.data.idGateway){\r\n this.gatewaySelect = this.data.idGateway;\r\n }\r\n }\r\n\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.editHeadquarter = true;\r\n this.gateways = this.data.gateways.filter(x => x.idHeadquarter == this.data.obj.idHeadquarter);\r\n this.gatewaySelect = this.data.obj.idGateway;\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n this.sensorForm.controls['idGateway'].setValue(this.data.obj.idGateway);\r\n this.sensorForm.controls['name'].setValue(this.data.obj.name);\r\n this.sensorForm.controls['description'].setValue(this.data.obj.description);\r\n this.sensorForm.controls['nomenclature'].setValue(this.data.obj.nomenclature);\r\n }\r\n }\r\n\r\n setHeadquarter(){\r\n if(this.data.idHeadquarter > 0){\r\n var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n var _this = this;\r\n var items = headquarters.filter(x => x.idEnterprise == _this.data.idEnterprise);\r\n if(items.length > 0){\r\n _this.headquarters = items;\r\n if(_this.data.idHeadquarter != 0){\r\n _this.headquarterSelect = items[0].id;\r\n _this.disabledHeadquarter = true;\r\n }\r\n }\r\n this.gateways = this.gateways.filter(x => x.idHeadquarter == this.headquarterSelect);\r\n if(this.gateways.length>0){\r\n this.gatewaySelect = this.gateways[0].id;\r\n }\r\n }else{\r\n this.getHeadquarters();\r\n }\r\n }\r\n\r\n getHeadquarters() {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.data.idEnterprise);\r\n if(this.data.obj != null){\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n }else{\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }\r\n\r\n this.gateways = this.gateways.filter(x => x.idHeadquarter == this.headquarterSelect);\r\n if(this.gateways.length>0){\r\n this.gatewaySelect = this.gateways[0].id;\r\n }\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n}\r\n\r\n\r\n createForm(){\r\n this.sensorForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]],\r\n description: ['', []],\r\n nomenclature: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]],\r\n idGateway: ['', [Validators.required]],\r\n idHeadquarter: ['', [Validators.required]]\r\n })\r\n }\r\n\r\n get f() { return this.sensorForm.controls; }\r\n\r\n save(){\r\n if(this.sensorForm.valid){\r\n const payload = {\r\n name:this.sensorForm.value[\"name\"],\r\n nomenclature:this.sensorForm.value[\"nomenclature\"],\r\n description:this.sensorForm.value[\"description\"],\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.data.idEnterprise,\r\n idGateway: this.gatewaySelect,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.sensorService.create(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_SENSOR, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }else{\r\n this.sensorService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_SENSOR, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.spinner.hide();\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n }else{\r\n this.sensorForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n changeGateway(data) {\r\n this.gatewaySelect = data.value;\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n this.gateways = this.data.gateways.filter(x => x.idHeadquarter == data.value);\r\n if(this.gateways.length>0){\r\n this.gatewaySelect = this.gateways[0].id;\r\n }else{\r\n this.gatewaySelect = null;\r\n }\r\n }\r\n\r\n}\r\n\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Nombre\r\n \r\n \r\n El Nombre es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n IP\r\n \r\n \r\n La IP requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n RTMP (Ejemplo: rtmp://example.com o http://10.21.33.1)\r\n \r\n \r\n RTMP es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n FILE (Ejemplo: https://example.com o http://10.21.33.1)\r\n \r\n \r\n El Link File es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { StreamingServerService } from 'src/app/services/streamingServer/streamingServer.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-server-streaming-modal',\r\n templateUrl: './server-streaming-modal.component.html',\r\n styleUrls: ['./server-streaming-modal.component.css']\r\n})\r\nexport class ServerStreamingModalComponent implements OnInit {\r\n\r\n securityForm: FormGroup;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private AlertService: AlertService,\r\n private streamingServerService: StreamingServerService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n if(this.data.action == 1){\r\n this.securityForm.controls['name'].setValue(this.data.obj.name);\r\n this.securityForm.controls['ip'].setValue(this.data.obj.ip);\r\n this.securityForm.controls['streamingRtmp'].setValue(this.data.obj.streamingRtmp);\r\n this.securityForm.controls['streamingFile'].setValue(this.data.obj.streamingFile);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.securityForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]],\r\n ip: ['', [Validators.required]],\r\n streamingRtmp: ['', [Validators.required]],\r\n streamingFile: ['', [Validators.required]]\r\n })\r\n }\r\n\r\n get f() { return this.securityForm.controls; }\r\n\r\n save(){\r\n if(this.securityForm.valid){\r\n const payload = {\r\n name:this.securityForm.value[\"name\"],\r\n ip:this.securityForm.value[\"ip\"],\r\n streamingRtmp:this.securityForm.value[\"streamingRtmp\"],\r\n streamingFile:this.securityForm.value[\"streamingFile\"],\r\n id: this.data.action == 1 ? this.data.obj.id : 0,\r\n idEnterprise: this.data.idEnterprise,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n if(this.data.action == 0){\r\n this.streamingServerService.create(payload).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n this.AlertService.showMessage(AppConstants.TitleModal.CREATE_STREAMING_SERVER, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.AlertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }else{\r\n this.streamingServerService.update(payload).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n this.AlertService.showMessage(AppConstants.TitleModal.UPDATE_STREAMING_SERVER, AppConstants.MessageModal.UPDATE_SECURITY, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.AlertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }\r\n }else{\r\n this.securityForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Correo\r\n \r\n \r\n El Correo es requerida.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-modal-email-show-room',\r\n templateUrl: './modal-email-show-room.component.html',\r\n styleUrls: ['./modal-email-show-room.component.css']\r\n})\r\nexport class ModalEmailShowRoomComponent implements OnInit {\r\n\r\n securityForm: FormGroup;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n private AlertService: AlertService,\r\n private showRoomService: ShowRoomService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n if(this.data.action == 1){\r\n this.securityForm.controls['email'].setValue(this.data.obj.email);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.securityForm = this.formBuilder.group({\r\n email: ['', [Validators.required, Validators.maxLength(500), this.noWhitespaceValidator]]\r\n })\r\n }\r\n\r\n get f() { return this.securityForm.controls; }\r\n\r\n noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n\r\n save(){\r\n if(this.securityForm.valid){\r\n const data = {\r\n email:this.securityForm.value[\"email\"],\r\n id: this.data.action == 1 ? this.data.obj.id : 0\r\n }\r\n\r\n\r\n\r\n this.showRoomService.insertUpdateEmail(data).subscribe(_ => {\r\n if(_.message == null || _.message == \"\"){\r\n if(this.data.action == 1){\r\n this.AlertService.showMessage(AppConstants.TitleModal.UPDATE_TITLE, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n }else{\r\n this.AlertService.showMessage(AppConstants.TitleModal.REGISTER_TITLE, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n }\r\n\r\n this.dialog.closeAll();\r\n }else{\r\n this.AlertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }else{\r\n this.securityForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n Filtro IOT\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n AƱo\r\n \r\n 2022\r\n 2021\r\n 2020\r\n 2019\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Mes\r\n \r\n \r\n {{month}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n DĆ­a\r\n \r\n \r\n {{day}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Hora inicio\r\n \r\n \r\n
    \r\n
    \r\n \r\n Hora fin\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Streaming Filtro\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AdminService } from 'src/app/services/admin/admin.service';\r\nimport { UserService } from 'src/app/services/user/user.service';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-modal-iot-filter',\r\n templateUrl: './modal-iot-filter.component.html',\r\n styleUrls: ['./modal-iot-filter.component.css']\r\n})\r\nexport class ModalIotFilterComponent implements OnInit {\r\n filterForm: FormGroup;\r\n title: string;\r\n hide = true;\r\n repeatHide = true;\r\n loading: boolean = false;\r\n roles = [];\r\n showEdit: boolean = false;\r\n isAdminGys: boolean = false;\r\n sessionUserId: string;\r\n months = ['ENERO','FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SETIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE'];\r\n days:Array;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n private userService: UserService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService,\r\n private adminService: AdminService\r\n ) {\r\n this.days = Array.from({length:31},(v,k)=>k+1);\r\n }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.filterForm = this.formBuilder.group({\r\n year: ['', [Validators.required]],\r\n month: ['', [Validators.required]],\r\n day: ['', [Validators.required]],\r\n starHour: ['', [Validators.required]],\r\n endHour: ['', [Validators.required]],\r\n startTime: ['', [Validators.required]],\r\n endTimeReport: ['', [Validators.required]]\r\n });\r\n }\r\n\r\n get f() { return this.filterForm.controls; }\r\n\r\n openConfirmationModal() {\r\n // alert(this.filterForm.valid);\r\n //alert(this.filterForm.errors);\r\n //if (this.filterForm.valid) {\r\n this.data.result = true;\r\n this.data.optionFilter = this.data.optionFilter;\r\n this.dialogRef.close(this.data);\r\n //} else {\r\n // this.data.result = false;\r\n // this.filterForm.markAllAsTouched();\r\n //}\r\n}\r\n\r\nclose() {\r\n this.data.result = false;\r\n this.dialog.closeAll();\r\n}\r\n\r\n_keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n}\r\n\r\nunparseCheckBox(id: boolean) {\r\n if (id) return 1; else return 0;\r\n}\r\n\r\ncheckFilter(){\r\n if(this.data.optionFilter) this.data.optionFilter = 1; else this.data.optionFilter = 0;\r\n}\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, OnInit, Pipe, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { Chart } from 'chart.js';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-modal-report-sensor-pbi-show-room',\r\n templateUrl: './modal-report-sensor-pbi-show-room.component.html',\r\n styleUrls: ['./modal-report-sensor-pbi-show-room.component.css']\r\n})\r\n\r\n@Pipe({ name: 'safe' })\r\n\r\nexport class ModalReportSensorPbiShowRoomComponent implements OnInit {\r\n url: SafeResourceUrl;\r\n\r\n constructor(\r\n private domSanitizer: DomSanitizer,\r\n public dialog: MatDialog\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.url = this.domSanitizer.bypassSecurityTrustResourceUrl(\"https://app.powerbi.com/view?r=eyJrIjoiMWU5Nzc1ZTQtY2M3MC00MzE1LTg5OGQtOWFhYTAzNTQzMzYzIiwidCI6ImM5NjYxYzI4LTdkN2QtNDJjMS05OGY5LTQ2MTQ4ZTNhNmIzYiIsImMiOjR9\");\r\n }\r\n \r\n closeModal(){\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n Reporte de Alertas\r\n
    \r\n
    \r\n
    \r\n close\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Fecha inicio\r\n \r\n \r\n \r\n \r\n La fecha de Inicio es obligatorio\r\n \r\n \r\n La fecha de Inicio no tiene el formato correcto\r\n \r\n \r\n
    \r\n
    \r\n \r\n Fecha Fin\r\n \r\n \r\n \r\n \r\n La fecha Final es obligatorio\r\n \r\n \r\n La fecha Final no tiene el formato correcto\r\n \r\n \r\n
    \r\n
    \r\n \r\n Hora inicio\r\n \r\n \r\n La Hora Inicial es obligatorio\r\n \r\n \r\n La Hora Inicial tiene formato incorrecto\r\n \r\n \r\n
    \r\n
    \r\n \r\n Hora fin\r\n \r\n \r\n La Hora Final es obligatorio\r\n \r\n \r\n La Hora Final tiene formato incorrecto\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {{ chart }}\r\n
    \r\n
    \r\n \r\n
    ","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CameraService } from 'src/app/services/camera/camera.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { Chart } from 'chart.js';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ShowRoomService } from 'src/app/services/showroom/showroom.service';\r\nimport { MessageSeverity, AlertService } from 'src/app/shared/services/alert.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\n\r\n@Component({\r\n selector: 'app-modal-report-video-analitica-show-room',\r\n templateUrl: './modal-report-video-analitica-show-room.component.html',\r\n styleUrls: ['./modal-report-video-analitica-show-room.component.css']\r\n})\r\nexport class ModalReportVideoAnaliticaShowRoomComponent implements OnInit {\r\n \r\n cameraSelect: number;\r\n cameraAlertType = [];\r\n reportForm: FormGroup;\r\n myDate = new Date();\r\n alertSelect: number = 0;\r\n date = new Date();\r\n dateF = new Date();\r\n timeI: string;\r\n timeF: string;\r\n dateV:string;\r\n isAdministrator=false;\r\n dateIView:string;\r\n dateFView:string;\r\n colors = [\"red\",\"blue\",\"green\",\"yellow\",\"black\",\"gray\",\"purple\",\"lightgray\"];\r\n\r\n dropdownList = [];\r\n selectedItems = [];\r\n dropdownSettings:IDropdownSettings;\r\n chartItem:any;\r\n\r\n labelsChart = [];\r\n dataChart:any;\r\n \r\n constructor(\r\n private cameraService: CameraService,\r\n private datePipe: DatePipe,\r\n public dialog: MatDialog,\r\n private AlertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private showRoomService: ShowRoomService\r\n ) {\r\n \r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'id_CameraAlert',\r\n textField: 'c_Alert',\r\n tooltipField: 'Tipo de Alerta',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Limpiar',\r\n searchPlaceholderText: 'Buscar',\r\n noFilteredDataAvailablePlaceholderText: 'Item no encontrado',\r\n itemsShowLimit: 3,\r\n allowSearchFilter: false, //input search\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.cameraSelect = 228;//235;//\r\n this.createForm();\r\n this.listAlertType();\r\n this.timeI = this.datePipe.transform(\"Tue Aug 18 2020 00:00:58 GMT-0500\", 'HH:mm');\r\n this.timeF = this.datePipe.transform(\"Tue Aug 18 2020 23:59:58 GMT-0500\", 'HH:mm');\r\n this.dateV = this.datePipe.transform(this.myDate, 'yyyy-MM-dd');\r\n this.graphLine();\r\n }\r\n\r\n graphLine(){\r\n\r\n this.chartItem=new Chart(\"myChart\", {\r\n type: 'line',\r\n data: this.dataChart,\r\n options: {\r\n scales: {\r\n xAxes: [{\r\n ticks: {\r\n autoSkip: false,\r\n maxRotation: 75,\r\n minRotation: 75\r\n }\r\n }\r\n ]\r\n },\r\n plugins: {\r\n legend: {\r\n display: true\r\n },\r\n title: {\r\n display: true,\r\n text: 'Cantidad de Alertas por Tipo'\r\n },\r\n datalabels: {\r\n display: true,\r\n }\r\n },\r\n events: [],\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n animation: {\r\n onComplete: function({ chart }) {\r\n const ctx = chart.ctx;\r\n ctx.textAlign = 'center';\r\n ctx.textBaseline = 'bottom';\r\n chart.config.data.datasets.forEach(function(dataset, i) {\r\n const meta = chart.getDatasetMeta(i);\r\n\r\n meta.data.forEach(function(bar, index) {\r\n if (dataset.data[index] > 0) {\r\n var data = dataset.data[index];\r\n ctx.fillText(data.toString(), bar.x, bar.y - 7);\r\n }\r\n });\r\n });\r\n }\r\n },\r\n }\r\n });\r\n }\r\n\r\n removeData(chart) {\r\n chart.data.labels.pop();\r\n chart.data.datasets.forEach((dataset) => {\r\n dataset.data.pop();\r\n });\r\n chart.update();\r\n }\r\n \r\n\r\n createForm(){\r\n this.reportForm = this.formBuilder.group({\r\n startDateReport: ['', [Validators.required]],\r\n endDateReport: ['', [Validators.required]],\r\n startTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n endTimeReport: ['', [Validators.required, Validators.pattern(\"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\")]],\r\n alertTypes: []\r\n });\r\n }\r\n\r\n listAlertType(){\r\n this.cameraService.GetAlertByCamera(this.cameraSelect,0).subscribe((response) => {\r\n this.cameraAlertType = response;\r\n this.selectedItems = this.cameraAlertType;\r\n this.reportForm.patchValue({\r\n alertTypes: this.selectedItems \r\n });\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.cameraAlertType = []\r\n });\r\n }\r\n\r\n _keyUp(event: any) {\r\n let charCode = (event.which) ? event.which : event.keyCode;\r\n console.log(event.keyCode)\r\n if (charCode != 46 && charCode != 58 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n get f() { return this.reportForm.controls; }\r\n onItemSelect(item: any) {\r\n console.log(item);\r\n }\r\n onSelectAll(items: any) {\r\n console.log(items);\r\n }\r\n\r\n closeModal(){\r\n this.dialog.closeAll();\r\n }\r\n\r\n search(){\r\n var alerts = [];\r\n this.selectedItems.forEach(x => {\r\n alerts.push(x.id_CameraAlert);\r\n });\r\n\r\n var filter = {\r\n dateI: this.reportForm.value[\"startDateReport\"],\r\n dateF: this.reportForm.value[\"endDateReport\"],\r\n timeI: this.timeI,\r\n timeF: this.timeF,\r\n idAlert: alerts\r\n };\r\n filter.dateI = this.datePipe.transform(filter.dateI, 'yyyy-MM-dd');\r\n filter.dateF = this.datePipe.transform(filter.dateF, 'yyyy-MM-dd');\r\n this.showRoomService.reportVideoanalitica(filter).subscribe(\r\n result => {\r\n if(result.error == null){\r\n this.chartItem.destroy();\r\n var data = result.data;\r\n var labels = [];\r\n var labelAlerts = [];\r\n var datasets = [];\r\n var values = [];\r\n var i = 0;\r\n data.forEach(x=>{\r\n var label = this.selectedItems.filter(y => y.id_CameraAlert == x.idAlert)[0].c_Alert;\r\n x.data.forEach(y=>{\r\n labels.push(y.date);\r\n values.push(y.qty);\r\n });\r\n datasets.push({\r\n label: label,\r\n data: values,\r\n borderColor: this.colors[i],\r\n backgroundColor: this.colors[i],\r\n });\r\n values = [];\r\n i++;\r\n })\r\n this.dataChart = {\r\n labels: this.removeDuplicates(labels),\r\n datasets: datasets\r\n };\r\n this.graphLine();\r\n }\r\n \r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n }\r\n\r\n removeDuplicates(arr) {\r\n return arr.filter((item,\r\n index) => arr.indexOf(item) === index);\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ","import { Component, Inject, Input, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-screenshot',\r\n templateUrl: './modal-screenshot.component.html',\r\n styleUrls: ['./modal-screenshot.component.css']\r\n})\r\nexport class ModalScreenshotComponent implements OnInit {\r\n screenshot : any; \r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,) {\r\n }\r\n\r\n ngOnInit(): void {\r\n /*var container = document.querySelector('.divCanvasScreenshot');\r\n container.appendChild(this.data.screenshot);*/\r\n document.body.appendChild(this.data.screenshot);\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Apellidos y Nombres\r\n \r\n \r\n Apellidos y Nombres es requerido.\r\n \r\n \r\n Apellidos y Nombres debe tener 80 carƔcteres.\r\n \r\n \r\n
    \r\n
    \r\n \r\n NĀŗ Celular\r\n \r\n \r\n Celular es requerido.\r\n \r\n \r\n Celular debe tener 9 carĆ”cteres mĆ”ximo.\r\n \r\n \r\n Celular debe tener 9 carĆ”cteres mĆ­nimo.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Alerta\r\n \r\n \r\n {{item.c_Alert}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
    # \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n # {{j + 1}} Alerta {{element.nameAlert}} AcciĆ³n \r\n delete\r\n
    \r\n
    \r\n
    \r\n
    \r\n Habilitado\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n\r\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\r\nimport { MessageModalComponent } from '../message/message-modal.component';\r\nimport { SmsService } from '../../../../services/sms/sms.service';\r\nimport { AppConstants } from '../../../constants/app.contants';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { MessageSeverity, AlertService } from '../../../services/alert.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { EmitterService } from '../../../../shared/services/emitter.service';\r\nimport { AlertSmsPending } from '../../../../models/sms/sms';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'app-sms-modal',\r\n templateUrl: './sms-modal.component.html',\r\n styleUrls: ['./sms-modal.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class SMSModalComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n\r\n name: string;\r\n cellphone: string;\r\n alertSelect:number;\r\n list = [];\r\n listId = [];\r\n listAlert:AlertSmsPending[];\r\n\r\n myDate = new Date();\r\n\r\n localSave: string;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n subscription: Subscription;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['id','nameAlert','action'];\r\n\r\n pageEvent: PageEvent;\r\n pageIndex: number = 0;\r\n pageSize: number = 0;\r\n length: number = 0;\r\n\r\n smsForm: FormGroup;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private dialogRef: MatDialogRef,\r\n private SmsService: SmsService,\r\n private AlertService: AlertService,\r\n private emitterService: EmitterService,\r\n private formBuilder: FormBuilder,\r\n private datePipe: DatePipe,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.localSave = this.datePipe.transform(this.myDate, 'HH:mm');\r\n this.dataSource.paginator = this.paginator;\r\n this.subscription = this.emitterService.getMessage().subscribe(message => {\r\n if (message == AppConstants.EmitterService.ListSms) {\r\n this.dataExtrac();\r\n }\r\n });\r\n\r\n this.alert();\r\n this.createForm();\r\n this.condition();\r\n this.dataSource.filteredData = this.list;\r\n }\r\n\r\n closeDialog() {\r\n this.dialogRef.close()\r\n }\r\n\r\n delete(obj) {\r\n let index = -1;\r\n for (var i = 0; i < this.list.length; i++) {\r\n if (this.list[i]['nameAlert'] == obj.nameAlert) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n\r\n this.dataSource.data.splice(index, 1);\r\n this.listId.splice(index, 1);\r\n\r\n this.dataSource = new MatTableDataSource(this.dataSource.data);\r\n setTimeout(() => {\r\n this.dataSource.paginator = this.paginator;\r\n });\r\n\r\n }\r\n\r\n createForm() {\r\n this.smsForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(80), this.noWhitespaceValidator]],\r\n status: [true, [Validators.required]],\r\n alert: [''],\r\n cellphone: ['', [Validators.required, Validators.maxLength(9), Validators.minLength(9), this.noWhitespaceValidator]]\r\n })\r\n }\r\n\r\n noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n\r\n getArray(){\r\n if(this.alertSelect > 0){\r\n if(this.listId.length == 0){\r\n this.listId = this.listId.concat({AlertId:this.alertSelect});\r\n for(let items of this.listAlert){\r\n if(items.id_Alert == this.alertSelect){\r\n this.list = this.list.concat({nameAlert:items.c_Alert});\r\n }\r\n }\r\n }else{\r\n let searchData = this.listId.filter(fil => fil.AlertId.toString().toLowerCase().startsWith(this.alertSelect));\r\n if(searchData.length > 0){\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_REPET,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n else{\r\n this.listId = this.listId.concat({AlertId:this.alertSelect});\r\n for(let items of this.listAlert){\r\n if(items.id_Alert == this.alertSelect){\r\n this.list = this.list.concat({nameAlert:items.c_Alert});\r\n }\r\n }\r\n }\r\n }\r\n }else{\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n \"No seleccionĆ³ ninguna alerta para agregar\",\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n this.dataSource.data = this.list;\r\n }\r\n\r\n get f() { return this.smsForm.controls; }\r\n\r\n openConfirmationModal() {\r\n let message = '';\r\n\r\n if (this.smsForm.valid) {\r\n switch (this.data.typeId) {\r\n case 0:\r\n message = AppConstants.MessageModal.REGISTER_MESSAGE_SMS_CONFIRM\r\n break;\r\n case 1:\r\n message = AppConstants.MessageModal.EDIT_MESSAGE_SMS_CONFIRM\r\n break;\r\n }\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: 'Confirmar Registro',\r\n message: message,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (this.smsForm.valid) {\r\n if(this.data.typeId == 0){\r\n if (response.result == true) {\r\n this.spinner.show();\r\n this.registerData();\r\n this.spinner.hide();\r\n }\r\n }else{\r\n if (response.result == true) {\r\n this.spinner.show();\r\n this.updateata();\r\n this.spinner.hide();\r\n }\r\n }\r\n }else{\r\n this.smsForm.markAllAsTouched();\r\n }\r\n });\r\n }else{\r\n this.smsForm.markAllAsTouched();\r\n if(this.listId.length == 0)\r\n {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n dataExtrac() {\r\n this.list = this.list;\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n alert(){\r\n this.SmsService.getAlertByEmterprise(this.data.enterpriseId).subscribe((response) => {\r\n this.listAlert = response\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n }\r\n\r\n condition() {\r\n if (this.data.typeId == 1) {\r\n this.SmsService.getSmsByid(this.data.enterpriseId, this.data.idSelect).subscribe((response) => {\r\n this.smsForm.patchValue({\r\n status: response.active\r\n });\r\n this.name = response.userName;\r\n this.cellphone = response.cellphone;\r\n this.list = response.alerts;\r\n for(let item of response.alerts){\r\n if(item.alertId > 0){\r\n this.listId = this.listId.concat({AlertId:item.alertId});\r\n }\r\n }\r\n this.dataSource.data = this.list;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n } else {\r\n this.name = \"\";\r\n this.cellphone = \"\";\r\n this.list = [];\r\n }\r\n }\r\n\r\n registerData() {\r\n /*\r\n let registerData = this.smsForm.value;\r\n\r\n if (!this.smsForm.controls.name.valid ||\r\n !this.smsForm.controls.cellphone.valid) {\r\n\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.REQUIRED_FIELDS_MESSAGE,\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n if(this.listId.length == 0)\r\n {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n\r\n let valueint = 0;\r\n\r\n if( registerData.status == true){\r\n valueint = 1;\r\n }else{\r\n valueint = 0;\r\n }\r\n\r\n let register =\r\n {\r\n id_Enterprise: this.data.enterpriseId,\r\n UserId: parseInt(localStorage.getItem(AppConstants.Session.USERID)),\r\n c_UserSms: this.name,\r\n c_Celphone: this.cellphone,\r\n enabled: valueint,\r\n DateRegister: this.localSave,\r\n SmsAlerts: this.listId,\r\n }\r\n\r\n let formData = new FormData();\r\n formData.append('data', JSON.stringify(register));\r\n\r\n this.SmsService.registerSms(formData).subscribe(\r\n result => {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.CREATE_SMS,\r\n AppConstants.MessageModal.CREATE_SMS,\r\n MessageSeverity.success);\r\n this.close();\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListSms);\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n */\r\n }\r\n\r\n updateata() {\r\n /*\r\n let registerData = this.smsForm.value;\r\n\r\n if (!this.smsForm.controls.name.valid ||\r\n !this.smsForm.controls.cellphone.valid) {\r\n\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.REQUIRED_FIELDS_MESSAGE,\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n\r\n if(this.listId.length == 0)\r\n {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.WARNING_TITLE,\r\n AppConstants.MessageModal.DATA_NULL,\r\n MessageSeverity.error);\r\n\r\n return false;\r\n }\r\n\r\n let valueint = 0;\r\n\r\n if( registerData.status == true){\r\n valueint = 1;\r\n }else{\r\n valueint = 0;\r\n }\r\n\r\n let update =\r\n {\r\n id_Sms: this.data.idSelect,\r\n UserId: parseInt(localStorage.getItem(AppConstants.Session.USERID)),\r\n id_Enterprise:this.data.enterpriseId,\r\n c_UserSms: this.name,\r\n c_Celphone: this.cellphone,\r\n enabled: valueint,\r\n DateRegister: this.localSave,\r\n SmsAlerts: this.listId\r\n }\r\n\r\n let formData = new FormData();\r\n formData.append('data', JSON.stringify(update));\r\n\r\n this.SmsService.updatedSms(formData).subscribe(\r\n result => {\r\n this.AlertService.showMessage(\r\n AppConstants.TitleModal.UPDATE_SMS,\r\n AppConstants.MessageModal.UPDATE_SMS,\r\n MessageSeverity.success);\r\n this.close();\r\n this.emitterService.sendMessage(AppConstants.EmitterService.ListSms);\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.AlertService.showMessage(AppConstants.TitleModal.ERROR_TITLE, error.error.messages, MessageSeverity.error);\r\n });\r\n */\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    # \r\n {{this.paginator.pageIndex == 0 ? i + 1 : 1 + i + this.paginator.pageIndex * this.paginator.pageSize}}\r\n Empresa {{element.enterprise}} Sede \r\n TODAS\r\n {{element.headquarter}}\r\n Rol {{element.role}} Acciones \r\n create\r\n delete\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatPaginator, MatTableDataSource } from '@angular/material';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { UserService } from 'src/app/services/user/user.service';\r\nimport { UserNewAssingModalComponent } from '../user-new-assing-modal/user-new-assing-modal.component';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { MessageModalComponent } from '../../message/message-modal.component';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\n\r\n@Component({\r\n selector: 'app-user-assing-modal',\r\n templateUrl: './user-assing-modal.component.html',\r\n styleUrls: ['./user-assing-modal.component.css']\r\n})\r\nexport class UserAssingModalComponent implements OnInit {\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['enterprise','headquarter','role','action'];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n items = [];\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private spinner: NgxSpinnerService,\r\n private enterpriseService: EnterpriseService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialog: MatDialog,\r\n private userService: UserService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = '';\r\n this.list();\r\n }\r\n\r\n list(){\r\n this.spinner.show();\r\n var data = {\r\n Enterprise: +localStorage.getItem(AppConstants.Session.ENTERPRISE)\r\n }\r\n \r\n this.enterpriseService.getValidateMasterEnterprise(data).subscribe((response) => {\r\n this.userService.getUserEnterprisesHeadquarters(this.data.obj.userId).subscribe((response2) => {\r\n var dataList = response2;\r\n if(response.code != 200){\r\n dataList = response2.filter(f => f.idEnterprise == data.Enterprise);\r\n }\r\n console.log(\"list\",dataList);\r\n this.dataSource.data = dataList;\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n });\r\n }\r\n\r\n add(){\r\n let dialogRef = this.dialog.open(UserNewAssingModalComponent, {\r\n data: {\r\n action: AppConstants.OperationType.ADD,\r\n title: AppConstants.TitleModal.TITLE_USER_NEW_ASSING_MODAL,\r\n idUser: this.data.obj.userId,\r\n color: this.data.color,\r\n colorFont: this.data.colorFont\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.list();\r\n }\r\n });\r\n }\r\n\r\n delete(element){\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.DELETE_TITLE_USER_ASSING_CONFIRM,\r\n message: `${AppConstants.MessageModal.DELETE_USER_ASSIGN_CONFIRMATION_MESSAGE1}`,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n })\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.deleteUser(element.id);\r\n }\r\n });\r\n }\r\n\r\n deleteUser(enterpriseId: number) {\r\n this.spinner.show();\r\n var data = {\r\n id: enterpriseId,\r\n AuditUpdateUser: localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n\r\n this.userService.deleteEnterpriseHeadquarter(data).subscribe((response => {\r\n this.spinner.hide();\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_USER_ASSIGN, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.list();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_USER_ASSIGN, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n openEditModal(item){\r\n let dialogRef = this.dialog.open(UserNewAssingModalComponent, {\r\n data: {\r\n action: AppConstants.OperationType.UPDATE,\r\n title: AppConstants.TitleModal.TITLE_USER_NEW_ASSING_MODAL,\r\n idUser: this.data.obj.userId,\r\n color: this.data.color,\r\n obj: item,\r\n colorFont: this.data.colorFont\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n this.list();\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Correo*\r\n \r\n \r\n El correo es requerido.\r\n \r\n \r\n El correo debe tener mƔximo 100 caractƩres.\r\n \r\n \r\n Error en el formato.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Nombres(s)*\r\n \r\n \r\n \r\n El nĆŗmero de documento debe tener mĆ”ximo 30 caractĆ©res.\r\n \r\n \r\n El nĆŗmero de documento es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Apellidos*\r\n \r\n \r\n \r\n El Apellido debe tener mƔximo 30 caractƩres.\r\n \r\n \r\n El Apellido es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Nueva contraseƱa\r\n ContraseƱa\r\n \r\n {{hide ? 'visibility_off' : 'visibility'}}\r\n \r\n La contraseƱa debe tener 6 caractƩres.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Repetir Nueva ContraseƱa\r\n Repetir ContraseƱa\r\n \r\n {{repeatHide ? 'visibility_off' : 'visibility'}}\r\n\r\n \r\n La contraseƱa debe tener 6 caractƩres.\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Rol*\r\n \r\n \r\n {{rol.name}}\r\n \r\n \r\n \r\n El rol es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n\r\n\r\n
    \r\n
    \r\n Habilitado\r\n
    \r\n
    \r\n Enviar Correo\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl, ValidationErrors, AbstractControl } from '@angular/forms';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { User, UserPut } from '../../../../models/user/user';\r\nimport { UserService } from '../../../../services/user/user.service';\r\nimport { AlertService, MessageSeverity } from '../../../services/alert.service';\r\nimport { EmitterService } from '../../../services/emitter.service';\r\nimport { MessageModalComponent } from '../message/message-modal.component';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { AdminService } from '../../../../services/admin/admin.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { RoleService } from 'src/app/services/role/role.service';\r\n\r\n@Component({\r\n selector: 'user-modal',\r\n templateUrl: 'user-modal.component.html'\r\n})\r\n\r\nexport class UserModalComponent implements OnInit {\r\n userForm: FormGroup\r\n title: string;\r\n hide = true;\r\n repeatHide = true;\r\n loading: boolean = false;\r\n roles = [];\r\n showEdit: boolean = false;\r\n isAdminGys: boolean = false;\r\n sessionUserId: string;\r\n roleSelect = 0;\r\n headquarterSelect = 0;\r\n headquarters = [];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n private userService: UserService,\r\n private alertService: AlertService,\r\n private emitterService: EmitterService,\r\n private adminService: AdminService,\r\n private roleService: RoleService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAdminGys = (+localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.AdministradorGyS || +localStorage.getItem(AppConstants.Session.ROLID) == AppConstants.UserRole.UsuarioGyS) ? true : false;\r\n this.sessionUserId = localStorage.getItem(AppConstants.Session.USERID);\r\n this.headquarters = this.data.headquarters;\r\n this.createForm()\r\n this.setValues();\r\n this.getRoles();\r\n }\r\n\r\n createForm() {\r\n this.showEdit = this.data.action == AppConstants.OperationType.UPDATE ? true : false;\r\n this.userForm = this.formBuilder.group({\r\n // documentNumber: ['', [Validators.required, Validators.minLength(8), Validators.maxLength(8)]],\r\n email: ['', [Validators.required, Validators.maxLength(100), Validators.email]],\r\n names: ['', [Validators.required, Validators.maxLength(30), this.noWhitespaceValidator]],\r\n lastName: ['', [Validators.required, Validators.maxLength(30), this.noWhitespaceValidator]],\r\n role: ['', [Validators.required]],\r\n password: ['', [Validators.minLength(6)]],\r\n confirmPassword: ['', [Validators.minLength(6)]],\r\n status: [true, [Validators.required]],\r\n sendEmail: [true, [Validators.required]],\r\n //idHeadquarter: ['', []],\r\n // locked: [false],\r\n });\r\n }\r\n\r\n passwordMatcher(): boolean {\r\n const password = this.userForm.get('password');\r\n const confirmPassword = this.userForm.get('confirmPassword');\r\n\r\n if (password.value === confirmPassword.value) {\r\n return true;\r\n }\r\n return false ;\r\n }\r\n\r\n get f() { return this.userForm.controls; }\r\n\r\n openConfirmationModal() {\r\n if (this.userForm.valid) {\r\n\r\n\r\n if(!this.passwordMatcher()){\r\n this.alertService.showMessage(\"\", \"No coincide la contraseƱa con la contraseƱa de confirmaciĆ³n\", MessageSeverity.error);\r\n return false;\r\n }\r\n\r\n\r\n let message = '';\r\n switch(this.data.action){\r\n case AppConstants.OperationType.ADD:\r\n message = AppConstants.TitleModal.REGISTER_TITLE_USER_MODAL\r\n break;\r\n case AppConstants.OperationType.UPDATE:\r\n message = AppConstants.TitleModal.EDIT_TITLE_USER_MODAL\r\n break;\r\n }\r\n let dialogRef = this.dialog.open(MessageModalComponent, {\r\n data: {\r\n title: message,\r\n message: this.data.action == AppConstants.OperationType.UPDATE ? AppConstants.MessageModal.UPDATE_MESSAGE_USER_CONFIRM : AppConstants.MessageModal.REGISTER_MESSAGE_USER_CONFIRM,\r\n hasButton: true,\r\n contentButton: {\r\n yes: 'SI',\r\n no: 'CANCELAR'\r\n }\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(response => {\r\n if (response.result == true) {\r\n if (this.data.action == AppConstants.OperationType.UPDATE) {\r\n var mdel = new UserPut();\r\n mdel.userId = this.data.row.userId;\r\n mdel.enterpriseId = 0;//this.data.row.enterpriseId;\r\n mdel.rolId = 0;//this.userForm.value[\"role\"];\r\n // mdel.dni = this.userForm.value[\"documentNumber\"];\r\n mdel.lasName = this.userForm.value[\"lastName\"].trim();\r\n mdel.names = this.userForm.value[\"names\"].trim();\r\n mdel.email = this.userForm.value[\"email\"].trim();\r\n // mdel.password = this.userForm.value[\"password\"];\r\n // mdel.confirmNewPassword = this.userForm.value[\"confirmPassword\"];\r\n mdel.enabled = this.unparseCheckBox(this.userForm.value[\"status\"]);\r\n mdel.sendEmail = this.unparseCheckBox(this.userForm.value[\"sendEmail\"]);\r\n mdel.password = this.userForm.value[\"password\"];\r\n // mdel.locked = this.unparseCheckBox(this.userForm.value[\"locked\"]);\r\n mdel.userUpdate = this.sessionUserId;\r\n mdel.idHeadquarter = 0;//this.headquarterSelect;\r\n\r\n this.updateUser(mdel);\r\n\r\n } else if (this.data.action == AppConstants.OperationType.ADD) {\r\n var model = new User();\r\n model.enterpriseId = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE));//this.data.enterpriseId;\r\n model.idHeadquarter = parseInt(localStorage.getItem(AppConstants.Session.HEADQUARTER));\r\n model.rolId = this.roleSelect;//this.userForm.value[\"role\"];\r\n // model.dni = this.userForm.evalue[\"documentNumber\"];\r\n model.lasName = this.userForm.value[\"lastName\"].trim();\r\n model.names = this.userForm.value[\"names\"].trim();\r\n model.email = this.userForm.value[\"email\"].trim();\r\n model.password = this.userForm.value[\"password\"];\r\n // model.password = this.userForm.value[\"password\"];\r\n // model.confirmNewPassword = this.userForm.value[\"confirmPassword\"];\r\n model.enabled = this.unparseCheckBox(this.userForm.value[\"status\"]);\r\n model.sendEmail = this.unparseCheckBox(this.userForm.value[\"sendEmail\"]);\r\n model.userCreation = this.sessionUserId;\r\n model.idHeadquarter = 0;//this.headquarterSelect;\r\n this.createUser(model);\r\n }\r\n }\r\n });\r\n\r\n } else {\r\n this.userForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n unparseCheckBox(id: boolean) {\r\n if (id) return 1; else return 0;\r\n }\r\n\r\n createUser(model: User) {\r\n this.spinner.show();\r\n this.userService.createUser(model).subscribe((response => {\r\n if(response.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_USER, response.message, MessageSeverity.error);\r\n }else{\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_USER, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_USER, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n/*\r\n getRoles() {\r\n this.spinner.show();\r\n let arrayRolesAdminEnterprise = [AppConstants.UserRole.AdministradorGyS, AppConstants.UserRole.UsuarioGyS, AppConstants.UserRole.UsuarioGySComercial];\r\n this.adminService.getEnterprises().subscribe((response) => {\r\n this.roles = this.isAdminGys == true ? response : response.filter(f => !arrayRolesAdminEnterprise.includes(f.rolId));\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.userForm.controls['role'].setValue('');\r\n }else{\r\n this.userForm.controls['role'].setValue(this.roles.length > 0 ? this.data.row.rolId : '');\r\n }\r\n\r\n if (this.data.action != AppConstants.OperationType.UPDATE)\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n*/\r\n clearFields() {\r\n this.userForm.controls['email'].setValue('');\r\n this.userForm.controls['names'].setValue('');\r\n this.userForm.controls['lastName'].setValue('');\r\n //this.userForm.controls['role'].setValue('');\r\n this.userForm.controls['password'].setValue('');\r\n this.userForm.controls['confirmPassword'].setValue('');\r\n this.userForm.controls['status'].setValue(true);\r\n this.userForm.controls['sendEmail'].setValue(false);\r\n // this.userForm.controls['locked'].setValue(false);\r\n };\r\n\r\n setValues() {\r\n this.clearFields();\r\n if (this.data.action == AppConstants.OperationType.UPDATE) {\r\n this.spinner.show();\r\n this.userService.getUserById(this.data.row.userId).subscribe((response => {\r\n this.userForm.patchValue({\r\n // documentNumber: this.data.row.dni,\r\n email: response.username,\r\n names: response.names,\r\n lastName: response.lasName,\r\n role: 0,//response.rolId,\r\n // password: '******',\r\n // confirmPassword: '******',\r\n status: response.enabled,\r\n sendEmail: response.sendEmail,\r\n // idHeadquarter: response.idHeadquarter\r\n // locked: response.locked\r\n });\r\n this.headquarterSelect = !response.idHeadquarter ? 0 : response.idHeadquarter;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n }\r\n\r\n updateUser(model: UserPut) {\r\n this.spinner.show();\r\n this.userService.updateUser(model).subscribe((response => {\r\n if(response.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_USER, response.message, MessageSeverity.error);\r\n }else{\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_USER, AppConstants.MessageModal.UPDATE_USER, MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_USER, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n\r\n getRoles() {\r\n this.spinner.show();\r\n this.roleService.getListAll(parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE))).subscribe((response) => {\r\n if(response.error == null){\r\n this.roles = response.data;\r\n if(this.roles.length>0){\r\n this.roleSelect = this.roles[0].id;\r\n }\r\n }else{\r\n this.roles = [];\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.roles = [];\r\n this.spinner.hide();\r\n });\r\n}\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Empresa*\r\n \r\n \r\n {{enterprise.businessName}}\r\n \r\n \r\n \r\n La empresa es requerida.\r\n \r\n \r\n \r\n Sede*\r\n \r\n 1\" >TODAS\r\n \r\n {{headquarter.name}}\r\n \r\n \r\n \r\n La sede es requerida.\r\n \r\n \r\n \r\n Rol*\r\n \r\n \r\n {{role.name}}\r\n \r\n \r\n \r\n El rol es requerido.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit,Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { RoleService } from 'src/app/services/role/role.service';\r\nimport { UserService } from 'src/app/services/user/user.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-user-new-assing-modal',\r\n templateUrl: './user-new-assing-modal.component.html',\r\n styleUrls: ['./user-new-assing-modal.component.css']\r\n})\r\nexport class UserNewAssingModalComponent implements OnInit {\r\n\r\n userForm: FormGroup;\r\n enterpriseSelect: number;\r\n enterprises = [];\r\n headquarterSelect: number;\r\n headquarters = [];\r\n roleSelect: number;\r\n roles = [];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private spinner: NgxSpinnerService,\r\n private alertService: AlertService,\r\n public dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private userService: UserService,\r\n private enterpriseService: EnterpriseService,\r\n private headquarterService: HeadquarterService,\r\n private roleService: RoleService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n this.getEnterprises();\r\n }\r\n\r\n getEnterprises(){\r\n this.spinner.show();\r\n var idEnterprise = parseInt(localStorage.getItem(AppConstants.Session.ENTERPRISE).toString());\r\n var data = {\r\n Enterprise: idEnterprise\r\n }\r\n \r\n this.enterpriseService.getValidateMasterEnterprise(data).subscribe((response) => {\r\n this.enterpriseService.getEnterprises().subscribe((response2) => {\r\n if(response.code == 200){\r\n this.enterprises = response2.filter(f => f.enabled == AppConstants.Flag.Active);\r\n }else{\r\n this.enterprises = response2.filter(f => f.enabled == AppConstants.Flag.Active && f.enterpriseId == idEnterprise);\r\n }\r\n this.enterpriseSelect = this.enterprises[0][\"enterpriseId\"];\r\n this.getHeadquarters();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n\r\n \r\n }\r\n\r\n getHeadquarters() {\r\n this.spinner.show();\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.enterpriseSelect);\r\n this.headquarterSelect = 0;\r\n if(this.headquarters.length == 1){\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }else{\r\n this.headquarterSelect = 0;\r\n }\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.getRoles();\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.headquarters = [];\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getRoles() {\r\n this.spinner.show();\r\n this.roleService.getListAll(this.enterpriseSelect).subscribe((response) => {\r\n if(response.error == null){\r\n this.roles = response.data;\r\n if(this.roles.length>0){\r\n this.roleSelect = this.roles[0].id;\r\n }\r\n }else{\r\n this.roles = [];\r\n }\r\n\r\n //UPDATE\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.enterpriseSelect = this.data.obj.idEnterprise;\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n this.roleSelect = this.data.obj.idRole;\r\n }\r\n this.spinner.hide();\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.roles = [];\r\n this.spinner.hide();\r\n });\r\n}\r\n\r\n\r\n createForm(){\r\n this.userForm = this.formBuilder.group({\r\n idHeadquarter: ['', [Validators.required]],\r\n idEnterprise: ['', [Validators.required]],\r\n idRole: ['', [Validators.required]]\r\n })\r\n }\r\n\r\n get f() { return this.userForm.controls; }\r\n\r\n save(){\r\n if(this.userForm.valid){\r\n var data = {\r\n id: this.data.obj == null ? 0: this.data.obj.id,\r\n idUser: this.data.idUser,\r\n idRole: this.roleSelect,\r\n idEnterprise: this.enterpriseSelect,\r\n idHeadquarter: this.headquarterSelect,\r\n AuditInsertUser:localStorage.getItem(AppConstants.Session.USERID)\r\n }\r\n this.spinner.show();\r\n this.userService.createoUpadteEnterpriseHeadquarter(data).subscribe(_ => {\r\n if(!_.message){\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_USER_RELATIONSHIP, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n }else{\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_USER_RELATIONSHIP, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n }\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.userForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n changeEnterprise(data) {\r\n this.enterpriseSelect = data.value;\r\n this.getHeadquarters();\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    Sede {{element2.headquarter}} Pin {{element2.name}} AcciĆ³n \r\n remove_red_eye\r\n delete\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    ","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterprisePinMaps } from 'src/app/models/enterprise/enterprisePinMaps';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\nimport { EmitterService } from 'src/app/shared/services/emitter.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ImageModalComponent } from '../../image/image-modal.component';\r\nimport { PinModalComponent } from '../enterprise-pin-modal/pin-modal.component';\r\n\r\n@Component({\r\n selector: 'app-enterprise-pin-list-modal',\r\n templateUrl: './enterprise-pin-list-modal.component.html',\r\n styleUrls: ['./enterprise-pin-list-modal.component.css']\r\n})\r\nexport class EnterprisePinListModalComponent implements OnInit {\r\n\r\n pinMapfiles: File[] = [];\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['headquarter','name', 'action'];\r\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\r\n listPinMaps = [];\r\n\r\n constructor(\r\n private spinner: NgxSpinnerService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialog: MatDialog,\r\n private zoneService: ZoneService,\r\n private alertService: AlertService,\r\n public datepipe: DatePipe) { }\r\n\r\n ngOnInit(): void {\r\n this.getList();\r\n }\r\n\r\n getList(){\r\n this.spinner.show();\r\n var filter = {\r\n IdEnterprise: this.data.idEnterprise,\r\n IdHeadquarter: this.data.idHeadquarter\r\n };\r\n this.zoneService.getListPines(filter).subscribe((response => {\r\n this.listPinMaps = response.data;\r\n this.dataSource.data = this.listPinMaps;\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n onFilePinMapSelected(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n if (file.type == \"image/png\" || file.type == \"image/jpeg\") {\r\n console.log(this.listPinMaps);\r\n if (this.listPinMaps.filter(f => f.name == this.convertName(file.name)).length == 0) {\r\n var model = new EnterprisePinMaps();\r\n model.name = this.convertName(file.name);\r\n model.file = file;\r\n this.listPinMaps.push(model);\r\n this.pinMapfiles.push(file);\r\n this.dataSource.data = this.listPinMaps;\r\n } else {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_PINMAP_DUPLICATE, MessageSeverity.warn);\r\n }\r\n } else {\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n event.srcElement.value = '';\r\n }\r\n }\r\n\r\n convertName(name: string) {\r\n return name.split('.').slice(0, -1).join();\r\n }\r\n\r\n deletePinMap(obj){\r\n this.spinner.show();\r\n var data = {\r\n IdUser: localStorage.getItem(AppConstants.Session.USERID),\r\n Id: obj.id\r\n }\r\n this.zoneService.deletePin(data).subscribe((response => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_PIN, AppConstants.MessageModal.DELETE, MessageSeverity.success);\r\n this.getList();\r\n this.spinner.hide();\r\n }),\r\n (error: HttpErrorResponse) => {\r\n this.alertService.showMessage(AppConstants.TitleModal.DELETE_PIN, error.error.messages, MessageSeverity.error);\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n showImage(element){\r\n console.log(element);\r\n var path = element.path;\r\n if(path != null && path != \"\"){\r\n if(element.idStorageFile == 1){ // Mode Local\r\n path = environment.pathFile + path;\r\n }\r\n this.dialog.open(ImageModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.UPDATE_ZONE,\r\n image: path},\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n }else{\r\n this.alertService.showMessage(\"\", \"No tiene imagen subida\", MessageSeverity.error);\r\n }\r\n }\r\n\r\n addModalPin(){\r\n this.dialog.open(PinModalComponent, {\r\n data: {\r\n title: AppConstants.TitleModal.CREATE_PIN,\r\n idEnterprise: this.data.idEnterprise,\r\n idHeadquarter: this.data.idHeadquarter,\r\n headquarters: this.data.headquarters,\r\n action: 0\r\n },\r\n width: '500px',\r\n hasBackdrop: true\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Sede*\r\n \r\n \r\n {{headquarter.name}}\r\n \r\n \r\n \r\n La sede es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nombre*\r\n \r\n \r\n El nombre es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnterpriseService } from 'src/app/services/enterprise/enterprise.service';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-pin-modal',\r\n templateUrl: './pin-modal.component.html',\r\n styleUrls: ['./pin-modal.component.css']\r\n})\r\nexport class PinModalComponent implements OnInit {\r\n\r\n pinForm: FormGroup;\r\n edit = false;\r\n image: File;\r\n headquarterSelect: number;\r\n headquarters = [];\r\n imagenPin = 'Seleccionar Imagen de Pin';\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private alertService: AlertService,\r\n public dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private headquarterService: HeadquarterService,\r\n private formBuilder: FormBuilder,\r\n private zoneService: ZoneService,\r\n private spinner: NgxSpinnerService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n this.headquarters = this.data.headquarters;\r\n this.setHeadquarter();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n if(this.data.idHeadquarter == 0) this.edit = true;\r\n if(this.data.idHeadquarter){\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n }\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.pinForm.controls['name'].setValue(this.data.obj.name);\r\n }\r\n }\r\n\r\n createForm(){\r\n this.pinForm = this.formBuilder.group({\r\n idHeadquarter: ['', []],\r\n name: ['', [Validators.required]]\r\n })\r\n }\r\n\r\n setHeadquarter(){\r\n if(this.data.idHeadquarter>0){\r\n var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n var _this = this;\r\n var list = headquarters.filter(x => x.idEnterprise == _this.data.idEnterprise);\r\n if(list.length > 0){\r\n _this.headquarters = list;\r\n _this.headquarterSelect = list[0].id;\r\n return false;\r\n }\r\n }else{\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.data.idEnterprise);\r\n if(this.headquarters.length > 0){\r\n if(this.data.idHeadquarter == 0){\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }else{\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n }\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n \r\n }\r\n\r\n get f() { return this.pinForm.controls; }\r\n\r\n save(){\r\n if(this.pinForm.valid){\r\n if(this.image == null){\r\n this.alertService.showMessage(\r\n \"Dede adjuntar la imagen del pin\",\r\n \"\",\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n\r\n var data = new FormData();\r\n data.append('id', (this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0));\r\n data.append('name', this.pinForm.value[\"name\"]);\r\n data.append('file', this.image);\r\n data.append('idHeadquarter', this.headquarterSelect.toString());\r\n data.append('idEnterprise', this.data.idEnterprise);\r\n data.append('idUser', localStorage.getItem(AppConstants.Session.USERID));\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n this.spinner.show();\r\n this.zoneService.createPin(data).subscribe(_ => {\r\n console.log(\"message pin\",_);\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_PIN, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n });\r\n }else{\r\n /* this.enterpriseService.updateEnterprisePin(data).subscribe(_ => {\r\n if(_ == null){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_ZONE, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.dialog.closeAll();\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });*/\r\n }\r\n }else{\r\n this.pinForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n }\r\n\r\n onFileSelected(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n if (file.type == \"image/png\" || file.type == \"image/jpeg\") {\r\n this.image = file;\r\n this.imagenPin = \"Imagen de Pin Adjuntada\";\r\n } else {\r\n this.image = null;\r\n this.imagenPin = 'Seleccionar Imagen de Pin';\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n }else{\r\n this.imagenPin = 'Seleccionar Imagen de Pin';\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n }\r\n\r\n convertName(name: string) {\r\n return name.split('.').slice(0, -1).join();\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n {{ data.title }}\r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Sede*\r\n \r\n \r\n {{headquarter.name}}\r\n \r\n \r\n \r\n La sede es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Tipo*\r\n \r\n \r\n {{type.name}}\r\n \r\n \r\n \r\n El tipo es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nombre*\r\n \r\n \r\n El Nombre es requerido.\r\n \r\n \r\n
    \r\n
    \r\n \r\n DescripciĆ³n\r\n \r\n \r\n La descripciĆ³n es requerida.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Nomenclatura*\r\n \r\n \r\n La nomenclatura requerida.\r\n \r\n \r\n La nomenclatura no puede ser mayor a 30 caracteres.\r\n \r\n \r\n La nomenclatura no puede ser menor a 2 caracteres.\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n

    Nuevo Pin

    \r\n
    \r\n \r\n Nombre de Pin*\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { HeadquarterService } from 'src/app/services/headquarter/headquarter.service';\r\nimport { ZoneService } from 'src/app/services/zone/zone.service';\r\nimport { AppConstants } from 'src/app/shared/constants/app.contants';\r\nimport { AlertService, MessageSeverity } from 'src/app/shared/services/alert.service';\r\n\r\n@Component({\r\n selector: 'app-zone-modal',\r\n templateUrl: './zone-modal.component.html',\r\n styleUrls: ['./zone-modal.component.css']\r\n})\r\nexport class ZoneModalComponent implements OnInit {\r\n\r\n locationForm: FormGroup;\r\n typeSelect: number;\r\n headquarterSelect: number;\r\n headquarters = [];\r\n edit = false;\r\n showNewPin = false;\r\n image: File;\r\n imagePin: File;\r\n showError = false;\r\n types = []\r\n imagenZone = 'Seleccionar Imagen de Zona';\r\n imagenPin = 'Seleccionar Imagen de Pin';\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private zoneService: ZoneService,\r\n private headquarterService: HeadquarterService,\r\n private spinner: NgxSpinnerService,\r\n public dialog: MatDialog,\r\n ) {\r\n var systems = this.data.systems;\r\n if(systems.Va > 0 || systems.va > 0){\r\n this.types.push({\r\n id: 1,\r\n name: \"VideoanalĆ­tica\"\r\n });\r\n }\r\n\r\n if(systems.Iot > 0 || systems.iot > 0){\r\n this.types.push({\r\n id: 2,\r\n name: \"IOT\"\r\n });\r\n }\r\n this.typeSelect = this.types[0].id;\r\n }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.headquarters = this.data.headquarters;\r\n this.setHeadquarter();\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n if(this.data.idHeadquarter == 0) this.edit = true;\r\n\r\n if(this.data.idHeadquarter != 0){\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n }\r\n\r\n if(this.data.action == AppConstants.OperationType.UPDATE){\r\n this.edit = true;\r\n this.headquarterSelect = this.data.obj.idHeadquarter;\r\n this.typeSelect = this.data.obj.type;\r\n this.locationForm.controls['name'].setValue(this.data.obj.name);\r\n this.locationForm.controls['description'].setValue(this.data.obj.description);\r\n this.locationForm.controls['nomenclature'].setValue(this.data.obj.nomenclature);\r\n this.imagenZone = \"Seleccionar una nueva imagen de Zona\";\r\n var pines = this.data.pines.filter(x=>x.idHeadquarter == this.data.obj.idHeadquarter);\r\n if(pines.length>0){\r\n this.showNewPin = false;\r\n }else{\r\n this.showNewPin = true;\r\n }\r\n }\r\n }\r\n\r\n setHeadquarter(){\r\n if(this.data.idHeadquarter > 0){\r\n var headquarters = JSON.parse(localStorage.getItem(AppConstants.Session.HEADQUARTERS));\r\n var _this = this;\r\n var list = headquarters.filter(x => x.idEnterprise == _this.data.idEnterprise);\r\n if(list.length > 0){\r\n _this.headquarters = list;\r\n _this.headquarterSelect = list[0].id;\r\n \r\n var pines = _this.data.pines.filter(x=>x.idHeadquarter == _this.headquarterSelect);\r\n if(pines.length>0){\r\n _this.showNewPin = false;\r\n }else{\r\n _this.showNewPin = true;\r\n }\r\n }\r\n }else{\r\n this.headquarterService.getListAll().subscribe((response) => {\r\n if(response.error == null){\r\n this.headquarters = response.data.filter(f => f.idEnterprise == this.data.idEnterprise);\r\n if(this.headquarters.length > 0){\r\n if(this.data.idHeadquarter == 0){\r\n this.headquarterSelect = this.headquarters[0].id;\r\n }else{\r\n this.headquarterSelect = this.data.idHeadquarter;\r\n }\r\n var pines = this.data.pines.filter(x=>x.idHeadquarter == this.headquarterSelect);\r\n if(pines.length>0){\r\n this.showNewPin = false;\r\n }else{\r\n this.showNewPin = true;\r\n }\r\n }\r\n }else{\r\n this.headquarters = [];\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n \r\n }\r\n\r\n createForm(){\r\n this.locationForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.maxLength(50)]],\r\n description: ['', []],\r\n nomenclature: ['', [Validators.required, Validators.maxLength(30), Validators.minLength(2)]],\r\n idZoneType: ['', [Validators.required]],\r\n idHeadquarter: ['', []],\r\n namePin: []\r\n })\r\n }\r\n\r\n get f() { return this.locationForm.controls; }\r\n\r\n save(){\r\n if(this.locationForm.valid){\r\n this.showError = false;\r\n if(this.image == null && this.data.action == AppConstants.OperationType.ADD){\r\n this.alertService.showMessage(\r\n \"Dede adjuntar una imagen de la zona\",\r\n \"\",\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n const payload = {\r\n name:this.locationForm.value[\"name\"],\r\n nomenclature:this.locationForm.value[\"nomenclature\"],\r\n description:this.locationForm.value[\"description\"] ? this.locationForm.value[\"description\"] : \"\",\r\n type: this.typeSelect,\r\n id: this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0,\r\n idHeadquarter: this.headquarterSelect,\r\n idEnterprise: this.data.idEnterprise,\r\n idUser: localStorage.getItem(AppConstants.Session.USERID),\r\n file: this.image\r\n }\r\n if(this.data.action == AppConstants.OperationType.ADD){\r\n\r\n if(this.showNewPin){\r\n if(this.imagePin == null){\r\n this.alertService.showMessage(\r\n \"Dede adjuntar una imagen del pin\",\r\n \"\",\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n if(this.locationForm.value[\"namePin\"] == null || this.locationForm.value[\"namePin\"] == \"\"){\r\n this.alertService.showMessage(\r\n \"El nombre del pin es requerido\",\r\n \"\",\r\n MessageSeverity.error);\r\n return false;\r\n }\r\n this.savePin();\r\n }\r\n\r\n this.spinner.show();\r\n this.zoneService.create(payload).subscribe(_ => {\r\n if(_.message == null ||_.message == \"\"){\r\n this.alertService.showMessage(AppConstants.TitleModal.CREATE_GATEWAY, AppConstants.MessageModal.CREATE, MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n });\r\n }else{\r\n this.zoneService.update(payload).subscribe(_ => {\r\n if(!_.message){\r\n this.alertService.showMessage(AppConstants.TitleModal.UPDATE_ZONE, AppConstants.MessageModal.UPDATE, MessageSeverity.success);\r\n this.data.result = true;\r\n this.dialogRef.close(this.data);\r\n }else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n }else{\r\n this.locationForm.markAllAsTouched();\r\n this.showError = true;\r\n }\r\n }\r\n\r\n savePin(){\r\n var data = new FormData();\r\n data.append('id', (this.data.action == AppConstants.OperationType.UPDATE ? this.data.obj.id : 0));\r\n data.append('name', this.locationForm.value[\"namePin\"]);\r\n data.append('file', this.imagePin);\r\n data.append('idHeadquarter', this.headquarterSelect.toString());\r\n data.append('idEnterprise', this.data.idEnterprise);\r\n data.append('idUser', localStorage.getItem(AppConstants.Session.USERID));\r\n this.zoneService.createPin(data).subscribe(_ => {\r\n if(_ == null){}else{\r\n this.alertService.showMessage(\r\n _.message,\r\n \"\",\r\n MessageSeverity.error);\r\n }\r\n });\r\n }\r\n\r\n changeHeadquarter(data) {\r\n this.headquarterSelect = data.value;\r\n if(this.headquarterSelect > 0 && this.typeSelect == 1 && this.data.action == AppConstants.OperationType.ADD){\r\n var pines = this.data.pines.filter(x=>x.idHeadquarter == this.headquarterSelect);\r\n if(pines.length>0){\r\n this.showNewPin = false;\r\n }else{\r\n this.showNewPin = true;\r\n }\r\n }else{\r\n this.showNewPin = false;\r\n }\r\n }\r\n\r\n changeType(data) {\r\n this.typeSelect = data.value;\r\n if(this.headquarterSelect > 0 && this.typeSelect == 1 && this.data.action == AppConstants.OperationType.ADD){\r\n var pines = this.data.pines.filter(x=>x.idHeadquarter == this.headquarterSelect);\r\n if(pines.length>0){\r\n this.showNewPin = false;\r\n }else{\r\n this.showNewPin = true;\r\n }\r\n }else{\r\n this.showNewPin = false;\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n onFileSelected(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n if (file.type == \"image/png\" || file.type == \"image/jpeg\") {\r\n this.image = file;\r\n this.imagenZone = \"Imagen de Zona Adjuntada\";\r\n } else {\r\n this.imagenZone = \"Seleccionar Imagen de Zona\";\r\n this.image = null;\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n }else{\r\n this.imagenZone = \"Seleccionar Imagen de Zona\";\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n }\r\n\r\n onFileSelectedPin(event) {\r\n var files = event.target.files;\r\n if (files.length > 0) {\r\n var file = files[0];\r\n if (file.type == \"image/png\" || file.type == \"image/jpeg\") {\r\n this.imagePin = file;\r\n this.imagenPin = \"Imagen de Pin Adjuntada\";\r\n } else {\r\n this.imagenPin = \"Seleccionar Imagen de Pin\";\r\n this.imagePin = null;\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n }else{\r\n this.imagenZone = \"Seleccionar Imagen de Pin\";\r\n this.alertService.showMessage(AppConstants.TitleModal.UPLOAD_FILES, AppConstants.MessageModal.UPLOAD_FILE_INCORRECT, MessageSeverity.warn);\r\n }\r\n }\r\n}\r\n","
    \r\n","import { Component, Input } from '@angular/core';\r\nimport DPlayer from '../../../../../assets/js/dplayer_mod.js';\r\n\r\n@Component({\r\n selector: 'app-item-camera-streaming',\r\n templateUrl: './item-camera-streaming.component.html',\r\n styleUrls: ['./item-camera-streaming.component.css']\r\n})\r\nexport class ItemCameraStreamingComponent{\r\n @Input('id') id : any;\r\n @Input('url') url : any;\r\n\r\n constructor() {}\r\n\r\n ngAfterViewInit(){\r\n var IsiPhone = navigator.userAgent.indexOf(\"iPhone\") != -1 ;\r\n var IsiPod = navigator.userAgent.indexOf(\"iPod\") != -1 ;\r\n var IsiPad = navigator.userAgent.indexOf(\"iPad\") != -1 ;\r\n var IsiPhoneOS = IsiPhone || IsiPad || IsiPod ;\r\n var video;\r\n //if (IsiPhoneOS) {\r\n video = {\r\n\t quality: [\r\n {\r\n name: 'HD',\r\n url: this.url+'/index.m3u8',\r\n type: 'hls',\r\n },\r\n {\r\n name: '480',\r\n url: this.url +'_480/index.m3u8',\r\n type: 'hls',\r\n },\r\n {\r\n name: '720',\r\n url: this.url +'_720/index.m3u8',\r\n type: 'hls',\r\n },\r\n ],\r\n defaultQuality: 0,\r\n }\r\n /*} else {\r\n video = {\r\n\t quality: [\r\n {\r\n name: 'HD',\r\n url: this.url+'.flv',\r\n type: 'flv',\r\n },\r\n {\r\n name: '480',\r\n url: this.url +'_480.flv',\r\n type: 'flv',\r\n },\r\n {\r\n name: '720',\r\n url: this.url +'_720.flv',\r\n type: 'flv',\r\n },\r\n ],\r\n defaultQuality: 0,\r\n }\r\n }*/\r\n\r\n const dp = new DPlayer({\r\n container: document.getElementById(this.id),\r\n screenshot: false,\r\n live: true,\r\n preload: 'none',\r\n fill: true,\r\n airplay: true,\r\n mutex: true,\r\n hotkey: true,\r\n video: video\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport DPlayer from '../../../../../assets/js/dplayer_mod.js';\r\n\r\n@Component({\r\n selector: 'app-streampublic',\r\n templateUrl: './streampublic.component.html',\r\n styleUrls: ['./streampublic.component.css']\r\n})\r\nexport class StreampublicComponent implements OnInit {\r\n\r\n @Input('id') id : any;\r\n @Input('url') url : any;\r\n @Input('child') child : any;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {}\r\n\r\n ngAfterViewInit(){\r\n var IsiPhone = navigator.userAgent.indexOf(\"iPhone\") != -1 ;\r\n var IsiPod = navigator.userAgent.indexOf(\"iPod\") != -1 ;\r\n var IsiPad = navigator.userAgent.indexOf(\"iPad\") != -1 ;\r\n\r\n var IsiPhoneOS = IsiPhone || IsiPad || IsiPod ;\r\n var video;\r\n //var url = \"https://live.smartechlatam.online/claro/chimbotetest\";\r\n //if (IsiPhoneOS) {\r\n video = {\r\n\t quality: [\r\n {\r\n name: 'HD',\r\n url: this.url+'/index.m3u8',\r\n type: 'hls',\r\n },\r\n {\r\n name: '480',\r\n url: this.url +'_480/index.m3u8',\r\n type: 'hls',\r\n },\r\n {\r\n name: '720',\r\n url: this.url +'_720/index.m3u8',\r\n type: 'hls',\r\n },\r\n ],\r\n defaultQuality: 0,\r\n }\r\n /*} else {\r\n video = {\r\n\t quality: [\r\n /*{\r\n name: 'HD',\r\n url: url+'.flv',\r\n type: 'flv',\r\n },\r\n {\r\n name: '480',\r\n url: url+'_480.flv',\r\n type: 'flv',\r\n },\r\n {\r\n name: '720',\r\n url:this.url+'.flv',\r\n type: 'flv',\r\n },\r\n ],\r\n defaultQuality: 0,\r\n }\r\n //}*/\r\n\r\n var myVideo = document.getElementById( this.id )\r\n const dp = new DPlayer({\r\n container: myVideo,\r\n screenshot: false,\r\n live: !this.child,\r\n preload: 'none',\r\n autoplay: !this.child,\r\n airplay: !this.child,\r\n mutex: false,\r\n hotkey: false,\r\n video: video,\r\n volume:0\r\n });\r\n\r\n if(this.child){\r\n document.querySelector('.dplayer').classList.remove('dplayer-controller');\r\n }\r\n }\r\n\r\n}\r\n","export const AppConstants = {\r\n Paginado: {\r\n DEFAULT_PAGE_INDEX_PAGINATION: 0,\r\n DEFAULT_PAGE_SIZE_PAGINATION: 12\r\n },\r\n\r\n TitleModal: {\r\n LOGIN_TITLE: \"Inicio SesiĆ³n.\",\r\n REGISTER_TITLE: \"Registro.\",\r\n UPDATE_TITLE: \"Actualizar\",\r\n ERROR_TITLE: \"Error\",\r\n WARNING_TITLE: \"Advertencia\",\r\n LICENSE_EXPIRATION_TITLE: \"Ā”Vencimiento de Licencia!\",\r\n DATA_ERROR_TITLE: \"Error de Datos\",\r\n DELETE_CONFIRMATION_TITLE: \"Eliminar\",\r\n REGISTER_TITLE_USER_MODAL: 'Registrar Usuario',\r\n TITLE_USER_ASSING_MODAL: 'Listado de Empresas/Sedes',\r\n TITLE_USER_NEW_ASSING_MODAL: 'Agregar nueva Empresas/Sedes',\r\n DELETE_TITLE_USER_ASSING_CONFIRM: 'Eliminar RelaciĆ³n de Empresa/Sede',\r\n EDIT_TITLE_USER_MODAL: 'Editar Usuario',\r\n REGISTER_TITLE_USER_CONFIRM: 'Registrar Usuario',\r\n DELETE_TITLE_USER_CONFIRM: 'Eliminar',\r\n\r\n CREATE_CAMERA: 'Crear CĆ”mara',\r\n UPDATE_CAMERA: 'Actualizar CĆ”mara',\r\n DELETE_CAMERA: 'Eliminar CĆ”mara',\r\n\r\n CREATE_ENTERPRISE: 'Crear Empresa',\r\n UPDATE_ENTERPRISE: 'Actualizar Empresa',\r\n DELETE_ENTERPRISE: 'Eliminar Empresa',\r\n CREATE_ENTERPRISE_CONTRACT: 'Crear Contrato',\r\n UPDATE_ENTERPRISE_CONTRACT: 'Actualizar Contrato',\r\n DIRECTORY_STORAGE_ENTERPRISE: 'ConfiguraciĆ³n de directorios de archivos',\r\n UPDATE_ENTERPRISE_SETTING: 'ConfiguraciĆ³n',\r\n SETTING_SYSTEM_ENTERPRISE: 'Sistemas permitidos',\r\n SETTING_STREAMING_ENTERPRISE: 'Streaming',\r\n\r\n CREATE_USER: 'Crear Usuario',\r\n UPDATE_USER: 'Actualizar Usuario',\r\n DELETE_USER: 'Eliminar Usuario',\r\n DELETE_USER_ASSIGN: 'Eliminar RelaciĆ³n Empresa/Usuario',\r\n\r\n CREATE_SECURITY: 'Crear dominio',\r\n UPDATE_SECURITY: 'Actualizar dominio',\r\n DELETE_SECURITY: 'Eliminar dominio',\r\n\r\n CREATE_STREAMING_SERVER: 'Crear Servidor',\r\n UPDATE_STREAMING_SERVER: 'Actualizar servidor',\r\n DELETE_STREAMING_SERVER: 'Eliminar servidor',\r\n\r\n CONFIRM_TITLE: \"Confirmar\",\r\n CONFIRM_TITLE_RECORDER: \"Grabar ubicaciĆ³n\",\r\n DELETE_SMS_CONFIRMATION_TITLE: \"Eliminar Destino de SMS\",\r\n REGISTER_MESSAGE_USER_CONFIRM: '',\r\n UPLOAD_FILES: \"Adjuntar Archivos\",\r\n DOWNLOAD_FILES: \"Descargar Archivos\",\r\n\r\n DELETE_SMS: 'Destinataro Eliminado',\r\n CREATE_OCURRENCE: 'AtenciĆ³n de Alarmas',\r\n CREATE_SMS: 'Registrar Destinatario',\r\n UPDATE_SMS: 'Actualizar Destinatario',\r\n ADD_ZONE_CAMERA: 'Agregar Zona de UbicaciĆ³n',\r\n UPDATE_CAMERA_ZONE: 'Actualizar Zona de UbicaciĆ³n',\r\n ERROR_DATOS: 'Ā”Error de datos!',\r\n ERROR_LICENCE: 'Ā”Vencimiento de licencia!',\r\n\r\n ENTERPRISE_SETTING_UPDATE: \"Actualizar ConfiguraciĆ³n\",\r\n ENTERPRISE_STREAMING_UPDATE: \"Actualizar Streaming\",\r\n\r\n CREATE_SERVER_STREAMING: 'Crear Servidor',\r\n UPDATE_SERVER_STREAMING: 'Actualizar Servidor',\r\n DELETE_SERVER_STREAMING: 'Eliminar Servidor',\r\n\r\n CREATE_HEADQUARTER: 'Crear Sede',\r\n UPDATE_HEADQUARTER: 'Actualizar Sede',\r\n DELETE_HEADQUARTER: 'Eliminar Sede',\r\n\r\n CREATE_ROLE: 'Crear Rol',\r\n UPDATE_ROLE: 'Actualizar Rol',\r\n DELETE_ROLE: 'Eliminar Rol',\r\n\r\n CREATE_GATEWAY: 'Crear Gateway',\r\n UPDATE_GATEWAY: 'Actualizar Gateway',\r\n DELETE_GATEWAY: 'Eliminar Gateway',\r\n\r\n CREATE_DASHBOARD: 'Crear Dashboard',\r\n UPDATE_DASHBOARD: 'Actualizar Dashboard',\r\n DELETE_DASHBOARD: 'Eliminar Dashboard',\r\n\r\n CREATE_WIDGET: 'Crear Widget',\r\n UPDATE_WIDGET: 'Actualizar Widget',\r\n DELETE_WIDGET: 'Eliminar Widget',\r\n\r\n CREATE_SENSOR_READINGPLACE: 'Crear Lugar de lectura de Sensores',\r\n UPDATE_SENSOR_READINGPLACE: 'Actualizar Lugar de lectura de Sensores',\r\n DELETE_SENSOR_READINGPLACE: 'Eliminar Lugar de lectura de Sensores',\r\n\r\n CREATE_SENSOR_TYPE: 'Crear Tipo de Sensor',\r\n UPDATE_SENSOR_TYPE: 'Actualizar Tipo de Sensor',\r\n DELETE_SENSOR_TYPE: 'Eliminar Tipo de Sensor',\r\n\r\n LIST_SENSOR_TYPE_ASSIGN: 'Lista de GrĆ”fico asociados a ',\r\n CREATE_SENSOR_TYPE_ASSIGN: 'AƱadir GrĆ”fico al Tipo de Sensor',\r\n DELETE_SENSOR_TYPE_ASSIGN: 'Eliminar GrĆ”fico de Sensor',\r\n\r\n CREATE_SENSOR: 'Crear Sensor',\r\n UPDATE_SENSOR: 'Actualizar Sensor',\r\n DELETE_SENSOR: 'Eliminar Sensor',\r\n\r\n CREATE_ACTUATOR: 'Crear Actuador',\r\n UPDATE_ACTUATOR: 'Actualizar Actuador',\r\n DELETE_ACTUATOR: 'Eliminar Actuador',\r\n\r\n CREATE_ZONE: 'Crear Zona',\r\n UPDATE_ZONE: 'Actualizar Zona',\r\n DELETE_ZONE: 'Eliminar Zona',\r\n\r\n LIST_PIN_MAP_TITLE: \"Lista de PINES\",\r\n CREATE_PIN: 'Crear PIN',\r\n UPDATE_PIN: 'Actualizar PIN',\r\n DELETE_PIN: 'Eliminar PIN',\r\n\r\n UPDATE_HEADQUARTER_FILE: 'Actualizar ConfiguraciĆ³n de Archivos',\r\n ADD_SENSOR_PANEL: 'Agregar Sensor a Panel',\r\n ADD_ACTUATOR_PANEL: 'Agregar Actuador a Panel',\r\n UPDATE_SENSOR_PANEL: 'Actualizar Sensor en Panel',\r\n\r\n CREATE_USER_RELATIONSHIP: 'AƱadir empresa a usuario',\r\n UPDATE_USER_RELATIONSHIP: 'Actualizar empresa a usuario',\r\n LIST_ACTUATOR_PANEL_IOT: 'Lista de Actuadores',\r\n POWER_BI: 'URL Power BI',\r\n },\r\n\r\n MessageModal: {\r\n LICENSE_EXPIRATION_MESSAGE: \"La empresa xxxxxxxxx tiene la licencia vencida desde el dĆ­a 21/02/20. Comunicarse al telĆ©fono 01-555-5678.\",\r\n DATA_ERROR_MESSAGE: \"Los datos ingresados son incorrectos o no se encuentran en el sistema. Solo dispone de 2 intentos mĆ”s.\",\r\n DELETE_DEFAULT: \"ĀæEstĆ”s seguro que deseas Eliminar este item?\",\r\n DELETE_CAMERA_CONFIRMATION_MESSAGE1: \"ĀæEstĆ”s seguro que deseas Eliminar la cĆ”mara\",\r\n DELETE_SECURITY_CONFIRMATION_MESSAGE1: \"ĀæEstĆ”s seguro que deseas eliminar el dominio?\",\r\n DELETE_EMAIL_CONFIRMATION_MESSAGE1: \"ĀæEstĆ”s seguro que deseas eliminar el correo?\",\r\n DELETE_SERVER_CONFIRMATION_MESSAGE1: \"ĀæEstĆ”s seguro que deseas eliminar el servidor?\",\r\n DELETE_CAMERA_CONFIRMATION_MESSAGE2: \"Luego de completada la acciĆ³n no se podrĆ” deshacer.\",\r\n DELETE_SECURITY_CONFIRMATION_MESSAGE2: \"Luego de completada la acciĆ³n no se podrĆ” deshacer.\",\r\n UPDATE_CAMERA: 'Se actualizĆ³ la cĆ”mara correctamente.',\r\n DELETE_ENTERPRISE_CONFIRMATION_MESSAGE1: \"ĀæEstĆ”s seguro que deseas Eliminar la empresa\",\r\n DELETE_ENTERPRISE_CONFIRMATION_MESSAGE2: \"Luego de completada la acciĆ³n no se podrĆ” deshacer.\",\r\n REGISTER_MESSAGE_USER_CONFIRM: 'ĀæEstĆ” seguro que desea registrar al usuario?',\r\n DELETE_USER_CONFIRMATION_MESSAGE1: \"ĀæEstĆ”s seguro que deseas Eliminar al usuario \",\r\n DELETE_USER_ASSIGN_CONFIRMATION_MESSAGE1: \"ĀæEstĆ”s seguro que deseas Eliminar esta relaciĆ³n?\",\r\n DELETE_USER_CONFIRMATION_MESSAGE2: \"Luego de completada la acciĆ³n no se podrĆ” deshacer.\",\r\n UPDATE_ENTERPRISE: 'Se actualizĆ³ la empresa correctamente.',\r\n CREATE: 'Se creĆ³ el registro correctamente.',\r\n DELETE: 'Se eliminĆ³ el registro correctamente.',\r\n UPDATE_USER: 'Se actualizĆ³ el usuario correctamente.',\r\n UPDATE_SECURITY: 'Se actualizĆ³ el dominio correctamente.',\r\n UPDATE_MESSAGE_USER_CONFIRM: 'ĀæEstĆ” seguro que desea actualizar al usuario?',\r\n UPDATE: 'Se actualizĆ³ correctamente.',\r\n\r\n REGISTER_MESSAGE_ALERT_ERROR_CONFIRM: 'ĀæEstĆ” seguro que desea marcar esta alerta como falso positivo?',\r\n REGISTER_MESSAGE_ALERT_CONFIRM: 'ĀæEstĆ” seguro que desea atender la alarma?',\r\n REGISTER_MESSAGE_LOCATION_CONFIRM: 'ĀæEstĆ” Seguro de Registrar la nueva ubicaciĆ³n de las cĆ”maras?',\r\n DELETE_SMS_CONFIRMATION_MESSAGE: 'ĀæEstĆ” seguro de eliminar al destinatario de SMS',\r\n EDIT_MESSAGE_SMS_CONFIRM: 'ĀæEstĆ” seguro que desea actualizar al destinatario?',\r\n SOMETHING_WRONG: \"Un error interno ha ocurrido.\",\r\n NOT_AUTENTICATION: 'Usuario o ContraseƱa incorrecta.',\r\n UPLOAD_FILE_INCORRECT: \"Debe seleccionar un archivo .JPG, .JPGE o .PNG\",\r\n UPLOAD_FILE_INCORRECT_CONTRACTS: \"Debe seleccionar un archivo .PDF, .ZIP o .DOCX\",\r\n UPLOAD_FILE_INCORRECT_CONTRACTS_SIZE: \"El archivo adjunto no debe ser superior a 10 Mb.\",\r\n UPLOAD_FILE_ZONE_DUPLICATE: \"La Zona de UbicaciĆ³n seleccionada ya ha sido agregada.\",\r\n USERNAME_PASSWORD_ERROR_MESSAGE: \"ContraseƱa incorrecto.\",\r\n DOWNLOAD_FILE_MESSAGE: \"Ocurrio un error en la descarga del archivo.\",\r\n\r\n OCURRENCE_MESSAGER_CONFIRM: 'La alarma de ',\r\n OCURRENCE_NEXT_CONFIRM: ' se atendiĆ³ correctamente',\r\n DATA_REPET: 'La alerta ya ha sido agregada',\r\n DATA_NULL: 'Agregar al menos una alerta.',\r\n CREATE_SMS: 'Destinatario Creado',\r\n UPDATE_SMS: 'Destinatario Actualizado',\r\n REQUIRED_FIELDS_MESSAGE: \"Faltan campos por completar.\",\r\n REGISTER_MESSAGE_SMS_CONFIRM: 'ĀæEstĆ” seguro que desea registrar al destinatario?',\r\n ADD_ZONE_CAMERA_MESSAGE_DUPLICATE: 'La Camara Seleciona ya se encuentra AƱadida al Plano.',\r\n UPDATE_CAMERA_ZONE: 'Se actualizĆ³ correctamente.',\r\n REGISTER_MESSAGE_CAMERA_CONFIRM: 'ĀæEstĆ” seguro que desea registrar la cĆ”mara?',\r\n EDIT_MESSAGE_CAMERA_CONFIRM: 'ĀæEstĆ” seguro que desea actualizar la cĆ”mara?',\r\n DATA_REPET_CAMERA: 'de la camara ya se encuentra registrada para la empresa.',\r\n DATA_NULL_REQUIRED: 'Faltan datos de la cĆ”mara por completar.',\r\n DATA_NULL_REQUIRED_PARAMTER: 'Seleccione al menos un alerta y sus parĆ”metros.',\r\n DATA_NULL_SEARCH: 'No hay resultados para el filtro seleccionado.',\r\n CAMERA_PCURRENCE_NOT_DELETE: 'La alerta de la cĆ”mara ya cuenta con ocurrencias registradad.',\r\n\r\n SEARCH_ALERT_NOT_SELECTED_HEATMAP: 'Seleccione la cĆ”mara y el tipo de alerta para poder mostrar las alertas.',\r\n UPDATE_MESSAGE_ENTERPRISE_SETTING_CONFIRM: 'ĀæEstĆ”s seguro que deseas actualizar la configuraciĆ³n?',\r\n UPLOAD_FILE_PINMAP_DUPLICATE: \"El Pin del mapa seleccionada ya ha sido agregada.\",\r\n UPDATE_ENTERPRISE_SETTING: 'Se actualizĆ³ los datos de la configuraciĆ³n correctamente.',\r\n UPDATE_MESSAGE_ENTERPRISE_STREAMING_CONFIRM: 'ĀæEstĆ”s seguro que deseas actualizar el streaming?',\r\n UPDATE_ENTERPRISE_STREAMING: 'Se actualizĆ³ los datos del streaming correctamente.',\r\n REQUIRED_ENTERPRISE_SETTING_PATH_FILE: \"Debe colocar la ruta de archivo si elige el modo local\",\r\n\r\n CAMERA_EXIST_ZONE: \"Ya exista la cĆ”mara en la zona.\",\r\n FILTER_DATES_VALIDATE: 'La fecha de inicio debe ser antes o igual que la fecha fin',\r\n FILTER_CAMERA_VALIDATE: 'Debe seleccionar al menos una cĆ”mara',\r\n FILTER_SENSOR_VALIDATE: 'Debe seleccionar al menos un sensor',\r\n PANELIOT_ACTUATOR_DATA: \"Se actualizo la data de los actuadores correctamente\",\r\n },\r\n\r\n TypeModal: {\r\n REGISTER : 'REGISTER',\r\n EDIT: 'EDIT'\r\n },\r\n Session: {\r\n ACCESS_TOKEN: 'ACCESS_TOKEN',\r\n TOKEN_TYPE: 'TOKEN_TYPE',\r\n USER_TYPE: 'USER_TYPE',\r\n ROLE: 'ROLE',\r\n MENU_ROLE: 'MENU_ROLE',\r\n REFRESH_TOKEN: 'REFRESH_TOKEN',\r\n EXPIRATION_TIME: 'EXPIRATION_TIME',\r\n USERNAME: 'USERNAME',\r\n LANGUAGE: 'LANGUAGE',\r\n USERDATA: 'USERDATA',\r\n LAST_URL: 'LAST_URL',\r\n USERID: 'USERID',\r\n ENTERPRISE: 'ENTERPRISE',\r\n ENTERPRISES: 'ENTERPRISES',\r\n HEADQUARTER: 'HEADQUARTER',\r\n HEADQUARTERS: 'HEADQUARTERS',\r\n ROLID: 'ROLID',\r\n ROLNAME: 'ROLNAME',\r\n FIRST_PAGE: 'FIRST_PAGE',\r\n MENU: 'MENU',\r\n THEME: 'THEME',\r\n THEME_COLOR1: 'THEME_COLOR1',\r\n THEME_COLOR2: 'THEME_COLOR2',\r\n THEME_COLOR_FONT: 'THEME_COLOR_FONT',\r\n THEME_COLOR_FONT2: 'THEME_COLOR_FONT2',\r\n USER: 'USER',\r\n ENTERPRISE_SYSTEM: 'ENTERPRISE_SYSTEM',\r\n MENU_ICON: 'MENU_ICON',\r\n MENU_TITLE: 'MENU_TITLE',\r\n CHANGE_ENTERPRISE_MENU: 'CHANGE_ENTERPRISE_MENU',\r\n LOGO: 'LOGO_GYS',\r\n },\r\n\r\n UserRole: {\r\n ADMIN: 'ADMIN',\r\n CLIENT: 'CLIENT',\r\n ENTERPRISE: 'ENTERPRISE',\r\n ENTERPRISE_USER: 'ENTERPRISE_USER',\r\n AdministradorGyS: 4,\r\n UsuarioGyS: 5,\r\n UsuarioGySComercial: 6,\r\n AdministradorEmpresa: 7,\r\n UsuarioEmpresa: 8,\r\n AdministradorEmpresaStreaming: 13\r\n },\r\n\r\n OperationType: {\r\n ADD: 1,\r\n UPDATE: 2,\r\n DELETE: 3\r\n },\r\n\r\n EmitterService: {\r\n ListEnterprise: 1,\r\n ListUsers: 2,\r\n\r\n ListSms: 3,\r\n ListPanelCamara: 4,\r\n ListEnterpriseFilter:5,\r\n ListCamera: 6,\r\n ListUsersEdit: 7,\r\n\r\n },\r\n\r\n Flag: {\r\n Active: 1,\r\n Inactive: 0\r\n },\r\n\r\n BlobStorage: {\r\n ZoneFiles: 3,\r\n ContractsFiles: 5,\r\n AdendasFiles: 8\r\n },\r\n\r\n Auth:{\r\n TitleForm: 'Acceso a plataforma',\r\n DescriptionForm: 'Comienza ha gestionar tu empresa',\r\n TitlePasswordForm: 'Olvide mi contraseƱa',\r\n DescriptionPasswordForm: 'Escribe tu correo para que te enviemos una nueva contraseƱa.'\r\n }\r\n\r\n}\r\n\r\nexport const ConstantMessages = {\r\n\r\n}\r\n\r\nexport const ArrayExtensionContracts = [\r\n \"zip\",\r\n \"pdf\",\r\n \"docx\"\r\n];\r\n","import { Directive, HostListener, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[DecimalAmount]'\r\n})\r\nexport class DecimalAmountDirective {\r\n\r\n private regex: RegExp = new RegExp(/^\\d*\\.?\\d{0,2}$/g);\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\r\n \r\n constructor(private el: ElementRef) { }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n const current: string = this.el.nativeElement.value;\r\n const next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n\r\n }\r\n }\r\n}","import { Directive, HostListener, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[OnlyNumbers]'\r\n})\r\nexport class OnlyNumbersDirective {\r\n constructor(private element: ElementRef) { }\r\n\r\n @HostListener('keypress', ['$event'])\r\n onKeypressHandler(event: any) {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Directive, Input, ElementRef, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[toggleColor]'\r\n})\r\nexport class ToggleColorDirective {\r\n @Input('circle') circleColor: string;\r\n @Input('bar') barColor: string;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngAfterViewInit() {\r\n const circle = this.el.nativeElement.querySelector('.mat-slide-toggle-thumb');\r\n const bar = this.el.nativeElement.querySelector('.mat-slide-toggle-bar');\r\n\r\n this.renderer.setStyle(circle, 'background-color', this.circleColor);\r\n this.renderer.setStyle(bar, 'background-color', this.barColor);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CanActivate, Router, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { AppConstants } from \"../constants/app.contants\";\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n /*//license\r\n var d = new Date();\r\n var date = d.getDate();\r\n var month = (d.getMonth()+1);\r\n var day = date.toString();\r\n if(date < 10){ day = \"0\"+date; }\r\n var m = month.toString();\r\n if(month < 10){ m = \"0\"+month; }\r\n var datestring = d.getFullYear() + \"-\" + m + \"-\" + day ;\r\n if(datestring >= environment.expiredLicense){\r\n this.router.navigate(['/license']);\r\n return false;\r\n }*/\r\n\r\n if (localStorage.getItem(AppConstants.Session.USERID))\r\n return true;\r\n\r\n this.router.navigate(['/']);\r\n return false;\r\n\r\n //return true;\r\n }\r\n}\r\n","declare var require: any\r\n\r\nvar CryptoJS = require(\"crypto-js\");\r\n\r\nexport function decryptData(ciphertextB64) { \r\n // Base64 encoded ciphertext, 32 bytes string as key\r\n var keyString = \"01234012345673456789895678901201\"; \r\n var key = CryptoJS.enc.Utf8.parse(keyString); // Convert into WordArray (using Utf8)\r\n var iv = CryptoJS.lib.WordArray.create([0x00, 0x00, 0x00, 0x00]); // Use zero vector as IV\r\n var decrypted = CryptoJS.AES.decrypt(ciphertextB64, key, {iv: iv}); // By default: CBC, PKCS7 \r\n return decrypted.toString(CryptoJS.enc.Utf8); // Convert into string (using Utf8)\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ErrorAuthenticateInterceptor implements HttpInterceptor {\r\n\r\n constructor(private router: Router) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if ([401, 403].includes(err.status)) {\r\n // auto logout if 401 or 403 response returned from api\r\n this.router.navigate(['/']);\r\n // this.accountService.logout();\r\n }\r\n\r\n /*const error = err.error?.message || err.statusText;*/\r\n console.error(err);\r\n return throwError(() => err);\r\n }))\r\n}\r\n}\r\n","import { NativeDateAdapter } from \"@angular/material\";\r\nimport { MatDateFormats } from \"@angular/material/core\";\r\nexport class AppDateAdapter extends NativeDateAdapter {\r\n format(date: Date, displayFormat: Object): string {\r\n if (displayFormat === \"input\") {\r\n let day: string = date.getDate().toString();\r\n day = +day < 10 ? \"0\" + day : day;\r\n let month: string = (date.getMonth() + 1).toString();\r\n month = +month < 10 ? \"0\" + month : month;\r\n let year = date.getFullYear();\r\n return `${day}/${month}/${year}`;\r\n }\r\n return date.toLocaleDateString('es-ES', { month:\"short\"});\r\n }\r\n}\r\nexport const APP_DATE_FORMATS: MatDateFormats = {\r\n parse: {\r\n dateInput: { month: \"short\", year: \"numeric\", day: \"numeric\" },\r\n },\r\n display: {\r\n dateInput: \"input\",\r\n monthYearLabel: { year: \"numeric\", month: \"numeric\" },\r\n dateA11yLabel: { year: \"numeric\", month: \"long\", day: \"numeric\"\r\n },\r\n monthYearA11yLabel: { year: \"numeric\", month: \"long\" },\r\n }\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n constructor() { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n //const skipIntercept = req.headers.has('skip_auth');\r\n //if (!skipIntercept){\r\n req = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer `+localStorage.getItem('_token_VD_GYS')\r\n }\r\n });\r\n //}\r\n return next.handle(req);\r\n }\r\n}\r\n","export abstract class BaseModel {\r\n\r\n constructor() {\r\n }\r\n\r\n public setAll(_params: any) {\r\n for (const param in _params) {\r\n if (_params.hasOwnProperty(param)) {\r\n this[param] = _params[param];\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MaterialFileInputModule } from 'ngx-material-file-input';\r\n\r\n@NgModule({\r\n exports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n MaterialFileInputModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatTableModule\r\n ]\r\n})\r\nexport class MaterialModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { OnlyDecimalDirective } from '../directives/only-decimal.directive';\r\nimport { OnlyLettersDirective } from '../directives/only-letters.directive';\r\nimport { OnlyNumbersDirective } from '../directives/only-numbers.directive';\r\nimport { OnlyTextDirective } from '../directives/only-text.directive';\r\nimport { DecimalAmountDirective } from '../directives/decimal-amount.directive';\r\nimport { ToggleColorDirective } from '../directives/toggle-color.directive';\r\nimport { OutlineBorderDirective } from '../directives/form-border-color.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n\r\n ],\r\n declarations: [\r\n OnlyDecimalDirective,\r\n OnlyLettersDirective,\r\n OnlyNumbersDirective,\r\n OnlyTextDirective,\r\n DecimalAmountDirective,\r\n ToggleColorDirective,\r\n OutlineBorderDirective\r\n ],\r\n providers: [\r\n //HelperService\r\n ],\r\n exports: [\r\n CommonModule,\r\n //ModalModule,\r\n //NgxDatatableModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n OnlyLettersDirective,\r\n OnlyNumbersDirective,\r\n OnlyDecimalDirective,\r\n OnlyTextDirective,\r\n DecimalAmountDirective,\r\n ToggleColorDirective,\r\n OutlineBorderDirective\r\n ]\r\n})\r\n\r\nexport class SharedModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { ToastrService, IndividualConfig } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AlertService {\r\n\r\n constructor(private toastrService: ToastrService) { }\r\n\r\n private dialogs = new Subject();\r\n\r\n showSuccess() {\r\n this.toastrService.success('Hello world!', 'Toastr fun!');\r\n }\r\n\r\n public showMessage(title, message, severity, timeout = 7000) {\r\n\r\n const config: Partial = { \r\n titleClass: title,\r\n messageClass: message,\r\n closeButton: true,\r\n timeOut: timeout\r\n }; // no compiler error\r\n\r\n if (severity == MessageSeverity.success)\r\n this.toastrService.success(message, title, config);\r\n else if (severity == MessageSeverity.error)\r\n this.toastrService.error(message, title, config);\r\n else if (severity == MessageSeverity.warn)\r\n this.toastrService.warning(message, title, config);\r\n }\r\n\r\n\r\n showDialog(message: string)\r\n showDialog(message: string, type: DialogType, okCallback: (val?: any) => any)\r\n showDialog(message: string, type: DialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any, okLabel?: string, cancelLabel?: string, defaultValue?: string)\r\n showDialog(message: string, type?: DialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any, okLabel?: string, cancelLabel?: string, defaultValue?: string) {\r\n\r\n if (!type)\r\n type = DialogType.alert;\r\n\r\n this.dialogs.next({ message: message, type: type, okCallback: okCallback, cancelCallback: cancelCallback, okLabel: okLabel, cancelLabel: cancelLabel, defaultValue: defaultValue });\r\n }\r\n\r\n getDialogEvent(): Observable {\r\n return this.dialogs.asObservable();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nexport enum MessageSeverity {\r\n default,\r\n info,\r\n success,\r\n error,\r\n warn,\r\n wait\r\n}\r\n\r\n\r\n//******************** Dialog ********************//\r\nexport class AlertDialog {\r\n constructor(public message: string, public type: DialogType, public okCallback: (val?: any) => any, public cancelCallback: () => any,\r\n public defaultValue: string, public okLabel: string, public cancelLabel: string) {\r\n\r\n }\r\n}\r\n\r\nexport enum DialogType {\r\n alert,\r\n confirm,\r\n prompt\r\n}\r\n//******************** End ********************//\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EmitterService {\r\n\r\n private subject = new Subject();\r\n\r\n sendMessage(message: any) {\r\n this.subject.next(message);\r\n }\r\n\r\n clearMessages() {\r\n this.subject.next(true);\r\n }\r\n\r\n getMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n}\r\n","!(function (e, t) {\r\n \"object\" == typeof exports && \"object\" == typeof module ? (module.exports = t()) : \"function\" == typeof define && define.amd ? define(\"DPlayer\", [], t) : \"object\" == typeof exports ? (exports.DPlayer = t()) : (e.DPlayer = t());\r\n})(window, function () {\r\n return (function (e) {\r\n var t = {};\r\n function a(n) {\r\n if (t[n]) return t[n].exports;\r\n var o = (t[n] = { i: n, l: !1, exports: {} });\r\n return e[n].call(o.exports, o, o.exports, a), (o.l = !0), o.exports;\r\n }\r\n return (\r\n (a.m = e),\r\n (a.c = t),\r\n (a.d = function (e, t, n) {\r\n a.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n });\r\n }),\r\n (a.r = function (e) {\r\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: \"Module\" }), Object.defineProperty(e, \"__esModule\", { value: !0 });\r\n }),\r\n (a.t = function (e, t) {\r\n if ((1 & t && (e = a(e)), 8 & t)) return e;\r\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\r\n var n = Object.create(null);\r\n if ((a.r(n), Object.defineProperty(n, \"default\", { enumerable: !0, value: e }), 2 & t && \"string\" != typeof e))\r\n for (var o in e)\r\n a.d(\r\n n,\r\n o,\r\n function (t) {\r\n return e[t];\r\n }.bind(null, o)\r\n );\r\n return n;\r\n }),\r\n (a.n = function (e) {\r\n var t =\r\n e && e.__esModule\r\n ? function () {\r\n return e.default;\r\n }\r\n : function () {\r\n return e;\r\n };\r\n return a.d(t, \"a\", t), t;\r\n }),\r\n (a.o = function (e, t) {\r\n return Object.prototype.hasOwnProperty.call(e, t);\r\n }),\r\n (a.p = \"/\"),\r\n a((a.s = 58))\r\n );\r\n })([\r\n function (e, t, a) {\r\n \"use strict\";\r\n function n(e) {\r\n return (n =\r\n \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator\r\n ? function (e) {\r\n return typeof e;\r\n }\r\n : function (e) {\r\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\r\n })(e);\r\n }\r\n var o = a(6),\r\n r = Object.prototype.toString;\r\n function i(e) {\r\n return \"[object Array]\" === r.call(e);\r\n }\r\n function l(e) {\r\n return void 0 === e;\r\n }\r\n function s(e) {\r\n return null !== e && \"object\" === n(e);\r\n }\r\n function d(e) {\r\n return \"[object Function]\" === r.call(e);\r\n }\r\n function p(e, t) {\r\n if (null != e)\r\n if ((\"object\" !== n(e) && (e = [e]), i(e))) for (var a = 0, o = e.length; a < o; a++) t.call(null, e[a], a, e);\r\n else for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.call(null, e[r], r, e);\r\n }\r\n e.exports = {\r\n isArray: i,\r\n isArrayBuffer: function (e) {\r\n return \"[object ArrayBuffer]\" === r.call(e);\r\n },\r\n isBuffer: function (e) {\r\n return null !== e && !l(e) && null !== e.constructor && !l(e.constructor) && \"function\" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e);\r\n },\r\n isFormData: function (e) {\r\n return \"undefined\" != typeof FormData && e instanceof FormData;\r\n },\r\n isArrayBufferView: function (e) {\r\n return \"undefined\" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && e.buffer instanceof ArrayBuffer;\r\n },\r\n isString: function (e) {\r\n return \"string\" == typeof e;\r\n },\r\n isNumber: function (e) {\r\n return \"number\" == typeof e;\r\n },\r\n isObject: s,\r\n isUndefined: l,\r\n isDate: function (e) {\r\n return \"[object Date]\" === r.call(e);\r\n },\r\n isFile: function (e) {\r\n return \"[object File]\" === r.call(e);\r\n },\r\n isBlob: function (e) {\r\n return \"[object Blob]\" === r.call(e);\r\n },\r\n isFunction: d,\r\n isStream: function (e) {\r\n return s(e) && d(e.pipe);\r\n },\r\n isURLSearchParams: function (e) {\r\n return \"undefined\" != typeof URLSearchParams && e instanceof URLSearchParams;\r\n },\r\n isStandardBrowserEnv: function () {\r\n return (\"undefined\" == typeof navigator || (\"ReactNative\" !== navigator.product && \"NativeScript\" !== navigator.product && \"NS\" !== navigator.product)) && \"undefined\" != typeof window && \"undefined\" != typeof document;\r\n },\r\n forEach: p,\r\n merge: function e() {\r\n var t = {};\r\n function a(a, o) {\r\n \"object\" === n(t[o]) && \"object\" === n(a) ? (t[o] = e(t[o], a)) : (t[o] = a);\r\n }\r\n for (var o = 0, r = arguments.length; o < r; o++) p(arguments[o], a);\r\n return t;\r\n },\r\n deepMerge: function e() {\r\n var t = {};\r\n function a(a, o) {\r\n \"object\" === n(t[o]) && \"object\" === n(a) ? (t[o] = e(t[o], a)) : \"object\" === n(a) ? (t[o] = e({}, a)) : (t[o] = a);\r\n }\r\n for (var o = 0, r = arguments.length; o < r; o++) p(arguments[o], a);\r\n return t;\r\n },\r\n extend: function (e, t, a) {\r\n return (\r\n p(t, function (t, n) {\r\n e[n] = a && \"function\" == typeof t ? o(t, a) : t;\r\n }),\r\n e\r\n );\r\n },\r\n trim: function (e) {\r\n return e.replace(/^\\s*/, \"\").replace(/\\s*$/, \"\");\r\n },\r\n };\r\n },\r\n function (e, t, a) {\r\n var n = a(14);\r\n e.exports = function (e) {\r\n \"use strict\";\r\n var t = \"\",\r\n a = (e = e || {}).enableSubtitle,\r\n o = e.subtitle,\r\n r = e.current,\r\n i = e.airplay,\r\n l = e.pic,\r\n s = n.$escape,\r\n d = e.screenshot,\r\n p = e.preload,\r\n c = e.url;\r\n a = o && \"webvtt\" === o.type;\r\n return (\r\n (t += '\\n\\n \"),\r\n a && ((t += '\\n \")\r\n );\r\n };\r\n },\r\n function (e, t, a) {\r\n e.exports = a(41);\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n e.exports = function (e) {\r\n var t = [];\r\n return (\r\n (t.toString = function () {\r\n return this.map(function (t) {\r\n var a = (function (e, t) {\r\n var a = e[1] || \"\",\r\n n = e[3];\r\n if (!n) return a;\r\n if (t && \"function\" == typeof btoa) {\r\n var o = ((i = n), (l = btoa(unescape(encodeURIComponent(JSON.stringify(i))))), (s = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(l)), \"/*# \".concat(s, \" */\")),\r\n r = n.sources.map(function (e) {\r\n return \"/*# sourceURL=\".concat(n.sourceRoot || \"\").concat(e, \" */\");\r\n });\r\n return [a].concat(r).concat([o]).join(\"\\n\");\r\n }\r\n var i, l, s;\r\n return [a].join(\"\\n\");\r\n })(t, e);\r\n return t[2] ? \"@media \".concat(t[2], \" {\").concat(a, \"}\") : a;\r\n }).join(\"\");\r\n }),\r\n (t.i = function (e, a, n) {\r\n \"string\" == typeof e && (e = [[null, e, \"\"]]);\r\n var o = {};\r\n if (n)\r\n for (var r = 0; r < this.length; r++) {\r\n var i = this[r][0];\r\n null != i && (o[i] = !0);\r\n }\r\n for (var l = 0; l < e.length; l++) {\r\n var s = [].concat(e[l]);\r\n (n && o[s[0]]) || (a && (s[2] ? (s[2] = \"\".concat(a, \" and \").concat(s[2])) : (s[2] = a)), t.push(s));\r\n }\r\n }),\r\n t\r\n );\r\n };\r\n },\r\n function (e, t) {\r\n function a(e) {\r\n return (a =\r\n \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator\r\n ? function (e) {\r\n return typeof e;\r\n }\r\n : function (e) {\r\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\r\n })(e);\r\n }\r\n var n;\r\n n = (function () {\r\n return this;\r\n })();\r\n try {\r\n n = n || new Function(\"return this\")();\r\n } catch (e) {\r\n \"object\" === (\"undefined\" == typeof window ? \"undefined\" : a(window)) && (n = window);\r\n }\r\n e.exports = n;\r\n },\r\n function (e, t) {\r\n var a,\r\n n,\r\n o = (e.exports = {});\r\n function r() {\r\n throw new Error(\"setTimeout has not been defined\");\r\n }\r\n function i() {\r\n throw new Error(\"clearTimeout has not been defined\");\r\n }\r\n function l(e) {\r\n if (a === setTimeout) return setTimeout(e, 0);\r\n if ((a === r || !a) && setTimeout) return (a = setTimeout), setTimeout(e, 0);\r\n try {\r\n return a(e, 0);\r\n } catch (t) {\r\n try {\r\n return a.call(null, e, 0);\r\n } catch (t) {\r\n return a.call(this, e, 0);\r\n }\r\n }\r\n }\r\n !(function () {\r\n try {\r\n a = \"function\" == typeof setTimeout ? setTimeout : r;\r\n } catch (e) {\r\n a = r;\r\n }\r\n try {\r\n n = \"function\" == typeof clearTimeout ? clearTimeout : i;\r\n } catch (e) {\r\n n = i;\r\n }\r\n })();\r\n var s,\r\n d = [],\r\n p = !1,\r\n c = -1;\r\n function u() {\r\n p && s && ((p = !1), s.length ? (d = s.concat(d)) : (c = -1), d.length && y());\r\n }\r\n function y() {\r\n if (!p) {\r\n var e = l(u);\r\n p = !0;\r\n for (var t = d.length; t; ) {\r\n for (s = d, d = []; ++c < t; ) s && s[c].run();\r\n (c = -1), (t = d.length);\r\n }\r\n (s = null),\r\n (p = !1),\r\n (function (e) {\r\n if (n === clearTimeout) return clearTimeout(e);\r\n if ((n === i || !n) && clearTimeout) return (n = clearTimeout), clearTimeout(e);\r\n try {\r\n n(e);\r\n } catch (t) {\r\n try {\r\n return n.call(null, e);\r\n } catch (t) {\r\n return n.call(this, e);\r\n }\r\n }\r\n })(e);\r\n }\r\n }\r\n function h(e, t) {\r\n (this.fun = e), (this.array = t);\r\n }\r\n function m() {}\r\n (o.nextTick = function (e) {\r\n var t = new Array(arguments.length - 1);\r\n if (arguments.length > 1) for (var a = 1; a < arguments.length; a++) t[a - 1] = arguments[a];\r\n d.push(new h(e, t)), 1 !== d.length || p || l(y);\r\n }),\r\n (h.prototype.run = function () {\r\n this.fun.apply(null, this.array);\r\n }),\r\n (o.title = \"browser\"),\r\n (o.browser = !0),\r\n (o.env = {}),\r\n (o.argv = []),\r\n (o.version = \"\"),\r\n (o.versions = {}),\r\n (o.on = m),\r\n (o.addListener = m),\r\n (o.once = m),\r\n (o.off = m),\r\n (o.removeListener = m),\r\n (o.removeAllListeners = m),\r\n (o.emit = m),\r\n (o.prependListener = m),\r\n (o.prependOnceListener = m),\r\n (o.listeners = function (e) {\r\n return [];\r\n }),\r\n (o.binding = function (e) {\r\n throw new Error(\"process.binding is not supported\");\r\n }),\r\n (o.cwd = function () {\r\n return \"/\";\r\n }),\r\n (o.chdir = function (e) {\r\n throw new Error(\"process.chdir is not supported\");\r\n }),\r\n (o.umask = function () {\r\n return 0;\r\n });\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n e.exports = function (e, t) {\r\n return function () {\r\n for (var a = new Array(arguments.length), n = 0; n < a.length; n++) a[n] = arguments[n];\r\n return e.apply(t, a);\r\n };\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0);\r\n function o(e) {\r\n return encodeURIComponent(e).replace(/%40/gi, \"@\").replace(/%3A/gi, \":\").replace(/%24/g, \"$\").replace(/%2C/gi, \",\").replace(/%20/g, \"+\").replace(/%5B/gi, \"[\").replace(/%5D/gi, \"]\");\r\n }\r\n e.exports = function (e, t, a) {\r\n if (!t) return e;\r\n var r;\r\n if (a) r = a(t);\r\n else if (n.isURLSearchParams(t)) r = t.toString();\r\n else {\r\n var i = [];\r\n n.forEach(t, function (e, t) {\r\n null != e &&\r\n (n.isArray(e) ? (t += \"[]\") : (e = [e]),\r\n n.forEach(e, function (e) {\r\n n.isDate(e) ? (e = e.toISOString()) : n.isObject(e) && (e = JSON.stringify(e)), i.push(o(t) + \"=\" + o(e));\r\n }));\r\n }),\r\n (r = i.join(\"&\"));\r\n }\r\n if (r) {\r\n var l = e.indexOf(\"#\");\r\n -1 !== l && (e = e.slice(0, l)), (e += (-1 === e.indexOf(\"?\") ? \"?\" : \"&\") + r);\r\n }\r\n return e;\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n e.exports = function (e) {\r\n return !(!e || !e.__CANCEL__);\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n (function (t) {\r\n var n = a(0),\r\n o = a(46),\r\n r = { \"Content-Type\": \"application/x-www-form-urlencoded\" };\r\n function i(e, t) {\r\n !n.isUndefined(e) && n.isUndefined(e[\"Content-Type\"]) && (e[\"Content-Type\"] = t);\r\n }\r\n var l,\r\n s = {\r\n adapter: (\"undefined\" != typeof XMLHttpRequest ? (l = a(10)) : void 0 !== t && \"[object process]\" === Object.prototype.toString.call(t) && (l = a(10)), l),\r\n transformRequest: [\r\n function (e, t) {\r\n return (\r\n o(t, \"Accept\"),\r\n o(t, \"Content-Type\"),\r\n n.isFormData(e) || n.isArrayBuffer(e) || n.isBuffer(e) || n.isStream(e) || n.isFile(e) || n.isBlob(e)\r\n ? e\r\n : n.isArrayBufferView(e)\r\n ? e.buffer\r\n : n.isURLSearchParams(e)\r\n ? (i(t, \"application/x-www-form-urlencoded;charset=utf-8\"), e.toString())\r\n : n.isObject(e)\r\n ? (i(t, \"application/json;charset=utf-8\"), JSON.stringify(e))\r\n : e\r\n );\r\n },\r\n ],\r\n transformResponse: [\r\n function (e) {\r\n if (\"string\" == typeof e)\r\n try {\r\n e = JSON.parse(e);\r\n } catch (e) {}\r\n return e;\r\n },\r\n ],\r\n timeout: 0,\r\n xsrfCookieName: \"XSRF-TOKEN\",\r\n xsrfHeaderName: \"X-XSRF-TOKEN\",\r\n maxContentLength: -1,\r\n validateStatus: function (e) {\r\n return e >= 200 && e < 300;\r\n },\r\n };\r\n (s.headers = { common: { Accept: \"application/json, text/plain, */*\" } }),\r\n n.forEach([\"delete\", \"get\", \"head\"], function (e) {\r\n s.headers[e] = {};\r\n }),\r\n n.forEach([\"post\", \"put\", \"patch\"], function (e) {\r\n s.headers[e] = n.merge(r);\r\n }),\r\n (e.exports = s);\r\n }.call(this, a(5)));\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0),\r\n o = a(47),\r\n r = a(7),\r\n i = a(49),\r\n l = a(52),\r\n s = a(53),\r\n d = a(11);\r\n e.exports = function (e) {\r\n return new Promise(function (t, p) {\r\n var c = e.data,\r\n u = e.headers;\r\n n.isFormData(c) && delete u[\"Content-Type\"];\r\n var y = new XMLHttpRequest();\r\n if (e.auth) {\r\n var h = e.auth.username || \"\",\r\n m = e.auth.password || \"\";\r\n u.Authorization = \"Basic \" + btoa(h + \":\" + m);\r\n }\r\n var f = i(e.baseURL, e.url);\r\n if (\r\n (y.open(e.method.toUpperCase(), r(f, e.params, e.paramsSerializer), !0),\r\n (y.timeout = e.timeout),\r\n (y.onreadystatechange = function () {\r\n if (y && 4 === y.readyState && (0 !== y.status || (y.responseURL && 0 === y.responseURL.indexOf(\"file:\")))) {\r\n var a = \"getAllResponseHeaders\" in y ? l(y.getAllResponseHeaders()) : null,\r\n n = { data: e.responseType && \"text\" !== e.responseType ? y.response : y.responseText, status: y.status, statusText: y.statusText, headers: a, config: e, request: y };\r\n o(t, p, n), (y = null);\r\n }\r\n }),\r\n (y.onabort = function () {\r\n y && (p(d(\"Request aborted\", e, \"ECONNABORTED\", y)), (y = null));\r\n }),\r\n (y.onerror = function () {\r\n p(d(\"Network Error\", e, null, y)), (y = null);\r\n }),\r\n (y.ontimeout = function () {\r\n var t = \"timeout of \" + e.timeout + \"ms exceeded\";\r\n e.timeoutErrorMessage && (t = e.timeoutErrorMessage), p(d(t, e, \"ECONNABORTED\", y)), (y = null);\r\n }),\r\n n.isStandardBrowserEnv())\r\n ) {\r\n var v = a(54),\r\n b = (e.withCredentials || s(f)) && e.xsrfCookieName ? v.read(e.xsrfCookieName) : void 0;\r\n b && (u[e.xsrfHeaderName] = b);\r\n }\r\n if (\r\n (\"setRequestHeader\" in y &&\r\n n.forEach(u, function (e, t) {\r\n void 0 === c && \"content-type\" === t.toLowerCase() ? delete u[t] : y.setRequestHeader(t, e);\r\n }),\r\n n.isUndefined(e.withCredentials) || (y.withCredentials = !!e.withCredentials),\r\n e.responseType)\r\n )\r\n try {\r\n y.responseType = e.responseType;\r\n } catch (t) {\r\n if (\"json\" !== e.responseType) throw t;\r\n }\r\n \"function\" == typeof e.onDownloadProgress && y.addEventListener(\"progress\", e.onDownloadProgress),\r\n \"function\" == typeof e.onUploadProgress && y.upload && y.upload.addEventListener(\"progress\", e.onUploadProgress),\r\n e.cancelToken &&\r\n e.cancelToken.promise.then(function (e) {\r\n y && (y.abort(), p(e), (y = null));\r\n }),\r\n void 0 === c && (c = null),\r\n y.send(c);\r\n });\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(48);\r\n e.exports = function (e, t, a, o, r) {\r\n var i = new Error(e);\r\n return n(i, t, a, o, r);\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0);\r\n e.exports = function (e, t) {\r\n t = t || {};\r\n var a = {},\r\n o = [\"url\", \"method\", \"params\", \"data\"],\r\n r = [\"headers\", \"auth\", \"proxy\"],\r\n i = [\r\n \"baseURL\",\r\n \"url\",\r\n \"transformRequest\",\r\n \"transformResponse\",\r\n \"paramsSerializer\",\r\n \"timeout\",\r\n \"withCredentials\",\r\n \"adapter\",\r\n \"responseType\",\r\n \"xsrfCookieName\",\r\n \"xsrfHeaderName\",\r\n \"onUploadProgress\",\r\n \"onDownloadProgress\",\r\n \"maxContentLength\",\r\n \"validateStatus\",\r\n \"maxRedirects\",\r\n \"httpAgent\",\r\n \"httpsAgent\",\r\n \"cancelToken\",\r\n \"socketPath\",\r\n ];\r\n n.forEach(o, function (e) {\r\n void 0 !== t[e] && (a[e] = t[e]);\r\n }),\r\n n.forEach(r, function (o) {\r\n n.isObject(t[o]) ? (a[o] = n.deepMerge(e[o], t[o])) : void 0 !== t[o] ? (a[o] = t[o]) : n.isObject(e[o]) ? (a[o] = n.deepMerge(e[o])) : void 0 !== e[o] && (a[o] = e[o]);\r\n }),\r\n n.forEach(i, function (n) {\r\n void 0 !== t[n] ? (a[n] = t[n]) : void 0 !== e[n] && (a[n] = e[n]);\r\n });\r\n var l = o.concat(r).concat(i),\r\n s = Object.keys(t).filter(function (e) {\r\n return -1 === l.indexOf(e);\r\n });\r\n return (\r\n n.forEach(s, function (n) {\r\n void 0 !== t[n] ? (a[n] = t[n]) : void 0 !== e[n] && (a[n] = e[n]);\r\n }),\r\n a\r\n );\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n function n(e) {\r\n this.message = e;\r\n }\r\n (n.prototype.toString = function () {\r\n return \"Cancel\" + (this.message ? \": \" + this.message : \"\");\r\n }),\r\n (n.prototype.__CANCEL__ = !0),\r\n (e.exports = n);\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n e.exports = a(57);\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n (function (e) {\r\n var n = a(16);\r\n function o(e) {\r\n return (o =\r\n \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator\r\n ? function (e) {\r\n return typeof e;\r\n }\r\n : function (e) {\r\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\r\n })(e);\r\n }\r\n var r = setTimeout;\r\n function i(e) {\r\n return Boolean(e && void 0 !== e.length);\r\n }\r\n function l() {}\r\n function s(e) {\r\n if (!(this instanceof s)) throw new TypeError(\"Promises must be constructed via new\");\r\n if (\"function\" != typeof e) throw new TypeError(\"not a function\");\r\n (this._state = 0), (this._handled = !1), (this._value = void 0), (this._deferreds = []), h(e, this);\r\n }\r\n function d(e, t) {\r\n for (; 3 === e._state; ) e = e._value;\r\n 0 !== e._state\r\n ? ((e._handled = !0),\r\n s._immediateFn(function () {\r\n var a = 1 === e._state ? t.onFulfilled : t.onRejected;\r\n if (null !== a) {\r\n var n;\r\n try {\r\n n = a(e._value);\r\n } catch (e) {\r\n return void c(t.promise, e);\r\n }\r\n p(t.promise, n);\r\n } else (1 === e._state ? p : c)(t.promise, e._value);\r\n }))\r\n : e._deferreds.push(t);\r\n }\r\n function p(e, t) {\r\n try {\r\n if (t === e) throw new TypeError(\"A promise cannot be resolved with itself.\");\r\n if (t && (\"object\" === o(t) || \"function\" == typeof t)) {\r\n var a = t.then;\r\n if (t instanceof s) return (e._state = 3), (e._value = t), void u(e);\r\n if (\"function\" == typeof a)\r\n return void h(\r\n ((n = a),\r\n (r = t),\r\n function () {\r\n n.apply(r, arguments);\r\n }),\r\n e\r\n );\r\n }\r\n (e._state = 1), (e._value = t), u(e);\r\n } catch (t) {\r\n c(e, t);\r\n }\r\n var n, r;\r\n }\r\n function c(e, t) {\r\n (e._state = 2), (e._value = t), u(e);\r\n }\r\n function u(e) {\r\n 2 === e._state &&\r\n 0 === e._deferreds.length &&\r\n s._immediateFn(function () {\r\n e._handled || s._unhandledRejectionFn(e._value);\r\n });\r\n for (var t = 0, a = e._deferreds.length; t < a; t++) d(e, e._deferreds[t]);\r\n e._deferreds = null;\r\n }\r\n function y(e, t, a) {\r\n (this.onFulfilled = \"function\" == typeof e ? e : null), (this.onRejected = \"function\" == typeof t ? t : null), (this.promise = a);\r\n }\r\n function h(e, t) {\r\n var a = !1;\r\n try {\r\n e(\r\n function (e) {\r\n a || ((a = !0), p(t, e));\r\n },\r\n function (e) {\r\n a || ((a = !0), c(t, e));\r\n }\r\n );\r\n } catch (e) {\r\n if (a) return;\r\n (a = !0), c(t, e);\r\n }\r\n }\r\n (s.prototype.catch = function (e) {\r\n return this.then(null, e);\r\n }),\r\n (s.prototype.then = function (e, t) {\r\n var a = new this.constructor(l);\r\n return d(this, new y(e, t, a)), a;\r\n }),\r\n (s.prototype.finally = n.a),\r\n (s.all = function (e) {\r\n return new s(function (t, a) {\r\n if (!i(e)) return a(new TypeError(\"Promise.all accepts an array\"));\r\n var n = Array.prototype.slice.call(e);\r\n if (0 === n.length) return t([]);\r\n var r = n.length;\r\n function l(e, i) {\r\n try {\r\n if (i && (\"object\" === o(i) || \"function\" == typeof i)) {\r\n var s = i.then;\r\n if (\"function\" == typeof s)\r\n return void s.call(\r\n i,\r\n function (t) {\r\n l(e, t);\r\n },\r\n a\r\n );\r\n }\r\n (n[e] = i), 0 == --r && t(n);\r\n } catch (e) {\r\n a(e);\r\n }\r\n }\r\n for (var s = 0; s < n.length; s++) l(s, n[s]);\r\n });\r\n }),\r\n (s.resolve = function (e) {\r\n return e && \"object\" === o(e) && e.constructor === s\r\n ? e\r\n : new s(function (t) {\r\n t(e);\r\n });\r\n }),\r\n (s.reject = function (e) {\r\n return new s(function (t, a) {\r\n a(e);\r\n });\r\n }),\r\n (s.race = function (e) {\r\n return new s(function (t, a) {\r\n if (!i(e)) return a(new TypeError(\"Promise.race accepts an array\"));\r\n for (var n = 0, o = e.length; n < o; n++) s.resolve(e[n]).then(t, a);\r\n });\r\n }),\r\n (s._immediateFn =\r\n (\"function\" == typeof e &&\r\n function (t) {\r\n e(t);\r\n }) ||\r\n function (e) {\r\n r(e, 0);\r\n }),\r\n (s._unhandledRejectionFn = function (e) {\r\n \"undefined\" != typeof console && console && console.warn(\"Possible Unhandled Promise Rejection:\", e);\r\n }),\r\n (t.a = s);\r\n }.call(this, a(39).setImmediate));\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n t.a = function (e) {\r\n var t = this.constructor;\r\n return this.then(\r\n function (a) {\r\n return t.resolve(e()).then(function () {\r\n return a;\r\n });\r\n },\r\n function (a) {\r\n return t.resolve(e()).then(function () {\r\n return t.reject(a);\r\n });\r\n }\r\n );\r\n };\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports = '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports = '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t) {\r\n e.exports =\r\n '';\r\n },\r\n function (e, t, a) {\r\n var n = a(14);\r\n e.exports = function (e) {\r\n \"use strict\";\r\n e = e || {};\r\n var t = \"\",\r\n o =\r\n (arguments[1],\r\n function (e) {\r\n return (t += e);\r\n }),\r\n r = e.video,\r\n i = e.options,\r\n l = n.$escape,\r\n s = e.tran,\r\n d = e.icons,\r\n p = e.index,\r\n c = n.$each;\r\n e.$value, e.$index;\r\n return (\r\n (t += '
    \\n
    \\n '),\r\n o(a(1)(r)),\r\n (t += \"\\n \"),\r\n i.logo && ((t += '\\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n '),\r\n i.danmaku && ((t += '\\n '), (t += l(s(\"Danmaku is loading\"))), (t += \"\\n \")),\r\n (t += '\\n '),\r\n (t += d.loading),\r\n (t +=\r\n '\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    '),\r\n (t += l(s(\"Set danmaku type\"))),\r\n (t += '
    \\n
    \\n \\n 0:00 /\\n 0:00\\n \\n '),\r\n i.live && ((t += '\\n \\n \")),\r\n (t += '\\n
    \\n
    \\n '),\r\n i.video.quality &&\r\n ((t += '\\n
    \\n \\n
    \\n
    \\n '),\r\n c(i.video.quality, function (e, a) {\r\n (t += '\\n
    \\n \");\r\n }),\r\n (t += \"\\n
    \\n
    \\n
    \\n \")),\r\n (t += \"\\n \"),\r\n i.screenshot &&\r\n ((t += '\\n
    \\n
    \\n \")),\r\n (t += \"\\n \"),\r\n i.airplay &&\r\n ((t += '\\n
    \\n
    \\n \")),\r\n (t += '\\n
    \\n \\n
    \\n \"),\r\n i.subtitle &&\r\n ((t += '\\n
    \\n \\n
    \\n \")),\r\n (t += '\\n
    \\n \\n
    \\n
    \\n
    \\n '),\r\n (t += l(s(\"Speed\"))),\r\n (t += '\\n
    '),\r\n (t += d.right),\r\n (t += '
    \\n
    \\n
    \\n '),\r\n (t += l(s(\"Loop\"))),\r\n (t +=\r\n '\\n
    \\n \\n \\n
    \\n
    \\n
    \\n '),\r\n (t += l(s(\"Show danmaku\"))),\r\n (t +=\r\n '\\n
    \\n \\n \\n
    \\n
    \\n
    \\n '),\r\n (t += l(s(\"Unlimited danmaku\"))),\r\n (t +=\r\n '\\n
    \\n \\n \\n
    \\n
    \\n
    \\n '),\r\n (t += l(s(\"Opacity for danmaku\"))),\r\n (t +=\r\n '\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n '),\r\n c(i.playbackSpeed, function (e, a) {\r\n (t += '\\n
    \\n
    \\n \");\r\n }),\r\n (t += '\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    00:00
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    [x]
    \\n
    \\n Player version\\n \\n
    \\n
    \\n Player FPS\\n \\n
    \\n
    \\n Video type\\n \\n
    \\n
    \\n Video url\\n \\n
    \\n
    \\n Video resolution\\n \\n
    \\n
    \\n Video duration\\n \\n
    \\n '),\r\n i.danmaku &&\r\n (t +=\r\n '\\n
    \\n Danmaku id\\n \\n
    \\n
    \\n Danmaku api\\n \\n
    \\n
    \\n Danmaku amount\\n \\n
    \\n '),\r\n (t += '\\n
    \\n \\n
    \\n\")\r\n );\r\n };\r\n },\r\n function (e, t, a) {\r\n var n = a(36),\r\n o = a(37);\r\n \"string\" == typeof (o = o.__esModule ? o.default : o) && (o = [[e.i, o, \"\"]]);\r\n var r = { insert: \"head\", singleton: !1 };\r\n n(o, r);\r\n e.exports = o.locals || {};\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n,\r\n o = function () {\r\n return void 0 === n && (n = Boolean(window && document && document.all && !window.atob)), n;\r\n },\r\n r = (function () {\r\n var e = {};\r\n return function (t) {\r\n if (void 0 === e[t]) {\r\n var a = document.querySelector(t);\r\n if (window.HTMLIFrameElement && a instanceof window.HTMLIFrameElement)\r\n try {\r\n a = a.contentDocument.head;\r\n } catch (e) {\r\n a = null;\r\n }\r\n e[t] = a;\r\n }\r\n return e[t];\r\n };\r\n })(),\r\n i = [];\r\n function l(e) {\r\n for (var t = -1, a = 0; a < i.length; a++)\r\n if (i[a].identifier === e) {\r\n t = a;\r\n break;\r\n }\r\n return t;\r\n }\r\n function s(e, t) {\r\n for (var a = {}, n = [], o = 0; o < e.length; o++) {\r\n var r = e[o],\r\n s = t.base ? r[0] + t.base : r[0],\r\n d = a[s] || 0,\r\n p = \"\".concat(s, \" \").concat(d);\r\n a[s] = d + 1;\r\n var c = l(p),\r\n u = { css: r[1], media: r[2], sourceMap: r[3] };\r\n -1 !== c ? (i[c].references++, i[c].updater(u)) : i.push({ identifier: p, updater: f(u, t), references: 1 }), n.push(p);\r\n }\r\n return n;\r\n }\r\n function d(e) {\r\n var t = document.createElement(\"style\"),\r\n n = e.attributes || {};\r\n if (void 0 === n.nonce) {\r\n var o = a.nc;\r\n o && (n.nonce = o);\r\n }\r\n if (\r\n (Object.keys(n).forEach(function (e) {\r\n t.setAttribute(e, n[e]);\r\n }),\r\n \"function\" == typeof e.insert)\r\n )\r\n e.insert(t);\r\n else {\r\n var i = r(e.insert || \"head\");\r\n if (!i) throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\r\n i.appendChild(t);\r\n }\r\n return t;\r\n }\r\n var p,\r\n c =\r\n ((p = []),\r\n function (e, t) {\r\n return (p[e] = t), p.filter(Boolean).join(\"\\n\");\r\n });\r\n function u(e, t, a, n) {\r\n var o = a ? \"\" : n.media ? \"@media \".concat(n.media, \" {\").concat(n.css, \"}\") : n.css;\r\n if (e.styleSheet) e.styleSheet.cssText = c(t, o);\r\n else {\r\n var r = document.createTextNode(o),\r\n i = e.childNodes;\r\n i[t] && e.removeChild(i[t]), i.length ? e.insertBefore(r, i[t]) : e.appendChild(r);\r\n }\r\n }\r\n function y(e, t, a) {\r\n var n = a.css,\r\n o = a.media,\r\n r = a.sourceMap;\r\n if (\r\n (o ? e.setAttribute(\"media\", o) : e.removeAttribute(\"media\"), r && btoa && (n += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))), \" */\")), e.styleSheet)\r\n )\r\n e.styleSheet.cssText = n;\r\n else {\r\n for (; e.firstChild; ) e.removeChild(e.firstChild);\r\n e.appendChild(document.createTextNode(n));\r\n }\r\n }\r\n var h = null,\r\n m = 0;\r\n function f(e, t) {\r\n var a, n, o;\r\n if (t.singleton) {\r\n var r = m++;\r\n (a = h || (h = d(t))), (n = u.bind(null, a, r, !1)), (o = u.bind(null, a, r, !0));\r\n } else\r\n (a = d(t)),\r\n (n = y.bind(null, a, t)),\r\n (o = function () {\r\n !(function (e) {\r\n if (null === e.parentNode) return !1;\r\n e.parentNode.removeChild(e);\r\n })(a);\r\n });\r\n return (\r\n n(e),\r\n function (t) {\r\n if (t) {\r\n if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap) return;\r\n n((e = t));\r\n } else o();\r\n }\r\n );\r\n }\r\n e.exports = function (e, t) {\r\n (t = t || {}).singleton || \"boolean\" == typeof t.singleton || (t.singleton = o());\r\n var a = s((e = e || []), t);\r\n return function (e) {\r\n if (((e = e || []), \"[object Array]\" === Object.prototype.toString.call(e))) {\r\n for (var n = 0; n < a.length; n++) {\r\n var o = l(a[n]);\r\n i[o].references--;\r\n }\r\n for (var r = s(e, t), d = 0; d < a.length; d++) {\r\n var p = l(a[d]);\r\n 0 === i[p].references && (i[p].updater(), i.splice(p, 1));\r\n }\r\n a = r;\r\n }\r\n };\r\n };\r\n },\r\n function (e, t, a) {\r\n var n = a(3),\r\n o = a(38);\r\n (t = n(!1)).i(o),\r\n t.push([\r\n e.i,\r\n '@-webkit-keyframes my-face{2%{transform:translateY(1.5px) rotate(1.5deg)}4%{transform:translateY(-1.5px) rotate(-.5deg)}6%{transform:translateY(1.5px) rotate(-1.5deg)}8%{transform:translateY(-1.5px) rotate(-1.5deg)}10%{transform:translateY(2.5px) rotate(1.5deg)}12%{transform:translateY(-.5px) rotate(1.5deg)}14%{transform:translateY(-1.5px) rotate(1.5deg)}16%{transform:translateY(-.5px) rotate(-1.5deg)}18%{transform:translateY(.5px) rotate(-1.5deg)}20%{transform:translateY(-1.5px) rotate(2.5deg)}22%{transform:translateY(.5px) rotate(-1.5deg)}24%{transform:translateY(1.5px) rotate(1.5deg)}26%{transform:translateY(.5px) rotate(.5deg)}28%{transform:translateY(.5px) rotate(1.5deg)}30%{transform:translateY(-.5px) rotate(2.5deg)}32%{transform:translateY(1.5px) rotate(-.5deg)}34%{transform:translateY(1.5px) rotate(-.5deg)}36%{transform:translateY(-1.5px) rotate(2.5deg)}38%{transform:translateY(1.5px) rotate(-1.5deg)}40%{transform:translateY(-.5px) rotate(2.5deg)}42%{transform:translateY(2.5px) rotate(-1.5deg)}44%{transform:translateY(1.5px) rotate(.5deg)}46%{transform:translateY(-1.5px) rotate(2.5deg)}48%{transform:translateY(-.5px) rotate(.5deg)}50%{transform:translateY(.5px) rotate(.5deg)}52%{transform:translateY(2.5px) rotate(2.5deg)}54%{transform:translateY(-1.5px) rotate(1.5deg)}56%{transform:translateY(2.5px) rotate(2.5deg)}58%{transform:translateY(.5px) rotate(2.5deg)}60%{transform:translateY(2.5px) rotate(2.5deg)}62%{transform:translateY(-.5px) rotate(2.5deg)}64%{transform:translateY(-.5px) rotate(1.5deg)}66%{transform:translateY(1.5px) rotate(-.5deg)}68%{transform:translateY(-1.5px) rotate(-.5deg)}70%{transform:translateY(1.5px) rotate(.5deg)}72%{transform:translateY(2.5px) rotate(1.5deg)}74%{transform:translateY(-.5px) rotate(.5deg)}76%{transform:translateY(-.5px) rotate(2.5deg)}78%{transform:translateY(-.5px) rotate(1.5deg)}80%{transform:translateY(1.5px) rotate(1.5deg)}82%{transform:translateY(-.5px) rotate(.5deg)}84%{transform:translateY(1.5px) rotate(2.5deg)}86%{transform:translateY(-1.5px) rotate(-1.5deg)}88%{transform:translateY(-.5px) rotate(2.5deg)}90%{transform:translateY(2.5px) rotate(-.5deg)}92%{transform:translateY(.5px) rotate(-.5deg)}94%{transform:translateY(2.5px) rotate(.5deg)}96%{transform:translateY(-.5px) rotate(1.5deg)}98%{transform:translateY(-1.5px) rotate(-.5deg)}0%,to{transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{transform:translateY(1.5px) rotate(1.5deg)}4%{transform:translateY(-1.5px) rotate(-.5deg)}6%{transform:translateY(1.5px) rotate(-1.5deg)}8%{transform:translateY(-1.5px) rotate(-1.5deg)}10%{transform:translateY(2.5px) rotate(1.5deg)}12%{transform:translateY(-.5px) rotate(1.5deg)}14%{transform:translateY(-1.5px) rotate(1.5deg)}16%{transform:translateY(-.5px) rotate(-1.5deg)}18%{transform:translateY(.5px) rotate(-1.5deg)}20%{transform:translateY(-1.5px) rotate(2.5deg)}22%{transform:translateY(.5px) rotate(-1.5deg)}24%{transform:translateY(1.5px) rotate(1.5deg)}26%{transform:translateY(.5px) rotate(.5deg)}28%{transform:translateY(.5px) rotate(1.5deg)}30%{transform:translateY(-.5px) rotate(2.5deg)}32%{transform:translateY(1.5px) rotate(-.5deg)}34%{transform:translateY(1.5px) rotate(-.5deg)}36%{transform:translateY(-1.5px) rotate(2.5deg)}38%{transform:translateY(1.5px) rotate(-1.5deg)}40%{transform:translateY(-.5px) rotate(2.5deg)}42%{transform:translateY(2.5px) rotate(-1.5deg)}44%{transform:translateY(1.5px) rotate(.5deg)}46%{transform:translateY(-1.5px) rotate(2.5deg)}48%{transform:translateY(-.5px) rotate(.5deg)}50%{transform:translateY(.5px) rotate(.5deg)}52%{transform:translateY(2.5px) rotate(2.5deg)}54%{transform:translateY(-1.5px) rotate(1.5deg)}56%{transform:translateY(2.5px) rotate(2.5deg)}58%{transform:translateY(.5px) rotate(2.5deg)}60%{transform:translateY(2.5px) rotate(2.5deg)}62%{transform:translateY(-.5px) rotate(2.5deg)}64%{transform:translateY(-.5px) rotate(1.5deg)}66%{transform:translateY(1.5px) rotate(-.5deg)}68%{transform:translateY(-1.5px) rotate(-.5deg)}70%{transform:translateY(1.5px) rotate(.5deg)}72%{transform:translateY(2.5px) rotate(1.5deg)}74%{transform:translateY(-.5px) rotate(.5deg)}76%{transform:translateY(-.5px) rotate(2.5deg)}78%{transform:translateY(-.5px) rotate(1.5deg)}80%{transform:translateY(1.5px) rotate(1.5deg)}82%{transform:translateY(-.5px) rotate(.5deg)}84%{transform:translateY(1.5px) rotate(2.5deg)}86%{transform:translateY(-1.5px) rotate(-1.5deg)}88%{transform:translateY(-.5px) rotate(2.5deg)}90%{transform:translateY(2.5px) rotate(-.5deg)}92%{transform:translateY(.5px) rotate(-.5deg)}94%{transform:translateY(2.5px) rotate(.5deg)}96%{transform:translateY(-.5px) rotate(1.5deg)}98%{transform:translateY(-1.5px) rotate(-.5deg)}0%,to{transform:translate(0) rotate(0deg)}}.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{box-sizing:content-box}.dplayer svg{width:100%;height:100%}.dplayer svg circle,.dplayer svg path{fill:#fff}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0;margin:0;padding:0;transform:translate(0)}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.dplayer.dplayer-live .dplayer-bar-wrap,.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting,.dplayer.dplayer-live .dplayer-setting-loop,.dplayer.dplayer-live .dplayer-setting-speed,.dplayer.dplayer-live .dplayer-time,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-arrow .dplayer-danmaku{font-size:18px}.dplayer.dplayer-arrow .dplayer-icon{margin:0 -3px}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running;animation-play-state:running}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku,.dplayer.dplayer-loading .dplayer-danmaku-move,.dplayer.dplayer-paused .dplayer-danmaku,.dplayer.dplayer-paused .dplayer-danmaku-move{-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%!important;height:100%!important}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-airplay-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-play-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume{display:none}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:static;display:inline-block}.dplayer.dplayer-mobile .dplayer-bar-time,.dplayer.dplayer-mobile.dplayer-hide-controller .dplayer-mobile-play{display:none}.dplayer.dplayer-mobile .dplayer-mobile-play{display:block}.dplayer-web-fullscreen-fix{position:fixed;top:0;left:0;margin:0;padding:0}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:rgba(17,17,17,.7)}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0}.dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s ease-in-out infinite;animation:my-face 5s ease-in-out infinite}.dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;transform-origin:4px 4px}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}.dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer-controller,.dplayer-controller-mask{position:absolute;bottom:0;transition:all .3s ease}.dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons{display:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box{display:block}.dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight{display:block;width:8px;transform:translateX(-4px);top:4px;height:40%}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight{z-index:12;position:absolute;top:5px;width:6px;height:20%;border-radius:6px;background-color:#fff;text-align:center;transform:translateX(-3px);transition:all .2s ease-in-out}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text{display:block}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover~.dplayer-bar-preview,.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover~.dplayer-bar-time{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text{display:none;position:absolute;left:50%;top:-24px;padding:5px 8px;background-color:rgba(0,0,0,.62);color:#fff;border-radius:4px;font-size:12px;white-space:nowrap;transform:translateX(-50%)}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:16000px 100%}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{background:hsla(0,0%,100%,.4);transition:all .5s ease}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded,.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer-controller .dplayer-icons.dplayer-comment-box{display:none;position:absolute;transition:all .3s ease-in-out;z-index:2;height:38px;bottom:0;left:20px;right:20px;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon{position:absolute;left:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon{position:absolute;right:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:rgba(28,28,28,.9);bottom:41px;left:0;box-shadow:0 0 25px rgba(0,0,0,.3);border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{transform:scale(1)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:13px;color:#fff;line-height:30px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title{margin-bottom:6px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{border-radius:4px 0 0 4px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{border-radius:0 4px 4px 0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#fff;border:1px solid #fff;margin-right:-1px;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6;color:#1c1c1c}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;border-radius:50%;box-sizing:border-box;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s ease-in-out infinite;animation:my-face 5s ease-in-out infinite}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;border-radius:4px;background:none;margin:0;height:100%;box-sizing:border-box;width:100%;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-webkit-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-moz-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear{display:none}.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer-controller .dplayer-icons .dplayer-live-badge,.dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer-controller .dplayer-icons .dplayer-live-dot{display:inline-block;width:6px;height:6px;vertical-align:4%;margin-right:5px;content:\"\";border-radius:6px}.dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;box-sizing:border-box;display:inline-block}.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{transition:all .2s ease-in-out;opacity:.8}.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon{color:#fff;width:auto;line-height:22px;font-size:14px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 10px 0 -5px;vertical-align:middle;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;will-change:width}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons .dplayer-setting,.dplayer-controller .dplayer-icons .dplayer-subtitle-btn{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;transform:scale(0);width:150px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div.dplayer-setting-origin-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;text-align:center}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;box-sizing:border-box;cursor:pointer;position:relative}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;background:#aaa;will-change:width}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;background:#aaa}.dplayer-controller .dplayer-icons .dplayer-full{display:inline-block;height:100%;position:relative}.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon{display:block}.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:absolute;top:-30px;z-index:1;display:none}.dplayer-controller .dplayer-icons .dplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list,.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask{display:block}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list{display:none;font-size:12px;width:80px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;transition:all .3s ease-in-out;overflow:hidden;color:#fff;text-align:center}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item{height:25px;box-sizing:border-box;cursor:pointer;line-height:25px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:absolute;top:5px;right:10px}.dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;border-radius:10px;box-sizing:border-box;cursor:pointer;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:\"\";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer-mobile-play{display:none;width:50px;height:50px;border:none;background-color:transparent;outline:none;cursor:pointer;box-sizing:border-box;bottom:0;opacity:.8;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;transform:translateX(100%)}.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{transform:translateX(100%)}}@keyframes danmaku{0%{transform:translateX(100%)}}.dplayer-danmaku .dplayer-danmaku-bottom,.dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer-logo{pointer-events:none;position:absolute;left:20px;top:20px;max-width:50px;max-height:50px}.dplayer-logo img{max-width:100%;max-height:100%;background:none}.dplayer-menu{position:absolute;width:170px;border-radius:2px;background:rgba(28,28,28,.85);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer-menu.dplayer-menu-show{display:block}.dplayer-menu .dplayer-menu-item{height:30px;box-sizing:border-box;cursor:pointer}.dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-menu .dplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-menu .dplayer-menu-item a:hover{text-decoration:none}.dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}.dplayer-subtitle{position:absolute;bottom:40px;width:90%;left:5%;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px}.dplayer-subtitle.dplayer-subtitle-hide{display:none}.dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer-mask.dplayer-mask-show{display:block}.dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer-video-wrap .dplayer-video-current{display:block}.dplayer-video-wrap .dplayer-video-prepare{display:none}.dplayer-info-panel{position:absolute;top:10px;left:10px;width:400px;background:rgba(28,28,28,.8);padding:10px;color:#fff;font-size:12px;border-radius:2px}.dplayer-info-panel-hide{display:none}.dplayer-info-panel .dplayer-info-panel-close{cursor:pointer;position:absolute;right:10px;top:10px}.dplayer-info-panel .dplayer-info-panel-item>span{display:inline-block;vertical-align:middle;line-height:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-info-panel .dplayer-info-panel-item-title{width:100px;text-align:right;margin-right:10px}.dplayer-info-panel .dplayer-info-panel-item-data{width:260px}',\r\n \"\",\r\n ]),\r\n (e.exports = t);\r\n },\r\n function (e, t, a) {\r\n (t = a(3)(!1)).push([\r\n e.i,\r\n ':root{--balloon-border-radius:2px;--balloon-color:rgba(16,16,16,0.95);--balloon-text-color:#fff;--balloon-font-size:12px;--balloon-move:4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;white-space:nowrap}[aria-label][data-balloon-pos]:after,[aria-label][data-balloon-pos]:before{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;position:absolute;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top:5px solid var(--balloon-color);content:\"\"}[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-visible]:before{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:after,[aria-label][data-balloon-pos][data-balloon-blunt]:before{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:after,[aria-label][data-balloon-pos][data-balloon-pos=up]:before{bottom:100%;left:50%;transform:translate(-50%,var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:after{bottom:100%;left:0;margin-bottom:10px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:before{bottom:100%;left:5px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up-left][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:after{bottom:100%;right:0;margin-bottom:10px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:before{bottom:100%;right:5px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up-right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after{left:50%;margin-top:10px;top:100%;transform:translate(-50%,calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);left:50%;top:100%;transform:translate(-50%,calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:after{left:0;margin-top:10px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);left:5px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down-left][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:after{right:0;margin-top:10px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);right:5px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down-right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px;right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left:5px solid var(--balloon-color);right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{left:100%;margin-left:10px;top:50%;transform:translate(calc(var(--balloon-move)*-1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right:5px solid var(--balloon-color);left:100%;top:50%;transform:translate(calc(var(--balloon-move)*-1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-length=small]:after{white-space:normal;width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{white-space:normal;width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{white-space:normal;width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{white-space:normal;width:100%}',\r\n \"\",\r\n ]),\r\n (e.exports = t);\r\n },\r\n function (e, t, a) {\r\n var n = Function.prototype.apply;\r\n function o(e, t) {\r\n (this._id = e), (this._clearFn = t);\r\n }\r\n (t.setTimeout = function () {\r\n return new o(n.call(setTimeout, window, arguments), clearTimeout);\r\n }),\r\n (t.setInterval = function () {\r\n return new o(n.call(setInterval, window, arguments), clearInterval);\r\n }),\r\n (t.clearTimeout = t.clearInterval = function (e) {\r\n e && e.close();\r\n }),\r\n (o.prototype.unref = o.prototype.ref = function () {}),\r\n (o.prototype.close = function () {\r\n this._clearFn.call(window, this._id);\r\n }),\r\n (t.enroll = function (e, t) {\r\n clearTimeout(e._idleTimeoutId), (e._idleTimeout = t);\r\n }),\r\n (t.unenroll = function (e) {\r\n clearTimeout(e._idleTimeoutId), (e._idleTimeout = -1);\r\n }),\r\n (t._unrefActive = t.active = function (e) {\r\n clearTimeout(e._idleTimeoutId);\r\n var t = e._idleTimeout;\r\n t >= 0 &&\r\n (e._idleTimeoutId = setTimeout(function () {\r\n e._onTimeout && e._onTimeout();\r\n }, t));\r\n }),\r\n a(40),\r\n (t.setImmediate = setImmediate),\r\n (t.clearImmediate = clearImmediate);\r\n },\r\n function (e, t, a) {\r\n (function (e, t) {\r\n !(function (e, a) {\r\n \"use strict\";\r\n if (!e.setImmediate) {\r\n var n,\r\n o,\r\n r,\r\n i,\r\n l,\r\n s = 1,\r\n d = {},\r\n p = !1,\r\n c = e.document,\r\n u = Object.getPrototypeOf && Object.getPrototypeOf(e);\r\n (u = u && u.setTimeout ? u : e),\r\n \"[object process]\" === {}.toString.call(e.process)\r\n ? (n = function (e) {\r\n t.nextTick(function () {\r\n h(e);\r\n });\r\n })\r\n : !(function () {\r\n if (e.postMessage && !e.importScripts) {\r\n var t = !0,\r\n a = e.onmessage;\r\n return (\r\n (e.onmessage = function () {\r\n t = !1;\r\n }),\r\n e.postMessage(\"\", \"*\"),\r\n (e.onmessage = a),\r\n t\r\n );\r\n }\r\n })()\r\n ? e.MessageChannel\r\n ? (((r = new MessageChannel()).port1.onmessage = function (e) {\r\n h(e.data);\r\n }),\r\n (n = function (e) {\r\n r.port2.postMessage(e);\r\n }))\r\n : c && \"onreadystatechange\" in c.createElement(\"script\")\r\n ? ((o = c.documentElement),\r\n (n = function (e) {\r\n var t = c.createElement(\"script\");\r\n (t.onreadystatechange = function () {\r\n h(e), (t.onreadystatechange = null), o.removeChild(t), (t = null);\r\n }),\r\n o.appendChild(t);\r\n }))\r\n : (n = function (e) {\r\n setTimeout(h, 0, e);\r\n })\r\n : ((i = \"setImmediate$\" + Math.random() + \"$\"),\r\n (l = function (t) {\r\n t.source === e && \"string\" == typeof t.data && 0 === t.data.indexOf(i) && h(+t.data.slice(i.length));\r\n }),\r\n e.addEventListener ? e.addEventListener(\"message\", l, !1) : e.attachEvent(\"onmessage\", l),\r\n (n = function (t) {\r\n e.postMessage(i + t, \"*\");\r\n })),\r\n (u.setImmediate = function (e) {\r\n \"function\" != typeof e && (e = new Function(\"\" + e));\r\n for (var t = new Array(arguments.length - 1), a = 0; a < t.length; a++) t[a] = arguments[a + 1];\r\n var o = { callback: e, args: t };\r\n return (d[s] = o), n(s), s++;\r\n }),\r\n (u.clearImmediate = y);\r\n }\r\n function y(e) {\r\n delete d[e];\r\n }\r\n function h(e) {\r\n if (p) setTimeout(h, 0, e);\r\n else {\r\n var t = d[e];\r\n if (t) {\r\n p = !0;\r\n try {\r\n !(function (e) {\r\n var t = e.callback,\r\n n = e.args;\r\n switch (n.length) {\r\n case 0:\r\n t();\r\n break;\r\n case 1:\r\n t(n[0]);\r\n break;\r\n case 2:\r\n t(n[0], n[1]);\r\n break;\r\n case 3:\r\n t(n[0], n[1], n[2]);\r\n break;\r\n default:\r\n t.apply(a, n);\r\n }\r\n })(t);\r\n } finally {\r\n y(e), (p = !1);\r\n }\r\n }\r\n }\r\n }\r\n })(\"undefined\" == typeof self ? (void 0 === e ? this : e) : self);\r\n }.call(this, a(4), a(5)));\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0),\r\n o = a(6),\r\n r = a(42),\r\n i = a(12);\r\n function l(e) {\r\n var t = new r(e),\r\n a = o(r.prototype.request, t);\r\n return n.extend(a, r.prototype, t), n.extend(a, t), a;\r\n }\r\n var s = l(a(9));\r\n (s.Axios = r),\r\n (s.create = function (e) {\r\n return l(i(s.defaults, e));\r\n }),\r\n (s.Cancel = a(13)),\r\n (s.CancelToken = a(55)),\r\n (s.isCancel = a(8)),\r\n (s.all = function (e) {\r\n return Promise.all(e);\r\n }),\r\n (s.spread = a(56)),\r\n (e.exports = s),\r\n (e.exports.default = s);\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0),\r\n o = a(7),\r\n r = a(43),\r\n i = a(44),\r\n l = a(12);\r\n function s(e) {\r\n (this.defaults = e), (this.interceptors = { request: new r(), response: new r() });\r\n }\r\n (s.prototype.request = function (e) {\r\n \"string\" == typeof e ? ((e = arguments[1] || {}).url = arguments[0]) : (e = e || {}),\r\n (e = l(this.defaults, e)).method ? (e.method = e.method.toLowerCase()) : this.defaults.method ? (e.method = this.defaults.method.toLowerCase()) : (e.method = \"get\");\r\n var t = [i, void 0],\r\n a = Promise.resolve(e);\r\n for (\r\n this.interceptors.request.forEach(function (e) {\r\n t.unshift(e.fulfilled, e.rejected);\r\n }),\r\n this.interceptors.response.forEach(function (e) {\r\n t.push(e.fulfilled, e.rejected);\r\n });\r\n t.length;\r\n\r\n )\r\n a = a.then(t.shift(), t.shift());\r\n return a;\r\n }),\r\n (s.prototype.getUri = function (e) {\r\n return (e = l(this.defaults, e)), o(e.url, e.params, e.paramsSerializer).replace(/^\\?/, \"\");\r\n }),\r\n n.forEach([\"delete\", \"get\", \"head\", \"options\"], function (e) {\r\n s.prototype[e] = function (t, a) {\r\n return this.request(n.merge(a || {}, { method: e, url: t }));\r\n };\r\n }),\r\n n.forEach([\"post\", \"put\", \"patch\"], function (e) {\r\n s.prototype[e] = function (t, a, o) {\r\n return this.request(n.merge(o || {}, { method: e, url: t, data: a }));\r\n };\r\n }),\r\n (e.exports = s);\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0);\r\n function o() {\r\n this.handlers = [];\r\n }\r\n (o.prototype.use = function (e, t) {\r\n return this.handlers.push({ fulfilled: e, rejected: t }), this.handlers.length - 1;\r\n }),\r\n (o.prototype.eject = function (e) {\r\n this.handlers[e] && (this.handlers[e] = null);\r\n }),\r\n (o.prototype.forEach = function (e) {\r\n n.forEach(this.handlers, function (t) {\r\n null !== t && e(t);\r\n });\r\n }),\r\n (e.exports = o);\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0),\r\n o = a(45),\r\n r = a(8),\r\n i = a(9);\r\n function l(e) {\r\n e.cancelToken && e.cancelToken.throwIfRequested();\r\n }\r\n e.exports = function (e) {\r\n return (\r\n l(e),\r\n (e.headers = e.headers || {}),\r\n (e.data = o(e.data, e.headers, e.transformRequest)),\r\n (e.headers = n.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers)),\r\n n.forEach([\"delete\", \"get\", \"head\", \"post\", \"put\", \"patch\", \"common\"], function (t) {\r\n delete e.headers[t];\r\n }),\r\n (e.adapter || i.adapter)(e).then(\r\n function (t) {\r\n return l(e), (t.data = o(t.data, t.headers, e.transformResponse)), t;\r\n },\r\n function (t) {\r\n return r(t) || (l(e), t && t.response && (t.response.data = o(t.response.data, t.response.headers, e.transformResponse))), Promise.reject(t);\r\n }\r\n )\r\n );\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0);\r\n e.exports = function (e, t, a) {\r\n return (\r\n n.forEach(a, function (a) {\r\n e = a(e, t);\r\n }),\r\n e\r\n );\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0);\r\n e.exports = function (e, t) {\r\n n.forEach(e, function (a, n) {\r\n n !== t && n.toUpperCase() === t.toUpperCase() && ((e[t] = a), delete e[n]);\r\n });\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(11);\r\n e.exports = function (e, t, a) {\r\n var o = a.config.validateStatus;\r\n !o || o(a.status) ? e(a) : t(n(\"Request failed with status code \" + a.status, a.config, null, a.request, a));\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n e.exports = function (e, t, a, n, o) {\r\n return (\r\n (e.config = t),\r\n a && (e.code = a),\r\n (e.request = n),\r\n (e.response = o),\r\n (e.isAxiosError = !0),\r\n (e.toJSON = function () {\r\n return {\r\n message: this.message,\r\n name: this.name,\r\n description: this.description,\r\n number: this.number,\r\n fileName: this.fileName,\r\n lineNumber: this.lineNumber,\r\n columnNumber: this.columnNumber,\r\n stack: this.stack,\r\n config: this.config,\r\n code: this.code,\r\n };\r\n }),\r\n e\r\n );\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(50),\r\n o = a(51);\r\n e.exports = function (e, t) {\r\n return e && !n(t) ? o(e, t) : t;\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n e.exports = function (e) {\r\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(e);\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n e.exports = function (e, t) {\r\n return t ? e.replace(/\\/+$/, \"\") + \"/\" + t.replace(/^\\/+/, \"\") : e;\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0),\r\n o = [\r\n \"age\",\r\n \"authorization\",\r\n \"content-length\",\r\n \"content-type\",\r\n \"etag\",\r\n \"expires\",\r\n \"from\",\r\n \"host\",\r\n \"if-modified-since\",\r\n \"if-unmodified-since\",\r\n \"last-modified\",\r\n \"location\",\r\n \"max-forwards\",\r\n \"proxy-authorization\",\r\n \"referer\",\r\n \"retry-after\",\r\n \"user-agent\",\r\n ];\r\n e.exports = function (e) {\r\n var t,\r\n a,\r\n r,\r\n i = {};\r\n return e\r\n ? (n.forEach(e.split(\"\\n\"), function (e) {\r\n if (((r = e.indexOf(\":\")), (t = n.trim(e.substr(0, r)).toLowerCase()), (a = n.trim(e.substr(r + 1))), t)) {\r\n if (i[t] && o.indexOf(t) >= 0) return;\r\n i[t] = \"set-cookie\" === t ? (i[t] ? i[t] : []).concat([a]) : i[t] ? i[t] + \", \" + a : a;\r\n }\r\n }),\r\n i)\r\n : i;\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0);\r\n e.exports = n.isStandardBrowserEnv()\r\n ? (function () {\r\n var e,\r\n t = /(msie|trident)/i.test(navigator.userAgent),\r\n a = document.createElement(\"a\");\r\n function o(e) {\r\n var n = e;\r\n return (\r\n t && (a.setAttribute(\"href\", n), (n = a.href)),\r\n a.setAttribute(\"href\", n),\r\n {\r\n href: a.href,\r\n protocol: a.protocol ? a.protocol.replace(/:$/, \"\") : \"\",\r\n host: a.host,\r\n search: a.search ? a.search.replace(/^\\?/, \"\") : \"\",\r\n hash: a.hash ? a.hash.replace(/^#/, \"\") : \"\",\r\n hostname: a.hostname,\r\n port: a.port,\r\n pathname: \"/\" === a.pathname.charAt(0) ? a.pathname : \"/\" + a.pathname,\r\n }\r\n );\r\n }\r\n return (\r\n (e = o(window.location.href)),\r\n function (t) {\r\n var a = n.isString(t) ? o(t) : t;\r\n return a.protocol === e.protocol && a.host === e.host;\r\n }\r\n );\r\n })()\r\n : function () {\r\n return !0;\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(0);\r\n e.exports = n.isStandardBrowserEnv()\r\n ? {\r\n write: function (e, t, a, o, r, i) {\r\n var l = [];\r\n l.push(e + \"=\" + encodeURIComponent(t)),\r\n n.isNumber(a) && l.push(\"expires=\" + new Date(a).toGMTString()),\r\n n.isString(o) && l.push(\"path=\" + o),\r\n n.isString(r) && l.push(\"domain=\" + r),\r\n !0 === i && l.push(\"secure\"),\r\n (document.cookie = l.join(\"; \"));\r\n },\r\n read: function (e) {\r\n var t = document.cookie.match(new RegExp(\"(^|;\\\\s*)(\" + e + \")=([^;]*)\"));\r\n return t ? decodeURIComponent(t[3]) : null;\r\n },\r\n remove: function (e) {\r\n this.write(e, \"\", Date.now() - 864e5);\r\n },\r\n }\r\n : {\r\n write: function () {},\r\n read: function () {\r\n return null;\r\n },\r\n remove: function () {},\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n var n = a(13);\r\n function o(e) {\r\n if (\"function\" != typeof e) throw new TypeError(\"executor must be a function.\");\r\n var t;\r\n this.promise = new Promise(function (e) {\r\n t = e;\r\n });\r\n var a = this;\r\n e(function (e) {\r\n a.reason || ((a.reason = new n(e)), t(a.reason));\r\n });\r\n }\r\n (o.prototype.throwIfRequested = function () {\r\n if (this.reason) throw this.reason;\r\n }),\r\n (o.source = function () {\r\n var e;\r\n return {\r\n token: new o(function (t) {\r\n e = t;\r\n }),\r\n cancel: e,\r\n };\r\n }),\r\n (e.exports = o);\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n e.exports = function (e) {\r\n return function (t) {\r\n return e.apply(null, t);\r\n };\r\n };\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n (function (t) {\r\n var a = \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : void 0 !== t ? t : {},\r\n n = Object.create(a),\r\n o = /[\"&'<>]/;\r\n (n.$escape = function (e) {\r\n return (function (e) {\r\n var t = \"\" + e,\r\n a = o.exec(t);\r\n if (!a) return e;\r\n var n = \"\",\r\n r = void 0,\r\n i = void 0,\r\n l = void 0;\r\n for (r = a.index, i = 0; r < t.length; r++) {\r\n switch (t.charCodeAt(r)) {\r\n case 34:\r\n l = \""\";\r\n break;\r\n case 38:\r\n l = \"&\";\r\n break;\r\n case 39:\r\n l = \"'\";\r\n break;\r\n case 60:\r\n l = \"<\";\r\n break;\r\n case 62:\r\n l = \">\";\r\n break;\r\n default:\r\n continue;\r\n }\r\n i !== r && (n += t.substring(i, r)), (i = r + 1), (n += l);\r\n }\r\n return i !== r ? n + t.substring(i, r) : n;\r\n })(\r\n (function e(t) {\r\n \"string\" != typeof t && (t = null == t ? \"\" : \"function\" == typeof t ? e(t.call(t)) : JSON.stringify(t));\r\n return t;\r\n })(e)\r\n );\r\n }),\r\n (n.$each = function (e, t) {\r\n if (Array.isArray(e)) for (var a = 0, n = e.length; a < n; a++) t(e[a], a);\r\n else for (var o in e) t(e[o], o);\r\n }),\r\n (e.exports = n);\r\n }.call(this, a(4)));\r\n },\r\n function (e, t, a) {\r\n \"use strict\";\r\n a.r(t);\r\n a(35);\r\n var n = a(15),\r\n o = /mobile/i.test(window.navigator.userAgent),\r\n r = {\r\n secondToTime: function (e) {\r\n if (0 === (e = e || 0) || e === 1 / 0 || \"NaN\" === e.toString()) return \"00:00\";\r\n var t = Math.floor(e / 3600),\r\n a = Math.floor((e - 3600 * t) / 60),\r\n n = Math.floor(e - 3600 * t - 60 * a);\r\n return (t > 0 ? [t, a, n] : [a, n])\r\n .map(function (e) {\r\n return e < 10 ? \"0\" + e : \"\" + e;\r\n })\r\n .join(\":\");\r\n },\r\n getElementViewLeft: function (e) {\r\n var t = e.offsetLeft,\r\n a = e.offsetParent,\r\n n = document.body.scrollLeft + document.documentElement.scrollLeft;\r\n if (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement) for (; null !== a && a !== e; ) (t += a.offsetLeft), (a = a.offsetParent);\r\n else for (; null !== a; ) (t += a.offsetLeft), (a = a.offsetParent);\r\n return t - n;\r\n },\r\n getBoundingClientRectViewLeft: function (e) {\r\n var t = window.scrollY || window.pageYOffset || document.body.scrollTop + ((document.documentElement && document.documentElement.scrollTop) || 0);\r\n if (e.getBoundingClientRect) {\r\n if (\"number\" != typeof this.getBoundingClientRectViewLeft.offset) {\r\n var a = document.createElement(\"div\");\r\n (a.style.cssText = \"position:absolute;top:0;left:0;\"), document.body.appendChild(a), (this.getBoundingClientRectViewLeft.offset = -a.getBoundingClientRect().top - t), document.body.removeChild(a), (a = null);\r\n }\r\n var n = e.getBoundingClientRect(),\r\n o = this.getBoundingClientRectViewLeft.offset;\r\n return n.left + o;\r\n }\r\n return this.getElementViewLeft(e);\r\n },\r\n getScrollPosition: function () {\r\n return { left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0, top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0 };\r\n },\r\n setScrollPosition: function (e) {\r\n var t = e.left,\r\n a = void 0 === t ? 0 : t,\r\n n = e.top,\r\n o = void 0 === n ? 0 : n;\r\n this.isFirefox ? ((document.documentElement.scrollLeft = a), (document.documentElement.scrollTop = o)) : window.scrollTo(a, o);\r\n },\r\n isMobile: o,\r\n isSafari: /Safari/i.test(window.navigator.userAgent),\r\n isFirefox: /firefox/i.test(window.navigator.userAgent),\r\n isChrome: /chrome/i.test(window.navigator.userAgent),\r\n storage: {\r\n set: function (e, t) {\r\n localStorage.setItem(e, t);\r\n },\r\n get: function (e) {\r\n return localStorage.getItem(e);\r\n },\r\n },\r\n nameMap: { dragStart: o ? \"touchstart\" : \"mousedown\", dragMove: o ? \"touchmove\" : \"mousemove\", dragEnd: o ? \"touchend\" : \"mouseup\" },\r\n color2Number: function (e) {\r\n return \"#\" === e[0] && (e = e.substr(1)), 3 === e.length && (e = \"\".concat(e[0]).concat(e[0]).concat(e[1]).concat(e[1]).concat(e[2]).concat(e[2])), (parseInt(e, 16) + 0) & 16777215;\r\n },\r\n number2Color: function (e) {\r\n return \"#\" + (\"00000\" + e.toString(16)).slice(-6);\r\n },\r\n number2Type: function (e) {\r\n switch (e) {\r\n case 0:\r\n return \"right\";\r\n case 1:\r\n return \"top\";\r\n case 2:\r\n return \"bottom\";\r\n default:\r\n return \"right\";\r\n }\r\n },\r\n },\r\n i = a(2),\r\n l = a.n(i),\r\n s = {\r\n send: function (e) {\r\n l.a\r\n .post(e.url, e.data)\r\n .then(function (t) {\r\n var a = t.data;\r\n a && 0 === a.code ? e.success && e.success(a) : e.error && e.error(a && a.msg);\r\n })\r\n .catch(function (t) {\r\n console.error(t), e.error && e.error();\r\n });\r\n },\r\n read: function (e) {\r\n l.a\r\n .get(e.url)\r\n .then(function (t) {\r\n var a = t.data;\r\n a && 0 === a.code\r\n ? e.success &&\r\n e.success(\r\n a.data.map(function (e) {\r\n return { time: e[0], type: e[1], color: e[2], author: e[3], text: e[4] };\r\n })\r\n )\r\n : e.error && e.error(a && a.msg);\r\n })\r\n .catch(function (t) {\r\n console.error(t), e.error && e.error();\r\n });\r\n },\r\n };\r\n function d(e) {\r\n return (d =\r\n \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator\r\n ? function (e) {\r\n return typeof e;\r\n }\r\n : function (e) {\r\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\r\n })(e);\r\n }\r\n var p = function (e) {\r\n var t = {\r\n container: e.element || document.getElementsByClassName(\"dplayer\")[0],\r\n live: !1,\r\n autoplay: 1,\r\n theme: \"#b7daff\",\r\n loop: !1,\r\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\r\n screenshot: !1,\r\n airplay: !0,\r\n hotkey: !0,\r\n preload: \"metadata\",\r\n volume: 0.7,\r\n playbackSpeed: [0.5, 0.75, 1, 1.25, 1.5, 2],\r\n apiBackend: s,\r\n video: {},\r\n contextmenu: [],\r\n mutex: !0,\r\n pluginOptions: { hls: {}, flv: {}, dash: {}, webtorrent: {} },\r\n };\r\n for (var a in t) t.hasOwnProperty(a) && !e.hasOwnProperty(a) && (e[a] = t[a]);\r\n return (\r\n e.video && !e.video.type && (e.video.type = \"auto\"),\r\n \"object\" === d(e.danmaku) && e.danmaku && !e.danmaku.user && (e.danmaku.user = \"DIYgod\"),\r\n e.subtitle &&\r\n (!e.subtitle.type && (e.subtitle.type = \"webvtt\"), !e.subtitle.fontSize && (e.subtitle.fontSize = \"20px\"), !e.subtitle.bottom && (e.subtitle.bottom = \"40px\"), !e.subtitle.color && (e.subtitle.color = \"#fff\")),\r\n e.video.quality && (e.video.url = e.video.quality[e.video.defaultQuality].url),\r\n e.lang && (e.lang = e.lang.toLowerCase()),\r\n /*(e.contextmenu = e.contextmenu.concat([\r\n {\r\n text: \"Video info\",\r\n click: function (e) {\r\n e.infoPanel.triggle();\r\n },\r\n },\r\n { text: \"About author\", link: \"https://diygod.me\" },\r\n { text: \"DPlayer v\".concat(\"1.26.0\"), link: \"https://github.com/MoePlayer/DPlayer\" },\r\n ])),*/\r\n e\r\n );\r\n };\r\n var c = {\r\n \"zh-cn\": {\r\n \"Danmaku is loading\": \"å¼¹å¹•åŠ č½½äø­\",\r\n Top: \"锶éƒØ\",\r\n Bottom: \"åŗ•éƒØ\",\r\n Rolling: \"껚åŠØ\",\r\n \"Input danmaku, hit Enter\": \"č¾“å…„å¼¹å¹•ļ¼Œå›žč½¦å‘送\",\r\n \"About author\": \"关äŗŽä½œč€…\",\r\n \"DPlayer feedback\": \"ę’­ę”¾å™Øę„č§åé¦ˆ\",\r\n \"About DPlayer\": \"关äŗŽ DPlayer ę’­ę”¾å™Ø\",\r\n Loop: \"ę“—č„‘å¾ŖēŽÆ\",\r\n Speed: \"速åŗ¦\",\r\n \"Opacity for danmaku\": \"å¼¹å¹•é€ę˜Žåŗ¦\",\r\n Normal: \"ę­£åøø\",\r\n \"Please input danmaku content!\": \"č¦č¾“å…„å¼¹å¹•å†…å®¹å•Šå–‚ļ¼\",\r\n \"Set danmaku color\": \"č®¾ē½®å¼¹å¹•é¢œč‰²\",\r\n \"Set danmaku type\": \"č®¾ē½®å¼¹å¹•ē±»åž‹\",\r\n \"Show danmaku\": \"ę˜¾ē¤ŗ弹幕\",\r\n \"Video load failed\": \"č§†é¢‘åŠ č½½å¤±č“„\",\r\n \"Danmaku load failed\": \"å¼¹å¹•åŠ č½½å¤±č“„\",\r\n \"Danmaku send failed\": \"å¼¹å¹•å‘é€å¤±č“„\",\r\n \"Switching to\": \"ę­£åœØåˆ‡ę¢č‡³\",\r\n \"Switched to\": \"å·²ē»åˆ‡ę¢č‡³\",\r\n quality: \"ē”»č“Ø\",\r\n FF: \"åæ«čæ›\",\r\n REW: \"åæ«é€€\",\r\n \"Unlimited danmaku\": \"ęµ·é‡å¼¹å¹•\",\r\n \"Send danmaku\": \"发送弹幕\",\r\n Setting: \"č®¾ē½®\",\r\n \"Full screen\": \"å…Ø屏\",\r\n \"Web full screen\": \"锵面å…Ø屏\",\r\n Send: \"发送\",\r\n Screenshot: \"ęˆŖ图\",\r\n AirPlay: \"ꗠēŗæęŠ•å±\",\r\n s: \"ē§’\",\r\n \"Show subtitle\": \"ę˜¾ē¤ŗ字幕\",\r\n \"Hide subtitle\": \"éšč—å­—å¹•\",\r\n Volume: \"音量\",\r\n Live: \"ē›“꒭\",\r\n \"Video info\": \"č§†é¢‘ē»Ÿč®”äæ”ęÆ\",\r\n },\r\n \"zh-tw\": {\r\n \"Danmaku is loading\": \"å½ˆå¹•č¼‰å…„äø­\",\r\n Top: \"頂éƒØ\",\r\n Bottom: \"åŗ•éƒØ\",\r\n Rolling: \"ę»¾å‹•\",\r\n \"Input danmaku, hit Enter\": \"č¼ø兄彈幕ļ¼ŒEnter ē™¼é€\",\r\n \"About author\": \"é—œę–¼ä½œč€…\",\r\n \"DPlayer feedback\": \"ę’­ę”¾å™Øę„č¦‹å›žé„‹\",\r\n \"About DPlayer\": \"é—œę–¼ DPlayer ę’­ę”¾å™Ø\",\r\n Loop: \"å¾Ŗē’°ę’­ę”¾\",\r\n Speed: \"速åŗ¦\",\r\n \"Opacity for danmaku\": \"å½ˆå¹•é€ę˜Žåŗ¦\",\r\n Normal: \"ę­£åøø\",\r\n \"Please input danmaku content!\": \"č«‹č¼ø兄彈幕內容啊ļ¼\",\r\n \"Set danmaku color\": \"čØ­å®šå½ˆå¹•é”č‰²\",\r\n \"Set danmaku type\": \"čح定彈幕锞型\",\r\n \"Show danmaku\": \"é”Æē¤ŗ彈幕\",\r\n \"Video load failed\": \"å½±ē‰‡č¼‰å…„å¤±ę•—\",\r\n \"Danmaku load failed\": \"å½ˆå¹•č¼‰å…„å¤±ę•—\",\r\n \"Danmaku send failed\": \"彈幕ē™¼é€å¤±ę•—\",\r\n \"Switching to\": \"ę­£åœØåˆ‡ę›č‡³\",\r\n \"Switched to\": \"å·²ē¶“åˆ‡ę›č‡³\",\r\n quality: \"ē•«č³Ŗ\",\r\n FF: \"åæ«é€²\",\r\n REW: \"åæ«é€€\",\r\n \"Unlimited danmaku\": \"å·Ø量彈幕\",\r\n \"Send danmaku\": \"ē™¼é€å½ˆå¹•\",\r\n Setting: \"čح定\",\r\n \"Full screen\": \"å…Øčž¢å¹•\",\r\n \"Web full screen\": \"頁面å…Øčž¢å¹•\",\r\n Send: \"ē™¼é€\",\r\n Screenshot: \"ęˆŖ圖\",\r\n AirPlay: \"ē„”ē·šęŠ•å±\",\r\n s: \"ē§’\",\r\n \"Show subtitle\": \"é”Æē¤ŗ字幕\",\r\n \"Hide subtitle\": \"éš±č—å­—å¹•\",\r\n Volume: \"音量\",\r\n Live: \"ē›“꒭\",\r\n \"Video info\": \"å½±ē‰‡ēµ±č؈č؊ęÆ\",\r\n },\r\n },\r\n u = function (e) {\r\n var t = this;\r\n (this.lang = e),\r\n (this.tran = function (e) {\r\n return c[t.lang] && c[t.lang][e] ? c[t.lang][e] : e;\r\n });\r\n },\r\n y = a(17),\r\n h = a.n(y),\r\n m = a(18),\r\n f = a.n(m),\r\n v = a(19),\r\n b = a.n(v),\r\n g = a(20),\r\n w = a.n(g),\r\n x = a(21),\r\n k = a.n(x),\r\n S = a(22),\r\n T = a.n(S),\r\n L = a(23),\r\n E = a.n(L),\r\n q = a(24),\r\n B = a.n(q),\r\n M = a(25),\r\n z = a.n(M),\r\n C = a(26),\r\n A = a.n(C),\r\n O = a(27),\r\n P = a.n(O),\r\n j = a(28),\r\n F = a.n(j),\r\n _ = a(29),\r\n Y = a.n(_),\r\n D = a(30),\r\n R = a.n(D),\r\n I = a(31),\r\n H = a.n(I),\r\n W = a(32),\r\n N = a.n(W),\r\n U = a(33),\r\n V = a.n(U),\r\n X = {\r\n play: h.a,\r\n pause: f.a,\r\n volumeUp: b.a,\r\n volumeDown: w.a,\r\n volumeOff: k.a,\r\n full: T.a,\r\n fullWeb: E.a,\r\n setting: B.a,\r\n right: z.a,\r\n comment: A.a,\r\n commentOff: P.a,\r\n send: F.a,\r\n pallette: Y.a,\r\n camera: R.a,\r\n subtitle: N.a,\r\n loading: V.a,\r\n airplay: H.a,\r\n },\r\n Q = a(34),\r\n $ = a.n(Q);\r\n function J(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var K = (function () {\r\n function e(t) {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.container = t.container),\r\n (this.options = t.options),\r\n (this.index = t.index),\r\n (this.tran = t.tran),\r\n this.init();\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"init\",\r\n value: function () {\r\n (this.container.innerHTML = $()({\r\n options: this.options,\r\n index: this.index,\r\n tran: this.tran,\r\n icons: X,\r\n mobile: r.isMobile,\r\n video: {\r\n current: !0,\r\n pic: this.options.video.pic,\r\n screenshot: this.options.screenshot,\r\n airplay: this.options.airplay,\r\n preload: this.options.preload,\r\n url: this.options.video.url,\r\n subtitle: this.options.subtitle,\r\n },\r\n })),\r\n (this.volumeBar = this.container.querySelector(\".dplayer-volume-bar-inner\")),\r\n (this.volumeBarWrap = this.container.querySelector(\".dplayer-volume-bar\")),\r\n (this.volumeBarWrapWrap = this.container.querySelector(\".dplayer-volume-bar-wrap\")),\r\n (this.volumeButton = this.container.querySelector(\".dplayer-volume\")),\r\n (this.volumeButtonIcon = this.container.querySelector(\".dplayer-volume-icon\")),\r\n (this.volumeIcon = this.container.querySelector(\".dplayer-volume-icon .dplayer-icon-content\")),\r\n (this.playedBar = this.container.querySelector(\".dplayer-played\")),\r\n (this.loadedBar = this.container.querySelector(\".dplayer-loaded\")),\r\n (this.playedBarWrap = this.container.querySelector(\".dplayer-bar-wrap\")),\r\n (this.playedBarTime = this.container.querySelector(\".dplayer-bar-time\")),\r\n (this.danmaku = this.container.querySelector(\".dplayer-danmaku\")),\r\n (this.danmakuLoading = this.container.querySelector(\".dplayer-danloading\")),\r\n (this.video = this.container.querySelector(\".dplayer-video-current\")),\r\n (this.bezel = this.container.querySelector(\".dplayer-bezel-icon\")),\r\n (this.playButton = this.container.querySelector(\".dplayer-play-icon\")),\r\n (this.mobilePlayButton = this.container.querySelector(\".dplayer-mobile-play\")),\r\n (this.videoWrap = this.container.querySelector(\".dplayer-video-wrap\")),\r\n (this.controllerMask = this.container.querySelector(\".dplayer-controller-mask\")),\r\n (this.ptime = this.container.querySelector(\".dplayer-ptime\")),\r\n (this.settingButton = this.container.querySelector(\".dplayer-setting-icon\")),\r\n (this.settingBox = this.container.querySelector(\".dplayer-setting-box\")),\r\n (this.mask = this.container.querySelector(\".dplayer-mask\")),\r\n (this.loop = this.container.querySelector(\".dplayer-setting-loop\")),\r\n (this.loopToggle = this.container.querySelector(\".dplayer-setting-loop .dplayer-toggle-setting-input\")),\r\n (this.showDanmaku = this.container.querySelector(\".dplayer-setting-showdan\")),\r\n (this.showDanmakuToggle = this.container.querySelector(\".dplayer-showdan-setting-input\")),\r\n (this.unlimitDanmaku = this.container.querySelector(\".dplayer-setting-danunlimit\")),\r\n (this.unlimitDanmakuToggle = this.container.querySelector(\".dplayer-danunlimit-setting-input\")),\r\n (this.speed = this.container.querySelector(\".dplayer-setting-speed\")),\r\n (this.speedItem = this.container.querySelectorAll(\".dplayer-setting-speed-item\")),\r\n (this.danmakuOpacityBar = this.container.querySelector(\".dplayer-danmaku-bar-inner\")),\r\n (this.danmakuOpacityBarWrap = this.container.querySelector(\".dplayer-danmaku-bar\")),\r\n (this.danmakuOpacityBarWrapWrap = this.container.querySelector(\".dplayer-danmaku-bar-wrap\")),\r\n (this.danmakuOpacityBox = this.container.querySelector(\".dplayer-setting-danmaku\")),\r\n (this.dtime = this.container.querySelector(\".dplayer-dtime\")),\r\n (this.controller = this.container.querySelector(\".dplayer-controller\")),\r\n (this.commentInput = this.container.querySelector(\".dplayer-comment-input\")),\r\n (this.commentButton = this.container.querySelector(\".dplayer-comment-icon\")),\r\n (this.commentSettingBox = this.container.querySelector(\".dplayer-comment-setting-box\")),\r\n (this.commentSettingButton = this.container.querySelector(\".dplayer-comment-setting-icon\")),\r\n (this.commentSettingFill = this.container.querySelector(\".dplayer-comment-setting-icon path\")),\r\n (this.commentSendButton = this.container.querySelector(\".dplayer-send-icon\")),\r\n (this.commentSendFill = this.container.querySelector(\".dplayer-send-icon path\")),\r\n (this.commentColorSettingBox = this.container.querySelector(\".dplayer-comment-setting-color\")),\r\n (this.browserFullButton = this.container.querySelector(\".dplayer-full-icon\")),\r\n (this.webFullButton = this.container.querySelector(\".dplayer-full-in-icon\")),\r\n (this.menu = this.container.querySelector(\".dplayer-menu\")),\r\n (this.menuItem = this.container.querySelectorAll(\".dplayer-menu-item\")),\r\n (this.qualityList = this.container.querySelector(\".dplayer-quality-list\")),\r\n (this.camareButton = this.container.querySelector(\".dplayer-camera-icon\")),\r\n (this.airplayButton = this.container.querySelector(\".dplayer-airplay-icon\")),\r\n (this.subtitleButton = this.container.querySelector(\".dplayer-subtitle-icon\")),\r\n (this.subtitleButtonInner = this.container.querySelector(\".dplayer-subtitle-icon .dplayer-icon-content\")),\r\n (this.subtitle = this.container.querySelector(\".dplayer-subtitle\")),\r\n (this.qualityButton = this.container.querySelector(\".dplayer-quality-icon\")),\r\n (this.barPreview = this.container.querySelector(\".dplayer-bar-preview\")),\r\n (this.barWrap = this.container.querySelector(\".dplayer-bar-wrap\")),\r\n (this.notice = this.container.querySelector(\".dplayer-notice\")),\r\n (this.infoPanel = this.container.querySelector(\".dplayer-info-panel\")),\r\n (this.infoPanelClose = this.container.querySelector(\".dplayer-info-panel-close\")),\r\n (this.infoVersion = this.container.querySelector(\".dplayer-info-panel-item-version .dplayer-info-panel-item-data\")),\r\n (this.infoFPS = this.container.querySelector(\".dplayer-info-panel-item-fps .dplayer-info-panel-item-data\")),\r\n (this.infoType = this.container.querySelector(\".dplayer-info-panel-item-type .dplayer-info-panel-item-data\")),\r\n (this.infoUrl = this.container.querySelector(\".dplayer-info-panel-item-url .dplayer-info-panel-item-data\")),\r\n (this.infoResolution = this.container.querySelector(\".dplayer-info-panel-item-resolution .dplayer-info-panel-item-data\")),\r\n (this.infoDuration = this.container.querySelector(\".dplayer-info-panel-item-duration .dplayer-info-panel-item-data\")),\r\n (this.infoDanmakuId = this.container.querySelector(\".dplayer-info-panel-item-danmaku-id .dplayer-info-panel-item-data\")),\r\n (this.infoDanmakuApi = this.container.querySelector(\".dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data\")),\r\n (this.infoDanmakuAmount = this.container.querySelector(\".dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data\"));\r\n },\r\n },\r\n ]) && J(t.prototype, a),\r\n n && J(t, n),\r\n e\r\n );\r\n })();\r\n function Z(e) {\r\n return (Z =\r\n \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator\r\n ? function (e) {\r\n return typeof e;\r\n }\r\n : function (e) {\r\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\r\n })(e);\r\n }\r\n function G(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var ee = (function () {\r\n function e(t) {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.options = t),\r\n (this.container = this.options.container),\r\n (this.danTunnel = { right: {}, top: {}, bottom: {} }),\r\n (this.danIndex = 0),\r\n (this.dan = []),\r\n (this.showing = !0),\r\n (this._opacity = this.options.opacity),\r\n (this.events = this.options.events),\r\n (this.unlimited = this.options.unlimited),\r\n this._measure(\"\"),\r\n this.load();\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"load\",\r\n value: function () {\r\n var e,\r\n t = this;\r\n e = this.options.api.maximum\r\n ? \"\".concat(this.options.api.address, \"v3/?id=\").concat(this.options.api.id, \"&max=\").concat(this.options.api.maximum)\r\n : \"\".concat(this.options.api.address, \"v3/?id=\").concat(this.options.api.id);\r\n var a = (this.options.api.addition || []).slice(0);\r\n a.push(e),\r\n this.events && this.events.trigger(\"danmaku_load_start\", a),\r\n this._readAllEndpoints(a, function (e) {\r\n (t.dan = [].concat.apply([], e).sort(function (e, t) {\r\n return e.time - t.time;\r\n })),\r\n window.requestAnimationFrame(function () {\r\n t.frame();\r\n }),\r\n t.options.callback(),\r\n t.events && t.events.trigger(\"danmaku_load_end\");\r\n });\r\n },\r\n },\r\n {\r\n key: \"reload\",\r\n value: function (e) {\r\n (this.options.api = e), (this.dan = []), this.clear(), this.load();\r\n },\r\n },\r\n {\r\n key: \"_readAllEndpoints\",\r\n value: function (e, t) {\r\n for (\r\n var a = this,\r\n n = [],\r\n o = 0,\r\n r = function (r) {\r\n a.options.apiBackend.read({\r\n url: e[r],\r\n success: function (a) {\r\n (n[r] = a), ++o === e.length && t(n);\r\n },\r\n error: function (i) {\r\n a.options.error(i || a.options.tran(\"Danmaku load failed\")), (n[r] = []), ++o === e.length && t(n);\r\n },\r\n });\r\n },\r\n i = 0;\r\n i < e.length;\r\n ++i\r\n )\r\n r(i);\r\n },\r\n },\r\n {\r\n key: \"send\",\r\n value: function (e, t) {\r\n var a = this,\r\n n = { token: this.options.api.token, id: this.options.api.id, author: this.options.api.user, time: this.options.time(), text: e.text, color: e.color, type: e.type };\r\n this.options.apiBackend.send({\r\n url: this.options.api.address + \"v3/\",\r\n data: n,\r\n success: t,\r\n error: function (e) {\r\n a.options.error(e || a.options.tran(\"Danmaku send failed\"));\r\n },\r\n }),\r\n this.dan.splice(this.danIndex, 0, n),\r\n this.danIndex++;\r\n var o = { text: this.htmlEncode(n.text), color: n.color, type: n.type, border: \"2px solid \".concat(this.options.borderColor) };\r\n this.draw(o), this.events && this.events.trigger(\"danmaku_send\", n);\r\n },\r\n },\r\n {\r\n key: \"frame\",\r\n value: function () {\r\n var e = this;\r\n if (this.dan.length && !this.paused && this.showing) {\r\n for (var t = this.dan[this.danIndex], a = []; t && this.options.time() > parseFloat(t.time); ) a.push(t), (t = this.dan[++this.danIndex]);\r\n this.draw(a);\r\n }\r\n window.requestAnimationFrame(function () {\r\n e.frame();\r\n });\r\n },\r\n },\r\n {\r\n key: \"opacity\",\r\n value: function (e) {\r\n if (void 0 !== e) {\r\n for (var t = this.container.getElementsByClassName(\"dplayer-danmaku-item\"), a = 0; a < t.length; a++) t[a].style.opacity = e;\r\n (this._opacity = e), this.events && this.events.trigger(\"danmaku_opacity\", this._opacity);\r\n }\r\n return this._opacity;\r\n },\r\n },\r\n {\r\n key: \"draw\",\r\n value: function (e) {\r\n var t = this;\r\n if (this.showing) {\r\n var a = this.options.height,\r\n n = this.container.offsetWidth,\r\n o = this.container.offsetHeight,\r\n i = parseInt(o / a),\r\n l = function (e) {\r\n var a = e.offsetWidth || parseInt(e.style.width),\r\n n = e.getBoundingClientRect().right || t.container.getBoundingClientRect().right + a;\r\n return t.container.getBoundingClientRect().right - n;\r\n },\r\n s = function (e) {\r\n return (n + e) / 5;\r\n },\r\n d = function (e, a, o) {\r\n for (\r\n var r = n / s(o),\r\n d = function (o) {\r\n var d = t.danTunnel[a][o + \"\"];\r\n if (!d || !d.length)\r\n return (\r\n (t.danTunnel[a][o + \"\"] = [e]),\r\n e.addEventListener(\"animationend\", function () {\r\n t.danTunnel[a][o + \"\"].splice(0, 1);\r\n }),\r\n { v: o % i }\r\n );\r\n if (\"right\" !== a) return \"continue\";\r\n for (var p = 0; p < d.length; p++) {\r\n var c = l(d[p]) - 10;\r\n if (c <= n - r * s(parseInt(d[p].style.width)) || c <= 0) break;\r\n if (p === d.length - 1)\r\n return (\r\n t.danTunnel[a][o + \"\"].push(e),\r\n e.addEventListener(\"animationend\", function () {\r\n t.danTunnel[a][o + \"\"].splice(0, 1);\r\n }),\r\n { v: o % i }\r\n );\r\n }\r\n },\r\n p = 0;\r\n t.unlimited || p < i;\r\n p++\r\n ) {\r\n var c = d(p);\r\n switch (c) {\r\n case \"continue\":\r\n continue;\r\n default:\r\n if (\"object\" === Z(c)) return c.v;\r\n }\r\n }\r\n return -1;\r\n };\r\n \"[object Array]\" !== Object.prototype.toString.call(e) && (e = [e]);\r\n for (\r\n var p = document.createDocumentFragment(),\r\n c = function (o) {\r\n (e[o].type = r.number2Type(e[o].type)), e[o].color || (e[o].color = 16777215);\r\n var i = document.createElement(\"div\");\r\n i.classList.add(\"dplayer-danmaku-item\"),\r\n i.classList.add(\"dplayer-danmaku-\".concat(e[o].type)),\r\n e[o].border ? (i.innerHTML = '').concat(e[o].text, \"\")) : (i.innerHTML = e[o].text),\r\n (i.style.opacity = t._opacity),\r\n (i.style.color = r.number2Color(e[o].color)),\r\n i.addEventListener(\"animationend\", function () {\r\n t.container.removeChild(i);\r\n });\r\n var l = t._measure(e[o].text),\r\n s = void 0;\r\n switch (e[o].type) {\r\n case \"right\":\r\n (s = d(i, e[o].type, l)) >= 0 && ((i.style.width = l + 1 + \"px\"), (i.style.top = a * s + \"px\"), (i.style.transform = \"translateX(-\".concat(n, \"px)\")));\r\n break;\r\n case \"top\":\r\n (s = d(i, e[o].type)) >= 0 && (i.style.top = a * s + \"px\");\r\n break;\r\n case \"bottom\":\r\n (s = d(i, e[o].type)) >= 0 && (i.style.bottom = a * s + \"px\");\r\n break;\r\n default:\r\n console.error(\"Can't handled danmaku type: \".concat(e[o].type));\r\n }\r\n s >= 0 && (i.classList.add(\"dplayer-danmaku-move\"), p.appendChild(i));\r\n },\r\n u = 0;\r\n u < e.length;\r\n u++\r\n )\r\n c(u);\r\n return this.container.appendChild(p), p;\r\n }\r\n },\r\n },\r\n {\r\n key: \"play\",\r\n value: function () {\r\n this.paused = !1;\r\n },\r\n },\r\n {\r\n key: \"pause\",\r\n value: function () {\r\n this.paused = !0;\r\n },\r\n },\r\n {\r\n key: \"_measure\",\r\n value: function (e) {\r\n if (!this.context) {\r\n var t = getComputedStyle(this.container.getElementsByClassName(\"dplayer-danmaku-item\")[0], null);\r\n (this.context = document.createElement(\"canvas\").getContext(\"2d\")), (this.context.font = t.getPropertyValue(\"font\"));\r\n }\r\n return this.context.measureText(e).width;\r\n },\r\n },\r\n {\r\n key: \"seek\",\r\n value: function () {\r\n this.clear();\r\n for (var e = 0; e < this.dan.length; e++) {\r\n if (this.dan[e].time >= this.options.time()) {\r\n this.danIndex = e;\r\n break;\r\n }\r\n this.danIndex = this.dan.length;\r\n }\r\n },\r\n },\r\n {\r\n key: \"clear\",\r\n value: function () {\r\n (this.danTunnel = { right: {}, top: {}, bottom: {} }), (this.danIndex = 0), (this.options.container.innerHTML = \"\"), this.events && this.events.trigger(\"danmaku_clear\");\r\n },\r\n },\r\n {\r\n key: \"htmlEncode\",\r\n value: function (e) {\r\n return e.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/\\//g, \"/\");\r\n },\r\n },\r\n {\r\n key: \"resize\",\r\n value: function () {\r\n for (var e = this.container.offsetWidth, t = this.container.getElementsByClassName(\"dplayer-danmaku-item\"), a = 0; a < t.length; a++) t[a].style.transform = \"translateX(-\".concat(e, \"px)\");\r\n },\r\n },\r\n {\r\n key: \"hide\",\r\n value: function () {\r\n (this.showing = !1), this.pause(), this.clear(), this.events && this.events.trigger(\"danmaku_hide\");\r\n },\r\n },\r\n {\r\n key: \"show\",\r\n value: function () {\r\n this.seek(), (this.showing = !0), this.play(), this.events && this.events.trigger(\"danmaku_show\");\r\n },\r\n },\r\n {\r\n key: \"unlimit\",\r\n value: function (e) {\r\n this.unlimited = e;\r\n },\r\n },\r\n ]) && G(t.prototype, a),\r\n n && G(t, n),\r\n e\r\n );\r\n })();\r\n function te(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var ae = (function () {\r\n function e() {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.events = {}),\r\n (this.videoEvents = [\r\n \"abort\",\r\n \"canplay\",\r\n \"canplaythrough\",\r\n \"durationchange\",\r\n \"emptied\",\r\n \"ended\",\r\n \"error\",\r\n \"loadeddata\",\r\n \"loadedmetadata\",\r\n \"loadstart\",\r\n \"mozaudioavailable\",\r\n \"pause\",\r\n \"play\",\r\n \"playing\",\r\n \"progress\",\r\n \"ratechange\",\r\n \"seeked\",\r\n \"seeking\",\r\n \"stalled\",\r\n \"suspend\",\r\n \"timeupdate\",\r\n \"volumechange\",\r\n \"waiting\",\r\n ]),\r\n (this.playerEvents = [\r\n \"screenshot\",\r\n \"thumbnails_show\",\r\n \"thumbnails_hide\",\r\n \"danmaku_show\",\r\n \"danmaku_hide\",\r\n \"danmaku_clear\",\r\n \"danmaku_loaded\",\r\n \"danmaku_send\",\r\n \"danmaku_opacity\",\r\n \"contextmenu_show\",\r\n \"contextmenu_hide\",\r\n \"notice_show\",\r\n \"notice_hide\",\r\n \"quality_start\",\r\n \"quality_end\",\r\n \"destroy\",\r\n \"resize\",\r\n \"fullscreen\",\r\n \"fullscreen_cancel\",\r\n \"webfullscreen\",\r\n \"webfullscreen_cancel\",\r\n \"subtitle_show\",\r\n \"subtitle_hide\",\r\n \"subtitle_change\",\r\n ]);\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"on\",\r\n value: function (e, t) {\r\n this.type(e) && \"function\" == typeof t && (this.events[e] || (this.events[e] = []), this.events[e].push(t));\r\n },\r\n },\r\n {\r\n key: \"trigger\",\r\n value: function (e, t) {\r\n if (this.events[e] && this.events[e].length) for (var a = 0; a < this.events[e].length; a++) this.events[e][a](t);\r\n },\r\n },\r\n {\r\n key: \"type\",\r\n value: function (e) {\r\n return -1 !== this.playerEvents.indexOf(e) ? \"player\" : -1 !== this.videoEvents.indexOf(e) ? \"video\" : (console.error(\"Unknown event name: \".concat(e)), null);\r\n },\r\n },\r\n ]) && te(t.prototype, a),\r\n n && te(t, n),\r\n e\r\n );\r\n })();\r\n function ne(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var oe = (function () {\r\n function e(t) {\r\n var a = this;\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.player = t),\r\n (this.lastScrollPosition = { left: 0, top: 0 }),\r\n this.player.events.on(\"webfullscreen\", function () {\r\n a.player.resize();\r\n }),\r\n this.player.events.on(\"webfullscreen_cancel\", function () {\r\n a.player.resize(), r.setScrollPosition(a.lastScrollPosition);\r\n });\r\n var n = function () {\r\n a.player.resize(), a.isFullScreen(\"browser\") ? a.player.events.trigger(\"fullscreen\") : (r.setScrollPosition(a.lastScrollPosition), a.player.events.trigger(\"fullscreen_cancel\"));\r\n },\r\n o = function () {\r\n var e = document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\r\n (e && e !== a.player.container) || (a.player.resize(), e ? a.player.events.trigger(\"fullscreen\") : (r.setScrollPosition(a.lastScrollPosition), a.player.events.trigger(\"fullscreen_cancel\")));\r\n };\r\n /Firefox/.test(navigator.userAgent)\r\n ? (document.addEventListener(\"mozfullscreenchange\", o), document.addEventListener(\"fullscreenchange\", o))\r\n : (this.player.container.addEventListener(\"fullscreenchange\", n),\r\n this.player.container.addEventListener(\"webkitfullscreenchange\", n),\r\n document.addEventListener(\"msfullscreenchange\", o),\r\n document.addEventListener(\"MSFullscreenChange\", o));\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"isFullScreen\",\r\n value: function () {\r\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"browser\";\r\n switch (e) {\r\n case \"browser\":\r\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;\r\n case \"web\":\r\n return this.player.container.classList.contains(\"dplayer-fulled\");\r\n }\r\n },\r\n },\r\n {\r\n key: \"request\",\r\n value: function () {\r\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"browser\",\r\n t = \"browser\" === e ? \"web\" : \"browser\",\r\n a = this.isFullScreen(t);\r\n switch ((a || (this.lastScrollPosition = r.getScrollPosition()), e)) {\r\n case \"browser\":\r\n this.player.container.requestFullscreen\r\n ? this.player.container.requestFullscreen()\r\n : this.player.container.mozRequestFullScreen\r\n ? this.player.container.mozRequestFullScreen()\r\n : this.player.container.webkitRequestFullscreen\r\n ? this.player.container.webkitRequestFullscreen()\r\n : this.player.video.webkitEnterFullscreen\r\n ? this.player.video.webkitEnterFullscreen()\r\n : this.player.video.webkitEnterFullScreen\r\n ? this.player.video.webkitEnterFullScreen()\r\n : this.player.container.msRequestFullscreen && this.player.container.msRequestFullscreen();\r\n break;\r\n case \"web\":\r\n this.player.container.classList.add(\"dplayer-fulled\"), document.body.classList.add(\"dplayer-web-fullscreen-fix\"), this.player.events.trigger(\"webfullscreen\");\r\n }\r\n a && this.cancel(t);\r\n },\r\n },\r\n {\r\n key: \"cancel\",\r\n value: function () {\r\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"browser\";\r\n switch (e) {\r\n case \"browser\":\r\n document.cancelFullScreen\r\n ? document.cancelFullScreen()\r\n : document.mozCancelFullScreen\r\n ? document.mozCancelFullScreen()\r\n : document.webkitCancelFullScreen\r\n ? document.webkitCancelFullScreen()\r\n : document.webkitCancelFullscreen\r\n ? document.webkitCancelFullscreen()\r\n : document.msCancelFullScreen\r\n ? document.msCancelFullScreen()\r\n : document.msExitFullscreen && document.msExitFullscreen();\r\n break;\r\n case \"web\":\r\n this.player.container.classList.remove(\"dplayer-fulled\"), document.body.classList.remove(\"dplayer-web-fullscreen-fix\"), this.player.events.trigger(\"webfullscreen_cancel\");\r\n }\r\n },\r\n },\r\n {\r\n key: \"toggle\",\r\n value: function () {\r\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"browser\";\r\n this.isFullScreen(e) ? this.cancel(e) : this.request(e);\r\n },\r\n },\r\n ]) && ne(t.prototype, a),\r\n n && ne(t, n),\r\n e\r\n );\r\n })();\r\n function re(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var ie = (function () {\r\n function e(t) {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.storageName = { opacity: \"dplayer-danmaku-opacity\", volume: \"dplayer-volume\", unlimited: \"dplayer-danmaku-unlimited\", danmaku: \"dplayer-danmaku-show\", subtitle: \"dplayer-subtitle-show\" }),\r\n (this.default = { opacity: 0.0, volume: t.options.hasOwnProperty(\"volume\") ? t.options.volume : 0.0, unlimited: (t.options.danmaku && t.options.danmaku.unlimited ? 1 : 0) || 0, danmaku: 1, subtitle: 1 }),\r\n (this.data = {}),\r\n this.init();\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"init\",\r\n value: function () {\r\n for (var e in this.storageName) {\r\n var t = this.storageName[e];\r\n this.data[e] = parseFloat(r.storage.get(t) || this.default[e]);\r\n }\r\n },\r\n },\r\n {\r\n key: \"get\",\r\n value: function (e) {\r\n return this.data[e];\r\n },\r\n },\r\n {\r\n key: \"set\",\r\n value: function (e, t) {\r\n (this.data[e] = t), r.storage.set(this.storageName[e], t);\r\n },\r\n },\r\n ]) && re(t.prototype, a),\r\n n && re(t, n),\r\n e\r\n );\r\n })();\r\n function le(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var se = (function () {\r\n function e(t, a, n, o) {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.container = t),\r\n (this.video = a),\r\n (this.options = n),\r\n (this.events = o),\r\n this.init();\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"init\",\r\n value: function () {\r\n var e = this;\r\n if (\r\n ((this.container.style.fontSize = this.options.fontSize),\r\n (this.container.style.bottom = this.options.bottom),\r\n (this.container.style.color = this.options.color),\r\n this.video.textTracks && this.video.textTracks[0])\r\n ) {\r\n var t = this.video.textTracks[0];\r\n t.oncuechange = function () {\r\n var a = t.activeCues[0];\r\n if (((e.container.innerHTML = \"\"), a)) {\r\n var n = document.createElement(\"div\");\r\n n.appendChild(a.getCueAsHTML());\r\n var o = n.innerHTML\r\n .split(/\\r?\\n/)\r\n .map(function (e) {\r\n return \"

    \".concat(e, \"

    \");\r\n })\r\n .join(\"\");\r\n e.container.innerHTML = o;\r\n }\r\n e.events.trigger(\"subtitle_change\");\r\n };\r\n }\r\n },\r\n },\r\n {\r\n key: \"show\",\r\n value: function () {\r\n this.container.classList.remove(\"dplayer-subtitle-hide\"), this.events.trigger(\"subtitle_show\");\r\n },\r\n },\r\n {\r\n key: \"hide\",\r\n value: function () {\r\n this.container.classList.add(\"dplayer-subtitle-hide\"), this.events.trigger(\"subtitle_hide\");\r\n },\r\n },\r\n {\r\n key: \"toggle\",\r\n value: function () {\r\n this.container.classList.contains(\"dplayer-subtitle-hide\") ? this.show() : this.hide();\r\n },\r\n },\r\n ]) && le(t.prototype, a),\r\n n && le(t, n),\r\n e\r\n );\r\n })();\r\n function de(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var pe = (function () {\r\n function e(t) {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.elements = {}),\r\n (this.elements.volume = t.volumeBar),\r\n (this.elements.played = t.playedBar),\r\n (this.elements.loaded = t.loadedBar),\r\n (this.elements.danmaku = t.danmakuOpacityBar);\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"set\",\r\n value: function (e, t, a) {\r\n (t = Math.max(t, 0)), (t = Math.min(t, 1)), (this.elements[e].style[a] = 100 * t + \"%\");\r\n },\r\n },\r\n {\r\n key: \"get\",\r\n value: function (e) {\r\n return parseFloat(this.elements[e].style.width) / 100;\r\n },\r\n },\r\n ]) && de(t.prototype, a),\r\n n && de(t, n),\r\n e\r\n );\r\n })();\r\n function ce(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var ue = (function () {\r\n function e(t) {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.player = t),\r\n (window.requestAnimationFrame =\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n function (e) {\r\n window.setTimeout(e, 1e3 / 60);\r\n }),\r\n (this.types = [\"loading\", \"info\", \"fps\"]),\r\n this.init();\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"init\",\r\n value: function () {\r\n var e = this;\r\n this.types.map(function (t) {\r\n return \"fps\" !== t && e[\"init\".concat(t, \"Checker\")](), t;\r\n });\r\n },\r\n },\r\n {\r\n key: \"initloadingChecker\",\r\n value: function () {\r\n var e = this,\r\n t = 0,\r\n a = 0,\r\n n = !1;\r\n this.loadingChecker = setInterval(function () {\r\n e.enableloadingChecker &&\r\n ((a = e.player.video.currentTime),\r\n n || a !== t || e.player.video.paused || (e.player.container.classList.add(\"dplayer-loading\"), (n = !0)),\r\n n && a > t && !e.player.video.paused && (e.player.container.classList.remove(\"dplayer-loading\"), (n = !1)),\r\n (t = a));\r\n }, 100);\r\n },\r\n },\r\n {\r\n key: \"initfpsChecker\",\r\n value: function () {\r\n var e = this;\r\n window.requestAnimationFrame(function () {\r\n if (e.enablefpsChecker)\r\n if ((e.initfpsChecker(), e.fpsStart)) {\r\n e.fpsIndex++;\r\n var t = new Date();\r\n t - e.fpsStart > 1e3 && (e.player.infoPanel.fps((e.fpsIndex / (t - e.fpsStart)) * 1e3), (e.fpsStart = new Date()), (e.fpsIndex = 0));\r\n } else (e.fpsStart = new Date()), (e.fpsIndex = 0);\r\n else (e.fpsStart = 0), (e.fpsIndex = 0);\r\n });\r\n },\r\n },\r\n {\r\n key: \"initinfoChecker\",\r\n value: function () {\r\n var e = this;\r\n this.infoChecker = setInterval(function () {\r\n e.enableinfoChecker && e.player.infoPanel.update();\r\n }, 1e3);\r\n },\r\n },\r\n {\r\n key: \"enable\",\r\n value: function (e) {\r\n (this[\"enable\".concat(e, \"Checker\")] = !0), \"fps\" === e && this.initfpsChecker();\r\n },\r\n },\r\n {\r\n key: \"disable\",\r\n value: function (e) {\r\n this[\"enable\".concat(e, \"Checker\")] = !1;\r\n },\r\n },\r\n {\r\n key: \"destroy\",\r\n value: function () {\r\n var e = this;\r\n this.types.map(function (t) {\r\n return (e[\"enable\".concat(t, \"Checker\")] = !1), e[\"\".concat(t, \"Checker\")] && clearInterval(e[\"\".concat(t, \"Checker\")]), t;\r\n });\r\n },\r\n },\r\n ]) && ce(t.prototype, a),\r\n n && ce(t, n),\r\n e\r\n );\r\n })();\r\n function ye(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var he = (function () {\r\n function e(t) {\r\n var a = this;\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.container = t),\r\n this.container.addEventListener(\"animationend\", function () {\r\n a.container.classList.remove(\"dplayer-bezel-transition\");\r\n });\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"switch\",\r\n value: function (e) {\r\n (this.container.innerHTML = e), this.container.classList.add(\"dplayer-bezel-transition\");\r\n },\r\n },\r\n ]) && ye(t.prototype, a),\r\n n && ye(t, n),\r\n e\r\n );\r\n })();\r\n function me(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var fe = (function () {\r\n function e(t) {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.container = t.container),\r\n (this.barWidth = t.barWidth),\r\n (this.container.style.backgroundImage = \"url('\".concat(t.url, \"')\")),\r\n (this.events = t.events);\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"resize\",\r\n value: function (e, t, a) {\r\n (this.container.style.width = \"\".concat(e, \"px\")), (this.container.style.height = \"\".concat(t, \"px\")), (this.container.style.top = \"\".concat(2 - t, \"px\")), (this.barWidth = a);\r\n },\r\n },\r\n {\r\n key: \"show\",\r\n value: function () {\r\n (this.container.style.display = \"block\"), this.events && this.events.trigger(\"thumbnails_show\");\r\n },\r\n },\r\n {\r\n key: \"move\",\r\n value: function (e) {\r\n (this.container.style.backgroundPosition = \"-\".concat(160 * (Math.ceil((e / this.barWidth) * 100) - 1), \"px 0\")),\r\n (this.container.style.left = \"\".concat(Math.min(Math.max(e - this.container.offsetWidth / 2, -10), this.barWidth - 150), \"px\"));\r\n },\r\n },\r\n {\r\n key: \"hide\",\r\n value: function () {\r\n (this.container.style.display = \"none\"), this.events && this.events.trigger(\"thumbnails_hide\");\r\n },\r\n },\r\n ]) && me(t.prototype, a),\r\n n && me(t, n),\r\n e\r\n );\r\n })();\r\n function ve(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var be = (function () {\r\n function e(t) {\r\n var a = this;\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.player = t),\r\n (this.autoHideTimer = 0),\r\n r.isMobile ||\r\n (this.player.container.addEventListener(\"mousemove\", function () {\r\n a.setAutoHide();\r\n }),\r\n this.player.container.addEventListener(\"click\", function () {\r\n a.setAutoHide();\r\n }),\r\n this.player.on(\"play\", function () {\r\n a.setAutoHide();\r\n }),\r\n this.player.on(\"pause\", function () {\r\n a.setAutoHide();\r\n })),\r\n this.initPlayButton(),\r\n this.initThumbnails(),\r\n this.initPlayedBar(),\r\n this.initFullButton(),\r\n this.initQualityButton(),\r\n this.initScreenshotButton(),\r\n this.initSubtitleButton(),\r\n this.initHighlights(),\r\n r.isSafari && this.initAirplayButton(),\r\n r.isMobile || this.initVolumeButton();\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"initPlayButton\",\r\n value: function () {\r\n var e = this;\r\n this.player.template.playButton.addEventListener(\"click\", function () {\r\n e.player.toggle();\r\n }),\r\n this.player.template.mobilePlayButton.addEventListener(\"click\", function () {\r\n e.player.toggle();\r\n }),\r\n r.isMobile\r\n ? (this.player.template.videoWrap.addEventListener(\"click\", function () {\r\n e.toggle();\r\n }),\r\n this.player.template.controllerMask.addEventListener(\"click\", function () {\r\n e.toggle();\r\n }))\r\n : (this.player.template.videoWrap.addEventListener(\"click\", function () {\r\n e.player.toggle();\r\n }),\r\n this.player.template.controllerMask.addEventListener(\"click\", function () {\r\n e.player.toggle();\r\n }));\r\n },\r\n },\r\n {\r\n key: \"initHighlights\",\r\n value: function () {\r\n var e = this;\r\n this.player.on(\"durationchange\", function () {\r\n if (1 !== e.player.video.duration && e.player.video.duration !== 1 / 0 && e.player.options.highlight) {\r\n var t = document.querySelectorAll(\".dplayer-highlight\");\r\n [].slice.call(t, 0).forEach(function (t) {\r\n e.player.template.playedBarWrap.removeChild(t);\r\n });\r\n for (var a = 0; a < e.player.options.highlight.length; a++)\r\n if (e.player.options.highlight[a].text && e.player.options.highlight[a].time) {\r\n var n = document.createElement(\"div\");\r\n n.classList.add(\"dplayer-highlight\"),\r\n (n.style.left = (e.player.options.highlight[a].time / e.player.video.duration) * 100 + \"%\"),\r\n (n.innerHTML = '' + e.player.options.highlight[a].text + \"\"),\r\n e.player.template.playedBarWrap.insertBefore(n, e.player.template.playedBarTime);\r\n }\r\n }\r\n });\r\n },\r\n },\r\n {\r\n key: \"initThumbnails\",\r\n value: function () {\r\n var e = this;\r\n this.player.options.video.thumbnails &&\r\n ((this.thumbnails = new fe({ container: this.player.template.barPreview, barWidth: this.player.template.barWrap.offsetWidth, url: this.player.options.video.thumbnails, events: this.player.events })),\r\n this.player.on(\"loadedmetadata\", function () {\r\n e.thumbnails.resize(160, (e.player.video.videoHeight / e.player.video.videoWidth) * 160, e.player.template.barWrap.offsetWidth);\r\n }));\r\n },\r\n },\r\n {\r\n key: \"initPlayedBar\",\r\n value: function () {\r\n var e = this,\r\n t = function (t) {\r\n var a = ((t.clientX || t.changedTouches[0].clientX) - r.getBoundingClientRectViewLeft(e.player.template.playedBarWrap)) / e.player.template.playedBarWrap.clientWidth;\r\n (a = Math.max(a, 0)), (a = Math.min(a, 1)), e.player.bar.set(\"played\", a, \"width\"), (e.player.template.ptime.innerHTML = r.secondToTime(a * e.player.video.duration));\r\n },\r\n a = function a(n) {\r\n document.removeEventListener(r.nameMap.dragEnd, a), document.removeEventListener(r.nameMap.dragMove, t);\r\n var o = ((n.clientX || n.changedTouches[0].clientX) - r.getBoundingClientRectViewLeft(e.player.template.playedBarWrap)) / e.player.template.playedBarWrap.clientWidth;\r\n (o = Math.max(o, 0)), (o = Math.min(o, 1)), e.player.bar.set(\"played\", o, \"width\"), e.player.seek(e.player.bar.get(\"played\") * e.player.video.duration), e.player.timer.enable(\"progress\");\r\n };\r\n this.player.template.playedBarWrap.addEventListener(r.nameMap.dragStart, function () {\r\n e.player.timer.disable(\"progress\"), document.addEventListener(r.nameMap.dragMove, t), document.addEventListener(r.nameMap.dragEnd, a);\r\n }),\r\n this.player.template.playedBarWrap.addEventListener(r.nameMap.dragMove, function (t) {\r\n if (e.player.video.duration) {\r\n var a = e.player.template.playedBarWrap.getBoundingClientRect().left,\r\n n = (t.clientX || t.changedTouches[0].clientX) - a;\r\n if (n < 0 || n > e.player.template.playedBarWrap.offsetWidth) return;\r\n var o = e.player.video.duration * (n / e.player.template.playedBarWrap.offsetWidth);\r\n r.isMobile && e.thumbnails && e.thumbnails.show(),\r\n e.thumbnails && e.thumbnails.move(n),\r\n (e.player.template.playedBarTime.style.left = \"\".concat(n - (o >= 3600 ? 25 : 20), \"px\")),\r\n (e.player.template.playedBarTime.innerText = r.secondToTime(o)),\r\n e.player.template.playedBarTime.classList.remove(\"hidden\");\r\n }\r\n }),\r\n this.player.template.playedBarWrap.addEventListener(r.nameMap.dragEnd, function () {\r\n r.isMobile && e.thumbnails && e.thumbnails.hide();\r\n }),\r\n r.isMobile ||\r\n (this.player.template.playedBarWrap.addEventListener(\"mouseenter\", function () {\r\n e.player.video.duration && (e.thumbnails && e.thumbnails.show(), e.player.template.playedBarTime.classList.remove(\"hidden\"));\r\n }),\r\n this.player.template.playedBarWrap.addEventListener(\"mouseleave\", function () {\r\n e.player.video.duration && (e.thumbnails && e.thumbnails.hide(), e.player.template.playedBarTime.classList.add(\"hidden\"));\r\n }));\r\n },\r\n },\r\n {\r\n key: \"initFullButton\",\r\n value: function () {\r\n var e = this;\r\n this.player.template.browserFullButton.addEventListener(\"click\", function () {\r\n e.player.fullScreen.toggle(\"browser\");\r\n }),\r\n this.player.template.webFullButton.addEventListener(\"click\", function () {\r\n e.player.fullScreen.toggle(\"web\");\r\n });\r\n },\r\n },\r\n {\r\n key: \"initVolumeButton\",\r\n value: function () {\r\n var e = this,\r\n t = function (t) {\r\n var a = t || window.event,\r\n n = ((a.clientX || a.changedTouches[0].clientX) - r.getBoundingClientRectViewLeft(e.player.template.volumeBarWrap) - 5.5) / 35;\r\n e.player.volume(n);\r\n },\r\n a = function a() {\r\n document.removeEventListener(r.nameMap.dragEnd, a), document.removeEventListener(r.nameMap.dragMove, t), e.player.template.volumeButton.classList.remove(\"dplayer-volume-active\");\r\n };\r\n this.player.template.volumeBarWrapWrap.addEventListener(\"click\", function (t) {\r\n var a = t || window.event,\r\n n = ((a.clientX || a.changedTouches[0].clientX) - r.getBoundingClientRectViewLeft(e.player.template.volumeBarWrap) - 5.5) / 35;\r\n e.player.volume(n);\r\n }),\r\n this.player.template.volumeBarWrapWrap.addEventListener(r.nameMap.dragStart, function () {\r\n document.addEventListener(r.nameMap.dragMove, t), document.addEventListener(r.nameMap.dragEnd, a), e.player.template.volumeButton.classList.add(\"dplayer-volume-active\");\r\n }),\r\n this.player.template.volumeButtonIcon.addEventListener(\"click\", function () {\r\n e.player.video.muted\r\n ? ((e.player.video.muted = !1), e.player.switchVolumeIcon(), e.player.bar.set(\"volume\", e.player.volume(), \"width\"))\r\n : ((e.player.video.muted = !0), (e.player.template.volumeIcon.innerHTML = X.volumeOff), e.player.bar.set(\"volume\", 0, \"width\"));\r\n });\r\n },\r\n },\r\n {\r\n key: \"initQualityButton\",\r\n value: function () {\r\n var e = this;\r\n this.player.options.video.quality &&\r\n this.player.template.qualityList.addEventListener(\"click\", function (t) {\r\n t.target.classList.contains(\"dplayer-quality-item\") && e.player.switchQuality(t.target.dataset.index);\r\n });\r\n },\r\n },\r\n {\r\n key: \"initScreenshotButton\",\r\n value: function () {\r\n var e = this;\r\n this.player.options.screenshot &&\r\n this.player.template.camareButton.addEventListener(\"click\", function () {\r\n var t,\r\n a = document.createElement(\"canvas\");\r\n (a.width = e.player.video.videoWidth),\r\n (a.height = e.player.video.videoHeight),\r\n a.getContext(\"2d\").drawImage(e.player.video, 0, 0, a.width, a.height),\r\n a.toBlob(function (e) {\r\n t = URL.createObjectURL(e);\r\n var a = document.createElement(\"a\");\r\n (a.href = t), (a.download = \"DPlayer.png\"), (a.style.display = \"none\"), document.body.appendChild(a), a.click(), document.body.removeChild(a), URL.revokeObjectURL(t);\r\n }),\r\n e.player.events.trigger(\"screenshot\", t);\r\n });\r\n },\r\n },\r\n {\r\n key: \"initAirplayButton\",\r\n value: function () {\r\n this.player.options.airplay &&\r\n (window.WebKitPlaybackTargetAvailabilityEvent\r\n ? this.player.video.addEventListener(\r\n \"webkitplaybacktargetavailabilitychanged\",\r\n function (e) {\r\n switch (e.availability) {\r\n case \"available\":\r\n this.template.airplayButton.disable = !1;\r\n break;\r\n default:\r\n this.template.airplayButton.disable = !0;\r\n }\r\n this.template.airplayButton.addEventListener(\r\n \"click\",\r\n function () {\r\n this.video.webkitShowPlaybackTargetPicker();\r\n }.bind(this)\r\n );\r\n }.bind(this.player)\r\n )\r\n : (this.player.template.airplayButton.style.display = \"none\"));\r\n },\r\n },\r\n {\r\n key: \"initSubtitleButton\",\r\n value: function () {\r\n var e = this;\r\n this.player.options.subtitle &&\r\n (this.player.events.on(\"subtitle_show\", function () {\r\n (e.player.template.subtitleButton.dataset.balloon = e.player.tran(\"Hide subtitle\")), (e.player.template.subtitleButtonInner.style.opacity = \"\"), e.player.user.set(\"subtitle\", 1);\r\n }),\r\n this.player.events.on(\"subtitle_hide\", function () {\r\n (e.player.template.subtitleButton.dataset.balloon = e.player.tran(\"Show subtitle\")), (e.player.template.subtitleButtonInner.style.opacity = \"0.4\"), e.player.user.set(\"subtitle\", 0);\r\n }),\r\n this.player.template.subtitleButton.addEventListener(\"click\", function () {\r\n e.player.subtitle.toggle();\r\n }));\r\n },\r\n },\r\n {\r\n key: \"setAutoHide\",\r\n value: function () {\r\n var e = this;\r\n this.show(),\r\n clearTimeout(this.autoHideTimer),\r\n (this.autoHideTimer = setTimeout(function () {\r\n !e.player.video.played.length || e.player.paused || e.disableAutoHide || e.hide();\r\n }, 3e3));\r\n },\r\n },\r\n {\r\n key: \"show\",\r\n value: function () {\r\n this.player.container.classList.remove(\"dplayer-hide-controller\");\r\n },\r\n },\r\n {\r\n key: \"hide\",\r\n value: function () {\r\n this.player.container.classList.add(\"dplayer-hide-controller\"), this.player.setting.hide(), this.player.comment && this.player.comment.hide();\r\n },\r\n },\r\n {\r\n key: \"isShow\",\r\n value: function () {\r\n return !this.player.container.classList.contains(\"dplayer-hide-controller\");\r\n },\r\n },\r\n {\r\n key: \"toggle\",\r\n value: function () {\r\n this.isShow() ? this.hide() : this.show();\r\n },\r\n },\r\n {\r\n key: \"destroy\",\r\n value: function () {\r\n clearTimeout(this.autoHideTimer);\r\n },\r\n },\r\n ]) && ve(t.prototype, a),\r\n n && ve(t, n),\r\n e\r\n );\r\n })();\r\n function ge(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var we = (function () {\r\n function e(t) {\r\n var a = this;\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.player = t),\r\n this.player.template.mask.addEventListener(\"click\", function () {\r\n a.hide();\r\n }),\r\n this.player.template.settingButton.addEventListener(\"click\", function () {\r\n a.show();\r\n }),\r\n (this.loop = this.player.options.loop),\r\n (this.player.template.loopToggle.checked = this.loop),\r\n this.player.template.loop.addEventListener(\"click\", function () {\r\n (a.player.template.loopToggle.checked = !a.player.template.loopToggle.checked), a.player.template.loopToggle.checked ? (a.loop = !0) : (a.loop = !1), a.hide();\r\n }),\r\n (this.showDanmaku = this.player.user.get(\"danmaku\")),\r\n this.showDanmaku || (this.player.danmaku && this.player.danmaku.hide()),\r\n (this.player.template.showDanmakuToggle.checked = this.showDanmaku),\r\n this.player.template.showDanmaku.addEventListener(\"click\", function () {\r\n (a.player.template.showDanmakuToggle.checked = !a.player.template.showDanmakuToggle.checked),\r\n a.player.template.showDanmakuToggle.checked ? ((a.showDanmaku = !0), a.player.danmaku.show()) : ((a.showDanmaku = !1), a.player.danmaku.hide()),\r\n a.player.user.set(\"danmaku\", a.showDanmaku ? 1 : 0),\r\n a.hide();\r\n }),\r\n (this.unlimitDanmaku = this.player.user.get(\"unlimited\")),\r\n (this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku),\r\n this.player.template.unlimitDanmaku.addEventListener(\"click\", function () {\r\n (a.player.template.unlimitDanmakuToggle.checked = !a.player.template.unlimitDanmakuToggle.checked),\r\n a.player.template.unlimitDanmakuToggle.checked ? ((a.unlimitDanmaku = !0), a.player.danmaku.unlimit(!0)) : ((a.unlimitDanmaku = !1), a.player.danmaku.unlimit(!1)),\r\n a.player.user.set(\"unlimited\", a.unlimitDanmaku ? 1 : 0),\r\n a.hide();\r\n }),\r\n this.player.template.speed.addEventListener(\"click\", function () {\r\n a.player.template.settingBox.classList.add(\"dplayer-setting-box-narrow\"), a.player.template.settingBox.classList.add(\"dplayer-setting-box-speed\");\r\n });\r\n for (\r\n var n = function (e) {\r\n a.player.template.speedItem[e].addEventListener(\"click\", function () {\r\n a.player.speed(a.player.template.speedItem[e].dataset.speed), a.hide();\r\n });\r\n },\r\n o = 0;\r\n o < this.player.template.speedItem.length;\r\n o++\r\n )\r\n n(o);\r\n if (this.player.danmaku) {\r\n this.player.on(\"danmaku_opacity\", function (e) {\r\n a.player.bar.set(\"danmaku\", e, \"width\"), a.player.user.set(\"opacity\", e);\r\n }),\r\n this.player.danmaku.opacity(this.player.user.get(\"opacity\"));\r\n var i = function (e) {\r\n var t = e || window.event,\r\n n = ((t.clientX || t.changedTouches[0].clientX) - r.getBoundingClientRectViewLeft(a.player.template.danmakuOpacityBarWrap)) / 130;\r\n (n = Math.max(n, 0)), (n = Math.min(n, 1)), a.player.danmaku.opacity(n);\r\n },\r\n l = function e() {\r\n document.removeEventListener(r.nameMap.dragEnd, e), document.removeEventListener(r.nameMap.dragMove, i), a.player.template.danmakuOpacityBox.classList.remove(\"dplayer-setting-danmaku-active\");\r\n };\r\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener(\"click\", function (e) {\r\n var t = e || window.event,\r\n n = ((t.clientX || t.changedTouches[0].clientX) - r.getBoundingClientRectViewLeft(a.player.template.danmakuOpacityBarWrap)) / 130;\r\n (n = Math.max(n, 0)), (n = Math.min(n, 1)), a.player.danmaku.opacity(n);\r\n }),\r\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener(r.nameMap.dragStart, function () {\r\n document.addEventListener(r.nameMap.dragMove, i), document.addEventListener(r.nameMap.dragEnd, l), a.player.template.danmakuOpacityBox.classList.add(\"dplayer-setting-danmaku-active\");\r\n });\r\n }\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"hide\",\r\n value: function () {\r\n var e = this;\r\n this.player.template.settingBox.classList.remove(\"dplayer-setting-box-open\"),\r\n this.player.template.mask.classList.remove(\"dplayer-mask-show\"),\r\n setTimeout(function () {\r\n e.player.template.settingBox.classList.remove(\"dplayer-setting-box-narrow\"), e.player.template.settingBox.classList.remove(\"dplayer-setting-box-speed\");\r\n }, 300),\r\n (this.player.controller.disableAutoHide = !1);\r\n },\r\n },\r\n {\r\n key: \"show\",\r\n value: function () {\r\n this.player.template.settingBox.classList.add(\"dplayer-setting-box-open\"), this.player.template.mask.classList.add(\"dplayer-mask-show\"), (this.player.controller.disableAutoHide = !0);\r\n },\r\n },\r\n ]) && ge(t.prototype, a),\r\n n && ge(t, n),\r\n e\r\n );\r\n })();\r\n function xe(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var ke = (function () {\r\n function e(t) {\r\n var a = this;\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.player = t),\r\n this.player.template.mask.addEventListener(\"click\", function () {\r\n a.hide();\r\n }),\r\n this.player.template.commentButton.addEventListener(\"click\", function () {\r\n a.show();\r\n }),\r\n this.player.template.commentSettingButton.addEventListener(\"click\", function () {\r\n a.toggleSetting();\r\n }),\r\n this.player.template.commentColorSettingBox.addEventListener(\"click\", function () {\r\n if (a.player.template.commentColorSettingBox.querySelector(\"input:checked+span\")) {\r\n var e = a.player.template.commentColorSettingBox.querySelector(\"input:checked\").value;\r\n (a.player.template.commentSettingFill.style.fill = e), (a.player.template.commentInput.style.color = e), (a.player.template.commentSendFill.style.fill = e);\r\n }\r\n }),\r\n this.player.template.commentInput.addEventListener(\"click\", function () {\r\n a.hideSetting();\r\n }),\r\n this.player.template.commentInput.addEventListener(\"keydown\", function (e) {\r\n 13 === (e || window.event).keyCode && a.send();\r\n }),\r\n this.player.template.commentSendButton.addEventListener(\"click\", function () {\r\n a.send();\r\n });\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"show\",\r\n value: function () {\r\n (this.player.controller.disableAutoHide = !0),\r\n this.player.template.controller.classList.add(\"dplayer-controller-comment\"),\r\n this.player.template.mask.classList.add(\"dplayer-mask-show\"),\r\n this.player.container.classList.add(\"dplayer-show-controller\"),\r\n this.player.template.commentInput.focus();\r\n },\r\n },\r\n {\r\n key: \"hide\",\r\n value: function () {\r\n this.player.template.controller.classList.remove(\"dplayer-controller-comment\"),\r\n this.player.template.mask.classList.remove(\"dplayer-mask-show\"),\r\n this.player.container.classList.remove(\"dplayer-show-controller\"),\r\n (this.player.controller.disableAutoHide = !1),\r\n this.hideSetting();\r\n },\r\n },\r\n {\r\n key: \"showSetting\",\r\n value: function () {\r\n this.player.template.commentSettingBox.classList.add(\"dplayer-comment-setting-open\");\r\n },\r\n },\r\n {\r\n key: \"hideSetting\",\r\n value: function () {\r\n this.player.template.commentSettingBox.classList.remove(\"dplayer-comment-setting-open\");\r\n },\r\n },\r\n {\r\n key: \"toggleSetting\",\r\n value: function () {\r\n this.player.template.commentSettingBox.classList.contains(\"dplayer-comment-setting-open\") ? this.hideSetting() : this.showSetting();\r\n },\r\n },\r\n {\r\n key: \"send\",\r\n value: function () {\r\n var e = this;\r\n this.player.template.commentInput.blur(),\r\n this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, \"\")\r\n ? this.player.danmaku.send(\r\n {\r\n text: this.player.template.commentInput.value,\r\n color: r.color2Number(this.player.container.querySelector(\".dplayer-comment-setting-color input:checked\").value),\r\n type: parseInt(this.player.container.querySelector(\".dplayer-comment-setting-type input:checked\").value),\r\n },\r\n function () {\r\n (e.player.template.commentInput.value = \"\"), e.hide();\r\n }\r\n )\r\n : this.player.notice(this.player.tran(\"Please input danmaku content!\"));\r\n },\r\n },\r\n ]) && xe(t.prototype, a),\r\n n && xe(t, n),\r\n e\r\n );\r\n })();\r\n var Se = function e(t) {\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n t.options.hotkey &&\r\n document.addEventListener(\"keydown\", function (e) {\r\n if (t.focus) {\r\n var a = document.activeElement.tagName.toUpperCase(),\r\n n = document.activeElement.getAttribute(\"contenteditable\");\r\n if (\"INPUT\" !== a && \"TEXTAREA\" !== a && \"\" !== n && \"true\" !== n) {\r\n var o,\r\n r = e || window.event;\r\n switch (r.keyCode) {\r\n case 32:\r\n r.preventDefault(), t.toggle();\r\n break;\r\n case 37:\r\n if ((r.preventDefault(), t.options.live)) break;\r\n t.seek(t.video.currentTime - 5), t.controller.setAutoHide();\r\n break;\r\n case 39:\r\n if ((r.preventDefault(), t.options.live)) break;\r\n t.seek(t.video.currentTime + 5), t.controller.setAutoHide();\r\n break;\r\n case 38:\r\n r.preventDefault(), (o = t.volume() + 0.1), t.volume(o);\r\n break;\r\n case 40:\r\n r.preventDefault(), (o = t.volume() - 0.1), t.volume(o);\r\n }\r\n }\r\n }\r\n }),\r\n document.addEventListener(\"keydown\", function (e) {\r\n switch ((e || window.event).keyCode) {\r\n case 27:\r\n t.fullScreen.isFullScreen(\"web\") && t.fullScreen.cancel(\"web\");\r\n }\r\n });\r\n };\r\n function Te(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var Le = (function () {\r\n function e(t) {\r\n var a = this;\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.player = t),\r\n (this.shown = !1),\r\n Array.prototype.slice.call(this.player.template.menuItem).forEach(function (e, t) {\r\n a.player.options.contextmenu[t].click &&\r\n e.addEventListener(\"click\", function () {\r\n a.player.options.contextmenu[t].click(a.player), a.hide();\r\n });\r\n }),\r\n this.player.container.addEventListener(\"contextmenu\", function (e) {\r\n if (a.shown) a.hide();\r\n else {\r\n var t = e || window.event;\r\n t.preventDefault();\r\n var n = a.player.container.getBoundingClientRect();\r\n a.show(t.clientX - n.left, t.clientY - n.top),\r\n a.player.template.mask.addEventListener(\"click\", function () {\r\n a.hide();\r\n });\r\n }\r\n });\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"show\",\r\n value: function (e, t) {\r\n this.player.template.menu.classList.add(\"dplayer-menu-show\");\r\n var a = this.player.container.getBoundingClientRect();\r\n e + this.player.template.menu.offsetWidth >= a.width\r\n ? ((this.player.template.menu.style.right = a.width - e + \"px\"), (this.player.template.menu.style.left = \"initial\"))\r\n : ((this.player.template.menu.style.left = e + \"px\"), (this.player.template.menu.style.right = \"initial\")),\r\n t + this.player.template.menu.offsetHeight >= a.height\r\n ? ((this.player.template.menu.style.bottom = a.height - t + \"px\"), (this.player.template.menu.style.top = \"initial\"))\r\n : ((this.player.template.menu.style.top = t + \"px\"), (this.player.template.menu.style.bottom = \"initial\")),\r\n this.player.template.mask.classList.add(\"dplayer-mask-show\"),\r\n (this.shown = !0),\r\n this.player.events.trigger(\"contextmenu_show\");\r\n },\r\n },\r\n {\r\n key: \"hide\",\r\n value: function () {\r\n this.player.template.mask.classList.remove(\"dplayer-mask-show\"), this.player.template.menu.classList.remove(\"dplayer-menu-show\"), (this.shown = !1), this.player.events.trigger(\"contextmenu_hide\");\r\n },\r\n },\r\n ]) && Te(t.prototype, a),\r\n n && Te(t, n),\r\n e\r\n );\r\n })();\r\n function Ee(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var qe = (function () {\r\n function e(t) {\r\n var a = this;\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.container = t.template.infoPanel),\r\n (this.template = t.template),\r\n (this.video = t.video),\r\n (this.player = t),\r\n this.template.infoPanelClose.addEventListener(\"click\", function () {\r\n a.hide();\r\n });\r\n }\r\n var t, a, n;\r\n return (\r\n (t = e),\r\n (a = [\r\n {\r\n key: \"show\",\r\n value: function () {\r\n (this.beginTime = Date.now()), this.update(), this.player.timer.enable(\"info\"), this.player.timer.enable(\"fps\"), this.container.classList.remove(\"dplayer-info-panel-hide\");\r\n },\r\n },\r\n {\r\n key: \"hide\",\r\n value: function () {\r\n this.player.timer.disable(\"info\"), this.player.timer.disable(\"fps\"), this.container.classList.add(\"dplayer-info-panel-hide\");\r\n },\r\n },\r\n {\r\n key: \"triggle\",\r\n value: function () {\r\n this.container.classList.contains(\"dplayer-info-panel-hide\") ? this.show() : this.hide();\r\n },\r\n },\r\n {\r\n key: \"update\",\r\n value: function () {\r\n (this.template.infoVersion.innerHTML = \"v\".concat(\"1.26.0\", \" \").concat(\"63275c8\")),\r\n (this.template.infoType.innerHTML = this.player.type),\r\n (this.template.infoUrl.innerHTML = this.player.options.video.url),\r\n (this.template.infoResolution.innerHTML = \"\".concat(this.player.video.videoWidth, \" x \").concat(this.player.video.videoHeight)),\r\n (this.template.infoDuration.innerHTML = this.player.video.duration),\r\n this.player.options.danmaku &&\r\n ((this.template.infoDanmakuId.innerHTML = this.player.options.danmaku.id),\r\n (this.template.infoDanmakuApi.innerHTML = this.player.options.danmaku.api),\r\n (this.template.infoDanmakuAmount.innerHTML = this.player.danmaku.dan.length));\r\n },\r\n },\r\n {\r\n key: \"fps\",\r\n value: function (e) {\r\n this.template.infoFPS.innerHTML = \"\".concat(e.toFixed(1));\r\n },\r\n },\r\n ]) && Ee(t.prototype, a),\r\n n && Ee(t, n),\r\n e\r\n );\r\n })(),\r\n Be = a(1),\r\n Me = a.n(Be);\r\n function ze(e, t) {\r\n var a = Object.keys(e);\r\n if (Object.getOwnPropertySymbols) {\r\n var n = Object.getOwnPropertySymbols(e);\r\n t &&\r\n (n = n.filter(function (t) {\r\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\r\n })),\r\n a.push.apply(a, n);\r\n }\r\n return a;\r\n }\r\n function Ce(e, t, a) {\r\n return t in e ? Object.defineProperty(e, t, { value: a, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = a), e;\r\n }\r\n function Ae(e, t) {\r\n for (var a = 0; a < t.length; a++) {\r\n var n = t[a];\r\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\r\n }\r\n }\r\n var Oe = 0,\r\n Pe = [],\r\n je = (function () {\r\n function e(t) {\r\n var a = this;\r\n !(function (e, t) {\r\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\r\n })(this, e),\r\n (this.options = p(\r\n (function (e) {\r\n for (var t = 1; t < arguments.length; t++) {\r\n var a = null != arguments[t] ? arguments[t] : {};\r\n t % 2\r\n ? ze(Object(a), !0).forEach(function (t) {\r\n Ce(e, t, a[t]);\r\n })\r\n : Object.getOwnPropertyDescriptors\r\n ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(a))\r\n : ze(Object(a)).forEach(function (t) {\r\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(a, t));\r\n });\r\n }\r\n return e;\r\n })({ preload: \"webtorrent\" === t.video.type ? \"none\" : \"metadata\" }, t)\r\n )),\r\n this.options.video.quality && ((this.qualityIndex = this.options.video.defaultQuality), (this.quality = this.options.video.quality[this.options.video.defaultQuality])),\r\n (this.tran = new u(this.options.lang).tran),\r\n (this.events = new ae()),\r\n (this.user = new ie(this)),\r\n (this.container = this.options.container),\r\n this.container.classList.add(\"dplayer\"),\r\n this.options.danmaku || this.container.classList.add(\"dplayer-no-danmaku\"),\r\n this.options.live && this.container.classList.add(\"dplayer-live\"),\r\n r.isMobile && this.container.classList.add(\"dplayer-mobile\"),\r\n (this.arrow = this.container.offsetWidth <= 500),\r\n this.arrow && this.container.classList.add(\"dplayer-arrow\"),\r\n (this.template = new K({ container: this.container, options: this.options, index: Oe, tran: this.tran })),\r\n (this.video = this.template.video),\r\n (this.bar = new pe(this.template)),\r\n (this.bezel = new he(this.template.bezel)),\r\n (this.fullScreen = new oe(this)),\r\n (this.controller = new be(this)),\r\n this.options.danmaku &&\r\n ((this.danmaku = new ee({\r\n container: this.template.danmaku,\r\n opacity: this.user.get(\"opacity\"),\r\n callback: function () {\r\n setTimeout(function () {\r\n (a.template.danmakuLoading.style.display = \"none\"), a.options.autoplay && a.play();\r\n }, 0);\r\n },\r\n error: function (e) {\r\n a.notice(e);\r\n },\r\n apiBackend: this.options.apiBackend,\r\n borderColor: this.options.theme,\r\n height: this.arrow ? 24 : 30,\r\n time: function () {\r\n return a.video.currentTime;\r\n },\r\n unlimited: this.user.get(\"unlimited\"),\r\n api: {\r\n id: this.options.danmaku.id,\r\n address: this.options.danmaku.api,\r\n token: this.options.danmaku.token,\r\n maximum: this.options.danmaku.maximum,\r\n addition: this.options.danmaku.addition,\r\n user: this.options.danmaku.user,\r\n },\r\n events: this.events,\r\n tran: function (e) {\r\n return a.tran(e);\r\n },\r\n })),\r\n (this.comment = new ke(this))),\r\n (this.setting = new we(this)),\r\n (this.plugins = {}),\r\n document.addEventListener(\r\n \"click\",\r\n function () {\r\n a.focus = !1;\r\n },\r\n !0\r\n ),\r\n this.container.addEventListener(\r\n \"click\",\r\n function () {\r\n a.focus = !0;\r\n },\r\n !0\r\n ),\r\n (this.paused = !0),\r\n (this.timer = new ue(this)),\r\n (this.hotkey = new Se(this)),\r\n (this.contextmenu = new Le(this)),\r\n this.initVideo(this.video, (this.quality && this.quality.type) || this.options.video.type),\r\n (this.infoPanel = new qe(this)),\r\n !this.danmaku && this.options.autoplay && this.play(),\r\n Oe++,\r\n Pe.push(this);\r\n }\r\n var t, a, o;\r\n return (\r\n (t = e),\r\n (o = [\r\n {\r\n key: \"version\",\r\n get: function () {\r\n return \"1.26.0\";\r\n },\r\n },\r\n ]),\r\n (a = [\r\n {\r\n key: \"seek\",\r\n value: function (e) {\r\n (e = Math.max(e, 0)),\r\n this.video.duration && (e = Math.min(e, this.video.duration)),\r\n this.video.currentTime < e\r\n ? this.notice(\r\n \"\"\r\n .concat(this.tran(\"FF\"), \" \")\r\n .concat((e - this.video.currentTime).toFixed(0), \" \")\r\n .concat(this.tran(\"s\"))\r\n )\r\n : this.video.currentTime > e &&\r\n this.notice(\r\n \"\"\r\n .concat(this.tran(\"REW\"), \" \")\r\n .concat((this.video.currentTime - e).toFixed(0), \" \")\r\n .concat(this.tran(\"s\"))\r\n ),\r\n (this.video.currentTime = e),\r\n this.danmaku && this.danmaku.seek(),\r\n this.bar.set(\"played\", e / this.video.duration, \"width\"),\r\n (this.template.ptime.innerHTML = r.secondToTime(e));\r\n },\r\n },\r\n {\r\n key: \"play\",\r\n value: function (e) {\r\n var t = this;\r\n if (\r\n ((this.paused = !1),\r\n this.video.paused && !r.isMobile && this.bezel.switch(X.play),\r\n (this.template.playButton.innerHTML = X.pause),\r\n (this.template.mobilePlayButton.innerHTML = X.pause),\r\n e ||\r\n n.a\r\n .resolve(this.video.play())\r\n .catch(function () {\r\n t.pause();\r\n })\r\n .then(function () {}),\r\n this.timer.enable(\"loading\"),\r\n this.container.classList.remove(\"dplayer-paused\"),\r\n this.container.classList.add(\"dplayer-playing\"),\r\n this.danmaku && this.danmaku.play(),\r\n this.options.mutex)\r\n )\r\n for (var a = 0; a < Pe.length; a++) this !== Pe[a] && Pe[a].pause();\r\n },\r\n },\r\n {\r\n key: \"pause\",\r\n value: function (e) {\r\n (this.paused = !0),\r\n this.container.classList.remove(\"dplayer-loading\"),\r\n this.video.paused || r.isMobile || this.bezel.switch(X.pause),\r\n (this.template.playButton.innerHTML = X.play),\r\n (this.template.mobilePlayButton.innerHTML = X.play),\r\n e || this.video.pause(),\r\n this.timer.disable(\"loading\"),\r\n this.container.classList.remove(\"dplayer-playing\"),\r\n this.container.classList.add(\"dplayer-paused\"),\r\n this.danmaku && this.danmaku.pause();\r\n },\r\n },\r\n {\r\n key: \"switchVolumeIcon\",\r\n value: function () {\r\n this.volume() >= 0.95 ? (this.template.volumeIcon.innerHTML = X.volumeUp) : this.volume() > 0 ? (this.template.volumeIcon.innerHTML = X.volumeDown) : (this.template.volumeIcon.innerHTML = X.volumeOff);\r\n },\r\n },\r\n {\r\n key: \"volume\",\r\n value: function (e, t, a) {\r\n if (((e = parseFloat(e)), !isNaN(e))) {\r\n (e = Math.max(e, 0)), (e = Math.min(e, 1)), this.bar.set(\"volume\", e, \"width\");\r\n var n = \"\".concat((100 * e).toFixed(0), \"%\");\r\n (this.template.volumeBarWrapWrap.dataset.balloon = n),\r\n t || this.user.set(\"volume\", e),\r\n a || this.notice(\"\".concat(this.tran(\"Volume\"), \" \").concat((100 * e).toFixed(0), \"%\")),\r\n (this.video.volume = e),\r\n this.video.muted && (this.video.muted = !1),\r\n this.switchVolumeIcon();\r\n }\r\n return this.video.volume;\r\n },\r\n },\r\n {\r\n key: \"toggle\",\r\n value: function () {\r\n this.video.paused ? this.play() : this.pause();\r\n },\r\n },\r\n {\r\n key: \"on\",\r\n value: function (e, t) {\r\n this.events.on(e, t);\r\n },\r\n },\r\n {\r\n key: \"switchVideo\",\r\n value: function (e, t) {\r\n this.pause(),\r\n (this.video.poster = e.pic ? e.pic : \"\"),\r\n (this.video.src = e.url),\r\n this.initMSE(this.video, e.type || \"auto\"),\r\n t &&\r\n ((this.template.danmakuLoading.style.display = \"block\"),\r\n this.bar.set(\"played\", 0, \"width\"),\r\n this.bar.set(\"loaded\", 0, \"width\"),\r\n (this.template.ptime.innerHTML = \"00:00\"),\r\n (this.template.danmaku.innerHTML = \"\"),\r\n this.danmaku && this.danmaku.reload({ id: t.id, address: t.api, token: t.token, maximum: t.maximum, addition: t.addition, user: t.user }));\r\n },\r\n },\r\n {\r\n key: \"initMSE\",\r\n value: function (e, t) {\r\n var a = this;\r\n if (((this.type = t), this.options.video.customType && this.options.video.customType[t]))\r\n \"[object Function]\" === Object.prototype.toString.call(this.options.video.customType[t]) ? this.options.video.customType[t](this.video, this) : console.error(\"Illegal customType: \".concat(t));\r\n else\r\n switch (\r\n (\"auto\" === this.type &&\r\n (/m3u8(#|\\?|$)/i.exec(e.src) ? (this.type = \"hls\") : /.flv(#|\\?|$)/i.exec(e.src) ? (this.type = \"flv\") : /.mpd(#|\\?|$)/i.exec(e.src) ? (this.type = \"dash\") : (this.type = \"normal\")),\r\n \"hls\" === this.type && (e.canPlayType(\"application/x-mpegURL\") || e.canPlayType(\"application/vnd.apple.mpegURL\")) && (this.type = \"normal\"),\r\n this.type)\r\n ) {\r\n case \"hls\":\r\n if (window.Hls)\r\n if (window.Hls.isSupported()) {\r\n var n = this.options.pluginOptions.hls,\r\n o = new window.Hls(n);\r\n (this.plugins.hls = o),\r\n o.loadSource(e.src),\r\n o.attachMedia(e),\r\n this.events.on(\"destroy\", function () {\r\n o.destroy(), delete a.plugins.hls;\r\n });\r\n } else this.notice(\"Error: Hls is not supported.\");\r\n else this.notice(\"Error: Can't find Hls.\");\r\n break;\r\n case \"flv\":\r\n if (window.flvjs)\r\n if (window.flvjs.isSupported()) {\r\n var r = window.flvjs.createPlayer(Object.assign(this.options.pluginOptions.flv.mediaDataSource || {}, { type: \"flv\", url: e.src }), this.options.pluginOptions.flv.config);\r\n (this.plugins.flvjs = r),\r\n r.attachMediaElement(e),\r\n r.load(),\r\n this.events.on(\"destroy\", function () {\r\n r.unload(), r.detachMediaElement(), r.destroy(), delete a.plugins.flvjs;\r\n });\r\n } else this.notice(\"Error: flvjs is not supported.\");\r\n else this.notice(\"Error: Can't find flvjs.\");\r\n break;\r\n case \"dash\":\r\n if (window.dashjs) {\r\n var i = window.dashjs.MediaPlayer().create().initialize(e, e.src, !1),\r\n l = this.options.pluginOptions.dash;\r\n i.updateSettings(l),\r\n (this.plugins.dash = i),\r\n this.events.on(\"destroy\", function () {\r\n window.dashjs.MediaPlayer().reset(), delete a.plugins.dash;\r\n });\r\n } else this.notice(\"Error: Can't find dashjs.\");\r\n break;\r\n case \"webtorrent\":\r\n if (window.WebTorrent)\r\n if (window.WebTorrent.WEBRTC_SUPPORT) {\r\n this.container.classList.add(\"dplayer-loading\");\r\n var s = this.options.pluginOptions.webtorrent,\r\n d = new window.WebTorrent(s);\r\n this.plugins.webtorrent = d;\r\n var p = e.src;\r\n (e.src = \"\"),\r\n (e.preload = \"metadata\"),\r\n e.addEventListener(\r\n \"durationchange\",\r\n function () {\r\n return a.container.classList.remove(\"dplayer-loading\");\r\n },\r\n { once: !0 }\r\n ),\r\n d.add(p, function (e) {\r\n e.files\r\n .find(function (e) {\r\n return e.name.endsWith(\".mp4\");\r\n })\r\n .renderTo(a.video, { autoplay: a.options.autoplay, controls: !1 });\r\n }),\r\n this.events.on(\"destroy\", function () {\r\n d.remove(p), d.destroy(), delete a.plugins.webtorrent;\r\n });\r\n } else this.notice(\"Error: Webtorrent is not supported.\");\r\n else this.notice(\"Error: Can't find Webtorrent.\");\r\n }\r\n },\r\n },\r\n {\r\n key: \"initVideo\",\r\n value: function (e, t) {\r\n var a = this;\r\n this.initMSE(e, t),\r\n this.on(\"durationchange\", function () {\r\n 1 !== e.duration && e.duration !== 1 / 0 && (a.template.dtime.innerHTML = r.secondToTime(e.duration));\r\n }),\r\n this.on(\"progress\", function () {\r\n var t = e.buffered.length ? e.buffered.end(e.buffered.length - 1) / e.duration : 0;\r\n a.bar.set(\"loaded\", t, \"width\");\r\n }),\r\n this.on(\"error\", function () {\r\n a.video.error && a.tran && a.notice && \"webtorrent\" !== a.type && a.notice(a.tran(\"Video load failed\"), -1);\r\n }),\r\n this.on(\"ended\", function () {\r\n a.bar.set(\"played\", 1, \"width\"), a.setting.loop ? (a.seek(0), a.play()) : a.pause(), a.danmaku && (a.danmaku.danIndex = 0);\r\n }),\r\n this.on(\"play\", function () {\r\n a.paused && a.play(!0);\r\n }),\r\n this.on(\"pause\", function () {\r\n a.paused || a.pause(!0);\r\n }),\r\n this.on(\"timeupdate\", function () {\r\n a.bar.set(\"played\", a.video.currentTime / a.video.duration, \"width\");\r\n var e = r.secondToTime(a.video.currentTime);\r\n a.template.ptime.innerHTML !== e && (a.template.ptime.innerHTML = e);\r\n });\r\n for (\r\n var n = function (t) {\r\n e.addEventListener(a.events.videoEvents[t], function () {\r\n a.events.trigger(a.events.videoEvents[t]);\r\n });\r\n },\r\n o = 0;\r\n o < this.events.videoEvents.length;\r\n o++\r\n )\r\n n(o);\r\n this.volume(this.user.get(\"volume\"), !0, !0),\r\n this.options.subtitle && ((this.subtitle = new se(this.template.subtitle, this.video, this.options.subtitle, this.events)), this.user.get(\"subtitle\") || this.subtitle.hide());\r\n },\r\n },\r\n {\r\n key: \"switchQuality\",\r\n value: function (e) {\r\n var t = this;\r\n if (((e = \"string\" == typeof e ? parseInt(e) : e), this.qualityIndex !== e && !this.switchingQuality)) {\r\n (this.qualityIndex = e), (this.switchingQuality = !0), (this.quality = this.options.video.quality[e]), (this.template.qualityButton.innerHTML = this.quality.name);\r\n\r\n this.notice(\"\".concat(this.tran(\"Se cambiĆ³ a calidad\"), \" \").concat(this.quality.name, \" \").concat(this.tran(\"\")))\r\n t.switchingQuality = !1;\r\n /*var a = this.video.paused;\r\n //this.video.pause();\r\n var n = Me()({ current: !1, pic: null, screenshot: this.options.screenshot, preload: \"auto\", url: this.quality.url, subtitle: this.options.subtitle }),\r\n o = new DOMParser().parseFromString(n, \"text/html\").body.firstChild;\r\n this.template.videoWrap.insertBefore(o, this.template.videoWrap.getElementsByTagName(\"div\")[0]),\r\n (this.prevVideo = this.video),\r\n (this.video = o),\r\n this.initVideo(this.video, this.quality.type || this.options.video.type),\r\n //console.log(\"antes 1 seek\")\r\n //TODO\r\n //this.seek(this.prevVideo.currentTime),\r\n //console.log(\"despues 1 seek\")\r\n // COMENTADO CAMBIO CALIDAD\r\n this.notice(\"\".concat(this.tran(\"Cambiando a calidad\"), \" \").concat(this.quality.name, \" \").concat(this.tran(\"\")), -1),\r\n this.events.trigger(\"quality_start\", this.quality),\r\n this.on(\"canplay\", function () {\r\n if (t.prevVideo) {\r\n //TODO\r\n //console.log(\"antes 2 seek\")\r\n //if (t.video.currentTime !== t.prevVideo.currentTime) return void t.seek(t.prevVideo.currentTime);\r\n //console.log(\"despues 2 seek\")\r\n t.template.videoWrap.removeChild(t.prevVideo),\r\n t.video.classList.add(\"dplayer-video-current\"),\r\n a || t.video.play(),\r\n (t.prevVideo = null),\r\n t.notice(\"\".concat(t.tran(\"Se cambiĆ³ a calidad\"), \" \").concat(t.quality.name, \" \").concat(t.tran(\"\"))),\r\n (t.switchingQuality = !1),\r\n t.events.trigger(\"quality_end\");\r\n }\r\n });*/\r\n }\r\n },\r\n },\r\n {\r\n key: \"notice\",\r\n value: function (e) {\r\n var t = this,\r\n a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 2e3,\r\n n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0.8;\r\n (this.template.notice.innerHTML = e),\r\n (this.template.notice.style.opacity = n),\r\n this.noticeTime && clearTimeout(this.noticeTime),\r\n this.events.trigger(\"notice_show\", e),\r\n a > 0 &&\r\n (this.noticeTime = setTimeout(function () {\r\n (t.template.notice.style.opacity = 0), t.events.trigger(\"notice_hide\");\r\n }, a));\r\n },\r\n },\r\n {\r\n key: \"resize\",\r\n value: function () {\r\n this.danmaku && this.danmaku.resize(),\r\n this.controller.thumbnails && this.controller.thumbnails.resize(160, (this.video.videoHeight / this.video.videoWidth) * 160, this.template.barWrap.offsetWidth),\r\n this.events.trigger(\"resize\");\r\n },\r\n },\r\n {\r\n key: \"speed\",\r\n value: function (e) {\r\n this.video.playbackRate = e;\r\n },\r\n },\r\n {\r\n key: \"destroy\",\r\n value: function () {\r\n Pe.splice(Pe.indexOf(this), 1), this.pause(), this.controller.destroy(), this.timer.destroy(), (this.video.src = \"\"), (this.container.innerHTML = \"\"), this.events.trigger(\"destroy\");\r\n },\r\n },\r\n ]) && Ae(t.prototype, a),\r\n o && Ae(t, o),\r\n e\r\n );\r\n })();\r\n t.default = je;\r\n },\r\n ]).default;\r\n});\r\n//# sourceMappingURL=DPlayer.min.js.map\r\n","export const environment = {\r\n/* production: true,\r\n sistemaWebAdmin: \"{{sistemaWebAdmin}}\",//\"http://192.168.1.14:5000/api\",//\"http://192.168.2.51:5000/api\",// \"https://gys-plataforma-back.azurewebsites.net/api\",\r\n identityServer: \"http://localhost:16774/connect/token\",\r\n showroomUrl: \"http://192.168.1.14:5001\",//\"http://192.168.2.51:5001/api/showroom\",\r\n clientId: 'userapp',\r\n clientSecret: 'd60d6b88-bf36-463f-ae90-b423188bf1bf',\r\n grantType: 'userapp_validator',\r\n azAdClientId: '84b95b61-c3c9-470d-aa86-f20a6fcdbac3',\r\n azAdTenantId: '932d69f5-a800-4527-9dcf-eabfe5c25af4',\r\n azScopeId : '32550834-19c0-4a14-bf40-aa0d61c7f1ce',\r\n azScopeName : 'access_as_user',\r\n expiredLicense: \"{{expiredLicense}}\",//'2030-07-11',\r\n themeColor1: \"{{themeColor1}}\", //'#1f5165',\r\n themeColor2: \"{{themeColor2}}\",\r\n themeColorFont1: \"{{themeColorFont1}}\",//'#1d1d2b',\r\n themeColorFont2: \"{{themeColorFont2}}\",//'#1bc0db',\r\n logoPrincipal: 'assets/images/example.png',\r\n logoEnterprise: 'assets/images/g&s-logo.png', //'assets/images/Claro.svg',\r\n pathFile: '../../../../',\r\n camaraAlert: 'http://192.168.2.53:6001/api/showroom',\r\n wsUrl: \"http://192.168.1.14:5000\",//\"http://192.168.2.51:5000\",//\"https://gys-plataforma-back.azurewebsites.net:5000\",\r\n fnVA: \"{{fnVA}}\",\r\n signalR: \"{{signalR}}\", //https://fcplataforma.azurewebsites.net\r\n titleLogin: \"{{titleLogin}}\"\r\n};\r\n\r\n SHOWROOM\r\nexport const environment = {\r\n production: true,\r\n sistemaWebAdmin: \"http://192.168.2.51:5000/api\",\r\n identityServer: \"http://localhost:16774/connect/token\",\r\n showroomUrl: \"http://192.168.2.51:5001/api/showroom\",\r\n clientId: 'userapp',\r\n clientSecret: 'd60d6b88-bf36-463f-ae90-b423188bf1bf',\r\n grantType: 'userapp_validator',\r\n azAdClientId: '84b95b61-c3c9-470d-aa86-f20a6fcdbac3',\r\n azAdTenantId: '932d69f5-a800-4527-9dcf-eabfe5c25af4',\r\n azScopeId : '32550834-19c0-4a14-bf40-aa0d61c7f1ce',\r\n azScopeName : 'access_as_user',\r\n expiredLicense: '2030-07-11',\r\n themeColor1: '#1f5165',\r\n themeColor2: '#1f5165',\r\n themeColorFont: 'white',\r\n logoPrincipal: 'assets/images/example.png',\r\n logoEnterprise: 'assets/images/g&s-logo.png',\r\n pathFile: '../../../../',\r\n camaraAlert: 'http://192.168.2.53:6001/api/showroom',\r\n wsUrl: \"http://192.168.2.51:5000\",\r\n signalR: \"https://fcplataforma.azurewebsites.net\"\r\n};*/\r\n\r\n/* CLARO */\r\nproduction: true,\r\nsistemaWebAdmin: \"https://backend.smartechlatam.online/api\",\r\nidentityServer: \"http://localhost:16774/connect/token\",\r\nshowroomUrl: \"http://192.168.1.30:5000/api/showroom\",\r\nclientId: 'userapp',\r\nclientSecret: 'd60d6b88-bf36-463f-ae90-b423188bf1bf',\r\ngrantType: 'userapp_validator',\r\nazAdClientId: '84b95b61-c3c9-470d-aa86-f20a6fcdbac3',\r\nazAdTenantId: '932d69f5-a800-4527-9dcf-eabfe5c25af4',\r\nazScopeId : '32550834-19c0-4a14-bf40-aa0d61c7f1ce',\r\nazScopeName : 'access_as_user',\r\nexpiredLicense: '2030-07-11',\r\nthemeColor1: '#DA291C',\r\nthemeColor2: '#DA291C',\r\nthemeColorFont: 'white',\r\nthemeColorFont1: \"white\",//'#1d1d2b',\r\nthemeColorFont2: \"white\",//'#1bc0db',\r\nlogoPrincipal: 'assets/images/Claro.svg',\r\nlogoEnterprise: 'assets/images/Claro.svg',\r\npathFile: '/',\r\ncamaraAlert: 'http://192.168.2.229:6001/api/showroom',\r\nwsUrl: \"http://192.168.1.14:5000\",//\"http://192.168.2.51:5000\",//\"https://gys-plataforma-back.azurewebsites.net:5000\",\r\nfnVA: \"https://fnfromiot02industria04qa.azurewebsites.net\",\r\nsignalR: \"https://fcplataforma.azurewebsites.net\", //https://fcplataforma.azurewebsites.net\r\ntitleLogin: \"Plataforma de industria 4.0\"\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}