@c8y/ng1-modules 1023.77.1 → 1023.78.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.
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "Navigationseintrag „Gruppen“, der die Navigation durch die Asset-Hierarchie ermöglicht."
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "Der \"Besitznachweis\" ist eine Sicherheitsmethode, mit der nachgewiesen werden kann, dass derjenige, der eine Nachricht sendet, auch im Besitz des jeweiligen kryptografischen Schlüssels ist."
23
20
 
@@ -2228,9 +2225,6 @@ msgstr "Vermögenswert: {{assetName}}\n"
2228
2225
  msgid "Assets and groups only"
2229
2226
  msgstr "Nur Assets und Gruppen"
2230
2227
 
2231
- msgid "Assets navigator"
2232
- msgstr "Asset-Navigator"
2233
-
2234
2228
  msgid "Assign"
2235
2229
  msgstr "Zuweisen"
2236
2230
 
@@ -6892,9 +6886,9 @@ msgstr "Geben Sie die ersten Zeichen einer Geräte-ID oder eines Gerätenamens e
6892
6886
  msgid "Enter the device name and click\n"
6893
6887
  " <strong>Next</strong>\n"
6894
6888
  " ."
6895
- msgstr "Geben Sie den Gerätenamen ein und klicken Sie auf „\n"
6896
- " “ ( <strong>Weiter</strong> ) und dann auf „\n"
6897
- " “ (Weiter)."
6889
+ msgstr "Geben Sie den Gerätenamen ein und klicken Sie auf\n"
6890
+ " <strong>Weiter</strong>\n"
6891
+ " ."
6898
6892
 
6899
6893
  msgid "Enter the following code\n"
6900
6894
  " <code>{{ vm.code }}</code>\n"
@@ -19147,6 +19141,9 @@ msgstr "Bewegungsalarm"
19147
19141
  msgid "Vibration detector"
19148
19142
  msgstr "Vibrationssensor"
19149
19143
 
19144
+ msgid "View"
19145
+ msgstr "Anzeige"
19146
+
19150
19147
  msgid "View history"
19151
19148
  msgstr "Historie ansehen"
19152
19149
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "Entrada de navegación «Grupos», que permite navegar por la jerarquía de activos."
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "\"Justificante de posesión\" es un método de seguridad para comprobar si la persona que envía un mensaje posee una clave criptográfica determinada."
23
20
 
@@ -2234,9 +2231,6 @@ msgstr "Activo: {{assetName}}\n"
2234
2231
  msgid "Assets and groups only"
2235
2232
  msgstr "Solo activos y grupos"
2236
2233
 
2237
- msgid "Assets navigator"
2238
- msgstr "Navegador de activos"
2239
-
2240
2234
  msgid "Assign"
2241
2235
  msgstr "Asignar"
2242
2236
 
@@ -19149,6 +19143,9 @@ msgstr "Alarma de vibración"
19149
19143
  msgid "Vibration detector"
19150
19144
  msgstr "Detector de la vibración"
19151
19145
 
19146
+ msgid "View"
19147
+ msgstr "Mostrar"
19148
+
19152
19149
  msgid "View history"
19153
19150
  msgstr "Ver historial"
19154
19151
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "Entrée de navigation « Groupes », permettant de naviguer dans la hiérarchie des actifs."
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "\"Preuve de possession\" est une méthode de sécurité utilisée pour prouver que la personne ayant émis un message est également en possession d'une clé cryptographique particulière."
23
20
 
@@ -2234,9 +2231,6 @@ msgstr "Actif : {{assetName}}\n"
2234
2231
  msgid "Assets and groups only"
2235
2232
  msgstr "Actifs et groupes uniquement"
2236
2233
 
2237
- msgid "Assets navigator"
2238
- msgstr "Navigateur d'actifs"
2239
-
2240
2234
  msgid "Assign"
2241
2235
  msgstr "Affecter"
2242
2236
 
@@ -19166,6 +19160,9 @@ msgstr "Alarme de vibration"
19166
19160
  msgid "Vibration detector"
19167
19161
  msgstr "Détecteur de vibration"
19168
19162
 
19163
+ msgid "View"
19164
+ msgstr "Afficher"
19165
+
19169
19166
  msgid "View history"
