@c8y/ng1-modules 1022.35.1 → 1022.44.7
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/core/core/services/audits.js +1 -1
- package/core/core/services/auth.js +1 -1
- package/core/core/services/user.js +1 -1
- package/core/locales/de.po +105 -12
- package/core/locales/es.po +105 -12
- package/core/locales/fr.po +105 -12
- package/core/locales/ja_JP.po +99 -12
- package/core/locales/ko.po +104 -12
- package/core/locales/nl.po +105 -12
- package/core/locales/pl.po +105 -12
- package/core/locales/pt_BR.po +105 -12
- package/core/locales/zh_CN.po +104 -12
- package/core/locales/zh_TW.po +104 -12
- package/core/ui/user/editUser.directive.js +1 -1
- package/core/ui/user/userUtil.service.js +1 -1
- package/package.json +1 -1
- package/scada/svg.directive.js +1 -1
package/core/locales/zh_TW.po
CHANGED
|
@@ -2885,6 +2885,18 @@ msgstr "證書有效期少於 90 天"
|
|
|
2885
2885
|
msgid "Certificate file"
|
|
2886
2886
|
msgstr "證書檔案"
|
|
2887
2887
|
|
|
2888
|
+
msgid "Certificate fingerprint: \"{{ fingerprint }}\".\n"
|
|
2889
|
+
"Certificate subject name: \"{{ subjectName }}\"."
|
|
2890
|
+
msgstr "证书指纹:{{ fingerprint }}。\n"
|
|
2891
|
+
"证书主體名稱:{{ subjectName }}。"
|
|
2892
|
+
|
|
2893
|
+
msgid "Certificate fingerprint: \"{{ fingerprint }}\".\n"
|
|
2894
|
+
"Certificate subject name: \"{{ subjectName }}\".\n"
|
|
2895
|
+
"Expiration date: {{ expirationDate | absoluteDate }}."
|
|
2896
|
+
msgstr "证书指纹:{{ fingerprint }}。\n"
|
|
2897
|
+
"证书主體名稱:{{ subjectName }}。\n"
|
|
2898
|
+
"到期日期: {{ expirationDate | absoluteDate }}。"
|
|
2899
|
+
|
|
2888
2900
|
msgid "Certificate in PEM format"
|
|
2889
2901
|
msgstr "PEM 格式的证书"
|
|
2890
2902
|
|
|
@@ -2897,6 +2909,11 @@ msgstr "证书密码"
|
|
|
2897
2909
|
msgid "Certificate saved."
|
|
2898
2910
|
msgstr "证书已保存。"
|
|
2899
2911
|
|
|
2912
|
+
msgid "Certificate serial number: \"{{ serialNumber }}\".\n"
|
|
2913
|
+
"Expiration date: {{ expirationDate | absoluteDate }}."
|
|
2914
|
+
msgstr "证书序号:{{ serialNumber }}。\n"
|
|
2915
|
+
"到期日期: {{ expirationDate | absoluteDate }}。"
|
|
2916
|
+
|
|
2900
2917
|
msgid "Certificates"
|
|
2901
2918
|
msgstr "证书"
|
|
2902
2919
|
|
|
@@ -3354,6 +3371,9 @@ msgstr "单击链接以下载受影响设备的文件。"
|
|
|
3354
3371
|
msgid "Click to add points and set the area. Drag the points to adjust."
|
|
3355
3372
|
msgstr "单击可添加点并设置区域。拖动要调整的点。"
|
|
3356
3373
|
|
|
3374
|
+
msgid "Click to change"
|
|
3375
|
+
msgstr "點擊以更改"
|
|
3376
|
+
|
|
3357
3377
|
msgid "Click to edit"
|
|
3358
3378
|
msgstr "按一下以編輯"
|
|
3359
3379
|
|
|
@@ -3435,15 +3455,15 @@ msgstr "线圈(离散输出)"
|
|
|
3435
3455
|
msgid "Collapse"
|
|
3436
3456
|
msgstr "折疊"
|
|
3437
3457
|
|
|
3458
|
+
msgid "Collapse \"{{ assetPropertyLabel }}\""
|
|
3459
|
+
msgstr "折叠「{{ assetPropertyLabel }}」"
|
|
3460
|
+
|
|
3438
3461
|
msgid "Collapse all"
|
|
3439
3462
|
msgstr "全部折疊"
|
|
3440
3463
|
|
|
3441
3464
|
msgid "Collapse navigator on start up"
|
|
3442
3465
|
msgstr "启动时折疊导航器"
|
|
3443
3466
|
|
|
3444
|
-
msgid "Collapse {{ assetPropertyLabel }}"
|
|
3445
|
-
msgstr "折疊 {{ assetPropertyLabel }}"
|
|
3446
|
-
|
|
3447
3467
|
msgid "Color"
|
|
3448
3468
|
msgstr "颜色"
|
|
3449
3469
|
|
|
@@ -3534,15 +3554,15 @@ msgstr "複雜屬性。"
|
|
|
3534
3554
|
msgid "Compressed files must have an index.html at root. URLs in the web application can be relative."
|
|
3535
3555
|
msgstr "压缩文件必须在根目录中有一个 index.html。Web 应用程序中的 URL 则可以是相对的。"
|
|
3536
3556
|
|
|
3557
|
+
msgid "Computed properties"
|
|
3558
|
+
msgstr "計算屬性"
|
|
3559
|
+
|
|
3537
3560
|
msgid "Computed property configuration"
|
|
3538
3561
|
msgstr "计算的属性配置"
|
|
3539
3562
|
|
|
3540
3563
|
msgid "Computed property.`tooltip`"
|
|
3541
3564
|
msgstr "已計算屬性。"
|
|
3542
3565
|
|
|
3543
|
-
msgid "Computed`properties`"
|
|
3544
|
-
msgstr "計算"
|
|
3545
|
-
|
|
3546
3566
|
msgid "Concepts`KEEP_ORIGINAL`"
|
|
3547
3567
|
msgstr "Concepts"
|
|
3548
3568
|
|
|
@@ -3624,6 +3644,9 @@ msgstr "配置将更新。"
|
|
|
3624
3644
|
msgid "Configurations"
|
|
3625
3645
|
msgstr "配置"
|
|
3626
3646
|
|
|
3647
|
+
msgid "Configure"
|
|
3648
|
+
msgstr "設定"
|
|
3649
|
+
|
|
3627
3650
|
msgid "Configure DHCP settings"
|
|
3628
3651
|
msgstr "配置 DHCP 设置"
|
|
3629
3652
|
|
|
@@ -3639,6 +3662,9 @@ msgstr "配置列: {{label}}"
|
|
|
3639
3662
|
msgid "Configure columns"
|
|
3640
3663
|
msgstr "配置列"
|
|
3641
3664
|
|
|
3665
|
+
msgid "Configure computed properties"
|
|
3666
|
+
msgstr "設定計算屬性"
|
|
3667
|
+
|
|
3642
3668
|
msgid "Configure computed property"
|
|
3643
3669
|
msgstr "配置计算的属性"
|
|
3644
3670
|
|
|
@@ -3679,6 +3705,12 @@ msgstr "配置位置"
|
|
|
3679
3705
|
msgid "Configure preferences"
|
|
3680
3706
|
msgstr "配置首选项"
|
|
3681
3707
|
|
|
3708
|
+
msgid "Configure the settings below for each computed property. These configurations determine how\n"
|
|
3709
|
+
" the properties will be calculated and displayed. All required fields must be completed before\n"
|
|
3710
|
+
" you can apply the changes."
|
|
3711
|
+
msgstr "\n\n"
|
|
3712
|
+
" 請為每個計算屬性設定以下設置。這些設置將決定屬性的計算方式與显示效果。全部必需欄位皆須完整填寫後,方能应用更改。"
|
|
3713
|
+
|
|
3682
3714
|
msgid "Configured data point not available on the selected device."
|
|
3683
3715
|
msgstr "配置的資料點在所選設備上不可用。"
|
|
3684
3716
|
|
|
@@ -6429,6 +6461,9 @@ msgstr "输入您的短信提供商提供的凭据。这将启用利用短信服
|
|
|
6429
6461
|
msgid "Enter your email address and we'll send you a secure link to reset your password."
|
|
6430
6462
|
msgstr "输入您的电子邮件地址,我们将向您发送一个安全链接以重置您的密码。"
|
|
6431
6463
|
|
|
6464
|
+
msgid "Enter your feedback here"
|
|
6465
|
+
msgstr "請在此處輸入您的意見回饋"
|
|
6466
|
+
|
|
6432
6467
|
msgid "Enter your password"
|
|
6433
6468
|
msgstr "输入您的密码"
|
|
6434
6469
|
|
|
@@ -6591,6 +6626,9 @@ msgstr "退出編輯模式"
|
|
|
6591
6626
|
msgid "Expand"
|
|
6592
6627
|
msgstr "展開"
|
|
6593
6628
|
|
|
6629
|
+
msgid "Expand \"{{ assetPropertyLabel }}\""
|
|
6630
|
+
msgstr "展开「{{ assetPropertyLabel }}」"
|
|
6631
|
+
|
|
6594
6632
|
msgid "Expand all"
|
|
6595
6633
|
msgstr "全部展開"
|
|
6596
6634
|
|
|
@@ -6603,9 +6641,6 @@ msgstr "展開導航控件"
|
|
|
6603
6641
|
msgid "Expand node"
|
|
6604
6642
|
msgstr "展開節點"
|
|
6605
6643
|
|
|
6606
|
-
msgid "Expand {{ assetPropertyLabel }}"
|
|
6607
|
-
msgstr "展开 {{ assetPropertyLabel }}"
|
|
6608
|
-
|
|
6609
6644
|
msgid "Expand/collapse"
|
|
6610
6645
|
msgstr "展开/折叠"
|
|
6611
6646
|
|
|
@@ -8362,6 +8397,9 @@ msgstr "如何在小組件物品中使用屬性"
|
|
|
8362
8397
|
msgid "How would you like to proceed with sub-users when the owner is deleted?"
|
|
8363
8398
|
msgstr "删除所有者时,您想对子用户做什么?"
|
|
8364
8399
|
|
|
8400
|
+
msgid "How would you rate your experience with this feature?"
|
|
8401
|
+
msgstr "您對這項功能的體驗如何?"
|
|
8402
|
+
|
|
8365
8403
|
msgid "I/O and PLC"
|
|
8366
8404
|
msgstr "I/O 和 PLC"
|
|
8367
8405
|
|
|
@@ -8855,6 +8893,9 @@ msgstr "项目"
|
|
|
8855
8893
|
msgid "Items per page"
|
|
8856
8894
|
msgstr "每页面的项目数"
|
|
8857
8895
|
|
|
8896
|
+
msgid "I’m open to being contacted for follow-up about my feedback"
|
|
8897
|
+
msgstr "我樂意接受後續聯繫,以進一步討論我的意見回饋。"
|
|
8898
|
+
|
|
8858
8899
|
msgid "J2ME commands"
|
|
8859
8900
|
msgstr "J2ME 命令"
|
|
8860
8901
|
|
|
@@ -9116,6 +9157,9 @@ msgstr "左"
|
|
|
9116
9157
|
msgid "Legacy"
|
|
9117
9158
|
msgstr "原有"
|
|
9118
9159
|
|
|
9160
|
+
msgid "Legacy configuration"
|
|
9161
|
+
msgstr "遺留配置"
|
|
9162
|
+
|
|
9119
9163
|
msgid "Legacy configuration snapshot"
|
|
9120
9164
|
msgstr "原有配置快照"
|
|
9121
9165
|
|
|
@@ -12366,9 +12410,15 @@ msgstr "提供商名称"
|
|
|
12366
12410
|
msgid "Provisioned"
|
|
12367
12411
|
msgstr "已预配"
|
|
12368
12412
|
|
|
12413
|
+
msgid "Provisioned certificate stored in user object: \"{{ userName }}\""
|
|
12414
|
+
msgstr "已配置的证书储存於用户物件中:\"{{ userName }}\""
|
|
12415
|
+
|
|
12369
12416
|
msgid "Provisioned certificates"
|
|
12370
12417
|
msgstr "提供的憑證"
|
|
12371
12418
|
|
|
12419
|
+
msgid "Provisioned certificates removed from user: \"{{ userName }}\""
|
|
12420
|
+
msgstr "已從用户移除的預先配置证书:\"{{ userName }}\""
|
|
12421
|
+
|
|
12372
12422
|
msgid "Public key"
|
|
12373
12423
|
msgstr "公钥"
|
|
12374
12424
|
|
|
@@ -12828,9 +12878,6 @@ msgstr "註冊失敗"
|
|
|
12828
12878
|
msgid "Regular expression"
|
|
12829
12879
|
msgstr "正则表达式"
|
|
12830
12880
|
|
|
12831
|
-
msgid "Regular`properties`"
|
|
12832
|
-
msgstr "普通"
|
|
12833
|
-
|
|
12834
12881
|
msgid "Regular`style`"
|
|
12835
12882
|
msgstr "普通"
|
|
12836
12883
|
|
|
@@ -13182,6 +13229,9 @@ msgstr "已從 {{ restoredStateCreationDate }} 還原儀表板狀態"
|
|
|
13182
13229
|
msgid "Result"
|
|
13183
13230
|
msgstr "结果"
|
|
13184
13231
|
|
|
13232
|
+
msgid "Result type"
|
|
13233
|
+
msgstr "結果類型"
|
|
13234
|
+
|
|
13185
13235
|
msgid "Results found"
|
|
13186
13236
|
msgstr "找到结果"
|
|
13187
13237
|
|
|
@@ -13248,6 +13298,9 @@ msgstr "撤消已配置的憑證?"
|
|
|
13248
13298
|
msgid "Revoke provisioned certificates?"
|
|
13249
13299
|
msgstr "撤消已配置的憑證?"
|
|
13250
13300
|
|
|
13301
|
+
msgid "Revoked serials: {{ revokedSerials }}"
|
|
13302
|
+
msgstr "撤消的序列號: {{ revokedSerials }}"
|
|
13303
|
+
|
|
13251
13304
|
msgid "Right"
|
|
13252
13305
|
msgstr "右"
|
|
13253
13306
|
|
|
@@ -13644,6 +13697,9 @@ msgstr "從設備支援的配置清單中選取配置。"
|
|
|
13644
13697
|
msgid "Select a configuration to preview."
|
|
13645
13698
|
msgstr "選取要預覽的配置。"
|
|
13646
13699
|
|
|
13700
|
+
msgid "Select a data point to view its aggregated values in the time slider."
|
|
13701
|
+
msgstr "选择一个数据点,即可在时间滑桿中检视其聚合值。"
|
|
13702
|
+
|
|
13647
13703
|
msgid "Select a date range"
|
|
13648
13704
|
msgstr "選取日期範圍"
|
|
13649
13705
|
|
|
@@ -14762,6 +14818,9 @@ msgstr "嚴重性:{{ alarmSeverity }}"
|
|
|
14762
14818
|
msgid "Shades"
|
|
14763
14819
|
msgstr "陰影"
|
|
14764
14820
|
|
|
14821
|
+
msgid "Share your feedback, suggestions, or any issues you’ve encountered."
|
|
14822
|
+
msgstr "請分享您的意見回饋、建議或任何您遇到的問題。"
|
|
14823
|
+
|
|
14765
14824
|
msgid "Shared User Manager"
|
|
14766
14825
|
msgstr "共享的用户管理器"
|
|
14767
14826
|
|
|
@@ -15462,6 +15521,9 @@ msgstr "证书主题"
|
|
|
15462
15521
|
msgid "Submit"
|
|
15463
15522
|
msgstr "提交"
|
|
15464
15523
|
|
|
15524
|
+
msgid "Submit feedback"
|
|
15525
|
+
msgstr "提交意見回饋"
|
|
15526
|
+
|
|
15465
15527
|
msgid "Subnet mask"
|
|
15466
15528
|
msgstr "子网掩码"
|
|
15467
15529
|
|
|
@@ -15813,6 +15875,18 @@ msgstr "租户已激活。"
|
|
|
15813
15875
|
msgid "Tenant auth configuration"
|
|
15814
15876
|
msgstr "租户身份验证配置"
|
|
15815
15877
|
|
|
15878
|
+
msgid "Tenant certificate authority"
|
|
15879
|
+
msgstr "租戶憑證授權機構"
|
|
15880
|
+
|
|
15881
|
+
msgid "Tenant certificate authority (CA) created for tenant \"{{ tenantId }}\""
|
|
15882
|
+
msgstr "為租戶「{{ tenantId }}」创建的租户憑證授權機構 (CA)"
|
|
15883
|
+
|
|
15884
|
+
msgid "Tenant certificate authority (CA) renewal for tenant \"{{ tenantId }}\" failed"
|
|
15885
|
+
msgstr "租戶憑證授權機構 (CA) 為租戶「{{ tenantId }}」的更新失败"
|
|
15886
|
+
|
|
15887
|
+
msgid "Tenant certificate authority (CA) was renewed for tenant \"{{ tenantId }}\""
|
|
15888
|
+
msgstr "租戶憑證授權機構 (CA) 已為租戶「{{ tenantId }}」完成更新。"
|
|
15889
|
+
|
|
15816
15890
|
msgid "Tenant created."
|
|
15817
15891
|
msgstr "租户已创建。"
|
|
15818
15892
|
|
|
@@ -15903,6 +15977,9 @@ msgstr "值为零时要显示的文本"
|
|
|
15903
15977
|
msgid "Text-based configuration"
|
|
15904
15978
|
msgstr "基于文本的配置"
|
|
15905
15979
|
|
|
15980
|
+
msgid "Thank you for your feedback."
|
|
15981
|
+
msgstr "感謝您的意見回饋。"
|
|
15982
|
+
|
|
15906
15983
|
msgid "The \"Allowed domain\" setting allows your JavaScript web application to directly communicate with the REST API.\n\n"
|
|
15907
15984
|
"Options:\n"
|
|
15908
15985
|
"- Enter \"*\" to allow communication from any host,\n"
|
|
@@ -15922,6 +15999,9 @@ msgstr "所上傳存檔的 \"contextPath\" 或 \"key\" 與現有應用程式不
|
|
|
15922
15999
|
msgid "The Administration application enables account administrators to manage their users, roles, tenants, applications and business rules and lets them configure a number of settings for their account."
|
|
15923
16000
|
msgstr "Administration 應用程式使帳戶管理員能夠管理其用戶、角色、租戶、應用程式和業務規則,並允許他們配置帳戶的許多設置。"
|
|
15924
16001
|
|
|
16002
|
+
msgid "The CA certificate has not been renewed; however, it may still have sufficient validity remaining."
|
|
16003
|
+
msgstr "CA 证书尚未更新;然而,其剩餘有效期可能仍足夠。"
|
|
16004
|
+
|
|
15925
16005
|
msgid "The Cockpit application allows you to build IoT applications in minutes.\n"
|
|
15926
16006
|
" To get started, connect any device to the platform.\n"
|
|
15927
16007
|
" If you do not have an IoT device to hand, you can start by connecting your smartphone.\n"
|
|
@@ -17946,6 +18026,12 @@ msgstr "我們不收集任何個人資料。我們從您的手機中檢索的唯
|
|
|
17946
18026
|
msgid "We recommend you to meet these conditions for a stronger password:"
|
|
17947
18027
|
msgstr "我們建議您滿足以下條件以找到更強的密碼:"
|
|
17948
18028
|
|
|
18029
|
+
msgid "We value your feedback."
|
|
18030
|
+
msgstr "我們重視您的意見回饋。"
|
|
18031
|
+
|
|
18032
|
+
msgid "We want to hear from you. Share your feedback on the <strong>{{featurePreviewName}}</strong> feature preview to help us improve Cumulocity."
|
|
18033
|
+
msgstr "我們期待您的意見。請分享您對此功能預覽的回饋, <strong>{{featurePreviewName}}</strong>功能预览,帮助我们改进 Cumulocity。"
|
|
18034
|
+
|
|
17949
18035
|
msgid "We will now log you out and redirect to your new domain {{vm.redirectUrl}} in <b>1</b> second."
|
|
17950
18036
|
msgid_plural "We will now log you out and redirect to your new domain {{vm.redirectUrl}} in <b>{{$count}}</b> seconds."
|
|
17951
18037
|
msgstr[0] "我们现将您注销并在 <b>{{$count}}</b> 秒内重定向到您的新域 {{vm.redirectUrl}}。"
|
|
@@ -18566,6 +18652,9 @@ msgstr "您的流覽器不支援視頻標記。"
|
|
|
18566
18652
|
msgid "Your device was successfully registered."
|
|
18567
18653
|
msgstr "您的设备已成功注册。"
|
|
18568
18654
|
|
|
18655
|
+
msgid "Your insights and suggestions directly influence the future of the platform."
|
|
18656
|
+
msgstr "您的見解與建議將直接影響本平台的未來發展。"
|
|
18657
|
+
|
|
18569
18658
|
msgid "Your password is expired. Please set a new password."
|
|
18570
18659
|
msgstr "您的密码已过期。请设置新密码。"
|
|
18571
18660
|
|
|
@@ -18578,6 +18667,9 @@ msgstr "您的密码将在 {{expirationTime | relativeDate}} 过期。请立即
|
|
|
18578
18667
|
msgid "Your phone number"
|
|
18579
18668
|
msgstr "您的电话号码"
|
|
18580
18669
|
|
|
18670
|
+
msgid "Your rating: {{ starCount }} star(s)"
|
|
18671
|
+
msgstr "您的評分: {{ starCount }} 星級"
|
|
18672
|
+
|
|
18581
18673
|
msgid "Zoom in"
|
|
18582
18674
|
msgstr "放大"
|
|
18583
18675
|
|
|
@@ -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 e(g,m,f,w,p,h,E,
|
|
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 e(g,m,f,w,p,h,P,E,A,y,S,v,T,R){return e.$inject=["$scope","$q"],{restrict:"EA",scope:{user:"=",forms:"=",password:"=",hideUsername:"=?",hideActive:"=?",hideFirstName:"=?",hideLastName:"=?",hideEmail:"=?",hideTelephone:"=?",hideCustomProperties:"=?",hideTfaOption:"=?",hidePasswordReset:"=?",hideChangePassword:"=?",hideOwner:"=?",hideDelegate:"=?",disabledEdit:"=?",hideLanguage:"=?",userTfaEnforced:"=?",topLevelTfaEnforced:"=?"},templateUrl:":::PLUGIN_PATH:::/ui/user/editUser.directive.html",controller:e,controllerAs:"vm",link:function(e,t){$(t).find("input[name=email]").bind("blur",function(){e.emailWarning=!(e.user&&e.user.email)})}};function e(o,r){var e="maxlength",n=v("Messaging application is not subscribed."),s=["userOrigin"],i={NEWUSERNAME:{type:"validation",text:v('Username "new" is not allowed.')},PATTERN:{type:"pattern",text:v("Invalid pattern.")},PATTERN_PASSWORD:{type:"pattern",text:T.getString(A.validation.password.message)},PATTERN_USERNAME:{type:"pattern",text:T.getString(A.validation.user.message)},PATTERN_DISPLAYNAME:{type:"pattern",text:T.getString(A.validation.loginAlias.message)},SAME_AS_CURRENT_PASSWORD:{type:"same_as_current",text:v("New password can't be the same as current one.")},PASSWORD_MISSMATCH:{type:"password_missmatch",text:v("Passwords do not match.")},REQUIRED:{type:"required",text:v("This field is required.")},EMAIL:{type:"email",text:v("Invalid email address.")},PASSWORD_STRENGTH:{type:"password_strength",text:A.validation.passwordStrengthChecklist.message},INTERNATIONALPHONENUMBER_PHONE:{type:"internationalPhoneNumber",text:T.getString(A.validation.internationalPhoneNumber.message)},MAXLENGTH_FIRSTNAME:{type:e,text:"".concat(T.getString("Max length:")," 50")},MAXLENGTH_LASTNAME:{type:e,text:"".concat(T.getString("Max length:")," 50")},MAXLENGTH_USERNAME:{type:e,text:"".concat(T.getString("Max length:")," 254")},MAXLENGTH_DISPLAYNAME:{type:e,text:"".concat(T.getString("Max length:")," 254")},MAXLENGTH_PHONE:{type:e,text:"".concat(T.getString("Max length:")," 254")},MAXLENGTH_EMAIL:{type:e,text:"".concat(T.getString("Max length:")," 254")}},d=this,u=(_.assign(o,{confirmPassword:"",invalid:angular.bind(g,g.invalid,o.forms,"userForm"),isInvalidConfirmPassword:function(){var e=o.forms.userForm,t=e.password.$pristine,e=e.confirmPassword.$touched&&e.confirmPassword.$invalid;return!t&&e},changePasswordConfirm:function(){o.forms.userForm.confirmPassword&&o.forms.userForm.confirmPassword.$setValidity(i.PASSWORD_MISSMATCH.type,o.forms.userForm.confirmPassword.$viewValue===o.user.password)},getErrorFeedback:function(s){var n=o.forms.userForm[s]||{},a=[];return _.forEach(n.$error||{},function(e,t){var r;"parse"===t?o.forms.userForm.phone.$setValidity(t,!0):(t=t.toUpperCase(),r="".concat(t,"_").concat(s.toUpperCase()),e&&n.$touched&&(e=i[r]||i[t],a.push(T.getString(e.text))))}),a.join("<br>")},getUserCustomProperties:l,humanize:g.humanizeFragment,changePassword:function(){R.changeCurrentUserPassword()},isChangePasswordVisible:function(){return!o.disabledEdit&&o.changePasswordBtn&&!o.hideChangePassword&&o.user&&!o.user.sendPasswordResetEmail&&o.userCanChangePasswordAndEmail},passwordRegex:A.validation.password.pattern,tfaAvailable:!1,delegateTo:function(){m.current().then(function(e){o.user.delegatedBy=e.id}),a()},undelegate:function(){o.user.delegatedBy=null,a()},setOwner:function(e){o.user.owner=e,d.isParentDropDownOpen=!1,d.ownerHiddenForm.$setDirty()},userCanChangePasswordAndEmail:!1,requirementsFulfilled:!0,onRequirementsFulfilledChange:function(e){e=o.requirementsFulfilled=e;e||o.forms.userForm.password.$setValidity(i.PATTERN_PASSWORD.type,!0),o.forms.userForm.password.$setValidity(i.PASSWORD_STRENGTH.type,e)}}),_.assign(d,{onToggleDropdown:function(e){e&&(d.ownerDropDownInitialized=!0)},twoFactorAuthenticationCheckboxDisabled:function(){return o.topLevelTfaEnforced||o.disabledEdit||"TOTP"===d.tfaStrategy||!o.smsMicroserviceAvailable||!o.notCurrentUser&&"SMS"===d.tfaStrategy},enforceTfaCheckboxDisbaled:function(){return o.topLevelTfaEnforced||o.disabledEdit||!o.notCurrentUser||c()},messagingWarningVisible:function(){return!o.smsMicroserviceAvailable&&"SMS"===d.tfaStrategy},shouldEnableRevokeTOTPSecretButton:c}),p.getStrongPasswordSettings().then(t),o.$watch("user",function(e,t){var s,a;e&&e!==t&&(a=!(s=e).id,o.password.strength=s.passwordStrength,o.changePasswordBtn=!o.password.showPassword,o.emailWarning=!s.email,o.smsWarningPopover=n,a&&(o.userPasswordAction="sendPasswordByEmail"),delete o.confirmPassword,o.notCurrentUser=null,t=/.*/,(e=s)&&!e.id&&(t=A.validation.user.pattern),o.userNamePattern=t,o.loginAliasPattern=A.validation.loginAlias.pattern,o.hideLanguage||f.get("language").then(function(e){e&&(o.user.language={name:E.getLanguageNativeName(e),code:e}),o.languages=_.map(h.getSupportedLanguages(),function(e){return Object.assign({name:E.getLanguageNativeName(e),code:e},{})})}),y.isActivatedFor("units-conversion")&&(o.unitsConversionActive=!0),r.all({tfaAvailable:m.isTfaAvailable(),smsMicroserviceAvailable:P.isAvailable({contextPath:"messaging"}),twoFactorAuthenticationEnabled:m.isTfaActive(s),tfaStrategy:m.getTfaStrategy(),isCurrentUser:m.checkIfCurrent(s)}).then(function(e){var t=e.tfaAvailable,r=e.smsMicroserviceAvailable,s=e.twoFactorAuthenticationEnabled,n=e.tfaStrategy,e=e.isCurrentUser;o.notCurrentUser=!e,o.tfaAvailable=t,o.smsMicroserviceAvailable=!!r,d.tfaStrategy=n,o.user.twoFactorAuthenticationEnabled=!a&&s,o.userCanChangePasswordAndEmail=a||!m.hasExternalOrigin(o.user)&&e,d.userHasExternalOrigin=m.hasExternalOrigin(o.user)}),o.hideOwner||(o.ownerEditDisabled=!1,m.current().then(function(e){var t=w.hasRole(e,"ROLE_USER_MANAGEMENT_ADMIN"),r=w.hasRole(e,"ROLE_USER_MANAGEMENT_CREATE");!t&&r&&(d.rootOwner=[e],d.currentOwner=e.id,d.defaultOwner=e,a)&&(o.ownerEditDisabled=!0,s.owner=d.currentOwner)})),o.noCustomPropertiesToDisplay=_.isEmpty(l(o.user)),u())}));function l(e){var r={};return e&&e.customProperties&&_.forEach(e.customProperties,function(e,t){s.includes(t)||(r[t]="object"===_typeof(e)?angular.toJson(e,!0):e)}),r}function t(e){var t=e.enforceStrength;o.passwordStrengthEnforced=t||e.strengthValidity}function a(){o.delegationHiddenForm.$setDirty()}function c(){return"TOTP"===d.tfaStrategy&&o.user.twoFactorAuthenticationEnabled}o.$watch("user.password",function(){o.forms.userForm&&o.forms.userForm.password&&o.forms.userForm.password.$setValidity(i.SAME_AS_CURRENT_PASSWORD.type,!o.notCurrentUser&&!m.isCurrentPassword(o.forms.userForm.password.$viewValue)||o.notCurrentUser)}),o.$watch("userPasswordAction",function(e,t){e!==t&&(t={setUserPasswordAndForceToReset:{sendPasswordResetEmail:!1,shouldResetPassword:!0,showPassword:!0},setUserPassword:{sendPasswordResetEmail:!1,shouldResetPassword:!1,showPassword:!0},sendPasswordByEmail:{sendPasswordResetEmail:!0,shouldResetPassword:!1,showPassword:!1}}[e])&&(o.user.sendPasswordResetEmail=t.sendPasswordResetEmail,o.user.shouldResetPassword=t.shouldResetPassword,o.password.showPassword=t.showPassword)}),o.sendPasswordResetEmailToUser=_.debounce(function(){o.user&&o.user.email&&m.sendPasswordResetMail(o.user.email,o.user.tenantId).then(function(){S.success(v("Password reset link sent."))}).catch(function(){S.danger(v("Failed to send password reset link."))})},300)}}e.$inject=["c8yBase","c8yUser","c8yUserPreferences","c8yPermissions","c8yLoginOptions","c8yLocales","c8yApplication","LocalesUtil","c8yConfig","c8yBeta","c8yAlert","gettext","gettextCatalog","c8yChangeCurrentUserPasswordService"],angular.module("c8y.ui").directive("c8yEditUser",e).directive("c8yUiEditUser",e)})();
|
|
@@ -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 e(i,u,t,s,c,n,e,r,o,a,l,f,d,y){return w.$inject=["options","$uibModalInstance"],{askForPassword:function(){try{return i.get("c8yPasswordConfirm").confirmPassword().toPromise()}catch(e){return u.resolve(!0)}},currentPassword:function(){return i.get("c8yPasswordConfirm").currentPassword().toPromise().then(function(e){return null===e?u.reject():u.resolve(e)})},warnIfPasswordExpiresSoon:function(){var e="passwordExpirationAlertsDisplayed";function a(e,t){return!e||moment(e).isBefore(moment(t))}return u.
|
|
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 e(i,u,t,s,c,n,e,r,o,a,l,f,d,y){return w.$inject=["options","$uibModalInstance"],{askForPassword:function(){try{return i.get("c8yPasswordConfirm").confirmPassword().toPromise()}catch(e){return u.resolve(!0)}},currentPassword:function(){return i.get("c8yPasswordConfirm").currentPassword().toPromise().then(function(e){return null===e?u.reject():u.resolve(e)})},warnIfPasswordExpiresSoon:function(){var e="passwordExpirationAlertsDisplayed";function a(e,t){return!e||moment(e).isBefore(moment(t))}return c.current().then(function(o){return"OAUTH2"===_.get(o,"customProperties.userOrigin")?u.resolve():u.all({expirationAlertsDisplayedPreference:n.get(e),validityLimitInDays:r.detailValue({category:"password",key:"limit.validity"},0)}).then(function(e){var t,n,r=e.expirationAlertsDisplayedPreference,e=e.validityLimitInDays,r=r||{LESS_THAN_WEEK:null,LESS_THAN_DAY:null};return 0!==e&&(e=moment(o.lastPasswordChange).add(e,"days"),n=!1,(t=moment.duration(e.diff(moment())).asDays())<=1&&a(r.LESS_THAN_DAY,o.lastPasswordChange)?(n=!0,r.LESS_THAN_DAY=moment().format(s.dateFullFormat)):t<=7&&a(r.LESS_THAN_WEEK,o.lastPasswordChange)&&(n=!0,r.LESS_THAN_WEEK=moment().format(s.dateFullFormat)),n)&&l.warning(d.getString("Your password will expire {{expirationTime | relativeDate}}. Consider changing password now.",{expirationTime:e})),r}).then(_.partial(n.set,e))})},createUserFlatTree:function(e){return g(m(e))},buildUserTree:m,flattenTree:g,search:function(e,t){var n=["userName","lastName","firstName","email","phone"],r=_.constant(!0),o=_.constant(!0);{var a;e&&(a=new RegExp(e,"i"),r=function(t){return _.some(n,function(e){return a.test(t[e])})})}{var i;t&&t.length&&(i=_.reduce(t,function(e,t){return e[t.id]=!0,e},{}),o=function(e){return _.some(e.groups.references,function(e){return i[_.get(e,"group.id")]})})}return function(e){return r(e)&&o(e)}},selectUserDialog:function(e){return t.open({templateUrl:":::PLUGIN_PATH:::/ui/user/selectUser.modal.html",controllerAs:"vm",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",controller:w,resolve:{options:_.constant(e)}}).result},userHierarchyActive:_.once(function(){return e.listByUser().then(function(e){return!!_.find(e,{key:"c8y-feature-user-hierarchy"})})}),hideUsers:function(e,t){function n(){var t=_.keyBy(r,"id");return _.filter(e,function(e){return t[e.owner]&&!t[e.id]})}var r=_(_.isArray(t)?t:[t]).map(p(e)).value();for(;n().length;)r=_.union(r,n());return _.uniq(r)},mapToUsersInMemory:p,canUserManageTenant:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.user,n=e.tenant,r=e.mustBeTopTenant,o=i.get("c8yPermissions"),a=i.get("c8yTenant");return u.all({user:t||c.current(),tenant:n||a.current()}).then(function(e){var t=a.isTopTenant(e.tenant.name),n=_.get(e.tenant,"allowCreateTenants");return o.hasRole(e.user,"ROLE_TENANT_MANAGEMENT_READ")&&(r?t:t||n)})},requireLogout:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:angular.noop;return a({title:f("Logout required"),body:f("You must log out to apply your changes. Do you want to proceed?"),status:"warning",labels:{ok:f("Confirm and log out"),cancel:f("Cancel")},dismissValue:"canceled"}).then(e).then(h)},logoutAndReloadPage:h};function m(t){e=t,n=_.keyBy(e,"id");var n,e=_.reject(e,function(e){return e.owner&&!n[e.owner]&&delete e.owner,e.owner}),r=_.keyBy(t,"id");return _.forEach(t,function(e){e._owns=_.filter(t,{owner:e.id}),e._owner=_.get(r,e.owner)}),e}function p(n){return function(e){var t;return"string"==typeof e&&(t=e),"object"===_typeof(e)&&(t=e.userName),_.find(n,{userName:t})}}function g(e,t,n){var n=n||[],e=_.sortBy(e,["id","lastName"]),r=t||0;return _.reduce(e,function(e,t){return t._depth=r,e.push(t),g(t._owns,r+1,e)},n)}function w(e,t){_.assign(this,{textOk:f("Select"),textCancel:f("Cancel")},e,t)}function h(){return o.logout().then(function(e){e&&e.url?y.location.href=e.url:y.location.reload()})}}e.$inject=["$injector","$q","$uibModal","c8yBase","c8yUser","c8yUserPreferences","c8yApplication","c8ySettings","c8yAuth","c8yModal","c8yAlert","gettext","gettextCatalog","$window"],angular.module("c8y.ui").factory("c8yUserUtil",e)})();
|
package/package.json
CHANGED
package/scada/svg.directive.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{function e(p,v,
|
|
1
|
+
(()=>{function e(p,u,v,m,f){return{require:"ngModel",restrict:"EA",link:function(i,a,e,n){var c,s,r;function t(){var e,t;r=!1,(s=n.$viewValue)?(c=i.$new(!0),_.forEach(i.mapping,function(e,t){Object.defineProperty(c,t,{enumerable:!0,get:_.partial(o,t)})}),_.assign(c,{goToGroupDetails:d,goToDeviceDetails:l,getActiveAlarmsStatusClass:g,isReady:_.constant(!0)}),"none"===i.sanitizationOption&&(r=!0),e=angular.element('<div ng-if="isReady()" style="width:100%;height:100%;transform: translateZ(0);"></div>'),t=document.implementation.createHTMLDocument(""),t=$.parseHTML(s,t,r),$(t).is("svg")?(e.append($(t).filter("svg")),n.$setValidity("c8y-scada-svg",!0)):(e.html('<div class="alert-warning" translate style="padding: 20px;">'.concat(f("Invalid SVG"),"</div>")),n.$setValidity("c8y-scada-svg",!1)),p(e)(c),a.html(""),a.append(e)):n.$setValidity("c8y-scada-svg",!1)}function o(t){var e=i.mapping[t],a=_.find(i.devices,function(e){return i.deviceIds[t]===e.id});return m.getValueForMapping(a,e)}function d(e){u.path("/group/".concat(e))}function l(e){u.path("/device/".concat(e))}function g(e){return _.toLower(v.getHighestSeverityFromAlarmsStatus(e))||"none"}n.$render=t,i.$watch("mapping",t),i.$watch("deviceIds",t,!0)},scope:{mapping:"=",devices:"=",deviceIds:"=",sanitizationOption:"=?"},replace:!1}}e.$inject=["$compile","$location","c8yAlarms","ScadaWidgetUtilSvc","gettext"],angular.module("c8y.parts.scadaWidget").directive("c8yScadaSvg",e)})();
|