From 8be0a2268f6a71092ce339164d68432a3be66c6e Mon Sep 17 00:00:00 2001 From: rabuzarus <> Date: Mon, 9 May 2016 23:30:09 +0200 Subject: [PATCH] theme-settings: background image can be set with fbrowser --- js/filebrowser.js | 1 + js/modal.js | 21 +++++++++++++++++++++ templates/field_fileinput.tpl | 10 ++++++++++ templates/theme_settings.tpl | 4 +++- 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 templates/field_fileinput.tpl diff --git a/js/filebrowser.js b/js/filebrowser.js index 648090677c..58d050a743 100644 --- a/js/filebrowser.js +++ b/js/filebrowser.js @@ -135,6 +135,7 @@ var FileBrowser = { this.dataset.filename, embed, FileBrowser.id, + this.dataset.img ]); // close model diff --git a/js/modal.js b/js/modal.js index a296c9ba9c..8868e06407 100644 --- a/js/modal.js +++ b/js/modal.js @@ -48,6 +48,27 @@ $(document).ready(function(){ e.preventDefault(); toggleJotNav(this); }); + + // Open filebrowser for elements with the class "image-select" + // The following part handles the filebrowser for field_fileinput.tpl + $("body").on("click", ".image-select", function(e){ + // set a extra attribute to mark the clicked button + this.setAttribute("image-input", "select"); + Dialog.doImageBrowser("input"); + }); + + // Insert filebrowser images into the input field (field_fileinput.tpl) + $("body").on("fbrowser.image.input", function(e, filename, embedcode, id, img) { + // select the clicked button by it's attribute + var elm = $("[image-input='select']") + // select the input field which belongs to this button + var input = elm.parent(".input-group").children("input"); + // remove the special indicator attribut from the button + elm.removeAttr("image-input"); + // inserte the link from the image into the input field + input.val(img); + + }); }); // overwrite Dialog.show from main js to load the filebrowser into a bs modal diff --git a/templates/field_fileinput.tpl b/templates/field_fileinput.tpl new file mode 100644 index 0000000000..ebaa76941d --- /dev/null +++ b/templates/field_fileinput.tpl @@ -0,0 +1,10 @@ + +<div class="form-group field input file"> + <label for="id_{{$field.0}}" id="label_{{$field.0}}">{{$field.1}}</label> + <div class="input-group" id="{{$field.0}}"> + <input class="form-control file" name="{{$field.0}}" id="id_{{$field.0}}" type="text" value="{{$field.2}}">{{if $field.4}} <span class="required">{{$field.4}}</span> {{/if}} + <span class="input-group-addon image-select"><i class="fa fa-picture-o"></i></span> + </div> + <span id="help_{{$field.0}}" class="help-block">{{$field.3}}</span> + <div id="end_{{$field.0}}" class="field_end"></div> +</div> diff --git a/templates/theme_settings.tpl b/templates/theme_settings.tpl index 55a2b33ee1..ebedfcfb57 100644 --- a/templates/theme_settings.tpl +++ b/templates/theme_settings.tpl @@ -1,6 +1,8 @@ + <link rel="stylesheet" href="{{$baseurl}}/view/theme/frio/frameworks/jRange/jquery.range.css" type="text/css" media="screen" /> <script src="{{$baseurl}}/view/theme/quattro/jquery.tools.min.js"></script> <script src="{{$baseurl}}/view/theme/frio/frameworks/jRange/jquery.range.js"></script> +<script type="text/javascript" src="{{$baseurl}}/js/ajaxupload.js" ></script> {{include file="field_select.tpl" field=$schema}} @@ -20,7 +22,7 @@ </div> {{/if}} -{{if $background_image}}{{include file="field_colorinput.tpl" field=$background_image}}{{/if}} +{{if $background_image}}{{include file="field_fileinput.tpl" field=$background_image}}{{/if}} <div id="frio_bg_image_options" style="display: none;"> {{foreach $bg_image_options as $options}} -- 2.39.5