19170
19167
  msgstr "Afficher l'historique"
19171
19168
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "[グループ] ナビゲーション エントリによってアセット階層を移動できます。"
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "\"所有証明\" は、メッセージを送信するユーザーが、特定の暗号キーを所有していることを証明するために使用されるセキュリティメソッドです。"
23
20
 
@@ -2193,9 +2190,6 @@ msgstr ""
2193
2190
  msgid "Assets and groups only"
2194
2191
  msgstr "アセットとグループのみ"
2195
2192
 
2196
- msgid "Assets navigator"
2197
- msgstr "アセット ナビゲーター"
2198
-
2199
2193
  msgid "Assign"
2200
2194
  msgstr "割り当てる"
2201
2195
 
@@ -19026,6 +19020,9 @@ msgstr "振動アラーム"
19026
19020
  msgid "Vibration detector"
19027
19021
  msgstr "振動検出器"
19028
19022
 
19023
+ msgid "View"
19024
+ msgstr "表示"
19025
+
19029
19026
  msgid "View history"
19030
19027
  msgstr "履歴の表示"
19031
19028
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "\"그룹\" 탐색 항목으로, 자산 계층 구조를 탐색할 수 있습니다."
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "\"소유 증명\" 은 메시지를 보내는 누구나 특정 암호화 키를 소유한다는 것을 증명하는 보안 방법입니다."
23
20
 
@@ -2212,9 +2209,6 @@ msgstr "자산: {{assetName}}\n"
2212
2209
  msgid "Assets and groups only"
2213
2210
  msgstr "자산 및 그룹만"
2214
2211
 
2215
- msgid "Assets navigator"
2216
- msgstr "자산 탐색기"
2217
-
2218
2212
  msgid "Assign"
2219
2213
  msgstr "할당"
2220
2214
 
@@ -19132,6 +19126,9 @@ msgstr "진동 알람"
19132
19126
  msgid "Vibration detector"
19133
19127
  msgstr "진동 감지기"
19134
19128
 
19129
+ msgid "View"
19130
+ msgstr "보기"
19131
+
19135
19132
  msgid "View history"
19136
19133
  msgstr "내역 보기"
19137
19134
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "Navigatie-item \"Groepen\", waarmee door de hiërarchie van Assets kan worden genavigeerd."
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "\"Bewijs van bezit\" is een beveiligingsmethode die wordt gebruikt om te bewijzen dat degene die een bericht verzendt ook in het bezit is van de desbetreffende cryptografische sleutel."
23
20
 
@@ -2235,9 +2232,6 @@ msgstr "Asset: {{assetName}}\n"
2235
2232
  msgid "Assets and groups only"
2236
2233
  msgstr "Alleen Assets en groepen"
2237
2234
 
2238
- msgid "Assets navigator"
2239
- msgstr "Assetnavigator"
2240
-
2241
2235
  msgid "Assign"
2242
2236
  msgstr "Toewijzen"
2243
2237
 
@@ -19165,6 +19159,9 @@ msgstr "Trillingsalarm"
19165
19159
  msgid "Vibration detector"
19166
19160
  msgstr "Trillingsdetector"
19167
19161
 
19162
+ msgid "View"
19163
+ msgstr "Weergave"
19164
+
19168
19165
  msgid "View history"
19169
19166
  msgstr "Geschiedenis bekijken"
19170
19167
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "Pozycja nawigacyjna „Grupy”, umożliwiająca poruszanie się po hierarchii zasobów."
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "„Dowód posiadania” to metoda zabezpieczeń używana w celu potwierdzenia, że osoba, która wysyła komunikat, jest również w posiadaniu określonego klucza kryptograficznego."
23
20
 
@@ -2274,9 +2271,6 @@ msgstr "Zasób: {{assetName}}\n"
2274
2271
  msgid "Assets and groups only"
2275
2272
  msgstr "Tylko zasoby i grupy"
2276
2273
 
2277
- msgid "Assets navigator"
2278
- msgstr "Nawigator aktywów"
2279
-
2280
2274
  msgid "Assign"
2281
2275
  msgstr "Przypisz"
2282
2276
 
