summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/index.js1
-rw-r--r--themes/okadmin/public/css/main.css3
-rw-r--r--themes/okadmin/public/js/app.js10
-rw-r--r--themes/okadmin/templates/partials/inputs.liquid40
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 %}