@c8y/ng1-modules 1020.40.1 → 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 +144 -313
- package/core/locales/en.po +0 -12
- package/core/locales/en_US.po +887 -0
- package/core/locales/es.po +146 -310
- package/core/locales/fr.po +141 -314
- package/core/locales/ja_JP.po +108 -306
- package/core/locales/ko.po +79 -304
- package/core/locales/nl.po +140 -313
- package/core/locales/pl.po +144 -316
- package/core/locales/pt_BR.po +142 -312
- package/core/locales/zh_CN.po +79 -304
- package/core/locales/zh_TW.po +80 -305
- 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.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 -17162
- 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
|
-
|
|
1
|
+
(()=>{function e(e,n,t,r,c){return{download:function(){return t.current().then(function(e){return c.downloadAndSaveAs({},r.url("user/".concat(e.tenant,"/users/newsletterEmails")))})}}}e.$inject=["$http","$q","c8yUser","c8yBase","c8yBinaryCommon"],angular.module("c8y.newsletter").factory("NewsletterService",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(e){var t=this;_.assign(t,{description:e("Send me information about outages, maintenance or updates."),$doCheck:function(){t.form.email&&(t.user&&t.user.newsletter&&!t.user.email?(t.form.email.$setDirty(!0),t.form.email.$setValidity("required",!1)):t.form.email.$setValidity("required",!0))}})}e.$inject=["gettext"],angular.module("c8y.newsletter").component("c8ySubscribeNewsletter",{controller:e,controllerAs:"vm",bindings:{user:"=",form:"="},template:'<div class="checkbox"><label><input type="checkbox" ng-model="vm.user.newsletter" />{{vm.description | translate}}</label></div>'})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function n(n,e){!e.isLocal&&n.nv&&n.nv.dev&&_.set(n,"nv.dev",!1)}n.$inject=["$window","info"],angular.module("nvd3ChartDirectives").run(n)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.parts.oauth").controller("OAuthCtrl",["$scope","$location","$window","$http","c8ySettings","c8yAuth","c8yUser","c8yTitle","c8yAlert","gettext",function(r,t,e,n,c,o,a,i,u,d){var l=t.search(),s=t.host(),h="developer.cumulocity.com",p=t.protocol(),y=t.port(),t=a.current(),f=e.location.pathname,g=null;function k(t){t=t.data;r.token=t.value}function m(t){t=t.data;u.danger("".concat(t.error,": ").concat(t.error_description))}function v(e){return _.keys(e).map(function(t){return"".concat(t,"=").concat(e[t])}).join("&")}function T(t){var e={},n=[],o="redirect"===t?h:s,r=80!==parseInt(y,10)&&443!==parseInt(y,10)?":".concat(y):"",o="".concat(p,"://").concat(o).concat(r);return e.tenant_id=g,"login"===t&&(_.assign(e,{redirect_uri:T("redirect"),response_type:"code"}),n=[o,"/tenant/oauth?",v(e)]),"token"===t&&(n=[o,"/tenant/oauth?"]),(n="redirect"===t?[o,f,"%23/oauth"]:n).join("")}function w(){return T("login")}t.then(function(t){var e;g=t.tenant,l.code?(t=l.code,e=T("token"),(t={redirect_uri:T("redirect"),grant_type:"authorization_code",code:t}).tenant_id=g,n({method:"POST",url:e,data:v(t),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(t){var n,o,t=t.data;t.refresh_token&&(n=t.refresh_token,o="paypal",c.list().then(function(t){var e="createOption";(t||[]).forEach(function(t){return t.category!==o||!(e="updateOption")}),c[e]({category:o,key:"refreshToken",value:n}).then(function(){r.token=n,r.$emit("message",{type:"success",text:d("Token saved.")})})}))},m)):c.detail({category:"paypal",key:"refreshToken"}).then(k),r.getLoginUrl=w}),i.changeTitle({title:d("OAuth")})}]);
|
package/oauth/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.parts.oauth",[]).config(["c8yViewsProvider",function(e){e.when("/oauth",{templateUrl:":::PLUGIN_PATH:::/views/index.html"})}]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c8y/ng1-modules",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1021.0.4",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Cumulocity",
|
|
6
6
|
"description": "AngularJS modules for Cumulocity IoT applications.",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"d3": "3.5.5",
|
|
32
32
|
"fast-text-encoding": "1.0.6",
|
|
33
33
|
"file-saver": "2.0.5",
|
|
34
|
-
"ini": "
|
|
34
|
+
"ini": "5.0.0",
|
|
35
35
|
"jquery": "3.6.0",
|
|
36
36
|
"jquery-ui": "1.13.0",
|
|
37
37
|
"leaflet": "1.9.4",
|
|
38
|
-
"libphonenumber-js": "1.
|
|
38
|
+
"libphonenumber-js": "1.11.9",
|
|
39
39
|
"lodash": "4.17.21",
|
|
40
40
|
"moment": "2.30.1",
|
|
41
41
|
"ng-csv": "0.3.6",
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
"xterm": "5.3.0",
|
|
49
49
|
"xterm-addon-fit": "0.8.0",
|
|
50
50
|
"zip-js": "0.0.3",
|
|
51
|
-
"dompurify": "3.
|
|
51
|
+
"dompurify": "3.1.3"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"jest-junit": "16.0.0",
|
|
55
55
|
"fs-extra": "^11.2.0",
|
|
56
56
|
"npm-packlist": "1.1.11",
|
|
57
57
|
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
|
58
|
-
"uglify-js": "3.
|
|
58
|
+
"uglify-js": "3.19.3"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"angular": "<=1.8.3"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function i(i){i.init()}i.$inject=["c8yPlatformConfigurationUiProvider"],angular.module("c8y.platformConfiguration",[]).config(i)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function n(n,o,t,i,r,e){var a,s=this;function u(){return o.all({hasAdminPermissions:r.hasAnyRole(["ROLE_OPTION_MANAGEMENT_ADMIN"]),configuration:t.getConfiguration()}).then(function(n){a=_.cloneDeep(n.configuration),_.assign(s,n)})}_.assign(s,{$onInit:u,save:function(n){return t.saveConfiguration(n,a).then(u).then(function(){return i.success(e("Configuration saved."))})}})}n.$inject=["$scope","$q","c8yPlatformConfigurationUi","c8yAlert","c8yPermissions","gettext"],angular.module("c8y.platformConfiguration").component("c8yPlatformConfiguration",{templateUrl:":::PLUGIN_PATH:::/platformConfiguration.html",bindings:{optionsGroups:"<"},controller:n,controllerAs:"vm"})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function n(n,e,t){a.$inject=["$q","c8yBase","c8ySettings","c8yPermissions","c8yTenant"],o.$inject=["$scope"];var i={path:"configuration",icon:"sliders",view:{template:'<c8y-platform-configuration options-groups="optionsGroups"></c8y-platform-configuration>',controller:o},requiresAnyRole:["ROLE_OPTION_MANAGEMENT_READ"],showIf:["c8yTenant",function(n){return n.isCurrentUserTopTenant()}]};function o(n){n.optionsGroups=["passwordsOptions","twoFactorAuthenticationOptions","supportLinkOptions","passwordResetOptions","supportUserOptions","emailServerOptions","dataExportOptions","storageLimitOptions","suspendingTenantsOptions"]}var u="configuration",c=["credentials.email.password"];return{$get:a,init:function(){r(),e.addNavigation({name:t("Configuration"),parent:t("Settings"),path:i.path,icon:i.icon,showIfPermissions:{anyRole:i.requiresAnyRole},showIf:i.showIf})},hookViews:r};function r(){n.when("/".concat(i.path),i.view)}function a(r,n,a,e,t){var s;return r.all({eeTenant:t.isEnterpriseEditionTenant(),managementTenant:t.isCurrentUserTopTenant()}).then(function(n){var e=n.eeTenant;s=e&&!n.managementTenant}),{getConfiguration:function(){return a.listAllBy(u).then(function(n){var e={};return n.forEach(function(n){e[n.key]=n.value}),e})},saveConfiguration:function(n,e){return(n=>_.reduce(n,function(n,e){var t=_.constant(r.when()),i=_.isNull(e.newValue),o=""===e.newValue;return i||o&&(i=e.key,!s||!c.includes(i))?_.isUndefined(e.oldValue)||(t=a.deleteOption):t=a.updateOption,n.then(_.partial(t,{category:u,key:e.key,value:e.newValue}))},r.when()))(((n,o)=>(n=_.cloneDeep(n),_(n).map(function(n,e){var t,i=_.get(o,[e]);return t=_.isEqual(JSON.stringify(i),JSON.stringify(n))?t:{key:e,oldValue:i,newValue:n}}).filter().value()))(n,e))}}}}n.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.platformConfiguration").provider("c8yPlatformConfigurationUi",n)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(e,t,r,i){var o="properties-library",n=i("Properties library"),a={parent:i("Settings"),name:n,routerLinkExact:!1,path:o,icon:"book-shelf",priority:1100},c="/".concat(o),o='<c8y-json-schema-objects-list filters="filters"></c8y-json-schema-objects-list>',i=[{name:i("Inventory"),icon:"cubes",template:o,controller:l({MANAGED_OBJECTS:!0}),priority:4e3},{name:i("Alarm"),icon:"bell",template:o,controller:l({ALARMS:!0}),priority:3e3},{name:i("Event"),icon:"c8y-events",template:o,controller:l({EVENTS:!0}),priority:2e3},{name:i("Tenant"),icon:"c8y-sub-tenants",template:o,controller:l({TENANTS:!0}),priority:1e3,showIfPermissions:{anyRole:["ROLE_TENANT_MANAGEMENT_READ"]}}];function l(t){function e(e){e.filters={appliesTo:t}}return e.$inject=["$scope"],e}e.addNavigation(a),t.addTitle(c,{data:_.constant({title:n})}),_.forEach(i,function(e){r.when(c,e)})}e.$inject=["c8yNavigatorProvider","c8yTitleProvider","c8yViewsProvider","gettext"],angular.module("c8y.propertiesLibrary",[]).config(e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.propertiesLibrary").component("c8yJsonSchemaObjectEditor",{bindings:{_jsonSchemaObject:"<jsonSchemaObject",onSave:"&",onRemove:"&",onCancel:"&"},templateUrl:":::PLUGIN_PATH:::/jsonSchemaObjectEditor.html",controller:function(){var c=this;_.assign(c,{$onChanges:function(e){e._jsonSchemaObject&&(c.jsonSchemaObject=_.cloneDeep(c._jsonSchemaObject))},onSchemaChange:function(e){var n;c.jsonSchemaObject&&(n=_.first(_.keys(e.properties)),n=_.get(e,["properties",n,"title"],""),_.set(c.jsonSchemaObject,"name",n),_.assign(c.jsonSchemaObject.c8y_JsonSchema,e))},save:function(){c.onSave({jsonSchemaObject:c.jsonSchemaObject,originalJsonSchemaObject:c._jsonSchemaObject})},remove:function(){c.onRemove({jsonSchemaObject:c.jsonSchemaObject})},cancel:function(){c.onCancel()}})},controllerAs:"vm"});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(t,n,c,s,r){var i=this;function o(){return n.list().then(e).then(function(e){i.jsonSchemaObjects=e})}function e(e){return _.filter(e,i.filters)}function a(e){i.selected=e}function l(){i.selected=void 0}_.assign(i,{$onInit:function(){o()},select:a,deselect:l,newJsonSchemaObject:function(){a(_.assign(n.getDefaults(),i.filters))},save:function(e){return n.save(e).then(l).then(o).then(_.partial(c.success,r("Property saved.")))},remove:function(e){return n.remove(e).then(l).then(o).then(_.partial(c.success,r("Property deleted.")))},getIcon:function(){var e=t.path(),e=_.find(s.getTabsByURL(e),{path:e});return _.get(e,"icon")},getName:function(){var e=t.path(),e=_.find(s.getTabsByURL(e),{path:e});return _.get(e,"name")}})}e.$inject=["$location","c8yJsonSchemas","c8yAlert","c8yTabs","gettext"],angular.module("c8y.propertiesLibrary").component("c8yJsonSchemaObjectsList",{bindings:{filters:"<"},templateUrl:":::PLUGIN_PATH:::/jsonSchemaObjectsList.html",controller:e,controllerAs:"vm"})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(t,e,r,n,o,a,c){var d,u=e.deviceId,i=e.routeId,l=u||i,C=null;function p(e){d=e,t.qrCodeTemplate=d}function q(){return o.detailCached(l).then(n.getResData)}function s(e){C=e,t.data=C}t.print=function(){c.print([C],d)},(()=>{var e=(()=>i?a.qrCodeTypes.ROUTE:!!u&&a.qrCodeTypes.DEVICE)();return e?a.getTemplate(e):r.reject()})().then(p).then(q).then(s)}e.$inject=["$scope","$routeParams","$q","c8yBase","c8yInventory","qrCodeTemplate","qrCodePrinter"],angular.module("c8y.qrCode").controller("qrCodeCtrl",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(n){function a(e,t){_.isUndefined(e.data)||_.isUndefined(e.template)||t.empty().append(n.getQrCodeCompiledHtml([e.data],e.template))}return{restrict:"A",scope:{data:"=",template:"="},link:function(e,t,n){e.$watch(n.data,function(){a(e,t)}),e.$watch(n.template,function(){a(e,t)})}}}e.$inject=["qrCodePrinter"],angular.module("c8y.qrCode").directive("c8yDisplayQrCode",e)})();
|
package/qrCode/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.qrCode",["monospaced.qrcode"]).config(["c8yViewsProvider","c8yActionsProvider","gettext",function(e,t,o){var n=":::PLUGIN_PATH:::/views/";e.when("/device/:deviceId",{templateUrl:"".concat(n,"index.html"),priority:600,name:o("QR code"),icon:"qrcode",showIf:["qrCodeTemplate",function(e){return e.getTemplate(e.qrCodeTypes.DEVICE).then(function(e){return!!e})}],controller:["$scope","$routeParams","c8yDevices",function(t,e,o){t.device={},o.detailCached(e.deviceId).then(function(e){t.device=e.data})}]}),e.when("/route/:routeId",{templateUrl:"".concat(n,"index.html"),priority:1e3,name:o("QR code"),icon:"qrcode",showIf:["qrCodeTemplate","$routeParams",function(e,t){return e.getTemplate(e.qrCodeTypes.ROUTE).then(function(e){return!!e&&"new"!==t.routeId})}],controller:["$scope","$routeParams","c8yBase","c8yInventory",function(t,e,o,n){t.route={},n.detailCached(e.routeId).then(o.getResData).then(function(e){t.route=e})}]}),t.addUrlAction({path:"/device",text:o("Print QR codes"),actionBar:!0,showIf:["$routeParams","qrCodeTemplate",function(t,e){return e.getTemplate(e.qrCodeTypes.DEVICE).then(function(e){return!!e&&!!_.isUndefined(t.deviceId)})}],action:["$rootScope","qrCodeTemplate","qrCodePrinter",function(e,o,n){var r=e.$on("deviceList.loadedDevicesList",function(e,t){t&&0<t.length&&o.getTemplate(o.qrCodeTypes.DEVICE).then(function(e){n.print(t,e)}),r()});e.$emit("deviceList.getLoadedDevicesList")}]}),t.addUrlAction({path:"/route",text:o("Print QR codes"),actionBar:!0,showIf:["$routeParams","qrCodeTemplate",function(t,e){return e.getTemplate(e.qrCodeTypes.ROUTE).then(function(e){return!!e&&!!_.isUndefined(t.routeId)})}],action:["$rootScope","qrCodeTemplate","qrCodePrinter",function(e,o,n){var r=e.$on("routesList.loadedRoutesList",function(e,t){t&&0<t.length&&o.getTemplate(o.qrCodeTypes.ROUTE).then(function(e){n.print(t,e)}),r()});e.$emit("routesList.getLoadedRoutesList")}]})}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(o,r,d,i,l,a){return{getQrCodeCompiledHtml:u,print:function(e,n){var e=u(e,n),t=d.open("","_blank","width=800,height=600"),n=t&&t.document;t.opener=null,n?(n.open(),n.write('<html><head></head><body id="body"></body></html>'),n.close(),angular.element(n.getElementById("body")).append(e),i(function(){t.print()})):l.danger(a("Popup window failed to open. Please confirm your browser settings."))}};function u(e,n){var t=o.$new();return t.data=e,r(angular.element(n))(t)}}e.$inject=["$rootScope","$compile","$window","$timeout","c8yAlert","gettext"],angular.module("c8y.qrCode").factory("qrCodePrinter",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.qrCode").factory("qrCodeTemplate",["$cacheFactory","$http","c8yBase","c8yInventory",function(e,t,r,a){var n=e("QrCodeTemplatesCache");return{qrCodeTypes:{ROUTE:"c8y_RouteQrCodeTemplate",DEVICE:"c8y_DeviceQrCodeTemplate"},getTemplate:function(e){var t;return n.get(e)||(t=a.list({type:e,pageSize:1}).then(function(e){return 0<e.length?e[0].template:null}),n.put(e,t)),n.get(e)}}}]);
|
package/relayWidget/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.relayWidget",[]).config(["c8yComponentsProvider","gettext",function(e,t){e.add({name:"Relay Widget",description:t("Widget for switching relay"),configTemplateUrl:":::PLUGIN_PATH:::/views/config.html",templateUrl:":::PLUGIN_PATH:::/views/widget.html",previewImage:"c8y-style-assets/dm-relay-widget.png"})}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.relayWidget").controller("RelayWidgetCtrl",["$scope","c8yAlert","relayWidgetSvc","gettext",function(c,e,l,t){function i(i){l.relay(c.child&&c.child.config&&c.child.config.device&&c.child.config.device.id,c.child&&c.child.config&&c.child.config.relay_id,i).then(_.partial(e.success,t("Operation created")))}this.on=_.partial(i,!0),this.off=_.partial(i,!1)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(a,c){return{relay:function(e,t,r){return e={deviceId:e,c8y_Relay:{id:t,relayState:r?"CLOSED":"OPEN"},description:c(r?"Close relay.":"Open relay.")},a.create(e)}}}e.$inject=["c8yDeviceControl","gettext"],angular.module("c8y.relayWidget").factory("relayWidgetSvc",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function RemoteAccessClientsService(e,t){var n,s;this.STATUSES={CONNECTING:"CONNECTING",CONNECTED:"CONNECTED",DISCONNECTED:"DISCONNECTED",ERROR:"ERROR"},this.getConnectionStatus=function(){return s.status||this.STATUSES.DISCONNECTED},this.setConnectionStatus=function(e){s.status=e,t.setItem(n,JSON.stringify(s))},this.getParams=function(){return s},this.loadCss=function(e){var t=document.createElement("link");t.href=e,t.type="text/css",t.rel="stylesheet",t.media="screen,print",document.getElementsByTagName("head")[0].appendChild(t)},this.loadJs=function(e){var t=document.createElement("script");t.src=e,document.getElementsByTagName("head")[0].appendChild(t)},n=(e=>{var t={},n=/[?&]?([^=]+)=([^&]*)/g;for(e=e.split("+").join(" ");a=n.exec(e);){var s=a[1],a=a[2];t[decodeURIComponent(s)]=decodeURIComponent(a)}return t})(e.search).paramsId;try{s=JSON.parse(t.getItem(n))}catch(e){console.err("Cannot load connection parameters!")}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{var c,a,r=!1;window.onload=function(){var e=document.getElementById("terminal"),n=new Terminal({fontSize:18,fontFamily:"consolas, monospace",cursorBlink:!0,cols:terminalSize.cols,rows:terminalSize.rows}),t=new FitAddon.FitAddon,i=(n.loadAddon(t),new ShellAdapter),o=(i.setTermType("xterm-256color"),clientService.getParams());o?(clientService.setConnectionStatus(clientService.STATUSES.CONNECTING),document.title=unescape(o.title),c=o.wsProtocol+"//"+o.host+"/"+o.path,n.open(e),t.fit(),n.focus(),setTimeout(function(){(a=new WebSocket(c,"binary")).binaryType="arraybuffer",a.onopen=function(){n.writeln("[92mWebsocket connection was established successfully, waiting for device... [39m \r\n")},a.onclose=function(){n.writeln(""),n.writeln("\r\n[91mDevice disconnected. [39m \r\n"),n.writeln("\r\n[91mWebsocket connection was closed. [39m \r\n"),clientService.setConnectionStatus(clientService.STATUSES.ERROR)},a.onmessage=function(e){e.data&&clientService.getConnectionStatus()===clientService.STATUSES.CONNECTING&&clientService.setConnectionStatus(clientService.STATUSES.CONNECTED),r||(r=!0,n.writeln("[92mDevice connection was established successfully. [39m \r\n"));e=i.filterReceiveData(e.data);e.dataToSend.length&&a.send(e.dataToSend),e.dataToDisplay.length&&n.write(e.dataToDisplay)},n.onData(function(e){r&&(e=i.filterSendData(e)).length&&a.send(e)}),window.onbeforeunload=function(){for(var e="exit\n",n=[],t=0;t<e.length;t++)n.push(e.charCodeAt(t));a.send(new Uint8Array(n))}})):(n.writeln(""),n.writeln("\r\n[91mConnection parameters could not be retrieved. Please close this window and try again [39m \r\n"),clientService.setConnectionStatus(clientService.STATUSES.ERROR))}})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function ShellAdapter(){var n="";this.setTermType=function(e){n=e},this.filterReceiveData=function(e){var t=new TelnetNegotiator,t=(t.setTermType(n),t.negotiate(e)),e=(new TextDecoder).decode(e);return{dataToSend:t.dataToSend,dataToDisplay:t.isOutput?e.split("�").join(""):""}},this.filterSendData=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e.charCodeAt(n));return t.length?new Uint8Array(t):""}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function TelnetNegotiator(){var f="";this.setTermType=function(e){f=e},this.negotiate=function(e){for(var t,e=new Uint8Array(e),s=Array.prototype.slice.call(e),i=[],r="",n="",a="";0<s.length;)switch(t=s.shift()){case 255:switch(n=s.shift(),a=s.shift(),n){case 253:24===a?i.push(255,251,a):31===a?(i.push(255,251,31),i.push(255,250,31,0,terminalSize.cols,0,terminalSize.rows,255,240)):i.push(255,252,a);break;case 251:i.push(255,1===a?253:254,a);break;case 250:if(24===a)if(1===s[0]&&255===s[1]&&240===s[2]){s.shift(),s.shift(),s.shift(),i.push(255,250,24,0),c=o=h=void 0;for(var h=f,o=i,c=0;c<h.length;c++)o.push(h.charCodeAt(c));i.push(255,240)}else console.warn("Invalid subnegotiation received"+s);else console.warn("Ignoring SB "+a)}break;case 242:n=s.shift(),a=s.shift();break;default:r+=String.fromCharCode(t)}return{dataToSend:i.length?new Uint8Array(i):"",isOutput:!!r.length}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{var i,t,e=clientService.getParams(),l={LOADED:"loaded",NORMAL:"normal",FAILED:"failed",FATAL:"fatal",DISCONNECTED:"disconnected"},S=clientService.STATUSES.DISCONNECTED;function n(){var t,e,n;WebUtil.getConfigVar("resize",!1)&&(t=window.innerWidth,e=window.innerHeight,n=$D("noVNC_status_bar").offsetHeight,void 0!==t)&&void 0!==e&&i.requestDesktopSize(t,e-n-5)}function s(t){n(),t.set_onFBUComplete(function(){})}function o(){return i.sendCtrlAltDel(),!1}function c(){return i.xvpShutdown(),!1}function a(){return i.xvpReboot(),!1}function r(){return i.xvpReset(),!1}function u(t,e,n,i){var s=(t=>{var e;switch(t){case l.FAILED:case l.FATAL:e="error";break;case l.NORMAL:case l.DISCONNECTED:case l.LOADED:e="normal";break;default:e="warn"}return e})(e),o=(t=>{switch(t){case l.FAILED:case l.FATAL:status=clientService.STATUSES.ERROR,S=clientService.STATUSES.ERROR;break;case l.NORMAL:status=clientService.STATUSES.CONNECTED;break;case l.DISCONNECTED:S!=clientService.STATUSES.ERROR&&(status=clientService.STATUSES.DISCONNECTED);break;case l.LOADED:status=clientService.STATUSES.DISCONNECTED,S=clientService.STATUSES.DISCONNECTED;break;case l.CONNECT:status=clientService.STATUSES.CONNECTING,S=clientService.STATUSES.CONNECTING;break;default:status=clientService.STATUSES.DISCONNECTED,S=clientService.STATUSES.DISCONNECTED}return status})(e),c=$D("noVNC_status"),a=$D("noVNC_status_bar"),r=$D("sendCtrlAltDelButton");e===l.NORMAL?r.disabled=!1:(r.disabled=!0,T(0)),void 0!==i&&(a.setAttribute("class","noVNC_status_".concat(s)),c.textContent=i),clientService.setConnectionStatus(o)}function T(t){var e=$D("noVNC_xvp_buttons");e.style.display=1<=t?"inline":"none"}Util.load_scripts(["webutil.js","base64.js","websock.js","des.js","keysymdef.js","keyboard.js","input.js","display.js","inflator.js","rfb.js","keysym.js"]),window.onresize=function(){clearTimeout(t),t=setTimeout(function(){n()},500)},window.onscriptsload=function(){var t=$D("sendCtrlAltDelButton");if(t.style.display="inline",t.onclick=o,$D("xvpShutdownButton").onclick=c,$D("xvpRebootButton").onclick=a,$D("xvpResetButton").onclick=r,e)if(WebUtil.init_logging(e.logging||"warn"),document.title=unescape(e.title||"noVNC"),e.host&&e.port){try{i=new RFB(_.defaults(_.omit(e,["path","host","viewport","port","password","status","title","protocol","wsProtocol"]),{target:$D("noVNC_canvas"),onUpdateState:u,onXvpInit:T,onFBUComplete:s}))}catch(t){return void u(0,l.FATAL,0,"Unable to create RFB client -- ".concat(t))}i.connect(e.host,e.port,e.password,e.path)}else u(0,l.FATAL,0,"Must specify host and port in URL");else u(0,l.FATAL,0,"Connection parameters could not be retrieved. Please close this window and try again")}})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.remoteAccess",[]);
|
|
@@ -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 ownKeys(t,e){var n,o=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,n)),o}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(n),!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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(n,r,e,a,i,c,t,s,o,l,u,p){var d="service/remoteaccess",y="127.0.0.1",f=":::PLUGIN_PATH:::/clients/terminal/index.html",m="top=30,left=30,height=933,width=1350,location=no,menubar=no,toolbar=no,status=no,resizable=no",b=a.url("".concat(d,"/keypair/generate")),S={http:"ws:",https:"wss:"}[e.protocol()]||"ws:",e="wss:"===S,v="XSRF-TOKEN",P={category:"remoteaccess",key:"pass-through.enabled"},g=a.createEnum([{name:"NONE",value:"NONE",label:l("No password")},{name:"USER_PASS",value:"USER_PASS",label:l("Username and password")},{name:"PASS_ONLY",value:"PASS_ONLY",label:l("Password only")},{name:"KEY_PAIR",value:"KEY_PAIR",label:l("Public/private keys")},{name:"CERTIFICATE",value:"CERTIFICATE",label:l("Certificate")}]),h=[{name:"VNC",value:"VNC",label:l("VNC"),supportedCredentialsTypes:[g.NONE,g.PASS_ONLY],defaults:{host:y,port:5900},clientWindowPath:":::PLUGIN_PATH:::/clients/vnc/vncClient.html",clientWindowParams:"top=0,left=0,location=no,menubar=no,toolbar=no,status=no,resizable=yes",extraConnectionParams:{encrypt:e,true_color:!0,local_cursor:!1,viewport:!0,shared:!0,view_only:!1,disconnectTimeout:10,repeaterID:"",port:443,password:""}},{name:"TELNET",value:"TELNET",label:l("Telnet"),supportedCredentialsTypes:[g.NONE],defaults:{host:y,port:23},clientWindowPath:f,clientWindowParams:m},{name:"SSH",value:"SSH",label:l("SSH"),supportedCredentialsTypes:[g.USER_PASS,g.KEY_PAIR,g.CERTIFICATE],defaults:{host:y,port:22},clientWindowPath:f,clientWindowParams:m},{name:"PASSTHROUGH",value:"PASSTHROUGH",label:l("PASSTHROUGH"),supportedCredentialsTypes:[],defaults:{host:y,port:22},isConnectDissalowed:!0,tooltipConnectDissalowed:l("PASSTHROUGH protocol configuration should be used with native client only."),showIf:function(){return p.getSystemOptionValue(P)}}];return{DEFAULT_HOST:y,getProtocols:function(){return n.all(_.map(h,function(e){return s.configureVisibility(e,"visible")})).then(function(e){return _.filter(e,"visible")})},CREDENTIALS_TYPES:g,save:function(t,n){try{return((e,t)=>{var n=_.includes([g.USER_PASS.value,g.PASS_ONLY.value],t.credentialsType),o=_.includes([g.KEY_PAIR.value],t.credentialsType),n=(_.defaults(t,{password:n?_.get(t,"credentials.password"):void 0,privateKey:o?_.get(t,"credentials.privateKey"):void 0}),_.unset(t,"credentials"),_.unset(t,"attrs"),E(e,t));return r.put(n,t).then(a.getResData)})(t,n)}catch(e){return((e,t)=>(e=w(e),r.post(e,t).then(a.getResData)))(t,n)}},list:function(e){e=w(e);return r.get(e).then(a.getResData)},detail:function(e,t){e=E(e,t);return r.get(e).then(a.getResData)},remove:function(e,t){e=E(e,t);return r.delete(e)},getConnectionParams:function(e,t){return n.all({title:u.getString("Connected to: {{name}}",t),protocol:_.find(h,{value:t.protocol}),host:n.resolve(window.location.host),path:((n,o)=>c.current().then(function(e){var e={deviceId:a.getId(n),configurationId:o.id,token:i.encodeToken(e.userName,i.getPassword(),e.tenant)},e="service/remoteaccess/client/".concat(e.deviceId,"/configurations/").concat(e.configurationId,"?token=").concat(e.token),t=s.getCookieValue(v);return t&&(t=encodeURIComponent(t),e="".concat(e,"&").concat(v,"=").concat(t)),e}))(e,t),wsProtocol:S}).then(function(e){return _objectSpread(_objectSpread({},e),e.protocol.extraConnectionParams)})},isMicroServiceAvailable:function(t){return o.isAvailable({name:"cloud-remote-access",type:"MICROSERVICE"}).then(function(e){e=e?r.head(w(t),{silentError:!0}).then(_.constant(!0),_.constant(!1)):n.resolve(e);return e})},parseSshKeyFile:function(o){return n(function(t,e){var n=new FileReader;n.onload=function(e){e=e.target;return t(e.result)},n.onerror=function(){return e({feedback:{type:"error",summary:l("Could not read file.")}})},n.readAsText(o)})},generateKeys:function(e){return r.post(b,{hostname:e}).then(a.getResData)},exportSshKey:function(e){e=new Blob([e],{type:"text/plain"});window.saveAs(e,"key.pub")}};function w(e){e=[d,"devices",a.getId(e),"configurations"].join("/");return a.url(e)}function E(e,t){return[w(e),a.getId(t)].join("/")}}e.$inject=["$q","$http","$location","c8yBase","c8yAuth","c8yUser","c8yTenant","c8yUiUtil","c8yApplication","gettext","gettextCatalog","c8ySettings"],angular.module("c8y.remoteAccess").factory("c8yRemoteAccess",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function n(n,o,t){var e=this,c=t("Local"),i=t("Connect"),t=t("Show connection");function s(n){n=r(n);return n&&!!n.isConnectDissalowed}function r(o){return _.find(e.protocols,function(n){return n.value===o.config.protocol})}_.assign(e,{$onInit:function(){o.getProtocols().then(function(n){e.protocols=n})},isLocal:function(){return n.isLocalEndpoint(e.endpoint)},labelLocal:c,labelConnect:i,labelShowConnection:t,connectBtnCls:function(){var n=(e.endpoint.connection||{}).status;return{btn:!0,"btn-block":!0,"btn-default":!n,"btn-danger":"ERROR"===n,"btn-warning":"CONNECTING"===n,"btn-success":"CONNECTED"===n}},connect:function(){var n=(e.endpoint.connection||{}).clientWindow;n?n.focus():e.onConnect({endpoint:e.endpoint})},edit:function(){e.onEdit({endpoint:e.endpoint})},remove:function(){e.onRemove({endpoint:e.endpoint})},isDisabled:s,getDisabledTooltip:function(n){var o=r(n);return s(n)?_.get(o,"tooltipConnectDissalowed"):""}})}n.$inject=["c8yRemoteAccessUI","c8yRemoteAccess","gettext"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointCard",{bindings:{endpoint:"<",onConnect:"&",onEdit:"&",onRemove:"&"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointCard/remoteAccessEndpointCard.html",controller:n,controllerAs:"vm"})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(n,i){var o,c,s,r,a,l,d=this;function p(){if(d.endpoint.config.credentialsType=d.selectedCredentialsType.value,e(!1),t(!1),f(!1),u(!1),d.selectedCredentialsType.value!==d.initialCredentialType)switch(d.endpoint.config.credentialsType){case"KEY_PAIR":_.set(d.endpoint,"config.privateKey",""),_.set(d.endpoint,"config.publicKey","");break;case"CERTIFICATE":_.set(d.endpoint,"config.privateKey",""),_.set(d.endpoint,"config.certificate","")}}function e(e){g("config.password",d.changingPassword=e,o)}function t(e){g("config.username",d.changingCredentials=e,c),g("config.password",e,o)}function f(e){g("config.privateKey",d.changingKeyPair=e,r),g("config.publicKey",e,s)}function u(e){g("config.privateKey",d.changingCertificate=e,r),g("config.certificate",e,l)}function g(e,t,n){t?_.set(d.endpoint,e,""):n&&!t&&_.set(d.endpoint,e,n)}_.assign(d,{$onInit:function(){n.getProtocols().then(function(e){d.protocols=e}).then(function(){var t=d.resolve.endpoint,e=d.resolve.rootDevice;o=_.get(t,"config.credentials.password"),c=_.get(t,"config.credentials.username"),s=_.get(t,"config.credentials.publicKey"),r=_.get(t,"config.credentials.privateKey"),a=_.get(t,"config.credentials.hostKey"),l=_.get(t,"config.credentials.certificate"),d.passwordAlreadyExists=!_.isEmpty(o),d.usernameAlreadyExists=!_.isEmpty(c),d.publicKeyAlreadyExists=!_.isEmpty(s),d.privateKeyAlreadyExists=!_.isEmpty(r),d.hostKeyAlreadyExists=!_.isEmpty(a),d.certificateAlreadyExists=!_.isEmpty(l),d.generating=!1,d.initialCredentialType=_.get(t,"config.credentials.type"),void 0===t?(d.selectedProtocol=_.find(d.protocols,function(e){return"VNC"===e.value}),d.selectedCredentialsType=d.selectedProtocol.supportedCredentialsTypes[0]):(d.selectedProtocol=_.find(d.protocols,function(e){return e.value===t.config.protocol}),d.selectedCredentialsType=t.config.credentials.type?_.find(d.credentialsTypes.values(),{value:t.config.credentials.type}):d.selectedProtocol.supportedCredentialsTypes[0]),d.endpoint=_.defaults(t,{device:e,config:{hostname:d.selectedProtocol.defaults.host,port:d.selectedProtocol.defaults.port,protocol:d.selectedProtocol.value,credentialsType:d.selectedCredentialsType.value}}),p(),e=d.resolve.rootDevice,i.getSuggestedIPAddresses(e).then(function(e){d.suggestedIPAddresses=e})})},save:function(){var e=d.endpoint,t=e.device,e=e.config;n.save(t,e).then(function(){return d.modalInstance.close(d.endpoint)})},cancel:function(){d.modalInstance.dismiss()},changePassword:function(){return e(!0)},cancelChangePassword:function(){return e(!1)},changeCredentials:function(){return t(!0)},cancelChangeCredentials:function(){return t(!1)},changeKeyPair:function(){return f(!0)},cancelChangeKeyPair:function(){return f(!1)},changeCertificate:function(){return u(!0)},cancelChangeCertificate:function(){return u(!1)},onProtocolChange:function(){d.selectedCredentialsType=d.selectedProtocol.supportedCredentialsTypes[0],_.assign(d.endpoint.config,{protocol:_.get(d,"selectedProtocol.value"),port:_.get(d,"selectedProtocol.defaults.port"),hostname:_.get(d,"selectedProtocol.defaults.host"),credentialsType:_.get(d,"selectedCredentialsType.value","NONE")})},onCredentialsTypeChange:p,credentialsTypes:n.CREDENTIALS_TYPES,credentialsAvailable:function(){return!!c&&!!o},keyPairAvailable:function(){return r&&s&&"KEY_PAIR"===d.initialCredentialType},certificateAvailable:function(){return l&&r&&"CERTIFICATE"===d.initialCredentialType},downloadPublicKey:function(){n.exportSshKey(_.get(d,"endpoint.config.publicKey"))},generateKeys:function(){var e=d.endpoint.config.hostname||d.selectedProtocol.defaults.host;d.generating=!0,n.generateKeys(e).then(function(e){var t=e.privateKey,e=e.publicKey;t&&e&&_.assign(d.endpoint.config,{privateKey:t,publicKey:e})}).finally(function(){d.generating=!1})},showIdentifiedType:function(e){d.identifiedType=e}})}e.$inject=["c8yRemoteAccess","c8yRemoteAccessUI"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointModal",{bindings:{resolve:"<",modalInstance:"<"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointModal/remoteAccessEndpointModal.html",controller:e,controllerAs:"vm"})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function n(n,e,t,o){var c=this;function i(n){o.getEndpoints(n).then(s)}function s(n){c.endpoints=n,_.forEach(n,function(e){o.resumeMonitoring(e).then(function(n){n&&(e.connection=n)})})}function d(){i(c.device)}_.assign(c,{$onChanges:function(n){n.device&&n.device.currentValue&&i(n.device.currentValue)},endpointsOrderFn:function(n){var e=o.isLocalEndpoint(n)?"z":"a",n=n.config.name;return e+n},addEndpoint:function(){return o.addEndpoint(c.device).then(d)},onConnect:function(e){o.connectEndpoint(e).then(function(n){e.connection=n})},onEdit:function(n){o.editEndpoint(n).then(d)},onRemove:function(n){o.removeEndpoint(n).then(d)}})}n.$inject=["$q","c8yBase","c8yInventory","c8yRemoteAccessUI"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointsList",{bindings:{device:"<"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointsList/remoteAccessEndpointsList.html",controller:n,controllerAs:"vm"})})();
|
|
@@ -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 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.")}(()=>{function e(e,r,t,n){var o=this,i=[{name:"hostkeyAutosave",option:{category:"remoteaccess",key:"hostkey-autosave"},defaultValue:!1}];function c(e){return r.updateOption(_objectSpread(_objectSpread({},e.option),{},{value:_.get(o,e.name,e.defaultValue)}))}_.assign(o,{$onInit:function(){e.all(_.map(i,function(e){return t=e,r.detailValue(t.option,t.defaultValue).then(function(e){return _.set(o,t.name,e)});var t}))},updateSetting:c,updateSettings:function(){return e.all(_.map(i,c)).then(function(){return t.success(n("Settings saved."))}).catch(function(){return t.danger(n("Settings could not be saved."))})}})}e.$inject=["$q","c8ySettings","c8yAlert","gettext"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessSettings",{templateUrl:":::PLUGIN_PATH:::/remoteAccessSettings/remoteAccessSettings.html",controller:e,controllerAs:"vm"})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(n,t,y){r.$inject=["$q","$interval","$window","c8yRemoteAccess","$uibModal","c8yModal","c8yAlert","c8yBase","c8yInventory","c8yDevices","gettextCatalog"],i.$inject=["$routeParams","c8yBase","c8yDevices","c8yRemoteAccess"],c.$inject=["$routeParams"];var e="device/:deviceId",o={name:y("Remote access"),icon:"window-restore",template:'<c8y-remote-access-endpoints-list device="vm.id"></c8y-remote-access-endpoints-list>',controllerAs:"vm",controller:c,showIf:i};function c(e){this.id=e.deviceId}function i(e,n,t,o){var c=e.deviceId;return t.detail(c).then(n.getResData).then(function(e){return t.supportsOperation(e,"c8y_RemoteAccessConnect")}).then(function(e){return e&&o.isMicroServiceAvailable(c)})}function r(o,i,r,c,t,a,s,n,d,u,l){return{getSuggestedIPAddresses:function(e){var n=[{label:"localhost",ipAddress:c.DEFAULT_HOST}];return v(e).then(function(e){e=_.map(e,function(e){return{label:u.properName(e),ipAddress:u.getIPAddress(e)}});return _.filter(n.concat(e),"ipAddress")})},getChildDevices:v,getEndpoints:p,addEndpoint:function(e){e=g(e).then(function(e){return t.open({size:"sm",component:"c8yRemoteAccessEndpointModal",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",resolve:{rootDevice:_.constant(_.cloneDeep(e))}}).result});return e.then(function(){return s.success(y("Endpoint saved."))})},editEndpoint:function(n){var e=o.all({deviceDetails:g(n.device),endpointDetails:p(n.device).then(function(e){return _.find(e,function(e){return e.config.id===n.config.id})})}).then(function(e){var n=e.deviceDetails,e=e.endpointDetails;return t.open({size:"sm",component:"c8yRemoteAccessEndpointModal",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",resolve:{rootDevice:_.constant(_.cloneDeep(n)),endpoint:_.constant(_.cloneDeep(e))}}).result});return e.then(function(){return s.success(y("Endpoint saved."))})},removeEndpoint:function(e){var n={title:y("Delete endpoint"),body:l.getString('You are about to delete endpoint "{{config.name}}" from device "{{device.name}}". Do you want to proceed?',e),labels:{ok:y("Delete")},status:"danger"},n=a(n);return n.then(function(){return c.remove(e.device,e.config)}).then(function(){return s.success(y("Endpoint deleted."))})},connectEndpoint:function(o){return c.getConnectionParams(o.device,o.config).then(function(e){var n=f(o),t=(r.localStorage.setItem(n,JSON.stringify(e)),"".concat(e.protocol.clientWindowPath,"?paramsId=").concat(n)),t=r.open(t,n,e.protocol.clientWindowParams);return t.opener=null,m(t,n,e),_.assign(e,{paramsId:n,clientWindow:t})})},isLocalEndpoint:function(e){return _.includes(["localhost",c.DEFAULT_HOST],e.config.hostname)},resumeMonitoring:function(e){var n=f(e);if(r.localStorage.getItem(n)){var t=r.open("",n);if(t.opener=null,t)return((e,n,t)=>c.getConnectionParams(e.device,e.config).then(function(e){return m(n,t,e),_.assign(e,{paramsId:t,clientWindow:n})}))(e,t,n)}return o.resolve()}};function v(e){return d.childDevices(e)}function p(e){return g(e).then(function(n){return c.list(n).then(function(e){return _.map(e,function(e){return{device:n,config:e}})})})}function m(e,t,o){var c=i(function(){var n;try{n=JSON.parse(r.localStorage.getItem(t))}catch(e){n={}}_.assign(o,n),e.closed&&(i.cancel(c),r.localStorage.removeItem(t),o.status=void 0,o.clientWindow=void 0)},1e3)}function f(e){return"remoteConnection_".concat(e.device.id,"_").concat(e.config.id)}function g(e){return _.isObjectLike(e)?o.when(e):d.detail(e).then(n.getResData)}}return{$get:r,provideSettingsPage:function(){function e(e){return e.isAvailable({name:"cloud-remote-access",type:"MICROSERVICE"})}e.$inject=["c8yApplication"],t.addNavigation({parent:y("Settings"),name:y("Remote access"),path:"remoteAccessSettings",icon:"key",priority:2e3,showIf:e}),n.when("/remoteAccessSettings",{template:"<c8y-remote-access-settings />"})},provideDeviceTab:function(){n.when("/".concat(e),o)}}}e.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.remoteAccess").provider("c8yRemoteAccessUI",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(o,e,l,t,n,i,s){var r=this;function a(e){r.role=e,c();e=e.roles;e=(e||{}).references||[],r.selectedPermissions=_.map(e,"role.id")}function c(){t.listGlobalPermissions().then(u)}function u(e){r.permissions=e}function m(){r.globalRoleDetailForm.$setDirty()}function d(e){return r.saving=!0,e.finally(function(){r.saving=!1}),e}_.assign(r,{$onInit:function(){(()=>{var e=r.id,n=r.duplicateId;("new"===e?(e=>{var n=t.newGlobalRole(e);return n.then(function(){e&&s(m)}),n})(n):(e=>l.global.detail(e).then(o.getResData))(e)).then(a)})(),c()},STRINGS:t.STRINGS,helpLink:i.getUserGuideLink(t.STRINGS.LINKS.ROLES_INVENTORY),onSaveName:function(e){return d(t.saveGlobalRoleName(r.role,e))},cancel:t.list,save:function(){return d(t.saveGlobalRole(r.role,r.selectedPermissions))},hasAppPermissions:function(){var o=/^ROLE_APPLICATION/;return _.some(r.selectedPermissions,function(e,n){return e&&o.test(n)})},getRoleName:n.getName,onSelectedRolesChange:function(e){r.selectedPermissions=e,m()}})}e.$inject=["c8yBase","c8yPermissions","c8yRoles","c8yRolesUi","c8yPropertyValueTransformService","c8yDocs","$timeout"],angular.module("c8y.roles").component("c8yRoleDetailGlobal",{templateUrl:":::PLUGIN_PATH:::/detail/roleDetailGlobal.html",bindings:{id:"<",duplicateId:"<",tabName:"<"},controllerAs:"vm",controller:e})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(t,n,o,i,e,a){var r=this;function l(e){return r.saving=!0,e.finally(function(){r.saving=!1}),e}function s(e){return"SUPPORT"===e.name&&!r.isTopTenant}_.assign(r,{$onInit:function(){(()=>{var e=r.id,n=r.duplicateId;("new"===e?i.newInventoryRole(n):o.detail(e).then(t.getResData)).then(function(e){r.role=e})})()},$onChanges:function(e){e.isTopTenant&&(r.permissionScopes=(()=>{var e=n.SCOPES.values();return _.reject(e,s)})())},STRINGS:i.STRINGS,helpLink:a.getUserGuideLink(i.STRINGS.LINKS.ROLES_INVENTORY),onSaveName:function(e){return l(i.saveInventoryRoleName(r.role,e))},cancel:i.list,save:function(){return l(i.saveInventoryRole(r.role))},getRoleName:e.getName})}e.$inject=["c8yBase","c8yPermissions","c8yRoles","c8yRolesUi","c8yPropertyValueTransformService","c8yDocs"],angular.module("c8y.roles").component("c8yRoleDetailInventory",{templateUrl:":::PLUGIN_PATH:::/detail/roleDetailInventory.html",bindings:{id:"<",duplicateId:"<",isTopTenant:"<",tabName:"<"},controllerAs:"vm",controller:e})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(e,o){var n=this;function t(){var e="ABCDEFGHJKLMNPQRSTUVWXYZabcdefhijkmnoprstuvwxyz123456789";return e[Math.floor(Math.random()*e.length)]}_.assign(n,{devicesWarning:"devices"===e.role.name,code:_.map(_.range(5),t).join(""),canConfirm:function(){return n.confirmString===n.code},action:e.action,$close:e.$close,$dismiss:e.$dismiss,saveLabel:o("Save"),deleteLabel:o("Delete"),saveAndLogoutUserLabel:o("Save and log out users"),deleteAndLogoutUserLabel:o("Delete and log out users"),saveTitle:o("Confirm save?"),deleteTitle:o("Confirm delete?")})}e.$inject=["$scope","gettext"],angular.module("c8y.roles").controller("GlobalRoleSaveConfirmCtrl",e)})();
|
|
@@ -21,17 +21,22 @@
|
|
|
21
21
|
</p>
|
|
22
22
|
<p class="text-break-word">
|
|
23
23
|
<span translate>
|
|
24
|
-
Enter the following code
|
|
24
|
+
Enter the following code
|
|
25
|
+
<code>{{ vm.code }}</code>
|
|
26
|
+
to proceed:
|
|
25
27
|
</span>
|
|
26
28
|
</p>
|
|
27
|
-
<form
|
|
29
|
+
<form
|
|
30
|
+
class="form-inline m-t-24"
|
|
31
|
+
ng-submit="vm.canConfirm() && vm.$close()"
|
|
32
|
+
>
|
|
28
33
|
<div class="form-group">
|
|
29
34
|
<label for="confirmString">{{ 'Confirm' | translate }}: </label>
|
|
30
35
|
<input
|
|
31
|
-
type="text"
|
|
32
36
|
class="form-control"
|
|
33
37
|
id="confirmString"
|
|
34
38
|
placeholder="{{ 'Type here' | translate }}"
|
|
39
|
+
type="text"
|
|
35
40
|
ng-model="vm.confirmString"
|
|
36
41
|
c8y-autofocus
|
|
37
42
|
/>
|
|
@@ -39,15 +44,14 @@
|
|
|
39
44
|
</form>
|
|
40
45
|
<div class="alert-footer">
|
|
41
46
|
<button
|
|
42
|
-
title="{{ 'Cancel' | translate }}"
|
|
43
47
|
class="btn btn-default"
|
|
48
|
+
title="{{ 'Cancel' | translate }}"
|
|
44
49
|
ng-click="vm.$dismiss()"
|
|
45
50
|
translate
|
|
46
51
|
>
|
|
47
52
|
Cancel
|
|
48
53
|
</button>
|
|
49
54
|
<button
|
|
50
|
-
title="{{ 'Confirm' | translate }}"
|
|
51
55
|
class="btn btn-primary"
|
|
52
56
|
title="{{ (vm.action === 'update' ? vm.saveLabel : vm.deleteLabel) | translate }}"
|
|
53
57
|
ng-click="vm.$close({logout: false})"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function s(e,s){var i,r=this;function n(){r.scopedPermissions=_.filter(r.permissions,{scope:r.scope})}function o(){r.permissionsListForm.$setDirty()}_.assign(r,{$onChanges:function(s){s.permissions&&(i&&i(),i=e.$watchCollection(_.constant(r.permissions),n))},accessTypes:s.ACCESS_TYPES,add:function(){r.permissions.push({scope:r.scope,permission:r.accessTypes.READ.value,type:"*"}),o()},remove:function(s){_.remove(r.permissions,s),o()},removeId:function(s){delete s.id},isOverridden:function(n){var s=r.permissions,e=r.scopedPermissions,o=["type","permission","scope"],s=_.find(_.without(s,n),function(i){return _.every(o,function(s){var e=_.matchesProperty(s,_.get(n,s)),s=_.matchesProperty(s,"*");return e(i)||s(i)})});return s&&(!_.matches(_.pick(n,o))(s)||_.indexOf(e,n)>_.indexOf(e,s))}})}s.$inject=["$scope","c8yPermissions"],angular.module("c8y.roles").component("c8yRoleInventoryPermissionList",{templateUrl:":::PLUGIN_PATH:::/detail/roleInventoryPermissionList.html",bindings:{permissions:"<",scope:"<"},controllerAs:"vm",controller:s})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(e){this.route_list=e.ROUTE_LIST}e.$inject=["c8yRolesUi"],angular.module("c8y.roles").component("c8yRoleTitle",{templateUrl:":::PLUGIN_PATH:::/detail/roleTitle.html",bindings:{name:"<",subtitle:"@",onSave:"&"},controllerAs:"vm",controller:e})})();
|
package/roles/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function i(i){i.init()}i.$inject=["c8yRolesUiProvider"],angular.module("c8y.roles",[]).config(i)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(n,o,e){var t=this;_.assign(t,{remove:function(e){o.removeAfterConfirmation(e).then(function(){t.onRemove({role:e})})},duplicate:o.duplicate,edit:o.edit,isUndeletable:o.isUndeletable,getRoleName:e.getName,$onInit:function(){o.canCreate().then(function(e){t.canCreate=e})}}),n.loadNext=function(){t.onLoadNext()},n.$watch("vm.roles.paging",function(e){t.roles&&(t.roles=t.roles.sort(function(e,n){return e.name.localeCompare(n.name,void 0,{numeric:!0})})),n.paging=e,_.forEach(t.roles,function(e){e.name=e.name&&_.trim(e.name),e.description=e.description&&_.trim(e.description)})})}e.$inject=["$scope","c8yRolesUi","c8yPropertyValueTransformService"],angular.module("c8y.roles").component("c8yRolesList",{templateUrl:":::PLUGIN_PATH:::/list/rolesList.html",bindings:{tabName:"<",roles:"<",addRole:"&",onRemove:"&",helpText:"<",onLoadNext:"&"},controllerAs:"vm",controller:e})})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function n(n,e,t,o){var r=this,i={header:o("Grant permissions on a general level."),text:o("There are several default roles defined, but you can define your own according to your needs.")},o={header:o("Manage user permissions on a particular group and/or its children."),text:o("There are several default inventory roles defined, but you can define your own according to your needs.")};function l(){return n.all([a(),c()])}function a(){return e.global.list().then(function(n){return u("global",n)})}function u(n,e){var t=(t=r["".concat(n,"Roles")])||[];e.forEach(function(n){t.push(n)}),t.paging=e.paging,r["".concat(n,"Roles")]=t}function c(){return e.list().then(function(n){return u("inventory",n)})}_.assign(r,{onRemove:function(e,n){_.remove(n,function(n){return n.id===e.id})},listGlobal:a,listInventory:c,listAll:l,loadNext:function(e){var n=r["".concat(e,"Roles")];n.paging.loading=!0,n.paging.next().then(function(n){return u(e,n)}).finally(function(){n.paging.loading=!1})},add:t.add,globalHelpText:i,inventoryHelpText:o}),t.setListTitle(),l()}n.$inject=["$q","c8yRoles","c8yRolesUi","gettext"],angular.module("c8y.roles").controller("c8yRolesOverviewCtrl",n)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(g,e,n){v.$inject=["$rootScope","$location","$q","gettextCatalog","c8yBase","c8yTitle","c8yModal","c8yAlert","c8yRoles","c8yPermissions","c8yRolesUiStrings"],u.$inject=["$routeParams","c8yTenant"];var y="roles",b="roles/inventory_roles",R="".concat(y,"/global/:roleId"),w="".concat(y,"/inventory/:roleId"),t="c8y-users",o=g("Global roles"),r={priority:1e3,icon:"connected-people",template:"<c8y-roles-list tab-name=\"'".concat(o,'\' | translate" roles="vm.globalRoles" help-text="vm.globalHelpText" on-remove="vm.onRemove(role, vm.globalRoles)" add-role="vm.add(\'global\')" on-load-next="vm.loadNext(\'global\')"></c8y-roles-list>'),name:o,controller:"c8yRolesOverviewCtrl",controllerAs:"vm"},a=g("Inventory roles"),l={icon:"insurance-agent",template:"<c8y-roles-list tab-name=\"'".concat(a,'\' | translate" roles="vm.inventoryRoles" help-text="vm.inventoryHelpText" on-remove="vm.onRemove(role, vm.inventoryRoles)" add-role="vm.add(\'inventory\')" on-load-next="vm.loadNext(\'inventory\')"></c8y-roles-list>'),name:a,controller:"c8yRolesOverviewCtrl",controllerAs:"vm"},i={template:"<c8y-role-detail-global tab-name=\"'".concat(o,'\' | translate" id="vm.params.roleId" duplicate-id="vm.params.duplicate"></c8y-role-global-global>')},c={template:"<c8y-role-detail-inventory tab-name=\"'".concat(a,'\' | translate" id="vm.params.roleId" duplicate-id="vm.params.duplicate" is-top-tenant="vm.isTopTenant"></c8y-role-detail-inventory>')},s={controllerAs:"vm",controller:u};function u(e,n){var t=this;_.assign(t,{isTopTenant:!1,params:e}),n.isCurrentUserTopTenant().then(function(e){t.isTopTenant=e})}var T=["READ","ADMIN","CREATE","UPDATE"],E="ROLE_USER_MANAGEMENT_ADMIN",m=["ROLE_USER_MANAGEMENT_READ",E];function d(){e.when("/".concat(y),r),e.when("/".concat(y),l),e.when("/".concat(R),_.assign(i,s)),e.when("/".concat(w),_.assign(c,s))}function v(a,t,l,r,o,e,i,c,s,n,u){return{ROUTE_LIST:y,STRINGS:u,listGlobalPermissions:function(){return n.listGlobal().then(function(e){return _.filter(e,function(e){return _.includes(T,e.access)})})},list:m,setListTitle:function(){e.changeTitle({title:g("Roles")})},add:d,edit:function(e){var n=s.isGlobal(e)?R:w;return((e,n)=>(e=o.getId(e),n=n.replace(/:\w+/,e),t.search("duplicate",null),t.path(n)))(e,n)},duplicate:function(e){d(s.isGlobal(e)?"global":"inventory",e.id)},removeAfterConfirmation:function(n){var t=s.remove,o=s.global.remove;return(()=>{var e=a.$new(!0);return e.role=n,e.action="delete",i({templateUrl:":::PLUGIN_PATH:::/detail/roleGlobalSaveConfirm.html",scope:e})})().then(function(e){var e=e.logout;return e=e,s.isGlobal(n)?o(n,e):t(n)}).then(function(){return c.success(g("Role deleted."))}).catch(function(e){var n;return _.get(e,"status")&&(n=e,n=_.get(n,"data",n),a.$emit("alert",{type:"danger",text:$("<div/>").text(r.getString(n.message)).html(),detailedData:n})),l.reject(e)})},canCreate:function(){return n.hasAnyRole([E])},newInventoryRole:function(e){var n=l.when({name:r.getString("New inventory role"),permissions:[]});e&&(n=s.detail(e).then(function(e){var e=e.data,n={};return n.name="".concat(e.name," 2"),n.permissions=_.map(e.permissions,function(e){return _.omit(e,["id"])}),n}));return n},saveInventoryRole:function(e){var n=l.when();e.id||(n=v(e,e.name).catch(h(e.name)));return n.then(_.partial(s.save,e)).then(function(){return c.success(g("Inventory role saved."))}).then(m)},saveInventoryRoleName:function(n,t){return v(n,t).then(function(){var e;return n.id?e=s.update({id:n.id,name:t}).then(function(e){return n.name=t,e}):n.name=t,e},h(t))},newGlobalRole:function(e){var n=l.when({name:r.getString("New global role")});e&&(n=s.global.detail(e).then(function(e){e=_.pick(e.data,["name","roles","applications"]);return e.name+=" 2",e}));return n},saveGlobalRole:function(t,n){function o(e){var n=0<arguments.length&&void 0!==e&&e,e=l.when();return(e=t.id?e:f(t,t.name).catch(h(t.name))).then(function(){return s.global.save(t,n)})}function r(e){return s.global.updateRoles(e,n)}return(t.id?(()=>{var e=a.$new(!0);return e.role=t,e.action="update",i({templateUrl:":::PLUGIN_PATH:::/detail/roleGlobalSaveConfirm.html",scope:e})})():l.resolve({logout:!1})).then(function(e){var n=e.logout;return t.id?r(t).then(function(){return o(n)}):o(n).then(r)}).then(function(){return c.success(g("Global role saved."))}).then(m)},saveGlobalRoleName:function(n,t){return f(n,t).then(function(){var e=l.when();return n.id?e=s.global.update({id:n.id,name:t}).then(function(e){return n.name=t,e}):n.name=t,e},h(t))},isUndeletable:function(e){return s.isGlobal(e)&&("admins"===_.lowerCase(e.name)||"devices"===_.lowerCase(e.name)||n.hasRole(e,"ROLE_NO_DELETE"))}};function m(){var e=new RegExp("\\/roles\\/inventory\\/(\\w+)"),e=t.path().match(e),e="/".concat(e?b:y);t.path(e),t.search("duplicate",null)}function d(e,n){e=("global"===e?R:w).replace(/:\w+/,"new");t.path(e),n&&t.search("duplicate",n)}function v(n,t){return s.list().then(function(e){return p(e,n,t)})}function p(e,n,t){e=_.filter(e,function(e){return e.id!==n.id});return _.some(e,{name:t})&&l.reject({duplicate:!0})}function h(n){return function(e){return _.get(e,"duplicate")&&c.danger(r.getString('There is already a role with the name "{{name}}"',{name:n})),l.reject()}}function f(n,t){return s.global.list().then(function(e){return p(e,n,t)})}}return{$get:v,init:function(){d(),n.addNavigation({name:g("Roles"),parent:g("Accounts"),routerLinkExact:!1,priority:4900,path:y,icon:t,showIfPermissions:{anyRole:m}})},hookViews:d}}e.$inject=["gettext","c8yViewsProvider","c8yNavigatorProvider"],angular.module("c8y.roles").provider("c8yRolesUi",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(o,n,c,a,t,i,d,r,f,s){var g=this,u="",e={c8y_Global:{}};function p(e){var i,n,t,c,a;return g.svgFile.data=e,g.svgFile&&(i=o.config.mapping||{},n=o.config.deviceIds||{},t=o.config.device&&o.config.device.id,o.config.mapping={},o.config.deviceIds={},_.forEach((e=>{for(var i=[],n=/{{\s*([$\w]+?)\s*}}/g,t=n.exec(e);null!==t;)i.push(t[1]),t=n.exec(e);return i})(g.svgFile.data),function(e){o.config.mapping[e]=i[e]||null,o.config.deviceIds[e]=n[e]||t||null}),c=o.config.deviceIds,a=o.config.mapping,c)&&a&&_.forOwn(c,function(e,i){var e=l(e),n=r.generatePaths(e);f.list().then(function(e){e=_.sortBy(e,function(e){return e.keyPath.length}).reverse();null===a[i]&&(_.forEach(e,function(e){_.last(e.keyPath).toUpperCase()===i.toUpperCase()&&(a[i]=e)}),_.forEach(n,function(e){_.last(e).toUpperCase()===i.toUpperCase()&&(a[i]=r.createProperty(e))}))})}),e}function l(i){return _.find(g.devices,function(e){return i===e.id})}function v(e,i){g.device&&g.device.id!==i.id||_.assign(g.device,i)}function h(){e=o.config.deviceIds;var e=_(e).values().uniq().value().sort(function(e,i){return e-i}).join(",");e!==u&&(u.length&&i.stop(o.$id,"/managedobjects/".concat(u)),e.length&&(i.addListener(o.$id,"/managedobjects/".concat(e),"UPDATE",v),i.start(o.$id,"/managedobjects/".concat(e)),o.$on("$destroy",_.partial(i.stop,o.$id,"/managedobjects/".concat(e)))),u=e)}this.deviceDetail=function(e,i){var t;e&&(t=!i||!(e.name===i.name&&e.id===i.id),a.detail(e.id).then(function(e){g.device=e.data;e=_.union([g.device.id],_.map(_.union(g.device.childAssets.references,g.device.childDevices.references),function(e){return e.managedObject.id}));_.remove(e,_.isUndefined),n.all(_.map(e,function(e){return a.detail(e)})).then(function(e){var n;g.devices=_.map(e,function(e){e=e.data;return _.assign({},e,{name:c("truncate")(e.name)})}),n=t,_.forOwn(o.config.mapping,function(e,i){1!==g.devices.length&&!n||(o.config.deviceIds[i]=o.config.device.id),o.config.deviceIds[i]=o.config.deviceIds[i]||o.config.device.id}),g.updateComputedProperties(o.config.deviceIds,o.config.mapping)})}))},this.onSelectFile=function(i){g.loading=!0,t.upload(i,e).then(function(e){g.binaryFile=e.data,o.config.binaryId=e.data.id,g.retrieveSvgData(i),o.forms.componentForm.$setDirty()}).finally(function(){g.loading=!1})},this.updateComputedProperties=function(e,t){_.isEmpty(e)||_.isEmpty(t)||_.forOwn(e,function(e,i){var n=[t[i]];t[i]&&(i=l(e),d.attach(i,_.filter(n,function(e){return _.isObjectLike(e)})))})},this.onMappingChange=function(){g.updateComputedProperties(o.config.deviceIds,o.config.mapping)},this.onDeviceIdsChange=function(){g.updateComputedProperties(o.config.deviceIds,o.config.mapping),h()},this.retrieveSvgData=function(i){g.svgFile={name:i.name,size:i.length},(i instanceof Blob?t.readDataUri(i):t.downloadAsDataUri(i)).then(t.decodeDataUri).then(function(e){return new File([e],i.name,{type:i.type})}).then(function(e){return s.sanitizeFileByLevel(e,o.config.sanitization)}).then(function(e){return t.readDataUri(e)}).then(t.decodeDataUri).then(p)},g.binaryFile={},o.config.mapping=o.config.mapping||{},o.config.deviceIds=o.config.deviceIds||{},o.config.devices&&delete o.config.devices,(()=>{if(!o.config.binaryId)return n.when();g.loading=!0,o.config.sanitization||(o.config.sanitization="none"),t.detail(o.config.binaryId).then(function(e){g.binaryFile=e.data,g.retrieveSvgData(g.binaryFile),g.loading=!1}).then(function(){var e=[];e.push({file:g.svgFile}),g.files=e})})(),h(),o.$watch("config.device",this.deviceDetail,!0),o.$watch("config.mapping",this.onMappingChange,!0),o.$on("$destroy",function(){_.forEach(o.config.deviceIds,function(e){d.detach(l(e))})})}e.$inject=["$scope","$q","$filter","c8yDevices","c8yBinary","c8yRealtime","c8yComputedProperties","fieldbusPropertyGenerator","c8yPropertiesLibrary","c8ySanitizeHtml"],angular.module("c8y.parts.scadaWidget").controller("ScadaWidgetConfigCtrl",e)})();
|
package/scada/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{function e(e,t){e.add({name:"SCADA",description:t("Display a configurable SVG."),templateUrl:":::PLUGIN_PATH:::/views/component.html",configTemplateUrl:":::PLUGIN_PATH:::/views/componentConfig.html",previewImage:":::PLUGIN_PATH:::/img/scada-widget-pr.png",transformConfigWithContext:["config","context","dashboard",function(e,t,n){return n.deviceType&&e.deviceIds&&(e.deviceIds=_.mapValues(e.deviceIds,_.constant(t.id))),e}],options:{groupsSelectable:!0}})}e.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.parts.scadaWidget",[]).config(e)})();
|
package/scada/index.mock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
angular.module("c8y.parts.scadaWidget",[]);
|