@@ -19214,6 +19208,9 @@ msgstr "Alarm dotyczący wibracji"
19214
19208
  msgid "Vibration detector"
19215
19209
  msgstr "Detektor drgań"
19216
19210
 
19211
+ msgid "View"
19212
+ msgstr "Wyświetl"
19213
+
19217
19214
  msgid "View history"
19218
19215
  msgstr "Wyświetl historię"
19219
19216
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "Entrada de navegação \"Grupos\", permitindo navegar pela hierarquia de ativos."
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "\"Prova de posse\" é um método de segurança usado para provar que quem envia uma mensagem também está na posse da chave criptográfica específica."
23
20
 
@@ -2236,9 +2233,6 @@ msgstr "Ativo: {{assetName}}\n"
2236
2233
  msgid "Assets and groups only"
2237
2234
  msgstr "Apenas ativos e grupos"
2238
2235
 
2239
- msgid "Assets navigator"
2240
- msgstr "Navegador de ativos"
2241
-
2242
2236
  msgid "Assign"
2243
2237
  msgstr "Atribuir"
2244
2238
 
@@ -19163,6 +19157,9 @@ msgstr "Alarme de vibração"
19163
19157
  msgid "Vibration detector"
19164
19158
  msgstr "Detetor de vibrações"
19165
19159
 
19160
+ msgid "View"
19161
+ msgstr "Modo de exibição"
19162
+
19166
19163
  msgid "View history"
19167
19164
  msgstr "Ver histórico"
19168
19165
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "\"组\"导航条目,用于在资产层次结构中进行导航。"
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "“拥有证明”是一种安全方法,用于证明发送消息的任何人员也拥有特定的加密密钥。"
23
20
 
@@ -2217,9 +2214,6 @@ msgstr "资产: {{assetName}}\n"
2217
2214
  msgid "Assets and groups only"
2218
2215
  msgstr "仅限资产和组"
2219
2216
 
2220
- msgid "Assets navigator"
2221
- msgstr "资产导航器"
2222
-
2223
2217
  msgid "Assign"
2224
2218
  msgstr "分配"
2225
2219
 
@@ -19140,6 +19134,9 @@ msgstr "振动警报"
19140
19134
  msgid "Vibration detector"
19141
19135
  msgstr "振动探测器"
19142
19136
 
19137
+ msgid "View"
19138
+ msgstr "查看"
19139
+
19143
19140
  msgid "View history"
19144
19141
  msgstr "查看历史记录"
19145
19142
 
@@ -15,9 +15,6 @@ msgstr ""
15
15
  "X-Crowdin-File: /release.cd/locales.pot\n"
16
16
  "X-Crowdin-File-ID: 54\n"
17
17
 
18
- msgid "\"Groups\" navigation entry, allowing to navigate through asset hierarchy."
19
- msgstr "「群組」導覽項目,可透過资产层级进行导览。"
20
-
21
18
  msgid "\"Proof of possession\" is a security method used to prove that whoever sends a message is also in the possession of the particular cryptographic key."
22
19
  msgstr "“拥有证明”是一种安全方法,用于证明发送消息的任何人员也拥有特定的加密密钥。"
23
20
 
@@ -2217,9 +2214,6 @@ msgstr "资产: {{assetName}}\n"
2217
2214
  msgid "Assets and groups only"
2218
2215
  msgstr "资产與群組"
2219
2216
 
2220
- msgid "Assets navigator"
2221
- msgstr "资产导航器"
2222
-
2223
2217
  msgid "Assign"
2224
2218
  msgstr "分配"
2225
2219
 
@@ -19136,6 +19130,9 @@ msgstr "振动警报"
19136
19130
  msgid "Vibration detector"
19137
19131
  msgstr "振动探测器"
19138
19132
 
19133
+ msgid "View"
19134
+ msgstr "檢視"
19135
+
19139
19136
  msgid "View history"
19140
19137
  msgstr "查看历史记录"
19141
19138
 
