@c8y/ng1-modules 1021.81.0 → 1022.3.2

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.
Files changed (112) hide show
  1. package/alarmsEventsExplorer/alarmsEventsTimelinesConfig/alarmsEventsTimelinesConfig.html +1 -1
  2. package/assetPropertyWidget/img/asset-properties-widget-pr.png +0 -0
  3. package/assetPropertyWidget/views/config.html +1 -1
  4. package/assetTable/assetTable2/img/asset-table-widget-pr.png +0 -0
  5. package/assetTable/img/asset-table-widget-pr.png +0 -0
  6. package/core/core/services/audits.js +1 -1
  7. package/core/core/services/retentions.js +1 -1
  8. package/core/core/services/tenant.js +1 -1
  9. package/core/core/services/user.js +1 -1
  10. package/core/cumulocity.json +0 -1
  11. package/core/locales/de.po +472 -720
  12. package/core/locales/es.po +422 -671
  13. package/core/locales/fr.po +501 -751
  14. package/core/locales/ja_JP.po +494 -740
  15. package/core/locales/ko.po +421 -671
  16. package/core/locales/nl.po +424 -672
  17. package/core/locales/pl.po +422 -672
  18. package/core/locales/pt_BR.po +519 -768
  19. package/core/locales/zh_CN.po +421 -671
  20. package/core/locales/zh_TW.po +422 -671
  21. package/core/ui/properties/propertySelector.html +156 -109
  22. package/core/ui/views/auditList.html +2 -2
  23. package/core/ui/views/eventList.html +2 -2
  24. package/core/ui/views/filePicker.html +1 -1
  25. package/dataBroker/connectors/connectors.service.js +1 -1
  26. package/dataPointExplorer/img/data-points-graph-widget-pr.png +0 -0
  27. package/dataPointExplorer/views/widgetConfig.html +92 -94
  28. package/device-protocols/object-mapping.component.js +1 -1
  29. package/device-protocols/object-mapping.html +1 -1
  30. package/deviceDatabase4/modals/configure-discrete-io.html +1 -1
  31. package/deviceDatabase4/modals/configure-register.html +1 -1
  32. package/deviceDetail/cumulocity.json +1 -2
  33. package/deviceStatusWidget/ownerStatus.html +2 -2
  34. package/deviceStatusWidget/requiredAvailabilityIntervalSetting.html +4 -4
  35. package/devicemanagement-eventList/index.js +1 -1
  36. package/enterpriseEdition/cumulocity.json +0 -13
  37. package/enterpriseEdition/enterpriseEdition.module.js +1 -1
  38. package/eventList/img/events-list-widget-pr.png +0 -0
  39. package/eventList/views/eventListConfig.html +39 -32
  40. package/export/cumulocity.json +0 -1
  41. package/export/index.js +1 -1
  42. package/export/services/config.js +1 -1
  43. package/htmlWidget/index.js +1 -1
  44. package/kpi/img/data-points-list-widget-pr.png +0 -0
  45. package/kpi/views/gaugeConfig.html +28 -34
  46. package/kpi/views/listConfig.html +14 -18
  47. package/kpi/views/pieChartConfig.html +30 -36
  48. package/modbusConfiguration4/fieldbus-device-list.component.js +1 -1
  49. package/modbusWidget4/widget-config.html +74 -84
  50. package/package.json +11 -13
  51. package/propertiesLibrary/index.js +1 -1
  52. package/roles/list/rolesList.html +0 -2
  53. package/scada/views/componentConfig.html +23 -23
  54. package/scada/views/mapping.html +41 -39
  55. package/smartRules/controllers/add.js +1 -1
  56. package/smartRules/controllers/list.js +1 -1
  57. package/smartRules/list/smartRulesList.component.js +1 -1
  58. package/smartRules/list/smartRulesList.html +2 -2
  59. package/smartRules/services/smartRules.js +1 -1
  60. package/smartRules/views/add.html +32 -10
  61. package/smartRules/views/list.html +4 -3
  62. package/trafficLightWidget/states-mapping.html +82 -69
  63. package/administration-config/administration-config.module.js +0 -1
  64. package/administration-config/cumulocity.json +0 -13
  65. package/asset-notes/assetNotes.component.js +0 -1
  66. package/asset-notes/assetNotes.html +0 -93
  67. package/asset-notes/assetNotes.module.js +0 -1
  68. package/asset-notes/assetNotes.service.js +0 -1
  69. package/asset-notes/cumulocity.json +0 -13
  70. package/core/ui/forms/ssh-key-input.html +0 -33
  71. package/core/ui/forms/ssh-key-input.js +0 -1
  72. package/devicemanagement-deviceListMap/controllers/deviceListMap.js +0 -1
  73. package/devicemanagement-deviceListMap/cumulocity.json +0 -19
  74. package/devicemanagement-deviceListMap/index.js +0 -1
  75. package/devicemanagement-deviceListMap/views/index.html +0 -21
  76. package/enterpriseEdition/customBranding/brandingConfiguration.constants.js +0 -1
  77. package/enterpriseEdition/customBranding/brandingConfiguration.service.js +0 -1
  78. package/enterpriseEdition/customBranding/brandingConfigurationForm.component.js +0 -1
  79. package/enterpriseEdition/customBranding/brandingConfigurationForm.html +0 -141
  80. package/enterpriseEdition/customBranding/brandingConfigurationUi.provider.js +0 -1
  81. package/enterpriseEdition/customBranding/brandingDeploy.service.js +0 -1
  82. package/enterpriseEdition/customBranding/brandingProcessExecution.component.js +0 -1
  83. package/enterpriseEdition/customBranding/brandingProcessExecution.html +0 -120
  84. package/enterpriseEdition/customBranding/custom-branding.module.js +0 -1
  85. package/enterpriseEdition/customBranding/microservice.value.js +0 -1
  86. package/enterpriseEdition/ui-assets/index.js +0 -1
  87. package/enterpriseEdition/ui-assets/public-options.service.js +0 -1
  88. package/enterpriseEdition/ui-assets/static-assets.service.js +0 -1
  89. package/enterpriseEdition/ui-assets/ui-assets.service.js +0 -1
  90. package/export/controllers/list.js +0 -1
  91. package/export/views/list.html +0 -298
  92. package/remoteAccess/clients/remoteAccessClients.service.js +0 -1
  93. package/remoteAccess/clients/terminal/index.html +0 -30
  94. package/remoteAccess/clients/terminal/index.js +0 -1
  95. package/remoteAccess/clients/terminal/shell-adapter.js +0 -1
  96. package/remoteAccess/clients/terminal/style.css +0 -25
  97. package/remoteAccess/clients/terminal/telnet-negotiator.js +0 -1
  98. package/remoteAccess/clients/vnc/vncClient.html +0 -60
  99. package/remoteAccess/clients/vnc/vncClient.js +0 -1
  100. package/remoteAccess/cumulocity.json +0 -69
  101. package/remoteAccess/remoteAccess.module.js +0 -1
  102. package/remoteAccess/remoteAccess.service.js +0 -1
  103. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.component.js +0 -1
  104. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.html +0 -89
  105. package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.component.js +0 -1
  106. package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.html +0 -484
  107. package/remoteAccess/remoteAccessEndpointModal/suggestedIPAddressTemplate.html +0 -8
  108. package/remoteAccess/remoteAccessEndpointsList/remoteAccessEndpointsList.component.js +0 -1
  109. package/remoteAccess/remoteAccessEndpointsList/remoteAccessEndpointsList.html +0 -75
  110. package/remoteAccess/remoteAccessSettings/remoteAccessSettings.component.js +0 -1
  111. package/remoteAccess/remoteAccessSettings/remoteAccessSettings.html +0 -37
  112. package/remoteAccess/remoteAccessUI.provider.js +0 -1
