mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-17 10:40:55 +01:00
Added support for form based media tasks
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
{% extends "forms/field.html.twig" %}
|
{% extends "forms/field.html.twig" %}
|
||||||
|
|
||||||
{% set value = (value is null ? field.default : value) %}
|
{% set value = (value is null ? field.default : value) %}
|
||||||
{% set pagemedia = config.get('plugins.admin.pagemedia') %}
|
|
||||||
{% set pagemedia_settings = {
|
{% block field %}
|
||||||
|
{% if context.folderExists %}
|
||||||
|
{% set pagemedia = config.get('plugins.admin.pagemedia') %}
|
||||||
|
{% set pagemedia_settings = {
|
||||||
resolution: {
|
resolution: {
|
||||||
min: {
|
min: {
|
||||||
width: pagemedia.res_min_width ?: null,
|
width: pagemedia.res_min_width ?: null,
|
||||||
@@ -16,24 +19,27 @@
|
|||||||
resizeWidth: pagemedia.resize_width ?: null,
|
resizeWidth: pagemedia.resize_width ?: null,
|
||||||
resizeHeight: pagemedia.resize_height ?: null,
|
resizeHeight: pagemedia.resize_height ?: null,
|
||||||
resizeQuality: pagemedia.resize_quality ?: 0.8
|
resizeQuality: pagemedia.resize_quality ?: 0.8
|
||||||
} %}
|
} %}
|
||||||
|
|
||||||
{% block field %}
|
{% set media_url = form.getMediaTaskRoute() ?: '/media/' ~ admin.route|trim('/') ~ '.json' %}
|
||||||
{% if context.folderExists %}
|
{% set media_local = form.getMediaRoute() ?: base_url_relative_frontend|rtrim('/') ~ '/' ~ admin.route|trim('/') %}
|
||||||
<div class="form-field grid vertical {% if field.classes is defined %}{{ field.classes }}{% endif %}">
|
{% set media_path = url(context.relativePagePath) %}
|
||||||
|
{% set media_uri = context.mediaUri() %}
|
||||||
|
{% set upload_limit = grav.config.system.media.upload_limit / 1024 / 1024 %}
|
||||||
|
{% set dropzone_settings = { maxFileSize: upload_limit }|merge(pagemedia_settings) %}
|
||||||
|
|
||||||
|
<div class="form-field grid vertical {% if field.classes is defined %}{{ field.classes }}{% endif %}">
|
||||||
<div class="form-label">
|
<div class="form-label">
|
||||||
<label>{{ field.label|tu }}</label>
|
<label>{{ field.label|tu }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-data form-uploads-wrapper">
|
<div class="form-data form-uploads-wrapper">
|
||||||
{% set uploadLimit = grav.config.system.media.upload_limit / 1024 / 1024 %}
|
|
||||||
{% set dropzoneSettings = { maxFileSize: uploadLimit }|merge(pagemedia_settings) %}
|
|
||||||
<div id="grav-dropzone"
|
<div id="grav-dropzone"
|
||||||
class="dropzone"
|
class="dropzone"
|
||||||
data-media-url="{{ base_url }}/media/{{ admin.route|trim('/') }}.json"
|
data-media-url="{{ (base_url ~ media_url)|e('html_attr') }}"
|
||||||
data-media-local="{{ base_url_relative_frontend|rtrim('/') }}/{{ admin.route|trim('/') }}"
|
data-media-local="{{ media_local|e('html_attr') }}"
|
||||||
data-media-path="{{ url(context.relativePagePath) }}"
|
data-media-path="{{ media_path|e('html_attr') }}"
|
||||||
data-media-uri="{{ context.mediaUri }}"
|
data-media-uri="{{ media_uri|e('html_attr') }}"
|
||||||
data-dropzone-options="{{ dropzoneSettings|json_encode|e('html_attr') }}"
|
data-dropzone-options="{{ dropzone_settings|json_encode|e('html_attr') }}"
|
||||||
data-dropzone-field="{{ (scope ~ field.name)|fieldName }}"></div>
|
data-dropzone-field="{{ (scope ~ field.name)|fieldName }}"></div>
|
||||||
|
|
||||||
{% if admin.session.expert == '0' %}
|
{% if admin.session.expert == '0' %}
|
||||||
|
|||||||
Reference in New Issue
Block a user