diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-08-29 17:05:00 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-09-28 12:54:54 +0200 |
commit | 2363ab8054ab5d8e7981242dc311a394e8d5ff57 (patch) | |
tree | d02a2fca005a241f42331d8bb08aeb0933c898a7 /src/hydrilla/proxy/web_ui/templates/items | |
parent | 7fc6312d6df526b8eb49288aecf88d04668e7c45 (diff) | |
download | haketilo-hydrilla-2363ab8054ab5d8e7981242dc311a394e8d5ff57.tar.gz haketilo-hydrilla-2363ab8054ab5d8e7981242dc311a394e8d5ff57.zip |
[proxy] refactor we UI library and package pages templates to avoid code repetition
Diffstat (limited to 'src/hydrilla/proxy/web_ui/templates/items')
18 files changed, 499 insertions, 0 deletions
diff --git a/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja new file mode 100644 index 0000000..b0f59ae --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja @@ -0,0 +1,63 @@ +{# +Proxy web UI item view page template. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "base.html.jinja" %} +{% block style %} + {{ super() }} + + {% include 'include/item_list_style.css.jinja' %} +{% endblock %} +{% block main %} + {% block main_info %} + <h3>{% block heading required %}{% endblock %}</h3> + {% endblock %} + {% if version_display_infos|length > 0 %} + <h4> + {% block version_list_heading required %} + {% endblock %} + </h4> + <ul id="item_list"> + {% for info in version_display_infos %} + {% set entry_classes = [] %} + {% if info.is_local %} + {% do entry_classes.append('version-entry-local') %} + {% endif %} + {% if info.is_orphan %} + {% do entry_classes.append('version-entry-orphan') %} + {% endif %} + <li class="{{ entry_classes|join(' ') }}"> + {% + set href = url_for( + '.show_{}_version'.format(info.type.alt_name), + item_version_id = info.ref.id + ) + %} + <a href="{{ href }}"> + <div> + {{ info.info.version_string }} + {% if not info.is_local %} + @ + {{ info.info.repo }} + {% endif %} + </div> + </a> + </li> + {% endfor %} + </ul> + {% endif %}{# version_display_infos|length > 0 #} +{% endblock main %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. diff --git a/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja new file mode 100644 index 0000000..9c81bec --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja @@ -0,0 +1,81 @@ +{# +Proxy web UI item version view page template. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "items/item_view.html.jinja" %} +{% block main_info %} + {% if file_installation_error is defined %} + <aside class="error-note"> + {{ _('web_ui.err.file_installation_error') }} + </aside> + {% endif %} + {% if uninstall_disallowed is defined %} + <aside class="error-note"> + {{ _('web_ui.err.uninstall_disallowed') }} + </aside> + {% endif %} + {% if repo_communication_error is defined %} + <aside class="error-note"> + {{ _('web_ui.err.repo_communication_error') }} + </aside> + {% endif %} + + {{ super() }} + + <div class="item-identifier"> + {{ display_info.info.versioned_identifier }} + </div> + {% if display_info.installed == InstalledStatus.INSTALLED %} + <div>{% block item_is_installed_msg %}{% endblock %}</div> + {% + if uninstall_disallowed is not defined and + display_info.active != ActiveStatus.REQUIRED + %} + <form method="POST"> + <input name="action" value="uninstall_item_version" type="hidden"> + <button class="green-button"> + {{ _('web_ui.items.single_version.uninstall_button') }} + </button> + </form> + {% endif %} + {% elif display_info.installed == InstalledStatus.NOT_INSTALLED %} + <div>{% block item_is_not_installed_msg %}{% endblock %}</div> + <form method="POST"> + <input name="action" value="install_item_version" type="hidden"> + <button class="green-button"> + {{ _('web_ui.items.single_version.install_button') }} + </button> + </form> + {% else %} + <div>{% block item_install_failed_msg %}{% endblock %}</div> + <div> + <form method="POST" class="inline-form"> + <input name="action" value="install_item_version" type="hidden"> + <button class="green-button"> + {{ _('web_ui.items.single_version.retry_install_button') }} + </button> + </form> + <form method="POST" class="inline-form"> + <input name="action" value="uninstall_item_version" type="hidden"> + <button class="green-button"> + {{ _('web_ui.items.single_version.leave_uninstalled_button') }} + </button> + </form> + </div> + {% endif %} + TODO: add more info... +{% endblock main_info %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. diff --git a/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja new file mode 100644 index 0000000..5cdda04 --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja @@ -0,0 +1,39 @@ +{# +Proxy web UI library list page. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "base.html.jinja" %} +{% block title %} {{ _('web_ui.libraries.title') }} {% endblock %} +{% block style %} + {{ super() }} + + {% include 'include/item_list_style.css.jinja' %} +{% endblock %} +{% block main %} + <h3>{{ _('web_ui.libraries.heading') }}</h3> + <ul id="item_list"> + {% for info in display_infos %} + <li> + <a href="{{ url_for('.show_library', item_id=info.ref.id) }}"> + <div> + {{ info.identifier }} + </div> + </a> + </li> + {% endfor %} + </ul> +{% endblock %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. diff --git a/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja new file mode 100644 index 0000000..7cde665 --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja @@ -0,0 +1,34 @@ +{# +Proxy web UI library view page. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "items/item_view.html.jinja" %} +{% block title %} {{ _('web_ui.items.single.library.title') }} {% endblock %} +{% block heading %} + {{ + _('web_ui.items.single.library.heading.name_{}') + .format(display_info.identifier) + }} +{% endblock %} +{% block main_info %} + {{ super() }} + + TODO: add more info... +{% endblock %} +{% block version_list_heading %} + {{ _('web_ui.items.single.library.version_list_heading') }} +{% endblock %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. diff --git a/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja new file mode 100644 index 0000000..7299fcb --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja @@ -0,0 +1,40 @@ +{# +Proxy web UI library version view page. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "items/item_viewversion.html.jinja" %} +{% block title %} + {{ _('web_ui.items.single_version.library.title') }} +{% endblock %} +{% block heading %} + {{ + _('web_ui.items.single_version.library.heading.name_{}') + .format(display_info.info.long_name) + }} +{% endblock %} +{% block item_is_installed_msg %} +{{ _('web_ui.items.single_version.library.is_installed') }} +{% endblock %} +{% block item_is_not_nstalled_msg %} + {{ _('web_ui.items.single_version.library.is_not_installed') }} +{% endblock %} +{% block item_install_failed_msg %} + {{ _('web_ui.items.single_version.library.install_failed') }} +{% endblock %} +{% block version_list_heading %} + {{ _('web_ui.items.single_version.library.version_list_heading') }} +{% endblock %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. diff --git a/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja new file mode 100644 index 0000000..9ad190f --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja @@ -0,0 +1,47 @@ +{# +Proxy web UI item loading page. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "base.html.jinja" %} +{% block title %} {{ _('web_ui.load_from_disk.title') }} {% endblock %} +{% block style %} + {{ super() }} + + input[type="file"]::-webkit-file-selector-button, + input[type="file"]::file-selector-button { + display: none; + } +{% endblock %} +{% block main %} + <h3>{{ _('web_ui.load_from_disk.heading') }}</h3> + <form method="POST" enctype="multipart/form-data"> + <div> + <input id="items_zipfile" name="items_zipfile" type="file" + accept=".zip,application/zip" required=""> + </div> + <div> + <label class="green-button" for="items_zipfile"> + {{ _('web_ui.load_from_disk.choose_zipfile_button') }} + </label> + </div> + <div> + <button class="green-button"> + {{ _('web_ui.load_from_disk.install_button') }} + </button> + </div> + </form> +{% endblock %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. diff --git a/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja new file mode 100644 index 0000000..f83eb0c --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja @@ -0,0 +1,34 @@ +{# +Proxy web UI package view page. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "items/item_view.html.jinja" %} +{% block title %} {{ _('web_ui.items.single.package.title') }} {% endblock %} +{% block heading %} + {{ + _('web_ui.items.single.package.heading.name_{}') + .format(display_info.identifier) + }} +{% endblock %} +{% block main_info %} + {{ super() }} + + TODO: add more info... +{% endblock %} +{% block version_list_heading %} + {{ _('web_ui.items.single.package.version_list_heading') }} +{% endblock %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. diff --git a/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja new file mode 100644 index 0000000..9009c9c --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja @@ -0,0 +1,40 @@ +{# +Proxy web UI package version view page. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "items/item_viewversion.html.jinja" %} +{% block title %} + {{ _('web_ui.items.single_version.package.title') }} +{% endblock %} +{% block heading %} + {{ + _('web_ui.items.single_version.package.heading.name_{}') + .format(display_info.info.long_name) + }} +{% endblock %} +{% block item_is_installed_msg %} +{{ _('web_ui.items.single_version.package.is_installed') }} +{% endblock %} +{% block item_is_not_nstalled_msg %} + {{ _('web_ui.items.single_version.package.is_not_installed') }} +{% endblock %} +{% block item_install_failed_msg %} + {{ _('web_ui.items.single_version.package.install_failed') }} +{% endblock %} +{% block version_list_heading %} + {{ _('web_ui.items.single_version.package.version_list_heading') }} +{% endblock %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. diff --git a/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja new file mode 100644 index 0000000..09b20f0 --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja @@ -0,0 +1,58 @@ +{# +Proxy web UI package list page. + +This file is part of Hydrilla&Haketilo. + +Copyright (C) 2022 Wojtek Kosior + +Dual licensed under +* GNU General Public License v3.0 or later and +* Creative Commons Attribution Share Alike 4.0 International. + +You can choose to use either of these licenses or both. + + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. +#} +{% extends "base.html.jinja" %} +{% block title %} {{ _('web_ui.packages.title') }} {% endblock %} +{% block style %} + {{ super() }} + + {% include 'include/item_list_style.css.jinja' %} +{% endblock %} +{% block main %} + <h3>{{ _('web_ui.packages.heading') }}</h3> + <ul id="item_list"> + {% for info in display_infos %} + {% set entry_classes = [] %} + {% if info.enabled == EnabledStatus.ENABLED %} + {% do entry_classes.append('mapping-entry-enabled') %} + {% elif info.enabled == EnabledStatus.DISABLED %} + {% do entry_classes.append('mapping-entry-disabled') %} + {% endif %} + <li class="{{ entry_classes|join(' ') }}"> + <a href="{{ url_for('.show_package', item_id=info.ref.id) }}"> + <div> + {{ info.identifier }} + </div> + {% + if info.active_version is not none and + info.active_version.active == ActiveStatus.REQUIRED + %} + {% set ver_desc = info.active_version.info.version_string %} + {% if not info.active_version.is_local %} + {% set repo_name = info.active_version.info.repo %} + {% set ver_desc = ver_desc + ' @ ' + repo_name %} + {% endif %} + <div class="small-print"> + {{ _('web_ui.packages.enabled_version_{}').format(ver_desc) }} + </div> + {% endif %} + </a> + </li> + {% endfor %} + </ul> +{% endblock %} diff --git a/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja.license new file mode 100644 index 0000000..bb2e0af --- /dev/null +++ b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja.license @@ -0,0 +1,7 @@ +Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0 + +Copyright (C) 2022 Wojtek Kosior + +I, Wojtek Kosior, thereby promise not to sue for violation of this +file's licenses. Although I request that you do not make use this code +in a proprietary work, I am not going to enforce this in court. |