@c8y/ng1-modules 1020.40.0 → 1021.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/aclManagement/controllers/permissionEditorCtrl.js +1 -1
- package/aclManagement/directives/permissionEditor.js +1 -1
- package/aclManagement/index.js +1 -1
- package/administration-alarmMapping/controllers/alarmMapping.js +1 -1
- package/administration-alarmMapping/index.js +1 -1
- package/administration-applicationSettings/controllers/applicationSettings.js +1 -1
- package/administration-applicationSettings/index.js +1 -1
- package/administration-applications/appWizard/appWizard.deprecated.js +0 -1
- package/administration-applications/appWizard/appWizardClone1Step.component.js +1 -1
- package/administration-applications/appWizard/appWizardClone2Step.component.js +1 -1
- package/administration-applications/appWizard/appWizardExternalStep.component.js +1 -1
- package/administration-applications/appWizard/appWizardMenuStep.component.js +1 -1
- package/administration-applications/appWizard/appWizardSmartAppStep.component.js +1 -1
- package/administration-applications/appWizard/appWizardSuccessStep.component.js +1 -1
- package/administration-applications/appWizard/appWizardUploadStep.component.js +1 -1
- package/administration-applications/appWizard/context-path.directive.js +1 -1
- package/administration-applications/application-detail/application-detail.component.js +1 -1
- package/administration-applications/application-detail/application-detail.deprecated.js +0 -1
- package/administration-applications/application-list-view/application-list-view.component.js +1 -1
- package/administration-applications/application-list-view/application-list-view.deprecated.js +0 -1
- package/administration-applications/controllers/appDetailsTitle.js +1 -1
- package/administration-applications/controllers/applicationAccessEditor.js +1 -1
- package/administration-applications/controllers/permissions.js +1 -1
- package/administration-applications/directives/applicationAccessEditor.js +1 -1
- package/administration-applications/index.js +1 -1
- package/administration-applications/index.mock.js +1 -1
- package/administration-archivesEditor/index.js +1 -1
- package/administration-archivesEditor/index.mock.js +1 -1
- package/administration-archivesEditor/list.controller.js +1 -1
- package/administration-archivesEditor/upload.controller.js +1 -1
- package/administration-auditLogs/filter.directive.js +1 -1
- package/administration-auditLogs/index.js +1 -1
- package/administration-auditLogs/index.mock.js +1 -1
- package/administration-auditLogs/list.controller.js +1 -1
- package/administration-config/administration-config.module.js +1 -1
- package/administration-deviceUsers/controllers/deviceUserDetail.js +1 -1
- package/administration-deviceUsers/controllers/deviceUserList.js +1 -1
- package/administration-deviceUsers/index.js +1 -1
- package/administration-deviceUsers/views/list.html +2 -4
- package/administration-homeAdministration/home-administration.component.js +1 -1
- package/administration-homeAdministration/home-administration.config.js +1 -1
- package/administration-retentionRules/index.js +1 -1
- package/administration-retentionRules/index.mock.js +1 -1
- package/administration-retentionRules/list.controller.js +1 -1
- package/administration-retentionRules/views/list.html +1 -1
- package/administration-statistics/controllers/statistics.js +1 -1
- package/administration-statistics/index.js +1 -1
- package/administration-statistics/index.mock.js +1 -1
- package/administration-storageLimitEmail/controllers/storageLimitCtrl.js +1 -1
- package/administration-storageLimitEmail/index.js +1 -1
- package/alarmsEventsExplorer/alarmsEventsTimelinesChart/alarmsEventsTimelinesChart.component.js +1 -1
- package/alarmsEventsExplorer/alarmsEventsTimelinesChart/alarmsEventsTimelinesChart.service.js +1 -1
- package/alarmsEventsExplorer/alarmsEventsTimelinesConfig/alarmsEventsTimelinesConfig.component.js +1 -1
- package/alarmsEventsExplorer/alarmsEventsTimelinesConfig/alarmsEventsTimelinesConfigModal.controller.js +1 -1
- package/alarmsEventsExplorer/index.js +1 -1
- package/app-logs/app-instance-logs/app-instance-logs.component.js +1 -1
- package/app-logs/app-instance-logs/app-instance-logs.html +31 -10
- package/app-logs/app-logs/app-logs.component.js +1 -1
- package/app-logs/app-logs/download-logs.component.js +1 -1
- package/app-logs/app-logs.service.js +1 -1
- package/app-logs/index.js +1 -1
- package/app-status/app-alarms/app-alarms.component.js +1 -1
- package/app-status/app-events/app-events.component.js +1 -1
- package/app-status/app-instances/app-instances.component.js +1 -1
- package/app-status/app-instances-details/app-instances-details.component.js +1 -1
- package/app-status/app-status/app-status.component.js +1 -1
- package/app-status/app-tenant-subscriptions-list/app-tenant-subscriptions-list.component.js +1 -1
- package/app-status/index.js +1 -1
- package/app-status-ui/index.js +1 -1
- package/asset-notes/assetNotes.component.js +1 -1
- package/asset-notes/assetNotes.module.js +1 -1
- package/asset-notes/assetNotes.service.js +1 -1
- package/assetPropertyWidget/index.js +1 -1
- package/assetPropertyWidget/index.mock.js +1 -1
- package/assetPropertyWidget/main.controller.js +1 -1
- package/assetTable/addIconMap.controller.js +1 -1
- package/assetTable/addOperation.controller.js +1 -1
- package/assetTable/assetTable2/assets.controller.js +1 -1
- package/assetTable/assetTable2/assets.service.js +1 -1
- package/assetTable/assetTable2/assetsConfig.controller.js +1 -1
- package/assetTable/assetTable2/configIconMap.controller.js +1 -1
- package/assetTable/assetTable2/index.js +1 -1
- package/assetTable/assetTable2/rendererButton.controller.js +1 -1
- package/assetTable/assetTable2/rendererButtonConfig.controller.js +1 -1
- package/assetTable/assetTable2/rendererIcon.controller.js +1 -1
- package/assetTable/assetTable2/sort.directive.js +1 -1
- package/assetTable/assets.controller.js +1 -1
- package/assetTable/assetsConfig.controller.js +1 -1
- package/assetTable/comparisons.service.js +1 -1
- package/assetTable/counterColumns.service.js +1 -1
- package/assetTable/index.js +1 -1
- package/assetTable/operationTemplate.service.js +1 -1
- package/assetTable/sort.directive.js +1 -1
- package/binary-file-download/binary-file-download.component.js +1 -1
- package/binary-file-download/binary-file-download.config.js +1 -1
- package/binaryArtefactsManagement/controllers/list.js +1 -1
- package/binaryArtefactsManagement/controllers/upload.js +1 -1
- package/binaryArtefactsManagement/index.js +1 -1
- package/cockpit-assetCount/controllers/AssetCount.js +1 -1
- package/cockpit-assetCount/index.js +1 -1
- package/cockpit-assetCount/services/assetCount.js +1 -1
- package/cockpit-cockpitConfig/index.js +1 -1
- package/cockpit-cockpitConfig/services/navigator.js +1 -1
- package/cockpit-dataPointExplorerUI/index.js +1 -1
- package/cockpit-reports/index.js +1 -1
- package/cockpit-reports/reports.service.js +1 -1
- package/cockpit-smartRulesUI/index.js +1 -1
- package/commandTemplates/components/commandTemplates.js +1 -1
- package/commandTemplates/controllers/commandTemplates.js +1 -1
- package/commandTemplates/index.js +1 -1
- package/connectivityV2/auditLogs.component.js +1 -1
- package/connectivityV2/connectivityV2.component.js +1 -1
- package/connectivityV2/connectivityV2.module.js +1 -1
- package/connectivityV2/connectivityV2.service.js +1 -1
- package/connectivityV2/sessions.component.js +1 -1
- package/connectivityV2/sms.component.js +1 -1
- package/connectivityV2/status.component.js +1 -1
- package/core/angular-locales.js +1 -1
- package/core/angularStart.js +1 -1
- package/core/bootstrap.js +1 -1
- package/core/core/cometdExtensions.js +1 -1
- package/core/core/config.js +1 -1
- package/core/core/index.js +1 -1
- package/core/core/locales.js +1 -1
- package/core/core/services/SMSGateway.js +1 -1
- package/core/core/services/actility.js +1 -1
- package/core/core/services/alarms.js +1 -1
- package/core/core/services/application.js +1 -1
- package/core/core/services/audits.js +1 -1
- package/core/core/services/auth.js +1 -1
- package/core/core/services/base.js +1 -1
- package/core/core/services/binary.js +1 -1
- package/core/core/services/binaryCommon.js +1 -1
- package/core/core/services/connectivity.js +1 -1
- package/core/core/services/connectivitySettings.js +1 -1
- package/core/core/services/counter.js +1 -1
- package/core/core/services/deviceBulkControl.js +1 -1
- package/core/core/services/deviceControl.js +1 -1
- package/core/core/services/deviceGroup.js +1 -1
- package/core/core/services/deviceShell.js +1 -1
- package/core/core/services/deviceStatus.js +1 -1
- package/core/core/services/devices.js +1 -1
- package/core/core/services/dynamicGroups.js +1 -1
- package/core/core/services/events.js +1 -1
- package/core/core/services/geo.js +1 -1
- package/core/core/services/groupTypesConfig.js +1 -1
- package/core/core/services/groups.js +1 -1
- package/core/core/services/identity.js +1 -1
- package/core/core/services/inventory.js +1 -1
- package/core/core/services/jsonSchemas.js +1 -1
- package/core/core/services/kpi.js +1 -1
- package/core/core/services/license.js +1 -1
- package/core/core/services/loginOptions.js +1 -1
- package/core/core/services/measurementUnits.js +1 -1
- package/core/core/services/measurements.js +1 -1
- package/core/core/services/messaging.js +1 -1
- package/core/core/services/notifications.js +1 -1
- package/core/core/services/permissions.js +1 -1
- package/core/core/services/promise.js +1 -1
- package/core/core/services/queriesUtil.js +1 -1
- package/core/core/services/realtime.js +1 -1
- package/core/core/services/realtimeLongPollingTransport.js +1 -1
- package/core/core/services/retentions.js +1 -1
- package/core/core/services/roles.js +1 -1
- package/core/core/services/settings.js +1 -1
- package/core/core/services/simulator.js +1 -1
- package/core/core/services/smartRestTemplates.js +1 -1
- package/core/core/services/statement.js +1 -1
- package/core/core/services/statistics.js +1 -1
- package/core/core/services/storageLimitation.js +1 -1
- package/core/core/services/system.js +1 -1
- package/core/core/services/tenant.js +1 -1
- package/core/core/services/tfaSettings.js +1 -1
- package/core/core/services/tracker.js +1 -1
- package/core/core/services/user.js +1 -1
- package/core/core/services/userGroup.js +1 -1
- package/core/core/services/userPreferences.js +1 -1
- package/core/core/services/util.js +1 -1
- package/core/core/services/workers.js +1 -1
- package/core/cumulocity.json +0 -14
- package/core/index.js +1 -1
- package/core/locales/de.po +216 -366
- package/core/locales/en.po +3 -15
- package/core/locales/en_US.po +887 -0
- package/core/locales/es.po +232 -372
- package/core/locales/fr.po +224 -373
- package/core/locales/ja_JP.po +187 -370
- package/core/locales/ko.po +132 -391
- package/core/locales/nl.po +222 -371
- package/core/locales/pl.po +227 -375
- package/core/locales/pt_BR.po +223 -369
- package/core/locales/zh_CN.po +127 -386
- package/core/locales/zh_TW.po +128 -387
- package/core/sdk/directives/login.js +1 -1
- package/core/sdk/directives/logout.js +1 -1
- package/core/sdk/directives/repeat.js +1 -1
- package/core/sdk/index.js +1 -1
- package/core/sdk/providers/cumulocity.js +1 -1
- package/core/ui/components/battery/battery.js +1 -1
- package/core/ui/components/errorFeedback.js +1 -1
- package/core/ui/components/feedback-panel.component.js +1 -1
- package/core/ui/components/inplaceInput.js +1 -1
- package/core/ui/components/passwordStrengthChecklist.js +1 -1
- package/core/ui/components/signalStrength/signal.js +1 -1
- package/core/ui/components/timelinesChart.js +1 -1
- package/core/ui/constants/pathUtils.js +1 -1
- package/core/ui/containers/header.component.js +1 -1
- package/core/ui/containers/root.component.js +1 -1
- package/core/ui/containers/wizard.component.js +1 -1
- package/core/ui/containers/wizardModal.service.js +1 -1
- package/core/ui/containers/wizardSlide.jquery.js +1 -1
- package/core/ui/containers/wizardStep.component.js +1 -1
- package/core/ui/controllers/addDynamicGroupModal.js +1 -1
- package/core/ui/controllers/binaryInputModal.js +1 -1
- package/core/ui/controllers/editRetentionRule.js +1 -1
- package/core/ui/controllers/eventList.js +1 -1
- package/core/ui/controllers/listPagination/listPagination.controller.js +1 -1
- package/core/ui/controllers/loginCtrl.js +1 -1
- package/core/ui/controllers/mcontainer.js +1 -1
- package/core/ui/controllers/radialGauge.js +1 -1
- package/core/ui/csvExporter/csv-escape-formulas-option.decorator.js +1 -1
- package/core/ui/csvExporter/csvExporter.controller.js +1 -1
- package/core/ui/csvExporter/csvExporter.directive.js +1 -1
- package/core/ui/csvExporter/csvExporter.service.js +1 -1
- package/core/ui/directives/affix.js +1 -1
- package/core/ui/directives/aggregation.js +1 -1
- package/core/ui/directives/alarmList.js +1 -1
- package/core/ui/directives/appIcon.js +1 -1
- package/core/ui/directives/auditList.js +1 -1
- package/core/ui/directives/audits.js +1 -1
- package/core/ui/directives/autocomplete.js +1 -1
- package/core/ui/directives/autofocus.js +1 -1
- package/core/ui/directives/binaryInput.js +1 -1
- package/core/ui/directives/binaryOut.js +1 -1
- package/core/ui/directives/bindHtmlCompile.js +1 -1
- package/core/ui/directives/codeEditor.js +1 -1
- package/core/ui/directives/dateTimePicker.js +1 -1
- package/core/ui/directives/deviceGroupSelector.js +1 -1
- package/core/ui/directives/downloadButton.js +1 -1
- package/core/ui/directives/editRetentionRule.js +1 -1
- package/core/ui/directives/eventList.js +1 -1
- package/core/ui/directives/filePicker.js +1 -1
- package/core/ui/directives/hScroll.js +1 -1
- package/core/ui/directives/icon.js +1 -1
- package/core/ui/directives/ifAllowed.js +1 -1
- package/core/ui/directives/interval.js +1 -1
- package/core/ui/directives/keyShortcut.js +1 -1
- package/core/ui/directives/listPagination/listPagination.js +1 -1
- package/core/ui/directives/listPagination/listPaginationControl.js +1 -1
- package/core/ui/directives/loadMore.js +1 -1
- package/core/ui/directives/login.js +1 -1
- package/core/ui/directives/map-plugins/geofence-layer.js +1 -1
- package/core/ui/directives/map.js +1 -1
- package/core/ui/directives/map2.js +1 -1
- package/core/ui/directives/max.js +1 -1
- package/core/ui/directives/min.js +1 -1
- package/core/ui/directives/number.js +1 -1
- package/core/ui/directives/onChange.js +1 -1
- package/core/ui/directives/passwordStrength.js +1 -1
- package/core/ui/directives/phoneNumber.js +1 -1
- package/core/ui/directives/pieChart.js +1 -1
- package/core/ui/directives/radialGauge.js +1 -1
- package/core/ui/directives/rdbDump.js +1 -1
- package/core/ui/directives/realtimeBtn.js +1 -1
- package/core/ui/directives/realtimeButton.js +1 -1
- package/core/ui/directives/refreshBtn.js +1 -1
- package/core/ui/directives/renderer.js +1 -1
- package/core/ui/directives/scrollLoad.js +1 -1
- package/core/ui/directives/spellcheck.js +1 -1
- package/core/ui/directives/sunburstChart.js +1 -1
- package/core/ui/directives/textOut.js +1 -1
- package/core/ui/directives/validateIp.js +1 -1
- package/core/ui/directives/validateUniqueExternalId.js +1 -1
- package/core/ui/fieldbus/fieldbus.service.js +1 -1
- package/core/ui/filteringSorting/filteredSortedList.controller.js +1 -1
- package/core/ui/filteringSorting/filteredSortedList.directive.js +1 -1
- package/core/ui/filteringSorting/filteringSortingCollections.service.js +1 -1
- package/core/ui/filteringSorting/filteringSortingColumnConfigModal.controller.js +1 -1
- package/core/ui/filteringSorting/filteringSortingColumns.service.js +1 -1
- package/core/ui/filteringSorting/filteringSortingInventoryQueries.service.js +1 -1
- package/core/ui/filters/absoluteDate.js +1 -1
- package/core/ui/filters/bytes.js +1 -1
- package/core/ui/filters/capitalizestring.js +1 -1
- package/core/ui/filters/checkForDate.js +1 -1
- package/core/ui/filters/dateParts.js +1 -1
- package/core/ui/filters/distance.js +1 -1
- package/core/ui/filters/duration.js +1 -1
- package/core/ui/filters/filter-translate.decorator.js +1 -1
- package/core/ui/filters/filterByFields.js +1 -1
- package/core/ui/filters/hex.filter.js +1 -1
- package/core/ui/filters/humanize.js +1 -1
- package/core/ui/filters/humanize2.js +1 -1
- package/core/ui/filters/humanizeAppName.js +1 -1
- package/core/ui/filters/orderBy-translate.decorator.js +1 -1
- package/core/ui/filters/relativedate.js +1 -1
- package/core/ui/filters/safeLinks.js +1 -1
- package/core/ui/filters/truncate.filter.js +1 -1
- package/core/ui/forms/checkDirty.directive.js +1 -1
- package/core/ui/forms/duration-input.component.js +1 -1
- package/core/ui/forms/hex-input.directive.js +1 -1
- package/core/ui/forms/host-address.validator.js +1 -1
- package/core/ui/forms/http-protocol.validator.js +1 -1
- package/core/ui/forms/model-options.directive.js +1 -1
- package/core/ui/forms/regular-expression.validator.js +1 -1
- package/core/ui/forms/required-input-placeholder.directive.js +1 -1
- package/core/ui/forms/saveButtonFooter.component.js +1 -1
- package/core/ui/forms/search.component.js +1 -1
- package/core/ui/forms/ssh-key-input.js +1 -1
- package/core/ui/forms/toggle-disabled-class-on-select-wrapper.directive.js +1 -1
- package/core/ui/forms/uib-dropdown-dropup.directive.js +1 -1
- package/core/ui/forms/uib-dropdown-hide-empty.directive.js +1 -1
- package/core/ui/forms/uib-dropdown.decorator.js +1 -1
- package/core/ui/forms/validate-url-segment.validator.js +1 -1
- package/core/ui/groups/group-create-and-assign.component.js +1 -1
- package/core/ui/groups/group-details.config.js +1 -1
- package/core/ui/groups/group-device-assignment.component.js +1 -1
- package/core/ui/header/accessDeniedModal.controller.js +1 -1
- package/core/ui/header/action-bar-set.component.js +1 -1
- package/core/ui/header/action-bar.component.js +1 -1
- package/core/ui/header/action-bar.service.js +1 -1
- package/core/ui/header/actions.component.js +1 -1
- package/core/ui/header/actions.provider.js +1 -1
- package/core/ui/index.js +1 -1
- package/core/ui/inputDirectives/colorpicker.js +1 -1
- package/core/ui/itemSelector/itemSelector.component.js +1 -1
- package/core/ui/keys.js +1 -1
- package/core/ui/leaflet/leaflet-directive.decorator.js +1 -1
- package/core/ui/lists/list-display-control.component.js +1 -1
- package/core/ui/lists/quickLinksList.service.js +1 -1
- package/core/ui/locales/locales.provider.js +1 -1
- package/core/ui/measurements/range.service.js +1 -1
- package/core/ui/measurements/rangeSet.service.js +1 -1
- package/core/ui/navigation/breadcrumbs.component.js +1 -1
- package/core/ui/navigation/breadcrumbs.provider.js +1 -1
- package/core/ui/navigation/breadcrumbsSet.component.js +1 -1
- package/core/ui/navigation/navigator.component.js +1 -1
- package/core/ui/navigation/navigatorNode.component.js +1 -1
- package/core/ui/navigation/tabs.component.js +1 -1
- package/core/ui/navigation/tabs.provider.js +1 -1
- package/core/ui/notifications/accessDenied.service.js +1 -1
- package/core/ui/notifications/alert.controller.js +1 -1
- package/core/ui/notifications/alert.service.js +1 -1
- package/core/ui/notifications/alertOnItem.directive.js +1 -1
- package/core/ui/notifications/alerts.component.js +1 -1
- package/core/ui/operations/operations-timeline-modal.component.js +1 -1
- package/core/ui/operations/operations-timeline.component.js +1 -1
- package/core/ui/properties/children.computedProperty.js +1 -1
- package/core/ui/properties/computedProperties.provider.js +1 -1
- package/core/ui/properties/computedPropertyConfig.controller.js +1 -1
- package/core/ui/properties/configurationSnapshot.computedProperty.js +1 -1
- package/core/ui/properties/counters.computedProperty.js +1 -1
- package/core/ui/properties/lastDeviceMessage.computedProperty.js +1 -1
- package/core/ui/properties/lastMeasurement.computedProperty.js +1 -1
- package/core/ui/properties/lastMeasurementConfig.controller.js +1 -1
- package/core/ui/properties/propertiesLibrary.service.js +1 -1
- package/core/ui/properties/propertySelector.controller.js +1 -1
- package/core/ui/properties/propertySelector.directive.js +1 -1
- package/core/ui/properties/schemaProperties.service.js +1 -1
- package/core/ui/properties/schemaPropertySelector.controller.js +1 -1
- package/core/ui/providers/beta.js +1 -1
- package/core/ui/providers/components.js +1 -1
- package/core/ui/providers/httpCache.js +1 -1
- package/core/ui/providers/keys.js +1 -1
- package/core/ui/providers/mapConfig.js +1 -1
- package/core/ui/providers/maps.js +1 -1
- package/core/ui/providers/navigator.js +1 -1
- package/core/ui/providers/objectActions.js +1 -1
- package/core/ui/providers/renderers.js +1 -1
- package/core/ui/providers/search.js +1 -1
- package/core/ui/providers/views.js +1 -1
- package/core/ui/providers/zip.js +1 -1
- package/core/ui/realtime/realtime-switch.component.js +1 -1
- package/core/ui/roles/roles-matrix.component.js +1 -1
- package/core/ui/sanitize-html/sanitize-html.js +1 -1
- package/core/ui/sanitize-html/sanitize-html.service.js +1 -1
- package/core/ui/schemaForm/dateTimePicker.config.js +1 -1
- package/core/ui/schemaForm/deviceGroupIdPicker.config.js +1 -1
- package/core/ui/schemaForm/fileUpload.config.js +1 -1
- package/core/ui/schemaForm/fileUpload.directive.js +1 -1
- package/core/ui/schemaForm/formatBySchema.filter.js +1 -1
- package/core/ui/schemaForm/overrides/decorators/bootstrap/array.html +1 -1
- package/core/ui/schemaForm/overrides/decorators/decorators.decorator.js +1 -1
- package/core/ui/schemaForm/schemaEditor.component.js +1 -1
- package/core/ui/schemaForm/schemaForm.component.js +1 -1
- package/core/ui/schemaForm/schemaForm.config.js +1 -1
- package/core/ui/schemaForm/schemaForm.run.js +1 -1
- package/core/ui/schemaForm/schemaFormHelper.service.js +1 -1
- package/core/ui/schemaForm/schemaPropertyEditor.component.js +1 -1
- package/core/ui/schemaForm/text.config.js +1 -1
- package/core/ui/services/batchop.js +1 -1
- package/core/ui/services/contextDetailsShared.service.js +1 -1
- package/core/ui/services/docs.js +1 -1
- package/core/ui/services/groupsHierarchyNavigator.js +1 -1
- package/core/ui/services/groupsHierarchySvc.js +1 -1
- package/core/ui/services/loginService.js +1 -1
- package/core/ui/services/measurementsReport.js +1 -1
- package/core/ui/services/modal.js +1 -1
- package/core/ui/services/passwordStrengthCheckerFactory.js +1 -1
- package/core/ui/services/support.js +1 -1
- package/core/ui/services/tenantOptions.js +1 -1
- package/core/ui/services/uiconfig.js +1 -1
- package/core/ui/services/util.js +1 -1
- package/core/ui/shims.js +1 -1
- package/core/ui/smartrules/smartRulesAvailability.service.js +1 -1
- package/core/ui/title/title.controller.js +1 -1
- package/core/ui/title/title.provider.js +1 -1
- package/core/ui/title/uiTitle.component.js +1 -1
- package/core/ui/title/uiTitleSet.component.js +1 -1
- package/core/ui/user/editUser.controller.js +1 -1
- package/core/ui/user/editUser.directive.js +1 -1
- package/core/ui/user/editUser.service.js +1 -1
- package/core/ui/user/measurementUnitPreference.component.js +1 -1
- package/core/ui/user/rolesUiStrings.constant.js +1 -1
- package/core/ui/user/userPicker.component.js +1 -1
- package/core/ui/user/userSettingsBlocks.provider.js +1 -1
- package/core/ui/user/userUtil.service.js +1 -1
- package/core/ui/user/usernameValidator.directive.js +1 -1
- package/core/ui/utils/copyToClipboard.directive.js +1 -1
- package/core/ui/utils/guide-docs.directive.js +1 -1
- package/core/ui/utils/rectangle-spinner.component.js +1 -1
- package/core/ui/utils/uiComponent.directive.js +1 -1
- package/core/ui/views/auditList.html +2 -2
- package/core/ui/views/deviceGroupSelector.html +17 -8
- package/core/update-query-params.js +1 -1
- package/dashboard2/dashboard/dashboardSelect.controller.js +1 -1
- package/dashboard2/dashboard.service.js +1 -1
- package/dashboard2/dashboardInventory.service.js +1 -1
- package/dashboard2/index.js +1 -1
- package/dataBroker/connectors/connectorEditor.component.js +1 -1
- package/dataBroker/connectors/connectors.component.js +1 -1
- package/dataBroker/connectors/connectors.html +2 -2
- package/dataBroker/connectors/connectors.service.js +1 -1
- package/dataBroker/connectorsAlarms/connectorAlarms.component.js +1 -1
- package/dataBroker/connectorsAlarms/connectorAlarms.html +4 -0
- package/dataBroker/dataBroker.config.js +1 -1
- package/dataBroker/dataBroker.module.js +1 -1
- package/dataBroker/subscriptions/addSubscription.component.js +1 -1
- package/dataBroker/subscriptions/pendingSubscription.component.js +1 -1
- package/dataBroker/subscriptions/subscription.component.js +1 -1
- package/dataBroker/subscriptions/subscriptions.component.js +1 -1
- package/dataPointExplorer/controllers/dataPointAdd.js +1 -1
- package/dataPointExplorer/controllers/dataPointExplorer.js +1 -1
- package/dataPointExplorer/controllers/dataPointItem.js +1 -1
- package/dataPointExplorer/controllers/dataPointList.js +1 -1
- package/dataPointExplorer/controllers/dataPointWidget.js +1 -1
- package/dataPointExplorer/controllers/dataPointWidgetConfig.js +1 -1
- package/dataPointExplorer/directives/dataPointList.js +1 -1
- package/dataPointExplorer/directives/dataPointValidator.js +1 -1
- package/dataPointExplorer/index.js +1 -1
- package/dataPointExplorer/services/dataPoints.js +1 -1
- package/dataPointTable/dataPointTable.controller.js +1 -1
- package/dataPointTable/dataPointTable.directive.js +1 -1
- package/dataPointTable/dataPointTable.service.js +1 -1
- package/dataPointTable/index.js +1 -1
- package/dataPointTable/realtimeRadioButton.directive.js +1 -1
- package/dataPointTable/widget.controller.js +1 -1
- package/device-protocol-actility/actility-device.provider.js +1 -1
- package/device-protocol-actility/actility.module.js +1 -1
- package/device-protocol-canbus/canbus-device.provider.js +1 -1
- package/device-protocol-canbus/canbus.module.js +1 -1
- package/device-protocol-canopen/canopen-device.provider.js +1 -1
- package/device-protocol-canopen/canopen.module.js +1 -1
- package/device-protocol-deviceDatabase4/device-protocol-deviceDatabase4.module.js +1 -1
- package/device-protocol-deviceDatabase4/device-type-create-step.component.js +1 -1
- package/device-protocol-deviceDatabase4/device-type-protocol-base.provider.js +1 -1
- package/device-protocol-deviceDatabase4/device-type-row-info.component.js +1 -1
- package/device-protocol-lora/lora-device.provider.js +1 -1
- package/device-protocol-lora/lora.module.js +1 -1
- package/device-protocol-lpwan/lpwan-device.provider.js +1 -1
- package/device-protocol-lpwan/lpwan.module.js +1 -1
- package/device-protocol-lwm2m/lwm2m.provider.js +1 -1
- package/device-protocol-lwm2m/lwm2mDetail.component.js +1 -1
- package/device-protocol-lwm2m/lwm2mFinalStep.component.js +1 -1
- package/device-protocol-lwm2m/lwm2mResource.component.js +1 -1
- package/device-protocol-lwm2m/lwm2mUploadStep.component.js +1 -1
- package/device-protocol-lwm2m/lwm2mValidationRules/lwm2mValidationRule.component.js +1 -1
- package/device-protocol-lwm2m/lwm2mValidationRules/lwm2mValidationRules.component.js +1 -1
- package/device-protocol-lwm2m/module.js +1 -1
- package/device-protocol-modbus/modbus-device.provider.js +1 -1
- package/device-protocol-modbus/modbus.module.js +1 -1
- package/device-protocol-opcua/opcua-device.provider.js +1 -1
- package/device-protocol-opcua/opcua.module.js +1 -1
- package/device-protocol-opcua-v2/opcua-device-v2.provider.js +1 -1
- package/device-protocol-opcua-v2/opcua-v2-create-step.component.js +1 -1
- package/device-protocol-opcua-v2/opcua-v2-row-info.component.js +1 -1
- package/device-protocol-opcua-v2/opcua-v2.module.js +1 -1
- package/device-protocol-profibus/profibus-device.provider.js +1 -1
- package/device-protocol-profibus/profibus.module.js +1 -1
- package/device-protocol-sigfox/sigfox-device.provider.js +1 -1
- package/device-protocol-sigfox/sigfox.module.js +1 -1
- package/device-protocol-snmp/snmp-device.provider.js +1 -1
- package/device-protocol-snmp/snmp.module.js +1 -1
- package/device-protocols/device-protocol-import-button.component.js +1 -1
- package/device-protocols/deviceProtocolBreadcrumb.component.js +1 -1
- package/device-protocols/deviceProtocolList.component.js +1 -1
- package/device-protocols/deviceProtocolSelect.component.js +1 -1
- package/device-protocols/deviceProtocolUi.provider.js +1 -1
- package/device-protocols/deviceProtocolView.component.js +1 -1
- package/device-protocols/deviceProtocolWizard.component.js +1 -1
- package/device-protocols/module.js +1 -1
- package/device-protocols/object-mapping.component.js +1 -1
- package/device-protocols/object-mappings.service.js +1 -1
- package/deviceActility/actilityUI.provider.js +1 -1
- package/deviceActility/deviceActility.module.js +1 -1
- package/deviceActility/deviceActility.service.js +1 -1
- package/deviceControlRelay/index.js +1 -1
- package/deviceControlRelay/relayControl/relayControl.controller.js +1 -1
- package/deviceControlRelay/relayControl/relayControl.directive.js +1 -1
- package/deviceControlRelay/widget.controller.js +1 -1
- package/deviceControlRelayArray/index.js +1 -1
- package/deviceControlRelayArray/relayArrayControl/relayArrayControl.controller.js +1 -1
- package/deviceControlRelayArray/relayArrayControl/relayArrayControl.directive.js +1 -1
- package/deviceControlRelayArray/widget.controller.js +1 -1
- package/deviceDatabase4/detail/basic-info.component.js +1 -1
- package/deviceDatabase4/detail/device-type-detail.component.js +1 -1
- package/deviceDatabase4/detail/discrete-inputs.component.js +1 -1
- package/deviceDatabase4/detail/discrete-outputs.component.js +1 -1
- package/deviceDatabase4/detail/holding-registers.component.js +1 -1
- package/deviceDatabase4/detail/input-registers.component.js +1 -1
- package/deviceDatabase4/detail/message-id-configuration-description.component.js +1 -1
- package/deviceDatabase4/detail/message-id-configuration.component.js +1 -1
- package/deviceDatabase4/detail/options.component.js +1 -1
- package/deviceDatabase4/device-database-4.module.js +1 -1
- package/deviceDatabase4/device-database.service.js +1 -1
- package/deviceDatabase4/device-type-list.component.js +1 -1
- package/deviceDatabase4/modals/configure-discrete-io.component.js +1 -1
- package/deviceDatabase4/modals/configure-register.component.js +1 -1
- package/deviceDatabase4/modals/import-device-type.component.js +1 -1
- package/deviceDatabase4/modals/select-fieldbus-property.component.js +1 -1
- package/deviceDatabase4/parsers/device-type-parser-eds.service.js +1 -1
- package/deviceDatabase4/parsers/device-type-parser-json.service.js +1 -1
- package/deviceDatabase4/parsers/device-type-parser-mib.service.js +1 -1
- package/deviceDatabase4/parsers/device-type-parser.service.js +1 -1
- package/deviceDatabase4/property-generator.service.js +1 -1
- package/deviceDatabase4/unique.directive.js +1 -1
- package/deviceDatabase4/validate-measurement-fragment.directive.js +1 -1
- package/deviceDatabase4/validate-value-in-register-range.directive.js +1 -1
- package/deviceDatabase4/vendor/ini.js +1 -1
- package/deviceDetail/index.js +1 -1
- package/deviceDetailIdentity/controllers/identity.js +1 -1
- package/deviceDetailIdentity/index.js +1 -1
- package/deviceGroupAssignment/deviceGroupAssignment.module.js +1 -1
- package/deviceGroupAssignment/groupAssignment.component.js +1 -1
- package/devicePropertyWidget/controllers/config.js +1 -1
- package/devicePropertyWidget/controllers/widget.js +1 -1
- package/devicePropertyWidget/directives/fragmentCheckboxList.js +1 -1
- package/devicePropertyWidget/index.js +1 -1
- package/devicePropertyWidget/services/moRealTimeDetails.js +1 -1
- package/deviceSelector/controllers/deviceSelectorComboCtrl.js +1 -1
- package/deviceSelector/controllers/deviceSelectorCtrl.js +1 -1
- package/deviceSelector/controllers/deviceSelectorListCtrl.js +1 -1
- package/deviceSelector/directives/deviceSelector.js +1 -1
- package/deviceSelector/directives/deviceSelectorCombo.js +1 -1
- package/deviceSelector/directives/deviceSelectorList.js +1 -1
- package/deviceSelector/index.js +1 -1
- package/deviceStatusWidget/availability.component.js +1 -1
- package/deviceStatusWidget/deviceStatus.component.js +1 -1
- package/deviceStatusWidget/deviceStatus.module.js +1 -1
- package/deviceStatusWidget/keyboardKeyHandler.service.js +1 -1
- package/deviceStatusWidget/ownerStatus.component.js +1 -1
- package/deviceStatusWidget/requiredAvailabilityIntervalSetting.component.js +1 -1
- package/deviceTitle/cumulocity.json +7 -0
- package/deviceTitle/index.js +1 -0
- package/devicemanagement-availability/controllers/availability.js +1 -1
- package/devicemanagement-availability/index.js +1 -1
- package/devicemanagement-deviceListMap/controllers/deviceListMap.js +1 -1
- package/devicemanagement-deviceListMap/index.js +1 -1
- package/devicemanagement-deviceManagement/cumulocity.json +1 -6
- package/devicemanagement-deviceManagement/devicemanagement.module.js +1 -1
- package/devicemanagement-deviceNetwork/controllers/network.js +1 -1
- package/devicemanagement-deviceNetwork/index.js +1 -1
- package/devicemanagement-eventList/controllers/eventList.js +1 -1
- package/devicemanagement-eventList/index.js +1 -1
- package/devicemanagement-location/controllers/location.js +1 -1
- package/devicemanagement-logViewer/config.js +1 -1
- package/devicemanagement-logViewer/controllers/logViewer.js +1 -1
- package/devicemanagement-logViewer/directives/logViewer.js +1 -1
- package/devicemanagement-logViewer/index.js +1 -1
- package/devicemanagement-logViewer/providers/logViewer.js +1 -1
- package/devicemanagement-measurements/index.js +1 -1
- package/devicemanagement-restartDevice/index.js +1 -1
- package/devicemanagement-tixiDeviceControl/index.js +1 -1
- package/enterpriseEdition/createFile.js +1 -1
- package/enterpriseEdition/customBranding/brandingConfiguration.constants.js +1 -1
- package/enterpriseEdition/customBranding/brandingConfiguration.service.js +1 -1
- package/enterpriseEdition/customBranding/brandingConfigurationForm.component.js +1 -1
- package/enterpriseEdition/customBranding/brandingConfigurationUi.provider.js +1 -1
- package/enterpriseEdition/customBranding/brandingDeploy.service.js +1 -1
- package/enterpriseEdition/customBranding/brandingProcessExecution.component.js +1 -1
- package/enterpriseEdition/customBranding/custom-branding.module.js +1 -1
- package/enterpriseEdition/customBranding/microservice.value.js +1 -1
- package/enterpriseEdition/enterpriseEdition.module.js +1 -1
- package/enterpriseEdition/enterpriseEditionAvailability.service.js +1 -1
- package/enterpriseEdition/sslCertificate/certificateActivation.component.js +1 -1
- package/enterpriseEdition/sslCertificate/certificateDeactivation.component.js +1 -1
- package/enterpriseEdition/sslCertificate/countDownRedirect.component.js +1 -1
- package/enterpriseEdition/sslCertificate/manageCertificate.component.js +1 -1
- package/enterpriseEdition/sslCertificate/manageCertificate.service.js +1 -1
- package/enterpriseEdition/ui-assets/index.js +1 -1
- package/enterpriseEdition/ui-assets/public-options.service.js +1 -1
- package/enterpriseEdition/ui-assets/static-assets.service.js +1 -1
- package/enterpriseEdition/ui-assets/ui-assets.service.js +1 -1
- package/eventList/eventList.controller.js +1 -1
- package/eventList/eventListConfig.controller.js +1 -1
- package/eventList/index.js +1 -1
- package/eventsBinary/components/eventBinaryActions/eventBinaryActions.js +1 -1
- package/eventsBinary/components/eventBinaryIcon/eventBinaryIcon.js +1 -1
- package/eventsBinary/components/eventBinaryPreview/eventBinaryPreview.js +1 -1
- package/eventsBinary/eventsBinary.module.js +1 -1
- package/eventsBinary/services/eventsBinary.service.js +1 -1
- package/export/controllers/detail.js +1 -1
- package/export/controllers/list.js +1 -1
- package/export/directives/timespan.js +1 -1
- package/export/index.js +1 -1
- package/export/index.mock.js +1 -1
- package/export/services/api.js +1 -1
- package/export/services/config.js +1 -1
- package/export/services/export.js +1 -1
- package/export/services/filters.js +1 -1
- package/fieldbusConfig/fieldbus-config.module.js +1 -1
- package/generic-ui/config-audit/config-audit-diff.component.js +1 -1
- package/generic-ui/config-audit/config-audit-modal.component.js +1 -1
- package/generic-ui/config-audit/config-audit.component.js +1 -1
- package/generic-ui/config-audit/config-audit.service.js +1 -1
- package/generic-ui/config-audit/index.js +1 -1
- package/generic-ui/data.mock.js +1 -1
- package/generic-ui/generic-ui-auto.component.js +1 -1
- package/generic-ui/generic-ui-config.provider.js +1 -1
- package/generic-ui/generic-ui-inventory-property.component.js +1 -1
- package/generic-ui/generic-ui-inventory.component.js +1 -1
- package/generic-ui/generic-ui-operation-list-button.component.js +1 -1
- package/generic-ui/generic-ui.component.js +1 -1
- package/generic-ui/generic-ui.service.js +1 -1
- package/generic-ui/module.js +1 -1
- package/groupsHierarchy/controllers/assetSearchCtrl.js +1 -1
- package/groupsHierarchy/controllers/groupDevicesCtrl.js +1 -1
- package/groupsHierarchy/controllers/groupsListCtrl.js +1 -1
- package/groupsHierarchy/groupsHierarchyUi.provider.js +1 -1
- package/groupsHierarchy/index.js +1 -1
- package/groupsHierarchy/index.mock.js +1 -1
- package/htmlWidget/htmlWidget.controller.js +1 -1
- package/htmlWidget/htmlWidget.directive.js +1 -1
- package/htmlWidget/htmlWidgetConfig.controller.js +1 -1
- package/htmlWidget/index.js +1 -1
- package/htmlWidget/index.mock.js +1 -1
- package/index.js +1 -1
- package/kpi/controllers/deprecated/edit.js +1 -1
- package/kpi/controllers/deprecated/graph.js +1 -1
- package/kpi/controllers/deprecated/multipleKpiConfig.js +1 -1
- package/kpi/controllers/deprecated/setup.js +1 -1
- package/kpi/controllers/gauge.js +1 -1
- package/kpi/controllers/kpiConfig.js +1 -1
- package/kpi/controllers/list.js +1 -1
- package/kpi/controllers/listConfig.js +1 -1
- package/kpi/controllers/pieChart.js +1 -1
- package/kpi/controllers/pieChartConfig.js +1 -1
- package/kpi/index.js +1 -1
- package/kpi/index.mock.js +0 -1
- package/kpi/services/baseWidget.js +1 -1
- package/kpi/services/kpi.js +1 -1
- package/kpi/services/mostRecentKpi.js +1 -1
- package/map/controllers/geofenceEdit.js +1 -1
- package/map/controllers/map.js +1 -1
- package/map/index.js +1 -1
- package/map/services/geofence.js +1 -1
- package/measurements/controllers/lineChart.js +1 -1
- package/measurements/controllers/measurements.js +1 -1
- package/measurements/directives/lineChart.js +1 -1
- package/measurements/directives/timeIntervalChoice.js +1 -1
- package/measurements/fragmentChart/fragmentChart.component.js +1 -1
- package/measurements/index.js +1 -1
- package/measurements/measurements2/axisX.service.js +1 -1
- package/measurements/measurements2/axisY.service.js +1 -1
- package/measurements/measurements2/chart.controller.js +1 -1
- package/measurements/measurements2/chart.directive.js +1 -1
- package/measurements/measurements2/chart.service.js +1 -1
- package/measurements/measurements2/chartCommon.service.js +1 -1
- package/measurements/measurements2/hoverInfo.service.js +1 -1
- package/measurements/measurements2/iconBar.js +1 -1
- package/measurements/measurements2/rtAutoMove.service.js +1 -1
- package/measurements/measurements2/series.service.js +1 -1
- package/measurements/services/lineChartService.js +1 -1
- package/modbusConfiguration4/fieldbus-config.component.js +1 -1
- package/modbusConfiguration4/fieldbus-device-list.component.js +1 -1
- package/modbusConfiguration4/modbus-configuration-4.config.js +1 -1
- package/modbusConfiguration4/modbus-configuration-4.module.js +1 -1
- package/modbusWidget4/constants.js +1 -1
- package/modbusWidget4/modbus-widget.service.js +1 -1
- package/modbusWidget4/widget-config.component.js +1 -1
- package/modbusWidget4/widget.component.js +1 -1
- package/modbusWidget4/widget.config.js +1 -1
- package/modbusWidget4/widget.html +1 -1
- package/modbusWidget4/widget.module.js +1 -1
- package/modbusWidgets/controllers/widget.js +1 -1
- package/modbusWidgets/controllers/widgetConfig.js +1 -1
- package/modbusWidgets/index.js +1 -1
- package/modbusWidgets/services/modbusWidget.js +1 -1
- package/newsletter/downloadEmailsList.component.js +1 -1
- package/newsletter/newsletter.config.js +1 -1
- package/newsletter/newsletter.module.js +1 -1
- package/newsletter/newsletter.service.js +1 -1
- package/newsletter/subscribeNewsletter.component.js +1 -1
- package/nvd3ChartDirectives/override.js +1 -1
- package/oauth/controllers/oauth.js +1 -1
- package/oauth/index.js +1 -1
- package/package.json +5 -5
- package/platformConfiguration/index.js +1 -1
- package/platformConfiguration/platformConfiguration.component.js +1 -1
- package/platformConfiguration/platformConfigurationUi.provider.js +1 -1
- package/propertiesLibrary/index.js +1 -1
- package/propertiesLibrary/jsonSchemaObjectEditor.component.js +1 -1
- package/propertiesLibrary/jsonSchemaObjectsList.component.js +1 -1
- package/qrCode/controllers/qrCode.js +1 -1
- package/qrCode/directives/displayQrCode.js +1 -1
- package/qrCode/index.js +1 -1
- package/qrCode/services/qrCodePrinter.js +1 -1
- package/qrCode/services/qrCodeTemplate.js +1 -1
- package/relayWidget/index.js +1 -1
- package/relayWidget/relay.controller.js +1 -1
- package/relayWidget/relay.service.js +1 -1
- package/remoteAccess/clients/remoteAccessClients.service.js +1 -1
- package/remoteAccess/clients/terminal/index.js +1 -1
- package/remoteAccess/clients/terminal/shell-adapter.js +1 -1
- package/remoteAccess/clients/terminal/telnet-negotiator.js +1 -1
- package/remoteAccess/clients/vnc/vncClient.js +1 -1
- package/remoteAccess/remoteAccess.module.js +1 -1
- package/remoteAccess/remoteAccess.service.js +1 -1
- package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.component.js +1 -1
- package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.component.js +1 -1
- package/remoteAccess/remoteAccessEndpointsList/remoteAccessEndpointsList.component.js +1 -1
- package/remoteAccess/remoteAccessSettings/remoteAccessSettings.component.js +1 -1
- package/remoteAccess/remoteAccessUI.provider.js +1 -1
- package/roles/detail/roleDetailGlobal.component.js +1 -1
- package/roles/detail/roleDetailInventory.component.js +1 -1
- package/roles/detail/roleGlobalSaveConfirm.controller.js +1 -1
- package/roles/detail/roleGlobalSaveConfirm.html +9 -5
- package/roles/detail/roleInventoryPermissionList.component.js +1 -1
- package/roles/detail/roleTitle.component.js +1 -1
- package/roles/index.js +1 -1
- package/roles/list/rolesList.component.js +1 -1
- package/roles/list/rolesOverview.controller.js +1 -1
- package/roles/rolesUi.provider.js +1 -1
- package/scada/config.controller.js +1 -1
- package/scada/index.js +1 -1
- package/scada/index.mock.js +1 -1
- package/scada/mapping.directive.js +1 -1
- package/scada/svg.directive.js +1 -1
- package/scada/util.service.js +1 -1
- package/scada/views/component.html +1 -0
- package/scada/views/componentConfig.html +1 -0
- package/scada/widget.controller.js +1 -1
- package/simulators/add/simulatorAdd.component.js +1 -1
- package/simulators/detail/detail.component.js +1 -1
- package/simulators/detail/detail.controller.js +1 -1
- package/simulators/detail/instructionAdd.component.js +1 -1
- package/simulators/detail/instructionDetail.component.js +1 -1
- package/simulators/detail/instructionList.component.js +1 -1
- package/simulators/detail/operationAddDialog.component.js +1 -1
- package/simulators/detail/operations.component.js +1 -1
- package/simulators/index.js +1 -1
- package/simulators/list/list.component.js +1 -1
- package/simulators/list/simulatorCloneDialog.component.js +1 -1
- package/simulators/simulators.service.js +1 -1
- package/simulators/simulatorsUi.provider.js +1 -1
- package/smartRestEditor/addTemplate/addTemplate.component.js +1 -1
- package/smartRestEditor/csvPreviewer/csvPreviewer.component.js +1 -1
- package/smartRestEditor/details.controller.js +1 -1
- package/smartRestEditor/importTemplate/importTemplate.component.js +1 -1
- package/smartRestEditor/index.js +1 -1
- package/smartRestEditor/list.controller.js +1 -1
- package/smartRestEditor/requestEditor/requestEditor.component.js +1 -1
- package/smartRestEditor/responseEditor/responseEditor.component.js +1 -1
- package/smartRestEditor/validators/validateCustomFieldKeyInRequestTemplate.directive.js +1 -1
- package/smartRestEditor/validators/validateUniqueMsgIdInTemplate.directive.js +1 -1
- package/smartRestEditor/valueInput/valueInput.directive.js +1 -1
- package/smartRestEditorUI/index.js +1 -1
- package/smartRules/add/addSmartRuleButton.component.js +1 -1
- package/smartRules/controllers/add.js +1 -1
- package/smartRules/controllers/childAssetsSelector.js +1 -1
- package/smartRules/controllers/edit.js +1 -1
- package/smartRules/controllers/list.js +1 -1
- package/smartRules/controllers/smartRuleParamInput.js +1 -1
- package/smartRules/directives/childAssetsSelector.js +1 -1
- package/smartRules/directives/smartRuleParamInput.js +1 -1
- package/smartRules/directives/smartRuleParamInputAlarmSeverity.js +1 -1
- package/smartRules/directives/smartRuleParamInputAlarmType.js +1 -1
- package/smartRules/directives/smartRuleParamInputCheckbox.js +1 -1
- package/smartRules/directives/smartRuleParamInputDashboard.js +1 -1
- package/smartRules/directives/smartRuleParamInputDefault.js +1 -1
- package/smartRules/directives/smartRuleParamInputEmail.js +1 -1
- package/smartRules/directives/smartRuleParamInputEscalationSteps.js +1 -1
- package/smartRules/directives/smartRuleParamInputExportConfiguration.js +1 -1
- package/smartRules/directives/smartRuleParamInputFrequency.js +1 -1
- package/smartRules/directives/smartRuleParamInputGeofence.js +1 -1
- package/smartRules/directives/smartRuleParamInputKpi.js +1 -1
- package/smartRules/directives/smartRuleParamInputNumber.js +1 -1
- package/smartRules/directives/smartRuleParamInputOperation.js +1 -1
- package/smartRules/directives/smartRuleParamInputPhoneNumber.js +1 -1
- package/smartRules/directives/smartRuleParamInputSelect.js +1 -1
- package/smartRules/directives/smartRuleParamInputTextarea.js +1 -1
- package/smartRules/directives/smartRuleParamInputTimeInterval.js +1 -1
- package/smartRules/directives/smartRuleParamWarnMaxLength.js +1 -1
- package/smartRules/index.js +1 -1
- package/smartRules/list/smartRulesList.component.js +1 -1
- package/smartRules/services/smartRuleTemplates.js +1 -1
- package/smartRules/services/smartRules.js +1 -1
- package/smartRules/views/paramInputAlarmType.html +25 -13
- package/smartRules/views/paramInputEscalationSteps.html +53 -19
- package/smartRules/views/paramInputKpi.html +18 -12
- package/smartRules/views/paramInputOperation.html +17 -14
- package/smartRules/views/paramInputTimeInterval.html +25 -17
- package/switchDisplay/controller/switchDisplayConfigCtrl.js +1 -1
- package/switchDisplay/controller/switchDisplayCtrl.js +1 -1
- package/switchDisplay/index.js +1 -1
- package/tenantApplications/controllers/main.js +1 -1
- package/tenantApplications/index.js +1 -1
- package/tenantApplications/subscribed-applications/subscribed-applications.component.js +1 -1
- package/tenantLicenses/index.js +1 -1
- package/tenantLicenses/licenseManagement.component.js +1 -1
- package/tenantPolicies/retentionRule/retentionRuleRow.component.js +1 -1
- package/tenantPolicies/systemOptions/editSystemOption.component.js +1 -1
- package/tenantPolicies/systemOptions/systemOptionsRow.component.js +1 -1
- package/tenantPolicies/tenantOptions/editTenantOption.component.js +1 -1
- package/tenantPolicies/tenantOptions/tenantOptionsRow.component.js +1 -1
- package/tenantPolicies/tenantPolicies.module.js +1 -1
- package/tenantPolicies/tenantPolicies.service.js +1 -1
- package/tenantPolicies/tenantPoliciesConfig.provider.js +1 -1
- package/tenantPolicies/tenantPolicyDetail/tenantPolicyDetail.component.js +1 -1
- package/tenantPolicies/tenantPolicyDetail/tenantPolicyRow.component.js +1 -1
- package/tenantPolicies/tenantPolicyList/tenantPolicyList.component.js +1 -1
- package/tenantStatistics/index.js +1 -1
- package/tenantStatistics/tenant-statistics-columns.service.js +1 -1
- package/tenantStatistics/tenant-statistics.component.js +1 -1
- package/tenants/controllers/customProperties.js +1 -1
- package/tenants/controllers/detail.js +1 -1
- package/tenants/index.js +1 -1
- package/tenants/index.mock.js +1 -1
- package/trackerConfiguration/controllers/msisdnAlert.controller.js +1 -1
- package/trackerConfiguration/controllers/trackerConfiguration.controller.js +1 -1
- package/trackerConfiguration/directives/msisdnAlert.directive.js +1 -1
- package/trackerConfiguration/index.js +1 -1
- package/trackerConfiguration/services/realtimeLockup.service.js +1 -1
- package/trackerConfiguration/services/trackerAlarms.service.js +1 -1
- package/trackerConfiguration/services/trackerLocation.service.js +1 -1
- package/trackerConfiguration/services/trackerRestart.service.js +1 -1
- package/trackerConfiguration/services/trackerSituation.service.js +1 -1
- package/trackerConfiguration/services/trackerSos.service.js +1 -1
- package/trackerConfiguration/services/unitConversionHelper.service.js +1 -1
- package/trackerModels/index.js +1 -1
- package/trackerModels/trackerModels.service.js +1 -1
- package/trackerRegistration/index.js +1 -1
- package/trackerRegistration/trackerRegistration.controller.js +1 -1
- package/trackerRegistration/trackerRegistration.service.js +1 -1
- package/trackerRegistration/trackerRegistrationHistory.service.js +1 -1
- package/trackingAppConfig/index.js +1 -1
- package/trafficLightWidget/index.js +1 -1
- package/trafficLightWidget/states-mapping.component.js +1 -1
- package/trafficLightWidget/traffic-light.component.js +1 -1
- package/userRoles/copyRolesModal/copyRolesModal.component.js +1 -1
- package/userRoles/index.js +1 -1
- package/userRoles/inventoryRoleSelector/inventoryRoleSelector.component.js +1 -1
- package/userRoles/inventoryRolesTab/inventoryRolesTab.component.js +1 -1
- package/userRoles/rolesAssetTree/rolesAssetTree.component.js +1 -1
- package/userRoles/userRoles.service.js +1 -1
- package/userRoles/userRolesUi.service.js +1 -1
- package/users/aclEditor/aclEditor.directive.js +1 -1
- package/users/applicationAccess/applicationAccess.directive.js +1 -1
- package/users/index.js +1 -1
- package/users/userDetailView/userApplicationAccess.component.js +1 -1
- package/users/userDetailView/userDetailView.component.js +1 -1
- package/users/userList/userList.component.js +1 -1
- package/users/userListView/userListView.component.js +1 -1
- package/users/userRemovalModal/userRemovalModal.component.js +1 -1
- package/users/usersUi.provider.js +1 -1
- package/actilityProviderSettings/actilityProviderSettings.module.js +0 -1
- package/actilityProviderSettings/actilitySettings.component.js +0 -1
- package/actilityProviderSettings/actilitySettings.html +0 -128
- package/actilityProviderSettings/actilitySettings.service.js +0 -1
- package/actilityProviderSettings/cumulocity.json +0 -14
- package/cell-id-information-activator/cell-id-information-activator.config.js +0 -1
- package/cell-id-information-activator/cell-id-information-activator.module.js +0 -1
- package/cell-id-information-activator/cell-id-information-activator.service.js +0 -1
- package/cell-id-information-activator/cumulocity.json +0 -13
- package/cell-id-usage-statistics/cell-id-usage-statistics.component.js +0 -1
- package/cell-id-usage-statistics/cell-id-usage-statistics.config.js +0 -1
- package/cell-id-usage-statistics/cell-id-usage-statistics.html +0 -104
- package/cell-id-usage-statistics/cell-id-usage-statistics.module.js +0 -1
- package/cell-id-usage-statistics/cell-id-usage-statistics.service.js +0 -1
- package/cell-id-usage-statistics/constants.js +0 -1
- package/cell-id-usage-statistics/cumulocity.json +0 -15
- package/configurationRepository/configurationRepository.service.js +0 -1
- package/configurationRepository/cumulocity.json +0 -13
- package/configurationRepository/index.js +0 -1
- package/configurationRepository/list.controller.js +0 -1
- package/configurationRepository/views/list.html +0 -273
- package/core/core/services/combain.js +0 -1
- package/core/locales/ru.po +0 -17228
- package/core/ui/configurable-device-list-columns/configurable-columns.service.js +0 -1
- package/core/ui/configurable-device-list-columns/constants.js +0 -1
- package/core/ui/configurable-device-list-columns/modal-columns-configure.component.html +0 -171
- package/core/ui/configurable-device-list-columns/modal-columns-configure.component.js +0 -1
- package/core/ui/configurable-device-list-columns/unique-by.directive.js +0 -1
- package/core/ui/controllers/deviceList.js +0 -1
- package/core/ui/devices/device-details.config.js +0 -1
- package/core/ui/directives/deviceDetailBasic/availability.js +0 -1
- package/core/ui/directives/deviceDetailBasic/group.js +0 -1
- package/core/ui/directives/deviceList.js +0 -1
- package/core/ui/directives/deviceStatusDisplay.js +0 -1
- package/core/ui/directives/linearGauge.js +0 -1
- package/core/ui/directives/silo.js +0 -1
- package/core/ui/services/deviceListColumns.js +0 -1
- package/core/ui/views/deviceDetailBasic/availability.html +0 -85
- package/core/ui/views/deviceDetailBasic/basic.html +0 -165
- package/core/ui/views/deviceDetailBasic/firmware.html +0 -26
- package/core/ui/views/deviceDetailBasic/group.html +0 -36
- package/core/ui/views/deviceDetailBasic/groupSelectModal.html +0 -50
- package/core/ui/views/deviceDetailBasic/hardware.html +0 -28
- package/core/ui/views/deviceDetailBasic/mobile.html +0 -82
- package/core/ui/views/deviceDetailBasic/network.html +0 -12
- package/core/ui/views/deviceList.html +0 -64
- package/core/ui/views/deviceStatusDisplay.html +0 -44
- package/core/ui/views/linearGauge.html +0 -11
- package/core/ui/views/silo.html +0 -16
- package/deviceConfiguration/cumulocity.json +0 -14
- package/deviceConfiguration/index.js +0 -1
- package/deviceConfiguration/styles/styles.less +0 -1
- package/deviceConfiguration/views/configuration.html +0 -7
- package/deviceList/cumulocity.json +0 -14
- package/deviceList/deviceList.controller.js +0 -1
- package/deviceList/index.js +0 -1
- package/deviceList/views/index.html +0 -9
- package/kpi/img/linear-gauge-widget-pr.png +0 -0
- package/kpi/img/silo-widget-pr.png +0 -0
- package/kpi/views/linearGauge.html +0 -11
- package/kpi/views/silo.html +0 -9
- package/sigfox-provider-settings/cumulocity.json +0 -14
- package/sigfox-provider-settings/sigfox-provider-settings.module.js +0 -1
- package/sigfox-provider-settings/sigfox-settings.component.js +0 -1
- package/sigfox-provider-settings/sigfox-settings.html +0 -83
- package/sigfox-provider-settings/sigfox-settings.service.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _slicedToArray(e,n){return _arrayWithHoles(e)||_iterableToArrayLimit(e,n)||_unsupportedIterableToArray(e,n)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,n){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,n):"Map"===(t="Object"===(t=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,n):void 0}function _arrayLikeToArray(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function _iterableToArrayLimit(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,c=[],u=!0,d=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(c.push(r.value),c.length!==n);u=!0);}catch(e){d=!0,o=e}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(d)throw o}}return c}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(){function ue(e,n,W,o,$,a,i,c,u,j,t,d,M,l,s,f){var h=e("dashboards"),p=e("dashboardLists"),g="c8y_Dashboard",G={welcome:{icon:"cloud",name:s.getString("Welcome")},home:{icon:"home",name:s.getString("Home")}};function B(e){return _.map(e,function(e){return _.assign(_.get(e,g,{}),{id:e.id})})}function m(e){var t,n,r,e=e||{},o=_.assign(_.get(e,g,{}),{id:e.id},(t=/^c8y_Dashboard!(.+)$/,_.pickBy(e,function(e,n){return t.test(n)})));return _.set(o,"global",!!_.get(e,"c8y_Global")),n=o,r=["templateUrl","configTemplateUrl"],e=_.map(n.children,function(e){return a.all(_.map(r,_.partial(K,e)))}),a.all(e).then(function(){return n}).then(z)}function z(n){return n.children?(e=n.children,t.list().then(function(n){return _(e).mapValues(function(e){return H(e,n,!1)}).value()}).then(function(e){return n.children=e,n})):n;var e}function H(e,n,t){var r,o=_.cloneDeep(e),e=_.find(n,function(e){var n=e.name&&e.name===o.name,e=e.templateUrl&&e.templateUrl===o.templateUrl;return n||e});return e?((r=e.replaceWith)&&(o.config=i.invoke(r.config,void 0,{oldConfig:o.config}),e=_.find(n,{name:r.component})),o.name=e.name,e.transformConfigWithContext&&(o.componentTransformConfigWithContext=e.transformConfigWithContext),e.widgetComponent?(o.widgetComponent=e.widgetComponent,delete o.templateUrl):o.templateUrl=e.templateUrl,e.configComponent?(o.configComponent=e.configComponent,delete o.configTemplateUrl):o.configTemplateUrl=e.configTemplateUrl,o):t?null:o}function V(n){return d.canAdminMOs([n]).then(function(e){return e||(n.isFrozen=!e),n.readOnly=!e,n})}function F(e){return _.get(e,"isFrozen")}function J(e){return q(e,!0)}function Y(e){return q(e,!1)}function q(e,n){return e.isFrozen=n,k.saveAndWait(e).then(ue.clearCacheList)}function K(n,t){var e=n[t];return M.verifyPluginViewPath(e).then(function(e){return n[t]=e,n})}function r(n){return function(e){e=_.isObjectLike(e)?e.id:e;return[g,n,e].join("!")}}var v=r("device"),e=r("group"),Q=r("name"),b=r("type");function X(e){return h.put(y(e),_.cloneDeep(e))}function y(e){return _.isObjectLike(e)?e.id:e}function C(e,n){var t,r=_.assign(e||{},{fragmentType:n||g}),r=u.list(r).then(B);return n&&!e&&(t=p.get(n),r.then(function(e){0<e.length&&p.put(n,e)})),t?a.when(t):r}function Z(){p.removeAll(),n.$emit("dashboard:refresh")}function E(e,n,t){var r=h.get(y(e)),t=!(t&&r)&&u.detail(e).then(c.getResData).then(m).then(V).then(X);return(r?a.when(r):t).then(re).then(ee(n))}function ee(t){return function(e){var n;return(e.deviceType||t)&&(n=_.cloneDeep(e),e=P().then(_.partial(ne,n))),e}}function ne(e,n){return a.all(_.map(e.children,function(e){return te(n,e.config)})).then(_.constant(e))}function te(n,e){function t(e){e.__target={id:n.id,name:n.name}}return e&&(e.device={id:n.id,name:n.name},e.datapoints&&_.forEach(e.datapoints,t),e.alarmsEventsConfigs&&_.forEach(e.alarmsEventsConfigs,t),e.options&&e.options.dataPoints&&_.forEach(e.options.dataPoints,t),e.datapointsGauge&&_.forEach(e.datapointsGauge,t),e.datapointsLabels)&&_.forEach(e.datapointsLabels,t),e}function re(t){return P().then(function(n){return a.all(_.map(t.children,function(e){return A(n,t,e)}))}).then(_.constant(t))}function A(t,r,n){var e=n.config||{},o=_.compact([n.transformConfigWithContext,n.componentTransformConfigWithContext]);return _.reduce(o,function(e,n){return e.then(function(e){return i.invoke(n,null,{config:e,context:t,dashboard:r})})},a.resolve(e)).then(function(e){return _.assign(n,{config:e})})}function T(e){return t.list().then(function(n){return _(e).map(function(e){return H(e,n,!0)}).compact().value()})}function oe(t,e){_.forEach(e,function(e,n){t[n]&&(t[n]=e(t[n]))})}function x(e,n,t){return _.forEach(e,function(e){e.__target=ie(e.__target,n,t)}),e}function ie(e,n,t){return e&&e.id===t.id&&_.assign(e,_.pick(n,["id","name"])),e}function R(e){var t=["id","creationContext","readOnly"],r=/^c8y_Dashboard!/,n=_.cloneDeep(e),o=(n.global=!!n.deviceType||n.global,n.id),i={id:o},o=o?"update":"createConfirm",a=(i[g]=_.pickBy(n,function(e,n){return!r.test(n)&&!_.includes(t,n)}),(a=i)[g].global&&_.assign(a,{c8y_Global:{}}),n.deviceType?{}:n.creationContext),n=u[o](i,a);return"update"==o&&(n=n.then(function(){return e})),(n="createConfirm"==o?n.then(c.getResData).then(m):n).then(X)}function D(e,n,t,r){t={id:t.id},e=e(n);return t[e]=r?null:{},h.get(e)&&h.remove(e),u.save(t)}function O(e,n){return C(null,e(n))}function I(){var t,r;return k.forcedContext||(r=t=null,_.forEach(["report","device","group"],function(e){var n=_.get(W,"".concat(e,"Id"));n&&(t=e,r=n)}),{context:t,id:r})}function ae(e,n){return o.open({templateUrl:":::PLUGIN_PATH:::/dashboardWidget/config.html",controller:"DashboardWidgetConfigController",size:"lg",resolve:{dashboard:function(){return n||{}},component:function(){return e||{}},hideTarget:function(){return n&&n.deviceType}}}).result}function ce(e,r){e={template:'<div ng-include="\':::PLUGIN_PATH:::/dashboard/new.html\'" ng-controller="DashboardEditCtrl"></div>',controller:["$scope","$uibModalInstance","config",function(e,n,t){e.dashboardId="new",e.modalInstance=n,e.config=t||{},e.creationContext=r}],size:"lg",resolve:{config:_.constant(e)}};return o.open(e).result}function L(e,n){var t,n=angular.extend({title:l("Select dashboard"),preventNew:!0,selectLabel:l("Select"),useReports:!0},n);return t=n,t={templateUrl:":::PLUGIN_PATH:::/dashboard/select.html",controller:"DashboardSelectController",size:"lg",resolve:{config:_.constant(n)}},o.open(t).result.then(function(n){return e.templateUrl?w(n,e):T([e]).then(function(e){e=_slicedToArray(e,1)[0];return w(n,e)})})}var N={};function w(e,n,t){var r=e.id||e,o=(N[r]=N[r]||{children:[]},N[r]),i=o.promise;return o.children.push({child:n,remove:t}),i||(o.promise=$(function(){return a.all({dashboard:E(e,!1,!0),contextObject:P()}).then(function(e){var t=e.dashboard,r=e.contextObject;return a.all(_.map(o.children,function(n){return(n.remove?a.resolve(n.child):A(r,t,n.child)).then(function(e){t.children=U(t.children||{},e,n.remove)})})).then(_.constant(t))}).then(R)}),(i=o.promise).finally(function(){delete N[r]})),i}function U(e,n,t){return n.id||(n.id=String(Math.random()).substr(2)),t?delete e[n.id]:e[n.id]=n,t=e,r=0,_(t).sortBy("position").forEach(function(e){e.position=r,r+=1}),_.cloneDeep(t);var r}function P(){var n=I();return n.id?j.detailCached(n.id,{withChildren:!1}).then(c.getResData).then(function(e){return e||{id:n.id}}):a.when({})}var S=[];var k={list:C,save:R,saveAndWait:_.partialRight(R,!0),detail:E,detailPredefinedReadOnly:function(e,n){var t={children:{},isFrozen:!0,readOnly:!0};return T(e).then(function(e){return _.forEach(e,function(e){U(t.children,e)}),t}).then(re).then(ee(n))},named:function(n,t,r){function o(e){return R(e).then(_.partial(D,Q,n)).then(c.getResData).then(function(e){return E(e,r)})}return C(null,Q(n)).then(function(e){var n;return e.length?E(_.head(e).id,r):(n={children:{}},T(t).then(function(e){return _.forEach(e,function(e){U(n.children,e)}),d.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"]).then(function(e){return!!e||a.reject()}).then(_.partial(o,n)).catch(_.partial(_.identity,n))}))})},isNamed:function(e){return _.some(_.keys(e),function(e){return/^c8y_Dashboard!name!/.test(e)})},remove:function(e){return h.remove(y(e)),n.$emit("dashboard:remove",y(e)),u.remove(e)},isLocked:F,toggleLock:function(e){return(F(e)?Y:J)(e)},lock:J,unlock:Y,deviceAdd:_.partial(D,v),deviceRemove:_.partialRight(_.partial(D,v),!0),deviceList:_.partial(O,v),deviceTypeAdd:_.partial(D,b),deviceTypeRemove:_.partialRight(_.partial(D,b),!0),deviceTypeList:function(e){return a.all([O(v,e.id),O(b,e.type)]).then(_.flattenDeep)},groupAdd:_.partial(D,e),groupRemove:_.partialRight(_.partial(D,e),!0),groupList:_.partial(O,e),getContextObject:P,transformChildWithContext:A,updateConfigTargetsWithContext:te,addDashboard:ce,copyDashboard:function(e){var n,t=function(e){var n=I(),t=n.id;function r(e){return e.__target.id!==t}if("device"!==n.context&&"group"!==n.context)return l("Only dashboards from devices or groups can be copied");if(!_.every(e.children,function(e){var e=e.config||{},n=!0;return e.device&&e.device.id!==t&&(n=!1),n=e.datapoints&&_.some(e.datapoints,r)?!1:n})){if("device"===n.context)return l("Only dashboards with widgets referencing the current device can be copied.");if("group"===n.context)return l("Only dashboards with widgets referencing the current group can be copied.")}return!1}(e);return t?(f.warning(t),!1):(S=[],t=I(),S.push({dashboard:_.cloneDeep(e),context:t}),"device"===t.context&&(n=l('Dashboard copied. Navigate to the desired device and select "Paste dashboard"')),"group"===t.context&&(n=l('Dashboard copied. Navigate to the desired group and select "Paste dashboard"')),f.success(n),!0)},pasteDashboard:function(){if(S&&S.length)return P().then(function(e){var n,t,r,o,i,a,c,u;return u=_.last(S),n=I(),u=u.context.context,(i=n.context!==u&&("device"===u&&(i=l("Device dashboards can only be copied into a device.")),"group"===u)?l("Group dashboards can only be copied into a group."):i)&&f.warning(i),!i&&(n=S.pop(),t=n.dashboard,(r=I()).name=e.name,o=k["".concat(r.context,"Add")],_.forEach(t,function(e,n){n.match(/!/)&&delete t[n]}),u=r.context,r.context===n.context.context&&["device","group"].includes(u)&&(i=t,a=r,c=n.context,e=_.reduce(i.children,function(e,n){var t=n.id,r=n.config,o={device:function(e){return ie(e,a,c)},datapoints:function(e){return x(e,a,c)},dataPoints:function(e){return x(e,a,c)},datapointsGauge:function(e){return x(e,a,c)},datapointsLabels:function(e){return x(e,a,c)}};return r&&(oe(r,o),r.options)&&oe(r.options,o),e[t]=n,e},{}),i.children=e,t=i),t.creationContext=r,delete t.id,(u=R(t)).then(function(e){return o(r.id,e)}).finally(Z),u)})},dashboardToPaste:function(){var e=S&&S[0];return e&&e.dashboard},selectDashboard:ce,editCurrentDashboard:function(t){return o.open({template:'<div ng-include="\':::PLUGIN_PATH:::/dashboard/new.html\'" ng-controller="DashboardEditCtrl"></div>',controller:["$scope","$uibModalInstance",function(e,n){e.modalInstance=n,e.dashboardId=_.get(t,"dashboardId")}],size:"lg"}).result},editChildUI:ae,addChildUI:_.partial(ae,null),restoreDefaultChildren:function(t,e,r){return T(e).then(function(e){var n=t.children;return _.forEach(_.keys(n),function(e){U(n,n[e],!0)}),_.forEach(e,function(e){U(n,e)}),R(t).then(function(e){return E(e,r)})})},getContext:I,getContextPath:function(){var e=I(),n="";return"group"===e.context&&(n="/group/".concat(e.id)),n="device"===e.context?"/device/".concat(e.id):n},appendChild:_.partialRight(w,!1),updateChild:_.partialRight(w,!1),removeChild:_.partialRight(w,!0),clearCacheList:Z,addWidgetToSelectedDashboard:L,addWidgetToSelectedDashboardInContext:function(e){return L(e,{inContext:!0,preventCreate:!0,useReports:!1})},addWidgetToSelectedReport:function(e){return L(e,{onlyReports:!0,useReports:!0,title:l("Select report"),preventCreate:!0})},getIconNameObj:function(e){var n,t={icon:e.icon||"th",name:e.name||s.getString("Dashboard")},r=function(e){var t=/^c8y_Dashboard!name!(.+?)[-_].+$/,e=_.pickBy(e,function(e,n){return t.test(n)}),e=_.keys(e);if(0<e.length)return e[0].match(t)[1];return null}(e),o=c.getPluginService("c8yReports");return r&&(n=G[r])&&(t.icon=n.icon||t.icon,t.name=n.name||t.name),"report"===r&&o&&(t=o.getReportFromDashboard(e).then(function(e){return _.pick(e,["icon","name"])})),a.resolve(t)},hasWritePermissions:function(e){return e=c.hasId(e)?d.canAdminMOs([e]):d.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"])},VERSION:2};return _.assign(k)}ue.$inject=["$cacheFactory","$rootScope","$routeParams","$uibModal","$timeout","$q","$injector","c8yBase","dashboardInventorySvc","c8yInventory","c8yComponents","c8yPermissions","c8yUiUtil","gettext","gettextCatalog","c8yAlert"],angular.module("c8y.parts.dashboard2").factory("dashboardSvc",ue)}();
|
|
1
|
+
function _slicedToArray(e,n){return _arrayWithHoles(e)||_iterableToArrayLimit(e,n)||_unsupportedIterableToArray(e,n)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,n){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,n):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,n):void 0}function _arrayLikeToArray(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function _iterableToArrayLimit(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,c=[],u=!0,d=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(c.push(r.value),c.length!==n);u=!0);}catch(e){d=!0,o=e}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(d)throw o}}return c}}function _arrayWithHoles(e){if(Array.isArray(e))return e}(()=>{function ue(e,n,W,o,$,a,i,c,u,M,t,d,j,l,s,f){var h=e("dashboards"),p=e("dashboardLists"),g="c8y_Dashboard",G={welcome:{icon:"cloud",name:s.getString("Welcome")},home:{icon:"home",name:s.getString("Home")}};function B(e){return _.map(e,function(e){return _.assign(_.get(e,g,{}),{id:e.id})})}function m(e){var t,n,r,e=e||{},o=_.assign(_.get(e,g,{}),{id:e.id},(t=/^c8y_Dashboard!(.+)$/,_.pickBy(e,function(e,n){return t.test(n)})));return _.set(o,"global",!!_.get(e,"c8y_Global")),n=o,r=["templateUrl","configTemplateUrl"],e=_.map(n.children,function(e){return a.all(_.map(r,_.partial(K,e)))}),a.all(e).then(function(){return n}).then(z)}function z(n){return n.children?(e=n.children,t.list().then(function(n){return _(e).mapValues(function(e){return H(e,n,!1)}).value()}).then(function(e){return n.children=e,n})):n;var e}function H(e,n,t){var r,o=_.cloneDeep(e),e=_.find(n,function(e){var n=e.name&&e.name===o.name,e=e.templateUrl&&e.templateUrl===o.templateUrl;return n||e});return e?((r=e.replaceWith)&&(o.config=i.invoke(r.config,void 0,{oldConfig:o.config}),e=_.find(n,{name:r.component})),o.name=e.name,e.transformConfigWithContext&&(o.componentTransformConfigWithContext=e.transformConfigWithContext),e.widgetComponent?(o.widgetComponent=e.widgetComponent,delete o.templateUrl):o.templateUrl=e.templateUrl,e.configComponent?(o.configComponent=e.configComponent,delete o.configTemplateUrl):o.configTemplateUrl=e.configTemplateUrl,o):t?null:o}function V(n){return d.canAdminMOs([n]).then(function(e){return e||(n.isFrozen=!e),n.readOnly=!e,n})}function F(e){return _.get(e,"isFrozen")}function J(e){return q(e,!0)}function Y(e){return q(e,!1)}function q(e,n){return e.isFrozen=n,k.saveAndWait(e).then(ue.clearCacheList)}function K(n,t){var e=n[t];return j.verifyPluginViewPath(e).then(function(e){return n[t]=e,n})}function r(n){return function(e){e=_.isObjectLike(e)?e.id:e;return[g,n,e].join("!")}}var v=r("device"),e=r("group"),Q=r("name"),b=r("type");function X(e){return h.put(y(e),_.cloneDeep(e))}function y(e){return _.isObjectLike(e)?e.id:e}function C(e,n){var t,r=_.assign(e||{},{fragmentType:n||g}),r=u.list(r).then(B);return n&&!e&&(t=p.get(n),r.then(function(e){0<e.length&&p.put(n,e)})),t?a.when(t):r}function Z(){p.removeAll(),n.$emit("dashboard:refresh")}function E(e,n,t){var r=h.get(y(e)),t=!(t&&r)&&u.detail(e).then(c.getResData).then(m).then(V).then(X);return(r?a.when(r):t).then(re).then(ee(n))}function ee(t){return function(e){var n;return(e.deviceType||t)&&(n=_.cloneDeep(e),e=P().then(_.partial(ne,n))),e}}function ne(e,n){return a.all(_.map(e.children,function(e){return te(n,e.config)})).then(_.constant(e))}function te(n,e){function t(e){e.__target={id:n.id,name:n.name}}return e&&(e.device={id:n.id,name:n.name},e.datapoints&&_.forEach(e.datapoints,t),e.alarmsEventsConfigs&&_.forEach(e.alarmsEventsConfigs,t),e.options&&e.options.dataPoints&&_.forEach(e.options.dataPoints,t),e.datapointsGauge&&_.forEach(e.datapointsGauge,t),e.datapointsLabels)&&_.forEach(e.datapointsLabels,t),e}function re(t){return P().then(function(n){return a.all(_.map(t.children,function(e){return A(n,t,e)}))}).then(_.constant(t))}function A(t,r,n){var e=n.config||{},o=_.compact([n.transformConfigWithContext,n.componentTransformConfigWithContext]);return _.reduce(o,function(e,n){return e.then(function(e){return i.invoke(n,null,{config:e,context:t,dashboard:r})})},a.resolve(e)).then(function(e){return _.assign(n,{config:e})})}function T(e){return t.list().then(function(n){return _(e).map(function(e){return H(e,n,!0)}).compact().value()})}function oe(t,e){_.forEach(e,function(e,n){t[n]&&(t[n]=e(t[n]))})}function x(e,n,t){return _.forEach(e,function(e){e.__target=ie(e.__target,n,t)}),e}function ie(e,n,t){return e&&e.id===t.id&&_.assign(e,_.pick(n,["id","name"])),e}function R(e){var t=["id","creationContext","readOnly"],r=/^c8y_Dashboard!/,n=_.cloneDeep(e),o=(n.global=!!n.deviceType||n.global,n.id),i={id:o},o=o?"update":"createConfirm",a=(i[g]=_.pickBy(n,function(e,n){return!r.test(n)&&!_.includes(t,n)}),(a=i)[g].global&&_.assign(a,{c8y_Global:{}}),n.deviceType?{}:n.creationContext),n=u[o](i,a);return"update"==o&&(n=n.then(function(){return e})),(n="createConfirm"==o?n.then(c.getResData).then(m):n).then(X)}function D(e,n,t,r){t={id:t.id},e=e(n);return t[e]=r?null:{},h.get(e)&&h.remove(e),u.save(t)}function I(e,n){return C(null,e(n))}function O(){var t,r;return k.forcedContext||(r=t=null,_.forEach(["report","device","group"],function(e){var n=_.get(W,"".concat(e,"Id"));n&&(t=e,r=n)}),{context:t,id:r})}function ae(e,n){return o.open({templateUrl:":::PLUGIN_PATH:::/dashboardWidget/config.html",controller:"DashboardWidgetConfigController",size:"lg",resolve:{dashboard:function(){return n||{}},component:function(){return e||{}},hideTarget:function(){return n&&n.deviceType}}}).result}function ce(e,r){e={template:'<div ng-include="\':::PLUGIN_PATH:::/dashboard/new.html\'" ng-controller="DashboardEditCtrl"></div>',controller:["$scope","$uibModalInstance","config",function(e,n,t){e.dashboardId="new",e.modalInstance=n,e.config=t||{},e.creationContext=r}],size:"lg",resolve:{config:_.constant(e)}};return o.open(e).result}function L(e,n){var t,n=angular.extend({title:l("Select dashboard"),preventNew:!0,selectLabel:l("Select"),useReports:!0},n);return t=n,t={templateUrl:":::PLUGIN_PATH:::/dashboard/select.html",controller:"DashboardSelectController",size:"lg",resolve:{config:_.constant(n)}},o.open(t).result.then(function(n){return e.templateUrl?U(n,e):T([e]).then(function(e){e=_slicedToArray(e,1)[0];return U(n,e)})})}var N={};function U(e,n,t){var r=e.id||e,o=(N[r]=N[r]||{children:[]},N[r]),i=o.promise;return o.children.push({child:n,remove:t}),i||(o.promise=$(function(){return a.all({dashboard:E(e,!1,!0),contextObject:P()}).then(function(e){var t=e.dashboard,r=e.contextObject;return a.all(_.map(o.children,function(n){return(n.remove?a.resolve(n.child):A(r,t,n.child)).then(function(e){t.children=w(t.children||{},e,n.remove)})})).then(_.constant(t))}).then(R)}),(i=o.promise).finally(function(){delete N[r]})),i}function w(e,n,t){return n.id||(n.id=String(Math.random()).substr(2)),t?delete e[n.id]:e[n.id]=n,t=e,r=0,_(t).sortBy("position").forEach(function(e){e.position=r,r+=1}),_.cloneDeep(t);var r}function P(){var n=O();return n.id?M.detailCached(n.id,{withChildren:!1}).then(c.getResData).then(function(e){return e||{id:n.id}}):a.when({})}var S=[];var k={list:C,save:R,saveAndWait:_.partialRight(R,!0),detail:E,detailPredefinedReadOnly:function(e,n){var t={children:{},isFrozen:!0,readOnly:!0};return T(e).then(function(e){return _.forEach(e,function(e){w(t.children,e)}),t}).then(re).then(ee(n))},named:function(n,t,r){function o(e){return R(e).then(_.partial(D,Q,n)).then(c.getResData).then(function(e){return E(e,r)})}return C(null,Q(n)).then(function(e){var n;return e.length?E(_.head(e).id,r):(n={children:{}},T(t).then(function(e){return _.forEach(e,function(e){w(n.children,e)}),d.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"]).then(function(e){return!!e||a.reject()}).then(_.partial(o,n)).catch(_.partial(_.identity,n))}))})},isNamed:function(e){return _.some(_.keys(e),function(e){return/^c8y_Dashboard!name!/.test(e)})},remove:function(e){return h.remove(y(e)),n.$emit("dashboard:remove",y(e)),u.remove(e)},isLocked:F,toggleLock:function(e){return(F(e)?Y:J)(e)},lock:J,unlock:Y,deviceAdd:_.partial(D,v),deviceRemove:_.partialRight(_.partial(D,v),!0),deviceList:_.partial(I,v),deviceTypeAdd:_.partial(D,b),deviceTypeRemove:_.partialRight(_.partial(D,b),!0),deviceTypeList:function(e){return a.all([I(v,e.id),I(b,e.type)]).then(_.flattenDeep)},groupAdd:_.partial(D,e),groupRemove:_.partialRight(_.partial(D,e),!0),groupList:_.partial(I,e),getContextObject:P,transformChildWithContext:A,updateConfigTargetsWithContext:te,addDashboard:ce,copyDashboard:function(e){var n,t=(e=>{var n=O(),t=n.id;function r(e){return e.__target.id!==t}if("device"!==n.context&&"group"!==n.context)return l("Only dashboards from devices or groups can be copied");if(!_.every(e.children,function(e){var e=e.config||{},n=!0;return e.device&&e.device.id!==t&&(n=!1),n=e.datapoints&&_.some(e.datapoints,r)?!1:n})){if("device"===n.context)return l("Only dashboards with widgets referencing the current device can be copied.");if("group"===n.context)return l("Only dashboards with widgets referencing the current group can be copied.")}return!1})(e);return t?(f.warning(t),!1):(S=[],t=O(),S.push({dashboard:_.cloneDeep(e),context:t}),"device"===t.context&&(n=l('Dashboard copied. Navigate to the desired device and select "Paste dashboard"')),"group"===t.context&&(n=l('Dashboard copied. Navigate to the desired group and select "Paste dashboard"')),f.success(n),!0)},pasteDashboard:function(){if(S&&S.length)return P().then(function(e){var n,t,r,o,i,a,c,u;return u=_.last(S),n=O(),u=u.context.context,(i=n.context!==u&&("device"===u&&(i=l("Device dashboards can only be copied into a device.")),"group"===u)?l("Group dashboards can only be copied into a group."):i)&&f.warning(i),!i&&(n=S.pop(),t=n.dashboard,(r=O()).name=e.name,o=k["".concat(r.context,"Add")],_.forEach(t,function(e,n){n.match(/!/)&&delete t[n]}),u=r.context,r.context===n.context.context&&["device","group"].includes(u)&&(i=t,a=r,c=n.context,e=_.reduce(i.children,function(e,n){var t=n.id,r=n.config,o={device:function(e){return ie(e,a,c)},datapoints:function(e){return x(e,a,c)},dataPoints:function(e){return x(e,a,c)},datapointsGauge:function(e){return x(e,a,c)},datapointsLabels:function(e){return x(e,a,c)}};return r&&(oe(r,o),r.options)&&oe(r.options,o),e[t]=n,e},{}),i.children=e,t=i),t.creationContext=r,delete t.id,(u=R(t)).then(function(e){return o(r.id,e)}).finally(Z),u)})},dashboardToPaste:function(){var e=S&&S[0];return e&&e.dashboard},selectDashboard:ce,editCurrentDashboard:function(t){return o.open({template:'<div ng-include="\':::PLUGIN_PATH:::/dashboard/new.html\'" ng-controller="DashboardEditCtrl"></div>',controller:["$scope","$uibModalInstance",function(e,n){e.modalInstance=n,e.dashboardId=_.get(t,"dashboardId")}],size:"lg"}).result},editChildUI:ae,addChildUI:_.partial(ae,null),restoreDefaultChildren:function(t,e,r){return T(e).then(function(e){var n=t.children;return _.forEach(_.keys(n),function(e){w(n,n[e],!0)}),_.forEach(e,function(e){w(n,e)}),R(t).then(function(e){return E(e,r)})})},getContext:O,getContextPath:function(){var e=O(),n="";return"group"===e.context&&(n="/group/".concat(e.id)),n="device"===e.context?"/device/".concat(e.id):n},appendChild:_.partialRight(U,!1),updateChild:_.partialRight(U,!1),removeChild:_.partialRight(U,!0),clearCacheList:Z,addWidgetToSelectedDashboard:L,addWidgetToSelectedDashboardInContext:function(e){return L(e,{inContext:!0,preventCreate:!0,useReports:!1})},addWidgetToSelectedReport:function(e){return L(e,{onlyReports:!0,useReports:!0,title:l("Select report"),preventCreate:!0})},getIconNameObj:function(e){var n,t={icon:e.icon||"th",name:e.name||s.getString("Dashboard")},r=(e=>{var t=/^c8y_Dashboard!name!(.+?)[-_].+$/,e=_.pickBy(e,function(e,n){return t.test(n)});return 0<(e=_.keys(e)).length?e[0].match(t)[1]:null})(e),o=c.getPluginService("c8yReports");return r&&(n=G[r])&&(t.icon=n.icon||t.icon,t.name=n.name||t.name),"report"===r&&o&&(t=o.getReportFromDashboard(e).then(function(e){return _.pick(e,["icon","name"])})),a.resolve(t)},hasWritePermissions:function(e){return e=c.hasId(e)?d.canAdminMOs([e]):d.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"])},VERSION:2};return _.assign(k)}ue.$inject=["$cacheFactory","$rootScope","$routeParams","$uibModal","$timeout","$q","$injector","c8yBase","dashboardInventorySvc","c8yInventory","c8yComponents","c8yPermissions","c8yUiUtil","gettext","gettextCatalog","c8yAlert"],angular.module("c8y.parts.dashboard2").factory("dashboardSvc",ue)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.parts.dashboard2").factory("dashboardInventorySvc",["c8yInventory",function(a){return{createConfirm:function(e,t){return t=(t=_.get(t,"id"))?a.createChildAddition(e,t):a.create(e)},update:a.update,save:a.save,detail:a.detail,list:a.list,remove:a.remove}}]);
|
package/dashboard2/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.parts.dashboard2",[]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function n(n,e,t,o,r,c,a,i){var u,s=this;_.assign(s,{$onInit:function(){n.all(_.transform(r.APIS.values(),function(n,e){var t="".concat(e.name,"S"),t=_.get(c.ENTITIES[t],"staticSchemaPath");t&&(n[e.value]=c.another(t).list())},{})).then(function(n){u=n})},$onChanges:function(n){n.inputDuplicateId&&s.inputDuplicateId?(n=>{r.getConnectorDuplicate(n).then(r.convertToViewModel).then(function(n){s.connector=n})})(s.inputDuplicateId):n.inputId&&s.inputId?(n=>{"new"===n?(s.connector=r.getConnectorStub(),t.find("#connectorName").eq(0).focus()):r.getConnector(n).then(r.convertToViewModel).then(function(n){s.connector=n})})(s.inputId):n.inputConnector&&s.inputConnector&&(n=>{s.connector=r.convertToViewModel(n)})(s.inputConnector)},addFilter:function(){s.connector.filters.push({isOpen:!0,selectedGroupOrDevice:null,apis:{alarm:!0,event:!0,measurement:!0,managedObject:!0,operation:!0},fragmentsToFilter:[{fragment:""}],fragmentsToCopy:[{fragment:""}],copyAllFragments:!1,typeFilter:""}),s.connectorForm.$setDirty()},removeFilter:function(n){_.remove(s.connector.filters,n),s.connectorForm.$setDirty()},addFragment:function(n,e){n[e].push({fragment:""}),s.connectorForm.$setDirty()},removeFragment:function(n,e,t){1===n[e].length?_.set(n[e][0],"fragment",""):_.remove(n[e],t);s.connectorForm.$setDirty()},getSuggestedFragments:function(n){return _(n.apis).map(function(n,e){return n?_.get(u,e,[]):[]}).flatten().reject("computed").map(function(n){return n.keyPath.join(".")}).uniq().orderBy([function(n){return n.toLowerCase()}],["asc"]).value()},saveName:function(n){n=e.onSaveName?s.onSaveName({connector:s.connector,name:n}):((n,e)=>r.updateConnectorName(n,e).then(function(){o.hasId(n)&&a.success(i("Connector name updated."))}))(s.connector,n);return n},canSave:function(){return s.connectorForm.$dirty&&s.connectorForm.$valid&&_.get(s,"connector.filters")&&1<=s.connector.filters.length&&_.every(s.connector.filters,function(n){return _.some(n.apis)})},save:function(){var n=r.convertToBackendModel(s.connector);n=e.onSave?s.onSave({connector:n,connectorForm:s.connectorForm}):(n=>r.saveConnector(n).then(r.navigateToDetails).then(function(){a.success(i("Connector saved.")),s.connectorForm.$setPristine()}))(n);return n},remove:function(){var n=r.convertToBackendModel(s.connector);n=e.onRemove?s.onRemove({connector:n}):(n=>r.deleteConnector(n.id).then(r.navigateToList).then(function(){a.success(i("Connector deleted."))}))(n);return n},cancel:function(){var n;e.onCancel?n=s.onCancel():r.navigateToList();return n},getFilterFragmentsSummary:r.getFilterFragmentsSummary,apis:r.APIS.values()})}n.$inject=["$q","$attrs","$element","c8yBase","dataBrokerConnectorsSvc","c8yPropertiesLibrary","c8yAlert","gettext"],angular.module("c8y.dataBroker").component("c8yDataBrokerConnectorEditor",{bindings:{inputDuplicateId:"<duplicateId",inputId:"<id",inputConnector:"<connector",onSave:"&",onSaveName:"&",onRemove:"&",onCancel:"&"},templateUrl:":::PLUGIN_PATH:::/connectors/connectorEditor.html",controller:n,controllerAs:"vm"})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(t,o,e,n,c,a,r,i){var s=this,l="/brokerconnectors/*",d=t.$id;function u(){o.getConnectors().then(function(t){s.connectors=t})}function g(){u()}function T(t,e){var n=_.find(s.connectors,{id:e.id});_.assign(n,_.pick(e,"destinationStatus")),_.isUndefined(n)||_.set(n,"visibleStatus",o.getMappedStatus(n))}function C(){g()}_.assign(s,{$onInit:function(){u(),a.addListener(d,l,a.realtimeActions().UPDATE,T),a.addListener(d,l,a.realtimeActions().CREATE,C),a.addListener(d,l,a.realtimeActions().DELETE,C),a.start(d,l),t.$on("$destroy",function(){a.stop(d,l)})},reload:g,editConnector:function(t){o.navigateToDetails(t)},duplicateConnector:function(t){o.navigateToNew(t)},deleteConnector:function(t){return n({title:r("Delete connector"),body:i.getString('You are about to delete connector "{{name}}". Do you want to proceed?',t),status:"danger",labels:{ok:r("Delete")}}).then(_.partial(o.deleteConnector,t.id)).then(function(){c.success(r("Connector deleted.")),u()})},toggleConnectorStatus:function(t,e){t.stopPropagation(),t.preventDefault(),o.toggleConnectorStatus(e)},ROUTE_NEW_CONNECTOR:e.ROUTE_NEW_CONNECTOR,STATUS:o.STATUS,MAPPED_STATUS:o.MAPPED_STATUS,getStatusTooltip:o.getStatusTooltip})}t.$inject=["$scope","dataBrokerConnectorsSvc","dataBrokerConstants","c8yModal","c8yAlert","c8yRealtime","gettext","gettextCatalog"],angular.module("c8y.dataBroker").component("c8yDataBrokerConnectorsList",{templateUrl:":::PLUGIN_PATH:::/connectors/connectors.html",controller:t,controllerAs:"vm"})})();
|
|
@@ -297,9 +297,9 @@
|
|
|
297
297
|
connector.visibleStatus.value !== waitingStatus.value &&
|
|
298
298
|
connector.visibleStatus.value !== activatingStatus.value
|
|
299
299
|
"
|
|
300
|
-
ng-click="vm.toggleConnectorStatus($event, connector)"
|
|
301
300
|
>
|
|
302
|
-
<label class="c8y-switch c8y-switch--inline"
|
|
301
|
+
<label class="c8y-switch c8y-switch--inline" ng-click="vm.toggleConnectorStatus($event, connector)"
|
|
302
|
+
>
|
|
303
303
|
<input
|
|
304
304
|
type="checkbox"
|
|
305
305
|
ng-checked="connector.visibleStatus.value === vm.MAPPED_STATUS.ACTIVE.value || connector.visibleStatus.value === vm.MAPPED_STATUS.PENDING.value"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(a,o,r,c,i,u,l){var s=c.url("databroker/connectors"),n=c.contentHeaders("connector",!0),e=c.createEnum([{name:"ALARM",value:"alarm",label:u("Alarms"),icon:"bell"},{name:"EVENT",value:"event",label:u("Events"),icon:"c8y-events"},{name:"MEASUREMENT",value:"measurement",label:u("Measurements"),icon:"line-chart"},{name:"MANAGED_OBJECT",value:"managedObject",label:u("Managed objects"),icon:"cubes"},{name:"OPERATION",value:"operation",label:u("Operations"),icon:"code"},{name:"ALL",value:"*",hidden:!0}]),d=c.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"ACTIVATING",label:u("activating`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),g=c.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),m=c.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"ACTIVATING",label:u("activating`connector`")},{name:"PENDING",label:u("pending`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),p=["name","description","filters"],t=["id","status","destinationStatus","instanceUrl","tenantId","username","password","code","self","suspendReason"];return{getConnectors:function e(){var t={params:c.pageSizeNoTotalFilter()};var n=c.cleanListCallback("connectors",e,t.params);return o.get(s,t).then(n).then(function(e){return _.forEach(e,E),e})},saveConnector:function(e){{var t;t=c.hasId(e)?(t=_.pick(e,p),f(c.getId(e),t)):T(e)}return t},createConnector:T,updateConnector:f,toggleConnectorStatus:function(t){t.status===d.ACTIVE.value?t.status=d.SUSPENDED.value:t.status=d.ACTIVE.value;return _.unset(t,"visibleStatus"),f(t.id,{status:t.status}).then(function(e){t.status=e.status,E(t)})},getConnector:function(e){return o.get(v(e)).then(c.getResData).then(E)},getConnectorStub:function(){return{name:"",instanceUrl:"",description:"",filters:[]}},getConnectorDuplicate:function(e){return o.get(v(e)).then(c.getResData).then(function(e){return e.name=l.getString("Duplicate of {{name}}",e),_.omit(e,t)})},deleteConnector:function(e){return o({method:"DELETE",url:v(e)})},updateConnectorName:function(t,n){var e=a.when();t.id?e=f(t.id,{name:n}).then(function(e){return t.name=n,e}):t.name=n;return e},convertToViewModel:function(e){e=_.cloneDeep(e);return e.filters=_.map(e.filters,function(e){return e.apis=_.transform(e.apis,function(e,t){e[t]=!0},{}),e.fragmentsToFilter=I(e.fragmentsToFilter),e.copyAllFragments=_.isNull(e.fragmentsToCopy)||_.isUndefined(e.fragmentsToCopy),e.fragmentsToCopy=I(e.fragmentsToCopy),e.selectedGroupOrDevice=(e=>{var t,e=e.deviceGroupId||e.sourceId;return t=e?{id:e}:t})(e),e}),e},convertToBackendModel:function(e){e=_.cloneDeep(e);return e.filters=_.map(e.filters,function(e){a=e.apis;var t,n,a=_(a).map(function(e,t){return e?t:void 0}).compact().value(),o=A(e.fragmentsToFilter),r=e.copyAllFragments?null:A(e.fragmentsToCopy),c=e.selectedGroupOrDevice;return c&&c.isDevice&&(t=c.id),c&&!c.isDevice&&(n=c.id),_.assign(e,{isOpen:void 0,apis:a,fragmentsToFilter:o,fragmentsToCopy:r,copyAllFragments:void 0,sourceId:t,deviceGroupId:n,selectedGroupOrDevice:void 0})}),e},getFilterFragmentsSummary:function(e){var t=A(_.get(e,"fragmentsToFilter",[])),n=A(_.get(e,"fragmentsToCopy",[])),e=_.get(e,"copyAllFragments"),a="",o="";a=0<t.length?l.getString("Filter: {{fragments}}",{fragments:t.join(", ")}):l.getString("Filter: none");o=e?l.getString("Copy: all"):0<n.length?l.getString("Copy: {{fragments}}",{fragments:n.join(", ")}):l.getString("Copy: standard only");return[a,o].join("; ")},navigateToList:function(){var e=i.CONNECTOR_BASE_URL;r.path(e)},navigateToNew:function(e){var t="new",n=i.CONNECTOR_BASE_URL,a="";c.hasId(e)&&(t=c.getId(e),a="/duplicate");r.path("".concat(n,"/").concat(t).concat(a))},navigateToDetails:function(e){e=c.getId(e),e="".concat(i.CONNECTOR_BASE_URL,"/").concat(e);r.path(e)},getMappedStatus:S,getStatusTooltip:function(e){var t={},n=d.WAITING.value,a=d.ACTIVE.value,o=d.ACTIVATING.value,r=d.SUSPENDED.value,c=g.ACTIVE.value,i=g.WAITING.value,s=g.SUSPENDED.value,n=(t[n]=u("Connector not bootstrapped yet."),t[a]={},t[a][c]=u("Connector is working."),t[o]={},t[o][c]=u("Inventory structure synchronization in progress."),t[a][s]=u("Subscription in destination tenant disabled."),t[r]={},t[r][i]=u("Connector not bootstrapped but suspended by source tenant."),t[r][c]=u("Connector suspended by source tenant."),t[r][s]=u("Subscription in destination tenant disabled and then connector suspended by source tenant."),t[e.status]);return(e.status===r?l.getString(e.suspendReason):void 0)||_.get(n,e.destinationStatus)||n},APIS:e,STATUS:d,MAPPED_STATUS:m,DESTINATION_STATUS:g};function v(e){return[s,e].join("/")}function T(e){return o({method:"POST",url:s,data:e,headers:n}).then(c.getResData)}function f(e,t){return o({method:"PUT",url:v(e),data:t,headers:n}).then(c.getResData)}function E(e){return e.visibleStatus=S(e),e}function S(e){var t={},n=d.WAITING.value,a=d.ACTIVE.value,o=d.ACTIVATING.value,r=d.SUSPENDED.value,c=g.ACTIVE.value,i=g.SUSPENDED.value,n=(t[n]=m.WAITING,t[a]={},t[a][c]=m.ACTIVE,t[o]={},t[o][c]=m.ACTIVATING,t[a][i]=m.PENDING,t[r]=m.SUSPENDED,t[e.status]);return _.get(n,e.destinationStatus)||n}function I(e){e=e||[];return e.length||e.push(""),_.map(e,C)}function C(e){return{fragment:e}}function A(e){return _(e).map("fragment").compact().value()}}e.$inject=["$q","$http","$location","c8yBase","dataBrokerConstants","gettext","gettextCatalog"],angular.module("c8y.dataBroker").factory("dataBrokerConnectorsSvc",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_toPropertyKey(r.key),r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{function e(e,n,t,r,o){var i=this,c=(_.assign(i,{$onInit:function(){var e=_.reverse(_.cloneDeep(r.severityList));i.severities=_.map(e,function(e){return new c(e)}),o.getConnector(i.connectorId).then(function(e){i.connector=e}),t.list({type:"c8y_DataBroker"}).then(s).then(a)},realtime:!0,icon:r.icon,refresh:function(){e.$broadcast("alarmListRefresh")},isRefreshing:function(){return _.some(i.severities,"refreshing")}}),(()=>_createClass(function e(t){_classCallCheck(this,e),this.pActive=new WeakMap,this.pFilters=new WeakMap,this.name=t,this.active=!1,this.filters={}},[{key:"active",get:function(){return this.pActive.get(this)},set:function(e){this.pActive.set(this,e)}},{key:"toggleActive",value:function(){this.active=!this.active}},{key:"filters",get:function(){return this.pFilters.get(this)},set:function(e){this.pFilters.set(this,e)}}]))());function s(e){return _.map(e,function(e){return e.id})}function a(t){_.each(i.severities,function(e){e.filters={severity:e.name,sources:t,displayFilter:function(e){return _.isUndefined(e.connectorId)||e.connectorId===n.connectorId},resolved:!1},e.active=!0}),_.set(i,"options.sources",t)}}e.$inject=["$scope","$routeParams","c8yInventory","c8yAlarms","dataBrokerConnectorsSvc"],angular.module("c8y.dataBroker").component("c8yDataBrokerConnectorAlarms",{templateUrl:":::PLUGIN_PATH:::/connectorsAlarms/connectorAlarms.html",controllerAs:"vm",controller:e,bindings:{connectorId:"<id"}})})();
|
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
label="{{ 'Data connectors' | translate }}"
|
|
7
7
|
icon="c8y-connector-out"
|
|
8
8
|
></c8y-breadcrumbs-item>
|
|
9
|
+
<c8y-breadcrumbs-item
|
|
10
|
+
label="{{ 'Data broker' | translate }}"
|
|
11
|
+
icon="c8y-data-broker"
|
|
12
|
+
></c8y-breadcrumbs-item>
|
|
9
13
|
</c8y-breadcrumbs-set>
|
|
10
14
|
|
|
11
15
|
<div class="col-md-12">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function o(o,n,t,e){var r={anyRole:["ROLE_DATA_BROKER_READ","ROLE_DATA_BROKER_ADMIN"]};function c(o){return o.isAvailable({key:"c8y-feature-broker"})}o.addNavigation({name:e("Data connectors"),parent:{name:e("Data broker"),icon:"c8y-data-broker"},icon:"c8y-connector-out",priority:1e3,path:t.CONNECTOR_BASE_URL,showIfPermissions:r,showIf:["$q","c8yTenant","c8yApplication",function(o,n,t){return o.all({topTenant:n.isCurrentUserTopTenant(),featureAvailable:c(t)}).then(function(o){return!o.topTenant&&o.featureAvailable})}]}),n.when(t.CONNECTOR_BASE_URL,{template:"<c8y-data-broker-connectors-list />",name:e("Connectors"),icon:"c8y-connector-out",priority:2e3}),n.when("".concat(t.CONNECTOR_BASE_URL,"/:connectorId"),{template:'<c8y-data-broker-connector-alarms id="vm.connectorId"/>',controller:["$routeParams",function(o){this.connectorId=o.connectorId}],controllerAs:"vm",name:e("Alarms"),icon:"warning",priority:1e3,showIf:["$routeParams",function(o){return"new"!==o.connectorId}]}),n.when("".concat(t.CONNECTOR_BASE_URL,"/:connectorId"),{template:'<c8y-data-broker-connector-editor id="vm.connectorId" />',controller:["$routeParams",function(o){this.connectorId=o.connectorId}],controllerAs:"vm",name:e("Settings"),priority:2e3,icon:"cog"}),n.when("".concat(t.CONNECTOR_BASE_URL,"/:connectorId/duplicate"),{template:'<c8y-data-broker-connector-editor duplicate-id="vm.connectorId" />',controller:["$routeParams",function(o){this.connectorId=o.connectorId}],controllerAs:"vm"}),o.addNavigation({name:e("Data subscriptions"),parent:e("Data broker"),icon:"c8y-connector-in",priority:1e3,path:t.SUBSCRIPTION_BASE_URL,showIfPermissions:r,showIf:["c8yApplication",c]}),n.when(t.SUBSCRIPTION_BASE_URL,{template:"<c8y-data-broker-subscriptions></c8y-data-broker-subscriptions>"})}o.$inject=["c8yNavigatorProvider","c8yViewsProvider","dataBrokerConstants","gettext"],angular.module("c8y.dataBroker").config(o)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{var a="connectors";angular.module("c8y.dataBroker",[]).constant("dataBrokerConstants",{CONNECTOR_BASE_URL:a,ROUTE_NEW_CONNECTOR:"".concat(a,"/new"),SUBSCRIPTION_BASE_URL:"subscriptions"})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(e,n,o){var t=this;_.assign(t,{addSubscription:function(){e.create(t.code).then(function(){t.isShown=!1,t.code=""}).then(t.onReload).then(function(){n.success(o("Subscription code registered."))})},code:""})}e.$inject=["c8yDataBrokerSubscriptionsService","c8yAlert","gettext"],angular.module("c8y.dataBroker").component("c8yDataBrokerAddSubscription",{controller:e,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/subscriptions/addSubscription.html",bindings:{onReload:"&",isShown:"="}})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(t,n,e,c,i){var o=this;function s(t){n.accept(t.id).then(o.onReload).then(function(){e.success(c("Subscription accepted."))})}function a(t){n.discard(t.id).then(o.onReload).then(function(){e.success(c("Subscription discarded."))})}function r(t){return _.get(t,"status.value")===o.NEW_DEVICE_REQUEST_STATUS.WAITING_FOR_CONNECTION.value}function u(t){return _.get(t,"status.value")===o.NEW_DEVICE_REQUEST_STATUS.PENDING_ACCEPTANCE.value}function E(t){return _.get(t,"status.value")===o.NEW_DEVICE_REQUEST_STATUS.ACCEPTED.value}function d(t){return i.getString("{{status | translate}} using code {{code}}",{status:t.status.label,code:S(t)})}function S(t){return t.connectorName||t.id}_.assign(o,{$onInit:function(){_.assign(o,{acceptSubscription:t.onAccept?o.onAccept:s,discardSubscription:t.onDiscard?o.onDiscard:a,NEW_DEVICE_REQUEST_STATUS:n.NEW_DEVICE_REQUEST_STATUS,isWaitingForConnection:r,isPendingAcceptance:u,isAccepted:E,getStatusText:d,getCode:S})}})}t.$inject=["$attrs","c8yDataBrokerSubscriptionsService","c8yAlert","gettext","gettextCatalog"],angular.module("c8y.dataBroker").component("c8yDataBrokerPendingSubscription",{controller:t,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/subscriptions/pendingSubscription.html",bindings:{pendingSubscription:"<",onReload:"&",onAccept:"&?",onDiscard:"&?"}})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(e,o,n,c,r){var i=this;_.assign(i,{remove:function(t){return o({title:c("Delete subscription"),body:r.getString('You are about to delete subscription "{{connectorName}}". Do you want to proceed?',_.get(t,"_c8y_BrokerSource")),status:"danger",labels:{ok:c("Delete")}}).then(function(){e.remove(t)}).then(function(){return e.setStatus(i.acceptedSubscription,!1)}).then(i.onReload).then(function(){n.success(c("Subscription deleted."))})},toggleSubscriptionStatus:function(t){t.stopPropagation(),t.preventDefault(),e.setStatus(i.acceptedSubscription,!i.acceptedSubscription.userEnabled).then(function(t){i.acceptedSubscription=t})}})}t.$inject=["c8yDataBrokerSubscriptionsService","c8yModal","c8yAlert","gettext","gettextCatalog"],angular.module("c8y.dataBroker").component("c8yDataBrokerSubscription",{controller:t,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/subscriptions/subscription.html",bindings:{acceptedSubscription:"<",onReload:"&"}})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _slicedToArray(r,n){return _arrayWithHoles(r)||_iterableToArrayLimit(r,n)||_unsupportedIterableToArray(r,n)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,n){var t;if(r)return"string"==typeof r?_arrayLikeToArray(r,n):"Map"===(t="Object"===(t={}.toString.call(r).slice(8,-1))&&r.constructor?r.constructor.name:t)||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,n):void 0}function _arrayLikeToArray(r,n){(null==n||n>r.length)&&(n=r.length);for(var t=0,o=Array(n);t<n;t++)o[t]=r[t];return o}function _iterableToArrayLimit(r,n){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var o,i,e,a,s=[],c=!0,u=!1;try{if(e=(t=t.call(r)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(o=e.call(t)).done)&&(s.push(o.value),s.length!==n);c=!0);}catch(r){u=!0,i=r}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}function _arrayWithHoles(r){if(Array.isArray(r))return r}(()=>{function r(r){var t=this;_.assign(t,{$onInit:function(){t.control=r.getForNg1({pollingInterval:15e3,onPendingSubscriptions:function(r){t.pendingSubscriptions=r},onExistingSubscriptions:function(r){t.subscriptions=r},onMoUpdate:function(r){var n=_slicedToArray(r,1)[0],r=t.subscriptions.find(function(r){return r.id===n.id});r&&Object.assign(r,n)}}),t.control.init()},$onDestroy:function(){t.control.destroy()},reload:function(){t.control.reload()},subscriptions:[],pendingSubscriptions:[],toggleAddNewSubscriptionForm:function(r){t.isShownAddNewSubscription=!r},isShownAddNewSubscription:!1,isSubscriptionsListEmpty:function(){return t.subscriptions.length<1&&t.pendingSubscriptions.length<1&&!t.isShownAddNewSubscription}})}r.$inject=["c8yDataBrokerSubscriptionsService"],angular.module("c8y.dataBroker").component("c8yDataBrokerSubscriptions",{templateUrl:":::PLUGIN_PATH:::/subscriptions/subscriptions.html",controller:r,controllerAs:"vm"})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(i,t,e,n,a,o,d,c,r){var l,u=_.partial(p,!1);function f(t){var e=t;return e=o.kpisOnly?_(t).filter("_kpiId").uniqBy("_kpiId").value():e}function s(t){return _.reject(t,function(t){return!!_.find(d,_.pick(t,["fragment","series","__target"]))})}function g(t){i.datapoints=t}function p(t){i.data.loadingDataPoints=t}function v(){return _.union(_.filter(i.datapoints,"__active"),_.filter(i.datapointsSelected,"__active"))}function h(t){var e,n=_.get(i,"data.device.id");return n?(e=_.filter(i.datapointsSelected,function(t){t=t.__target;return n===t.id}),t.filter(function(t){t=t._kpiId;return!t||!_.find(e,{_kpiId:t})})):t}i.config=o,i.shouldDisableSelection=function(t){return!t.__active&&o&&o.maxSelectCount<=v().length},i.cancel=t.dismiss,i.getSelected=v,i.add=function(){t.close(v())},i.data={},i.$watch("data.device",function(t){t&&(i.noContext=!1,p(!0),i.datapointsSelected=v(),delete i.datapoints,n.listPossible(t).then(f).then(s).then(h).then(g).then(u))}),i.getConfigTitle=function(t){return t.title||r("Add data point")},i.getConfigBtnLabel=function(t){return t.addButtonLabel||r("Add")},a=a.getContext(),l=c.SHARED_CONTEXTS.COMPUTED_PROPERTY_LAST_MEASUREMENT.value,(t=>(t=t.context)&&("device"===t||"group"===t))(a)?(i.rootId=a.id,c.isAvailable(l)&&(i.rootId=_.get(c.get(l),"id",i.rootId))):(i.noContext=!0,p(!0),n.listForFirstDevices(2).then(f).then(s).then(g).then(u))}t.$inject=["$scope","$uibModalInstance","$injector","c8yDataPointSvc","c8yUiUtil","config","addedDataPoints","contextDetailsSharedService","gettext"],angular.module("c8y.cockpit.dataPointExplorer").controller("c8yDataPointAddCtrl",t)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,a){var e;if(t)return"string"==typeof t?_arrayLikeToArray(t,a):"Map"===(e="Object"===(e={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:e)||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?_arrayLikeToArray(t,a):void 0}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var e=0,n=Array(a);e<a;e++)n[e]=t[e];return n}(()=>{function t(e,t,n,o,a,r,i,d,c,s,l,u,m,g){var f,p;function h(t,a){t&&a&&(e.data.datapoints.length=0,(a=e.data.datapoints).push.apply(a,_toConsumableArray(t))),e.data.graphDataPoints=t;a=v(_.filter(t,"__active"));e.channel=a?"/measurements/".concat(a):""}function y(t){e.data.graphAlarmsEventsConfigs=t;t=v(_.filter(t,"__active"));e.alarmsChannel=t?"/alarms/".concat(t):"",e.eventsChannel=t?"/events/".concat(t):""}function v(t){return _(t).map(function(t){return t.__target.id}).uniq().value().join(",")}function A(){var a,t=o.getContext();t.context&&(f="".concat(t.context,"_").concat(t.id)),e.disableLocalStorage||(a=_.throttle(function(t,a){t===a||e.dontSave||e.disableLocalStorage||(t=_.pick(e.data,["dateFrom","dateTo","interval","aggregation","realtime","alarmsEventsConfigs"]),r.setSavedFilters(t,f))},500,{leading:!1,trailing:!0}),r.getSavedFilters(f).then(function(t){_.assign(e.data,t),e.$watch("data.realtime",a),e.$watch("data.dateFrom",a),e.$watch("data.dateTo",a),e.$watch("data.interval",a),e.$watch("data.aggregation",a),e.$watch("data.alarmsEventsConfigs",a,!0)}))}function b(){var t,a=b._hasDashboard,e=a;if(_.isUndefined(a))try{2===(t=n.get("dashboardSvc")).VERSION&&(e=t)}catch(t){e=!1}return b._hasDashboard=e}function T(t){var a=b();a&&a[t]({name:"Data points graph",title:l.getString("Data points"),_width:24,_height:5,config:{datapoints:e.data.graphDataPoints,alarmsEventsConfigs:e.data.graphAlarmsEventsConfigs,dateTo:e.data.dateTo,dateFrom:e.data.dateFrom,aggregation:e.data.aggregation,realtime:e.data.realtime}}).then(S)}function S(){d.success(s("Widget created."))}function D(){T("addWidgetToSelectedDashboardInContext")}function w(){T("addWidgetToSelectedReport")}function F(t){e.chartBox=t}function C(){e.$watch("data.datapoints",function(){r.saveLocal(e.data.datapoints,f)},!0)}function x(t,a){i.addAction({text:t,action:function(){var t={dateFrom:moment(e.data.dateFrom).format(c.dateFullFormat),dateTo:moment(e.data.dateTo).format(c.dateFullFormat)};m.downloadReportForDatapoints(a,e.data.graphDataPoints,t).catch(function(t){t&&t.message&&d.warning(t.message)})}})}e.onRealtimeAlarmFn=function(t){e.onAlarm=t},e.onRealtimeEventFn=function(t){e.onEvent=t},!o.getContext().context&&t.path().match(/datapoint/)&&a.changeTitle({title:s("Data explorer")}),A(),t={text:s(f?"Send as widget to dashboard":"Send as widget to report"),action:f?D:w},b()&&!e.noActions&&i.addAction(t),_.get(e,"data.datapoints.length")||r.listLocal(f).then(function(t){t&&t.length&&h(t,!0)}).then(C),e.noActions||(x(s("Download as CSV"),u.format.csv),x(s("Download as Excel"),u.format.xlsx)),$(window).resize(function(){e.$broadcast("dashboardResize"),e.$apply()}),e.onBoxChanged=F,e.onUpdateDates=function(t,a){e.data.dateFrom=t;t=moment().diff(moment(a),"seconds")<5;e.data.realtime&&!t&&(e.data.realtime=!1),e.data.dateTo=a},e.onUpdateDisplayedDates=function(t,a){e.data.displayedDateFrom=t,e.data.displayedDateTo=a},e.savedFilter={config:{},datapoints:[]},e.data=e.data||_.cloneDeep(e.savedFilter),(p=e.data.interval)&&"custom"!==p&&(t=_.find(g.intervals,function(t){return t.id===p})||{}).qty&&(e.data.dateFrom=moment().subtract(t.qty,t.unit).toDate(),e.data.dateTo=moment().toDate()),e.$watch("data.datapoints",function(){return h(e.data.datapoints)},!0),e.$watch("data.alarmsEventsConfigs",y,!0)}t.$inject=["$scope","$location","$injector","c8yUiUtil","c8yTitle","c8yDataPointSvc","c8yActions","c8yAlert","c8yBase","gettext","gettextCatalog","c8yMeasurements","MeasurementsReportSvc","INTERVAL_CONSTANTS"],angular.module("c8y.cockpit.dataPointExplorer").controller("c8yDataPointExplorerCtrl",t)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(e,a,i,t,n,l){a.availableKpi=function(){return i.getCompatibleKpi(a.kpis,a.dp||{})},a.isKpiAvailable=function(){return a.dp._kpiId&&d(a.dp._kpiId)},a.saveToLibrary=function(t){a.isopen=!1;var e=!!t._kpiId;t._kpiId&&!d(t._kpiId)&&(e=!1,delete t._kpiId);i.saveDataPointToLibrary(t,e).then(function(e){_.isEmpty(e.data)||(t._kpiId=e.data.id),n.success(l("Saved to library.")),a.listKpi()})},a.updateDataPointWithKpi=function(e,t){a.isopen=!1,i.updateDataPointWithKpi(e,t)},a.chartTypes=t.renderTypes,a.lineTypes=t.lineTypes,a.axisTypes=t.axisTypes,a.dpDebounce=300,a.getLinkedKpiLabel=function(){{var e;if(a.dp._kpiId)return e=_.find(a.availableKpi(),{id:a.dp._kpiId}),_.get(e,"c8y_Kpi.label","")}return},a.setRangesFieldsAsTouched=_.once(function(){_.forEach(o,function(e){return _.get(a.singleDpForm,e).$setTouched()})}),a.isCollapsed=!1,a.collapse=function(){a.isCollapsed=!a.isCollapsed,a.defaultDatapoint||i.listForObject(a.dp.__target).then(p)},a.localIsEqualToTargetDp=function(){return i.equals(a.defaultDatapoint,a.dp)},a.localIsEqualToTargetDpValue=function(e){var t=_.get(a.defaultDatapoint,e),e=_.get(a.dp,e);return i.equals(t,e)},a.defaultDatapoint=void 0,a.save=function(){a.dp&&!a.dontSave&&i.save(a.dp.__target,a.dp).then(p)},a.onRangeFieldChange=function(){r(),a.setRangesFieldsAsTouched()};var o=["min","max","yellowRangeMin","yellowRangeMax","redRangeMin","redRangeMax"];function p(e){a.defaultDatapoint=e[a.dp._id]}function d(e){return _.some(a.availableKpi(),{id:e})}function r(){var e=a.singleDpForm;u(e.min,e.max),u(e.yellowRangeMin,e.yellowRangeMax),u(e.redRangeMin,e.redRangeMax)}function u(e,t){var a,i,n;e&&t&&(a="range-ends-must-not-be-equal",i=s(e),n=s(t),e.$setValidity(a,e=!(null!==i&&null!==n)||i!==n),t.$setValidity(a,e))}function s(e){e=e.$modelValue;return _.isNumber(e)||_.isString(e)&&!_.isEmpty(e)?_.toNumber(e):null}e(r)}e.$inject=["$timeout","$scope","c8yDataPointSvc","c8yChart","c8yAlert","gettext"],angular.module("c8y.cockpit.dataPointExplorer").controller("c8yDataPointItemCtrl",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,a){var r;if(t)return"string"==typeof t?_arrayLikeToArray(t,a):"Map"===(r="Object"===(r={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:r)||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,a):void 0}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,e=Array(a);r<a;r++)e[r]=t[r];return e}(()=>{function t(e,t,a,r,n,o){_.assign(this,{validationChanged:function(t){e.forms.dpForm.$setValidity("dpSelected",t)},modelChanged:function(t){(t=>{var a;e.datapoints||(e.datapoints=[]),e.datapoints.length=0,(a=e.datapoints).push.apply(a,_toConsumableArray(t))})(t)}}),_.assign(e,{tmpDatapoints:[]}),_.assign(e,{actions:[]}),e.$watch("datapoints",function(){e.tmpDatapoints.length=0;var t,a=e.datapoints||[];(t=e.tmpDatapoints).push.apply(t,_toConsumableArray(a))},!0),e.$watch("smartrules",function(t){t&&_.assign(e,{actions:[{label:o("Create smart rule"),callback:function(t){n.addNewForInputDataPointWithUI(t)},icon:"cogs"}]})});var i=_.get(e,"$parent.config.settings.context");function s(t){var a,r;t&&t.id&&(a=t.name,r=t.id,t=t.c8y_IsDevice,e.selectorConfig||(e.selectorConfig={}),e.selectorConfig.contextAsset={name:a,id:r,c8y_IsDevice:t},e.allowAddingDataPointsFromContextMoOnly)&&(e.selectorConfig.allowChangingContext=!1)}i&&i.id?s(i):(i=t.getContext())&&i.id&&("device"===i.context||"group"===i.context)&&a.detailCached(i.id,{withChildren:!1}).then(r.getResData).then(s)}t.$inject=["$scope","c8yUiUtil","c8yInventory","c8yBase","smartRulesSvc","gettext"],angular.module("c8y.cockpit.dataPointExplorer").controller("c8yDataPointListCtrl",t)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(a,e,i,o,n){a.onRealtimeAlarmFn=function(e){a.onAlarm=e},a.onRealtimeEventFn=function(e){a.onEvent=e};var t,c=200;function l(e,i,t){!1!==a.child.config.updateDates&&(a.child.config.dateFrom=e,!a.child.config.widgetInstanceGlobalTimeContext&&a.viewRealtime&&t===n.onDragEnd&&(a.viewRealtime=!1),a.child.config.dateTo=i)}function d(){var e,i,t,n;a.child&&a.child.config&&(e=(t=a.child.config).interval,t=t.realtime,e)&&(e!==o.custom.id||t)&&(e===o.custom.id&&t?(t=new Date(a.child.config.dateFrom),t=new Date(a.child.config.dateTo)-t,n=moment(),a.child.config.dateTo=n.toDate(),a.child.config.dateFrom=n.subtract(t,"milliseconds").toDate()):(i=e,(n=_.find(o.intervals,function(e){return e.id===i})||{}).qty&&(a.child.config.dateFrom=moment().subtract(n.qty,n.unit).toDate(),a.child.config.dateTo=moment().toDate())))}function h(){var e=i.height();_.isUndefined(_.get(t,"height"))||(e-=t.height),a.dataPointsGraphHeight=_.max([c,e])}function m(){e(function(){a.$broadcast("dashboardResize")},500)}function f(e,i){a.alarmsEventsTimeline=a.alarmsEventsTimeline||{},a.alarmsEventsTimeline.displayedDateFrom=e,a.alarmsEventsTimeline.displayedDateTo=i}function r(e){return _(e).map(function(e){return e.__target.id}).uniq().value().join(",")}a.onUpdateDates=l,a.onUpdateDisplayedDates=f,a.onBoxChanged=function(e){a.chartBox=e},a.onTimelinesChartSizeChanged=function(e){t=e,h(),m()},a.dataPointsGraphHeight=i.height(),a.viewRealtime=a.child&&a.child.config&&a.child.config.realtime,a.onRealtimeToggle=function(){a.viewRealtime=!a.viewRealtime},a.recalculate=d,d(),a.$watch("child.config.datapoints",function(e){e=r(e);a.channel=e?"/measurements/".concat(e):""}),a.$watch("child.config.alarmsEventsConfigs",function(e){e=r(e);a.alarmsChannel=e?"/alarms/".concat(e):"",a.eventsChannel=e?"/events/".concat(e):""}),a.$watchCollection(["child.config.dateFrom","child.config.dateTo"],function(){f(a.child.config.dateFrom,a.child.config.dateTo)}),a.$watch("child.config.date",function(){a.child.config.widgetInstanceGlobalTimeContext&&l(new Date(a.child.config.date[0]),new Date(a.child.config.date[1]))}),a.$watch("child.config.realtime",function(){a.viewRealtime=a.child&&a.child.config&&a.child.config.realtime}),a.$on("dashboardResize",function(e){(e.targetScope!==a?m:h)()})}e.$inject=["$scope","$timeout","$element","INTERVAL_CONSTANTS","X_AXIS_CONSTANTS"],angular.module("c8y.cockpit.dataPointExplorer").controller("DataPointWidgetCtrl",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.cockpit.dataPointExplorer").controller("DataPointWidgetConfigCtrl",["$scope","c8yDataPointSvc","gettext",function(a,n,t){a.noActions=!0,a.dontSave=!0,a.onRealtimeAlarmFn=function(t){a.onAlarm=t},a.onRealtimeEventFn=function(t){a.onEvent=t},a.dateSelectionHelpPopoverText=t('\n Choose how to select a date range, the available options are:\n <ul class="m-l-0 p-l-8 m-t-8 m-b-0">\n <li><b>Widget configuration:</b> restricts the date selection only to the widget configuration</li>\n <li><b>Widget and widget configuration:</b> restricts the date selection to the widget view and widget configuration only</li>\n <li><b>Dashboard time range:</b> restricts date selection to the global dashboard configuration only</li>\n </ul>\n ');function e(t,a){var a=_.pick(a,"dateFrom","dateTo","aggregation","displayDateSelection","interval","realtime","displayDateSelection","widgetInstanceGlobalTimeContext","canDecoupleGlobalTimeContext"),e=n.getDefaultFilters();_.assign(t,e,a)}a.onBoxChanged=function(t){a.chartBox=t},a.data={},a.data.datapoints=_.cloneDeep(a.config.datapoints),a.data.alarmsEventsConfigs=_.cloneDeep(a.config.alarmsEventsConfigs),e(a.data,a.config),a.dateSelection=(()=>{var t=a.data.widgetInstanceGlobalTimeContext?"dashboard_context":a.data.displayDateSelection?"view_and_config":"config";return t})(),a.$watch("dateSelection",function(){switch(a.dateSelection){case"dashboard_context":a.data.widgetInstanceGlobalTimeContext=!0;break;case"view_and_config":a.data.widgetInstanceGlobalTimeContext=!1,a.data.displayDateSelection=!0;break;default:a.data.widgetInstanceGlobalTimeContext=!1,a.data.displayDateSelection=!1}},!0),a.$watch("data",function(){a.data.widgetInstanceGlobalTimeContext&&(a.data.dateFrom=a.config.date?a.config.date[0]:a.data.dateFrom,a.data.dateTo=a.config.date?a.config.date[1]:a.data.dateTo,a.data.realtime=a.config.realtime,a.data.displayDateSelection=!1,a.data.canDecoupleGlobalTimeContext=!1,a.data.interval=null),e(a.config,a.data),a.config.datapoints=a.data.graphDataPoints,a.config.alarmsEventsConfigs=a.data.graphAlarmsEventsConfigs},!0)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.cockpit.dataPointExplorer").directive("c8yDataPointList",[function(){return{require:"?ng-form",restrict:"E",link:function(o,n,t){o.formConfig={showTarget:!0,showRange:!0,showYellowRange:!0,showRedRange:!0,showChart:!0},"basicList"in t&&(o.isBasicList=!0,o.formConfig.showTarget=!1,o.formConfig.showRange=!1,o.formConfig.showYellowRange=!1,o.formConfig.showRedRange=!1,o.formConfig.showChart=!1),"noChart"in t&&(o.noChart=!0,o.formConfig.showChart=!1),"noTarget"in t&&(o.formConfig.showTarget=!1),"noRange"in t&&(o.formConfig.showRange=!1),"noYellowRange"in t&&(o.formConfig.showYellowRange=!1),"noRedRange"in t&&(o.formConfig.showRedRange=!1),"noAsset"in t&&(o.noAsset=!0),"smartrules"in t&&(o.smartrules=!0),void 0===o.minSelectCount&&(o.minSelectCount=1),o.datapoints||(o.datapoints=[])},scope:{datapoints:"=",listTitle:"<",dontSave:"@",maxSelectCount:"<",allowAddingDataPointsFromContextMoOnly:"<",minSelectCount:"<"},templateUrl:":::PLUGIN_PATH:::/views/dataPointList.html",controller:"c8yDataPointListCtrl"}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(o,l){return{require:"form",restrict:"A",transclude:!1,link:function(t,i,a,n){var e=["active","color","label","unit","min","max","target","yellowRangeMin","yellowRangeMax","redRangeMin","redRangeMax"],r=_.partial(l(a.c8yDataPointValidator),t);function c(){(r()||{}).__active?_(e).filter(function(t){return n[t]}).forEach(function(t){t=n[t];_.reduce(t.$parsers,function(t,i){return i(t)},t.$viewValue)}):_.forEach(e,function(t){t=n[t];t&&t.$invalid&&(t.$setValidity("c8yMin",!0),t.$setValidity("c8yMax",!0),t.$setValidity("required",!0))})}o(function(){t.$watch(r,c,!0),t.$watch(function(){return n.$valid},c)},500)}}}t.$inject=["$timeout","$parse"],angular.module("c8y.cockpit.dataPointExplorer").directive("c8yDataPointValidator",t)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.cockpit.dataPointExplorer",["c8y.deviceSelector"]).constant("dataPointExplorerTemplateBasePath",":::PLUGIN_PATH:::/views/").config(["c8yComponentsProvider","gettext",function(t,e){t.add({name:"Data points graph",nameDisplay:e("Data points graph"),description:e("A graph display of a collection of data points"),templateUrl:":::PLUGIN_PATH:::/views/widget.html",configTemplateUrl:":::PLUGIN_PATH:::/views/widgetConfig.html",previewImage:":::PLUGIN_PATH:::/img/data-points-graph-widget-pr.png",options:{noDeviceTarget:!0,minCol:4,datapointAttributes:["datapoints"]},displaySettings:{globalTimeContext:!0,globalRealtimeContext:!0,globalAggregationContext:!0}})}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var n;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(n="Object"===(n={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:n)||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function _iterableToArrayLimit(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,a,i,o,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,a=t}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return u}}function _arrayWithHoles(t){if(Array.isArray(t))return t}(()=>{function t(r,a,s,i,f,t,n,o,u,c,l){var d="c8y_DataPoint",h="_id",m=["target","color","min","max","fragment","series","yellowRangeMin","yellowRangeMax","redRangeMin","redRangeMax","unit","label"],p=_.transform(m,function(t,e){t[e]=void 0},{});return{listForObject:g,listPossible:D,listPossibleFast:function(t){return r.all({deviceDataPoints:g(t,null,{silentError:!0}),kpiData:r.resolve([]),device:t.name?r.resolve(t):s.detail(t,null,{silentError:!0}).then(f.getResData)}).then(A)},listLocalWithDefaults:function(t,e){function u(){return k(n).then((e=c,function(t){return _.take(t,e)})).then(w);var e}var c=5,n=2,l=(e||{}).id;return P(t).then(function(t){return t.length?t:l?(r=c,i=[],o=function(t){return _.forEach(t,function(t){return i.push(t),!(i.length>=r)}),i.length>=r?i:a?n():s.detail(e).then(f.getResData).then(function(e){return a=[],_.forEach(["childAssets","childDevices"],function(t){_.forEach(e[t].references,function(t){a.push(t.managedObject.id)})}),n()})},D(e=l).then(o).then(w)):u();function n(){return a.length?D(a.shift()).then(o):i}var e,r,a,i,o})},listLocal:P,listForFirstDevices:k,saveLocal:function(t,e){var n=_.map(t,function(t){return _.cloneDeep(t)});return window.localStorage.setItem(S(e),JSON.stringify(n)),r.when(t)},save:e,remove:_.partialRight(e,!0),getSavedFilters:function(t){t=window.localStorage.getItem(S("_savedfilter_".concat(t||"")));t=t?JSON.parse(t):T(),_.keys(t).length||(t=T());t.dateFrom&&(t.dateFrom=moment(t.dateFrom).toDate());t.dateTo&&(t.dateTo=moment(t.dateTo).toDate());return r.when(t)},getDefaultFilters:T,setSavedFilters:function(t,e){return window.localStorage.setItem(S("_savedfilter_".concat(e||"")),JSON.stringify(t)),r.when(t)},equals:function(t,e){return angular.equals(y(t),y(e))},addUI:function(t,e){var n=_.cloneDeep(t),t={templateUrl:":::PLUGIN_PATH:::/views/dataPointAdd.html",controller:"c8yDataPointAddCtrl",size:"sm",resolve:{config:function(){return e||{}},addedDataPoints:function(){return n}}};return a.open(t).result},chooseKpiWithUI:function(t){t=_.cloneDeep(t),t={templateUrl:":::PLUGIN_PATH:::/views/dataPointAdd.html",controller:"c8yDataPointAddCtrl",size:"sm",resolve:{config:function(){return{kpisOnly:!0,maxSelectCount:1}},addedDataPoints:_.constant(t)}};return a.open(t).result},listAllKpi:i.list,getCompatibleKpi:function(t,e){return _.filter(t,function(t){t=t.c8y_Kpi;return t.fragment===e.fragment&&t.series===e.series})},updateDataPointWithKpi:function(t,e){var n=_.defaults(e.c8y_Kpi,p);return t._kpiId=e.id,_.assign(t,n),t},saveDataPointToLibrary:function(t,e){var n={},r={};t._kpiId&&e&&(n.id=t._kpiId);return _.assign(r,_.defaults(_.pick(t,m),p)),n.c8y_Kpi=r,i.save(n)},setUnitFromLastMeasurement:function(t){return r.all(_.map(t,L))}};function g(t,e,n){return s.detail(t,e,n).then(f.getResData).then(v)}function v(t){return t[d]||{}}function y(t){var n=/^__/;return _.omitBy(t,function(t,e){return n.test(e)})}function e(t,e,n){var r,a,i={id:f.getId(t)};return f.createLocalId(e,h),r=e,a=n,g(t).then(function(t){return a?delete t[r[h]]:t[r[h]]=y(r),t}).then(function(t){return i[d]=t,i}).then(function(t){return u.mustHaveAdminMOs([t]).then(_.constant(t))}).then(s.save,_.constant(t)).then(f.getResData).then(v)}function D(t){return r.all({deviceDataPoints:g(t),kpiData:i.listKpiForDevice(t),device:t.name?r.resolve(t):s.detail(t).then(f.getResData)}).then(A)}function A(t){var e=t.deviceDataPoints,n=t.kpiData,t=t.device,r=n.matchKpi,a=n.nonKpiSeries,i=[];return _.forEach(e,function(t){b(i,t)||i.push(((t,e)=>{var t=t.matchKpi,n=e._kpiId,t=n?_.find(t,{id:n}):null;return e=t?_.assign(_.cloneDeep(t.c8y_Kpi),e):e})(n,t))}),_.forEach(r,function(t){t=t,(e=_.cloneDeep(t.c8y_Kpi))._kpiId=t.id;var e,t=e;b(i,t)||i.push(t)}),_.forEach(a,function(t){var e;b(i,t)||i.push((t=t,(e=_.cloneDeep(t)).label="".concat(t.fragment," => ").concat(t.series),e.color=l.generateColor(),e))}),_.forEach(i,_.partial(I,t)),i}function b(t,e){var n=e.fragment,r=e.series;return _.some(t,function(t){return t.fragment===n&&t.series===r})}function I(t,e){return e.__target={id:t.id,name:t.name},e}function S(t){return"datapoints".concat(t||"")}function P(t){t=window.localStorage.getItem(S(t)),t=t?JSON.parse(t):[];return r.when(t)}function w(t){var e=_slicedToArray(t,1)[0];return e&&(e.__active=!0),t}function T(){var t=n.durations,e=n._defaultDuration,t=t[e];return{interval:e,dateTo:new Date,dateFrom:moment().subtract(t).toDate(),realtime:!0,aggregation:o.calculate(t)}}function k(n){return t.list({pageSize:10*n}).then(K).then(function(t){var e=[];return _.forEach(t,function(t){return 0<t.length&&e.push(t),!(n<=e.length)}),_.flattenDeep(e)})}function K(t){t=_.map(t,D);return r.all(t)}function L(e){var n=e.fragment,r=e.series,t=_.get(e,"__target.id");return c.latest({fragment:n,series:r,device:t}).then(function(t){return e.unit=_.get(t,[n,r,"unit"],e.unit),e})}}t.$inject=["$q","$uibModal","c8yInventory","c8yKpi","c8yBase","c8yDevices","INTERVAL_CONSTANTS","c8yAggregationSvc","c8yPermissions","c8yMeasurements","c8yUiUtil"],angular.module("c8y.cockpit.dataPointExplorer").factory("c8yDataPointSvc",t)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(t,o,r,i,e,d,a){var n,l=[{val:"min",text:e("Minimum")},{val:"max",text:e("Maximum")},{val:"area",text:e("Area")}],c="YYYY-MM-DD HH:mm:ss",s={BLOCK_DISPLAY:"d-block",DANGER_FIELD_CSS_CLASS:"danger",DANGER_TEXT_CSS_CLASS:"text-danger",DATE_LEGEND_CSS_CLASS_TEXT_LEFT:"text-left",DATE_LEGEND_CSS_CLASS_TEXT_NOWRAP:"text-nowrap",DATE_LEGEND_LAST_CSS_CLASS:"text-left",DATE_LEGEND_REST_CSS_CLASS:"text-muted text-left",SELECTED_CSS_CLASS:"active",TIME_LEGEND_FIRST_CSS_CLASS:"text-muted text-right",TIME_LEGEND_REST_CSS_CLASS_TEXT_RIGHT:"text-right",TIME_LEGEND_REST_CSS_CLASS_TEXT_NOWRAP:"text-nowrap",VALUE_CSS_CLASS:"text-right",VALUE_SEPARATOR_CSS_CLASS:"text-muted",WARNING_FIELD_CSS_CLASS:"warning",WARNING_TEXT_CSS_CLASS:"text-warning"},u=!1,S=[],m=500,g=_.throttle(function(){var i=o.activePoints;return N().then(function(t){_.forEach(t,function(t,e){var a,n=i[e],r=(n.data=_.cloneDeep(t),a=n,_.findIndex(a.data.series,function(t){return t.type===a.fragment&&t.name===a.series})),e=_.cloneDeep(n.data.series);delete n.data.series,-1<r?(n.data.series=e[r],_.forOwn(n.data.values,function(t,e){_.isObjectLike(n.data.values[e][r])&&(o.legend.push({date:e,momentDate:moment(e),targetId:n.__target.id,targetName:n.__target.name}),w(n,e,r))})):_.forOwn(n.data.values,function(t,e){w(n,e)})})}).then(A).then(I).then(L).then(function(){u=!(n=!0)}).then(y)},100,{leading:!1,trailing:!0}),f=function(){u=!(n=!1),g()},E=_.memoize(function(t){return moment(t).format("ll")},function(t){return"".concat(t,"_").concat(o.aggregation)}),T=_.memoize(function(t){var t=moment(t),e="";"HOURLY"===o.aggregation?e="".concat(t.format("HH[:00]"),"-").concat(t.add(1,"hour").format("HH[:00]")):"MINUTELY"===o.aggregation?e="".concat(t.format("HH:mm"),"-").concat(t.add(1,"minute").format("HH:mm")):o.aggregation||(e=t.format("HH:mm:ss"));return e},function(t){return"".concat(t,"_").concat(o.aggregation)});function L(){var t,e,a=o.tbody.selectAll("tr").data(o.legend,function(t){return[t.date,t.targetId,t.modifiedAt].join(";")}),n=((n=(t=a).enter().append("tr").on("click",function(t){var e;e=t.date,t=t.targetId,o.rowsSelectable&&(o.selected&&o.selected.target===t&&moment(o.selected.date).isSame(e)?o.selected={}:(o.selected={date:e,target:t},o.skipScroll=!0))})).append("td").classed("datetime",!0).call(function(t){t.append("strong").attr("class",[s.DATE_LEGEND_CSS_CLASS_TEXT_LEFT,s.DATE_LEGEND_CSS_CLASS_TEXT_NOWRAP].join(" ")).style("margin-right","2px"),t.append("span")}),n.append("td").classed("target",!0).style("display",o.displayTarget?"table-cell":"none").text(function(t){return t.targetName}),(e=n.selectAll("td.datapoint").data(o.activePoints,function(t){return t._id||t._kpiId||t.$$hashKey})).enter().append("td").call((a=>{function r(t){var e=a.data()||[];return _.filter(e,_.identity)[t]}return function(t){t.attr("class",function(t,e,a){return _(p(r(a),t,"FIELD")).pickBy(_.identity).keys().value().join(" ")}).attr("stw-datatable-tooltip",function(t,e,a){var a=r(a),a=C(a,t),n=null;return x(a,t)?n=d.getString("Red range: {{min}} … {{max}}",{min:t.redRangeMin,max:t.redRangeMax}):D(a,t)&&(n=d.getString("Yellow range: {{min}} … {{max}}",{min:t.yellowRangeMin,max:t.yellowRangeMax})),n}),t.append("strong").text(function(t,e,a){a=r(a);return R(a,t,"min")?C(a,t).min:""}).attr("class",function(t,e,a){return _(p(r(a),t,"TEXT","min")).pickBy(_.identity).keys().value().join(" ")}),t.append("strong").text(function(t,e,a){a=r(a);return R(a,t,"min")&&R(a,t,"max")?" ... ":""}).classed(s.VALUE_SEPARATOR_CSS_CLASS,!0),t.append("strong").text(function(t,e,a){a=r(a);return R(a,t,"max")?C(a,t).max:""}).attr("class",function(t,e,a){return _(p(r(a),t,"TEXT","max")).pickBy(_.identity).keys().value().join(" ")})}})(n)).classed("datapoint",!0).classed(s.VALUE_CSS_CLASS,!0),e.exit().remove(),e.order(),t.sort(function(t,e){return moment(e.date).isAfter(moment(t.date))?1:-1}),a);return n.classed(s.SELECTED_CSS_CLASS,function(t){return!!o.selected&&moment(o.selected.date).valueOf()===t.momentDate.valueOf()&&o.selected.target===t.targetId}),(n=n.select("td.datetime")).attr("stw-datatable-tooltip",function(t){return t.isFirstNewDate?void 0:E(t.date)}),n.select("strong").attr("class",function(t){return t.isLastForDate?s.DATE_LEGEND_LAST_CSS_CLASS:s.DATE_LEGEND_REST_CSS_CLASS}).text(function(t){t=t.date;return E(t)}),n.select("span").attr("class",[s.TIME_LEGEND_REST_CSS_CLASS_TEXT_RIGHT,s.TIME_LEGEND_REST_CSS_CLASS_TEXT_NOWRAP].join(" ")).text(function(t){return T(t.date)}),a.exit().remove(),a}function A(){o.legend=_.sortBy(_.uniqBy(o.legend,function(t){return"".concat(t.date).concat(t.targetId)}),["momentDate","targetName"])}function p(t,e,a,n){var n=n?C(t,e)[n]:C(t,e),t={},r=s["DANGER_".concat(a,"_CSS_CLASS")],a=s["WARNING_".concat(a,"_CSS_CLASS")];return t[r]=!1,t[a]=!1,x(n,e)?t[r]=!0:D(n,e)&&(t[a]=!0),t}function C(t,e){if(n=e,r=(a=t).date,!(n.data&&n.data.values&&n.__target.id===a.targetId&&_.isObjectLike(n.data.values[r])&&_.isNumber(n.data.values[r].min)&&_.isNumber(n.data.values[r].max)))return{};var a,n,r,i={},o=e.data.values,d=t.date;switch(e.renderType){case"area":i.min=o[d].min,i.max=o[d].max;break;case"min":i.min=o[d].min;break;case"max":i.max=o[d].max;break;default:i.min=o[d].min}return i}function v(t,e,a){return _.isObjectLike(t)?t.min>=e&&t.min<=a||t.max>=e&&t.max<=a:e<=t&&t<=a}function x(t,e){return v(t,e.redRangeMin,e.redRangeMax)}function D(t,e){return v(t,e.yellowRangeMin,e.yellowRangeMax)}o.legend=[],o.firstNewDates=[],o.$watch("datapoints",function(t){o.legend=[],o.firstNewDates=[],o.activePoints=[],L();t=_.cloneDeep(t);o.activePoints=_.filter(t,function(t){return t.__active}),o.displayTarget=1<_.uniqBy(o.activePoints,function(t){return t.__target.id}).length,f()}),o.$watch("dateFrom",b),o.$watch("dateTo",b),o.$watch("aggregation",f),o.$watch("selected",function(){var t;n&&(L(),o.skipScroll?o.skipScroll=!1:(t=o.table.find(".".concat(s.SELECTED_CSS_CLASS)).get(0))&&o.panel.animate({scrollTop:(t.offsetTop-o.panel.height())/2},500))}),_.assign(o,{getChartTypeTooltip:function(e){var t=e.label,a=e.unit||e.data&&e.data.series&&e.data.series.unit,n=e.renderType&&l[_.findIndex(l,function(t){return t.val===e.renderType})].text;return[t,a?[" [",a,"]"].join(""):"",n?[" (",d.getString(n),")"].join(""):""].join("")},getFieldStyling:p,getFieldValue:C,onData:function(t){S.push(t),y()},data:{},selected:o.selected||{},isDataLoading:function(){return u}});var N=a.latest(function(){var t=o.activePoints,e=o.dateFrom,a=o.dateTo,n=o.aggregation;return o.legend=[],o.firstNewDates=[],r.all(_.map(t,function(t){return i.loadSeriesData(t,e,a,n)}))});var h=_.throttle(function(){o.panel.scrollTop(0)},500);function y(){if(!u){for(var t=S.shift();t;)(n=>{_.forEach(o.activePoints,function(t){var e,a;e=n[(a=t).fragment],a.__target.id===n.source.id&&e&&e[a.series]&&(t.data=t.data||{values:{}},t.data.values[n.time]={min:n[t.fragment][t.series].value,max:n[t.fragment][t.series].value},_.last(o.legend)&&(e=n.time,a=_.last(o.legend).date,e)&&a&&(e=moment(e).format(c),a=moment(a).format(c),moment(e).isSame(a))&&t.__target.id===_.last(o.legend).targetId&&(o.legend=_.dropRight(o.legend)),o.legend.push({date:n.time,momentDate:moment(n.time),targetId:t.__target.id,targetName:t.__target.name,modifiedAt:moment().toISOString()}),o.legend.length>m)&&o.legend.shift()})})(t),t=S.shift();I(),L(),k()}}function R(t,e,a){return _.isNumber(C(t,e)[a])}function I(){for(var t=o.legend.length,e=0;e<t;e++){var a=0===e,n=e===t-1,r=(o.legend[e-1]?o.legend[e-1].date.substr(0,10):"")!==o.legend[e].date.substr(0,10);o.legend[e].isFirstNewDate=a||r,o.legend[e].isLastForDate=n||r}}function w(t,e,a){t.data.values[e]=_.isUndefined(a)?{}:t.data.values[e][a]}function b(){o.tbody.selectAll("tr").remove(),f()}function k(){o.scrollLocked&&h()}o.$watch("scrollLocked",k)}t.$inject=["$filter","$scope","$q","c8yDataPoint","gettext","gettextCatalog","c8yBase"],angular.module("c8y.cockpit.dataPointTable").controller("c8yDataPointTableController",t)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.cockpit.dataPointTable").directive("c8yDataPointTable",function(){return{restrict:"E",scope:{datapoints:"=?",dateFrom:"=?",dateTo:"=?",aggregation:"=?",selected:"=?",rowsSelectable:"=?",onData:"=?",scrollLocked:"=?"},controller:"c8yDataPointTableController",templateUrl:":::PLUGIN_PATH:::/views/dataPointTable.html",compile:function(e){if(0!==e.parents(".card.card-dashboard").children(".card-header-actions").length)return function(e,t){e.element=t,e.panel=t.parents("div.card-inner-scroll"),e.table=t.find("table"),e.tbody=d3.select(t.find("tbody").get(0))}}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(o,n){return{loadSeriesData:function(t,a,e,r){a=a&&moment(a).subtract(1,"minute").startOf("minute"),e=e&&moment(e).add(1,"minute").startOf("minute");return n.listSeries({dateFrom:a&&a.format(o.dateFullFormat),dateTo:e&&e.format(o.dateFullFormat),source:t.__target.id,aggregationType:r||void 0})}}}t.$inject=["c8yBase","c8yMeasurements"],angular.module("c8y.cockpit.dataPointTable").factory("c8yDataPoint",t)})();
|
package/dataPointTable/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(t,e){t.add({name:"Data points table",nameDisplay:e("Data points table"),description:e("A table display of a collection of data points"),templateUrl:":::PLUGIN_PATH:::/views/widget.html",configTemplateUrl:":::PLUGIN_PATH:::/views/widgetConfig.html",previewImage:":::PLUGIN_PATH:::/img/data-point-table-widget-pr.png",options:{noDeviceTarget:!0,minCol:6,datapointAttributes:["datapoints"]},displaySettings:{globalTimeContext:!0,globalRealtimeContext:!0,globalAggregationContext:!0}})}t.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.cockpit.dataPointTable",[]).config(t)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.cockpit.dataPointTable").directive("c8yRealtimeRadioButton",["c8yRealtime",function(r){function l(n,t){r.start(n,t)}function u(n,t){r.stop(n,t)}function s(n,t){return r.getStatus(n,t)}return{scope:{start:"=",channel:"@",data:"&onData",subscribed:"&onSubscribed",state:"="},replace:!0,restrict:"EA",templateUrl:":::PLUGIN_PATH:::/views/realtimeRadioButton.html",controller:["$scope",function(c){var o=c.$id;function i(n,t){c.data({data:t})}c.$watch("channel",function(n,t){var a,e;n&&(a=o,e=n,r.addListener(a,e,"CREATE",i),!c.state&&!c.start||s(a,e)||l(a,e)),t&&t!==n&&u(o,t)}),c.$on("$destroy",function(){u(o,c.channel)}),c.icon=function(){var n=r.getStatus(o,c.channel);return c.channel&&(c.state=n),void 0!==n?r.icon(n):r.icon(!1)},c.on=function(){(s(o,c.channel)?u:l)(o,c.channel)},c.$watch("start",function(n){c.channel&&n&&l(o,c.channel),!1===n&&s(o,c.channel)&&u(o,c.channel)})}]}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function t(i,t){var n=this,c=(i.$watch("child.config.datapoints",function(t){t=_(t).map("__target.id").compact().uniq().value();t.length?n.channel="/measurements/".concat(t.join(",")):n.channel=""}),i.$watch("child.config.realtime",function(t){n.realtime=!!t}),i.$watch("child.config.date",function(){i.child.config.widgetInstanceGlobalTimeContext&&(i.child.config.dateFrom=new Date(i.child.config.date[0]),i.child.config.dateTo=new Date(i.child.config.date[1]))}),i.child.config.interval);c&&c!==t.custom.id&&(c=_.find(t.intervals,function(t){return t.id===i.child.config.interval})||{}).qty&&(i.child.config.dateFrom=moment().subtract(c.qty,c.unit).toDate(),i.child.config.dateTo=moment().toDate())}t.$inject=["$scope","INTERVAL_CONSTANTS"],angular.module("c8y.cockpit.dataPointTable").controller("c8yDataPointTableWidgetCtrl",t)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,u=[],s=!0,l=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);s=!0);}catch(e){l=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return u}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function ownKeys(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{e.$inject=["c8yDeviceTypeProtocolBaseProvider","gettext"];var r="c8yActilityDevice";function e(e,s){t.$inject=["$q","c8yDeviceDatabase","c8yTenant"];var l={label:s("LoRa"),fieldbusType:"actility",serviceName:r};return e.getDeviceTypeProtocolProvider(l,t);function t(e,t,r){var n={name:"actility"},i={name:"loriot-agent"},o=[t.MessageIdSources.FPORT,t.MessageIdSources.PAYLOAD],a=_objectSpread(_objectSpread({},l),{},{type:"c8y_ActilityDeviceType",noNewProtocolInstances:!0,configuration:{messageIdConfiguration:o},discreteOutputs:!1,discreteInputs:!1,holdingRegisters:{sectionTitle:s("Values"),noRegistersDefinedMessage:s("No values defined."),newRegisterModalTitle:s("New value"),editRegisterModalTitle:s('Edit value: "{{name}}"'),addRegisterButtonLabel:s("Add value"),validation:{invalidName:s("Name must be unique among values."),invalidMeasurement:s("Selected measurement type and series are already used by another value in the same message type.")},messageTypeId:{label:s("Message type ID")},startBit:!0,noBits:!0,multiplier:!0,offset:!0,decimalPlaces:!1,options:{signed:!0,bcd:!0,littleEndian:!0},functionalities:{showStatus:!1,updateStatus:!1,sendMeasurement:!0,raiseAlarm:{alarmStatus:!0},sendEvent:{fragmentType:!0,innerType:!0},sendManagedObjectUpdate:!0},unit:{requiredForSendMeasurement:!0}},inputRegisters:!1,options:!1});return{registerFeaturesManifest:function(){t.registerFeaturesManifest(u().then(function(e){return e&&a}))},isSubscribed:u};function u(){return e.all([r.isSubscribed(n),r.isSubscribed(i)]).then(function(e){e=_slicedToArray(e,2);return e[0]||e[1]})}}}angular.module("c8y.actility").provider(r,e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(e){e.initUi()}function i(e){e.registerFeaturesManifest()}i.$inject=["c8yActilityDevice"],e.$inject=["c8yActilityDeviceProvider"],angular.module("c8y.actility",["c8y.deviceProtocols","c8y.deviceDatabase4","c8y.deviceProtocolForDeviceDatabase4"]).config(e).run(i)})();
|