[AAE-10774] move host settings to demo shell (#8051)

* move host settings to demo shell

* [ci:force] empty commit
This commit is contained in:
Denys Vuika
2022-12-16 08:46:23 +00:00
committed by GitHub
parent d27a3476f7
commit 280684c3ab
28 changed files with 85 additions and 555 deletions

View File

@@ -31,7 +31,6 @@ import { InfoDrawerModule } from './info-drawer/info-drawer.module';
import { LanguageMenuModule } from './language-menu/language-menu.module';
import { LoginModule } from './login/login.module';
import { PaginationModule } from './pagination/pagination.module';
import { HostSettingsModule } from './settings/host-settings.module';
import { ToolbarModule } from './toolbar/toolbar.module';
import { UserInfoModule } from './userinfo/userinfo.module';
import { ViewerModule } from './viewer/viewer.module';
@@ -79,7 +78,6 @@ import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
DownloadZipDialogModule,
FormsModule,
ReactiveFormsModule,
HostSettingsModule,
UserInfoModule,
MaterialModule,
AppConfigModule,
@@ -121,7 +119,6 @@ import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
ClipboardModule,
FormsModule,
ReactiveFormsModule,
HostSettingsModule,
UserInfoModule,
MaterialModule,
AppConfigModule,

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "تعذر حذف {{ name }}",
"ERROR_PLURAL": "تعذر حذف {{ number }} من العناصر"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "نوع المصادقة",
"BASIC": "مصادقة أساسية",
"SSO": "SSO",
"IMPLICIT-FLOW": "تدفق ضمني",
"PROVIDER": "موفر",
"REQUIRED": "هذا الحقل مطلوب",
"CS_URL_ERROR": "لا يتطابق عنوان Content Services مع تنسيق URL",
"PS_URL_ERROR": "لا يتطابق عنوان Process Services مع تنسيق URL",
"TITLE": "الإعدادات",
"CS-HOST": "عنوان URL لـ Content Services",
"BP-HOST": "عنوان URL لـ Process Services",
"BACK": "عودة",
"APPLY": "تطبيق",
"NOT_VALID": "لم يتم التعرف على http(s)://host|ip:port(/path)، جرّب عنوان URL مختلفًا.",
"REDIRECT": "إعادة توجيه URI",
"REDIRECT_LOGOUT": "إعادة توجيه خروج URI",
"SILENT": "دخول صامت",
"SCOPE": "نطاق",
"CLIENT": "معرف العميل",
"PUBLIC_URLS": "عناوين url العامة لتسجيل الدخول الصامت",
"SECRET": "سر"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "إضافة جديد",
@@ -585,4 +562,4 @@
"LOADING": "جار التحميل...",
"SELECTION_ARIA_LABEL": "{{placeholder}} مربع تحرير وسرد {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "„{{ name }}“ nebylo možné odstranit",
"ERROR_PLURAL": "Některé položky ({{ number }}) nebylo možné odstranit"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Typ ověřování",
"BASIC": "Základní ověřování",
"SSO": "Jednotné přihlášení",
"IMPLICIT-FLOW": "Implicitní tok",
"PROVIDER": "Poskytovatel",
"REQUIRED": "Toto pole je povinné",
"CS_URL_ERROR": "Adresa Content Services neodpovídá formátu adresy URL",
"PS_URL_ERROR": "Adresa Process Services neodpovídá formátu adresy URL",
"TITLE": "Nastavení",
"CS-HOST": "Adresa URL pro Content Services",
"BP-HOST": "Adresa URL pro Process Services",
"BACK": "Zpět",
"APPLY": "Použít",
"NOT_VALID": "http(s)://host|ip:port(/path) nelze rozeznat. Použijte jinou adresu URL.",
"REDIRECT": "URI pro přesměrování",
"REDIRECT_LOGOUT": "URI pro přesměrování (odhlášení)",
"SILENT": "Přihlášení na pozadí",
"SCOPE": "Rozsah",
"CLIENT": "ID klienta",
"PUBLIC_URLS": "Veřejné adresy URL pro přihlášení na pozadí",
"SECRET": "Tajné"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Přidat nové",
@@ -585,4 +562,4 @@
"LOADING": "Načítání...",
"SELECTION_ARIA_LABEL": "{{placeholder}} combobox {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} kunne ikke slettes",
"ERROR_PLURAL": "{{ number }} elementer kunne ikke slettes"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Godkendelsestype",
"BASIC": "Grundlæggende godkendelse",
"SSO": "SSO",
"IMPLICIT-FLOW": "Implicit flow",
"PROVIDER": "Udbyder",
"REQUIRED": "Dette felt er påkrævet",
"CS_URL_ERROR": "Content Services-adressen matcher ikke URL-formatet",
"PS_URL_ERROR": "Process Services-adressen matcher ikke URL-adresseformatet",
"TITLE": "Indstillinger",
"CS-HOST": "Content Services-URL",
"BP-HOST": "URL-adresse til Process Services",
"BACK": "Tilbage",
"APPLY": "Anvend",
"NOT_VALID": "http(s)://vært|ip-adresse:port(/sti) blev ikke genkendt. Prøv en anden URL-adresse.",
"REDIRECT": "URI til omdirigering",
"REDIRECT_LOGOUT": "Omdiriger URI til aflogning",
"SILENT": "Uovervåget login",
"SCOPE": "Omfang",
"CLIENT": "Klient-id",
"PUBLIC_URLS": "Uovervåget login til offentlige URL-adresser",
"SECRET": "Hemmelig"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Tilføj ny(t)",
@@ -585,4 +562,4 @@
"LOADING": "Indlæser...",
"SELECTION_ARIA_LABEL": "{{placeholder}} kombiboks {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} konnte nicht gelöscht werden",
"ERROR_PLURAL": "{{ number }} Elemente konnten nicht gelöscht werden"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Authentifizierungstyp",
"BASIC": "Basisauthentifizierung",
"SSO": "SSO",
"IMPLICIT-FLOW": "Impliziter Fluss",
"PROVIDER": "Provider",
"REQUIRED": "Dieses Feld ist erforderlich",
"CS_URL_ERROR": "Content Services-Adresse nicht im richtigen URL-Format",
"PS_URL_ERROR": "Process Services-Adresse nicht im richtigen URL-Format",
"TITLE": "Einstellungen",
"CS-HOST": "Content Services-URL",
"BP-HOST": "URL für Process Services",
"BACK": "Zurück",
"APPLY": "Anwenden",
"NOT_VALID": "http(s)://host|ip:port(/path) nicht erkannt. Probieren Sie es mit einer anderen URL.",
"REDIRECT": "Umleitungs-URI",
"REDIRECT_LOGOUT": "Umleitungs-URI zum Abmelden",
"SILENT": "Automatische Anmeldung",
"SCOPE": "Bereich",
"CLIENT": "Client-ID",
"PUBLIC_URLS": "Öffentliche URLs für automatische Anmeldung",
"SECRET": "Geheimnis"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Neue hinzufügen",
@@ -585,4 +562,4 @@
"LOADING": "Es wird geladen...",
"SELECTION_ARIA_LABEL": "{{placeholder}} Kombinationsfeld {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} couldn't be deleted",
"ERROR_PLURAL": "{{ number }} items couldn't be deleted"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Authentication type",
"BASIC": "Basic Authentication",
"SSO": "SSO",
"IMPLICIT-FLOW": "Implicit Flow",
"PROVIDER": "Provider",
"REQUIRED": "This field is required",
"CS_URL_ERROR": "Content Services address doesn't match the URL format",
"PS_URL_ERROR": "Process Services address doesn't match the URL format",
"TITLE": "Settings",
"CS-HOST": "Content Services URL",
"BP-HOST": "Process Services URL",
"BACK": "Back",
"APPLY": "APPLY",
"NOT_VALID": "http(s)://host|ip:port(/path) not recognized, try a different URL.",
"REDIRECT": "Redirect URI",
"REDIRECT_LOGOUT": "Redirect URI Logout",
"SILENT": "Silent Login",
"SCOPE": "Scope",
"CLIENT": "Client ID",
"PUBLIC_URLS": "Public urls silent Login",
"SECRET": "Secret"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Add New",

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} no se ha podido eliminar",
"ERROR_PLURAL": "{{ number }} elementos no se han podido eliminar"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Tipo de autenticación",
"BASIC": "Autenticación básica",
"SSO": "SSO",
"IMPLICIT-FLOW": "Flujo implícito",
"PROVIDER": "Proveedor",
"REQUIRED": "Este campo es obligatorio",
"CS_URL_ERROR": "La dirección de Content Services no coincide con el formato de la URL",
"PS_URL_ERROR": "La dirección de Process Services no coincide con el formato de la URL",
"TITLE": "Configuración",
"CS-HOST": "URL de Content Services",
"BP-HOST": "URL de Process Services",
"BACK": "Volver",
"APPLY": "Aplicar",
"NOT_VALID": "http(s)://host|ip:port(/path) no reconocido; pruebe con una URL diferente.",
"REDIRECT": "URI de redireccionamiento",
"REDIRECT_LOGOUT": "Cierre de sesión de URI de redireccionamiento",
"SILENT": "Inicio de sesión silencioso",
"SCOPE": "Ámbito",
"CLIENT": "ID de cliente",
"PUBLIC_URLS": "URL públicas para inicio de sesión silencioso",
"SECRET": "Secreto"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Añadir nuevo",
@@ -585,4 +562,4 @@
"LOADING": "Cargando...",
"SELECTION_ARIA_LABEL": "{{placeholder}} combobox {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "Kohteen {{ name }} poistaminen ei onnistunut",
"ERROR_PLURAL": "{{ number }} kohteen poistaminen ei onnistunut"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Todennustyyppi",
"BASIC": "Perustodennus",
"SSO": "Kertakirjautuminen",
"IMPLICIT-FLOW": "Epäsuora kulku",
"PROVIDER": "Palvelu",
"REQUIRED": "Tämä kenttä on pakollinen",
"CS_URL_ERROR": "Content Services -osoite ei täsmää URL-muodon kanssa",
"PS_URL_ERROR": "Process Services -osoite ei täsmää URL-muodon kanssa",
"TITLE": "Asetukset",
"CS-HOST": "Content Servicesin URL-osoite",
"BP-HOST": "Process Servicesin URL-osoite",
"BACK": "Takaisin",
"APPLY": "Käytä",
"NOT_VALID": "Osoitetta http(s)://host|ip:port(/path) ei tunnisteta. Kokeile toista URL-osoitetta.",
"REDIRECT": "Uudelleenohjauksen URI-osoite",
"REDIRECT_LOGOUT": "Uudelleenohjauksen URI-osoite uloskirjautuminen",
"SILENT": "Hiljainen kirjautuminen",
"SCOPE": "Laajuus",
"CLIENT": "Asiakastunnus",
"PUBLIC_URLS": "Yleisten url-osoitteiden hiljainen sisäänkirjaus",
"SECRET": "Salainen"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Lisää uusi",
@@ -585,4 +562,4 @@
"LOADING": "Ladataan...",
"SELECTION_ARIA_LABEL": "{{placeholder}} yhdistelmäruutu {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} n'a pas pu être supprimé",
"ERROR_PLURAL": "{{ number }} éléments n'ont pas pu être supprimés"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Type d'authentification",
"BASIC": "Authentification de base",
"SSO": "SSO",
"IMPLICIT-FLOW": "Flux implicite",
"PROVIDER": "Fournisseur",
"REQUIRED": "Ce champ est obligatoire",
"CS_URL_ERROR": "L'adresse Content Services ne correspond pas au format d'URL",
"PS_URL_ERROR": "L'adresse Process Services ne correspond pas au format d'URL",
"TITLE": "Paramètres",
"CS-HOST": "URL de Content Services",
"BP-HOST": "URL de Process Services",
"BACK": "Retour",
"APPLY": "Appliquer",
"NOT_VALID": "Adresse http(s)://host|ip:port(/path) non reconnue, essayez une autre URL.",
"REDIRECT": "URI de redirection",
"REDIRECT_LOGOUT": "Déconnexion URI de redirection",
"SILENT": "Connexion en mode silencieux",
"SCOPE": "Etendue",
"CLIENT": "ID client",
"PUBLIC_URLS": "URL publiques pour connexion en mode silencieux",
"SECRET": "Secret"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Ajouter nouveau",
@@ -585,4 +562,4 @@
"LOADING": "Chargement...",
"SELECTION_ARIA_LABEL": "{{placeholder}} zone de liste déroulante {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "Impossibile eliminare {{ name }}",
"ERROR_PLURAL": "Impossibile eliminare {{ number }} elementi"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Tipo di autenticazione",
"BASIC": "Autenticazione di base",
"SSO": "SSO",
"IMPLICIT-FLOW": "Flusso implicito",
"PROVIDER": "Fornitore",
"REQUIRED": "Questo campo è obbligatorio",
"CS_URL_ERROR": "L'indirizzo Content Services non corrisponde al formato dell'URL",
"PS_URL_ERROR": "L'indirizzo Process Services non corrisponde al formato dell'URL",
"TITLE": "Impostazioni",
"CS-HOST": "URL Content Services",
"BP-HOST": "URL Process Services",
"BACK": "Indietro",
"APPLY": "Applica",
"NOT_VALID": "http(s)://host|ip:port(/path) non riconosciuto, provare un URL diverso.",
"REDIRECT": "Reindirizza URI",
"REDIRECT_LOGOUT": "Reindirizza logout URI",
"SILENT": "Login invisibile",
"SCOPE": "Ambito",
"CLIENT": "ID client",
"PUBLIC_URLS": "URL pubblici per login invisibile",
"SECRET": "Segreto"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Aggiungi nuova",
@@ -585,4 +562,4 @@
"LOADING": "Caricamento in corso...",
"SELECTION_ARIA_LABEL": "{{placeholder}} casella combinata {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} を削除できませんでした",
"ERROR_PLURAL": "{{ number }} 件のアイテムを削除できませんでした"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "認証の種類",
"BASIC": "基本認証",
"SSO": "SSO",
"IMPLICIT-FLOW": "暗黙的フロー",
"PROVIDER": "プロバイダ",
"REQUIRED": "このフィールドは必須です",
"CS_URL_ERROR": "Content Services のアドレスが URL 形式と一致しません",
"PS_URL_ERROR": "Process Services のアドレスが URL 形式と一致しません",
"TITLE": "設定",
"CS-HOST": "Content Services の URL",
"BP-HOST": "Process Services の URL",
"BACK": "戻る",
"APPLY": "適用",
"NOT_VALID": "http(s)://host|ip:port(/path) が認識されません。別の URL を指定してください。",
"REDIRECT": "リダイレクト URI",
"REDIRECT_LOGOUT": "リダイレクト URI のログアウト",
"SILENT": "サイレントログイン",
"SCOPE": "範囲",
"CLIENT": "クライアント ID",
"PUBLIC_URLS": "サイレントログインのパブリック URL",
"SECRET": "シークレット"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "新規追加",
@@ -585,4 +562,4 @@
"LOADING": "読み込んでいます...",
"SELECTION_ARIA_LABEL": "{{placeholder}}コンボボックス{{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} kan ikke slettes",
"ERROR_PLURAL": "{{ number }} elementer kan ikke slettes"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Godkjenningstype",
"BASIC": "Grunnleggende godkjenning",
"SSO": "SSO",
"IMPLICIT-FLOW": "Implisitt flyt",
"PROVIDER": "Leverandør",
"REQUIRED": "Dette feltet er påkrevd",
"CS_URL_ERROR": "Adressen til innholdstjenesten stemmer ikke med URL-formatet",
"PS_URL_ERROR": "Adressen til prosesstjenestene stemmer ikke med URL-formatet",
"TITLE": "Innstillinger",
"CS-HOST": "URL tinnholdstjenester",
"BP-HOST": "URL prosesstjenester",
"BACK": "Tilbake",
"APPLY": "Bruk",
"NOT_VALID": "http(s)://host|ip:port(/path) ikke gjenkjent, prøv en annen URL.",
"REDIRECT": "Omdirigerings-URI",
"REDIRECT_LOGOUT": "Omdirigerings-URI avlogging",
"SILENT": "Stille pålogging",
"SCOPE": "Område",
"CLIENT": "Klient-ID",
"PUBLIC_URLS": "Offentlige URL-er for stille pålogging",
"SECRET": "Hemmelig"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Legg til ny",
@@ -585,4 +562,4 @@
"LOADING": "Laster inn...",
"SELECTION_ARIA_LABEL": "{{placeholder}} komboboks {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "Kan {{ name }} niet verwijderen",
"ERROR_PLURAL": "Kan {{ number }} items niet verwijderen"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Verificatietype",
"BASIC": "Basisverificatie",
"SSO": "SSO",
"IMPLICIT-FLOW": "Impliciete stroom",
"PROVIDER": "Provider",
"REQUIRED": "Dit veld is vereist",
"CS_URL_ERROR": "Content Services-adres komt niet overeen met de URL-indeling",
"PS_URL_ERROR": "Process Services-adres komt niet overeen met de URL-indeling",
"TITLE": "Instellingen",
"CS-HOST": "Content Services-URL",
"BP-HOST": "Process Services-URL",
"BACK": "Terug",
"APPLY": "Toepassen",
"NOT_VALID": "http(s)://host|ip:port(/path) niet herkend, probeer een andere URL.",
"REDIRECT": "Omleidings-URI",
"REDIRECT_LOGOUT": "Omleidings-URI afmelden",
"SILENT": "Stille aanmelding",
"SCOPE": "Bereik",
"CLIENT": "Client-id",
"PUBLIC_URLS": "Openbare URL's voor stille aanmelding",
"SECRET": "Geheim"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Nieuwe toevoegen",
@@ -585,4 +562,4 @@
"LOADING": "Laden...",
"SELECTION_ARIA_LABEL": "{{placeholder}} keuzelijst met invoervak {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "Nie można usunąć elementu {{ name }}.",
"ERROR_PLURAL": "Nie można usunąć następującej liczby elementów: {{ number }}."
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Typ uwierzytelnienia",
"BASIC": "Uwierzytelnienie podstawowe",
"SSO": "Logowanie jednokrotne",
"IMPLICIT-FLOW": "Niejawny przepływ",
"PROVIDER": "Dostawca",
"REQUIRED": "To pole jest wymagane.",
"CS_URL_ERROR": "Adres usług Content Services jest niezgodny z formatem adresu URL.",
"PS_URL_ERROR": "Adres usług Process Services jest niezgodny z formatem adresu URL.",
"TITLE": "Ustawienia",
"CS-HOST": "Adres URL usług Content Services",
"BP-HOST": "Adres URL usług Process Services",
"BACK": "Wstecz",
"APPLY": "Zastosuj",
"NOT_VALID": "Nie rozpoznano adresu http(s)://host|ip:port(/path). Spróbuj użyć innego adresu URL.",
"REDIRECT": "Identyfikator URI przekierowania",
"REDIRECT_LOGOUT": "Identyfikator URI przekierowania — wylogowanie",
"SILENT": "Ciche logowanie",
"SCOPE": "Zakres",
"CLIENT": "Identyfikator klienta",
"PUBLIC_URLS": "Publiczne URL do cichego logowania",
"SECRET": "Klucz tajny"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Dodaj nowe",
@@ -585,4 +562,4 @@
"LOADING": "Wczytywanie...",
"SELECTION_ARIA_LABEL": "{{placeholder}} - pole kombi - {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "Não foi possível excluir {{ name }}",
"ERROR_PLURAL": "Não foi possível excluir {{ number }} itens"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Tipo de autenticação",
"BASIC": "Autenticação básica",
"SSO": "SSO",
"IMPLICIT-FLOW": "Fluxo implícito",
"PROVIDER": "Provedor",
"REQUIRED": "Este campo é obrigatório",
"CS_URL_ERROR": "O endereço do Content Services não corresponde ao formato de URL",
"PS_URL_ERROR": "O endereço do Process Services não corresponde ao formato de URL",
"TITLE": "Configurações",
"CS-HOST": "URL do Content Services",
"BP-HOST": "URL do Process Services",
"BACK": "Voltar",
"APPLY": "Aplicar",
"NOT_VALID": "http(s)://host|ip:port(/path) não reconhecida, tente uma URL diferente.",
"REDIRECT": "Redirecionar URI",
"REDIRECT_LOGOUT": "Redirecionar logout de URI",
"SILENT": "Login silencioso",
"SCOPE": "Escopo",
"CLIENT": "ID de cliente",
"PUBLIC_URLS": "Login silencioso de URLs públicas",
"SECRET": "Segredo"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Adicionar",
@@ -585,4 +562,4 @@
"LOADING": "Carregando...",
"SELECTION_ARIA_LABEL": "{{placeholder}} caixa de combinação {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "Не удалось удалить {{ name }}",
"ERROR_PLURAL": "Не удалось удалить элементов: {{ number }}"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Тип авторизации",
"BASIC": "Базовая авторизация",
"SSO": "SSO",
"IMPLICIT-FLOW": "Неявный поток",
"PROVIDER": "Поставщик",
"REQUIRED": "Поле обязательно для заполнения",
"CS_URL_ERROR": "Адрес Content Services не соответствует формату URL",
"PS_URL_ERROR": "Адрес Process Services не соответствует формату URL",
"TITLE": "Параметры",
"CS-HOST": "URL-адрес Content Services",
"BP-HOST": "URL-адрес Process Services",
"BACK": "Назад",
"APPLY": "Применить",
"NOT_VALID": "http(s)://host|ip:port(/path) не распознан, используйте другой URL-адрес.",
"REDIRECT": "URI перенаправления",
"REDIRECT_LOGOUT": "Выход URI перенаправления",
"SILENT": "Автоматический вход",
"SCOPE": "Область применения",
"CLIENT": "Идентификатор клиента",
"PUBLIC_URLS": "Общедоступные URL-адреса с автоматическим входом",
"SECRET": "Секретный"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Добавить",
@@ -585,4 +562,4 @@
"LOADING": "Загрузка...",
"SELECTION_ARIA_LABEL": "{{placeholder}} выпадающий список {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} kunde inte raderas",
"ERROR_PLURAL": "{{ number }} objekt kunde inte raderas"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "Autentiseringstyp",
"BASIC": "Grundläggande autentisering",
"SSO": "SSO",
"IMPLICIT-FLOW": "Implicit flöde",
"PROVIDER": "Leverantör",
"REQUIRED": "Detta fält krävs",
"CS_URL_ERROR": "Content Services-adressen matchar inte URL-formatet",
"PS_URL_ERROR": "Process Services-adressen matchar inte URL-formatet",
"TITLE": "Inställningar",
"CS-HOST": "Content Services-URL",
"BP-HOST": "Process Services-URL",
"BACK": "Tillbaka",
"APPLY": "Tillämpa",
"NOT_VALID": "http(s)://host|ip:port(/path) kändes inte igen, testa annan URL.",
"REDIRECT": "Omdirigera URI",
"REDIRECT_LOGOUT": "Omdirigera URI-utloggning",
"SILENT": "Tyst inloggning",
"SCOPE": "Definitionsområde",
"CLIENT": "Klient-ID",
"PUBLIC_URLS": "Offentliga url:er för tyst inloggning",
"SECRET": "Hemlig"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Lägg till ny",
@@ -585,4 +562,4 @@
"LOADING": "Läser in...",
"SELECTION_ARIA_LABEL": "{{placeholder}} kombinationsrutan {{selectedOption}}"
}
}
}