@@ -1 +1 @@
1
- (()=>{function e(n,t,e,i,o,c,r,a,s,l,u,d){var f,g,p,h="exportForm",v={required:s("This field is required."),maxlength:s("Up to 120 characters allowed.")},m=!0,x=!0,y=!1,S=!1;function w(e){n.config=i.create(e),n.filters=i.getFilters(n.config,f&&!g),n.apis=i.getApis(n.config),i.getSmartRuleDefaults(e).then(function(e){n.smartRuleDefaults=e}),f?g?(n.isNew=!0,x=!1,C(l.getString("Duplicate of {{name}}",n.config))):C(n.config.name):(n.isNew=!0,x=!1,C(s("New export"))),n.$watch("apis",function(e,t){_.isEqual(e,t)||n[h].$setDirty()},!0),n.$watch("config.c8y_ScheduleConfiguration",function(e,t){_.isEqual(e,t)||(n[h].$setDirty(),n.needsReschedule=!0)},!0)}function R(){return g&&delete n.config.id,n.config.apiList=[],n.config.queryParameters={},_.forEach(n.filters,function(e){e.onSave(n.config)}),_.forEach(n.apis,function(e){e.onSave(n.config)}),i.save(n.config).then(function(e){return n.needsReschedule&&d.reschedule(e.id).then(function(){n.needsReschedule=!1}),e})}function C(e){c.changeTitle({title:e})}function $(){return!_.some(n.apis,"enabled")}function E(){var e;e="".concat(l.getString("Migrating export schedules…")," ").concat('<div class="c8y-rectangle-spinner spinner-inline"><div class="spinner"><div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div><div class="rect5"></div></div></div>',' <p class="text-normal">').concat(l.getString("Migrating export schedules to the new user interface. Do not close the browser window until the process has been completed."),"</p>"),p={text:e,allowHtml:!0,type:"info"},r.add(p),y=!0,u.convertToSchedules(f).then(function(){b(!0)}).catch(function(){b(!1)})}function b(e){var t;y=!1,e?(x=!(m=!(S=!1)),t="".concat(l.getString("Migration complete."),' <p class="text-normal">').concat(l.getString("Smart rule type export schedules were automatically migrated to the new user interface."),"</p>"),a(function(){r.update(p,{text:t,type:"success"})},3e3)):a(function(){r.update(p,{text:s("Export schedules migration failed. Reload to try again."),type:"danger"})},3e3)}_.assign(n,{invalid:o.invalid.bind(o,n,h),validationHints:function(e){return o.validationHints(n[h][e],v)},saveStay:function(){return R().then(function(e){t.path("/export/".concat(e.id))}).then(function(){r.success(s("Configuration saved."))})},saveClose:function(){return R().then(function(){t.path("/export")})},cancel:function(){t.path("/export")},onSelectionChanged:function(e){e.enabled=!0},smartRulesFilter:{ruleTemplateName:"sendExportViaEmail"},reloadSmartRulesList:function(){n.$broadcast("smartRulesListReload")},shouldShowSchedules:function(){return m},migrate:E,onRules:function(e){e&&Array.isArray(e)&&e.length?(S=!(m=!1),E()):x=!1},shouldShowSmartRules:function(){return x},isMigratingWarning:function(){return S&&!y},isMigratingInProgress:function(){return y},disableEditAndCreate:!0,updateSchedules:function(e){n.config.c8y_ScheduleConfiguration=e}}),f=e.exportId,g=!!e.clone,f="new"===f?void 0:f,n.exportTypes=i.getFileTypes(),n.config=i.create(),n.isNoApiChecked=$,n.needsReschedule=!1,f?i.detail(f).then(w):w()}e.$inject=["$scope","$location","$routeParams","exportConfig","c8yBase","c8yTitle","c8yAlert","$timeout","gettext","gettextCatalog","exportService","c8yReportsService"],angular.module("c8y.cockpit.export").controller("exportConfigDetailCtrl",e)})();
1
+ (()=>{function e(n,t,e,i,o,c,a,r,s,l,u,d,f){var g,p,h,v="exportForm",m={required:s("This field is required."),maxlength:s("Up to 120 characters allowed.")},x=!0,y=!0,E=!1,R=!1;function S(e){n.config=i.create(e),n.filters=i.getFilters(n.config,g&&!p),n.apis=i.getApis(n.config),i.getSmartRuleDefaults(e).then(function(e){n.smartRuleDefaults=e}),g?p?(n.isNew=!0,y=!1,A(l.getString("Duplicate of {{name}}",n.config))):A(n.config.name):(n.isNew=!0,y=!1,A(s("New export"))),n.$watch("apis",function(e,t){_.isEqual(e,t)||n[v].$setDirty()},!0),n.$watch("config.c8y_ScheduleConfiguration",function(e,t){_.isEqual(e,t)||(n[v].$setDirty(),n.needsReschedule=!0)},!0)}function w(){return p&&delete n.config.id,n.config.apiList=[],n.config.queryParameters={},_.forEach(n.filters,function(e){e.onSave(n.config)}),_.forEach(n.apis,function(e){e.onSave(n.config)}),i.save(n.config).then(function(e){return n.needsReschedule&&d.reschedule(e.id).then(function(){n.needsReschedule=!1}),e})}function A(e){c.changeTitle({title:e})}function C(){return!_.some(n.apis,"enabled")}function N(){var e;e="".concat(l.getString("Migrating export schedules…")," ").concat('<div class="c8y-rectangle-spinner spinner-inline"><div class="spinner"><div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div><div class="rect5"></div></div></div>',' <p class="text-normal">').concat(l.getString("Migrating export schedules to the new user interface. Do not close the browser window until the process has been completed."),"</p>"),h={text:e,allowHtml:!0,type:"info"},a.add(h),E=!0,u.convertToSchedules(g).then(function(){T(!0)}).catch(function(){T(!1)})}function T(e){var t;E=!1,e?(y=!(x=!(R=!1)),t="".concat(l.getString("Migration complete."),' <p class="text-normal">').concat(l.getString("Smart rule type export schedules were automatically migrated to the new user interface."),"</p>"),r(function(){a.update(h,{text:t,type:"success"})},3e3)):r(function(){a.update(h,{text:s("Export schedules migration failed. Reload to try again."),type:"danger"})},3e3)}_.assign(n,{invalid:o.invalid.bind(o,n,v),validationHints:function(e){return o.validationHints(n[v][e],m)},saveStay:function(){return w().then(function(e){t.path("/export/".concat(e.id))}).then(function(){a.success(s("Configuration saved."))})},saveClose:function(){return w().then(function(){t.path("/export")})},cancel:function(){t.path("/export")},onSelectionChanged:function(e){e.enabled=!0},smartRulesFilter:{ruleTemplateName:"sendExportViaEmail"},reloadSmartRulesList:function(){n.$broadcast("smartRulesListReload")},shouldShowSchedules:function(){return x},migrate:N,onRules:function(e){e&&Array.isArray(e)&&e.length?(R=!(x=!1),N()):y=!1},shouldShowSmartRules:function(){return y},isMigratingWarning:function(){return R&&!E},isMigratingInProgress:function(){return E},disableEditAndCreate:!0,updateSchedules:function(e){n.config.c8y_ScheduleConfiguration=e}}),g=e.exportId,p=!!e.clone,g="new"===g?void 0:g,n.exportTypes=i.getFileTypes(),n.config=i.create(),n.isNoApiChecked=C,n.needsReschedule=!1,n.canManageExports=!1,f.hasAnyRole(["ROLE_INVENTORY_CREATE","ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"]).then(function(e){n.canManageExports=e}),g?i.detail(g).then(S):S()}e.$inject=["$scope","$location","$routeParams","exportConfig","c8yBase","c8yTitle","c8yAlert","$timeout","gettext","gettextCatalog","exportService","c8yReportsService","c8yPermissions"],angular.module("c8y.cockpit.export").controller("exportConfigDetailCtrl",e)})();
@@ -1,17 +1,20 @@
1
1
  <div ng-controller="exportConfigDetailCtrl">
