Tune editor
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
<li id="tema-link-{{ link.id }}">
|
||||
<form class="flex flex-row items-start">
|
||||
<form class="flex flex-row items-start"
|
||||
hx-encoding='multipart/form-data'>
|
||||
{% include "fragments/tema/link_icon.html" %}
|
||||
<div class="grow my-2">
|
||||
<p class="text-sm text-beige">
|
||||
<select id="tema-link-{{ link.id }}-content-type"
|
||||
name="content_type"
|
||||
<div class="flex flex-col grow my-2">
|
||||
<div class="text-sm text-beige">
|
||||
<select name="content_type"
|
||||
value="{{ link.content_type.value.capitalize() }}"
|
||||
class="border border-yellow-50 focus:outline-none
|
||||
rounded
|
||||
@@ -21,8 +21,8 @@
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
</p>
|
||||
<p>
|
||||
</div>
|
||||
<div>
|
||||
<input name="title"
|
||||
placeholder="Títol de l'enllaç"
|
||||
value="{{ link.title }}"
|
||||
@@ -30,21 +30,8 @@
|
||||
rounded w-full
|
||||
bg-brown p-1 my-1"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<input name="url"
|
||||
placeholder="URL de l'enllaç"
|
||||
value="{{ link.url }}"
|
||||
class="border border-beige focus:outline-none
|
||||
rounded w-full
|
||||
bg-brown p-1 my-1"
|
||||
hx-get="/api/tema/{{ tema.id }}/link/{{ link_id }}/icon"
|
||||
hx-trigger="keyup delay:500ms changed"
|
||||
hx-target="#link-icon-{{ link.id }}"
|
||||
hx-include="[name='content_type']"
|
||||
hx-swap="outerHTML"
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
{% include "fragments/tema/editor/link_url.html" %}
|
||||
</div>
|
||||
<div class="m-2 text-sm text-beige">
|
||||
<button title="Desa els canvis"
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<div id="link-editor-{{ link_id }}-file"
|
||||
class="flex flex-row gap-2">
|
||||
<input type='file'
|
||||
class="border border-beige focus:outline-none
|
||||
rounded grow
|
||||
bg-brown p-1 my-1"
|
||||
name='upload_file'>
|
||||
<button title="Afegeix un enllaç"
|
||||
class="border border-beige rounded px-2 py-1 my-1"
|
||||
hx-get="/api/tema/{{ tema.id }}/editor/link/{{ link_id }}/url"
|
||||
hx-target="#link-editor-{{ link_id }}-file"
|
||||
hx-swap="outerHTML"
|
||||
>
|
||||
<i class="fa fa-link" aria-hidden="true"></i>
|
||||
</button>
|
||||
</div>
|
||||
@@ -0,0 +1,23 @@
|
||||
<div id="link-editor-{{ link_id }}-url"
|
||||
class="flex flex-row gap-2">
|
||||
<input name="url"
|
||||
placeholder="URL de l'enllaç"
|
||||
value="{{ link.url }}"
|
||||
class="border border-beige focus:outline-none
|
||||
rounded grow
|
||||
bg-brown p-1 my-1"
|
||||
hx-get="/api/tema/{{ tema.id }}/link/{{ link_id }}/icon"
|
||||
hx-trigger="keyup delay:500ms changed"
|
||||
hx-target="#link-icon-{{ link.id }}"
|
||||
hx-include="[name='content_type']"
|
||||
hx-swap="outerHTML"
|
||||
/>
|
||||
<button title="Puja un fitxer"
|
||||
class="border border-beige rounded py-1 px-2 my-1"
|
||||
hx-get="/api/tema/{{ tema.id }}/editor/link/{{ link_id }}/file"
|
||||
hx-target="#link-editor-{{ link_id }}-url"
|
||||
hx-swap="outerHTML"
|
||||
>
|
||||
<i class="fa fa-upload" aria-hidden="true"></i>
|
||||
</button>
|
||||
</div>
|
||||
@@ -0,0 +1,45 @@
|
||||
<form id="tema-property-{{ property.id }}"
|
||||
class="flex flex-row items-center">
|
||||
<div class="px-2">
|
||||
<select name="field"
|
||||
value="{{ property.field.value.capitalize() }}"
|
||||
class="border border-yellow-50 focus:outline-none
|
||||
rounded
|
||||
text-yellow-50 text-center
|
||||
bg-brown p-1 m-0">
|
||||
<option value="{{ property.field.value }}">
|
||||
{{ property.field.value.capitalize() }}
|
||||
</option>
|
||||
{% for pf in PropertyField %}
|
||||
{% if pf != property.field %}
|
||||
<option value="{{ pf.value }}">
|
||||
{{ pf.value.capitalize() }}
|
||||
</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="grow mx-2">
|
||||
<input name="value"
|
||||
placeholder="Informació"
|
||||
value="{{ property.value }}"
|
||||
class="border border-beige focus:outline-none
|
||||
rounded w-full
|
||||
bg-brown px-2 py-1"
|
||||
/>
|
||||
</div>
|
||||
<button title="Desa els canvis"
|
||||
class="text-sm text-beige mx-1"
|
||||
hx-put="/api/tema/{{ tema.id }}/property/{{ property.id }}"
|
||||
hx-target="#tema-property-{{ property.id }}"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-check" aria-hidden="true"></i>
|
||||
</button>
|
||||
<button title="Descarta els canvis"
|
||||
class="text-sm text-beige mx-1"
|
||||
hx-get="/api/tema/{{ tema.id }}/property/{{ property.id }}"
|
||||
hx-target="#tema-property-{{ property.id }}"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-times" aria-hidden="true"></i>
|
||||
</button>
|
||||
</form>
|
||||
@@ -13,12 +13,14 @@
|
||||
<div class="grow"></div>
|
||||
<div class="m-2 text-sm text-beige">
|
||||
<button title="Modifica l'enllaç"
|
||||
class="mx-1"
|
||||
hx-get="/api/tema/{{ tema.id }}/editor/link/{{ link.id }}"
|
||||
hx-target="#tema-link-{{ link.id }}"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</button>
|
||||
<button title="Esborra l'enllaç"
|
||||
class="mx-1"
|
||||
hx-delete="/api/tema/{{ tema.id }}/link/{{ link.id }}"
|
||||
hx-target="#tema-link-{{ link.id }}"
|
||||
hx-swap="outerHTML">
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
{% if logged_in or tema.links %}
|
||||
<h4 class="text-xl text-beige">Enllaços</h4>
|
||||
<hr class="h-px mt-1 mb-3 bg-beige border-0">
|
||||
{% endif %}
|
||||
|
||||
{% if tema.links %}
|
||||
<h4 class="text-xl text-beige">Enllaços</h4>
|
||||
<hr class="h-px mt-1 mb-3 bg-beige border-0">
|
||||
<ul class="flex flex-col justify-center"
|
||||
id="new-link-target">
|
||||
{% for link in tema.links %}
|
||||
|
||||
@@ -4,19 +4,17 @@
|
||||
{% include "fragments/tema/title.html" %}
|
||||
<div class="text-left">
|
||||
|
||||
<div id="tema-{{ tema.id }}-score"
|
||||
hx-get="/api/tema/{{ tema.id }}/score"
|
||||
hx-trigger="load, reload-tema-{{ tema.id }}-score from:body"
|
||||
hx-swap="innerHTML"
|
||||
>
|
||||
</div>
|
||||
|
||||
{% include "fragments/tema/lyrics.html" %}
|
||||
{% include "fragments/tema/links.html" %}
|
||||
{% include "fragments/tema/properties.html" %}
|
||||
|
||||
<!-- PROPERTIES -->
|
||||
{% if tema.properties %}
|
||||
<h4 class="text-xl mt-3 text-beige">Informació</h4>
|
||||
<hr class="h-px mt-1 mb-3 bg-beige border-0">
|
||||
{% for property in tema.properties %}
|
||||
<p>
|
||||
<i>{{ property.field.value.capitalize() }}</i>: {{ property.value }}
|
||||
</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
24
folkugat_web/assets/templates/fragments/tema/properties.html
Normal file
24
folkugat_web/assets/templates/fragments/tema/properties.html
Normal file
@@ -0,0 +1,24 @@
|
||||
{% if logged_in or tema.properties %}
|
||||
<h4 class="text-xl mt-3 text-beige">Informació</h4>
|
||||
<hr class="h-px mt-1 mb-3 bg-beige border-0">
|
||||
|
||||
<ul class="flex flex-col"
|
||||
id="new-property-target">
|
||||
{% for property in tema.properties %}
|
||||
{% include "fragments/tema/property.html" %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if logged_in %}
|
||||
<div class="flex flex-row my-2 justify-end">
|
||||
<button title="Afegeix informació"
|
||||
class="text-sm text-beige text-right"
|
||||
hx-post="/api/tema/{{ tema.id }}/property"
|
||||
hx-target="#new-property-target"
|
||||
hx-swap="beforeend transition:true">
|
||||
<i class="fa fa-plus" aria-hidden="true"></i>
|
||||
Afegeix informació
|
||||
</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
27
folkugat_web/assets/templates/fragments/tema/property.html
Normal file
27
folkugat_web/assets/templates/fragments/tema/property.html
Normal file
@@ -0,0 +1,27 @@
|
||||
<div id="tema-property-{{ property.id }}"
|
||||
class="flex flex-row">
|
||||
<div class="px-2">
|
||||
<i>{{ property.field.value.capitalize() }}:</i>
|
||||
</div>
|
||||
<div>
|
||||
{{ property.value }}
|
||||
</div>
|
||||
|
||||
{% if logged_in %}
|
||||
<div class="grow"></div>
|
||||
<button title="Modifica la informació"
|
||||
class="text-sm text-beige mx-1"
|
||||
hx-get="/api/tema/{{ tema.id }}/editor/property/{{ property.id }}"
|
||||
hx-target="#tema-property-{{ property.id }}"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</button>
|
||||
<button title="Esborra la informació"
|
||||
class="text-sm text-beige mx-1"
|
||||
hx-delete="/api/tema/{{ tema.id }}/property/{{ property.id }}"
|
||||
hx-target="#tema-property-{{ property.id }}"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-times" aria-hidden="true"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
15
folkugat_web/assets/templates/fragments/tema/score.html
Normal file
15
folkugat_web/assets/templates/fragments/tema/score.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{% set score = tema.score() %}
|
||||
{% if score %}
|
||||
<h4 class="text-xl text-beige">Partitura</h4>
|
||||
<hr class="h-px mt-1 mb-3 bg-beige border-0">
|
||||
{% if score.link_type == LinkType.PDF %}
|
||||
{% set pdf_url = score.url %}
|
||||
{% include "fragments/pdf_viewer.html" %}
|
||||
{% elif score.link_type == LinkType.IMAGE %}
|
||||
<div class="flex justify-center">
|
||||
<img class="m-2"
|
||||
src="{{ score.url }}"
|
||||
/>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@@ -3,11 +3,18 @@
|
||||
<h3 class="text-3xl p-4">{{ tema.title }}</h3>
|
||||
{% if logged_in %}
|
||||
<button title="Canvia el títol"
|
||||
class="text-beige text-2xl"
|
||||
class="text-beige text-2xl mx-2"
|
||||
hx-get="/api/tema/{{ tema.id }}/editor/title"
|
||||
hx-target="#tema-title"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</button>
|
||||
{% include "fragments/tema/visibility.html" %}
|
||||
<button title="Canvia el títol"
|
||||
class="text-beige text-2xl mx-2"
|
||||
hx-delete="/api/tema/{{ tema.id }}"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-times" aria-hidden="true"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
15
folkugat_web/assets/templates/fragments/tema/visibility.html
Normal file
15
folkugat_web/assets/templates/fragments/tema/visibility.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{% if not tema.hidden %}
|
||||
<button title="Tema visible (amaga'l)"
|
||||
class="text-beige text-2xl mx-2"
|
||||
hx-put="/api/tema/{{ tema.id }}/invisible"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-eye" aria-hidden="true"></i>
|
||||
</button>
|
||||
{% else %}
|
||||
<button title="Tema invisible (mostra'l)"
|
||||
class="text-beige text-2xl mx-2"
|
||||
hx-put="/api/tema/{{ tema.id }}/visible"
|
||||
hx-swap="outerHTML">
|
||||
<i class="fa fa-eye-slash" aria-hidden="true"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
Reference in New Issue
Block a user