View File

@@ -169,29 +169,6 @@
"ERROR_SINGULAR": "{{ name }} 无法删除",
"ERROR_PLURAL": "{{ number }} 个项目无法删除"
},
"HOST_SETTINGS": {
"TYPE-AUTH": "身份验证类型",
"BASIC": "基本身份验证",
"SSO": "SSO",
"IMPLICIT-FLOW": "隐式流",
"PROVIDER": "提供程序",
"REQUIRED": "此字段为必填字段",
"CS_URL_ERROR": "Content Services 地址与 URL 格式不匹配",
"PS_URL_ERROR": "Process Services 地址与 URL 格式不匹配",
"TITLE": "设置",
"CS-HOST": "Content Services URL",
"BP-HOST": "Process Services URL",
"BACK": "返回",
"APPLY": "应用",
"NOT_VALID": "http(s)://host|ip:port(/path) 无法识别,请使用其他 URL。",
"REDIRECT": "重定向 URI",
"REDIRECT_LOGOUT": "重定向 URI 注销",
"SILENT": "静默登录",
"SCOPE": "范围",
"CLIENT": "客户端 ID",
"PUBLIC_URLS": "用于静默登录的公共 URL",
"SECRET": "机密"
},
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "新增",
@@ -585,4 +562,4 @@
"LOADING": "加载...",
"SELECTION_ARIA_LABEL": "{{placeholder}} 组合框 {{selectedOption}}"
}
}
}