2
2
  <c8y-breadcrumbs-set>
3
3
  <c8y-breadcrumbs-item
4
+ icon="c8y-report"
4
5
  path="#export"
5
6
  label="{{ 'Exports' | translate }}"
6
- icon="c8y-report"
7
7
  ></c8y-breadcrumbs-item>
8
8
  <c8y-breadcrumbs-item
9
- label="{{ 'Configuration' | translate }}"
10
9
  icon="c8y-tools"
10
+ label="{{ 'Configuration' | translate }}"
11
11
  ></c8y-breadcrumbs-item>
12
12
  </c8y-breadcrumbs-set>
13
13
 
14
- <form name="exportForm" novalidate>
14
+ <form
15
+ name="exportForm"
16
+ novalidate
17
+ >
15
18
  <div class="row">
16
19
  <div class="col-md-10 col-xs-12">
17
20
  <div class="card card--fullpage">
@@ -22,30 +25,39 @@
22
25
  </div>
23
26
  <div class="inner-scroll">
24
27
  <div class="card-block overflow-visible">
25
- <div class="form-group" ng-class="{ 'has-error': invalid('name') }">
28
+ <div
29
+ class="form-group"
30
+ ng-class="{ 'has-error': invalid('name') }"
31
+ >
26
32
  <input
