diff options
| -rw-r--r-- | examples/index.js | 1 | ||||
| -rw-r--r-- | themes/okadmin/public/css/main.css | 3 | ||||
| -rw-r--r-- | themes/okadmin/public/js/app.js | 10 | ||||
| -rw-r--r-- | themes/okadmin/templates/partials/inputs.liquid | 40 |
4 files changed, 40 insertions, 14 deletions
diff --git a/examples/index.js b/examples/index.js index f234cc1..1a5fbbe 100644 --- a/examples/index.js +++ b/examples/index.js @@ -16,6 +16,7 @@ var app = okcms.createApp({ description: {type: 'text'}, color: {type: 'enum', options: ["red","blue","green"]}, video: {type: 'video'}, + images: {type: 'images'}, } }, diff --git a/themes/okadmin/public/css/main.css b/themes/okadmin/public/css/main.css index 63dea45..0cb732e 100644 --- a/themes/okadmin/public/css/main.css +++ b/themes/okadmin/public/css/main.css @@ -201,6 +201,9 @@ label { margin-top: 1.0em; } +.template { + display: none; +} .disabled { display: none; } diff --git a/themes/okadmin/public/js/app.js b/themes/okadmin/public/js/app.js index 8e99ad8..84c0f53 100644 --- a/themes/okadmin/public/js/app.js +++ b/themes/okadmin/public/js/app.js @@ -2,6 +2,11 @@ var OKAdmin = function(){ OKUpload.bind() OKUpload.add = function(data){ + var url = data[0].extra.location + var imageTemplate = $("#image-template").html() + var $el = $(imageTemplate) + $el.find("url").val(url) + $(".images").append($el) console.log(data) } @@ -17,7 +22,10 @@ var OKAdmin = function(){ $el.parent().find(".video-thumb").val( media.thumbnail ) }) }) - + + $("form").submit(function(){ + $(".template").remove() + }) } $(function(){ diff --git a/themes/okadmin/templates/partials/inputs.liquid b/themes/okadmin/templates/partials/inputs.liquid index 8eb0fa5..e79ff14 100644 --- a/themes/okadmin/templates/partials/inputs.liquid +++ b/themes/okadmin/templates/partials/inputs.liquid @@ -18,16 +18,6 @@ disabled="true" {% endif %} name="{{name}}">{{spec.value}}</textarea> - {% elsif type == 'video' %} - <div class="video group {% if spec.value.url %}loaded{% endif %}"> - <input name="{{name}}[url]" type="text" value="{{spec.value.url}}" class="url" placeholder="Enter a video URL"> - <input name="{{name}}[type]" type="text" value="{{spec.value.title}}" class="video-type" hidden> - <input name="{{name}}[token]" type="text" value="{{spec.value.title}}" class="video-token" hidden> - <label>Title</label> - <input name="{{name}}[title]" type="text" value="{{spec.value.title}}" class="video-title" placeholder="Title"> - <label>Thumbnail</label> - <input name="{{name}}[thumb]" type="text" value="{{spec.value.thumb}}" class="video-thumb" placeholder="Thumbnail"> - </div> {% elsif type == 'enum' %} <select {% if spec.disabled %} @@ -38,10 +28,34 @@ <option value="{{option}}" {% if option == spec.value %}selected{% endif %}>{{option}}</option> {% endfor %} </select> - {% elsif type == 'uri' %} - <div> - <input type="file" id="file"> + {% elsif type == 'video' %} + <div class="video group {% if spec.value.url %}loaded{% endif %}"> + <input name="{{name}}[url]" type="text" value="{{spec.value.url}}" class="url" placeholder="Enter a video URL"> + <input name="{{name}}[type]" type="text" value="{{spec.value.type}}" class="video-type" hidden> + <input name="{{name}}[token]" type="text" value="{{spec.value.token}}" class="video-token" hidden> + <label>Title</label> + <input name="{{name}}[title]" type="text" value="{{spec.value.title}}" class="video-title"> + <label>Thumbnail</label> + <input name="{{name}}[thumb]" type="text" value="{{spec.value.thumb}}" class="video-thumb"> + </div> + {% elsif type == 'images' %} + <div class="images"> + {% for image in spec.value %} + <div class="image group"> + <input name="{{name}}[][url]" type="text" value="{{image.url}}" class="image-url"> + <label>Caption</label> + <input name="{{name}}[][title]" type="text" value="{{image.title}}" class="image-title" placeholder="Title"> + </div> + {% endfor %} </div> + <script type="text/html" id="images-template"> + <div class="image group loaded"> + <input name="{{name}}[][url]" type="text" value="" class="url"> + <label>Caption</label> + <input name="{{name}}[][title]" type="text" value="" class="caption"> + </div> + </script> + <input type="file" id="file" multiple> {% else %} <p><pre style="color: red">Admin template doesn't support '{{type}}' properties!</pre></p> {% endif %} |