@@ -1,141 +0,0 @@
1
- <c8y-breadcrumbs-set>
2
- <c8y-breadcrumbs-item label="{{ 'Branding' | translate }}" icon="cog"></c8y-breadcrumbs-item>
3
- <c8y-breadcrumbs-item
4
- label="{{ 'Enterprise tenant' | translate }}"
5
- icon="cog"
6
- ></c8y-breadcrumbs-item>
7
- <c8y-breadcrumbs-item label="{{ 'Settings' | translate }}" icon="cog"></c8y-breadcrumbs-item>
8
- </c8y-breadcrumbs-set>
9
-
10
- <c8y-ui-action-bar-set>
11
- <li ng-show="vm.state.WAITING || vm.state.RUNNING">
12
- <i c8y-icon="spinner" class="icon-spin"></i>
13
- <span translate ng-show="vm.state.WAITING">Waiting in queue</span>
14
- <span translate ng-show="vm.state.RUNNING">Executing. Takes about 2 minutes</span>
15
- </li>
16
-
17
- <button
18
- ng-show="vm.useMicroservice"
19
- title="{{ 'Create branded standard apps' | translate }}"
20
- type="button"
21
- class="btn btn-link"
22
- ng-click="vm.generate()"
23
- ng-disabled="vm.blocked()"
24
- >
25
- <i c8y-icon="bolt"></i>
26
- {{ 'Create' | translate }}
27
- </button>
28
-
29
- <button
30
- class="btn btn-link"
31
- type="button"
32
- title="{{ (wrapperform.$dirty ? vm.dirtyFormApplyTitle : vm.applyTitle) | translate }}"
33
- ng-disabled="wrapperform.$dirty"
34
- ng-click="vm.applyConfiguration()"
35
- ng-show="!vm.useMicroservice"
36
- >
37
- <i c8y-icon="bolt"></i>
38
- {{ 'Apply' | translate }}
39
- </button>
40
-
41
- <button
42
- class="btn btn-link"
43
- type="button"
44
- title="{{ 'Remove applied branding' | translate }}"
45
- ng-click="vm.removeAppliedBranding()"
46
- ng-show="!vm.useMicroservice"
47
- >
48
- <i c8y-icon="undo"></i>
49
- {{ 'Remove branding' | translate }}
50
- </button>
51
-
52
- <button
53
- class="btn btn-link"
54
- type="button"
55
- title="{{ 'Open branded apps preview' | translate }}"
56
- ng-click="vm.preview()"
57
- >
58
- <i c8y-icon="external-link"></i>
59
- {{ 'Open preview' | translate }}
60
- </button>
61
- </c8y-ui-action-bar-set>
62
-
63
- <div class="card card--grid content-fullpage grid__col--3-9--md" ng-form="wrapperform">
64
- <div class="d-flex d-col content-fullpage bg-level-1">
65
- <div class="card-header separator">
66
- <div class="card-title" translate>Configuration</div>
67
- </div>
68
- <div class="inner-scroll flex-grow">
69
- <div class="card-block p-t-0 p-b-0 overflow-visible">
70
- <div ng-show="vm.isLoading">
71
- <c8y-loading></c8y-loading>
72
- </div>
73
- <form name="platformConfigurationForm1" ng-blur="vm.updateLivePreview()" novalidate>
74
- <c8y-schema-form
75
- schema="vm.schema"
76
- form="vm.form[0]"
77
- model="vm.branding.c8y_less_variables"
78
- options="vm.options"
79
- ></c8y-schema-form>
80
- </form>
81
-
82
- <form name="platformConfigurationForm2" novalidate>
83
- <c8y-schema-form
84
- schema="vm.schema"
85
- form="vm.form[1]"
86
- model="vm.branding.c8y_less_variables"
87
- options="vm.options"
88
- ></c8y-schema-form>
89
- </form>
90
- </div>
91
- </div>
92
- <div class="card-footer separator sticky-bottom">
93
- <button
94
- class="btn btn-default"
95
- type="button"
96
- title="{{ 'Reset' | translate }}"
97
- ng-disabled="!wrapperform.$dirty"
98
- ng-click="vm.resetForm(wrapperform)"
99
- c8y-key-shortcut="Escape"
100
- >
101
- {{ 'Reset' | translate }}
102
- </button>
103
- <button
104
- class="btn btn-primary"
105
- type="button"
106
- title="{{ 'Save' | translate }}"
107
- ng-click="vm.save()"
108
- ng-disabled="!vm.canSave() || !wrapperform.$dirty"
109
- ng-hide="vm.isLoading"
110
- c8y-key-shortcut="Enter"
111
- >
112
- {{ 'Save' | translate }}
113
- </button>
114
- </div>
115
- </div>
116
-
117
- <div class="d-flex d-col">
118
- <div class="card-header separator">
119
- <div class="card-title" translate>Preview</div>
120
- </div>
121
- <div class="c8y-browser-mock d-flex d-col flex-grow">
122
- <div class="browser-container flex-grow d-flex d-col">
123
- <div class="browser-row">
124
- <div class="buttons">
125
- <span class="dot" style="background: #ed594a"></span>
126
- <span class="dot" style="background: #fdd800"></span>
127
- <span class="dot" style="background: #5ac05a"></span>
128
- </div>
129
- <div class="tab text-truncate">
130
- <img alt="{{ vm.title }}" src="{{ vm.favicon }}" />
131
- {{ vm.title }}
132
- </div>
133
- </div>
134
-
135
- <div class="browser-content flex-grow d-flex d-col">
136
- <iframe id="previewBrowser" title="Preview" class="flex-grow fit-w"></iframe>
137
- </div>
138
- </div>
139
- </div>
140
- </div>
141
- </div>
@@ -1 +0,0 @@
1
- function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var r;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(r="Object"===(r={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:r)||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,o=Array(e);r<e;r++)o[r]=t[r];return o}function _iterableToArrayLimit(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var o,a,i,n,l=[],s=!0,g=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(o=i.call(r)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(t){g=!0,a=t}finally{try{if(!s&&null!=r.return&&(n=r.return(),Object(n)!==n))return}finally{if(g)throw a}}return l}}function _arrayWithHoles(t){if(Array.isArray(t))return t}function ownKeys(e,t){var r,o=Object.keys(e);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(e),t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,r)),o}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _defineProperty(t,e,r){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0===r)return("string"===e?String:Number)(t);r=r.call(t,e||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{function t(p){g.$inject=["$q","$http","c8yPermissions","gettextCatalog","c8yInventory","c8yBinary","c8yPublicOptions","c8yBrandingMapping"];var f="brandingVariables",t={title:p("General"),items:["html_title"]},e={title:p("Main logo"),items:["favicon","brand-logo-img","brand-logo-height"]},r={title:p("Navigator logo"),items:["appLogo","appLogo-height"]},o={title:p("Font"),key:"font.options",items:["font-family-sans-serif","headings-font-family","navigator-font-family","__import-font"]},a={title:p("Colors"),items:["brand-primary","brand-complementary","brand-dark","brand-light","text-color","link-color","body-background-color"]},i={title:p("Top bar"),items:["headerColor","header-text-color","header-hover-color"]},n={title:p("Navigator"),items:["navColor","navColorHeader","navigator-title-color","navigator-text-color","navigator-separator-color","navigator-color-active","navigator-active-bg"]},l={title:p("Misc"),items:["btn-border-radius-base"]},s={title:p("Cookie banner"),items:["cookieBannerDisabled","cookieBannerTitle","cookieBannerText","policyUrl"]},m=[t,e,r,o,a],u=[i,n,l,s];return{$get:g};function g(i,n,t,r,l,s,o,g){var a=["brand-logo-img","appLogo","favicon"];return{getSchema:c,getForm:function(){return i.when([_.map(m,e),_.map(u,e)])},getSchemaFormOptions:function(){return t.hasAnyRole(["ROLE_OPTION_MANAGEMENT_ADMIN"]).then(function(t){return{formDefaults:{readonly:!t}}})},getBranding:function(){var t=c(),e=l.list({type:f}),r=o.read();return i.all({schema:t,managedObjects:e,publicOptions:r}).then(function(t){var r=_.pick(t.managedObjects[0],["id","c8y_less_variables","binary_ref","cookieBanner"]),o=(_.isEmpty(r)&&!_.isEmpty(t.publicOptions)&&(r=(t=>{var r={},e=t.brandingCssVars,o=t.cookieBanner,a=t.extraCssUrls,i=t.faviconUrl,t=t.globalTitle,n=_.omitBy(_objectSpread(_objectSpread(_objectSpread({},e),o),{},{faviconUrl:i,globalTitle:t}),_.isUndefined),l=_.invert(g.cssVarMapping);return Object.keys(n).forEach(function(t){var e=(t=>{if("string"==typeof t){if(t.endsWith("%"))return Number(t.slice(0,-1));if(t.endsWith("px"))return Number(t.slice(0,-2))}return t})(n[t]);l[t]?r[l[t]]=e:r[t]=e}),a&&a.length&&(r["__import-font"]=a[0]),r["navigator-font-family"]&&(r["navigator-font-family"]=(e=>{var r,o=_.invert(g.fontFamilyCssVars);return Object.keys(o).forEach(function(t){e.includes(t)&&(r=o[t])}),r})(e["navigator-font-family"])),o=g.fileProperties.map(function(t){return t.key}),["appLogo-height","brand-logo-height","navigator-app-icon-size","btn-border-radius-base"].forEach(function(t){r[t]&&(r[t]=parseInt(r[t],10))}),{c8y_less_variables:_.omit(r,o),binary_ref:_.pick(r,o)}})(t.publicOptions)),[]);return _.each(a,function(e){var a,t;r.binary_ref&&r.binary_ref[e]&&((t=(t=r.binary_ref[e]).id?l.detail(t,{},{silentError:!0}):(a=(t=t).startsWith("url(")?t.slice(4,-1):t,n.get(a,{responseType:"blob"}).then(function(o){return s.readDataUri(o.data).then(function(t){var e=o.headers(),r=_slicedToArray(a.split("/").pop().split("?"),1)[0],r=new File([o.data],r,{type:e["content-type"]});return _.set(r,"fileSrc",t),_.set(r,"length",e["content-length"]),{data:r}})}))).then(function(t){r.c8y_less_variables[e]=t.data},function(){}),o.push(t.catch(function(){return!1})))}),i.all(o).then(_.constant(r))})},saveConfiguration:function(t,e){t={type:f,c8y_less_variables:t.c8y_less_variables,binary_ref:t.binary_ref||{}};e&&(t.id=e);return l.save(t)},saveBinary:function(e,t,r,o){if(_.isEqual(t,o)&&t.id)return i.when(o);var a={c8y_Branding:e,fileSrc:t.fileSrc};return s.upload(t,a).then(function(t){return r&&r[e]&&o&&s.removeBinary(r[e]),t.data})},BINARY_VARS:a};function c(){var t=p("Hex, rgb or rgba value. Default: {{defaultColor}}"),e={message:{cssColor:r.getString("Must be a valid CSS color value.")},validator:{cssColor:function(t){var e;return!!_.isEmpty(t)||((e=document.createElement("SPAN")).style.color=t,!_.isEmpty(e.style.color))}}};return i.when({type:"object",properties:{html_title:{title:r.getString("Title"),type:"string",description:r.getString("Title to be used in browser tab")},"brand-logo-img":{title:"".concat(r.getString("Brand logo")),type:"string",description:r.getString("Supported files: *.png, *.svg, *.jpg"),format:"file","x-schema-form":{type:"fileUpload",allowedFileType:[".png",".svg",".jpg"]}},favicon:{title:"".concat(r.getString("Favicon")),type:"string",description:r.getString("Supported files: *.ico"),format:"file","x-schema-form":{type:"fileUpload",allowedFileType:[".ico"]}},"brand-logo-height":{title:r.getString("Brand logo height"),type:"number",minimum:0,description:r.getString("Height for setting the right proportion for the logo: height / width x 100")},appLogo:{title:r.getString("Navigator logo"),type:"string",description:r.getString("Supported files: *.png, *.svg, *.jpg"),format:"file","x-schema-form":{type:"fileUpload",allowedFileType:[".png",".svg",".jpg"]}},"appLogo-height":{title:r.getString("Navigator logo height"),type:"number",minimum:0,description:r.getString("Height for setting the right proportion for the navigator logo: height / width x 100")},"font-family-sans-serif":{title:r.getString("Base font stack"),type:"string","x-schema-form":{placeholder:r.getString('e.g. "Lato", Arial, Verdana, sans-serif')}},"headings-font-family":{title:r.getString("Headings font stack"),type:"string","x-schema-form":{placeholder:r.getString('e.g. "Lato", Arial, Verdana, sans-serif')}},"navigator-font-family":{title:r.getString("Navigator font stack"),type:"string",default:"@font-family-sans-serif","x-schema-form":{type:"radios",enum:["@font-family-sans-serif","@headings-font-family"],titleMap:[{value:"@font-family-sans-serif",name:r.getString("Same as base font")},{value:"@headings-font-family",name:r.getString("Same as headings font")}]}},"__import-font":{title:r.getString("URL"),description:r.getString("A link to existing remote fonts (for example, Google Fonts)"),type:"string"},"brand-primary":{title:"".concat(r.getString("Main brand color")),type:"string",description:r.getString("Hex, rgb or rgba value."),"x-schema-form":{placeholder:r.getString("e.g.: #27b3ce"),validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"brand-complementary":{title:r.getString("Secondary brand color"),type:"string",description:r.getString(t,{defaultColor:d("brand-complementary")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"brand-dark":{title:r.getString("Dark brand color"),type:"string",description:r.getString(t,{defaultColor:d("brand-dark")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"brand-light":{title:r.getString("Light brand color"),type:"string",description:r.getString(t,{defaultColor:d("brand-light")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"text-color":{title:r.getString("Text color"),type:"string",description:r.getString(t,{defaultColor:d("text-color")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"link-color":{title:r.getString("Link color"),type:"string",description:r.getString(t,{defaultColor:d("link-color")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"body-background-color":{title:r.getString("Main background color"),type:"string",description:r.getString(t,{defaultColor:d("body-background-color")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},headerColor:{title:r.getString("Background color"),type:"string",description:r.getString(t,{defaultColor:d("headerColor")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"header-text-color":{title:r.getString("Text color"),type:"string",description:r.getString(t,{defaultColor:d("header-text-color")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"header-hover-color":{title:r.getString("Button hover text color"),type:"string",description:r.getString(t,{defaultColor:d("header-hover-color")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},navColor:{title:r.getString("Background color"),type:"string",description:r.getString(t,{defaultColor:d("navColor")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},navColorHeader:{title:r.getString("Logo wrapper background color"),type:"string",description:r.getString(t,{defaultColor:d("navColorHeader")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"navigator-title-color":{title:r.getString("Title color"),type:"string",description:r.getString(t,{defaultColor:d("navigator-title-color")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"navigator-text-color":{title:r.getString("Text and buttons color"),type:"string",description:r.getString(t,{defaultColor:d("navigator-text-color")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"navigator-separator-color":{title:r.getString("Separator line color"),type:"string",description:r.getString(t,{defaultColor:d("navigator-separator-color")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"navigator-color-active":{title:r.getString("Text color of current item in navigator"),type:"string",description:r.getString(t,{defaultColor:d("navigator-color-active")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"navigator-active-bg":{title:r.getString("Background color of current item in navigator"),type:"string",description:r.getString(t,{defaultColor:d("navigator-active-bg")}),"x-schema-form":{validationMessage:_objectSpread({},e.message),$validators:_objectSpread({},e.validator)}},"btn-border-radius-base":{title:r.getString("Button border-radius"),type:"number",minimum:0,maximum:20,description:r.getString("Value in px")},cookieBannerDisabled:{title:r.getString("Disable cookie banner"),type:"boolean"},cookieBannerTitle:{title:r.getString("Title"),type:"string","x-schema-form":{condition:"!model.cookieBannerDisabled"}},cookieBannerText:{title:r.getString("Text"),type:"string","x-schema-form":{type:"textarea",condition:"!model.cookieBannerDisabled"}},policyUrl:{title:r.getString("Link to privacy policy"),type:"string","x-schema-form":{placeholder:r.getString("e.g. https://example.com/mypolicy"),condition:"!model.cookieBannerDisabled"}}}})}function d(t){return{"brand-complementary":"#07b91A","text-color":"#444","link-color":"main brand color","body-background-color":"#FAFAFA","brand-dark":"#0B385B","brand-light":"#5FAEEC",headerColor:"#FFFFFF","header-text-color":"#49595B","header-hover-color":"main brand color",navColor:"#2c3637",navColorHeader:"transparent","navigator-title-color":"#FFFFFF","navigator-text-color":"#FAFAFA","navigator-separator-color":"#FAFAFA","navigator-color-active":"#FAFAFA","navigator-active-bg":"main brand color"}[t]}function e(t){var e={type:"collapse"};return _.assign(e,t),e.items=_.map(e.items,function(t){return{key:[t]}}),e.title=r.getString(e.title),e}}}t.$inject=["gettext"],angular.module("c8y.custom-branding").provider("c8yBrandingConfigurationUi",t)})();
@@ -1 +0,0 @@
1
- function _slicedToArray(n,t){return _arrayWithHoles(n)||_iterableToArrayLimit(n,t)||_unsupportedIterableToArray(n,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(n,t){var r;if(n)return"string"==typeof n?_arrayLikeToArray(n,t):"Map"===(r="Object"===(r={}.toString.call(n).slice(8,-1))&&n.constructor?n.constructor.name:r)||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(n,t):void 0}function _arrayLikeToArray(n,t){(null==t||t>n.length)&&(t=n.length);for(var r=0,e=Array(t);r<t;r++)e[r]=n[r];return e}function _iterableToArrayLimit(n,t){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var e,a,o,i,c=[],l=!0,u=!1;try{if(o=(r=r.call(n)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(e=o.call(r)).done)&&(c.push(e.value),c.length!==t);l=!0);}catch(n){u=!0,a=n}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}function _arrayWithHoles(n){if(Array.isArray(n))return n}(()=>{function n(r,i,n,e,t,a,o,p,c){var y=c.fileProperties,l=c.cookieBannerProperties,u=c.nonCssProperties;return{keyToCssVar:f,getFontFamilyCssVar:d,reset:function(){return s(),n.remove().then(function(){return i.remove()})},deploy:function(t){function r(n){_.assign(a,n)}function e(n){_.assign(o,n)}var a={},o={brandingCssVars:a};return r((e=>{var n=y.map(function(n){return n.key}).concat(u,l),a={};return _.keys(_.omit(e,n)).forEach(function(n){var t,r=e[n];_.isNumber(r)&&(t="px",/logo.*height/i.test(n)&&(t="%"),r="".concat(r).concat(t)),a[f(n)]=r}),a["navigator-font-family"]=d(a["navigator-font-family"]),a})(t)),e((n=>{var t,r={},e=(n.html_title&&(r.globalTitle=n.html_title),n["__import-font"]&&(t=n["__import-font"],r.extraCssUrls=[t]),_.pick(n,l));return e.cookieBannerDisabled&&l.forEach(function(n){e[n]=null}),r.cookieBanner=_.omit(e,"cookieBannerDisabled"),r})(t)),i.contextPath().then(function(n){return c=n,l=t,u=[],s={},f={},y.forEach(function(n){var t,r,e,a=n.key,o=n.cssVar,i=n.filename,n=n.option;l[a]&&(a=(n=>{for(var t=atob(n.split(",")[1]),n=_slicedToArray(n.split(",")[0].split(":")[1].split(";"),1)[0],r=new ArrayBuffer(t.length),e=new Uint8Array(r),a=0;a<t.length;a++)e[a]=t.charCodeAt(a);return new Blob([r],{type:n})})(l[a].fileSrc),e=a.type,t=_.find(["jpg","jpeg","svg","png","gif","webp","ico"],function(n){return new RegExp(n).test(e)}),r="?nocache=".concat(String(Math.random()).substr(2)),i="".concat(i,".").concat(t),o&&(s[o]="url(/apps/public/".concat(c,"/").concat(i).concat(r,")")),n&&(f[n]="/apps/public/".concat(c,"/").concat(i).concat(r)),u.push(p([a],i)))}),i.update(u).then(function(){return{cssVars:s,options:f}});var c,l,u,s,f}).then(function(n){var t=n.cssVars,n=n.options;r(t),e(n)}).then(function(){return n.save(o)}).then(s)},removeLegacyBrandedApplications:function(){return e.listByOwner().then(function(n){return n.filter(function(n){return n.manifest&&n.manifest.originalAppId&&n.manifest.originalActiveVersionId})}).then(function(n){return 0<n.length?t({status:"danger",title:o("Delete legacy branded applications"),body:o("Before applying new branding configuration, legacy branded applications must be deleted.")}).then(function(){return t=[],n.forEach(function(n){return t.push(e.remove(n))}),r.all(t);var t}).then(function(){return a.success(o("Legacy branded applications deleted."))},function(n){return a.danger(n)}):r.resolve()})}};function s(){window.localStorage.removeItem("OPTIONS")}function f(n){return c.cssVarMapping[n]||_.kebabCase(n)}function d(n){var t=c.fontFamilyCssVars;return"var(--".concat(t[n],")")}}n.$inject=["$q","c8yUiAssets","c8yPublicOptions","c8yApplication","c8yModal","c8yAlert","gettext","createFile","c8yBrandingMapping"],angular.module("c8y.custom-branding").factory("c8yBrandingDeploy",n)})();
@@ -1 +0,0 @@
1
- (()=>{function e(n,i,e,t,o,r){var a,c=this,s={generate:{title:e("Create applications"),flow:["beforeGenerate"],lastStep:"generateComplete",expectedDuration:120},preview:{title:e("Preview branding"),lastStep:"selectPreviewApp",init:function(){r.current().then(function(e){c.tenant=e.name}),t.preview().then(u)},flow:["waiting"],expectedDuration:15}};function l(){return t.state().then(u)}function u(e){var t=c.state;c.state=e,t&&t.RUNNING&&!e.RUNNING&&(0||(c.progress=100),i.cancel(c.fakeProgress),n(function(){return a.goTo(c.lastStep)},300)),t&&t.WAITING&&e.RUNNING&&(a.goTo("executing"),t=c.expectedDuration,t*=10,c.progress=0,c.fakeProgress=i(function(){c.progress+=1},t,100)),(e.RUNNING||e.WAITING)&&n(l,1e3)}_.assign(c,{$onInit:function(){var e=_.get(c,"resolve.process"),e=s[e];e&&(_.assign(c,_.pick(e,["title","lastStep","flow","expectedDuration"])),e.init)&&e.init();o.list().then(function(e){return _.filter(e,function(e){return"MARKET"===e.availability&&"management"===e.owner.tenant.id&&"HOSTED"===e.type&&!0===e.manifest._webpaas})}).then(function(e){c.applications=e})},generate:function(){a.goTo("waiting"),t.update().then(u)},setWizardController:function(e){a=e},$onDestroy:function(){i.cancel(c.fakeProgress)}})}e.$inject=["$timeout","$interval","gettext","c8yBrandingConfiguration","c8yApplication","c8yTenant"],angular.module("c8y.custom-branding").component("c8yBrandingProcessExecution",{templateUrl:":::PLUGIN_PATH:::/customBranding/brandingProcessExecution.html",controllerAs:"vm",controller:e,bindings:{modalInstance:"<",resolve:"<"}})})();
@@ -1,120 +0,0 @@
1
- <c8y-wizard
2
- on-dismiss="vm.modalInstance.dismiss()"
3
- on-close="vm.finishProcess(path)"
4
- get-controller="vm.setWizardController(controller)"
5
- initial-flow="vm.flow"
6
- >
7
- <header class="text-white">
8
- <div style="font-size: 62px;">
9
- <span c8y-icon="paint-brush"></span>
10
- </div>
11
- <h4 class="text-uppercase m-0"
12
- style="letter-spacing: 0.15em;"
13
- >
14
- {{ vm.title | translate }}
15
- </h4>
16
- </header>
17
-
18
- <steps>
19
- <c8y-wizard-step step-id="waiting">
20
- <div style="font-size:6em; opacity:0.5" class="text-center p-24">
21
- <span c8y-icon="spinner" class="icon-spin"></span>
22
- </div>
23
- </c8y-wizard-step>
24
-
25
- <c8y-wizard-step step-id="executing">
26
- <div style="padding:30px 20px">
27
- <p class="text-center">
28
- <strong translate>Process is being executed</strong>
29
- </p>
30
- <div class="progress">
31
- <div
32
- class="progress-bar active progress-bar-striped"
33
- role="progressbar"
34
- aria-valuenow="{{ vm.progress }}"
35
- aria-valuemin="0"
36
- aria-valuemax="100"
37
- style="min-width: 2em;"
38
- ng-style="{width: vm.progress + '%'}"
39
- >
40
- <span>{{ vm.progress | number: 0 }}%</span>
41
- </div>
42
- </div>
43
- </div>
44
- </c8y-wizard-step>
45
-
46
- <c8y-wizard-step step-id="selectPreviewApp">
47
- <p class="text-center p-8" translate>
48
- Select the application you would like to preview.
49
- </p>
50
-
51
- <div class="c8y-wizard-list-nav">
52
- <a
53
- class="list-group-item text-truncate"
54
- target="_new"
55
- ng-repeat="app in vm.applications"
56
- ng-href="/apps/{{ app.contextPath }}?preview=branding_{{ vm.tenant }}Branding"
57
- >
58
- <c8y-app-icon app="app" class="app-icon"></c8y-app-icon>
59
- <span ng-bind="app | humanizeAppName"></span>
60
- </a>
61
- </div>
62
-
63
- <div class="c8y-wizard-footer">
64
- <button
65
- title="{{ 'Close' | translate }}"
66
- class="btn btn-default"
67
- ng-click="vm.modalInstance.dismiss()"
68
- translate
69
- >
70
- Close
71
- </button>
72
- </div>
73
- </c8y-wizard-step>
74
-
75
- <c8y-wizard-step step-id="beforeGenerate">
76
- <p class="text-center p-8" translate>
77
- You are about to create branded versions of standard applications. This process takes up to 2 minutes.
78
- </p>
79
- <div class="c8y-wizard-footer">
80
- <button
81
- title="{{ 'Close' | translate }}"
82
- class="btn btn-default"
83
- ng-click="vm.modalInstance.dismiss()"
84
- translate
85
- >
86
- Close
87
- </button>
88
- <button
89
- title="{{ 'Create' | translate }}"
90
- class="btn btn-default"
91
- ng-click="vm.generate()"
92
- translate
93
- >
94
- Create
95
- </button>
96
- </div>
97
- </c8y-wizard-step>
98
-
99
- <c8y-wizard-step step-id="generateComplete">
100
- <div class="text-center text-success p-16"
101
- style="font-size:6em; opacity:0.5"
102
- >
103
- <span c8y-icon="check-circle-o"></span>
104
- </div>
105
- <p class="text-center p-8" translate>
106
- Standard applications created.
107
- </p>
108
- <div class="c8y-wizard-footer">
109
- <button
110
- title="{{ 'Done' | translate }}"
111
- class="btn btn-default"
112
- ng-click="vm.modalInstance.dismiss()"
113
- translate
114
- >
115
- Done
116
- </button>
117
- </div>
118
- </c8y-wizard-step>
119
- </steps>
120
- </c8y-wizard>
@@ -1 +0,0 @@
1
- angular.module("c8y.custom-branding",["c8y.ui-assets"]);
@@ -1 +0,0 @@
1
- (()=>{var _;try{_=!__WEBPACK__}catch(a){_=!1}angular.module("c8y.custom-branding").value("USE_BRANDING_MICROSERVICE",_)})();
@@ -1 +0,0 @@
1
- angular.module("c8y.ui-assets",[]);
@@ -1 +0,0 @@
1
- (()=>{function n(n,t,i,o){var e="public-options";return{save:function(t){var e=r();return c().then(function(n){n=Object.assign(n,t),n=[(n=>(n=JSON.stringify(n),n=new Blob([n],{type:"application/json"}),o([n],"options.json")))(_.pickBy(n,function(n){return!_.isEmpty(n)}))];return i.update(e,n)})},read:c,remove:function(){var n=r();return i.remove(n)}};function r(){var n=e;return{name:n,contextPath:n,description:t("Application containing public options used by branding."),key:"".concat(n,"-key"),type:"HOSTED",manifest:{noAppSwitcher:!0}}}function c(){return n.get("/apps/public/".concat(e,"/options.json"),{silentError:!0}).then(function(n){return n.data},function(){return{}})}}n.$inject=["$http","gettext","c8yStaticAssets","createFile"],angular.module("c8y.ui-assets").factory("c8yPublicOptions",n)})();
@@ -1 +0,0 @@
1
- (()=>{function n(e,r,i,u,c){var a=function(t){return function(){var n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];return r.zipFiles(n).then(function(n){return c([n],"static-assets.zip")})}(1<arguments.length&&void 0!==arguments[1]?arguments[1]:[]).then(function(n){return u.uploadArchive(t,n).then(function(n){return n.data})}).then(function(n){return u.setActiveArchive(t,n)})};return{get:o,update:function(n,t){return o(n).then(function(n){return a(n,t)})},remove:function(t){return u.listByOwner().then(function(n){n=_.find(n,_.pick(t,["contextPath"]));return n&&u.remove(n)})}};function o(n){return u.listByOwner().then((t=n,function(n){return _.find(n,_.pick(t,["contextPath"]))||(n=t,e.all({currentTenant:i.current(),newApp:u.create(n).then(function(n){return n.data})}).then(function(n){var t=n.newApp;return i.addApplication({id:n.currentTenant.name},t).then(function(){return t})}))}));var t}}n.$inject=["$q","c8yZip","c8yTenant","c8yApplication","createFile"],angular.module("c8y.ui-assets").factory("c8yStaticAssets",n)})();
@@ -1 +0,0 @@
1
- (()=>{function t(n,t,e){return{contextPath:c,update:function(n){return r().then(function(t){return e.update(t,n)})},remove:function(){return r().then(function(t){return e.remove(t)})}};function c(){return t.current().then(function(t){return"ui-assets-".concat(t.name)})}function r(){return c().then(function(t){return{name:t,contextPath:t,description:n("Application containing static assets used by branding."),key:"".concat(t,"-key"),type:"HOSTED",manifest:{noAppSwitcher:!0}}})}}t.$inject=["gettext","c8yTenant","c8yStaticAssets"],angular.module("c8y.ui-assets").factory("c8yUiAssets",t)})();
@@ -1 +0,0 @@
1
- (()=>{function e(t,n,o,r,i,e,a,c,s,u){var l=this;function f(){e.current(!0).then(function(e){t.hasEmail=!!e.email,l.hasEmail=t.hasEmail,e.email||a.info(s("Provide your email address in the user settings to use the export functionality."))}),t.canScheduleExport=n.has("smartRulesSvc"),o.list().then(g)}function g(e){t.rows=_(e).sortBy("name").map(function(e){return{config:e,selected:!1}}).value(),t.paging=e.paging}function p(){return _(t.rows).filter("selected").map("config").flatten().value()}_.assign(l,{getSelectedConfigs:p}),_.assign(t,{rows:[],add:function(){i.path("/export/new")},detail:function(e){i.path("/export/".concat(e.id))},clone:function(e){i.path("/export/".concat(e.id,"/clone"))},remove:function(e){c({title:s("Delete configuration"),body:u.getString('You are about to delete the configuration "{{name}}". Do you want to proceed?',e),status:"danger",size:"sm",labels:{ok:s("Delete")}}).then(function(){return o.remove(e)}).then(f)},runExport:function(){var e=t.getSelectedConfigs();return r.requestExport(_.map(e,"id")).then(function(){a.success(s("Export request accepted, you will receive an email."))})},getSelectedConfigs:p,refresh:function(){t.paging.refresh().then(g)},scheduleExport:function(e){var t=n.get("smartRulesSvc");return o.getSmartRuleDefaults(e).then(function(e){return t.createInstanceWithUIByName("sendExportViaEmail",e)})}}),f()}e.$inject=["$scope","$injector","exportConfig","exportService","$location","c8yUser","c8yAlert","c8yModal","gettext","gettextCatalog"],angular.module("c8y.cockpit.export").controller("exportListCtrl",e)})();
@@ -1,298 +0,0 @@
1
- <div data-ng-controller="exportListCtrl as vm">
2
- <c8y-ui-title-set title="'Exports' | translate"></c8y-ui-title-set>
3
- <c8y-breadcrumbs-set>
4
- <c8y-breadcrumbs-item
5
- icon="c8y-report"
6
- label="{{ 'Exports' | translate }}"
7
- ></c8y-breadcrumbs-item>
8
- <c8y-breadcrumbs-item
9
- icon="c8y-tools"
10
- label="{{ 'Configuration' | translate }}"
11
- ></c8y-breadcrumbs-item>
12
- </c8y-breadcrumbs-set>
13
-
14
- <c8y-ui-action-bar-set>
15
- <button
16
- class="btn btn-link"
17
- title="{{ 'Export' | translate }}"
18
- type="button"
19
- ng-click="runExport()"
20
- ng-disabled="!vm.hasEmail || vm.getSelectedConfigs().length === 0"
21
- >
22
- <i c8y-icon="data-export"></i>
23
- {{ 'Export' | translate }}
24
- </button>
25
-
26
- <button
27
- class="btn btn-link"
28
- title="{{ 'Add export' | translate }}"
29
- type="button"
30
- data-ng-click="add()"
31
- >
32
- <i c8y-icon="plus-circle"></i>
33
- {{ 'Add export' | translate }}
34
- </button>
35
-
36
- <c8y-refresh-btn></c8y-refresh-btn>
37
- </c8y-ui-action-bar-set>
38
-
39
- <c8y-help src="/docs/cockpit/exports/#managing-exports"></c8y-help>
40
-
41
- <div class="c8y-list__group">
42
- <div
43
- class="page-sticky-header c8y-list__item hidden-xs"
44
- ng-if="rows.length > 0"
45
- >
46
- <div class="c8y-list__item__block">
47
- <div class="c8y-list__item__check">
48
- <button
49
- class="btn-help btn-help--sm"
50
- aria-label="{{ 'Help' | translate }}"
51
- type="button"
52
- uib-popover-html="'You will receive an email with the download links for the selected exports.' | translate"
53
- popover-append-to-body="true"
54
- popover-placement="right"
55
- popover-trigger="'focus'"
56
- ></button>
57
- </div>
58
- <div class="c8y-list__item__icon">
59
- <i class="p-l-8"></i>
60
- </div>
61
-
62
- <div class="c8y-list__item__body">
63
- <div class="content-flex-60">
64
- <div class="col-4">
65
- {{ 'Name' | translate }}
66
- </div>
67
- <div class="col-4">
68
- {{ 'File type' | translate }}
69
- </div>
70
- <span class="col-4">
71
- {{ 'Time range' | translate }}
72
- </span>
73
- </div>
74
- </div>
75
- <div class="c8y-list__item--empty-actions"></div>
76
- </div>
77
- </div>
78
-
79
- <div
80
- class="c8y-list__item"
81
- ng-repeat="row in rows | orderBy:'config.name'"
82
- >
83
- <div class="c8y-list__item__block">
84
- <div class="c8y-list__item__check p-r-4">
85
- <label class="c8y-checkbox input-sm">
86
- <input
87
- title="{{ 'Select' | translate }}"
88
- id="select"
89
- type="checkbox"
90
- ng-model="row.selected"
91
- ng-change="updateOutput()"
92
- />
93
- <span></span>
94
- <span
95
- class="sr-only"
96
- for="select"
97
- translate
98
- >
99
- Select
100
- </span>
101
- </label>
102
- </div>
103
-
104
- <div
105
- class="c8y-list__item__icon"
106
- ng-click="detail(row.config)"
107
- >
108
- <i
109
- class="p-l-0"
110
- ng-class="{
111
- 'dlt-c8y-icon-file-text-o': row.config.exportType === 'csv',
112
- 'dlt-c8y-icon-file-excel-o': row.config.exportType === 'vnd.ms-excel'
113
- }"
114
- title="{{
115
- row.config.exportType === 'csv'
116
- ? 'CSV file'
117
- : row.config.exportType === 'vnd.ms-excel'
118
- ? 'XLS file'
119
- : ''
120
- }}"
121
- ></i>
122
- </div>
123
-
124
- <div
125
- class="c8y-list__item__body"
126
- ng-click="detail(row.config)"
127
- >
128
- <div class="content-flex-60">
129
- <div class="col-4">
130
- <span title="{{ row.config.name }}">
131
- {{ row.config.name }}
132
- </span>
133
- </div>
134
- <div class="col-4">
135
- <span
136
- title="{{
137
- row.config.exportType === 'csv'
138
- ? 'CSV'
139
- : row.config.exportType === 'vnd.ms-excel'
140
- ? 'XLS'
141
- : ''
142
- }}"
143
- >
144
- {{
145
- row.config.exportType === 'csv'
146
- ? 'CSV'
147
- : row.config.exportType === 'vnd.ms-excel'
148
- ? 'XLS'
149
- : ''
150
- }}
151
- </span>
152
- </div>
153
- <div class="col-4">
154
- <span ng-show="::row.config.queryParameters.dateType == 'LAST_24HOURS'">
155
- <i
156
- class="m-r-4"
157
- c8y-icon="calendar"
158
- ></i>
159
- <translate>Last 24 hours</translate>
160
- </span>
161
- <span ng-show="::row.config.queryParameters.dateType == 'LAST_7DAYS'">
162
- <i
163
- class="m-r-4"
164
- c8y-icon="calendar"
165
- ></i>
166
- <translate>Last 7 days</translate>
167
- </span>
168
- <span ng-show="::row.config.queryParameters.dateType == 'LAST_30DAYS'">
169
- <i
170
- class="m-r-4"
171
- c8y-icon="calendar"
172
- ></i>
173
- <translate>Last 30 days</translate>
174
- </span>
175
- <span ng-show="::row.config.queryParameters.dateType == 'LAST_WEEK'">
176
- <i
177
- class="m-r-4"
178
- c8y-icon="calendar"
179
- ></i>
180
- <translate>Last week</translate>
181
- </span>
182
- <span ng-show="::row.config.queryParameters.dateType == 'LAST_MONTH'">
183
- <i
184
- class="m-r-4"
185
- c8y-icon="calendar"
186
- ></i>
187
- <translate>Last month</translate>
188
- </span>
189
- <span ng-show="::row.config.queryParameters.dateType == 'LAST_YEAR'">
190
- <i
191
- class="m-r-4"
192
- c8y-icon="calendar"
193
- ></i>
194
- <translate>Last year</translate>
195
- </span>
196
- <span ng-show="::row.config.queryParameters.dateType == 'CUSTOM'">
197
- <i
198
- class="m-r-4"
199
- c8y-icon="calendar"
200
- ></i>
201
- <span ng-show="::row.config.queryParameters.from">
202
- <label class="text-label-small">{{ 'From`date`' | translate }}</label>
203
- {{ row.config.queryParameters.from | absoluteDate }} &nbsp;
204
- </span>
205
- <span ng-show="::row.config.queryParameters.to">
206
- <label class="text-label-small">{{ 'To`date`' | translate }}</label>
207
- {{ row.config.queryParameters.to | absoluteDate }}
208
- </span>
209
- </span>
210
- </div>
211
- </div>
212
- </div>
213
-
214
- <div class="c8y-list__item__actions">
215
- <div
216
- uib-dropdown
217
- is-open="menuOpen"
218
- >
219
- <button
220
- class="dropdown-toggle c8y-dropdown"
221
- title="{{ 'Actions' | translate }}"
222
- aria-haspopup="true"
223
- type="button"
224
- uib-dropdown-toggle
225
- data-cy="Actions"
226
- >
227
- <i c8y-icon="ellipsis-v"></i>
228
- </button>
229
- <ul
230
- class="dropdown-menu dropdown-menu-right"
231
- uib-dropdown-menu
232
- >
233
- <li>
234
- <button
235
- title="{{ 'Edit' | translate }}"
236
- type="button"
237
- data-cy="Edit"
238
- ng-click="detail(row.config)"
239
- >
240
- <i c8y-icon="pencil"></i>
241
- {{ 'Edit' | translate }}
242
- </button>
243
- </li>
244
- <li>
245
- <button
246
- title="{{ 'Duplicate' | translate }}"
247
- type="button"
248
- data-cy="Duplicate"
249
- ng-click="clone(row.config)"
250
- >
251
- <i c8y-icon="clone"></i>
252
- {{ 'Duplicate' | translate }}
253
- </button>
254
- </li>
255
- <li>
256
- <button
257
- title="{{ 'Delete' | translate }}"
258
- type="button"
259
- data-cy="Delete"
260
- ng-click="remove(row.config)"
261
- >
262
- <i c8y-icon="delete"></i>
263
- {{ 'Delete' | translate }}
264
- </button>
265
- </li>
266
- </ul>
267
- </div>
268
- </div>
269
- </div>
270
- </div>
271
- </div>
272
-
273
- <!-- Empty state -->
274
- <c8y-ui-empty-state
275
- [icon]="'graph-report'"
276
- [title]="'No exports to display.' | translate"
277
- [subtitle]="'Add your first export using the button below.' | translate"
278
- ng-if="rows.length === 0"
279
- >
280
- <p>
281
- <button
282
- class="btn btn-primary"
283
- title="{{ 'Add export' | translate }}"
284
- type="button"
285
- data-ng-click="add()"
286
- >
287
- {{ 'Add export' | translate }}
288
- </button>
289
- </p>
290
- <p c8y-guide-docs>
291
- <small translate>
292
- Find out more in the
293
- <a c8y-guide-href="/docs/cockpit/managing-exports">user documentation</a>
294
- .
295
- </small>
296
- </p>
297
- </c8y-ui-empty-state>
298
- </div>
@@ -1 +0,0 @@
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!")}}