27
- type="text"
28
- name="name"
29
33
  class="form-control"
30
- ng-model="config.name"
31
- ng-maxlength="120"
32
34
  placeholder="{{ 'e.g. My export' | translate }}"
35
+ name="name"
36
+ type="text"
33
37
  required
38
+ ng-model="config.name"
39
+ ng-maxlength="120"
34
40
  />
35
- <div class="c8y-messages" ng-if="invalid('name')">
41
+ <div
42
+ class="c8y-messages"
43
+ ng-if="invalid('name')"
44
+ >
36
45
  <small class="form-control-feedback-message">
37
46
  {{ validationHints('name') | translate }}
38
47
  </small>
39
48
  </div>
40
49
  </div>
41
50
 
42
- <div class="form-group" ng-class="{ 'has-error': invalid('exportType') }">
51
+ <div
52
+ class="form-group"
53
+ ng-class="{ 'has-error': invalid('exportType') }"
54
+ >
43
55
  <label>{{ 'File type' | translate }} *</label>
44
56
  <div>
45
57
  <label
58
+ class="fileType c8y-radio radio-inline m-r-16"
46
59
  title="{{ option.name | translate }}"
47
60
  ng-repeat="option in exportTypes"
48
- class="fileType c8y-radio radio-inline m-r-16"
49
61
  >
50
62
  <input
51
63
  id="optionName"
@@ -55,19 +67,22 @@
55
67
  />
56
68
  <span></span>
57
69
  <span
58
- for="optionName"
59
70
  class="dlt-c8y-icon m-r-4"
60
71
  ng-class="{
61
72
  'dlt-c8y-icon-file-text-o': option.type === 'csv',
62
73
  'dlt-c8y-icon-file-excel-o': option.type === 'vnd.ms-excel'
63
74
  }"
75
+ for="optionName"
64
76
  ></span>
65
77
  {{ option.name | translate }}
66
78
  </label>
67
79
  </div>
68
80
  </div>
69
81
 
70
- <div class="p-b-16" ng-if="shouldShowSmartRules()">
82
+ <div
83
+ class="p-b-16"
84
+ ng-if="shouldShowSmartRules()"
85
+ >
71
86
  <div class="legend form-block">
72
87
  {{ 'Scheduled exports' | translate }}
73
88
  <span>
@@ -75,8 +90,14 @@
75
90
  </span>
76
91
  </div>
77
92
 
78
- <div ng-if="config.id" class="p-relative">
79
- <div class="d-flex a-i-center" ng-if="isMigratingInProgress()">
93
+ <div
94
+ class="p-relative"
95
+ ng-if="config.id"
96
+ >
97
+ <div
98
+ class="d-flex a-i-center"
99
+ ng-if="isMigratingInProgress()"
100
+ >
80
101
  <c8y-loading></c8y-loading>
81
102
  </div>
82
103
  <smart-rules-list
@@ -88,12 +109,19 @@
88
109
  </div>
89
110
  </div>
90
111
 
91
- <div class="p-b-16" ng-if="shouldShowSchedules()">
112
+ <div
113
+ class="p-b-16"
114
+ ng-if="shouldShowSchedules()"
115
+ >
92
116
  <div class="legend form-block">
93
117
  {{ 'Scheduled exports' | translate }}
94
118
  </div>
95
119
 
