@umbraco-cms/backoffice 18.0.0-rc1 → 18.0.0-rc3
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/dist-cms/apps/app/app.element.js +6 -1
- package/dist-cms/assets/lang/ar.js +1 -0
- package/dist-cms/assets/lang/bs.js +1 -8
- package/dist-cms/assets/lang/cs.js +1 -8
- package/dist-cms/assets/lang/cy.js +2 -2
- package/dist-cms/assets/lang/da.js +1 -0
- package/dist-cms/assets/lang/de.js +2 -2
- package/dist-cms/assets/lang/es.js +2 -8
- package/dist-cms/assets/lang/fr.js +2 -2
- package/dist-cms/assets/lang/he.js +1 -6
- package/dist-cms/assets/lang/hr.js +1 -8
- package/dist-cms/assets/lang/it.js +1 -1
- package/dist-cms/assets/lang/ja.js +1 -8
- package/dist-cms/assets/lang/ko.js +1 -6
- package/dist-cms/assets/lang/nb.js +2 -9
- package/dist-cms/assets/lang/nl.js +2 -2
- package/dist-cms/assets/lang/pl.js +1 -8
- package/dist-cms/assets/lang/pt-br.js +0 -6
- package/dist-cms/assets/lang/pt.js +1 -0
- package/dist-cms/assets/lang/ro.js +1 -1
- package/dist-cms/assets/lang/ru.js +1 -8
- package/dist-cms/assets/lang/sv.js +2 -9
- package/dist-cms/assets/lang/tr.js +1 -8
- package/dist-cms/assets/lang/uk.js +1 -8
- package/dist-cms/assets/lang/vi.js +1 -0
- package/dist-cms/assets/lang/zh-tw.js +1 -8
- package/dist-cms/assets/lang/zh.js +1 -8
- package/dist-cms/external/uui/package.json +1 -1
- package/dist-cms/libs/extension-api/initializers/extension-initializer-base.js +26 -2
- package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.js +1 -0
- package/dist-cms/packages/core/collection/components/pagination/collection-pagination.element.js +1 -2
- package/dist-cms/packages/core/components/multiple-text-string-input/input-multiple-text-string-item.element.js +18 -1
- package/dist-cms/packages/core/picker/search/picker-search-result.element.js +1 -2
- package/dist-cms/packages/documents/document-redirect-management/dashboard-redirect-management.element.js +0 -4
- package/dist-cms/packages/documents/documents/audit-log/info-app/document-history-workspace-info-app.element.js +0 -3
- package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-messages-list.element.js +0 -1
- package/dist-cms/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.js +0 -3
- package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +0 -1
- package/dist-cms/packages/members/member-group/components/member-group-picker-modal/member-group-picker-modal.element.js +0 -1
- package/dist-cms/packages/packages/package-section/views/created/packages-created-overview.element.js +0 -3
- package/dist-cms/packages/relations/relation-types/workspace/relation-type/views/relation-type-detail-workspace-view.element.js +0 -1
- package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.element.js +0 -5
- package/dist-cms/packages/user/current-user/history/current-user-history-user-profile-app.element.js +0 -2
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -219,7 +219,7 @@ let UmbAppElement = class UmbAppElement extends UmbLitElement {
|
|
|
219
219
|
onInit(this, umbExtensionsRegistry);
|
|
220
220
|
// Register public extensions (login extensions)
|
|
221
221
|
await new UmbServerExtensionRegistrator(this, umbExtensionsRegistry).registerPublicExtensions();
|
|
222
|
-
new UmbAppEntryPointExtensionInitializer(this, umbExtensionsRegistry);
|
|
222
|
+
const entryPointInitializer = new UmbAppEntryPointExtensionInitializer(this, umbExtensionsRegistry);
|
|
223
223
|
// Try to initialise the auth flow and get the runtime status
|
|
224
224
|
try {
|
|
225
225
|
// If the runtime level is "install" or ?status=false is set, we should clear any cached tokens
|
|
@@ -232,6 +232,11 @@ let UmbAppElement = class UmbAppElement extends UmbLitElement {
|
|
|
232
232
|
else {
|
|
233
233
|
await this.#setAuthStatus();
|
|
234
234
|
}
|
|
235
|
+
// The login screen decides which auth provider to use from the registered
|
|
236
|
+
// `authProvider` extensions. App-entry-points may register or unregister those during
|
|
237
|
+
// their async onInit, so wait for them to settle before routing — otherwise on a slow
|
|
238
|
+
// connection the decision races and falls back to the local login.
|
|
239
|
+
await this.observe(entryPointInitializer.loaded).asPromise();
|
|
235
240
|
// Initialise the router
|
|
236
241
|
this.#redirect();
|
|
237
242
|
}
|
|
@@ -1088,20 +1088,13 @@ export default {
|
|
|
1088
1088
|
editscript: 'Uredite datoteku skripte',
|
|
1089
1089
|
},
|
|
1090
1090
|
sections: {
|
|
1091
|
-
concierge: 'Portirnica',
|
|
1092
1091
|
content: 'Sadržaj',
|
|
1093
|
-
|
|
1094
|
-
developer: 'Developer',
|
|
1095
|
-
forms: 'Forme',
|
|
1096
|
-
help: 'Pomoć',
|
|
1097
|
-
installer: 'Umbraco Konfiguracijski Čarobnjak',
|
|
1092
|
+
library: 'Biblioteka',
|
|
1098
1093
|
media: 'Mediji',
|
|
1099
1094
|
member: 'Članovi',
|
|
1100
|
-
newsletters: 'Bilteni',
|
|
1101
1095
|
packages: 'Paketi',
|
|
1102
1096
|
marketplace: 'Marketplace',
|
|
1103
1097
|
settings: 'Postavke',
|
|
1104
|
-
statistics: 'Statistika',
|
|
1105
1098
|
translation: 'Prevodi',
|
|
1106
1099
|
users: 'Korisnici',
|
|
1107
1100
|
},
|
|
@@ -1011,20 +1011,13 @@ export default {
|
|
|
1011
1011
|
},
|
|
1012
1012
|
sections: {
|
|
1013
1013
|
content: 'Obsah',
|
|
1014
|
-
|
|
1014
|
+
library: 'Knihovna',
|
|
1015
1015
|
media: 'Média',
|
|
1016
1016
|
member: 'Členové',
|
|
1017
1017
|
packages: 'Balíčky',
|
|
1018
1018
|
settings: 'Nastavení',
|
|
1019
1019
|
translation: 'Překlad',
|
|
1020
1020
|
users: 'Uživatelé',
|
|
1021
|
-
concierge: 'Domovník',
|
|
1022
|
-
courier: 'Kurýr',
|
|
1023
|
-
developer: 'Vývojář',
|
|
1024
|
-
installer: 'Průvodce nastavením Umbraca',
|
|
1025
|
-
newsletters: 'Zpravodaje',
|
|
1026
|
-
statistics: 'Statistiky',
|
|
1027
|
-
help: 'Nápověda',
|
|
1028
1021
|
},
|
|
1029
1022
|
settings: {
|
|
1030
1023
|
defaulttemplate: 'Výchozí šablona',
|
|
@@ -1181,14 +1181,14 @@ export default {
|
|
|
1181
1181
|
},
|
|
1182
1182
|
sections: {
|
|
1183
1183
|
content: 'Cynnwys',
|
|
1184
|
-
|
|
1184
|
+
library: 'Llyfrgell',
|
|
1185
1185
|
media: 'Cyfrwng',
|
|
1186
1186
|
member: 'Aelodau',
|
|
1187
1187
|
packages: 'Pecynnau',
|
|
1188
|
+
marketplace: 'Marchnad',
|
|
1188
1189
|
settings: 'Gosodiadau',
|
|
1189
1190
|
translation: 'Cyfieithiad',
|
|
1190
1191
|
users: 'Defnyddwyr',
|
|
1191
|
-
marketplace: 'Marchnad',
|
|
1192
1192
|
},
|
|
1193
1193
|
settings: {
|
|
1194
1194
|
defaulttemplate: 'Templed diofyn',
|
|
@@ -967,7 +967,7 @@ export default {
|
|
|
967
967
|
greeting5: 'Willkommen',
|
|
968
968
|
greeting6: 'Willkommen',
|
|
969
969
|
instruction: 'Hier anmelden:',
|
|
970
|
-
signInWith: 'Anmelden mit',
|
|
970
|
+
signInWith: 'Anmelden mit {0}',
|
|
971
971
|
timeout: 'Sitzung abgelaufen',
|
|
972
972
|
forgottenPassword: 'Kennwort vergessen?',
|
|
973
973
|
forgottenPasswordInstruction: 'Es wird eine E-Mail mit einem Kennwort-Zurücksetzen-Link an die angegebene Adresse geschickt.',
|
|
@@ -1192,7 +1192,7 @@ export default {
|
|
|
1192
1192
|
},
|
|
1193
1193
|
sections: {
|
|
1194
1194
|
content: 'Inhalte',
|
|
1195
|
-
|
|
1195
|
+
library: 'Bibliothek',
|
|
1196
1196
|
media: 'Medien',
|
|
1197
1197
|
member: 'Mitglieder',
|
|
1198
1198
|
packages: 'Pakete',
|
|
@@ -823,20 +823,14 @@ export default {
|
|
|
823
823
|
editscript: 'Editar fichero de script',
|
|
824
824
|
},
|
|
825
825
|
sections: {
|
|
826
|
-
concierge: 'Conserje',
|
|
827
826
|
content: 'Contenido',
|
|
828
|
-
|
|
829
|
-
developer: 'Desarrollador',
|
|
830
|
-
installer: 'Asistente de configuración de Umbraco',
|
|
827
|
+
library: 'Biblioteca',
|
|
831
828
|
media: 'Media',
|
|
832
829
|
member: 'Miembros',
|
|
833
|
-
|
|
830
|
+
packages: 'Paquetes',
|
|
834
831
|
settings: 'Ajustes',
|
|
835
|
-
statistics: 'Estadísticas',
|
|
836
832
|
translation: 'Traducción',
|
|
837
833
|
users: 'Usuarios',
|
|
838
|
-
help: 'Ayuda',
|
|
839
|
-
packages: 'Paquetes',
|
|
840
834
|
},
|
|
841
835
|
settings: {
|
|
842
836
|
defaulttemplate: 'Plantilla por defecto',
|
|
@@ -848,7 +848,7 @@ export default {
|
|
|
848
848
|
greeting5: 'Bienvenue',
|
|
849
849
|
greeting6: 'Bienvenue',
|
|
850
850
|
instruction: 'Connectez-vous ci-dessous',
|
|
851
|
-
signInWith: 'Identifiez-vous avec',
|
|
851
|
+
signInWith: 'Identifiez-vous avec {0}',
|
|
852
852
|
timeout: 'La session a expiré',
|
|
853
853
|
forgottenPassword: 'Mot de passe oublié?',
|
|
854
854
|
forgottenPasswordInstruction: "Un email contenant un lien pour ré-initialiser votre mot de passe sera envoyé à l'adresse spécifiée",
|
|
@@ -1023,7 +1023,7 @@ export default {
|
|
|
1023
1023
|
},
|
|
1024
1024
|
sections: {
|
|
1025
1025
|
content: 'Contenu',
|
|
1026
|
-
|
|
1026
|
+
library: 'Bibliothèque',
|
|
1027
1027
|
media: 'Medias',
|
|
1028
1028
|
member: 'Membres',
|
|
1029
1029
|
packages: 'Packages',
|
|
@@ -503,16 +503,11 @@ export default {
|
|
|
503
503
|
editscript: 'ערוך קובץ סקריפט',
|
|
504
504
|
},
|
|
505
505
|
sections: {
|
|
506
|
-
concierge: 'Concierge',
|
|
507
506
|
content: 'תוכן',
|
|
508
|
-
|
|
509
|
-
developer: 'מפתח',
|
|
510
|
-
installer: 'אשף הגדרת אומברקו',
|
|
507
|
+
library: 'ספרייה',
|
|
511
508
|
media: 'מדיה',
|
|
512
509
|
member: 'חברים',
|
|
513
|
-
newsletters: 'עיתון',
|
|
514
510
|
settings: 'הגדרות',
|
|
515
|
-
statistics: 'סטטיסטיקות',
|
|
516
511
|
translation: 'תירגום',
|
|
517
512
|
users: 'משתמשים',
|
|
518
513
|
},
|
|
@@ -1127,20 +1127,13 @@ export default {
|
|
|
1127
1127
|
editscript: 'Uredite datoteku skripte',
|
|
1128
1128
|
},
|
|
1129
1129
|
sections: {
|
|
1130
|
-
concierge: 'Portirnica',
|
|
1131
1130
|
content: 'Sadržaj',
|
|
1132
|
-
|
|
1133
|
-
developer: 'Developer',
|
|
1134
|
-
forms: 'Forme',
|
|
1135
|
-
help: 'Pomoć',
|
|
1136
|
-
installer: 'Umbraco Konfiguracijski Čarobnjak',
|
|
1131
|
+
library: 'Knjižnica',
|
|
1137
1132
|
media: 'Mediji',
|
|
1138
1133
|
member: 'Članovi',
|
|
1139
|
-
newsletters: 'Newsletteri',
|
|
1140
1134
|
packages: 'Paketi',
|
|
1141
1135
|
marketplace: 'Marketplace',
|
|
1142
1136
|
settings: 'Postavke',
|
|
1143
|
-
statistics: 'Statistika',
|
|
1144
1137
|
translation: 'Prijevodi',
|
|
1145
1138
|
users: 'Korisnici',
|
|
1146
1139
|
},
|
|
@@ -667,20 +667,13 @@ export default {
|
|
|
667
667
|
editscript: 'スクリプトファイルの編集',
|
|
668
668
|
},
|
|
669
669
|
sections: {
|
|
670
|
-
concierge: '管理人',
|
|
671
670
|
content: 'コンテンツ',
|
|
672
|
-
|
|
673
|
-
developer: '開発',
|
|
674
|
-
installer: 'Umbraco 設定ウィザード',
|
|
671
|
+
library: 'ライブラリ',
|
|
675
672
|
media: 'メディア',
|
|
676
673
|
member: 'メンバー',
|
|
677
|
-
newsletters: 'ニュースレター',
|
|
678
674
|
settings: '設定',
|
|
679
|
-
statistics: '統計',
|
|
680
675
|
translation: '翻訳',
|
|
681
676
|
users: 'ユーザー',
|
|
682
|
-
help: 'ヘルプ',
|
|
683
|
-
forms: 'フォーム',
|
|
684
677
|
},
|
|
685
678
|
settings: {
|
|
686
679
|
defaulttemplate: '既定のテンプレート',
|
|
@@ -503,16 +503,11 @@ export default {
|
|
|
503
503
|
editscript: '스크립트 파일 편집',
|
|
504
504
|
},
|
|
505
505
|
sections: {
|
|
506
|
-
concierge: '안내',
|
|
507
506
|
content: '컨텐츠',
|
|
508
|
-
|
|
509
|
-
developer: '개발도구',
|
|
510
|
-
installer: 'Umbraco 설치마법사',
|
|
507
|
+
library: '라이브러리',
|
|
511
508
|
media: '미디어',
|
|
512
509
|
member: '구성원',
|
|
513
|
-
newsletters: '뉴스레터',
|
|
514
510
|
settings: '세팅',
|
|
515
|
-
statistics: '통계',
|
|
516
511
|
translation: '변환',
|
|
517
512
|
users: '사용자',
|
|
518
513
|
},
|
|
@@ -660,7 +660,7 @@ export default {
|
|
|
660
660
|
greeting5: 'Velkommen',
|
|
661
661
|
greeting6: 'Velkommen',
|
|
662
662
|
instruction: 'Logg på nedenfor',
|
|
663
|
-
signInWith: 'Logg på med',
|
|
663
|
+
signInWith: 'Logg på med {0}',
|
|
664
664
|
timeout: 'Din sesjon er utløpt',
|
|
665
665
|
continue: 'Fortsett',
|
|
666
666
|
validate: 'Valider',
|
|
@@ -808,20 +808,13 @@ export default {
|
|
|
808
808
|
editscript: 'Rediger scriptfilen',
|
|
809
809
|
},
|
|
810
810
|
sections: {
|
|
811
|
-
concierge: 'Concierge',
|
|
812
811
|
content: 'Innhold',
|
|
813
|
-
|
|
814
|
-
developer: 'Utvikler',
|
|
815
|
-
installer: 'Umbraco konfigurasjonsveiviser',
|
|
812
|
+
library: 'Bibliotek',
|
|
816
813
|
media: 'Mediaarkiv',
|
|
817
814
|
member: 'Medlemmer',
|
|
818
|
-
newsletters: 'Nyhetsbrev',
|
|
819
815
|
settings: 'Innstillinger',
|
|
820
|
-
statistics: 'Statistikk',
|
|
821
816
|
translation: 'Oversettelse',
|
|
822
817
|
users: 'Brukere',
|
|
823
|
-
help: 'Hjelp',
|
|
824
|
-
forms: 'Skjemaer',
|
|
825
818
|
},
|
|
826
819
|
settings: {
|
|
827
820
|
defaulttemplate: 'Standardmal',
|
|
@@ -866,7 +866,7 @@ export default {
|
|
|
866
866
|
greeting5: 'Welkom',
|
|
867
867
|
greeting6: 'Welkom',
|
|
868
868
|
instruction: 'log hieronder in',
|
|
869
|
-
signInWith: 'Inloggen met',
|
|
869
|
+
signInWith: 'Inloggen met {0}',
|
|
870
870
|
timeout: 'Sessie is verlopen',
|
|
871
871
|
forgottenPassword: 'Wachtwoord vergeten?',
|
|
872
872
|
forgottenPasswordInstruction: 'Er zal een e-mail worden gestuurd naar het e-mailadres van jouw account.\n Hierin staat een link om je wachtwoord te resetten\n ',
|
|
@@ -1080,7 +1080,7 @@ export default {
|
|
|
1080
1080
|
},
|
|
1081
1081
|
sections: {
|
|
1082
1082
|
content: 'Inhoud',
|
|
1083
|
-
|
|
1083
|
+
library: 'Bibliotheek',
|
|
1084
1084
|
media: 'Media',
|
|
1085
1085
|
member: 'Leden',
|
|
1086
1086
|
packages: 'Packages',
|
|
@@ -779,20 +779,13 @@ export default {
|
|
|
779
779
|
editscript: 'Edytuj skrypt',
|
|
780
780
|
},
|
|
781
781
|
sections: {
|
|
782
|
-
concierge: 'Concierge',
|
|
783
782
|
content: 'Treść',
|
|
784
|
-
|
|
785
|
-
developer: 'Deweloper',
|
|
786
|
-
installer: 'Konfigurator Umbraco',
|
|
783
|
+
library: 'Biblioteka',
|
|
787
784
|
media: 'Media',
|
|
788
785
|
member: 'Członkowie',
|
|
789
|
-
newsletters: 'Biuletyny',
|
|
790
786
|
settings: 'Ustawienia',
|
|
791
|
-
statistics: 'Statystyki',
|
|
792
787
|
translation: 'Tłumaczenie',
|
|
793
788
|
users: 'Użytkownicy',
|
|
794
|
-
help: 'Pomoc',
|
|
795
|
-
forms: 'Formularze',
|
|
796
789
|
},
|
|
797
790
|
settings: {
|
|
798
791
|
defaulttemplate: 'Domyślny szablon',
|
|
@@ -321,14 +321,8 @@ export default {
|
|
|
321
321
|
editscript: 'Editar arquivo de script',
|
|
322
322
|
},
|
|
323
323
|
sections: {
|
|
324
|
-
concierge: 'Porteiro',
|
|
325
|
-
courier: 'Mensageiro',
|
|
326
|
-
developer: 'Desenvolvedor',
|
|
327
|
-
installer: 'Assistente de Configuração Umbraco',
|
|
328
324
|
media: 'Mídia',
|
|
329
|
-
newsletters: 'Boletins Informativos',
|
|
330
325
|
settings: 'Configurações',
|
|
331
|
-
statistics: 'Estatísticas',
|
|
332
326
|
users: 'Usuários',
|
|
333
327
|
},
|
|
334
328
|
settings: {
|
|
@@ -927,18 +927,11 @@ export default {
|
|
|
927
927
|
editscript: 'Править файл скрипта',
|
|
928
928
|
},
|
|
929
929
|
sections: {
|
|
930
|
-
concierge: 'Смотритель',
|
|
931
930
|
content: 'Содержимое',
|
|
932
|
-
|
|
933
|
-
developer: 'Разработка',
|
|
934
|
-
forms: 'Формы',
|
|
935
|
-
help: 'Помощь',
|
|
936
|
-
installer: 'Мастер конфигурирования Umbraco',
|
|
931
|
+
library: 'Библиотека',
|
|
937
932
|
media: 'Медиа-материалы',
|
|
938
933
|
member: 'Участники',
|
|
939
|
-
newsletters: 'Рассылки',
|
|
940
934
|
settings: 'Установки',
|
|
941
|
-
statistics: 'Статистика',
|
|
942
935
|
translation: 'Перевод',
|
|
943
936
|
users: 'Пользователи',
|
|
944
937
|
},
|
|
@@ -643,7 +643,7 @@ export default {
|
|
|
643
643
|
greeting5: 'Välkommen',
|
|
644
644
|
greeting6: 'Välkommen',
|
|
645
645
|
instruction: 'Logga in nedan',
|
|
646
|
-
signInWith: 'Logga in med',
|
|
646
|
+
signInWith: 'Logga in med {0}',
|
|
647
647
|
timeout: 'Sessionen har nått sin maxgräns',
|
|
648
648
|
continue: 'Fortsätt',
|
|
649
649
|
validate: 'Validera',
|
|
@@ -814,19 +814,12 @@ export default {
|
|
|
814
814
|
editscript: 'Redigera script',
|
|
815
815
|
},
|
|
816
816
|
sections: {
|
|
817
|
-
concierge: 'Concierge',
|
|
818
817
|
content: 'Innehåll',
|
|
819
|
-
|
|
820
|
-
developer: 'Utvecklare',
|
|
821
|
-
forms: 'Formulär',
|
|
822
|
-
help: 'Hjälp',
|
|
823
|
-
installer: 'Umbraco konfigurationsguide',
|
|
818
|
+
library: 'Bibliotek',
|
|
824
819
|
media: 'Media',
|
|
825
820
|
member: 'Medlemmar',
|
|
826
|
-
newsletters: 'Nyhetsbrev',
|
|
827
821
|
packages: 'Paket',
|
|
828
822
|
settings: 'Inställningar',
|
|
829
|
-
statistics: 'Statistik',
|
|
830
823
|
translation: 'Översättning',
|
|
831
824
|
users: 'Användare',
|
|
832
825
|
},
|
|
@@ -1015,19 +1015,12 @@ export default {
|
|
|
1015
1015
|
editscript: 'Komut dosyasını düzenle',
|
|
1016
1016
|
},
|
|
1017
1017
|
sections: {
|
|
1018
|
-
concierge: 'Konsiyerj',
|
|
1019
1018
|
content: 'İçerik',
|
|
1020
|
-
|
|
1021
|
-
developer: 'Geliştirici',
|
|
1022
|
-
forms: 'Formlar',
|
|
1023
|
-
help: 'Yardım',
|
|
1024
|
-
installer: 'Umbraco Yapılandırma Sihirbazı',
|
|
1019
|
+
library: 'Kitaplık',
|
|
1025
1020
|
media: 'Medya',
|
|
1026
1021
|
member: 'Üyeler',
|
|
1027
|
-
newsletters: 'Bültenler',
|
|
1028
1022
|
packages: 'Paketler',
|
|
1029
1023
|
settings: 'Ayarlar',
|
|
1030
|
-
statistics: 'İstatistikler',
|
|
1031
1024
|
translation: 'Çeviri',
|
|
1032
1025
|
users: 'Kullanıcılar',
|
|
1033
1026
|
},
|
|
@@ -927,18 +927,11 @@ export default {
|
|
|
927
927
|
editscript: 'Редагувати файл скрипта',
|
|
928
928
|
},
|
|
929
929
|
sections: {
|
|
930
|
-
concierge: 'Консьєрж',
|
|
931
930
|
content: 'Вміст',
|
|
932
|
-
|
|
933
|
-
developer: 'Розробка',
|
|
934
|
-
forms: 'Форми',
|
|
935
|
-
help: 'Допомога',
|
|
936
|
-
installer: 'Майстер конфігурування Umbraco',
|
|
931
|
+
library: 'Бібліотека',
|
|
937
932
|
media: 'Медіа-матеріали',
|
|
938
933
|
member: 'Учасники',
|
|
939
|
-
newsletters: 'Розсилки',
|
|
940
934
|
settings: 'Налаштування',
|
|
941
|
-
statistics: 'Статистика',
|
|
942
935
|
translation: 'Переклад',
|
|
943
936
|
users: 'Користувачі',
|
|
944
937
|
},
|
|
@@ -657,20 +657,13 @@ export default {
|
|
|
657
657
|
editscript: '編輯腳本',
|
|
658
658
|
},
|
|
659
659
|
sections: {
|
|
660
|
-
concierge: 'Concierge',
|
|
661
660
|
content: '內容',
|
|
662
|
-
|
|
663
|
-
developer: '開發',
|
|
664
|
-
installer: '設定精靈',
|
|
661
|
+
library: '資源庫',
|
|
665
662
|
media: '媒體',
|
|
666
663
|
member: '會員',
|
|
667
|
-
newsletters: '消息',
|
|
668
664
|
settings: '設置',
|
|
669
|
-
statistics: '統計',
|
|
670
665
|
translation: '翻譯',
|
|
671
666
|
users: '用戶',
|
|
672
|
-
help: '說明',
|
|
673
|
-
forms: '表單',
|
|
674
667
|
},
|
|
675
668
|
settings: {
|
|
676
669
|
defaulttemplate: '預設範本',
|
|
@@ -661,20 +661,13 @@ export default {
|
|
|
661
661
|
editscript: '编辑脚本',
|
|
662
662
|
},
|
|
663
663
|
sections: {
|
|
664
|
-
concierge: '礼宾',
|
|
665
664
|
content: '内容',
|
|
666
|
-
|
|
667
|
-
developer: '开发',
|
|
668
|
-
installer: 'Umbraco配置向导',
|
|
665
|
+
library: '资源库',
|
|
669
666
|
media: '媒体',
|
|
670
667
|
member: '会员',
|
|
671
|
-
newsletters: '消息',
|
|
672
668
|
settings: '设置',
|
|
673
|
-
statistics: '统计',
|
|
674
669
|
translation: '翻译',
|
|
675
670
|
users: '用户',
|
|
676
|
-
help: '帮助',
|
|
677
|
-
forms: '窗体',
|
|
678
671
|
},
|
|
679
672
|
settings: {
|
|
680
673
|
defaulttemplate: '默认模板',
|
|
@@ -7,28 +7,52 @@ export class UmbExtensionInitializerBase extends UmbControllerBase {
|
|
|
7
7
|
#extensionMap;
|
|
8
8
|
// Use the value `undefined`, as that would not resolve a observation promise. [NL]
|
|
9
9
|
#loaded;
|
|
10
|
+
// Identifies the current processing pass. The observer callback is async, so passes can
|
|
11
|
+
// overlap; only the latest pass is allowed to settle `loaded`, so a slower earlier pass
|
|
12
|
+
// cannot unblock waiters before the newest set of extensions has finished instantiating.
|
|
13
|
+
#loadPass;
|
|
10
14
|
constructor(host, extensionRegistry, manifestType) {
|
|
11
15
|
super(host);
|
|
12
16
|
this.#extensionMap = new Map();
|
|
13
17
|
// Use the value `undefined`, as that would not resolve a observation promise. [NL]
|
|
14
18
|
this.#loaded = new UmbBooleanState(undefined);
|
|
15
19
|
this.loaded = this.#loaded.asObservable();
|
|
20
|
+
// Identifies the current processing pass. The observer callback is async, so passes can
|
|
21
|
+
// overlap; only the latest pass is allowed to settle `loaded`, so a slower earlier pass
|
|
22
|
+
// cannot unblock waiters before the newest set of extensions has finished instantiating.
|
|
23
|
+
this.#loadPass = 0;
|
|
16
24
|
this.host = host;
|
|
17
25
|
this.extensionRegistry = extensionRegistry;
|
|
18
26
|
this.observe(extensionRegistry.byType(manifestType), async (extensions) => {
|
|
27
|
+
const pass = ++this.#loadPass;
|
|
28
|
+
// Re-arm while this pass is in flight so a consumer awaiting `loaded` waits for it to
|
|
29
|
+
// finish instead of resolving on a stale `true` from a previous pass. `undefined`
|
|
30
|
+
// rather than `false` because `asPromise()` resolves on the first non-undefined value.
|
|
31
|
+
this.#loaded.setValue(undefined);
|
|
19
32
|
this.#extensionMap.forEach((existingExt) => {
|
|
20
33
|
if (!extensions.find((b) => b.alias === existingExt.alias)) {
|
|
21
34
|
this.unloadExtension(existingExt);
|
|
22
35
|
this.#extensionMap.delete(existingExt.alias);
|
|
23
36
|
}
|
|
24
37
|
});
|
|
25
|
-
|
|
38
|
+
// `allSettled` so a throwing/rejecting `instantiateExtension` cannot leave `loaded`
|
|
39
|
+
// stuck at `undefined` and hang a waiter (e.g. the app boot gate). Failures are
|
|
40
|
+
// surfaced rather than swallowed.
|
|
41
|
+
const results = await Promise.allSettled(extensions.map((extension) => {
|
|
26
42
|
if (this.#extensionMap.has(extension.alias))
|
|
27
43
|
return;
|
|
28
44
|
this.#extensionMap.set(extension.alias, extension);
|
|
29
45
|
return this.instantiateExtension(extension);
|
|
30
46
|
}));
|
|
31
|
-
|
|
47
|
+
for (const result of results) {
|
|
48
|
+
if (result.status === 'rejected') {
|
|
49
|
+
console.error('[UmbExtensionInitializer] Failed to instantiate extension', result.reason);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Only the latest pass settles `loaded`. Resolving unconditionally — including for
|
|
53
|
+
// zero extensions — so a consumer awaiting `loaded` (the app-entry-point boot gate,
|
|
54
|
+
// the bundle guard) never hangs on a default install that registers none of this type.
|
|
55
|
+
if (pass === this.#loadPass) {
|
|
32
56
|
this.#loaded.setValue(true);
|
|
33
57
|
}
|
|
34
58
|
});
|
|
@@ -95,7 +95,6 @@ let UmbInputMultipleTextStringItemElement = class UmbInputMultipleTextStringItem
|
|
|
95
95
|
<uui-button
|
|
96
96
|
compact
|
|
97
97
|
label="${this.localize.term('general_remove')} ${this.value}"
|
|
98
|
-
look="outline"
|
|
99
98
|
?disabled=${this.disabled}
|
|
100
99
|
@click=${this.#onDelete}>
|
|
101
100
|
<uui-icon name="icon-trash"></uui-icon>
|
|
@@ -114,6 +113,7 @@ let UmbInputMultipleTextStringItemElement = class UmbInputMultipleTextStringItem
|
|
|
114
113
|
|
|
115
114
|
#validation-message {
|
|
116
115
|
flex: 1;
|
|
116
|
+
margin-bottom: calc(var(--uui-size-1) * -1);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
#input {
|
|
@@ -122,11 +122,28 @@ let UmbInputMultipleTextStringItemElement = class UmbInputMultipleTextStringItem
|
|
|
122
122
|
|
|
123
123
|
.handle {
|
|
124
124
|
cursor: grab;
|
|
125
|
+
opacity: 0.6;
|
|
126
|
+
transition: opacity 120ms;
|
|
125
127
|
}
|
|
126
128
|
|
|
127
129
|
.handle:active {
|
|
128
130
|
cursor: grabbing;
|
|
129
131
|
}
|
|
132
|
+
|
|
133
|
+
uui-button {
|
|
134
|
+
opacity: 0;
|
|
135
|
+
transition: opacity 120ms;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
:host(:hover),
|
|
139
|
+
:host(:focus-within) {
|
|
140
|
+
uui-button {
|
|
141
|
+
opacity: 1;
|
|
142
|
+
}
|
|
143
|
+
.handle {
|
|
144
|
+
opacity: 1;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
130
147
|
`,
|
|
131
148
|
]; }
|
|
132
149
|
};
|