Added extension info to Admin -> Extensions -> Popup

This commit is contained in:
the-djmaze 2024-09-24 16:53:46 +02:00
parent 85ac404722
commit 3931c11255
32 changed files with 150 additions and 101 deletions

View file

@ -34,4 +34,9 @@
display: block;
}
.tab-content {
grid-column-end: 3;
border: 1px solid var(--border-color, #ddd);
padding: 10px;
}
}

View file

@ -18,7 +18,11 @@ export class PluginPopupView extends AbstractViewPopup {
saveError: '',
id: '',
name: '',
readme: ''
readme: '',
author: '',
url: '',
version: '',
released: ''
});
this.config = ko.observableArray();
@ -73,12 +77,20 @@ export class PluginPopupView extends AbstractViewPopup {
this.id('');
this.name('');
this.readme('');
this.author('');
this.url('');
this.version('');
this.released('');
this.config([]);
if (oPlugin) {
this.id(oPlugin.id);
this.name(oPlugin.name);
this.readme(oPlugin.readme);
this.author(oPlugin.author);
this.url(oPlugin.url);
this.version(oPlugin.version);
this.released(oPlugin.released);
const config = oPlugin.config;
if (arrayLength(config)) {

View file

@ -69,7 +69,20 @@ trait AdminExtensions
'id' => $sId,
'name' => $oPlugin->Name(),
'readme' => $oPlugin->Description(),
'config' => array()
'config' => array(),
'author' => $oPlugin::AUTHOR,
'url' => $oPlugin::URL,
'version' => $oPlugin::VERSION,
'released' => $oPlugin::RELEASE
/*
$oPlugin::NAME
$oPlugin::REQUIRED
$oPlugin::DEPRECATED
$oPlugin::CATEGORY
$oPlugin::LICENSE
$oPlugin::DESCRIPTION
*/
);
$aMap = $oPlugin->ConfigMap();

View file

@ -11,6 +11,7 @@ abstract class AbstractPlugin
VERSION = '0.0',
RELEASE = '2020-11-01',
REQUIRED = '2.0.0',
// DEPRECATED = '',
CATEGORY = 'General',
LICENSE = 'AGPL v3',
DESCRIPTION = '';

View file

@ -8,7 +8,9 @@
"USERNAME": "Імя карыстальніка",
"PASSWORD": "Пароль",
"CANCEL": "Адмяніць",
"SEARCH": "Пошук"
"SEARCH": "Пошук",
"YES": "Так",
"NO": "Не"
},
"LOGIN": {
"LABEL_LOGIN": "Логін",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Без налад"
},
"POPUPS_ASK": {
"BUTTON_YES": "Так",
"BUTTON_NO": "Не",
"DESC_WANT_CLOSE_THIS_WINDOW": "Вы ўпэнены, што жадаеце закрыць гэтае вакно?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Uživatelské jméno",
"PASSWORD": "Heslo",
"CANCEL": "Zrušit",
"SEARCH": "Nebyly nalezeny žádné kontakty"
"SEARCH": "Nebyly nalezeny žádné kontakty",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Login",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Není zde nic ke konfiguraci"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Jste si jistí, že opravdu chcete zavřít toto okno?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Brugernavn",
"PASSWORD": "Adgangskode",
"CANCEL": "Annuller",
"SEARCH": "Ingen kontakter fundet"
"SEARCH": "Ingen kontakter fundet",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Log ind",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Intet at opsætte"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Vil du lukke vinduet?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Nutzername",
"PASSWORD": "Passwort",
"CANCEL": "Abbrechen",
"SEARCH": "Suchen"
"SEARCH": "Suchen",
"YES": "Ja",
"NO": "Nein"
},
"LOGIN": {
"LABEL_LOGIN": "Benutzer",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Nichts zu konfigurieren"
},
"POPUPS_ASK": {
"BUTTON_YES": "Ja",
"BUTTON_NO": "Nein",
"DESC_WANT_CLOSE_THIS_WINDOW": "Sind Sie sicher, dass Sie dieses Fenster schließen möchten?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Username",
"PASSWORD": "Passphrase",
"CANCEL": "Cancel",
"SEARCH": "Search"
"SEARCH": "Search",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Login",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Nothing to configure"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Are you sure you want to close this window?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Nombre de usuario",
"PASSWORD": "Contraseña",
"CANCEL": "Cancelar",
"SEARCH": "Buscar"
"SEARCH": "Buscar",
"YES": "Sí",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Ingresar",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Nada para configurar"
},
"POPUPS_ASK": {
"BUTTON_YES": "Sí",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "¿Estás seguro de que deseas cerrar esta ventana?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Erabiltzailea",
"PASSWORD": "Pasahitza",
"CANCEL": "Ezeztatu",
"SEARCH": "Bilatu"
"SEARCH": "Bilatu",
"YES": "Bai",
"NO": "Ez"
},
"LOGIN": {
"LABEL_LOGIN": "Login",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Ez dago kongiguratzeko ezer"
},
"POPUPS_ASK": {
"BUTTON_YES": "Bai",
"BUTTON_NO": "Ez",
"DESC_WANT_CLOSE_THIS_WINDOW": "Ziur zaude leiho hau itxi nahi duzula?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "نام کاربری",
"PASSWORD": "گذرواژه",
"CANCEL": "انصراف",
"SEARCH": "هیچ تماسی پیدا نشد"
"SEARCH": "هیچ تماسی پیدا نشد",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "ورود",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "چیزی برای پیکربندی نیست"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "آیا شما از بستن این پنجره اطمینان دارید؟"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Käyttäjätunnus",
"PASSWORD": "Salasana",
"CANCEL": "Peruuta",
"SEARCH": "Yhtään yhteystietoa ei löytynyt"
"SEARCH": "Yhtään yhteystietoa ei löytynyt",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Tunnus",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Ei mitään asetettavaa"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Haluatko varmasti sulkea tämän ikkunan?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Nom d'utilisateur",
"PASSWORD": "Mot de passe",
"CANCEL": "Annuler",
"SEARCH": "Rechercher"
"SEARCH": "Rechercher",
"YES": "Oui",
"NO": "Non"
},
"LOGIN": {
"LABEL_LOGIN": "Identifiant",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Rien à configurer"
},
"POPUPS_ASK": {
"BUTTON_YES": "Oui",
"BUTTON_NO": "Non",
"DESC_WANT_CLOSE_THIS_WINDOW": "Êtes-vous sûr de vouloir fermer cette fenêtre ?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Felhasználónév",
"PASSWORD": "Jelszó",
"CANCEL": "Mégse",
"SEARCH": "Nem találtam névjegyeket"
"SEARCH": "Nem találtam névjegyeket",
"YES": "Igen",
"NO": "Nem"
},
"LOGIN": {
"LABEL_LOGIN": "Belépés",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Nincs mit beállítani"
},
"POPUPS_ASK": {
"BUTTON_YES": "Igen",
"BUTTON_NO": "Nem",
"DESC_WANT_CLOSE_THIS_WINDOW": "Biztos, hogy be akarod zárni ezt az ablakot?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Nama belakang",
"PASSWORD": "Sandi",
"CANCEL": "Batal",
"SEARCH": "Tidak ditemukan kontak"
"SEARCH": "Tidak ditemukan kontak",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Login",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Tidak ada yang dikonfigurasi"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Anda yakin menutup jendela ini?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Nome utente",
"PASSWORD": "Passphrase",
"CANCEL": "Annulla",
"SEARCH": "Cerca"
"SEARCH": "Cerca",
"YES": "Si",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Login",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Niente da configurare"
},
"POPUPS_ASK": {
"BUTTON_YES": "Si",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Sei sicuro di voler chiudere questa finestra?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "ユーザー名",
"PASSWORD": "パスワード",
"CANCEL": "キャンセル",
"SEARCH": "検索"
"SEARCH": "検索",
"YES": "はい",
"NO": "いいえ"
},
"LOGIN": {
"LABEL_LOGIN": "ログイン",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "何も設定されていません"
},
"POPUPS_ASK": {
"BUTTON_YES": "はい",
"BUTTON_NO": "いいえ",
"DESC_WANT_CLOSE_THIS_WINDOW": "このウィンドウを閉じてもよろしいですか?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Vartotojo vardas",
"PASSWORD": "Slaptažodis",
"CANCEL": "Atšaukti",
"SEARCH": "Kontaktų nerasta"
"SEARCH": "Kontaktų nerasta",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Prisijungimo vardas",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Nėra ką konfiguruoti"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Ar tikrai norite uždaryti šį langą?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Brukernavn",
"PASSWORD": "Passord",
"CANCEL": "Avbryt",
"SEARCH": "Fant ingen kontakter"
"SEARCH": "Fant ingen kontakter",
"YES": "Ja",
"NO": "Nei"
},
"LOGIN": {
"LABEL_LOGIN": "Brukernavn",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Ingenting å sette opp"
},
"POPUPS_ASK": {
"BUTTON_YES": "Ja",
"BUTTON_NO": "Nei",
"DESC_WANT_CLOSE_THIS_WINDOW": "Er du sikker på at du vil lukke dette vinduet?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Gebruikersnaam",
"PASSWORD": "Wachtwoord",
"CANCEL": "Annuleer",
"SEARCH": "Zoeken"
"SEARCH": "Zoeken",
"YES": "Ja",
"NO": "Nee"
},
"LOGIN": {
"LABEL_LOGIN": "Inlognaam",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Niets om te configureren"
},
"POPUPS_ASK": {
"BUTTON_YES": "Ja",
"BUTTON_NO": "Nee",
"DESC_WANT_CLOSE_THIS_WINDOW": "Weet u zeker dat u dit venster wilt stuiten?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Nazwa użytkownika",
"PASSWORD": "Hasło",
"CANCEL": "Anuluj",
"SEARCH": "Szukaj"
"SEARCH": "Szukaj",
"YES": "Tak",
"NO": "Nie"
},
"LOGIN": {
"LABEL_LOGIN": "Login",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Brak opcji do skonfigurowania"
},
"POPUPS_ASK": {
"BUTTON_YES": "Tak",
"BUTTON_NO": "Nie",
"DESC_WANT_CLOSE_THIS_WINDOW": "Czy na pewno chcesz zamknąć to okno?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Nome de usuário",
"PASSWORD": "Senha",
"CANCEL": "Cancelar",
"SEARCH": "Nenhum contato encontrado"
"SEARCH": "Nenhum contato encontrado",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Usuário",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Nada para configurar"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Você tem certeza que deseja fechar esta janela?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Nome de utilizador",
"PASSWORD": "Palavra-passe",
"CANCEL": "Cancelar",
"SEARCH": "Pesquisar"
"SEARCH": "Pesquisar",
"YES": "Sim",
"NO": "Não"
},
"LOGIN": {
"LABEL_LOGIN": "Utilizador",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Nada para configurar"
},
"POPUPS_ASK": {
"BUTTON_YES": "Sim",
"BUTTON_NO": "Não",
"DESC_WANT_CLOSE_THIS_WINDOW": "Quer mesmo fechar esta janela?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Имя пользователя",
"PASSWORD": "Пароль",
"CANCEL": "Отменить",
"SEARCH": "Поиск"
"SEARCH": "Поиск",
"YES": "Да",
"NO": "Нет"
},
"LOGIN": {
"LABEL_LOGIN": "Логин",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Без настроек"
},
"POPUPS_ASK": {
"BUTTON_YES": "Да",
"BUTTON_NO": "Нет",
"DESC_WANT_CLOSE_THIS_WINDOW": "Вы уверены, что хотите закрыть это окно?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Používateľské men",
"PASSWORD": "Heslo",
"CANCEL": "Zrušiť",
"SEARCH": "Nenašli sa žiadne kontakty"
"SEARCH": "Nenašli sa žiadne kontakty",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Prihlasovanie",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Nothing to configure"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Are you sure you want to close this window?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Uporabniško ime",
"PASSWORD": "Geslo",
"CANCEL": "Prekliči",
"SEARCH": "Ni ujemajočih stikov"
"SEARCH": "Ni ujemajočih stikov",
"YES": "Yes",
"NO": "No"
},
"LOGIN": {
"LABEL_LOGIN": "Prijava",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Ni nastavitev za spreminjati"
},
"POPUPS_ASK": {
"BUTTON_YES": "Yes",
"BUTTON_NO": "No",
"DESC_WANT_CLOSE_THIS_WINDOW": "Želite zapreti to okno?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Användarnamn",
"PASSWORD": "Lösenord",
"CANCEL": "Avbryt",
"SEARCH": "Inga kontakter funna"
"SEARCH": "Inga kontakter funna",
"YES": "Ja",
"NO": "Nej"
},
"LOGIN": {
"LABEL_LOGIN": "Logga in",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Inget att konfigurera"
},
"POPUPS_ASK": {
"BUTTON_YES": "Ja",
"BUTTON_NO": "Nej",
"DESC_WANT_CLOSE_THIS_WINDOW": "Är du säker på att du vill stänga sidan?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "Tên tài khoản",
"PASSWORD": "Mật khẩu",
"CANCEL": "Hủy",
"SEARCH": "Tìm kiếm"
"SEARCH": "Tìm kiếm",
"YES": "Ok",
"NO": "Không"
},
"LOGIN": {
"LABEL_LOGIN": "Đăng nhập",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "Không có gì để thiết lập"
},
"POPUPS_ASK": {
"BUTTON_YES": "Ok",
"BUTTON_NO": "Không",
"DESC_WANT_CLOSE_THIS_WINDOW": "Bạn có chắc chắn muốn đóng cửa sổ này?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "使用者名稱",
"PASSWORD": "密碼",
"CANCEL": "取消",
"SEARCH": "搜尋"
"SEARCH": "搜尋",
"YES": "是",
"NO": "否"
},
"LOGIN": {
"LABEL_LOGIN": "登入",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "無可用配置"
},
"POPUPS_ASK": {
"BUTTON_YES": "是",
"BUTTON_NO": "否",
"DESC_WANT_CLOSE_THIS_WINDOW": "您確定要關閉此視窗嗎?"
},
"POPUPS_LANGUAGES": {

View file

@ -8,7 +8,9 @@
"USERNAME": "用户名",
"PASSWORD": "密码",
"CANCEL": "取消",
"SEARCH": "搜索"
"SEARCH": "搜索",
"YES": "是",
"NO": "否"
},
"LOGIN": {
"LABEL_LOGIN": "登录",
@ -150,8 +152,6 @@
"DESC_NOTHING_TO_CONFIGURE": "无可用配置"
},
"POPUPS_ASK": {
"BUTTON_YES": "是",
"BUTTON_NO": "否",
"DESC_WANT_CLOSE_THIS_WINDOW": "您确定要关闭此窗口吗?"
},
"POPUPS_LANGUAGES": {

View file

@ -7,26 +7,44 @@
<span data-bind="visible: hasReadme, text: readme"></span>
</header>
<div class="modal-body">
<form class="form-horizontal plugin-form" action="#/" spellcheck="false" onsubmit="return false;">
<div class="alert alert-info" data-bind="visible: !hasConfiguration()" data-i18n="POPUPS_PLUGIN/DESC_NOTHING_TO_CONFIGURE"></div>
<div class="alert" data-bind="visible: '' !== saveError()">
<a href="#" class="close" data-bind="click: hideError">×</a>
<span data-bind="text: saveError"></span>
</div>
<div data-bind="foreach: config, visible: hasConfiguration">
<!-- ko if: 7 == type -->
<details open="">
<summary class="legend" data-bind="text: label"></summary>
<div data-bind="foreach: config">
<div class="control-group" data-bind="template: { name: 'AdminSettingsPluginProperty' }"></div>
<div class="tabs">
<input type="radio" name="tabs" id="tab-extension-config" checked>
<label for="tab-extension-config" role="tab" tabindex="0">Config</label>
<div class="tab-content" role="tabpanel" aria-hidden="false">
<form class="form-horizontal plugin-form" action="#/" spellcheck="false" onsubmit="return false;">
<div class="alert alert-info" data-bind="visible: !hasConfiguration()" data-i18n="POPUPS_PLUGIN/DESC_NOTHING_TO_CONFIGURE"></div>
<div class="alert" data-bind="visible: '' !== saveError()">
<a href="#" class="close" data-bind="click: hideError">×</a>
<span data-bind="text: saveError"></span>
</div>
</details>
<!-- /ko -->
<!-- ko if: 7 != type -->
<div class="control-group" data-bind="template: { name: 'AdminSettingsPluginProperty' }"></div>
<!-- /ko -->
<div data-bind="foreach: config, visible: hasConfiguration">
<!-- ko if: 7 == type -->
<details open="">
<summary class="legend" data-bind="text: label"></summary>
<div data-bind="foreach: config">
<div class="control-group" data-bind="template: { name: 'AdminSettingsPluginProperty' }"></div>
</div>
</details>
<!-- /ko -->
<!-- ko if: 7 != type -->
<div class="control-group" data-bind="template: { name: 'AdminSettingsPluginProperty' }"></div>
<!-- /ko -->
</div>
</form>
</div>
</form>
<input type="radio" name="tabs" id="tab-extension-info">
<label for="tab-extension-info" role="tab" tabindex="0">Info</label>
<div class="tab-content" role="tabpanel" aria-hidden="true"><tbody>
<table><tbody>
<tr><td>Author</td><td data-bind="text: author"></td></tr>
<tr><td>Website</td><td><a data-bind="attr:{href: url}, text: url"></a></td></tr>
<tr><td>Version</td><td data-bind="text: version"></td></tr>
<tr><td>Date</td><td data-bind="text: released"></td></tr>
</tbody>
</table>
</div>
</div>
</div>
<footer>
<a class="btn buttonClose" data-bind="click: close" data-icon="✖" data-i18n="GLOBAL/CLOSE"></a>