96
- <div class="alert alert-info max-width-100" ng-if="!config.id" translate>
120
+ <div
121
+ class="alert alert-info max-width-100"
122
+ ng-if="!config.id"
123
+ translate
124
+ >
97
125
  You can add schedules once you saved export configuration.
98
126
  </div>
99
127
 
@@ -144,8 +172,8 @@
144
172
  {{ 'Fields' | translate }}
145
173
  <button
146
174
  class="btn-help btn-help--sm"
147
- type="button"
148
175
  aria-label="{{ 'Help' | translate }}"
176
+ type="button"
149
177
  uib-popover="{{
150
178
  'You will receive a CSV/Excel file for each selected type of data via email.'
151
179
  | translate
@@ -155,12 +183,18 @@
155
183
  ></button>
156
184
  </div>
157
185
 
158
- <div ng-if="isNoApiChecked()" class="alert alert-warning max-width-100">
186
+ <div
187
+ class="alert alert-warning max-width-100"
188
+ ng-if="isNoApiChecked()"
189
+ >
159
190
  <span translate>Select at least one data type for export.</span>
160
191
  </div>
161
192
 
162
193
  <div class="apiList">
163
- <div class="d-flex flex-wrap m-t-8 separator-bottom" ng-repeat="api in apis">
194
+ <div
195
+ class="d-flex flex-wrap m-t-8 separator-bottom"
196
+ ng-repeat="api in apis"
197
+ >
164
198
  <div class="col-sm-4 m-b-auto p-b-8">
165
199
  <div class="d-flex m-t-4 a-i-center">
166
200
  <label class="c8y-switch">
@@ -174,15 +208,25 @@
174
208
  <span></span>
175
209
  </label>
176
210
  <div ng-class="{ 'text-muted': !api.enabled }">
177
- <i c8y-icon="{{ api.icon }}" class="status icon-16"></i>
211
+ <i
212
+ class="status icon-16"
213
+ c8y-icon="{{ api.icon }}"
214
+ ></i>
178
215
  </div>
179
- <p for="apiLabel" ng-class="{ 'text-muted': !api.enabled }" class="m-l-8">
216
+ <p
217
+ ng-class="{ 'text-muted': !api.enabled }"
218
+ class="m-l-8"
219
+ for="apiLabel"
220
+ >
180
221
  {{ api.label | translate }}
181
222
  </p>
182
223
  </div>
183
224
  </div>
184
225
 
185
- <div class="apiListDetails col-sm-8 col-xs-12 m-b-auto" ng-show="api.enabled">
226
+ <div
227
+ class="apiListDetails col-sm-8 col-xs-12 m-b-auto"
228
+ ng-show="api.enabled"
229
+ >
186
230
  <div ng-include="':::PLUGIN_PATH:::/views/properties.html'"></div>
187
231
  </div>
188
232
  </div>
@@ -194,27 +238,27 @@
194
238
  <div class="col-md-8">
195
239
  <button
196
240
  class="btn btn-default"
197
- type="button"
198
241
  title="{{ 'Cancel' | translate }}"
242
+ type="button"
199
243
  ng-click="cancel()"
200
244
  >
201
245
  {{ 'Cancel' | translate }}
202
246
  </button>
203
247
  <button
204
248
  class="btn btn-primary"
205
- type="submit"
206
249
  title="{{ 'Save' | translate }}"
250
+ type="submit"
207
251
  ng-click="saveStay()"
208
- ng-disabled="exportForm.$invalid || exportForm.$pristine"
252
+ ng-disabled="!canManageExports || exportForm.$invalid || exportForm.$pristine"
209
253
  >
210
254
  {{ 'Save' | translate }}
211
255
  </button>
212
256
  <button
213
257
  class="btn btn-primary"
214
- type="submit"
215
258
  title="{{ 'Save and close' | translate }}"
259
+ type="submit"
216
260
  ng-click="saveClose()"
217
- ng-disabled="exportForm.$invalid || exportForm.$pristine"
261
+ ng-disabled="!canManageExports || exportForm.$invalid || exportForm.$pristine"
218
262
  >
219
263
  {{ 'Save and close' | translate }}
220
264
  </button>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1023.77.1",
3
+ "version": "1023.78.4",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "AngularJS modules for Cumulocity IoT applications.",