View File

@@ -1,161 +0,0 @@
<div class="adf-setting-container">
<mat-toolbar color="primary" class="adf-setting-toolbar">
<h3>{{'CORE.HOST_SETTINGS.TITLE' | translate}}</h3>
</mat-toolbar>
<mat-card class="adf-setting-card">
<form id="host-form" [formGroup]="form" (submit)="onSubmit(form.value)" (keydown)="keyDownFunction($event)">
<mat-form-field *ngIf="showSelectProviders">
<mat-select id="adf-provider-selector" placeholder="Provider" [formControl]="providersControl">
<mat-option *ngFor="let provider of providers" [value]="provider">
{{ provider }}
</mat-option>
</mat-select>
</mat-form-field>
<div class="adf-authentication-type">
<div> {{'CORE.HOST_SETTINGS.TYPE-AUTH' | translate }} : </div>
<mat-radio-group formControlName="authType" >
<mat-radio-button value="BASIC">{{'CORE.HOST_SETTINGS.BASIC' | translate }}
</mat-radio-button>
<mat-radio-button value="OAUTH">{{'CORE.HOST_SETTINGS.SSO' | translate }}
</mat-radio-button>
</mat-radio-group>
</div>
<ng-container *ngIf="isALL() || isECM()">
<mat-card-content>
<mat-form-field class="adf-full-width">
<mat-label>{{'CORE.HOST_SETTINGS.CS-HOST' | translate }}</mat-label>
<input matInput [formControl]="ecmHost" data-automation-id="ecmHost" type="text"
id="ecmHost" placeholder="http(s)://host|ip:port(/path)">
<mat-error *ngIf="ecmHost.hasError('pattern')">
{{ 'CORE.HOST_SETTINGS.NOT_VALID'| translate }}
</mat-error>
<mat-error *ngIf="ecmHost.hasError('required')">
{{ 'CORE.HOST_SETTINGS.REQUIRED'| translate }}
</mat-error>
</mat-form-field>
<p>
</mat-card-content>
</ng-container>
<ng-container *ngIf="isALL() || isBPM()">
<mat-card-content>
<mat-form-field class="adf-full-width">
<mat-label>{{'CORE.HOST_SETTINGS.BP-HOST' | translate }}</mat-label>
<input matInput [formControl]="bpmHost" data-automation-id="bpmHost" type="text"
id="bpmHost" placeholder="http(s)://host|ip:port(/path)">
<mat-error *ngIf="bpmHost.hasError('pattern')">
{{ 'CORE.HOST_SETTINGS.NOT_VALID'| translate }}
</mat-error>
<mat-error *ngIf="bpmHost.hasError('required')">
{{ 'CORE.HOST_SETTINGS.REQUIRED'| translate }}
</mat-error>
</mat-form-field>
</mat-card-content>
</ng-container>
<ng-container *ngIf="isOAUTH()">
<mat-card-content>
<mat-form-field class="adf-full-width">
<mat-label>Identity Host</mat-label>
<input matInput name="identityHost" id="identityHost" formControlName="identityHost"
placeholder="http(s)://host|ip:port(/path)">
<mat-error *ngIf="identityHost.hasError('pattern')">
{{ 'CORE.HOST_SETTINGS.NOT_VALID'| translate }}
</mat-error>
<mat-error *ngIf="identityHost.hasError('required')">
{{ 'CORE.HOST_SETTINGS.REQUIRED'| translate }}
</mat-error>
</mat-form-field>
</mat-card-content>
</ng-container>
<ng-container *ngIf="isOAUTH()">
<div formGroupName="oauthConfig">
<mat-form-field class="adf-full-width">
<mat-label>Auth Host</mat-label>
<input matInput name="host" id="oauthHost" formControlName="host"
placeholder="http(s)://host|ip:port(/path)">
<mat-error *ngIf="host.hasError('pattern')">
{{ 'CORE.HOST_SETTINGS.NOT_VALID'| translate }}
</mat-error>
<mat-error *ngIf="host.hasError('required')">
{{ 'CORE.HOST_SETTINGS.REQUIRED'| translate }}
</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>{{ 'CORE.HOST_SETTINGS.CLIENT'| translate }}</mat-label>
<input matInput name="clientId" id="clientId" formControlName="clientId"
placeholder="Client Id">
<mat-error *ngIf="clientId.hasError('required')">
{{ 'CORE.HOST_SETTINGS.REQUIRED'| translate }}
</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>{{ 'CORE.HOST_SETTINGS.SCOPE'| translate }}</mat-label>
<input matInput name="{{ 'CORE.HOST_SETTINGS.SCOPE'| translate }}"
formControlName="scope" placeholder="Scope Id">
<mat-error *ngIf="scope.hasError('required')">
{{ 'CORE.HOST_SETTINGS.REQUIRED'| translate }}
</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>{{ 'CORE.HOST_SETTINGS.SECRET'| translate }}</mat-label>
<input matInput name="{{ 'CORE.HOST_SETTINGS.SECRET'| translate }}"
formControlName="secret" placeholder="{{ 'CORE.HOST_SETTINGS.SECRET'| translate }}">
<mat-error *ngIf="secret.hasError('required')">
{{ 'CORE.HOST_SETTINGS.REQUIRED'| translate }}
</mat-error>
</mat-form-field>
<label for="silentLogin">{{ 'CORE.HOST_SETTINGS.SILENT'| translate }}</label>
<mat-slide-toggle class="adf-full-width" name="silentLogin" [color]="'primary'"
formControlName="silentLogin">
</mat-slide-toggle>
<label for="implicitFlow">{{ 'CORE.HOST_SETTINGS.IMPLICIT-FLOW'| translate }}</label>
<mat-slide-toggle class="adf-full-width" name="implicitFlow" [color]="'primary'"
formControlName="implicitFlow">
</mat-slide-toggle>
<mat-form-field class="adf-full-width">
<mat-label>{{ 'CORE.HOST_SETTINGS.REDIRECT'| translate }}</mat-label>
<input matInput placeholder="{{ 'CORE.HOST_SETTINGS.REDIRECT'| translate }}"
name="redirectUri" formControlName="redirectUri">
<mat-error *ngIf="redirectUri.hasError('required')">
{{ 'CORE.HOST_SETTINGS.REQUIRED'| translate }}
</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>{{ 'CORE.HOST_SETTINGS.REDIRECT_LOGOUT'| translate }}</mat-label>
<input id="logout-url" matInput placeholder="{{ 'CORE.HOST_SETTINGS.REDIRECT_LOGOUT'| translate }}"
name="redirectUriLogout" formControlName="redirectUriLogout">
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>{{ 'CORE.HOST_SETTINGS.PUBLIC_URLS'| translate }}</mat-label>
<input id="public-url" matInput placeholder="{{ 'CORE.HOST_SETTINGS.PUBLIC_URLS'| translate }}"
name="publicUrls" formControlName="publicUrls">
</mat-form-field>
</div>
</ng-container>
<mat-card-actions class="adf-actions">
<button mat-button (click)="onCancel()" color="primary">
{{'CORE.HOST_SETTINGS.BACK' | translate }}
</button>
<button type="submit" id="host-button" class="adf-login-button" mat-raised-button
color="primary" data-automation-id="host-button"
[disabled]="!form.valid">
{{'CORE.HOST_SETTINGS.APPLY' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>

View File

@@ -1,40 +0,0 @@
.adf-host-settings {
display: flex;
min-height: 100%;
align-items: center;
.adf-authentication-type {
margin-bottom: 20px;
margin-top: 10px;
}
.adf-setting-container {
width: 800px;
display: table;
margin: 0 auto;
border-collapse: collapse;
border-spacing: 0;
}
.adf-setting-card-padding {
width: 50%;
display: table-cell;
vertical-align: middle;
margin: 0;
}
.adf-settings-link-icon {
position: relative;
top: 6px;
margin-right: 10px;
}
.adf-settings-actions {
display: flex;
justify-content: flex-end;
}
.adf-full-width {
width: 100%;
}
}

View File

@@ -1,290 +0,0 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, EventEmitter, Output, ViewEncapsulation, OnInit, Input } from '@angular/core';
import { Validators, UntypedFormGroup, UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
import { StorageService } from '../services/storage.service';
import { AlfrescoApiService } from '../services/alfresco-api.service';
import { OauthConfigModel } from '../models/oauth-config.model';
import { ENTER } from '@angular/cdk/keycodes';
export const HOST_REGEX = '^(http|https):\/\/.*[^/]$';
@Component({
selector: 'adf-host-settings',
templateUrl: 'host-settings.component.html',
host: {
class: 'adf-host-settings'
},
styleUrls: ['./host-settings.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class HostSettingsComponent implements OnInit {
/**
* Tells the component which provider options are available. Possible valid values
* are "ECM" (Content), "BPM" (Process) , "ALL" (Content and Process), 'OAUTH2' SSO.
*/
@Input()
providers: string[] = ['BPM', 'ECM', 'ALL'];
showSelectProviders = true;
form: UntypedFormGroup;
/** Emitted when the URL is invalid. */
// eslint-disable-next-line @angular-eslint/no-output-native
@Output()
error = new EventEmitter<string>();
/** Emitted when the user cancels the changes. */
@Output()
cancel = new EventEmitter<boolean>();
/** Emitted when the changes are successfully applied. */
// eslint-disable-next-line @angular-eslint/no-output-native
@Output()
success = new EventEmitter<boolean>();
constructor(private formBuilder: UntypedFormBuilder,
private storageService: StorageService,
private alfrescoApiService: AlfrescoApiService,
private appConfig: AppConfigService) {
}
ngOnInit() {
if (this.providers.length === 1) {
this.showSelectProviders = false;
}
const providerSelected = this.appConfig.get<string>(AppConfigValues.PROVIDERS);
const authType = this.appConfig.get<string>(AppConfigValues.AUTHTYPE, 'BASIC');
this.form = this.formBuilder.group({
providersControl: [providerSelected, Validators.required],
authType
});
this.addFormGroups();
if (authType === 'OAUTH') {
this.addOAuthFormGroup();
this.addIdentityHostFormControl();
}
this.form.get('authType').valueChanges.subscribe((value) => {
if (value === 'BASIC') {
this.form.removeControl('oauthConfig');
this.form.removeControl('identityHost');
} else {
this.addOAuthFormGroup();
this.addIdentityHostFormControl();
}
});
this.providersControl.valueChanges.subscribe(() => {
this.removeFormGroups();
this.addFormGroups();
});
}
private removeFormGroups() {
this.form.removeControl('bpmHost');
this.form.removeControl('ecmHost');
}
private addFormGroups() {
this.addBPMFormControl();
this.addECMFormControl();
}
private addOAuthFormGroup() {
const oauthFormGroup = this.createOAuthFormGroup();
this.form.addControl('oauthConfig', oauthFormGroup);
}
private addBPMFormControl() {
if ((this.isBPM() || this.isALL() || this.isOAUTH()) && !this.bpmHost) {
const bpmFormControl = this.createBPMFormControl();
this.form.addControl('bpmHost', bpmFormControl);
}
}
private addIdentityHostFormControl() {
const identityHostFormControl = this.createIdentityFormControl();
this.form.addControl('identityHost', identityHostFormControl);
}
private addECMFormControl() {
if ((this.isECM() || this.isALL()) && !this.ecmHost) {
const ecmFormControl = this.createECMFormControl();
this.form.addControl('ecmHost', ecmFormControl);
}
}
private createOAuthFormGroup(): UntypedFormGroup {
const oauth = this.appConfig.get<OauthConfigModel>(AppConfigValues.OAUTHCONFIG, {} as any);
return this.formBuilder.group({
host: [oauth.host, [Validators.required, Validators.pattern(HOST_REGEX)]],
clientId: [oauth.clientId, Validators.required],
redirectUri: [oauth.redirectUri, Validators.required],
redirectUriLogout: [oauth.redirectUriLogout],
scope: [oauth.scope, Validators.required],
secret: oauth.secret,
silentLogin: oauth.silentLogin,
implicitFlow: oauth.implicitFlow,
publicUrls: [oauth.publicUrls]
});
}
private createBPMFormControl(): UntypedFormControl {
return new UntypedFormControl(this.appConfig.get<string>(AppConfigValues.BPMHOST), [Validators.required, Validators.pattern(HOST_REGEX)]);
}
private createIdentityFormControl(): UntypedFormControl {
return new UntypedFormControl(this.appConfig.get<string>(AppConfigValues.IDENTITY_HOST), [Validators.required, Validators.pattern(HOST_REGEX)]);
}
private createECMFormControl(): UntypedFormControl {
return new UntypedFormControl(this.appConfig.get<string>(AppConfigValues.ECMHOST), [Validators.required, Validators.pattern(HOST_REGEX)]);
}
onCancel() {
this.cancel.emit(true);
}
onSubmit(values: any) {
this.storageService.setItem(AppConfigValues.PROVIDERS, values.providersControl);
if (this.isBPM()) {
this.saveBPMValues(values);
} else if (this.isECM()) {
this.saveECMValues(values);
} else if (this.isALL()) {
this.saveECMValues(values);
this.saveBPMValues(values);
}
if (this.isOAUTH()) {
this.saveOAuthValues(values);
}
this.storageService.setItem(AppConfigValues.AUTHTYPE, values.authType);
this.alfrescoApiService.reset();
this.alfrescoApiService.getInstance().invalidateSession();
this.success.emit(true);
}
keyDownFunction(event: any) {
if (event.keyCode === ENTER && this.form.valid) {
this.onSubmit(this.form.value);
}
}
private saveOAuthValues(values: any) {
if (values.oauthConfig.publicUrls && (typeof values.oauthConfig.publicUrls === 'string')) {
values.oauthConfig.publicUrls = values.oauthConfig.publicUrls.split(',');
}
this.storageService.setItem(AppConfigValues.OAUTHCONFIG, JSON.stringify(values.oauthConfig));
this.storageService.setItem(AppConfigValues.IDENTITY_HOST, values.identityHost);
}
private saveBPMValues(values: any) {
this.storageService.setItem(AppConfigValues.BPMHOST, values.bpmHost);
}
private saveECMValues(values: any) {
this.storageService.setItem(AppConfigValues.ECMHOST, values.ecmHost);
}
isBPM(): boolean {
return this.providersControl.value === 'BPM';
}
isECM(): boolean {
return this.providersControl.value === 'ECM';
}
isALL(): boolean {
return this.providersControl.value === 'ALL';
}
isOAUTH(): boolean {
return this.form.get('authType').value === 'OAUTH';
}
get providersControl(): UntypedFormControl {
return this.form.get('providersControl') as UntypedFormControl;
}
get bpmHost(): UntypedFormControl {
return this.form.get('bpmHost') as UntypedFormControl;
}
get ecmHost(): UntypedFormControl {
return this.form.get('ecmHost') as UntypedFormControl;
}
get host(): UntypedFormControl {
return this.oauthConfig.get('host') as UntypedFormControl;
}
get identityHost(): UntypedFormControl {
return this.form.get('identityHost') as UntypedFormControl;
}
get clientId(): UntypedFormControl {
return this.oauthConfig.get('clientId') as UntypedFormControl;
}
get scope(): UntypedFormControl {
return this.oauthConfig.get('scope') as UntypedFormControl;
}
get secret(): UntypedFormControl {
return this.oauthConfig.get('secret') as UntypedFormControl;
}
get implicitFlow(): UntypedFormControl {
return this.oauthConfig.get('implicitFlow') as UntypedFormControl;
}
get silentLogin(): UntypedFormControl {
return this.oauthConfig.get('silentLogin') as UntypedFormControl;
}
get redirectUri(): UntypedFormControl {
return this.oauthConfig.get('redirectUri') as UntypedFormControl;
}
get publicUrls(): UntypedFormControl {
return this.oauthConfig.get('publicUrls') as UntypedFormControl;
}
get redirectUriLogout(): UntypedFormControl {
return this.oauthConfig.get('redirectUriLogout') as UntypedFormControl;
}
get oauthConfig(): UntypedFormControl {
return this.form.get('oauthConfig') as UntypedFormControl;
}
}

View File

@@ -1,42 +0,0 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { TranslateModule } from '@ngx-translate/core';
import { MaterialModule } from '../material.module';
import { HostSettingsComponent } from './host-settings.component';
@NgModule({
imports: [
CommonModule,
MaterialModule,
TranslateModule,
FormsModule,
ReactiveFormsModule
],
declarations: [
HostSettingsComponent
],
exports: [
HostSettingsComponent
]
})
export class HostSettingsModule {
}

View File

@@ -1,18 +0,0 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export * from './public-api';

View File

@@ -1,20 +0,0 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export * from './host-settings.component';
export * from './host-settings.module';

View File

@@ -19,7 +19,6 @@ export * from './lib/about/index';
export * from './lib/viewer/index';
export * from './lib/userinfo/index';
export * from './lib/toolbar/index';
export * from './lib/settings/index';
export * from './lib/pagination/index';
export * from './lib/login/index';
export * from './lib/language-menu/index';